]> AND Private Git Repository - canny.git/commitdiff
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
ajout initial
authorcouchot <couchot@couchot-laptop.(none)>
Tue, 29 May 2012 08:00:56 +0000 (10:00 +0200)
committercouchot <couchot@couchot-laptop.(none)>
Tue, 29 May 2012 08:00:56 +0000 (10:00 +0200)
1810 files changed:
IEEEtran.cls [new file with mode: 0755]
IEEEtran_HOWTO.pdf [new file with mode: 0755]
biblio.bib [new file with mode: 0644]
canny.tex
main.tex [new file with mode: 0755]
stc/exp/ml_stc_linux_make_v1.0.tar.gz [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/Makefile [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/example.sh [new file with mode: 0755]
stc/exp/ml_stc_linux_make_v1.0/include/boost/any.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/assert.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/bind/apply.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/bind/arg.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/bind/bind.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/bind/bind_cc.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/bind/bind_mf2_cc.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/bind/bind_mf_cc.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/bind/bind_template.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/bind/make_adaptable.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/bind/mem_fn.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/bind/mem_fn_cc.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/bind/mem_fn_template.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/bind/mem_fn_vw.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/bind/placeholders.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/bind/protect.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/bind/storage.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/call_traits.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/cerrno.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/checked_delete.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/config.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/config/abi/borland_prefix.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/config/abi/borland_suffix.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/config/abi/msvc_prefix.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/config/abi/msvc_suffix.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/config/abi_prefix.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/config/abi_suffix.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/config/auto_link.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/borland.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/codegear.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/comeau.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/common_edg.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/compaq_cxx.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/digitalmars.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/gcc.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/gcc_xml.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/greenhills.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/hp_acc.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/intel.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/kai.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/metrowerks.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/mpw.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/pgi.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/sgi_mipspro.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/sunpro_cc.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/vacpp.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/visualc.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/config/no_tr1/cmath.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/config/no_tr1/complex.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/config/no_tr1/functional.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/config/no_tr1/memory.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/config/no_tr1/utility.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/config/platform/aix.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/config/platform/amigaos.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/config/platform/beos.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/config/platform/bsd.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/config/platform/cygwin.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/config/platform/hpux.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/config/platform/irix.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/config/platform/linux.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/config/platform/macos.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/config/platform/qnxnto.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/config/platform/solaris.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/config/platform/vxworks.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/config/platform/win32.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/config/posix_features.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/config/requires_threads.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/config/select_compiler_config.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/config/select_platform_config.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/config/select_stdlib_config.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/config/stdlib/dinkumware.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/config/stdlib/libcomo.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/config/stdlib/libstdcpp3.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/config/stdlib/modena.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/config/stdlib/msl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/config/stdlib/roguewave.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/config/stdlib/sgi.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/config/stdlib/stlport.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/config/stdlib/vacpp.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/config/suffix.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/config/user.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/config/warning_disable.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/cstdint.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/cstdlib.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/current_function.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/algorithm.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/allocator_utilities.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/atomic_count.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/binary_search.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/call_traits.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/catch_exceptions.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/compressed_pair.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/container_fwd.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/dynamic_bitset.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/endian.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/has_default_constructor.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/identifier.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/indirect_traits.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/interlocked.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/is_function_ref_tester.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/is_incrementable.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/is_xxx.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/iterator.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/lcast_precision.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/lightweight_mutex.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/lightweight_test.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/lightweight_thread.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/limits.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/named_template_params.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/no_exceptions_support.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/none_t.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/numeric_traits.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/ob_call_traits.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/ob_compressed_pair.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/quick_allocator.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/reference_content.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/scoped_enum_emulation.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/select_type.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/sp_typeinfo.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/templated_streams.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/utf8_codecvt_facet.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/workaround.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/all.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/current_exception_cast.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/detail/attribute_noreturn.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/detail/error_info_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/detail/exception_ptr.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/detail/is_output_streamable.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/detail/object_hex_dump.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/detail/type_info.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/diagnostic_information.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/enable_current_exception.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/enable_error_info.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/errinfo_api_function.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/errinfo_at_line.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/errinfo_errno.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/errinfo_file_handle.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/errinfo_file_name.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/errinfo_file_open_mode.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/errinfo_nested_exception.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/errinfo_type_info_name.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/error_info.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/exception.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/get_error_info.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/info.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/info_tuple.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/to_string.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/to_string_stub.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/filesystem.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/filesystem/config.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/filesystem/convenience.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/filesystem/exception.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/filesystem/fstream.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/filesystem/operations.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/filesystem/path.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/function.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/function/detail/function_iterate.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/function/detail/gen_maybe_include.pl [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/function/detail/maybe_include.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/function/detail/prologue.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/function/function0.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/function/function1.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/function/function10.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/function/function2.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/function/function3.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/function/function4.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/function/function5.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/function/function6.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/function/function7.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/function/function8.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/function/function9.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/function/function_base.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/function/function_fwd.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/function/function_template.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/function/function_typeof.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/function/gen_function_N.pl [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/function_equal.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/get_pointer.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/implicit_cast.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/integer.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/integer/integer_mask.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/integer/static_log2.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/integer/static_min_max.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/integer_fwd.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/integer_traits.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/counting_iterator.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/detail/any_conversion_eater.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/detail/config_def.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/detail/config_undef.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/detail/enable_if.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/detail/facade_iterator_category.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/detail/minimum_category.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/filter_iterator.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/indirect_iterator.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/interoperable.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/is_lvalue_iterator.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/is_readable_iterator.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/iterator_adaptor.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/iterator_archetypes.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/iterator_categories.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/iterator_concepts.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/iterator_facade.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/iterator_traits.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/new_iterator_tests.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/permutation_iterator.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/reverse_iterator.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/transform_iterator.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/zip_iterator.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/lexical_cast.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/limits.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mem_fn.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/memory_order.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/O1_size.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/O1_size_fwd.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/accumulate.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/advance.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/advance_fwd.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/alias.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/always.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/and.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/apply.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/apply_fwd.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/apply_wrap.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/arg.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/arg_fwd.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/arithmetic.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/as_sequence.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/assert.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/at.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/at_fwd.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/O1_size_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/adl_barrier.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/advance_backward.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/advance_forward.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/apply_1st.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/arg_typedef.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/arithmetic_op.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/arity.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/arity_spec.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/at_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/back_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/basic_bind.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/begin_end_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/clear_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/common_name_wknd.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/comparison_op.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/adl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/arrays.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/bcc.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/bind.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/compiler.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/ctps.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/dependent_nttp.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/dmc_ambiguous_ctps.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/dtp.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/eti.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/forwarding.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/gcc.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/has_apply.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/has_xxx.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/integral.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/intel.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/lambda.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/msvc.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/msvc_typename.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/nttp.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/operators.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/overload_resolution.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/pp_counter.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/preprocessor.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/static_constant.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/ttp.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/typeof.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/use_preprocessed.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/workaround.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/contains_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/count_args.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/count_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/empty_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/erase_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/erase_key_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/filter_iter.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/find_if_pred.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/fold_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/fold_impl_body.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/fold_op.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/fold_pred.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/front_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/full_lambda.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/has_apply.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/has_begin.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/has_key_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/has_rebind.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/has_size.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/has_tag.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/has_type.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/include_preprocessed.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/insert_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/insert_range_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/inserter_algorithm.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/integral_wrapper.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/is_msvc_eti_arg.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/iter_apply.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/iter_fold_if_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/iter_fold_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/iter_push_front.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/joint_iter.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/lambda_arity_param.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/lambda_no_ctps.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/lambda_spec.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/lambda_support.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/largest_int.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/logical_op.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/msvc_dtw.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/msvc_eti_base.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/msvc_is_class.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/msvc_never_true.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/msvc_type.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/na.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/na_assert.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/na_fwd.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/na_spec.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/nested_type_wknd.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/nttp_decl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/numeric_cast_utils.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/numeric_op.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/order_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/overload_names.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/partition_op.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/pop_back_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/pop_front_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/advance_backward.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/advance_forward.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/and.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/apply.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/apply_fwd.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/apply_wrap.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/arg.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/basic_bind.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/bind.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/bind_fwd.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/bitand.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/bitor.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/bitxor.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/deque.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/divides.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/equal_to.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/fold_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/full_lambda.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/greater.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/greater_equal.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/inherit.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/iter_fold_if_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/iter_fold_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/lambda_no_ctps.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/less.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/less_equal.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/list.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/list_c.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/map.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/minus.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/modulus.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/not_equal_to.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/or.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/placeholders.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/plus.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/quote.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/reverse_fold_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/reverse_iter_fold_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/set.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/set_c.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/shift_left.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/shift_right.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/template_arity.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/times.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/unpack_args.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/vector.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/vector_c.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/advance_backward.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/advance_forward.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/and.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/apply.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/apply_fwd.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/apply_wrap.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/arg.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/basic_bind.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/bind.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/bind_fwd.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/bitand.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/bitor.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/bitxor.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/deque.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/divides.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/equal_to.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/fold_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/full_lambda.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/greater.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/greater_equal.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/inherit.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/iter_fold_if_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/iter_fold_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/lambda_no_ctps.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/less.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/less_equal.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/list.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/list_c.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/map.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/minus.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/modulus.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/not_equal_to.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/or.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/placeholders.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/plus.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/quote.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/reverse_fold_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/reverse_iter_fold_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/set.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/set_c.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/shift_left.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/shift_right.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/template_arity.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/times.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/unpack_args.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/vector.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/vector_c.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/advance_backward.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/advance_forward.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/and.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/apply.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/apply_fwd.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/apply_wrap.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/arg.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/basic_bind.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/bind.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/bind_fwd.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/bitand.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/bitor.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/bitxor.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/deque.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/divides.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/equal_to.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/fold_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/full_lambda.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/greater.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/greater_equal.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/inherit.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/iter_fold_if_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/iter_fold_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/lambda_no_ctps.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/less.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/less_equal.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/list.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/list_c.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/map.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/minus.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/modulus.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/not_equal_to.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/or.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/placeholders.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/plus.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/quote.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/reverse_fold_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/reverse_iter_fold_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/set.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/set_c.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/shift_left.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/shift_right.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/template_arity.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/times.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/unpack_args.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/vector.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/vector_c.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/advance_backward.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/advance_forward.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/and.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/apply.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/apply_fwd.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/apply_wrap.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/arg.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/basic_bind.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/bind.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/bind_fwd.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/bitand.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/bitor.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/bitxor.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/deque.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/divides.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/equal_to.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/fold_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/full_lambda.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/greater.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/greater_equal.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/inherit.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/iter_fold_if_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/iter_fold_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/lambda_no_ctps.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/less.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/less_equal.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/list.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/list_c.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/map.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/minus.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/modulus.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/not_equal_to.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/or.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/placeholders.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/plus.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/quote.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/reverse_fold_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/reverse_iter_fold_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/set.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/set_c.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/shift_left.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/shift_right.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/template_arity.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/times.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/unpack_args.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/vector.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/vector_c.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/advance_backward.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/advance_forward.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/and.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/apply.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/apply_fwd.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/apply_wrap.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/arg.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/basic_bind.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/bind.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/bind_fwd.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/bitand.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/bitor.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/bitxor.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/deque.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/divides.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/equal_to.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/fold_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/full_lambda.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/greater.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/greater_equal.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/inherit.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/iter_fold_if_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/iter_fold_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/lambda_no_ctps.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/less.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/less_equal.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/list.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/list_c.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/map.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/minus.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/modulus.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/not_equal_to.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/or.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/placeholders.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/plus.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/quote.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/reverse_fold_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/reverse_iter_fold_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/set.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/set_c.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/shift_left.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/shift_right.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/template_arity.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/times.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/unpack_args.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/vector.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/vector_c.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/advance_backward.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/advance_forward.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/and.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/apply.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/apply_fwd.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/apply_wrap.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/arg.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/basic_bind.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/bind.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/bind_fwd.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/bitand.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/bitor.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/bitxor.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/deque.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/divides.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/equal_to.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/fold_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/full_lambda.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/greater.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/greater_equal.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/inherit.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/iter_fold_if_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/iter_fold_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/lambda_no_ctps.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/less.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/less_equal.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/list.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/list_c.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/map.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/minus.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/modulus.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/not_equal_to.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/or.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/placeholders.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/plus.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/quote.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/reverse_fold_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/reverse_iter_fold_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/set.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/set_c.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/shift_left.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/shift_right.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/template_arity.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/times.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/unpack_args.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/vector.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/vector_c.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/advance_backward.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/advance_forward.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/and.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/apply.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/apply_fwd.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/apply_wrap.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/arg.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/basic_bind.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/bind.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/bind_fwd.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/bitand.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/bitor.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/bitxor.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/deque.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/divides.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/equal_to.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/fold_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/full_lambda.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/greater.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/greater_equal.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/inherit.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/iter_fold_if_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/iter_fold_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/lambda_no_ctps.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/less.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/less_equal.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/list.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/list_c.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/map.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/minus.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/modulus.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/not_equal_to.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/or.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/placeholders.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/plus.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/quote.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/reverse_fold_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/reverse_iter_fold_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/set.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/set_c.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/shift_left.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/shift_right.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/template_arity.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/times.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/unpack_args.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/vector.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/vector_c.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/advance_backward.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/advance_forward.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/and.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/apply.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/apply_fwd.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/apply_wrap.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/arg.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/basic_bind.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/bind.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/bind_fwd.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/bitand.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/bitor.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/bitxor.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/deque.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/divides.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/equal_to.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/fold_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/full_lambda.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/greater.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/greater_equal.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/inherit.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/iter_fold_if_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/iter_fold_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/lambda_no_ctps.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/less.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/less_equal.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/list.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/list_c.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/map.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/minus.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/modulus.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/not_equal_to.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/or.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/placeholders.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/plus.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/quote.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/reverse_fold_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/reverse_iter_fold_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/set.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/set_c.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/shift_left.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/shift_right.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/template_arity.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/times.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/unpack_args.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/vector.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/vector_c.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/advance_backward.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/advance_forward.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/and.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/apply.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/apply_fwd.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/apply_wrap.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/arg.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/basic_bind.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/bind.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/bind_fwd.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/bitand.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/bitor.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/bitxor.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/deque.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/divides.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/equal_to.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/fold_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/full_lambda.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/greater.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/greater_equal.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/inherit.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/iter_fold_if_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/iter_fold_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/lambda_no_ctps.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/less.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/less_equal.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/list.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/list_c.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/map.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/minus.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/modulus.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/not_equal_to.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/or.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/placeholders.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/plus.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/quote.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/reverse_fold_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/reverse_iter_fold_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/set.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/set_c.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/shift_left.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/shift_right.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/template_arity.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/times.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/unpack_args.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/vector.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/vector_c.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/advance_backward.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/advance_forward.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/and.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/apply.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/apply_fwd.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/apply_wrap.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/arg.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/basic_bind.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/bind.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/bind_fwd.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/bitand.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/bitor.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/bitxor.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/deque.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/divides.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/equal_to.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/fold_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/full_lambda.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/greater.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/greater_equal.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/inherit.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/iter_fold_if_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/iter_fold_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/lambda_no_ctps.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/less.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/less_equal.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/list.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/list_c.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/map.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/minus.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/modulus.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/not_equal_to.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/or.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/placeholders.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/plus.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/quote.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/reverse_fold_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/reverse_iter_fold_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/set.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/set_c.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/shift_left.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/shift_right.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/template_arity.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/times.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/unpack_args.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/vector.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/vector_c.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/advance_backward.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/advance_forward.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/and.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/apply.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/apply_fwd.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/apply_wrap.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/arg.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/basic_bind.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/bind.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/bind_fwd.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/bitand.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/bitor.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/bitxor.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/deque.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/divides.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/equal_to.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/fold_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/full_lambda.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/greater.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/greater_equal.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/inherit.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/iter_fold_if_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/iter_fold_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/lambda_no_ctps.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/less.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/less_equal.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/list.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/list_c.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/map.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/minus.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/modulus.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/not_equal_to.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/or.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/placeholders.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/plus.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/quote.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/reverse_fold_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/reverse_iter_fold_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/set.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/set_c.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/shift_left.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/shift_right.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/template_arity.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/times.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/unpack_args.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/vector.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/vector_c.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessor/add.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessor/def_params_tail.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessor/default_params.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessor/enum.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessor/ext_params.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessor/filter_params.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessor/is_seq.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessor/params.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessor/partial_spec_params.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessor/range.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessor/repeat.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessor/sub.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessor/token_equal.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessor/tuple.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/ptr_to_ref.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/push_back_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/push_front_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/range_c/O1_size.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/range_c/back.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/range_c/empty.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/range_c/front.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/range_c/iterator.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/range_c/size.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/range_c/tag.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/reverse_fold_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/reverse_fold_impl_body.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/reverse_iter_fold_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/sequence_wrapper.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/shift_op.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/single_element_iter.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/size_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/sort_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/static_cast.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/template_arity.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/template_arity_fwd.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/test.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/test/assert.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/test/data.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/test/test_case.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/traits_lambda_spec.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/transform_iter.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/type_wrapper.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/unwrap.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/value_wknd.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/yes_no.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/back.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/back_fwd.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/back_inserter.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/base.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/begin.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/begin_end.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/begin_end_fwd.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/bind.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/bind_fwd.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/bitand.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/bitor.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/bitwise.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/bitxor.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/bool.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/bool_fwd.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/char.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/char_fwd.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/clear.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/clear_fwd.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/comparison.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/contains.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/contains_fwd.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/copy.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/copy_if.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/count.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/count_fwd.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/count_if.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/deque.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/deref.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/distance.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/distance_fwd.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/divides.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/empty.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/empty_base.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/empty_fwd.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/empty_sequence.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/end.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/equal.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/equal_to.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/erase.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/erase_fwd.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/erase_key.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/erase_key_fwd.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/eval_if.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/filter_view.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/find.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/find_if.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/fold.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/for_each.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/front.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/front_fwd.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/front_inserter.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/greater.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/greater_equal.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/has_key.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/has_key_fwd.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/has_xxx.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/identity.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/if.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/index_if.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/index_of.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/inherit.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/inherit_linearly.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/insert.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/insert_fwd.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/insert_range.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/insert_range_fwd.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/inserter.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/int.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/int_fwd.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/integral_c.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/integral_c_fwd.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/integral_c_tag.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/is_placeholder.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/is_sequence.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/iter_fold.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/iter_fold_if.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/iterator_category.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/iterator_range.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/iterator_tags.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/joint_view.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/key_type.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/key_type_fwd.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/lambda.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/lambda_fwd.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/less.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/less_equal.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/limits/arity.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/limits/list.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/limits/map.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/limits/set.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/limits/string.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/limits/unrolling.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/limits/vector.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/O1_size.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/begin_end.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/clear.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/empty.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/front.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/include_preprocessed.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/item.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/iterator.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/numbered.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/numbered_c.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/pop_front.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/preprocessed/plain/list10.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/preprocessed/plain/list10_c.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/preprocessed/plain/list20.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/preprocessed/plain/list20_c.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/preprocessed/plain/list30.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/preprocessed/plain/list30_c.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/preprocessed/plain/list40.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/preprocessed/plain/list40_c.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/preprocessed/plain/list50.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/preprocessed/plain/list50_c.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/push_back.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/push_front.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/size.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/tag.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/list0.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/list0_c.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/list10.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/list10_c.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/list20.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/list20_c.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/list30.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/list30_c.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/list40.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/list40_c.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/list50.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/list50_c.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list_c.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/logical.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/long.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/long_fwd.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/lower_bound.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/at_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/begin_end_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/clear_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/contains_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/empty_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/erase_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/erase_key_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/has_key_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/include_preprocessed.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/insert_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/item.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/iterator.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/key_type_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/map0.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/numbered.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/preprocessed/no_ctps/map10.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/preprocessed/no_ctps/map20.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/preprocessed/no_ctps/map30.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/preprocessed/no_ctps/map40.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/preprocessed/no_ctps/map50.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/preprocessed/plain/map10.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/preprocessed/plain/map20.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/preprocessed/plain/map30.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/preprocessed/plain/map40.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/preprocessed/plain/map50.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/preprocessed/typeof_based/map10.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/preprocessed/typeof_based/map20.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/preprocessed/typeof_based/map30.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/preprocessed/typeof_based/map40.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/preprocessed/typeof_based/map50.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/size_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/tag.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/value_type_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/map0.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/map10.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/map20.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/map30.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/map40.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/map50.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/math/fixed_c.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/math/is_even.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/math/rational_c.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/max.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/max_element.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/min.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/min_element.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/min_max.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/minus.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/modulus.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/multiplies.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/multiset/aux_/count_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/multiset/aux_/insert_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/multiset/aux_/item.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/multiset/aux_/multiset0.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/multiset/aux_/tag.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/multiset/multiset0.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/negate.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/next.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/next_prior.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/not.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/not_equal_to.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/numeric_cast.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/or.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/order.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/order_fwd.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/pair.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/pair_view.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/partition.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/placeholders.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/plus.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/pop_back.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/pop_back_fwd.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/pop_front.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/pop_front_fwd.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/print.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/prior.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/protect.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/push_back.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/push_back_fwd.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/push_front.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/push_front_fwd.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/quote.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/range_c.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/remove.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/remove_if.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/replace.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/replace_if.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/reverse.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/reverse_fold.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/reverse_iter_fold.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/same_as.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/sequence_tag.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/sequence_tag_fwd.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/at_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/begin_end_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/clear_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/empty_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/erase_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/erase_key_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/has_key_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/include_preprocessed.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/insert_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/item.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/iterator.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/key_type_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/numbered.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/numbered_c.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/preprocessed/plain/set10.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/preprocessed/plain/set10_c.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/preprocessed/plain/set20.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/preprocessed/plain/set20_c.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/preprocessed/plain/set30.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/preprocessed/plain/set30_c.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/preprocessed/plain/set40.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/preprocessed/plain/set40_c.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/preprocessed/plain/set50.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/preprocessed/plain/set50_c.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/set0.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/size_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/tag.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/value_type_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/set0.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/set0_c.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/set10.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/set10_c.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/set20.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/set20_c.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/set30.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/set30_c.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/set40.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/set40_c.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/set50.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/set50_c.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set_c.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/shift_left.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/shift_right.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/single_view.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/size.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/size_fwd.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/size_t.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/size_t_fwd.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/sizeof.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/sort.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/stable_partition.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/string.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/switch.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/tag.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/times.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/transform.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/transform_view.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/unique.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/unpack_args.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/upper_bound.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/value_type.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/value_type_fwd.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/O1_size.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/at.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/back.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/begin_end.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/clear.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/empty.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/front.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/include_preprocessed.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/item.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/iterator.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/numbered.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/numbered_c.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/pop_back.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/pop_front.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector10.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector10_c.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector20.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector20_c.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector30.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector30_c.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector40.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector40_c.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector50.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector50_c.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/plain/vector10.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/plain/vector10_c.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/plain/vector20.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/plain/vector20_c.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/plain/vector30.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/plain/vector30_c.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/plain/vector40.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/plain/vector40_c.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/plain/vector50.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/plain/vector50_c.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector10.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector10_c.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector20.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector20_c.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector30.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector30_c.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector40.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector40_c.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector50.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector50_c.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/push_back.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/push_front.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/size.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/tag.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/vector0.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/vector0.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/vector0_c.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/vector10.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/vector10_c.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/vector20.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/vector20_c.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/vector30.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/vector30_c.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/vector40.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/vector40_c.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/vector50.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/vector50_c.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector_c.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/void.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/void_fwd.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/zip_view.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/noncopyable.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/operators.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/arithmetic.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/arithmetic/add.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/arithmetic/dec.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/arithmetic/detail/div_base.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/arithmetic/div.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/arithmetic/inc.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/arithmetic/mod.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/arithmetic/mul.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/arithmetic/sub.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/array.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/array/data.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/array/elem.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/array/insert.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/array/pop_back.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/array/pop_front.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/array/push_back.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/array/push_front.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/array/remove.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/array/replace.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/array/reverse.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/array/size.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/assert_msg.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/cat.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/comma.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/comma_if.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/comparison.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/comparison/equal.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/comparison/greater.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/comparison/greater_equal.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/comparison/less.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/comparison/less_equal.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/comparison/not_equal.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/config/config.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/config/limits.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/control.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/control/deduce_d.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/control/detail/dmc/while.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/control/detail/edg/while.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/control/detail/msvc/while.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/control/detail/while.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/control/expr_if.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/control/expr_iif.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/control/if.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/control/iif.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/control/while.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/debug.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/debug/assert.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/debug/error.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/debug/line.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/dec.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/detail/auto_rec.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/detail/check.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/detail/dmc/auto_rec.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/detail/is_binary.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/detail/is_nullary.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/detail/is_unary.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/detail/null.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/detail/split.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/empty.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/enum.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/enum_params.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/enum_params_with_a_default.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/enum_params_with_defaults.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/enum_shifted.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/enum_shifted_params.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/expand.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/expr_if.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/facilities.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/facilities/apply.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/facilities/empty.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/facilities/expand.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/facilities/identity.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/facilities/intercept.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/facilities/is_1.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/facilities/is_empty.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/facilities/is_empty_or_1.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/for.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/identity.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/if.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/inc.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iterate.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/bounds/lower2.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/bounds/lower3.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/bounds/lower4.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/bounds/lower5.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/bounds/upper2.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/bounds/upper3.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/bounds/upper4.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/bounds/upper5.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/finish.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/iter/forward1.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/iter/forward2.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/iter/forward3.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/iter/forward4.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/iter/forward5.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/iter/reverse1.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/iter/reverse2.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/iter/reverse3.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/iter/reverse4.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/iter/reverse5.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/local.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/rlocal.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/self.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/start.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/iterate.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/local.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/self.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/library.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/limits.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/adt.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/append.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/at.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/cat.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/detail/dmc/fold_left.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/detail/edg/fold_left.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/detail/edg/fold_right.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/detail/fold_left.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/detail/fold_right.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/enum.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/filter.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/first_n.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/fold_left.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/fold_right.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/for_each.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/for_each_i.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/for_each_product.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/rest_n.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/reverse.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/size.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/to_tuple.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/transform.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/logical.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/logical/and.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/logical/bitand.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/logical/bitnor.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/logical/bitor.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/logical/bitxor.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/logical/bool.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/logical/compl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/logical/nor.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/logical/not.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/logical/or.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/logical/xor.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/max.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/min.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/punctuation.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/punctuation/comma.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/punctuation/comma_if.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/punctuation/paren.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/punctuation/paren_if.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repeat.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repeat_2nd.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repeat_3rd.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repeat_from_to.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repeat_from_to_2nd.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repeat_from_to_3rd.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/deduce_r.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/deduce_z.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/detail/dmc/for.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/detail/edg/for.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/detail/for.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/detail/msvc/for.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/enum.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/enum_binary_params.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/enum_params.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/enum_params_with_a_default.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/enum_params_with_defaults.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/enum_shifted.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/enum_shifted_binary_params.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/enum_shifted_params.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/enum_trailing.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/enum_trailing_binary_params.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/enum_trailing_params.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/for.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/repeat.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/repeat_from_to.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/selection.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/selection/max.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/selection/min.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/cat.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/detail/split.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/elem.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/enum.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/filter.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/first_n.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/fold_left.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/fold_right.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/for_each.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/for_each_i.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/for_each_product.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/insert.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/pop_back.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/pop_front.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/push_back.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/push_front.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/remove.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/replace.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/rest_n.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/reverse.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/seq.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/size.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/subseq.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/to_array.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/to_tuple.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/transform.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/slot.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/slot/counter.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/slot/detail/counter.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/slot/detail/def.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/slot/detail/shared.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/slot/detail/slot1.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/slot/detail/slot2.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/slot/detail/slot3.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/slot/detail/slot4.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/slot/detail/slot5.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/slot/slot.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/stringize.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/tuple.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/tuple/eat.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/tuple/elem.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/tuple/rem.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/tuple/reverse.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/tuple/to_list.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/tuple/to_seq.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/while.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/wstringize.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/program_options.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/program_options/cmdline.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/program_options/config.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/program_options/detail/cmdline.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/program_options/detail/config_file.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/program_options/detail/convert.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/program_options/detail/parsers.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/program_options/detail/utf8_codecvt_facet.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/program_options/detail/value_semantic.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/program_options/environment_iterator.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/program_options/eof_iterator.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/program_options/errors.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/program_options/option.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/program_options/options_description.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/program_options/parsers.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/program_options/positional_options.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/program_options/value_semantic.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/program_options/variables_map.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/program_options/version.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/random.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/random/additive_combine.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/random/bernoulli_distribution.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/random/binomial_distribution.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/random/cauchy_distribution.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/random/detail/config.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/random/detail/const_mod.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/random/detail/disable_warnings.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/random/detail/enable_warnings.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/random/detail/iterator_mixin.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/random/detail/pass_through_engine.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/random/detail/ptr_helper.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/random/detail/seed.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/random/detail/signed_unsigned_tools.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/random/detail/uniform_int_float.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/random/discard_block.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/random/exponential_distribution.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/random/gamma_distribution.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/random/geometric_distribution.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/random/inversive_congruential.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/random/lagged_fibonacci.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/random/linear_congruential.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/random/linear_feedback_shift.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/random/lognormal_distribution.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/random/mersenne_twister.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/random/normal_distribution.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/random/poisson_distribution.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/random/random_number_generator.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/random/ranlux.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/random/shuffle_output.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/random/subtract_with_carry.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/random/triangle_distribution.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/random/uniform_01.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/random/uniform_int.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/random/uniform_on_sphere.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/random/uniform_real.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/random/uniform_smallint.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/random/variate_generator.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/random/xor_combine.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/ref.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/shared_array.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/shared_ptr.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/bad_weak_ptr.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/atomic_count.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/atomic_count_gcc.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/atomic_count_gcc_x86.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/atomic_count_pthreads.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/atomic_count_solaris.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/atomic_count_sync.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/atomic_count_win32.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/lightweight_mutex.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/lwm_nop.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/lwm_pthreads.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/lwm_win32_cs.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/operator_bool.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/quick_allocator.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/shared_array_nmt.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/shared_count.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/shared_ptr_nmt.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/sp_convertible.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/sp_counted_base.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/sp_counted_base_acc_ia64.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/sp_counted_base_cw_ppc.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/sp_counted_base_cw_x86.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/sp_counted_base_gcc_ia64.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/sp_counted_base_gcc_ppc.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/sp_counted_base_gcc_sparc.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/sp_counted_base_nt.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/sp_counted_base_pt.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/sp_counted_base_solaris.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/sp_counted_base_spin.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/sp_counted_base_sync.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/sp_counted_base_w32.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/sp_counted_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/sp_has_sync.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/spinlock.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/spinlock_gcc_arm.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/spinlock_nt.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/spinlock_pool.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/spinlock_pt.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/spinlock_sync.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/spinlock_w32.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/yield_k.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/enable_shared_from_this.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/enable_shared_from_this2.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/intrusive_ptr.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/make_shared.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/scoped_array.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/scoped_ptr.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/shared_array.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/shared_ptr.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/weak_ptr.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/static_assert.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/system/config.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/system/cygwin_error.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/system/error_code.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/system/linux_error.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/system/system_error.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/system/windows_error.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/throw_exception.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/timer.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/add_const.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/add_cv.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/add_pointer.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/add_reference.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/add_volatile.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/aligned_storage.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/alignment_of.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/alignment_traits.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/arithmetic_traits.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/array_traits.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/broken_compiler_spec.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/composite_traits.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/config.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/conversion_traits.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/cv_traits.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/decay.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/detail/bool_trait_def.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/detail/bool_trait_undef.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/detail/cv_traits_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/detail/false_result.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/detail/ice_and.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/detail/ice_eq.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/detail/ice_not.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/detail/ice_or.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/detail/is_function_ptr_helper.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/detail/is_function_ptr_tester.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/detail/is_mem_fun_pointer_impl.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/detail/is_mem_fun_pointer_tester.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/detail/size_t_trait_def.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/detail/size_t_trait_undef.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/detail/template_arity_spec.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/detail/type_trait_def.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/detail/type_trait_undef.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/detail/wrap.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/detail/yes_no_type.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/extent.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/floating_point_promotion.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/function_traits.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/has_new_operator.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/has_nothrow_assign.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/has_nothrow_constructor.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/has_nothrow_copy.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/has_nothrow_destructor.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/has_trivial_assign.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/has_trivial_constructor.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/has_trivial_copy.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/has_trivial_destructor.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/has_virtual_destructor.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/ice.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/integral_constant.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/integral_promotion.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/intrinsics.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_abstract.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_arithmetic.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_array.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_base_and_derived.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_base_of.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_base_of_tr1.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_class.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_complex.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_compound.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_const.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_convertible.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_empty.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_enum.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_float.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_floating_point.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_function.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_fundamental.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_integral.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_member_function_pointer.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_member_object_pointer.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_member_pointer.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_object.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_pod.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_pointer.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_polymorphic.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_reference.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_same.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_scalar.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_signed.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_stateless.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_union.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_unsigned.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_virtual_base_of.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_void.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_volatile.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/make_signed.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/make_unsigned.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/msvc/remove_all_extents.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/msvc/remove_bounds.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/msvc/remove_const.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/msvc/remove_cv.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/msvc/remove_extent.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/msvc/remove_pointer.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/msvc/remove_reference.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/msvc/remove_volatile.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/msvc/typeof.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/object_traits.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/promote.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/rank.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/reference_traits.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/remove_all_extents.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/remove_bounds.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/remove_const.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/remove_cv.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/remove_extent.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/remove_pointer.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/remove_reference.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/remove_volatile.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/same_traits.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/transform_traits.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/transform_traits_spec.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/type_with_alignment.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/utility/addressof.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/utility/base_from_member.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/utility/binary.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/utility/compare_pointees.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/utility/detail/in_place_factory_prefix.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/utility/detail/in_place_factory_suffix.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/utility/detail/result_of_iterate.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/utility/enable_if.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/utility/in_place_factory.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/utility/result_of.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/utility/swap.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/utility/typed_in_place_factory.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/utility/value_init.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/include/boost/version.hpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/matlab/STC matlab implementation/calc_relative_payload.m [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/matlab/STC matlab implementation/calc_syndrome.m [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/matlab/STC matlab implementation/create_code_from_submatrix.m [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/matlab/STC matlab implementation/create_pcm_from_submatrix.m [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/matlab/STC matlab implementation/dec2binvec.m [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/matlab/STC matlab implementation/draw_pcm.m [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/matlab/STC matlab implementation/dual_viterbi.m [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/matlab/STC matlab implementation/dv_best_submatrices.mat [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/matlab/STC matlab implementation/example1.m [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/matlab/STC matlab implementation/example2.m [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/matlab/ex_pm1_dls.m [new file with mode: 0755]
stc/exp/ml_stc_linux_make_v1.0/matlab/ex_pm1_pls.m [new file with mode: 0755]
stc/exp/ml_stc_linux_make_v1.0/matlab/ex_pm2_dls.m [new file with mode: 0755]
stc/exp/ml_stc_linux_make_v1.0/matlab/ex_pm2_pls.m [new file with mode: 0755]
stc/exp/ml_stc_linux_make_v1.0/matlab/ex_stc.m [new file with mode: 0755]
stc/exp/ml_stc_linux_make_v1.0/matlab/ex_stc_linear.m [new file with mode: 0755]
stc/exp/ml_stc_linux_make_v1.0/matlab/ex_stc_wet.m [new file with mode: 0755]
stc/exp/ml_stc_linux_make_v1.0/matlab/html/ex_pm1_dls.html [new file with mode: 0755]
stc/exp/ml_stc_linux_make_v1.0/matlab/html/ex_pm1_pls.html [new file with mode: 0755]
stc/exp/ml_stc_linux_make_v1.0/matlab/html/ex_pm2_dls.html [new file with mode: 0755]
stc/exp/ml_stc_linux_make_v1.0/matlab/html/ex_pm2_pls.html [new file with mode: 0755]
stc/exp/ml_stc_linux_make_v1.0/matlab/html/ex_stc.html [new file with mode: 0755]
stc/exp/ml_stc_linux_make_v1.0/matlab/stc_embed.m [new file with mode: 0755]
stc/exp/ml_stc_linux_make_v1.0/matlab/stc_embed.mexa64 [new file with mode: 0755]
stc/exp/ml_stc_linux_make_v1.0/matlab/stc_extract.m [new file with mode: 0755]
stc/exp/ml_stc_linux_make_v1.0/matlab/stc_extract.mexa64 [new file with mode: 0755]
stc/exp/ml_stc_linux_make_v1.0/matlab/stc_ml_extract.m [new file with mode: 0755]
stc/exp/ml_stc_linux_make_v1.0/matlab/stc_ml_extract.mexa64 [new file with mode: 0755]
stc/exp/ml_stc_linux_make_v1.0/matlab/stc_pm1_dls_embed.m [new file with mode: 0755]
stc/exp/ml_stc_linux_make_v1.0/matlab/stc_pm1_dls_embed.mexa64 [new file with mode: 0755]
stc/exp/ml_stc_linux_make_v1.0/matlab/stc_pm1_pls_embed.m [new file with mode: 0755]
stc/exp/ml_stc_linux_make_v1.0/matlab/stc_pm1_pls_embed.mexa64 [new file with mode: 0755]
stc/exp/ml_stc_linux_make_v1.0/matlab/stc_pm2_dls_embed.m [new file with mode: 0755]
stc/exp/ml_stc_linux_make_v1.0/matlab/stc_pm2_dls_embed.mexa64 [new file with mode: 0755]
stc/exp/ml_stc_linux_make_v1.0/matlab/stc_pm2_pls_embed.m [new file with mode: 0755]
stc/exp/ml_stc_linux_make_v1.0/matlab/stc_pm2_pls_embed.mexa64 [new file with mode: 0755]
stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/coding_loss.cpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/coding_loss.h [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/common.cpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/common.h [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/compile.m [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/example1_ml_stc.cpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/example2_ml_stc.cpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/mex_stc_ml_extract.cpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/mex_stc_pm1_dls_embed.cpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/mex_stc_pm1_pls_embed.cpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/mex_stc_pm2_dls_embed.cpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/mex_stc_pm2_pls_embed.cpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/sse_mathfun.h [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/stc_embed.cpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/stc_embed_c.cpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/stc_embed_c.h [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/stc_extract.cpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/stc_extract_c.cpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/stc_extract_c.h [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/stc_ml_c.cpp [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/stc_ml_c.h [new file with mode: 0644]
stc/exp/ml_stc_linux_make_v1.0/release/example1_ml_stc.o [new file with mode: 0644]
stc/exp/python/dummy [new file with mode: 0644]
stc/exp/python/stc.py [new file with mode: 0644]
stc/exp/python/stc.py~ [new file with mode: 0644]
stc/exp/python/stc_lght.py [new file with mode: 0644]
stc/exp/python/stc_lght.py* [new file with mode: 0644]
stc/exp/python/stc_lght.py~ [new file with mode: 0644]

diff --git a/IEEEtran.cls b/IEEEtran.cls
new file mode 100755 (executable)
index 0000000..5681714
--- /dev/null
@@ -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 (executable)
index 0000000..a82f53f
Binary files /dev/null and b/IEEEtran_HOWTO.pdf differ
diff --git a/biblio.bib b/biblio.bib
new file mode 100644 (file)
index 0000000..bfb99b1
--- /dev/null
@@ -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}
+}
+
index c6ab2f108c748b396aecdff7df395a85aba44665..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644 (file)
--- 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 (executable)
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 (file)
index 0000000..83f2eff
Binary files /dev/null and b/stc/exp/ml_stc_linux_make_v1.0.tar.gz differ
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 (file)
index 0000000..2cdd07c
--- /dev/null
@@ -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 (executable)
index 0000000..b9570da
--- /dev/null
@@ -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 (file)
index 0000000..646cd29
--- /dev/null
@@ -0,0 +1,253 @@
+// See http://www.boost.org/libs/any for Documentation.\r
+\r
+#ifndef BOOST_ANY_INCLUDED\r
+#define BOOST_ANY_INCLUDED\r
+\r
+// what:  variant type boost::any\r
+// who:   contributed by Kevlin Henney,\r
+//        with features contributed and bugs found by\r
+//        Ed Brey, Mark Rodgers, Peter Dimov, and James Curran\r
+// when:  July 2001\r
+// where: tested with BCC 5.5, MSVC 6.0, and g++ 2.95\r
+\r
+#include <algorithm>\r
+#include <typeinfo>\r
+\r
+#include "boost/config.hpp"\r
+#include <boost/type_traits/remove_reference.hpp>\r
+#include <boost/type_traits/is_reference.hpp>\r
+#include <boost/throw_exception.hpp>\r
+#include <boost/static_assert.hpp>\r
+\r
+// See boost/python/type_id.hpp\r
+// TODO: add BOOST_TYPEID_COMPARE_BY_NAME to config.hpp\r
+# if (defined(__GNUC__) && __GNUC__ >= 3) \\r
+ || defined(_AIX) \\r
+ || (   defined(__sgi) && defined(__host_mips)) \\r
+ || (defined(__hpux) && defined(__HP_aCC)) \\r
+ || (defined(linux) && defined(__INTEL_COMPILER) && defined(__ICC))\r
+#  define BOOST_AUX_ANY_TYPE_ID_NAME\r
+#include <cstring>\r
+# endif \r
+\r
+namespace boost\r
+{\r
+    class any\r
+    {\r
+    public: // structors\r
+\r
+        any()\r
+          : content(0)\r
+        {\r
+        }\r
+\r
+        template<typename ValueType>\r
+        any(const ValueType & value)\r
+          : content(new holder<ValueType>(value))\r
+        {\r
+        }\r
+\r
+        any(const any & other)\r
+          : content(other.content ? other.content->clone() : 0)\r
+        {\r
+        }\r
+\r
+        ~any()\r
+        {\r
+            delete content;\r
+        }\r
+\r
+    public: // modifiers\r
+\r
+        any & swap(any & rhs)\r
+        {\r
+            std::swap(content, rhs.content);\r
+            return *this;\r
+        }\r
+\r
+        template<typename ValueType>\r
+        any & operator=(const ValueType & rhs)\r
+        {\r
+            any(rhs).swap(*this);\r
+            return *this;\r
+        }\r
+\r
+        any & operator=(any rhs)\r
+        {\r
+            rhs.swap(*this);\r
+            return *this;\r
+        }\r
+\r
+    public: // queries\r
+\r
+        bool empty() const\r
+        {\r
+            return !content;\r
+        }\r
+\r
+        const std::type_info & type() const\r
+        {\r
+            return content ? content->type() : typeid(void);\r
+        }\r
+\r
+#ifndef BOOST_NO_MEMBER_TEMPLATE_FRIENDS\r
+    private: // types\r
+#else\r
+    public: // types (public so any_cast can be non-friend)\r
+#endif\r
+\r
+        class placeholder\r
+        {\r
+        public: // structors\r
+\r
+            virtual ~placeholder()\r
+            {\r
+            }\r
+\r
+        public: // queries\r
+\r
+            virtual const std::type_info & type() const = 0;\r
+\r
+            virtual placeholder * clone() const = 0;\r
+\r
+        };\r
+\r
+        template<typename ValueType>\r
+        class holder : public placeholder\r
+        {\r
+        public: // structors\r
+\r
+            holder(const ValueType & value)\r
+              : held(value)\r
+            {\r
+            }\r
+\r
+        public: // queries\r
+\r
+            virtual const std::type_info & type() const\r
+            {\r
+                return typeid(ValueType);\r
+            }\r
+\r
+            virtual placeholder * clone() const\r
+            {\r
+                return new holder(held);\r
+            }\r
+\r
+        public: // representation\r
+\r
+            ValueType held;\r
+\r
+        private: // intentionally left unimplemented\r
+            holder & operator=(const holder &);\r
+        };\r
+\r
+#ifndef BOOST_NO_MEMBER_TEMPLATE_FRIENDS\r
+\r
+    private: // representation\r
+\r
+        template<typename ValueType>\r
+        friend ValueType * any_cast(any *);\r
+\r
+        template<typename ValueType>\r
+        friend ValueType * unsafe_any_cast(any *);\r
+\r
+#else\r
+\r
+    public: // representation (public so any_cast can be non-friend)\r
+\r
+#endif\r
+\r
+        placeholder * content;\r
+\r
+    };\r
+\r
+    class bad_any_cast : public std::bad_cast\r
+    {\r
+    public:\r
+        virtual const char * what() const throw()\r
+        {\r
+            return "boost::bad_any_cast: "\r
+                   "failed conversion using boost::any_cast";\r
+        }\r
+    };\r
+\r
+    template<typename ValueType>\r
+    ValueType * any_cast(any * operand)\r
+    {\r
+        return operand && \r
+#ifdef BOOST_AUX_ANY_TYPE_ID_NAME\r
+            std::strcmp(operand->type().name(), typeid(ValueType).name()) == 0\r
+#else\r
+            operand->type() == typeid(ValueType)\r
+#endif\r
+            ? &static_cast<any::holder<ValueType> *>(operand->content)->held\r
+            : 0;\r
+    }\r
+\r
+    template<typename ValueType>\r
+    inline const ValueType * any_cast(const any * operand)\r
+    {\r
+        return any_cast<ValueType>(const_cast<any *>(operand));\r
+    }\r
+\r
+    template<typename ValueType>\r
+    ValueType any_cast(any & operand)\r
+    {\r
+        typedef BOOST_DEDUCED_TYPENAME remove_reference<ValueType>::type nonref;\r
+\r
+#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+        // If 'nonref' is still reference type, it means the user has not\r
+        // specialized 'remove_reference'.\r
+\r
+        // Please use BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION macro\r
+        // to generate specialization of remove_reference for your class\r
+        // See type traits library documentation for details\r
+        BOOST_STATIC_ASSERT(!is_reference<nonref>::value);\r
+#endif\r
+\r
+        nonref * result = any_cast<nonref>(&operand);\r
+        if(!result)\r
+            boost::throw_exception(bad_any_cast());\r
+        return *result;\r
+    }\r
+\r
+    template<typename ValueType>\r
+    inline ValueType any_cast(const any & operand)\r
+    {\r
+        typedef BOOST_DEDUCED_TYPENAME remove_reference<ValueType>::type nonref;\r
+\r
+#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+        // The comment in the above version of 'any_cast' explains when this\r
+        // assert is fired and what to do.\r
+        BOOST_STATIC_ASSERT(!is_reference<nonref>::value);\r
+#endif\r
+\r
+        return any_cast<const nonref &>(const_cast<any &>(operand));\r
+    }\r
+\r
+    // Note: The "unsafe" versions of any_cast are not part of the\r
+    // public interface and may be removed at any time. They are\r
+    // required where we know what type is stored in the any and can't\r
+    // use typeid() comparison, e.g., when our types may travel across\r
+    // different shared libraries.\r
+    template<typename ValueType>\r
+    inline ValueType * unsafe_any_cast(any * operand)\r
+    {\r
+        return &static_cast<any::holder<ValueType> *>(operand->content)->held;\r
+    }\r
+\r
+    template<typename ValueType>\r
+    inline const ValueType * unsafe_any_cast(const any * operand)\r
+    {\r
+        return unsafe_any_cast<ValueType>(const_cast<any *>(operand));\r
+    }\r
+}\r
+\r
+// Copyright Kevlin Henney, 2000, 2001, 2002. All rights reserved.\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. (See\r
+// accompanying file LICENSE_1_0.txt or copy at\r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+#endif\r
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 (file)
index 0000000..281c465
--- /dev/null
@@ -0,0 +1,50 @@
+//\r
+//  boost/assert.hpp - BOOST_ASSERT(expr)\r
+//\r
+//  Copyright (c) 2001, 2002 Peter Dimov and Multi Media Ltd.\r
+//  Copyright (c) 2007 Peter Dimov\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. (See\r
+// accompanying file LICENSE_1_0.txt or copy at\r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+//  Note: There are no include guards. This is intentional.\r
+//\r
+//  See http://www.boost.org/libs/utility/assert.html for documentation.\r
+//\r
+\r
+#undef BOOST_ASSERT\r
+\r
+#if defined(BOOST_DISABLE_ASSERTS)\r
+\r
+# define BOOST_ASSERT(expr) ((void)0)\r
+\r
+#elif defined(BOOST_ENABLE_ASSERT_HANDLER)\r
+\r
+#include <boost/current_function.hpp>\r
+\r
+namespace boost\r
+{\r
+\r
+void assertion_failed(char const * expr, char const * function, char const * file, long line); // user defined\r
+\r
+} // namespace boost\r
+\r
+#define BOOST_ASSERT(expr) ((expr)? ((void)0): ::boost::assertion_failed(#expr, BOOST_CURRENT_FUNCTION, __FILE__, __LINE__))\r
+\r
+#else\r
+# include <assert.h> // .h to support old libraries w/o <cassert> - effect is the same\r
+# define BOOST_ASSERT(expr) assert(expr)\r
+#endif\r
+\r
+#undef BOOST_VERIFY\r
+\r
+#if defined(BOOST_DISABLE_ASSERTS) || ( !defined(BOOST_ENABLE_ASSERT_HANDLER) && defined(NDEBUG) )\r
+\r
+# define BOOST_VERIFY(expr) ((void)(expr))\r
+\r
+#else\r
+\r
+# define BOOST_VERIFY(expr) BOOST_ASSERT(expr)\r
+\r
+#endif\r
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 (file)
index 0000000..5ca4e1d
--- /dev/null
@@ -0,0 +1,74 @@
+#ifndef BOOST_BIND_APPLY_HPP_INCLUDED\r
+#define BOOST_BIND_APPLY_HPP_INCLUDED\r
+\r
+//\r
+//  apply.hpp\r
+//\r
+//  Copyright (c) 2002, 2003 Peter Dimov and Multi Media Ltd.\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. (See\r
+// accompanying file LICENSE_1_0.txt or copy at\r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+namespace boost\r
+{\r
+\r
+template<class R> struct apply\r
+{\r
+    typedef R result_type;\r
+\r
+    template<class F> result_type operator()(F & f) const\r
+    {\r
+        return f();\r
+    }\r
+\r
+    template<class F, class A1> result_type operator()(F & f, A1 & a1) const\r
+    {\r
+        return f(a1);\r
+    }\r
+\r
+    template<class F, class A1, class A2> result_type operator()(F & f, A1 & a1, A2 & a2) const\r
+    {\r
+        return f(a1, a2);\r
+    }\r
+\r
+    template<class F, class A1, class A2, class A3> result_type operator()(F & f, A1 & a1, A2 & a2, A3 & a3) const\r
+    {\r
+        return f(a1, a2, a3);\r
+    }\r
+\r
+    template<class F, class A1, class A2, class A3, class A4> result_type operator()(F & f, A1 & a1, A2 & a2, A3 & a3, A4 & a4) const\r
+    {\r
+        return f(a1, a2, a3, a4);\r
+    }\r
+\r
+    template<class F, class A1, class A2, class A3, class A4, class A5> result_type operator()(F & f, A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5) const\r
+    {\r
+        return f(a1, a2, a3, a4, a5);\r
+    }\r
+\r
+    template<class F, class A1, class A2, class A3, class A4, class A5, class A6> result_type operator()(F & f, A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6) const\r
+    {\r
+        return f(a1, a2, a3, a4, a5, a6);\r
+    }\r
+\r
+    template<class F, class A1, class A2, class A3, class A4, class A5, class A6, class A7> result_type operator()(F & f, A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7) const\r
+    {\r
+        return f(a1, a2, a3, a4, a5, a6, a7);\r
+    }\r
+\r
+    template<class F, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8> result_type operator()(F & f, A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7, A8 & a8) const\r
+    {\r
+        return f(a1, a2, a3, a4, a5, a6, a7, a8);\r
+    }\r
+\r
+    template<class F, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9> result_type operator()(F & f, A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7, A8 & a8, A9 & a9) const\r
+    {\r
+        return f(a1, a2, a3, a4, a5, a6, a7, a8, a9);\r
+    }\r
+};\r
+\r
+} // namespace boost\r
+\r
+#endif // #ifndef BOOST_BIND_APPLY_HPP_INCLUDED\r
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 (file)
index 0000000..c08291a
--- /dev/null
@@ -0,0 +1,62 @@
+#ifndef BOOST_BIND_ARG_HPP_INCLUDED\r
+#define BOOST_BIND_ARG_HPP_INCLUDED\r
+\r
+// MS compatible compilers support #pragma once\r
+\r
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)\r
+# pragma once\r
+#endif\r
+\r
+//\r
+//  bind/arg.hpp\r
+//\r
+//  Copyright (c) 2002 Peter Dimov and Multi Media Ltd.\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. (See\r
+// accompanying file LICENSE_1_0.txt or copy at\r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+//  See http://www.boost.org/libs/bind/bind.html for documentation.\r
+//\r
+\r
+#include <boost/config.hpp>\r
+#include <boost/is_placeholder.hpp>\r
+\r
+namespace boost\r
+{\r
+\r
+template< int I > struct arg\r
+{\r
+    arg()\r
+    {\r
+    }\r
+\r
+    template< class T > arg( T const & /* t */ )\r
+    {\r
+        // static assert I == is_placeholder<T>::value\r
+        typedef char T_must_be_placeholder[ I == is_placeholder<T>::value? 1: -1 ];\r
+    }\r
+};\r
+\r
+template< int I > bool operator==( arg<I> const &, arg<I> const & )\r
+{\r
+    return true;\r
+}\r
+\r
+#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )\r
+\r
+template< int I > struct is_placeholder< arg<I> >\r
+{\r
+    enum _vt { value = I };\r
+};\r
+\r
+template< int I > struct is_placeholder< arg<I> (*) () >\r
+{\r
+    enum _vt { value = I };\r
+};\r
+\r
+#endif\r
+\r
+} // namespace boost\r
+\r
+#endif // #ifndef BOOST_BIND_ARG_HPP_INCLUDED\r
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 (file)
index 0000000..308f607
--- /dev/null
@@ -0,0 +1,1751 @@
+#ifndef BOOST_BIND_BIND_HPP_INCLUDED\r
+#define BOOST_BIND_BIND_HPP_INCLUDED\r
+\r
+// MS compatible compilers support #pragma once\r
+\r
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)\r
+# pragma once\r
+#endif\r
+\r
+//\r
+//  bind.hpp - binds function objects to arguments\r
+//\r
+//  Copyright (c) 2001-2004 Peter Dimov and Multi Media Ltd.\r
+//  Copyright (c) 2001 David Abrahams\r
+//  Copyright (c) 2005 Peter Dimov\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. (See\r
+// accompanying file LICENSE_1_0.txt or copy at\r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+//  See http://www.boost.org/libs/bind/bind.html for documentation.\r
+//\r
+\r
+#include <boost/config.hpp>\r
+#include <boost/ref.hpp>\r
+#include <boost/mem_fn.hpp>\r
+#include <boost/type.hpp>\r
+#include <boost/is_placeholder.hpp>\r
+#include <boost/bind/arg.hpp>\r
+#include <boost/detail/workaround.hpp>\r
+#include <boost/visit_each.hpp>\r
+\r
+// Borland-specific bug, visit_each() silently fails to produce code\r
+\r
+#if defined(__BORLANDC__)\r
+#  define BOOST_BIND_VISIT_EACH boost::visit_each\r
+#else\r
+#  define BOOST_BIND_VISIT_EACH visit_each\r
+#endif\r
+\r
+#include <boost/bind/storage.hpp>\r
+\r
+#ifdef BOOST_MSVC\r
+# pragma warning(push)\r
+# pragma warning(disable: 4512) // assignment operator could not be generated\r
+#endif\r
+\r
+namespace boost\r
+{\r
+\r
+template<class T> class weak_ptr;\r
+\r
+namespace _bi // implementation details\r
+{\r
+\r
+// result_traits\r
+\r
+template<class R, class F> struct result_traits\r
+{\r
+    typedef R type;\r
+};\r
+\r
+#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING)\r
+\r
+struct unspecified {};\r
+\r
+template<class F> struct result_traits<unspecified, F>\r
+{\r
+    typedef typename F::result_type type;\r
+};\r
+\r
+template<class F> struct result_traits< unspecified, reference_wrapper<F> >\r
+{\r
+    typedef typename F::result_type type;\r
+};\r
+\r
+#endif\r
+\r
+// ref_compare\r
+\r
+template<class T> bool ref_compare( T const & a, T const & b, long )\r
+{\r
+    return a == b;\r
+}\r
+\r
+template<int I> bool ref_compare( arg<I> const &, arg<I> const &, int )\r
+{\r
+    return true;\r
+}\r
+\r
+template<int I> bool ref_compare( arg<I> (*) (), arg<I> (*) (), int )\r
+{\r
+    return true;\r
+}\r
+\r
+template<class T> bool ref_compare( reference_wrapper<T> const & a, reference_wrapper<T> const & b, int )\r
+{\r
+    return a.get_pointer() == b.get_pointer();\r
+}\r
+\r
+// bind_t forward declaration for listN\r
+\r
+template<class R, class F, class L> class bind_t;\r
+\r
+template<class R, class F, class L> bool ref_compare( bind_t<R, F, L> const & a, bind_t<R, F, L> const & b, int )\r
+{\r
+    return a.compare( b );\r
+}\r
+\r
+// value\r
+\r
+template<class T> class value\r
+{\r
+public:\r
+\r
+    value(T const & t): t_(t) {}\r
+\r
+    T & get() { return t_; }\r
+    T const & get() const { return t_; }\r
+\r
+    bool operator==(value const & rhs) const\r
+    {\r
+        return t_ == rhs.t_;\r
+    }\r
+\r
+private:\r
+\r
+    T t_;\r
+};\r
+\r
+// ref_compare for weak_ptr\r
+\r
+template<class T> bool ref_compare( value< weak_ptr<T> > const & a, value< weak_ptr<T> > const & b, int )\r
+{\r
+    return !(a.get() < b.get()) && !(b.get() < a.get());\r
+}\r
+\r
+// type\r
+\r
+template<class T> class type {};\r
+\r
+// unwrap\r
+\r
+template<class F> struct unwrapper\r
+{\r
+    static inline F & unwrap( F & f, long )\r
+    {\r
+        return f;\r
+    }\r
+\r
+    template<class F2> static inline F2 & unwrap( reference_wrapper<F2> rf, int )\r
+    {\r
+        return rf.get();\r
+    }\r
+\r
+    template<class R, class T> static inline _mfi::dm<R, T> unwrap( R T::* pm, int )\r
+    {\r
+        return _mfi::dm<R, T>( pm );\r
+    }\r
+};\r
+\r
+// listN\r
+\r
+class list0\r
+{\r
+public:\r
+\r
+    list0() {}\r
+\r
+    template<class T> T & operator[] (_bi::value<T> & v) const { return v.get(); }\r
+\r
+    template<class T> T const & operator[] (_bi::value<T> const & v) const { return v.get(); }\r
+\r
+    template<class T> T & operator[] (reference_wrapper<T> const & v) const { return v.get(); }\r
+\r
+    template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> & b) const { return b.eval(*this); }\r
+\r
+    template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> const & b) const { return b.eval(*this); }\r
+\r
+    template<class R, class F, class A> R operator()(type<R>, F & f, A &, long)\r
+    {\r
+        return unwrapper<F>::unwrap(f, 0)();\r
+    }\r
+\r
+    template<class R, class F, class A> R operator()(type<R>, F const & f, A &, long) const\r
+    {\r
+        return unwrapper<F const>::unwrap(f, 0)();\r
+    }\r
+\r
+    template<class F, class A> void operator()(type<void>, F & f, A &, int)\r
+    {\r
+        unwrapper<F>::unwrap(f, 0)();\r
+    }\r
+\r
+    template<class F, class A> void operator()(type<void>, F const & f, A &, int) const\r
+    {\r
+        unwrapper<F const>::unwrap(f, 0)();\r
+    }\r
+\r
+    template<class V> void accept(V &) const\r
+    {\r
+    }\r
+\r
+    bool operator==(list0 const &) const\r
+    {\r
+        return true;\r
+    }\r
+};\r
+\r
+#ifdef BOOST_MSVC\r
+// MSVC is bright enough to realise that the parameter rhs \r
+// in operator==may be unused for some template argument types:\r
+#pragma warning(push)\r
+#pragma warning(disable:4100)\r
+#endif\r
+\r
+template< class A1 > class list1: private storage1< A1 >\r
+{\r
+private:\r
+\r
+    typedef storage1< A1 > base_type;\r
+\r
+public:\r
+\r
+    explicit list1( A1 a1 ): base_type( a1 ) {}\r
+\r
+    A1 operator[] (boost::arg<1>) const { return base_type::a1_; }\r
+\r
+    A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; }\r
+\r
+    template<class T> T & operator[] ( _bi::value<T> & v ) const { return v.get(); }\r
+\r
+    template<class T> T const & operator[] ( _bi::value<T> const & v ) const { return v.get(); }\r
+\r
+    template<class T> T & operator[] (reference_wrapper<T> const & v) const { return v.get(); }\r
+\r
+    template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> & b) const { return b.eval(*this); }\r
+\r
+    template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> const & b) const { return b.eval(*this); }\r
+\r
+    template<class R, class F, class A> R operator()(type<R>, F & f, A & a, long)\r
+    {\r
+        return unwrapper<F>::unwrap(f, 0)(a[base_type::a1_]);\r
+    }\r
+\r
+    template<class R, class F, class A> R operator()(type<R>, F const & f, A & a, long) const\r
+    {\r
+        return unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_]);\r
+    }\r
+\r
+    template<class F, class A> void operator()(type<void>, F & f, A & a, int)\r
+    {\r
+        unwrapper<F>::unwrap(f, 0)(a[base_type::a1_]);\r
+    }\r
+\r
+    template<class F, class A> void operator()(type<void>, F const & f, A & a, int) const\r
+    {\r
+        unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_]);\r
+    }\r
+\r
+    template<class V> void accept(V & v) const\r
+    {\r
+        base_type::accept(v);\r
+    }\r
+\r
+    bool operator==(list1 const & rhs) const\r
+    {\r
+        return ref_compare(base_type::a1_, rhs.a1_, 0);\r
+    }\r
+};\r
+\r
+struct logical_and;\r
+struct logical_or;\r
+\r
+template< class A1, class A2 > class list2: private storage2< A1, A2 >\r
+{\r
+private:\r
+\r
+    typedef storage2< A1, A2 > base_type;\r
+\r
+public:\r
+\r
+    list2( A1 a1, A2 a2 ): base_type( a1, a2 ) {}\r
+\r
+    A1 operator[] (boost::arg<1>) const { return base_type::a1_; }\r
+    A2 operator[] (boost::arg<2>) const { return base_type::a2_; }\r
+\r
+    A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; }\r
+    A2 operator[] (boost::arg<2> (*) ()) const { return base_type::a2_; }\r
+\r
+    template<class T> T & operator[] (_bi::value<T> & v) const { return v.get(); }\r
+\r
+    template<class T> T const & operator[] (_bi::value<T> const & v) const { return v.get(); }\r
+\r
+    template<class T> T & operator[] (reference_wrapper<T> const & v) const { return v.get(); }\r
+\r
+    template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> & b) const { return b.eval(*this); }\r
+\r
+    template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> const & b) const { return b.eval(*this); }\r
+\r
+    template<class R, class F, class A> R operator()(type<R>, F & f, A & a, long)\r
+    {\r
+        return unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_]);\r
+    }\r
+\r
+    template<class R, class F, class A> R operator()(type<R>, F const & f, A & a, long) const\r
+    {\r
+        return unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_]);\r
+    }\r
+\r
+    template<class F, class A> void operator()(type<void>, F & f, A & a, int)\r
+    {\r
+        unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_]);\r
+    }\r
+\r
+    template<class F, class A> void operator()(type<void>, F const & f, A & a, int) const\r
+    {\r
+        unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_]);\r
+    }\r
+\r
+    template<class A> bool operator()( type<bool>, logical_and & /*f*/, A & a, int )\r
+    {\r
+        return a[ base_type::a1_ ] && a[ base_type::a2_ ];\r
+    }\r
+\r
+    template<class A> bool operator()( type<bool>, logical_and const & /*f*/, A & a, int ) const\r
+    {\r
+        return a[ base_type::a1_ ] && a[ base_type::a2_ ];\r
+    }\r
+\r
+    template<class A> bool operator()( type<bool>, logical_or & /*f*/, A & a, int )\r
+    {\r
+        return a[ base_type::a1_ ] || a[ base_type::a2_ ];\r
+    }\r
+\r
+    template<class A> bool operator()( type<bool>, logical_or const & /*f*/, A & a, int ) const\r
+    {\r
+        return a[ base_type::a1_ ] || a[ base_type::a2_ ];\r
+    }\r
+\r
+    template<class V> void accept(V & v) const\r
+    {\r
+        base_type::accept(v);\r
+    }\r
+\r
+    bool operator==(list2 const & rhs) const\r
+    {\r
+        return ref_compare(base_type::a1_, rhs.a1_, 0) && ref_compare(base_type::a2_, rhs.a2_, 0);\r
+    }\r
+};\r
+\r
+template< class A1, class A2, class A3 > class list3: private storage3< A1, A2, A3 >\r
+{\r
+private:\r
+\r
+    typedef storage3< A1, A2, A3 > base_type;\r
+\r
+public:\r
+\r
+    list3( A1 a1, A2 a2, A3 a3 ): base_type( a1, a2, a3 ) {}\r
+\r
+    A1 operator[] (boost::arg<1>) const { return base_type::a1_; }\r
+    A2 operator[] (boost::arg<2>) const { return base_type::a2_; }\r
+    A3 operator[] (boost::arg<3>) const { return base_type::a3_; }\r
+\r
+    A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; }\r
+    A2 operator[] (boost::arg<2> (*) ()) const { return base_type::a2_; }\r
+    A3 operator[] (boost::arg<3> (*) ()) const { return base_type::a3_; }\r
+\r
+    template<class T> T & operator[] (_bi::value<T> & v) const { return v.get(); }\r
+\r
+    template<class T> T const & operator[] (_bi::value<T> const & v) const { return v.get(); }\r
+\r
+    template<class T> T & operator[] (reference_wrapper<T> const & v) const { return v.get(); }\r
+\r
+    template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> & b) const { return b.eval(*this); }\r
+\r
+    template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> const & b) const { return b.eval(*this); }\r
+\r
+    template<class R, class F, class A> R operator()(type<R>, F & f, A & a, long)\r
+    {\r
+        return unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_]);\r
+    }\r
+\r
+    template<class R, class F, class A> R operator()(type<R>, F const & f, A & a, long) const\r
+    {\r
+        return unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_]);\r
+    }\r
+\r
+    template<class F, class A> void operator()(type<void>, F & f, A & a, int)\r
+    {\r
+        unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_]);\r
+    }\r
+\r
+    template<class F, class A> void operator()(type<void>, F const & f, A & a, int) const\r
+    {\r
+        unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_]);\r
+    }\r
+\r
+    template<class V> void accept(V & v) const\r
+    {\r
+        base_type::accept(v);\r
+    }\r
+\r
+    bool operator==(list3 const & rhs) const\r
+    {\r
+        return\r
+            \r
+            ref_compare( base_type::a1_, rhs.a1_, 0 ) &&\r
+            ref_compare( base_type::a2_, rhs.a2_, 0 ) &&\r
+            ref_compare( base_type::a3_, rhs.a3_, 0 );\r
+    }\r
+};\r
+\r
+template< class A1, class A2, class A3, class A4 > class list4: private storage4< A1, A2, A3, A4 >\r
+{\r
+private:\r
+\r
+    typedef storage4< A1, A2, A3, A4 > base_type;\r
+\r
+public:\r
+\r
+    list4( A1 a1, A2 a2, A3 a3, A4 a4 ): base_type( a1, a2, a3, a4 ) {}\r
+\r
+    A1 operator[] (boost::arg<1>) const { return base_type::a1_; }\r
+    A2 operator[] (boost::arg<2>) const { return base_type::a2_; }\r
+    A3 operator[] (boost::arg<3>) const { return base_type::a3_; }\r
+    A4 operator[] (boost::arg<4>) const { return base_type::a4_; }\r
+\r
+    A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; }\r
+    A2 operator[] (boost::arg<2> (*) ()) const { return base_type::a2_; }\r
+    A3 operator[] (boost::arg<3> (*) ()) const { return base_type::a3_; }\r
+    A4 operator[] (boost::arg<4> (*) ()) const { return base_type::a4_; }\r
+\r
+    template<class T> T & operator[] (_bi::value<T> & v) const { return v.get(); }\r
+\r
+    template<class T> T const & operator[] (_bi::value<T> const & v) const { return v.get(); }\r
+\r
+    template<class T> T & operator[] (reference_wrapper<T> const & v) const { return v.get(); }\r
+\r
+    template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> & b) const { return b.eval(*this); }\r
+\r
+    template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> const & b) const { return b.eval(*this); }\r
+\r
+    template<class R, class F, class A> R operator()(type<R>, F & f, A & a, long)\r
+    {\r
+        return unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_]);\r
+    }\r
+\r
+    template<class R, class F, class A> R operator()(type<R>, F const & f, A & a, long) const\r
+    {\r
+        return unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_]);\r
+    }\r
+\r
+    template<class F, class A> void operator()(type<void>, F & f, A & a, int)\r
+    {\r
+        unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_]);\r
+    }\r
+\r
+    template<class F, class A> void operator()(type<void>, F const & f, A & a, int) const\r
+    {\r
+        unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_]);\r
+    }\r
+\r
+    template<class V> void accept(V & v) const\r
+    {\r
+        base_type::accept(v);\r
+    }\r
+\r
+    bool operator==(list4 const & rhs) const\r
+    {\r
+        return\r
+\r
+            ref_compare( base_type::a1_, rhs.a1_, 0 ) &&\r
+            ref_compare( base_type::a2_, rhs.a2_, 0 ) &&\r
+            ref_compare( base_type::a3_, rhs.a3_, 0 ) &&\r
+            ref_compare( base_type::a4_, rhs.a4_, 0 );\r
+    }\r
+};\r
+\r
+template< class A1, class A2, class A3, class A4, class A5 > class list5: private storage5< A1, A2, A3, A4, A5 >\r
+{\r
+private:\r
+\r
+    typedef storage5< A1, A2, A3, A4, A5 > base_type;\r
+\r
+public:\r
+\r
+    list5( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5 ): base_type( a1, a2, a3, a4, a5 ) {}\r
+\r
+    A1 operator[] (boost::arg<1>) const { return base_type::a1_; }\r
+    A2 operator[] (boost::arg<2>) const { return base_type::a2_; }\r
+    A3 operator[] (boost::arg<3>) const { return base_type::a3_; }\r
+    A4 operator[] (boost::arg<4>) const { return base_type::a4_; }\r
+    A5 operator[] (boost::arg<5>) const { return base_type::a5_; }\r
+\r
+    A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; }\r
+    A2 operator[] (boost::arg<2> (*) ()) const { return base_type::a2_; }\r
+    A3 operator[] (boost::arg<3> (*) ()) const { return base_type::a3_; }\r
+    A4 operator[] (boost::arg<4> (*) ()) const { return base_type::a4_; }\r
+    A5 operator[] (boost::arg<5> (*) ()) const { return base_type::a5_; }\r
+\r
+    template<class T> T & operator[] (_bi::value<T> & v) const { return v.get(); }\r
+\r
+    template<class T> T const & operator[] (_bi::value<T> const & v) const { return v.get(); }\r
+\r
+    template<class T> T & operator[] (reference_wrapper<T> const & v) const { return v.get(); }\r
+\r
+    template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> & b) const { return b.eval(*this); }\r
+\r
+    template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> const & b) const { return b.eval(*this); }\r
+\r
+    template<class R, class F, class A> R operator()(type<R>, F & f, A & a, long)\r
+    {\r
+        return unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_]);\r
+    }\r
+\r
+    template<class R, class F, class A> R operator()(type<R>, F const & f, A & a, long) const\r
+    {\r
+        return unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_]);\r
+    }\r
+\r
+    template<class F, class A> void operator()(type<void>, F & f, A & a, int)\r
+    {\r
+        unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_]);\r
+    }\r
+\r
+    template<class F, class A> void operator()(type<void>, F const & f, A & a, int) const\r
+    {\r
+        unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_]);\r
+    }\r
+\r
+    template<class V> void accept(V & v) const\r
+    {\r
+        base_type::accept(v);\r
+    }\r
+\r
+    bool operator==(list5 const & rhs) const\r
+    {\r
+        return\r
+\r
+            ref_compare( base_type::a1_, rhs.a1_, 0 ) &&\r
+            ref_compare( base_type::a2_, rhs.a2_, 0 ) &&\r
+            ref_compare( base_type::a3_, rhs.a3_, 0 ) &&\r
+            ref_compare( base_type::a4_, rhs.a4_, 0 ) &&\r
+            ref_compare( base_type::a5_, rhs.a5_, 0 );\r
+    }\r
+};\r
+\r
+template<class A1, class A2, class A3, class A4, class A5, class A6> class list6: private storage6< A1, A2, A3, A4, A5, A6 >\r
+{\r
+private:\r
+\r
+    typedef storage6< A1, A2, A3, A4, A5, A6 > base_type;\r
+\r
+public:\r
+\r
+    list6( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6 ): base_type( a1, a2, a3, a4, a5, a6 ) {}\r
+\r
+    A1 operator[] (boost::arg<1>) const { return base_type::a1_; }\r
+    A2 operator[] (boost::arg<2>) const { return base_type::a2_; }\r
+    A3 operator[] (boost::arg<3>) const { return base_type::a3_; }\r
+    A4 operator[] (boost::arg<4>) const { return base_type::a4_; }\r
+    A5 operator[] (boost::arg<5>) const { return base_type::a5_; }\r
+    A6 operator[] (boost::arg<6>) const { return base_type::a6_; }\r
+\r
+    A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; }\r
+    A2 operator[] (boost::arg<2> (*) ()) const { return base_type::a2_; }\r
+    A3 operator[] (boost::arg<3> (*) ()) const { return base_type::a3_; }\r
+    A4 operator[] (boost::arg<4> (*) ()) const { return base_type::a4_; }\r
+    A5 operator[] (boost::arg<5> (*) ()) const { return base_type::a5_; }\r
+    A6 operator[] (boost::arg<6> (*) ()) const { return base_type::a6_; }\r
+\r
+    template<class T> T & operator[] (_bi::value<T> & v) const { return v.get(); }\r
+\r
+    template<class T> T const & operator[] (_bi::value<T> const & v) const { return v.get(); }\r
+\r
+    template<class T> T & operator[] (reference_wrapper<T> const & v) const { return v.get(); }\r
+\r
+    template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> & b) const { return b.eval(*this); }\r
+\r
+    template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> const & b) const { return b.eval(*this); }\r
+\r
+    template<class R, class F, class A> R operator()(type<R>, F & f, A & a, long)\r
+    {\r
+        return unwrapper<F>::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_]);\r
+    }\r
+\r
+    template<class R, class F, class A> R operator()(type<R>, F const & f, A & a, long) const\r
+    {\r
+        return unwrapper<F const>::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_]);\r
+    }\r
+\r
+    template<class F, class A> void operator()(type<void>, F & f, A & a, int)\r
+    {\r
+        unwrapper<F>::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_]);\r
+    }\r
+\r
+    template<class F, class A> void operator()(type<void>, F const & f, A & a, int) const\r
+    {\r
+        unwrapper<F const>::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_]);\r
+    }\r
+\r
+    template<class V> void accept(V & v) const\r
+    {\r
+        base_type::accept(v);\r
+    }\r
+\r
+    bool operator==(list6 const & rhs) const\r
+    {\r
+        return\r
+\r
+            ref_compare( base_type::a1_, rhs.a1_, 0 ) &&\r
+            ref_compare( base_type::a2_, rhs.a2_, 0 ) &&\r
+            ref_compare( base_type::a3_, rhs.a3_, 0 ) &&\r
+            ref_compare( base_type::a4_, rhs.a4_, 0 ) &&\r
+            ref_compare( base_type::a5_, rhs.a5_, 0 ) &&\r
+            ref_compare( base_type::a6_, rhs.a6_, 0 );\r
+    }\r
+};\r
+\r
+template<class A1, class A2, class A3, class A4, class A5, class A6, class A7> class list7: private storage7< A1, A2, A3, A4, A5, A6, A7 >\r
+{\r
+private:\r
+\r
+    typedef storage7< A1, A2, A3, A4, A5, A6, A7 > base_type;\r
+\r
+public:\r
+\r
+    list7( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7 ): base_type( a1, a2, a3, a4, a5, a6, a7 ) {}\r
+\r
+    A1 operator[] (boost::arg<1>) const { return base_type::a1_; }\r
+    A2 operator[] (boost::arg<2>) const { return base_type::a2_; }\r
+    A3 operator[] (boost::arg<3>) const { return base_type::a3_; }\r
+    A4 operator[] (boost::arg<4>) const { return base_type::a4_; }\r
+    A5 operator[] (boost::arg<5>) const { return base_type::a5_; }\r
+    A6 operator[] (boost::arg<6>) const { return base_type::a6_; }\r
+    A7 operator[] (boost::arg<7>) const { return base_type::a7_; }\r
+\r
+    A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; }\r
+    A2 operator[] (boost::arg<2> (*) ()) const { return base_type::a2_; }\r
+    A3 operator[] (boost::arg<3> (*) ()) const { return base_type::a3_; }\r
+    A4 operator[] (boost::arg<4> (*) ()) const { return base_type::a4_; }\r
+    A5 operator[] (boost::arg<5> (*) ()) const { return base_type::a5_; }\r
+    A6 operator[] (boost::arg<6> (*) ()) const { return base_type::a6_; }\r
+    A7 operator[] (boost::arg<7> (*) ()) const { return base_type::a7_; }\r
+\r
+    template<class T> T & operator[] (_bi::value<T> & v) const { return v.get(); }\r
+\r
+    template<class T> T const & operator[] (_bi::value<T> const & v) const { return v.get(); }\r
+\r
+    template<class T> T & operator[] (reference_wrapper<T> const & v) const { return v.get(); }\r
+\r
+    template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> & b) const { return b.eval(*this); }\r
+\r
+    template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> const & b) const { return b.eval(*this); }\r
+\r
+    template<class R, class F, class A> R operator()(type<R>, F & f, A & a, long)\r
+    {\r
+        return unwrapper<F>::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_]);\r
+    }\r
+\r
+    template<class R, class F, class A> R operator()(type<R>, F const & f, A & a, long) const\r
+    {\r
+        return unwrapper<F const>::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_]);\r
+    }\r
+\r
+    template<class F, class A> void operator()(type<void>, F & f, A & a, int)\r
+    {\r
+        unwrapper<F>::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_]);\r
+    }\r
+\r
+    template<class F, class A> void operator()(type<void>, F const & f, A & a, int) const\r
+    {\r
+        unwrapper<F const>::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_]);\r
+    }\r
+\r
+    template<class V> void accept(V & v) const\r
+    {\r
+        base_type::accept(v);\r
+    }\r
+\r
+    bool operator==(list7 const & rhs) const\r
+    {\r
+        return\r
+\r
+            ref_compare( base_type::a1_, rhs.a1_, 0 ) &&\r
+            ref_compare( base_type::a2_, rhs.a2_, 0 ) &&\r
+            ref_compare( base_type::a3_, rhs.a3_, 0 ) &&\r
+            ref_compare( base_type::a4_, rhs.a4_, 0 ) &&\r
+            ref_compare( base_type::a5_, rhs.a5_, 0 ) &&\r
+            ref_compare( base_type::a6_, rhs.a6_, 0 ) &&\r
+            ref_compare( base_type::a7_, rhs.a7_, 0 );\r
+    }\r
+};\r
+\r
+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 >\r
+{\r
+private:\r
+\r
+    typedef storage8< A1, A2, A3, A4, A5, A6, A7, A8 > base_type;\r
+\r
+public:\r
+\r
+    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 ) {}\r
+\r
+    A1 operator[] (boost::arg<1>) const { return base_type::a1_; }\r
+    A2 operator[] (boost::arg<2>) const { return base_type::a2_; }\r
+    A3 operator[] (boost::arg<3>) const { return base_type::a3_; }\r
+    A4 operator[] (boost::arg<4>) const { return base_type::a4_; }\r
+    A5 operator[] (boost::arg<5>) const { return base_type::a5_; }\r
+    A6 operator[] (boost::arg<6>) const { return base_type::a6_; }\r
+    A7 operator[] (boost::arg<7>) const { return base_type::a7_; }\r
+    A8 operator[] (boost::arg<8>) const { return base_type::a8_; }\r
+\r
+    A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; }\r
+    A2 operator[] (boost::arg<2> (*) ()) const { return base_type::a2_; }\r
+    A3 operator[] (boost::arg<3> (*) ()) const { return base_type::a3_; }\r
+    A4 operator[] (boost::arg<4> (*) ()) const { return base_type::a4_; }\r
+    A5 operator[] (boost::arg<5> (*) ()) const { return base_type::a5_; }\r
+    A6 operator[] (boost::arg<6> (*) ()) const { return base_type::a6_; }\r
+    A7 operator[] (boost::arg<7> (*) ()) const { return base_type::a7_; }\r
+    A8 operator[] (boost::arg<8> (*) ()) const { return base_type::a8_; }\r
+\r
+    template<class T> T & operator[] (_bi::value<T> & v) const { return v.get(); }\r
+\r
+    template<class T> T const & operator[] (_bi::value<T> const & v) const { return v.get(); }\r
+\r
+    template<class T> T & operator[] (reference_wrapper<T> const & v) const { return v.get(); }\r
+\r
+    template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> & b) const { return b.eval(*this); }\r
+\r
+    template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> const & b) const { return b.eval(*this); }\r
+\r
+    template<class R, class F, class A> R operator()(type<R>, F & f, A & a, long)\r
+    {\r
+        return unwrapper<F>::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_]);\r
+    }\r
+\r
+    template<class R, class F, class A> R operator()(type<R>, F const & f, A & a, long) const\r
+    {\r
+        return unwrapper<F const>::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_]);\r
+    }\r
+\r
+    template<class F, class A> void operator()(type<void>, F & f, A & a, int)\r
+    {\r
+        unwrapper<F>::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_]);\r
+    }\r
+\r
+    template<class F, class A> void operator()(type<void>, F const & f, A & a, int) const\r
+    {\r
+        unwrapper<F const>::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_]);\r
+    }\r
+\r
+    template<class V> void accept(V & v) const\r
+    {\r
+        base_type::accept(v);\r
+    }\r
+\r
+    bool operator==(list8 const & rhs) const\r
+    {\r
+        return\r
+            \r
+            ref_compare( base_type::a1_, rhs.a1_, 0 ) &&\r
+            ref_compare( base_type::a2_, rhs.a2_, 0 ) &&\r
+            ref_compare( base_type::a3_, rhs.a3_, 0 ) &&\r
+            ref_compare( base_type::a4_, rhs.a4_, 0 ) &&\r
+            ref_compare( base_type::a5_, rhs.a5_, 0 ) &&\r
+            ref_compare( base_type::a6_, rhs.a6_, 0 ) &&\r
+            ref_compare( base_type::a7_, rhs.a7_, 0 ) &&\r
+            ref_compare( base_type::a8_, rhs.a8_, 0 );\r
+    }\r
+};\r
+\r
+template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9> class list9: private storage9< A1, A2, A3, A4, A5, A6, A7, A8, A9 >\r
+{\r
+private:\r
+\r
+    typedef storage9< A1, A2, A3, A4, A5, A6, A7, A8, A9 > base_type;\r
+\r
+public:\r
+\r
+    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 ) {}\r
+\r
+    A1 operator[] (boost::arg<1>) const { return base_type::a1_; }\r
+    A2 operator[] (boost::arg<2>) const { return base_type::a2_; }\r
+    A3 operator[] (boost::arg<3>) const { return base_type::a3_; }\r
+    A4 operator[] (boost::arg<4>) const { return base_type::a4_; }\r
+    A5 operator[] (boost::arg<5>) const { return base_type::a5_; }\r
+    A6 operator[] (boost::arg<6>) const { return base_type::a6_; }\r
+    A7 operator[] (boost::arg<7>) const { return base_type::a7_; }\r
+    A8 operator[] (boost::arg<8>) const { return base_type::a8_; }\r
+    A9 operator[] (boost::arg<9>) const { return base_type::a9_; }\r
+\r
+    A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; }\r
+    A2 operator[] (boost::arg<2> (*) ()) const { return base_type::a2_; }\r
+    A3 operator[] (boost::arg<3> (*) ()) const { return base_type::a3_; }\r
+    A4 operator[] (boost::arg<4> (*) ()) const { return base_type::a4_; }\r
+    A5 operator[] (boost::arg<5> (*) ()) const { return base_type::a5_; }\r
+    A6 operator[] (boost::arg<6> (*) ()) const { return base_type::a6_; }\r
+    A7 operator[] (boost::arg<7> (*) ()) const { return base_type::a7_; }\r
+    A8 operator[] (boost::arg<8> (*) ()) const { return base_type::a8_; }\r
+    A9 operator[] (boost::arg<9> (*) ()) const { return base_type::a9_; }\r
+\r
+    template<class T> T & operator[] (_bi::value<T> & v) const { return v.get(); }\r
+\r
+    template<class T> T const & operator[] (_bi::value<T> const & v) const { return v.get(); }\r
+\r
+    template<class T> T & operator[] (reference_wrapper<T> const & v) const { return v.get(); }\r
+\r
+    template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> & b) const { return b.eval(*this); }\r
+\r
+    template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> const & b) const { return b.eval(*this); }\r
+\r
+    template<class R, class F, class A> R operator()(type<R>, F & f, A & a, long)\r
+    {\r
+        return unwrapper<F>::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_]);\r
+    }\r
+\r
+    template<class R, class F, class A> R operator()(type<R>, F const & f, A & a, long) const\r
+    {\r
+        return unwrapper<F const>::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_]);\r
+    }\r
+\r
+    template<class F, class A> void operator()(type<void>, F & f, A & a, int)\r
+    {\r
+        unwrapper<F>::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_]);\r
+    }\r
+\r
+    template<class F, class A> void operator()(type<void>, F const & f, A & a, int) const\r
+    {\r
+        unwrapper<F const>::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_]);\r
+    }\r
+\r
+    template<class V> void accept(V & v) const\r
+    {\r
+        base_type::accept(v);\r
+    }\r
+\r
+    bool operator==(list9 const & rhs) const\r
+    {\r
+        return\r
+\r
+            ref_compare( base_type::a1_, rhs.a1_, 0 ) &&\r
+            ref_compare( base_type::a2_, rhs.a2_, 0 ) &&\r
+            ref_compare( base_type::a3_, rhs.a3_, 0 ) &&\r
+            ref_compare( base_type::a4_, rhs.a4_, 0 ) &&\r
+            ref_compare( base_type::a5_, rhs.a5_, 0 ) &&\r
+            ref_compare( base_type::a6_, rhs.a6_, 0 ) &&\r
+            ref_compare( base_type::a7_, rhs.a7_, 0 ) &&\r
+            ref_compare( base_type::a8_, rhs.a8_, 0 ) &&\r
+            ref_compare( base_type::a9_, rhs.a9_, 0 );\r
+    }\r
+};\r
+\r
+#ifdef BOOST_MSVC\r
+#pragma warning(pop)\r
+#endif\r
+\r
+// bind_t\r
+\r
+#ifndef BOOST_NO_VOID_RETURNS\r
+\r
+template<class R, class F, class L> class bind_t\r
+{\r
+public:\r
+\r
+    typedef bind_t this_type;\r
+\r
+    bind_t(F f, L const & l): f_(f), l_(l) {}\r
+\r
+#define BOOST_BIND_RETURN return\r
+#include <boost/bind/bind_template.hpp>\r
+#undef BOOST_BIND_RETURN\r
+\r
+};\r
+\r
+#else\r
+\r
+template<class R> struct bind_t_generator\r
+{\r
+\r
+template<class F, class L> class implementation\r
+{\r
+public:\r
+\r
+    typedef implementation this_type;\r
+\r
+    implementation(F f, L const & l): f_(f), l_(l) {}\r
+\r
+#define BOOST_BIND_RETURN return\r
+#include <boost/bind/bind_template.hpp>\r
+#undef BOOST_BIND_RETURN\r
+\r
+};\r
+\r
+};\r
+\r
+template<> struct bind_t_generator<void>\r
+{\r
+\r
+template<class F, class L> class implementation\r
+{\r
+private:\r
+\r
+    typedef void R;\r
+\r
+public:\r
+\r
+    typedef implementation this_type;\r
+\r
+    implementation(F f, L const & l): f_(f), l_(l) {}\r
+\r
+#define BOOST_BIND_RETURN\r
+#include <boost/bind/bind_template.hpp>\r
+#undef BOOST_BIND_RETURN\r
+\r
+};\r
+\r
+};\r
+\r
+template<class R2, class F, class L> class bind_t: public bind_t_generator<R2>::BOOST_NESTED_TEMPLATE implementation<F, L>\r
+{\r
+public:\r
+\r
+    bind_t(F f, L const & l): bind_t_generator<R2>::BOOST_NESTED_TEMPLATE implementation<F, L>(f, l) {}\r
+\r
+};\r
+\r
+#endif\r
+\r
+// function_equal\r
+\r
+#ifndef BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP\r
+\r
+// put overloads in _bi, rely on ADL\r
+\r
+# ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING\r
+\r
+template<class R, class F, class L> bool function_equal( bind_t<R, F, L> const & a, bind_t<R, F, L> const & b )\r
+{\r
+    return a.compare(b);\r
+}\r
+\r
+# else\r
+\r
+template<class R, class F, class L> bool function_equal_impl( bind_t<R, F, L> const & a, bind_t<R, F, L> const & b, int )\r
+{\r
+    return a.compare(b);\r
+}\r
+\r
+# endif // #ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING\r
+\r
+#else // BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP\r
+\r
+// put overloads in boost\r
+\r
+} // namespace _bi\r
+\r
+# ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING\r
+\r
+template<class R, class F, class L> bool function_equal( _bi::bind_t<R, F, L> const & a, _bi::bind_t<R, F, L> const & b )\r
+{\r
+    return a.compare(b);\r
+}\r
+\r
+# else\r
+\r
+template<class R, class F, class L> bool function_equal_impl( _bi::bind_t<R, F, L> const & a, _bi::bind_t<R, F, L> const & b, int )\r
+{\r
+    return a.compare(b);\r
+}\r
+\r
+# endif // #ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING\r
+\r
+namespace _bi\r
+{\r
+\r
+#endif // BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP\r
+\r
+// add_value\r
+\r
+#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) || (__SUNPRO_CC >= 0x530)\r
+\r
+#if defined( __BORLANDC__ ) && BOOST_WORKAROUND( __BORLANDC__, BOOST_TESTED_AT(0x582) )\r
+\r
+template<class T> struct add_value\r
+{\r
+    typedef _bi::value<T> type;\r
+};\r
+\r
+#else\r
+\r
+template< class T, int I > struct add_value_2\r
+{\r
+    typedef boost::arg<I> type;\r
+};\r
+\r
+template< class T > struct add_value_2< T, 0 >\r
+{\r
+    typedef _bi::value< T > type;\r
+};\r
+\r
+template<class T> struct add_value\r
+{\r
+    typedef typename add_value_2< T, boost::is_placeholder< T >::value >::type type;\r
+};\r
+\r
+#endif\r
+\r
+template<class T> struct add_value< value<T> >\r
+{\r
+    typedef _bi::value<T> type;\r
+};\r
+\r
+template<class T> struct add_value< reference_wrapper<T> >\r
+{\r
+    typedef reference_wrapper<T> type;\r
+};\r
+\r
+template<int I> struct add_value< arg<I> >\r
+{\r
+    typedef boost::arg<I> type;\r
+};\r
+\r
+template<int I> struct add_value< arg<I> (*) () >\r
+{\r
+    typedef boost::arg<I> (*type) ();\r
+};\r
+\r
+template<class R, class F, class L> struct add_value< bind_t<R, F, L> >\r
+{\r
+    typedef bind_t<R, F, L> type;\r
+};\r
+\r
+#else\r
+\r
+template<int I> struct _avt_0;\r
+\r
+template<> struct _avt_0<1>\r
+{\r
+    template<class T> struct inner\r
+    {\r
+        typedef T type;\r
+    };\r
+};\r
+\r
+template<> struct _avt_0<2>\r
+{\r
+    template<class T> struct inner\r
+    {\r
+        typedef value<T> type;\r
+    };\r
+};\r
+\r
+typedef char (&_avt_r1) [1];\r
+typedef char (&_avt_r2) [2];\r
+\r
+template<class T> _avt_r1 _avt_f(value<T>);\r
+template<class T> _avt_r1 _avt_f(reference_wrapper<T>);\r
+template<int I> _avt_r1 _avt_f(arg<I>);\r
+template<int I> _avt_r1 _avt_f(arg<I> (*) ());\r
+template<class R, class F, class L> _avt_r1 _avt_f(bind_t<R, F, L>);\r
+\r
+_avt_r2 _avt_f(...);\r
+\r
+template<class T> struct add_value\r
+{\r
+    static T t();\r
+    typedef typename _avt_0<sizeof(_avt_f(t()))>::template inner<T>::type type;\r
+};\r
+\r
+#endif\r
+\r
+// list_av_N\r
+\r
+template<class A1> struct list_av_1\r
+{\r
+    typedef typename add_value<A1>::type B1;\r
+    typedef list1<B1> type;\r
+};\r
+\r
+template<class A1, class A2> struct list_av_2\r
+{\r
+    typedef typename add_value<A1>::type B1;\r
+    typedef typename add_value<A2>::type B2;\r
+    typedef list2<B1, B2> type;\r
+};\r
+\r
+template<class A1, class A2, class A3> struct list_av_3\r
+{\r
+    typedef typename add_value<A1>::type B1;\r
+    typedef typename add_value<A2>::type B2;\r
+    typedef typename add_value<A3>::type B3;\r
+    typedef list3<B1, B2, B3> type;\r
+};\r
+\r
+template<class A1, class A2, class A3, class A4> struct list_av_4\r
+{\r
+    typedef typename add_value<A1>::type B1;\r
+    typedef typename add_value<A2>::type B2;\r
+    typedef typename add_value<A3>::type B3;\r
+    typedef typename add_value<A4>::type B4;\r
+    typedef list4<B1, B2, B3, B4> type;\r
+};\r
+\r
+template<class A1, class A2, class A3, class A4, class A5> struct list_av_5\r
+{\r
+    typedef typename add_value<A1>::type B1;\r
+    typedef typename add_value<A2>::type B2;\r
+    typedef typename add_value<A3>::type B3;\r
+    typedef typename add_value<A4>::type B4;\r
+    typedef typename add_value<A5>::type B5;\r
+    typedef list5<B1, B2, B3, B4, B5> type;\r
+};\r
+\r
+template<class A1, class A2, class A3, class A4, class A5, class A6> struct list_av_6\r
+{\r
+    typedef typename add_value<A1>::type B1;\r
+    typedef typename add_value<A2>::type B2;\r
+    typedef typename add_value<A3>::type B3;\r
+    typedef typename add_value<A4>::type B4;\r
+    typedef typename add_value<A5>::type B5;\r
+    typedef typename add_value<A6>::type B6;\r
+    typedef list6<B1, B2, B3, B4, B5, B6> type;\r
+};\r
+\r
+template<class A1, class A2, class A3, class A4, class A5, class A6, class A7> struct list_av_7\r
+{\r
+    typedef typename add_value<A1>::type B1;\r
+    typedef typename add_value<A2>::type B2;\r
+    typedef typename add_value<A3>::type B3;\r
+    typedef typename add_value<A4>::type B4;\r
+    typedef typename add_value<A5>::type B5;\r
+    typedef typename add_value<A6>::type B6;\r
+    typedef typename add_value<A7>::type B7;\r
+    typedef list7<B1, B2, B3, B4, B5, B6, B7> type;\r
+};\r
+\r
+template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8> struct list_av_8\r
+{\r
+    typedef typename add_value<A1>::type B1;\r
+    typedef typename add_value<A2>::type B2;\r
+    typedef typename add_value<A3>::type B3;\r
+    typedef typename add_value<A4>::type B4;\r
+    typedef typename add_value<A5>::type B5;\r
+    typedef typename add_value<A6>::type B6;\r
+    typedef typename add_value<A7>::type B7;\r
+    typedef typename add_value<A8>::type B8;\r
+    typedef list8<B1, B2, B3, B4, B5, B6, B7, B8> type;\r
+};\r
+\r
+template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9> struct list_av_9\r
+{\r
+    typedef typename add_value<A1>::type B1;\r
+    typedef typename add_value<A2>::type B2;\r
+    typedef typename add_value<A3>::type B3;\r
+    typedef typename add_value<A4>::type B4;\r
+    typedef typename add_value<A5>::type B5;\r
+    typedef typename add_value<A6>::type B6;\r
+    typedef typename add_value<A7>::type B7;\r
+    typedef typename add_value<A8>::type B8;\r
+    typedef typename add_value<A9>::type B9;\r
+    typedef list9<B1, B2, B3, B4, B5, B6, B7, B8, B9> type;\r
+};\r
+\r
+// operator!\r
+\r
+struct logical_not\r
+{\r
+    template<class V> bool operator()(V const & v) const { return !v; }\r
+};\r
+\r
+template<class R, class F, class L>\r
+    bind_t< bool, logical_not, list1< bind_t<R, F, L> > >\r
+    operator! (bind_t<R, F, L> const & f)\r
+{\r
+    typedef list1< bind_t<R, F, L> > list_type;\r
+    return bind_t<bool, logical_not, list_type> ( logical_not(), list_type(f) );\r
+}\r
+\r
+// relational operators\r
+\r
+#define BOOST_BIND_OPERATOR( op, name ) \\r
+\\r
+struct name \\r
+{ \\r
+    template<class V, class W> bool operator()(V const & v, W const & w) const { return v op w; } \\r
+}; \\r
+ \\r
+template<class R, class F, class L, class A2> \\r
+    bind_t< bool, name, list2< bind_t<R, F, L>, typename add_value<A2>::type > > \\r
+    operator op (bind_t<R, F, L> const & f, A2 a2) \\r
+{ \\r
+    typedef typename add_value<A2>::type B2; \\r
+    typedef list2< bind_t<R, F, L>, B2> list_type; \\r
+    return bind_t<bool, name, list_type> ( name(), list_type(f, a2) ); \\r
+}\r
+\r
+BOOST_BIND_OPERATOR( ==, equal )\r
+BOOST_BIND_OPERATOR( !=, not_equal )\r
+\r
+BOOST_BIND_OPERATOR( <, less )\r
+BOOST_BIND_OPERATOR( <=, less_equal )\r
+\r
+BOOST_BIND_OPERATOR( >, greater )\r
+BOOST_BIND_OPERATOR( >=, greater_equal )\r
+\r
+BOOST_BIND_OPERATOR( &&, logical_and )\r
+BOOST_BIND_OPERATOR( ||, logical_or )\r
+\r
+#undef BOOST_BIND_OPERATOR\r
+\r
+#if defined(__GNUC__) && BOOST_WORKAROUND(__GNUC__, < 3)\r
+\r
+// resolve ambiguity with rel_ops\r
+\r
+#define BOOST_BIND_OPERATOR( op, name ) \\r
+\\r
+template<class R, class F, class L> \\r
+    bind_t< bool, name, list2< bind_t<R, F, L>, bind_t<R, F, L> > > \\r
+    operator op (bind_t<R, F, L> const & f, bind_t<R, F, L> const & g) \\r
+{ \\r
+    typedef list2< bind_t<R, F, L>, bind_t<R, F, L> > list_type; \\r
+    return bind_t<bool, name, list_type> ( name(), list_type(f, g) ); \\r
+}\r
+\r
+BOOST_BIND_OPERATOR( !=, not_equal )\r
+BOOST_BIND_OPERATOR( <=, less_equal )\r
+BOOST_BIND_OPERATOR( >, greater )\r
+BOOST_BIND_OPERATOR( >=, greater_equal )\r
+\r
+#endif\r
+\r
+// visit_each, ADL\r
+\r
+#if !defined( BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP ) && !defined( __BORLANDC__ ) \\r
+   && !(defined(__GNUC__) && __GNUC__ == 3 && __GNUC_MINOR__ <= 3)\r
+\r
+template<class V, class T> void visit_each( V & v, value<T> const & t, int )\r
+{\r
+    using boost::visit_each;\r
+    BOOST_BIND_VISIT_EACH( v, t.get(), 0 );\r
+}\r
+\r
+template<class V, class R, class F, class L> void visit_each( V & v, bind_t<R, F, L> const & t, int )\r
+{\r
+    t.accept( v );\r
+}\r
+\r
+#endif\r
+\r
+} // namespace _bi\r
+\r
+// visit_each, no ADL\r
+\r
+#if defined( BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP ) || defined( __BORLANDC__ ) \\r
+  || (defined(__GNUC__) && __GNUC__ == 3 && __GNUC_MINOR__ <= 3)\r
+\r
+template<class V, class T> void visit_each( V & v, _bi::value<T> const & t, int )\r
+{\r
+    BOOST_BIND_VISIT_EACH( v, t.get(), 0 );\r
+}\r
+\r
+template<class V, class R, class F, class L> void visit_each( V & v, _bi::bind_t<R, F, L> const & t, int )\r
+{\r
+    t.accept( v );\r
+}\r
+\r
+#endif\r
+\r
+// is_bind_expression\r
+\r
+template< class T > struct is_bind_expression\r
+{\r
+    enum _vt { value = 0 };\r
+};\r
+\r
+#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )\r
+\r
+template< class R, class F, class L > struct is_bind_expression< _bi::bind_t< R, F, L > >\r
+{\r
+    enum _vt { value = 1 };\r
+};\r
+\r
+#endif\r
+\r
+// bind\r
+\r
+#ifndef BOOST_BIND\r
+#define BOOST_BIND bind\r
+#endif\r
+\r
+// generic function objects\r
+\r
+template<class R, class F>\r
+    _bi::bind_t<R, F, _bi::list0>\r
+    BOOST_BIND(F f)\r
+{\r
+    typedef _bi::list0 list_type;\r
+    return _bi::bind_t<R, F, list_type> (f, list_type());\r
+}\r
+\r
+template<class R, class F, class A1>\r
+    _bi::bind_t<R, F, typename _bi::list_av_1<A1>::type>\r
+    BOOST_BIND(F f, A1 a1)\r
+{\r
+    typedef typename _bi::list_av_1<A1>::type list_type;\r
+    return _bi::bind_t<R, F, list_type> (f, list_type(a1));\r
+}\r
+\r
+template<class R, class F, class A1, class A2>\r
+    _bi::bind_t<R, F, typename _bi::list_av_2<A1, A2>::type>\r
+    BOOST_BIND(F f, A1 a1, A2 a2)\r
+{\r
+    typedef typename _bi::list_av_2<A1, A2>::type list_type;\r
+    return _bi::bind_t<R, F, list_type> (f, list_type(a1, a2));\r
+}\r
+\r
+template<class R, class F, class A1, class A2, class A3>\r
+    _bi::bind_t<R, F, typename _bi::list_av_3<A1, A2, A3>::type>\r
+    BOOST_BIND(F f, A1 a1, A2 a2, A3 a3)\r
+{\r
+    typedef typename _bi::list_av_3<A1, A2, A3>::type list_type;\r
+    return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3));\r
+}\r
+\r
+template<class R, class F, class A1, class A2, class A3, class A4>\r
+    _bi::bind_t<R, F, typename _bi::list_av_4<A1, A2, A3, A4>::type>\r
+    BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4)\r
+{\r
+    typedef typename _bi::list_av_4<A1, A2, A3, A4>::type list_type;\r
+    return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4));\r
+}\r
+\r
+template<class R, class F, class A1, class A2, class A3, class A4, class A5>\r
+    _bi::bind_t<R, F, typename _bi::list_av_5<A1, A2, A3, A4, A5>::type>\r
+    BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5)\r
+{\r
+    typedef typename _bi::list_av_5<A1, A2, A3, A4, A5>::type list_type;\r
+    return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5));\r
+}\r
+\r
+template<class R, class F, class A1, class A2, class A3, class A4, class A5, class A6>\r
+    _bi::bind_t<R, F, typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type>\r
+    BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6)\r
+{\r
+    typedef typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type list_type;\r
+    return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6));\r
+}\r
+\r
+template<class R, class F, class A1, class A2, class A3, class A4, class A5, class A6, class A7>\r
+    _bi::bind_t<R, F, typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type>\r
+    BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7)\r
+{\r
+    typedef typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type list_type;\r
+    return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7));\r
+}\r
+\r
+template<class R, class F, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8>\r
+    _bi::bind_t<R, F, typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type>\r
+    BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8)\r
+{\r
+    typedef typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type list_type;\r
+    return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7, a8));\r
+}\r
+\r
+template<class R, class F, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9>\r
+    _bi::bind_t<R, F, typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type>\r
+    BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9)\r
+{\r
+    typedef typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type list_type;\r
+    return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9));\r
+}\r
+\r
+// generic function objects, alternative syntax\r
+\r
+template<class R, class F>\r
+    _bi::bind_t<R, F, _bi::list0>\r
+    BOOST_BIND(boost::type<R>, F f)\r
+{\r
+    typedef _bi::list0 list_type;\r
+    return _bi::bind_t<R, F, list_type> (f, list_type());\r
+}\r
+\r
+template<class R, class F, class A1>\r
+    _bi::bind_t<R, F, typename _bi::list_av_1<A1>::type>\r
+    BOOST_BIND(boost::type<R>, F f, A1 a1)\r
+{\r
+    typedef typename _bi::list_av_1<A1>::type list_type;\r
+    return _bi::bind_t<R, F, list_type> (f, list_type(a1));\r
+}\r
+\r
+template<class R, class F, class A1, class A2>\r
+    _bi::bind_t<R, F, typename _bi::list_av_2<A1, A2>::type>\r
+    BOOST_BIND(boost::type<R>, F f, A1 a1, A2 a2)\r
+{\r
+    typedef typename _bi::list_av_2<A1, A2>::type list_type;\r
+    return _bi::bind_t<R, F, list_type> (f, list_type(a1, a2));\r
+}\r
+\r
+template<class R, class F, class A1, class A2, class A3>\r
+    _bi::bind_t<R, F, typename _bi::list_av_3<A1, A2, A3>::type>\r
+    BOOST_BIND(boost::type<R>, F f, A1 a1, A2 a2, A3 a3)\r
+{\r
+    typedef typename _bi::list_av_3<A1, A2, A3>::type list_type;\r
+    return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3));\r
+}\r
+\r
+template<class R, class F, class A1, class A2, class A3, class A4>\r
+    _bi::bind_t<R, F, typename _bi::list_av_4<A1, A2, A3, A4>::type>\r
+    BOOST_BIND(boost::type<R>, F f, A1 a1, A2 a2, A3 a3, A4 a4)\r
+{\r
+    typedef typename _bi::list_av_4<A1, A2, A3, A4>::type list_type;\r
+    return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4));\r
+}\r
+\r
+template<class R, class F, class A1, class A2, class A3, class A4, class A5>\r
+    _bi::bind_t<R, F, typename _bi::list_av_5<A1, A2, A3, A4, A5>::type>\r
+    BOOST_BIND(boost::type<R>, F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5)\r
+{\r
+    typedef typename _bi::list_av_5<A1, A2, A3, A4, A5>::type list_type;\r
+    return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5));\r
+}\r
+\r
+template<class R, class F, class A1, class A2, class A3, class A4, class A5, class A6>\r
+    _bi::bind_t<R, F, typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type>\r
+    BOOST_BIND(boost::type<R>, F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6)\r
+{\r
+    typedef typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type list_type;\r
+    return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6));\r
+}\r
+\r
+template<class R, class F, class A1, class A2, class A3, class A4, class A5, class A6, class A7>\r
+    _bi::bind_t<R, F, typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type>\r
+    BOOST_BIND(boost::type<R>, F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7)\r
+{\r
+    typedef typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type list_type;\r
+    return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7));\r
+}\r
+\r
+template<class R, class F, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8>\r
+    _bi::bind_t<R, F, typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type>\r
+    BOOST_BIND(boost::type<R>, F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8)\r
+{\r
+    typedef typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type list_type;\r
+    return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7, a8));\r
+}\r
+\r
+template<class R, class F, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9>\r
+    _bi::bind_t<R, F, typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type>\r
+    BOOST_BIND(boost::type<R>, F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9)\r
+{\r
+    typedef typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type list_type;\r
+    return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9));\r
+}\r
+\r
+#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING)\r
+\r
+// adaptable function objects\r
+\r
+template<class F>\r
+    _bi::bind_t<_bi::unspecified, F, _bi::list0>\r
+    BOOST_BIND(F f)\r
+{\r
+    typedef _bi::list0 list_type;\r
+    return _bi::bind_t<_bi::unspecified, F, list_type> (f, list_type());\r
+}\r
+\r
+template<class F, class A1>\r
+    _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_1<A1>::type>\r
+    BOOST_BIND(F f, A1 a1)\r
+{\r
+    typedef typename _bi::list_av_1<A1>::type list_type;\r
+    return _bi::bind_t<_bi::unspecified, F, list_type> (f, list_type(a1));\r
+}\r
+\r
+template<class F, class A1, class A2>\r
+    _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_2<A1, A2>::type>\r
+    BOOST_BIND(F f, A1 a1, A2 a2)\r
+{\r
+    typedef typename _bi::list_av_2<A1, A2>::type list_type;\r
+    return _bi::bind_t<_bi::unspecified, F, list_type> (f, list_type(a1, a2));\r
+}\r
+\r
+template<class F, class A1, class A2, class A3>\r
+    _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_3<A1, A2, A3>::type>\r
+    BOOST_BIND(F f, A1 a1, A2 a2, A3 a3)\r
+{\r
+    typedef typename _bi::list_av_3<A1, A2, A3>::type list_type;\r
+    return _bi::bind_t<_bi::unspecified, F, list_type>(f, list_type(a1, a2, a3));\r
+}\r
+\r
+template<class F, class A1, class A2, class A3, class A4>\r
+    _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_4<A1, A2, A3, A4>::type>\r
+    BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4)\r
+{\r
+    typedef typename _bi::list_av_4<A1, A2, A3, A4>::type list_type;\r
+    return _bi::bind_t<_bi::unspecified, F, list_type>(f, list_type(a1, a2, a3, a4));\r
+}\r
+\r
+template<class F, class A1, class A2, class A3, class A4, class A5>\r
+    _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_5<A1, A2, A3, A4, A5>::type>\r
+    BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5)\r
+{\r
+    typedef typename _bi::list_av_5<A1, A2, A3, A4, A5>::type list_type;\r
+    return _bi::bind_t<_bi::unspecified, F, list_type>(f, list_type(a1, a2, a3, a4, a5));\r
+}\r
+\r
+template<class F, class A1, class A2, class A3, class A4, class A5, class A6>\r
+    _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type>\r
+    BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6)\r
+{\r
+    typedef typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type list_type;\r
+    return _bi::bind_t<_bi::unspecified, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6));\r
+}\r
+\r
+template<class F, class A1, class A2, class A3, class A4, class A5, class A6, class A7>\r
+    _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type>\r
+    BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7)\r
+{\r
+    typedef typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type list_type;\r
+    return _bi::bind_t<_bi::unspecified, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7));\r
+}\r
+\r
+template<class F, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8>\r
+    _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type>\r
+    BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8)\r
+{\r
+    typedef typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type list_type;\r
+    return _bi::bind_t<_bi::unspecified, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7, a8));\r
+}\r
+\r
+template<class F, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9>\r
+    _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type>\r
+    BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9)\r
+{\r
+    typedef typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type list_type;\r
+    return _bi::bind_t<_bi::unspecified, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9));\r
+}\r
+\r
+#endif // !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING)\r
+\r
+// function pointers\r
+\r
+#define BOOST_BIND_CC\r
+#define BOOST_BIND_ST\r
+\r
+#include <boost/bind/bind_cc.hpp>\r
+\r
+#undef BOOST_BIND_CC\r
+#undef BOOST_BIND_ST\r
+\r
+#ifdef BOOST_BIND_ENABLE_STDCALL\r
+\r
+#define BOOST_BIND_CC __stdcall\r
+#define BOOST_BIND_ST\r
+\r
+#include <boost/bind/bind_cc.hpp>\r
+\r
+#undef BOOST_BIND_CC\r
+#undef BOOST_BIND_ST\r
+\r
+#endif\r
+\r
+#ifdef BOOST_BIND_ENABLE_FASTCALL\r
+\r
+#define BOOST_BIND_CC __fastcall\r
+#define BOOST_BIND_ST\r
+\r
+#include <boost/bind/bind_cc.hpp>\r
+\r
+#undef BOOST_BIND_CC\r
+#undef BOOST_BIND_ST\r
+\r
+#endif\r
+\r
+#ifdef BOOST_BIND_ENABLE_PASCAL\r
+\r
+#define BOOST_BIND_ST pascal\r
+#define BOOST_BIND_CC\r
+\r
+#include <boost/bind/bind_cc.hpp>\r
+\r
+#undef BOOST_BIND_ST\r
+#undef BOOST_BIND_CC\r
+\r
+#endif\r
+\r
+// member function pointers\r
+\r
+#define BOOST_BIND_MF_NAME(X) X\r
+#define BOOST_BIND_MF_CC\r
+\r
+#include <boost/bind/bind_mf_cc.hpp>\r
+#include <boost/bind/bind_mf2_cc.hpp>\r
+\r
+#undef BOOST_BIND_MF_NAME\r
+#undef BOOST_BIND_MF_CC\r
+\r
+#ifdef BOOST_MEM_FN_ENABLE_CDECL\r
+\r
+#define BOOST_BIND_MF_NAME(X) X##_cdecl\r
+#define BOOST_BIND_MF_CC __cdecl\r
+\r
+#include <boost/bind/bind_mf_cc.hpp>\r
+#include <boost/bind/bind_mf2_cc.hpp>\r
+\r
+#undef BOOST_BIND_MF_NAME\r
+#undef BOOST_BIND_MF_CC\r
+\r
+#endif\r
+\r
+#ifdef BOOST_MEM_FN_ENABLE_STDCALL\r
+\r
+#define BOOST_BIND_MF_NAME(X) X##_stdcall\r
+#define BOOST_BIND_MF_CC __stdcall\r
+\r
+#include <boost/bind/bind_mf_cc.hpp>\r
+#include <boost/bind/bind_mf2_cc.hpp>\r
+\r
+#undef BOOST_BIND_MF_NAME\r
+#undef BOOST_BIND_MF_CC\r
+\r
+#endif\r
+\r
+#ifdef BOOST_MEM_FN_ENABLE_FASTCALL\r
+\r
+#define BOOST_BIND_MF_NAME(X) X##_fastcall\r
+#define BOOST_BIND_MF_CC __fastcall\r
+\r
+#include <boost/bind/bind_mf_cc.hpp>\r
+#include <boost/bind/bind_mf2_cc.hpp>\r
+\r
+#undef BOOST_BIND_MF_NAME\r
+#undef BOOST_BIND_MF_CC\r
+\r
+#endif\r
+\r
+// data member pointers\r
+\r
+#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) || defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \\r
+    || ( defined(__BORLANDC__) && BOOST_WORKAROUND( __BORLANDC__, BOOST_TESTED_AT( 0x620 ) ) )\r
+\r
+template<class R, class T, class A1>\r
+_bi::bind_t< R, _mfi::dm<R, T>, typename _bi::list_av_1<A1>::type >\r
+    BOOST_BIND(R T::*f, A1 a1)\r
+{\r
+    typedef _mfi::dm<R, T> F;\r
+    typedef typename _bi::list_av_1<A1>::type list_type;\r
+    return _bi::bind_t<R, F, list_type>( F(f), list_type(a1) );\r
+}\r
+\r
+#else\r
+\r
+namespace _bi\r
+{\r
+\r
+template< class Pm, int I > struct add_cref;\r
+\r
+template< class M, class T > struct add_cref< M T::*, 0 >\r
+{\r
+    typedef M type;\r
+};\r
+\r
+template< class M, class T > struct add_cref< M T::*, 1 >\r
+{\r
+#ifdef BOOST_MSVC\r
+#pragma warning(push)\r
+#pragma warning(disable:4180)\r
+#endif\r
+    typedef M const & type;\r
+#ifdef BOOST_MSVC\r
+#pragma warning(pop)\r
+#endif\r
+};\r
+\r
+template< class R, class T > struct add_cref< R (T::*) (), 1 >\r
+{\r
+    typedef void type;\r
+};\r
+\r
+#if !( defined(__IBMCPP__) && BOOST_WORKAROUND( __IBMCPP__, BOOST_TESTED_AT(600) ) )\r
+\r
+template< class R, class T > struct add_cref< R (T::*) () const, 1 >\r
+{\r
+    typedef void type;\r
+};\r
+\r
+#endif // __IBMCPP__\r
+\r
+template<class R> struct isref\r
+{\r
+    enum value_type { value = 0 };\r
+};\r
+\r
+template<class R> struct isref< R& >\r
+{\r
+    enum value_type { value = 1 };\r
+};\r
+\r
+template<class R> struct isref< R* >\r
+{\r
+    enum value_type { value = 1 };\r
+};\r
+\r
+template<class Pm, class A1> struct dm_result\r
+{\r
+    typedef typename add_cref< Pm, 1 >::type type;\r
+};\r
+\r
+template<class Pm, class R, class F, class L> struct dm_result< Pm, bind_t<R, F, L> >\r
+{\r
+    typedef typename bind_t<R, F, L>::result_type result_type;\r
+    typedef typename add_cref< Pm, isref< result_type >::value >::type type;\r
+};\r
+\r
+} // namespace _bi\r
+\r
+template< class A1, class M, class T >\r
+\r
+_bi::bind_t<\r
+    typename _bi::dm_result< M T::*, A1 >::type,\r
+    _mfi::dm<M, T>,\r
+    typename _bi::list_av_1<A1>::type\r
+>\r
+\r
+BOOST_BIND( M T::*f, A1 a1 )\r
+{\r
+    typedef typename _bi::dm_result< M T::*, A1 >::type result_type;\r
+    typedef _mfi::dm<M, T> F;\r
+    typedef typename _bi::list_av_1<A1>::type list_type;\r
+    return _bi::bind_t< result_type, F, list_type >( F( f ), list_type( a1 ) );\r
+}\r
+\r
+#endif\r
+\r
+} // namespace boost\r
+\r
+#ifndef BOOST_BIND_NO_PLACEHOLDERS\r
+\r
+# include <boost/bind/placeholders.hpp>\r
+\r
+#endif\r
+\r
+#ifdef BOOST_MSVC\r
+# pragma warning(default: 4512) // assignment operator could not be generated\r
+# pragma warning(pop)\r
+#endif\r
+\r
+#endif // #ifndef BOOST_BIND_BIND_HPP_INCLUDED\r
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 (file)
index 0000000..9d8ca21
--- /dev/null
@@ -0,0 +1,117 @@
+//\r
+//  bind/bind_cc.hpp - support for different calling conventions\r
+//\r
+//  Do not include this header directly.\r
+//\r
+//  Copyright (c) 2001 Peter Dimov and Multi Media Ltd.\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. (See\r
+// accompanying file LICENSE_1_0.txt or copy at\r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+//  See http://www.boost.org/libs/bind/bind.html for documentation.\r
+//\r
+\r
+template<class R>\r
+    _bi::bind_t<R, BOOST_BIND_ST R (BOOST_BIND_CC *) (), _bi::list0>\r
+    BOOST_BIND(BOOST_BIND_ST R (BOOST_BIND_CC *f) ())\r
+{\r
+    typedef BOOST_BIND_ST R (BOOST_BIND_CC *F) ();\r
+    typedef _bi::list0 list_type;\r
+    return _bi::bind_t<R, F, list_type> (f, list_type());\r
+}\r
+\r
+template<class R, class B1, class A1>\r
+    _bi::bind_t<R, BOOST_BIND_ST R (BOOST_BIND_CC *) (B1), typename _bi::list_av_1<A1>::type>\r
+    BOOST_BIND(BOOST_BIND_ST R (BOOST_BIND_CC *f) (B1), A1 a1)\r
+{\r
+    typedef BOOST_BIND_ST R (BOOST_BIND_CC *F) (B1);\r
+    typedef typename _bi::list_av_1<A1>::type list_type;\r
+    return _bi::bind_t<R, F, list_type> (f, list_type(a1));\r
+}\r
+\r
+template<class R, class B1, class B2, class A1, class A2>\r
+    _bi::bind_t<R, BOOST_BIND_ST R (BOOST_BIND_CC *) (B1, B2), typename _bi::list_av_2<A1, A2>::type>\r
+    BOOST_BIND(BOOST_BIND_ST R (BOOST_BIND_CC *f) (B1, B2), A1 a1, A2 a2)\r
+{\r
+    typedef BOOST_BIND_ST R (BOOST_BIND_CC *F) (B1, B2);\r
+    typedef typename _bi::list_av_2<A1, A2>::type list_type;\r
+    return _bi::bind_t<R, F, list_type> (f, list_type(a1, a2));\r
+}\r
+\r
+template<class R,\r
+    class B1, class B2, class B3,\r
+    class A1, class A2, class A3>\r
+    _bi::bind_t<R, BOOST_BIND_ST R (BOOST_BIND_CC *) (B1, B2, B3), typename _bi::list_av_3<A1, A2, A3>::type>\r
+    BOOST_BIND(BOOST_BIND_ST R (BOOST_BIND_CC *f) (B1, B2, B3), A1 a1, A2 a2, A3 a3)\r
+{\r
+    typedef BOOST_BIND_ST R (BOOST_BIND_CC *F) (B1, B2, B3);\r
+    typedef typename _bi::list_av_3<A1, A2, A3>::type list_type;\r
+    return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3));\r
+}\r
+\r
+template<class R,\r
+    class B1, class B2, class B3, class B4,\r
+    class A1, class A2, class A3, class A4>\r
+    _bi::bind_t<R, BOOST_BIND_ST R (BOOST_BIND_CC *) (B1, B2, B3, B4), typename _bi::list_av_4<A1, A2, A3, A4>::type>\r
+    BOOST_BIND(BOOST_BIND_ST R (BOOST_BIND_CC *f) (B1, B2, B3, B4), A1 a1, A2 a2, A3 a3, A4 a4)\r
+{\r
+    typedef BOOST_BIND_ST R (BOOST_BIND_CC *F) (B1, B2, B3, B4);\r
+    typedef typename _bi::list_av_4<A1, A2, A3, A4>::type list_type;\r
+    return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4));\r
+}\r
+\r
+template<class R,\r
+    class B1, class B2, class B3, class B4, class B5,\r
+    class A1, class A2, class A3, class A4, class A5>\r
+    _bi::bind_t<R, BOOST_BIND_ST R (BOOST_BIND_CC *) (B1, B2, B3, B4, B5), typename _bi::list_av_5<A1, A2, A3, A4, A5>::type>\r
+    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)\r
+{\r
+    typedef BOOST_BIND_ST R (BOOST_BIND_CC *F) (B1, B2, B3, B4, B5);\r
+    typedef typename _bi::list_av_5<A1, A2, A3, A4, A5>::type list_type;\r
+    return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5));\r
+}\r
+\r
+template<class R,\r
+    class B1, class B2, class B3, class B4, class B5, class B6,\r
+    class A1, class A2, class A3, class A4, class A5, class A6>\r
+    _bi::bind_t<R, BOOST_BIND_ST R (BOOST_BIND_CC *) (B1, B2, B3, B4, B5, B6), typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type>\r
+    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)\r
+{\r
+    typedef BOOST_BIND_ST R (BOOST_BIND_CC *F) (B1, B2, B3, B4, B5, B6);\r
+    typedef typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type list_type;\r
+    return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6));\r
+}\r
+\r
+template<class R,\r
+    class B1, class B2, class B3, class B4, class B5, class B6, class B7,\r
+    class A1, class A2, class A3, class A4, class A5, class A6, class A7>\r
+    _bi::bind_t<R, BOOST_BIND_ST R (BOOST_BIND_CC *) (B1, B2, B3, B4, B5, B6, B7), typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type>\r
+    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)\r
+{\r
+    typedef BOOST_BIND_ST R (BOOST_BIND_CC *F) (B1, B2, B3, B4, B5, B6, B7);\r
+    typedef typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type list_type;\r
+    return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7));\r
+}\r
+\r
+template<class R,\r
+    class B1, class B2, class B3, class B4, class B5, class B6, class B7, class B8,\r
+    class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8>\r
+    _bi::bind_t<R, BOOST_BIND_ST R (BOOST_BIND_CC *) (B1, B2, B3, B4, B5, B6, B7, B8), typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type>\r
+    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)\r
+{\r
+    typedef BOOST_BIND_ST R (BOOST_BIND_CC *F) (B1, B2, B3, B4, B5, B6, B7, B8);\r
+    typedef typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type list_type;\r
+    return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7, a8));\r
+}\r
+\r
+template<class R,\r
+    class B1, class B2, class B3, class B4, class B5, class B6, class B7, class B8, class B9,\r
+    class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9>\r
+    _bi::bind_t<R, BOOST_BIND_ST R (BOOST_BIND_CC *) (B1, B2, B3, B4, B5, B6, B7, B8, B9), typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type>\r
+    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)\r
+{\r
+    typedef BOOST_BIND_ST R (BOOST_BIND_CC *F) (B1, B2, B3, B4, B5, B6, B7, B8, B9);\r
+    typedef typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type list_type;\r
+    return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9));\r
+}\r
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 (file)
index 0000000..f3b90c9
--- /dev/null
@@ -0,0 +1,228 @@
+//\r
+//  bind/bind_mf2_cc.hpp - member functions, type<> syntax\r
+//\r
+//  Do not include this header directly.\r
+//\r
+//  Copyright (c) 2001 Peter Dimov and Multi Media Ltd.\r
+//  Copyright (c) 2008 Peter Dimov\r
+//\r
+//  Distributed under the Boost Software License, Version 1.0.\r
+//  See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt\r
+//\r
+//  See http://www.boost.org/libs/bind/bind.html for documentation.\r
+//\r
+\r
+// 0\r
+\r
+template<class Rt2, class R, class T,\r
+    class A1>\r
+    _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(mf0)<R, T>, typename _bi::list_av_1<A1>::type>\r
+    BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (), A1 a1)\r
+{\r
+    typedef _mfi::BOOST_BIND_MF_NAME(mf0)<R, T> F;\r
+    typedef typename _bi::list_av_1<A1>::type list_type;\r
+    return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1));\r
+}\r
+\r
+template<class Rt2, class R, class T,\r
+    class A1>\r
+    _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(cmf0)<R, T>, typename _bi::list_av_1<A1>::type>\r
+    BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) () const, A1 a1)\r
+{\r
+    typedef _mfi::BOOST_BIND_MF_NAME(cmf0)<R, T> F;\r
+    typedef typename _bi::list_av_1<A1>::type list_type;\r
+    return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1));\r
+}\r
+\r
+// 1\r
+\r
+template<class Rt2, class R, class T,\r
+    class B1,\r
+    class A1, class A2>\r
+    _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(mf1)<R, T, B1>, typename _bi::list_av_2<A1, A2>::type>\r
+    BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1), A1 a1, A2 a2)\r
+{\r
+    typedef _mfi::BOOST_BIND_MF_NAME(mf1)<R, T, B1> F;\r
+    typedef typename _bi::list_av_2<A1, A2>::type list_type;\r
+    return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2));\r
+}\r
+\r
+template<class Rt2, class R, class T,\r
+    class B1,\r
+    class A1, class A2>\r
+    _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(cmf1)<R, T, B1>, typename _bi::list_av_2<A1, A2>::type>\r
+    BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1) const, A1 a1, A2 a2)\r
+{\r
+    typedef _mfi::BOOST_BIND_MF_NAME(cmf1)<R, T, B1> F;\r
+    typedef typename _bi::list_av_2<A1, A2>::type list_type;\r
+    return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2));\r
+}\r
+\r
+// 2\r
+\r
+template<class Rt2, class R, class T,\r
+    class B1, class B2,\r
+    class A1, class A2, class A3>\r
+    _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(mf2)<R, T, B1, B2>, typename _bi::list_av_3<A1, A2, A3>::type>\r
+    BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1, B2), A1 a1, A2 a2, A3 a3)\r
+{\r
+    typedef _mfi::BOOST_BIND_MF_NAME(mf2)<R, T, B1, B2> F;\r
+    typedef typename _bi::list_av_3<A1, A2, A3>::type list_type;\r
+    return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3));\r
+}\r
+\r
+template<class Rt2, class R, class T,\r
+    class B1, class B2,\r
+    class A1, class A2, class A3>\r
+    _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(cmf2)<R, T, B1, B2>, typename _bi::list_av_3<A1, A2, A3>::type>\r
+    BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1, B2) const, A1 a1, A2 a2, A3 a3)\r
+{\r
+    typedef _mfi::BOOST_BIND_MF_NAME(cmf2)<R, T, B1, B2> F;\r
+    typedef typename _bi::list_av_3<A1, A2, A3>::type list_type;\r
+    return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3));\r
+}\r
+\r
+// 3\r
+\r
+template<class Rt2, class R, class T,\r
+    class B1, class B2, class B3,\r
+    class A1, class A2, class A3, class A4>\r
+    _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(mf3)<R, T, B1, B2, B3>, typename _bi::list_av_4<A1, A2, A3, A4>::type>\r
+    BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3), A1 a1, A2 a2, A3 a3, A4 a4)\r
+{\r
+    typedef _mfi::BOOST_BIND_MF_NAME(mf3)<R, T, B1, B2, B3> F;\r
+    typedef typename _bi::list_av_4<A1, A2, A3, A4>::type list_type;\r
+    return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3, a4));\r
+}\r
+\r
+template<class Rt2, class R, class T,\r
+    class B1, class B2, class B3,\r
+    class A1, class A2, class A3, class A4>\r
+    _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(cmf3)<R, T, B1, B2, B3>, typename _bi::list_av_4<A1, A2, A3, A4>::type>\r
+    BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3) const, A1 a1, A2 a2, A3 a3, A4 a4)\r
+{\r
+    typedef _mfi::BOOST_BIND_MF_NAME(cmf3)<R, T, B1, B2, B3> F;\r
+    typedef typename _bi::list_av_4<A1, A2, A3, A4>::type list_type;\r
+    return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3, a4));\r
+}\r
+\r
+// 4\r
+\r
+template<class Rt2, class R, class T,\r
+    class B1, class B2, class B3, class B4,\r
+    class A1, class A2, class A3, class A4, class A5>\r
+    _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(mf4)<R, T, B1, B2, B3, B4>, typename _bi::list_av_5<A1, A2, A3, A4, A5>::type>\r
+    BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5)\r
+{\r
+    typedef _mfi::BOOST_BIND_MF_NAME(mf4)<R, T, B1, B2, B3, B4> F;\r
+    typedef typename _bi::list_av_5<A1, A2, A3, A4, A5>::type list_type;\r
+    return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5));\r
+}\r
+\r
+template<class Rt2, class R, class T,\r
+    class B1, class B2, class B3, class B4,\r
+    class A1, class A2, class A3, class A4, class A5>\r
+    _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(cmf4)<R, T, B1, B2, B3, B4>, typename _bi::list_av_5<A1, A2, A3, A4, A5>::type>\r
+    BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5)\r
+{\r
+    typedef _mfi::BOOST_BIND_MF_NAME(cmf4)<R, T, B1, B2, B3, B4> F;\r
+    typedef typename _bi::list_av_5<A1, A2, A3, A4, A5>::type list_type;\r
+    return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5));\r
+}\r
+\r
+// 5\r
+\r
+template<class Rt2, class R, class T,\r
+    class B1, class B2, class B3, class B4, class B5,\r
+    class A1, class A2, class A3, class A4, class A5, class A6>\r
+    _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(mf5)<R, T, B1, B2, B3, B4, B5>, typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type>\r
+    BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6)\r
+{\r
+    typedef _mfi::BOOST_BIND_MF_NAME(mf5)<R, T, B1, B2, B3, B4, B5> F;\r
+    typedef typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type list_type;\r
+    return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6));\r
+}\r
+\r
+template<class Rt2, class R, class T,\r
+    class B1, class B2, class B3, class B4, class B5,\r
+    class A1, class A2, class A3, class A4, class A5, class A6>\r
+    _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(cmf5)<R, T, B1, B2, B3, B4, B5>, typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type>\r
+    BOOST_BIND(boost::type<Rt2>, 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)\r
+{\r
+    typedef _mfi::BOOST_BIND_MF_NAME(cmf5)<R, T, B1, B2, B3, B4, B5> F;\r
+    typedef typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type list_type;\r
+    return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6));\r
+}\r
+\r
+// 6\r
+\r
+template<class Rt2, class R, class T,\r
+    class B1, class B2, class B3, class B4, class B5, class B6,\r
+    class A1, class A2, class A3, class A4, class A5, class A6, class A7>\r
+    _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(mf6)<R, T, B1, B2, B3, B4, B5, B6>, typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type>\r
+    BOOST_BIND(boost::type<Rt2>, 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)\r
+{\r
+    typedef _mfi::BOOST_BIND_MF_NAME(mf6)<R, T, B1, B2, B3, B4, B5, B6> F;\r
+    typedef typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type list_type;\r
+    return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6, a7));\r
+}\r
+\r
+template<class Rt2, class R, class T,\r
+    class B1, class B2, class B3, class B4, class B5, class B6,\r
+    class A1, class A2, class A3, class A4, class A5, class A6, class A7>\r
+    _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(cmf6)<R, T, B1, B2, B3, B4, B5, B6>, typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type>\r
+    BOOST_BIND(boost::type<Rt2>, 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)\r
+{\r
+    typedef _mfi::BOOST_BIND_MF_NAME(cmf6)<R, T, B1, B2, B3, B4, B5, B6> F;\r
+    typedef typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type list_type;\r
+    return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6, a7));\r
+}\r
+\r
+// 7\r
+\r
+template<class Rt2, class R, class T,\r
+    class B1, class B2, class B3, class B4, class B5, class B6, class B7,\r
+    class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8>\r
+    _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(mf7)<R, T, B1, B2, B3, B4, B5, B6, B7>, typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type>\r
+    BOOST_BIND(boost::type<Rt2>, 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)\r
+{\r
+    typedef _mfi::BOOST_BIND_MF_NAME(mf7)<R, T, B1, B2, B3, B4, B5, B6, B7> F;\r
+    typedef typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type list_type;\r
+    return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8));\r
+}\r
+\r
+template<class Rt2, class R, class T,\r
+    class B1, class B2, class B3, class B4, class B5, class B6, class B7,\r
+    class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8>\r
+    _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(cmf7)<R, T, B1, B2, B3, B4, B5, B6, B7>, typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type>\r
+    BOOST_BIND(boost::type<Rt2>, 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)\r
+{\r
+    typedef _mfi::BOOST_BIND_MF_NAME(cmf7)<R, T, B1, B2, B3, B4, B5, B6, B7> F;\r
+    typedef typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type list_type;\r
+    return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8));\r
+}\r
+\r
+// 8\r
+\r
+template<class Rt2, class R, class T,\r
+    class B1, class B2, class B3, class B4, class B5, class B6, class B7, class B8,\r
+    class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9>\r
+    _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(mf8)<R, T, B1, B2, B3, B4, B5, B6, B7, B8>, typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type>\r
+    BOOST_BIND(boost::type<Rt2>, 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)\r
+{\r
+    typedef _mfi::BOOST_BIND_MF_NAME(mf8)<R, T, B1, B2, B3, B4, B5, B6, B7, B8> F;\r
+    typedef typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type list_type;\r
+    return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9));\r
+}\r
+\r
+template<class Rt2, class R, class T,\r
+    class B1, class B2, class B3, class B4, class B5, class B6, class B7, class B8,\r
+    class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9>\r
+    _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(cmf8)<R, T, B1, B2, B3, B4, B5, B6, B7, B8>, typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type>\r
+    BOOST_BIND(boost::type<Rt2>, 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)\r
+{\r
+    typedef _mfi::BOOST_BIND_MF_NAME(cmf8)<R, T, B1, B2, B3, B4, B5, B6, B7, B8> F;\r
+    typedef typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type list_type;\r
+    return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9));\r
+}\r
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 (file)
index 0000000..49f43a1
--- /dev/null
@@ -0,0 +1,227 @@
+//\r
+//  bind/bind_mf_cc.hpp - support for different calling conventions\r
+//\r
+//  Do not include this header directly.\r
+//\r
+//  Copyright (c) 2001 Peter Dimov and Multi Media Ltd.\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. (See\r
+// accompanying file LICENSE_1_0.txt or copy at\r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+//  See http://www.boost.org/libs/bind/bind.html for documentation.\r
+//\r
+\r
+// 0\r
+\r
+template<class R, class T,\r
+    class A1>\r
+    _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(mf0)<R, T>, typename _bi::list_av_1<A1>::type>\r
+    BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (), A1 a1)\r
+{\r
+    typedef _mfi::BOOST_BIND_MF_NAME(mf0)<R, T> F;\r
+    typedef typename _bi::list_av_1<A1>::type list_type;\r
+    return _bi::bind_t<R, F, list_type>(F(f), list_type(a1));\r
+}\r
+\r
+template<class R, class T,\r
+    class A1>\r
+    _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(cmf0)<R, T>, typename _bi::list_av_1<A1>::type>\r
+    BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) () const, A1 a1)\r
+{\r
+    typedef _mfi::BOOST_BIND_MF_NAME(cmf0)<R, T> F;\r
+    typedef typename _bi::list_av_1<A1>::type list_type;\r
+    return _bi::bind_t<R, F, list_type>(F(f), list_type(a1));\r
+}\r
+\r
+// 1\r
+\r
+template<class R, class T,\r
+    class B1,\r
+    class A1, class A2>\r
+    _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(mf1)<R, T, B1>, typename _bi::list_av_2<A1, A2>::type>\r
+    BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1), A1 a1, A2 a2)\r
+{\r
+    typedef _mfi::BOOST_BIND_MF_NAME(mf1)<R, T, B1> F;\r
+    typedef typename _bi::list_av_2<A1, A2>::type list_type;\r
+    return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2));\r
+}\r
+\r
+template<class R, class T,\r
+    class B1,\r
+    class A1, class A2>\r
+    _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(cmf1)<R, T, B1>, typename _bi::list_av_2<A1, A2>::type>\r
+    BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1) const, A1 a1, A2 a2)\r
+{\r
+    typedef _mfi::BOOST_BIND_MF_NAME(cmf1)<R, T, B1> F;\r
+    typedef typename _bi::list_av_2<A1, A2>::type list_type;\r
+    return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2));\r
+}\r
+\r
+// 2\r
+\r
+template<class R, class T,\r
+    class B1, class B2,\r
+    class A1, class A2, class A3>\r
+    _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(mf2)<R, T, B1, B2>, typename _bi::list_av_3<A1, A2, A3>::type>\r
+    BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2), A1 a1, A2 a2, A3 a3)\r
+{\r
+    typedef _mfi::BOOST_BIND_MF_NAME(mf2)<R, T, B1, B2> F;\r
+    typedef typename _bi::list_av_3<A1, A2, A3>::type list_type;\r
+    return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3));\r
+}\r
+\r
+template<class R, class T,\r
+    class B1, class B2,\r
+    class A1, class A2, class A3>\r
+    _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(cmf2)<R, T, B1, B2>, typename _bi::list_av_3<A1, A2, A3>::type>\r
+    BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2) const, A1 a1, A2 a2, A3 a3)\r
+{\r
+    typedef _mfi::BOOST_BIND_MF_NAME(cmf2)<R, T, B1, B2> F;\r
+    typedef typename _bi::list_av_3<A1, A2, A3>::type list_type;\r
+    return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3));\r
+}\r
+\r
+// 3\r
+\r
+template<class R, class T,\r
+    class B1, class B2, class B3,\r
+    class A1, class A2, class A3, class A4>\r
+    _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(mf3)<R, T, B1, B2, B3>, typename _bi::list_av_4<A1, A2, A3, A4>::type>\r
+    BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3), A1 a1, A2 a2, A3 a3, A4 a4)\r
+{\r
+    typedef _mfi::BOOST_BIND_MF_NAME(mf3)<R, T, B1, B2, B3> F;\r
+    typedef typename _bi::list_av_4<A1, A2, A3, A4>::type list_type;\r
+    return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3, a4));\r
+}\r
+\r
+template<class R, class T,\r
+    class B1, class B2, class B3,\r
+    class A1, class A2, class A3, class A4>\r
+    _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(cmf3)<R, T, B1, B2, B3>, typename _bi::list_av_4<A1, A2, A3, A4>::type>\r
+    BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3) const, A1 a1, A2 a2, A3 a3, A4 a4)\r
+{\r
+    typedef _mfi::BOOST_BIND_MF_NAME(cmf3)<R, T, B1, B2, B3> F;\r
+    typedef typename _bi::list_av_4<A1, A2, A3, A4>::type list_type;\r
+    return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3, a4));\r
+}\r
+\r
+// 4\r
+\r
+template<class R, class T,\r
+    class B1, class B2, class B3, class B4,\r
+    class A1, class A2, class A3, class A4, class A5>\r
+    _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(mf4)<R, T, B1, B2, B3, B4>, typename _bi::list_av_5<A1, A2, A3, A4, A5>::type>\r
+    BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5)\r
+{\r
+    typedef _mfi::BOOST_BIND_MF_NAME(mf4)<R, T, B1, B2, B3, B4> F;\r
+    typedef typename _bi::list_av_5<A1, A2, A3, A4, A5>::type list_type;\r
+    return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5));\r
+}\r
+\r
+template<class R, class T,\r
+    class B1, class B2, class B3, class B4,\r
+    class A1, class A2, class A3, class A4, class A5>\r
+    _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(cmf4)<R, T, B1, B2, B3, B4>, typename _bi::list_av_5<A1, A2, A3, A4, A5>::type>\r
+    BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5)\r
+{\r
+    typedef _mfi::BOOST_BIND_MF_NAME(cmf4)<R, T, B1, B2, B3, B4> F;\r
+    typedef typename _bi::list_av_5<A1, A2, A3, A4, A5>::type list_type;\r
+    return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5));\r
+}\r
+\r
+// 5\r
+\r
+template<class R, class T,\r
+    class B1, class B2, class B3, class B4, class B5,\r
+    class A1, class A2, class A3, class A4, class A5, class A6>\r
+    _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(mf5)<R, T, B1, B2, B3, B4, B5>, typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type>\r
+    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)\r
+{\r
+    typedef _mfi::BOOST_BIND_MF_NAME(mf5)<R, T, B1, B2, B3, B4, B5> F;\r
+    typedef typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type list_type;\r
+    return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6));\r
+}\r
+\r
+template<class R, class T,\r
+    class B1, class B2, class B3, class B4, class B5,\r
+    class A1, class A2, class A3, class A4, class A5, class A6>\r
+    _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(cmf5)<R, T, B1, B2, B3, B4, B5>, typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type>\r
+    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)\r
+{\r
+    typedef _mfi::BOOST_BIND_MF_NAME(cmf5)<R, T, B1, B2, B3, B4, B5> F;\r
+    typedef typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type list_type;\r
+    return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6));\r
+}\r
+\r
+// 6\r
+\r
+template<class R, class T,\r
+    class B1, class B2, class B3, class B4, class B5, class B6,\r
+    class A1, class A2, class A3, class A4, class A5, class A6, class A7>\r
+    _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(mf6)<R, T, B1, B2, B3, B4, B5, B6>, typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type>\r
+    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)\r
+{\r
+    typedef _mfi::BOOST_BIND_MF_NAME(mf6)<R, T, B1, B2, B3, B4, B5, B6> F;\r
+    typedef typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type list_type;\r
+    return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6, a7));\r
+}\r
+\r
+template<class R, class T,\r
+    class B1, class B2, class B3, class B4, class B5, class B6,\r
+    class A1, class A2, class A3, class A4, class A5, class A6, class A7>\r
+    _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(cmf6)<R, T, B1, B2, B3, B4, B5, B6>, typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type>\r
+    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)\r
+{\r
+    typedef _mfi::BOOST_BIND_MF_NAME(cmf6)<R, T, B1, B2, B3, B4, B5, B6> F;\r
+    typedef typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type list_type;\r
+    return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6, a7));\r
+}\r
+\r
+// 7\r
+\r
+template<class R, class T,\r
+    class B1, class B2, class B3, class B4, class B5, class B6, class B7,\r
+    class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8>\r
+    _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(mf7)<R, T, B1, B2, B3, B4, B5, B6, B7>, typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type>\r
+    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)\r
+{\r
+    typedef _mfi::BOOST_BIND_MF_NAME(mf7)<R, T, B1, B2, B3, B4, B5, B6, B7> F;\r
+    typedef typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type list_type;\r
+    return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8));\r
+}\r
+\r
+template<class R, class T,\r
+    class B1, class B2, class B3, class B4, class B5, class B6, class B7,\r
+    class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8>\r
+    _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(cmf7)<R, T, B1, B2, B3, B4, B5, B6, B7>, typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type>\r
+    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)\r
+{\r
+    typedef _mfi::BOOST_BIND_MF_NAME(cmf7)<R, T, B1, B2, B3, B4, B5, B6, B7> F;\r
+    typedef typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type list_type;\r
+    return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8));\r
+}\r
+\r
+// 8\r
+\r
+template<class R, class T,\r
+    class B1, class B2, class B3, class B4, class B5, class B6, class B7, class B8,\r
+    class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9>\r
+    _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(mf8)<R, T, B1, B2, B3, B4, B5, B6, B7, B8>, typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type>\r
+    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)\r
+{\r
+    typedef _mfi::BOOST_BIND_MF_NAME(mf8)<R, T, B1, B2, B3, B4, B5, B6, B7, B8> F;\r
+    typedef typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type list_type;\r
+    return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9));\r
+}\r
+\r
+template<class R, class T,\r
+    class B1, class B2, class B3, class B4, class B5, class B6, class B7, class B8,\r
+    class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9>\r
+    _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(cmf8)<R, T, B1, B2, B3, B4, B5, B6, B7, B8>, typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type>\r
+    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)\r
+{\r
+    typedef _mfi::BOOST_BIND_MF_NAME(cmf8)<R, T, B1, B2, B3, B4, B5, B6, B7, B8> F;\r
+    typedef typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type list_type;\r
+    return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9));\r
+}\r
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 (file)
index 0000000..d394a9b
--- /dev/null
@@ -0,0 +1,345 @@
+//\r
+//  bind/bind_template.hpp\r
+//\r
+//  Do not include this header directly.\r
+//\r
+//  Copyright (c) 2001-2004 Peter Dimov and Multi Media Ltd.\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. (See\r
+// accompanying file LICENSE_1_0.txt or copy at\r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+//  See http://www.boost.org/libs/bind/bind.html for documentation.\r
+//\r
+\r
+    typedef typename result_traits<R, F>::type result_type;\r
+\r
+    result_type operator()()\r
+    {\r
+        list0 a;\r
+        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);\r
+    }\r
+\r
+    result_type operator()() const\r
+    {\r
+        list0 a;\r
+        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);\r
+    }\r
+\r
+    template<class A1> result_type operator()(A1 & a1)\r
+    {\r
+        list1<A1 &> a(a1);\r
+        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);\r
+    }\r
+\r
+    template<class A1> result_type operator()(A1 & a1) const\r
+    {\r
+        list1<A1 &> a(a1);\r
+        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);\r
+    }\r
+\r
+#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \\r
+ && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238)\r
+\r
+    template<class A1> result_type operator()(A1 const & a1)\r
+    {\r
+        list1<A1 const &> a(a1);\r
+        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);\r
+    }\r
+\r
+    template<class A1> result_type operator()(A1 const & a1) const\r
+    {\r
+        list1<A1 const &> a(a1);\r
+        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);\r
+    }\r
+\r
+#endif\r
+\r
+    template<class A1, class A2> result_type operator()(A1 & a1, A2 & a2)\r
+    {\r
+        list2<A1 &, A2 &> a(a1, a2);\r
+        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);\r
+    }\r
+\r
+    template<class A1, class A2> result_type operator()(A1 & a1, A2 & a2) const\r
+    {\r
+        list2<A1 &, A2 &> a(a1, a2);\r
+        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);\r
+    }\r
+\r
+#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \\r
+ && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238)\r
+\r
+    template<class A1, class A2> result_type operator()(A1 const & a1, A2 & a2)\r
+    {\r
+        list2<A1 const &, A2 &> a(a1, a2);\r
+        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);\r
+    }\r
+\r
+    template<class A1, class A2> result_type operator()(A1 const & a1, A2 & a2) const\r
+    {\r
+        list2<A1 const &, A2 &> a(a1, a2);\r
+        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);\r
+    }\r
+\r
+\r
+    template<class A1, class A2> result_type operator()(A1 & a1, A2 const & a2)\r
+    {\r
+        list2<A1 &, A2 const &> a(a1, a2);\r
+        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);\r
+    }\r
+\r
+    template<class A1, class A2> result_type operator()(A1 & a1, A2 const & a2) const\r
+    {\r
+        list2<A1 &, A2 const &> a(a1, a2);\r
+        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);\r
+    }\r
+\r
+\r
+    template<class A1, class A2> result_type operator()(A1 const & a1, A2 const & a2)\r
+    {\r
+        list2<A1 const &, A2 const &> a(a1, a2);\r
+        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);\r
+    }\r
+\r
+    template<class A1, class A2> result_type operator()(A1 const & a1, A2 const & a2) const\r
+    {\r
+        list2<A1 const &, A2 const &> a(a1, a2);\r
+        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);\r
+    }\r
+\r
+#endif\r
+\r
+    template<class A1, class A2, class A3> result_type operator()(A1 & a1, A2 & a2, A3 & a3)\r
+    {\r
+        list3<A1 &, A2 &, A3 &> a(a1, a2, a3);\r
+        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);\r
+    }\r
+\r
+    template<class A1, class A2, class A3> result_type operator()(A1 & a1, A2 & a2, A3 & a3) const\r
+    {\r
+        list3<A1 &, A2 &, A3 &> a(a1, a2, a3);\r
+        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);\r
+    }\r
+\r
+#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \\r
+ && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238)\r
+\r
+    template<class A1, class A2, class A3> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3)\r
+    {\r
+        list3<A1 const &, A2 const &, A3 const &> a(a1, a2, a3);\r
+        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);\r
+    }\r
+\r
+    template<class A1, class A2, class A3> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3) const\r
+    {\r
+        list3<A1 const &, A2 const &, A3 const &> a(a1, a2, a3);\r
+        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);\r
+    }\r
+\r
+#endif\r
+\r
+    template<class A1, class A2, class A3, class A4> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4)\r
+    {\r
+        list4<A1 &, A2 &, A3 &, A4 &> a(a1, a2, a3, a4);\r
+        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);\r
+    }\r
+\r
+    template<class A1, class A2, class A3, class A4> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4) const\r
+    {\r
+        list4<A1 &, A2 &, A3 &, A4 &> a(a1, a2, a3, a4);\r
+        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);\r
+    }\r
+\r
+#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \\r
+ && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238)\r
+\r
+    template<class A1, class A2, class A3, class A4> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4)\r
+    {\r
+        list4<A1 const &, A2 const &, A3 const &, A4 const &> a(a1, a2, a3, a4);\r
+        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);\r
+    }\r
+\r
+    template<class A1, class A2, class A3, class A4> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4) const\r
+    {\r
+        list4<A1 const &, A2 const &, A3 const &, A4 const &> a(a1, a2, a3, a4);\r
+        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);\r
+    }\r
+\r
+#endif\r
+\r
+    template<class A1, class A2, class A3, class A4, class A5> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5)\r
+    {\r
+        list5<A1 &, A2 &, A3 &, A4 &, A5 &> a(a1, a2, a3, a4, a5);\r
+        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);\r
+    }\r
+\r
+    template<class A1, class A2, class A3, class A4, class A5> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5) const\r
+    {\r
+        list5<A1 &, A2 &, A3 &, A4 &, A5 &> a(a1, a2, a3, a4, a5);\r
+        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);\r
+    }\r
+\r
+#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \\r
+ && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238)\r
+\r
+    template<class A1, class A2, class A3, class A4, class A5> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5)\r
+    {\r
+        list5<A1 const &, A2 const &, A3 const &, A4 const &, A5 const &> a(a1, a2, a3, a4, a5);\r
+        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);\r
+    }\r
+\r
+    template<class A1, class A2, class A3, class A4, class A5> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5) const\r
+    {\r
+        list5<A1 const &, A2 const &, A3 const &, A4 const &, A5 const &> a(a1, a2, a3, a4, a5);\r
+        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);\r
+    }\r
+\r
+#endif\r
+\r
+    template<class A1, class A2, class A3, class A4, class A5, class A6> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6)\r
+    {\r
+        list6<A1 &, A2 &, A3 &, A4 &, A5 &, A6 &> a(a1, a2, a3, a4, a5, a6);\r
+        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);\r
+    }\r
+\r
+    template<class A1, class A2, class A3, class A4, class A5, class A6> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6) const\r
+    {\r
+        list6<A1 &, A2 &, A3 &, A4 &, A5 &, A6 &> a(a1, a2, a3, a4, a5, a6);\r
+        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);\r
+    }\r
+\r
+#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \\r
+ && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238)\r
+\r
+    template<class A1, class A2, class A3, class A4, class A5, class A6> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6)\r
+    {\r
+        list6<A1 const &, A2 const &, A3 const &, A4 const &, A5 const &, A6 const &> a(a1, a2, a3, a4, a5, a6);\r
+        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);\r
+    }\r
+\r
+    template<class A1, class A2, class A3, class A4, class A5, class A6> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6) const\r
+    {\r
+        list6<A1 const &, A2 const &, A3 const &, A4 const &, A5 const &, A6 const &> a(a1, a2, a3, a4, a5, a6);\r
+        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);\r
+    }\r
+\r
+#endif\r
+\r
+    template<class A1, class A2, class A3, class A4, class A5, class A6, class A7> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7)\r
+    {\r
+        list7<A1 &, A2 &, A3 &, A4 &, A5 &, A6 &, A7 &> a(a1, a2, a3, a4, a5, a6, a7);\r
+        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);\r
+    }\r
+\r
+    template<class A1, class A2, class A3, class A4, class A5, class A6, class A7> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7) const\r
+    {\r
+        list7<A1 &, A2 &, A3 &, A4 &, A5 &, A6 &, A7 &> a(a1, a2, a3, a4, a5, a6, a7);\r
+        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);\r
+    }\r
+\r
+#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \\r
+ && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238)\r
+\r
+    template<class A1, class A2, class A3, class A4, class A5, class A6, class A7> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6, A7 const & a7)\r
+    {\r
+        list7<A1 const &, A2 const &, A3 const &, A4 const &, A5 const &, A6 const &, A7 const &> a(a1, a2, a3, a4, a5, a6, a7);\r
+        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);\r
+    }\r
+\r
+    template<class A1, class A2, class A3, class A4, class A5, class A6, class A7> 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\r
+    {\r
+        list7<A1 const &, A2 const &, A3 const &, A4 const &, A5 const &, A6 const &, A7 const &> a(a1, a2, a3, a4, a5, a6, a7);\r
+        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);\r
+    }\r
+\r
+#endif\r
+\r
+    template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7, A8 & a8)\r
+    {\r
+        list8<A1 &, A2 &, A3 &, A4 &, A5 &, A6 &, A7 &, A8 &> a(a1, a2, a3, a4, a5, a6, a7, a8);\r
+        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);\r
+    }\r
+\r
+    template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7, A8 & a8) const\r
+    {\r
+        list8<A1 &, A2 &, A3 &, A4 &, A5 &, A6 &, A7 &, A8 &> a(a1, a2, a3, a4, a5, a6, a7, a8);\r
+        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);\r
+    }\r
+\r
+#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \\r
+ && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238)\r
+\r
+    template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8> 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)\r
+    {\r
+        list8<A1 const &, A2 const &, A3 const &, A4 const &, A5 const &, A6 const &, A7 const &, A8 const &> a(a1, a2, a3, a4, a5, a6, a7, a8);\r
+        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);\r
+    }\r
+\r
+    template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8> 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\r
+    {\r
+        list8<A1 const &, A2 const &, A3 const &, A4 const &, A5 const &, A6 const &, A7 const &, A8 const &> a(a1, a2, a3, a4, a5, a6, a7, a8);\r
+        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);\r
+    }\r
+\r
+#endif\r
+\r
+    template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7, A8 & a8, A9 & a9)\r
+    {\r
+        list9<A1 &, A2 &, A3 &, A4 &, A5 &, A6 &, A7 &, A8 &, A9 &> a(a1, a2, a3, a4, a5, a6, a7, a8, a9);\r
+        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);\r
+    }\r
+\r
+    template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7, A8 & a8, A9 & a9) const\r
+    {\r
+        list9<A1 &, A2 &, A3 &, A4 &, A5 &, A6 &, A7 &, A8 &, A9 &> a(a1, a2, a3, a4, a5, a6, a7, a8, a9);\r
+        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);\r
+    }\r
+\r
+#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \\r
+ && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238)\r
+\r
+    template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9> 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)\r
+    {\r
+        list9<A1 const &, A2 const &, A3 const &, A4 const &, A5 const &, A6 const &, A7 const &, A8 const &, A9 const &> a(a1, a2, a3, a4, a5, a6, a7, a8, a9);\r
+        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);\r
+    }\r
+\r
+    template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9> 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\r
+    {\r
+        list9<A1 const &, A2 const &, A3 const &, A4 const &, A5 const &, A6 const &, A7 const &, A8 const &, A9 const &> a(a1, a2, a3, a4, a5, a6, a7, a8, a9);\r
+        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);\r
+    }\r
+\r
+#endif\r
+\r
+    template<class A> result_type eval(A & a)\r
+    {\r
+        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);\r
+    }\r
+\r
+    template<class A> result_type eval(A & a) const\r
+    {\r
+        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);\r
+    }\r
+\r
+    template<class V> void accept(V & v) const\r
+    {\r
+#if !defined( BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP ) && !defined( __BORLANDC__ )\r
+\r
+        using boost::visit_each;\r
+\r
+#endif\r
+        BOOST_BIND_VISIT_EACH(v, f_, 0);\r
+        l_.accept(v);\r
+    }\r
+\r
+    bool compare(this_type const & rhs) const\r
+    {\r
+        return ref_compare(f_, rhs.f_, 0) && l_ == rhs.l_;\r
+    }\r
+\r
+private:\r
+\r
+    F f_;\r
+    L l_;\r
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 (file)
index 0000000..06ecccf
--- /dev/null
@@ -0,0 +1,187 @@
+#ifndef BOOST_BIND_MAKE_ADAPTABLE_HPP_INCLUDED\r
+#define BOOST_BIND_MAKE_ADAPTABLE_HPP_INCLUDED\r
+\r
+//\r
+//  make_adaptable.hpp\r
+//\r
+//  Copyright (c) 2002 Peter Dimov and Multi Media Ltd.\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. (See\r
+// accompanying file LICENSE_1_0.txt or copy at\r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+namespace boost\r
+{\r
+\r
+namespace _bi\r
+{\r
+\r
+template<class R, class F> class af0\r
+{\r
+public:\r
+\r
+    typedef R result_type;\r
+\r
+    explicit af0(F f): f_(f)\r
+    {\r
+    }\r
+\r
+    result_type operator()()\r
+    {\r
+        return f_();\r
+    }\r
+\r
+    result_type operator()() const\r
+    {\r
+        return f_();\r
+    }\r
+\r
+private:\r
+\r
+    F f_;\r
+};\r
+\r
+template<class R, class A1, class F> class af1\r
+{\r
+public:\r
+\r
+    typedef R result_type;\r
+    typedef A1 argument_type;\r
+    typedef A1 arg1_type;\r
+\r
+    explicit af1(F f): f_(f)\r
+    {\r
+    }\r
+\r
+    result_type operator()(A1 a1)\r
+    {\r
+        return f_(a1);\r
+    }\r
+\r
+    result_type operator()(A1 a1) const\r
+    {\r
+        return f_(a1);\r
+    }\r
+\r
+private:\r
+\r
+    F f_;\r
+};\r
+\r
+template<class R, class A1, class A2, class F> class af2\r
+{\r
+public:\r
+\r
+    typedef R result_type;\r
+    typedef A1 first_argument_type;\r
+    typedef A2 second_argument_type;\r
+    typedef A1 arg1_type;\r
+    typedef A2 arg2_type;\r
+\r
+    explicit af2(F f): f_(f)\r
+    {\r
+    }\r
+\r
+    result_type operator()(A1 a1, A2 a2)\r
+    {\r
+        return f_(a1, a2);\r
+    }\r
+\r
+    result_type operator()(A1 a1, A2 a2) const\r
+    {\r
+        return f_(a1, a2);\r
+    }\r
+\r
+private:\r
+\r
+    F f_;\r
+};\r
+\r
+template<class R, class A1, class A2, class A3, class F> class af3\r
+{\r
+public:\r
+\r
+    typedef R result_type;\r
+    typedef A1 arg1_type;\r
+    typedef A2 arg2_type;\r
+    typedef A3 arg3_type;\r
+\r
+    explicit af3(F f): f_(f)\r
+    {\r
+    }\r
+\r
+    result_type operator()(A1 a1, A2 a2, A3 a3)\r
+    {\r
+        return f_(a1, a2, a3);\r
+    }\r
+\r
+    result_type operator()(A1 a1, A2 a2, A3 a3) const\r
+    {\r
+        return f_(a1, a2, a3);\r
+    }\r
+\r
+private:\r
+\r
+    F f_;\r
+};\r
+\r
+template<class R, class A1, class A2, class A3, class A4, class F> class af4\r
+{\r
+public:\r
+\r
+    typedef R result_type;\r
+    typedef A1 arg1_type;\r
+    typedef A2 arg2_type;\r
+    typedef A3 arg3_type;\r
+    typedef A4 arg4_type;\r
+\r
+    explicit af4(F f): f_(f)\r
+    {\r
+    }\r
+\r
+    result_type operator()(A1 a1, A2 a2, A3 a3, A4 a4)\r
+    {\r
+        return f_(a1, a2, a3, a4);\r
+    }\r
+\r
+    result_type operator()(A1 a1, A2 a2, A3 a3, A4 a4) const\r
+    {\r
+        return f_(a1, a2, a3, a4);\r
+    }\r
+\r
+private:\r
+\r
+    F f_;\r
+};\r
+\r
+} // namespace _bi\r
+\r
+template<class R, class F> _bi::af0<R, F> make_adaptable(F f)\r
+{\r
+    return _bi::af0<R, F>(f);\r
+}\r
+\r
+template<class R, class A1, class F> _bi::af1<R, A1, F> make_adaptable(F f)\r
+{\r
+    return _bi::af1<R, A1, F>(f);\r
+}\r
+\r
+template<class R, class A1, class A2, class F> _bi::af2<R, A1, A2, F> make_adaptable(F f)\r
+{\r
+    return _bi::af2<R, A1, A2, F>(f);\r
+}\r
+\r
+template<class R, class A1, class A2, class A3, class F> _bi::af3<R, A1, A2, A3, F> make_adaptable(F f)\r
+{\r
+    return _bi::af3<R, A1, A2, A3, F>(f);\r
+}\r
+\r
+template<class R, class A1, class A2, class A3, class A4, class F> _bi::af4<R, A1, A2, A3, A4, F> make_adaptable(F f)\r
+{\r
+    return _bi::af4<R, A1, A2, A3, A4, F>(f);\r
+}\r
+\r
+} // namespace boost\r
+\r
+#endif // #ifndef BOOST_BIND_MAKE_ADAPTABLE_HPP_INCLUDED\r
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 (file)
index 0000000..86c61e4
--- /dev/null
@@ -0,0 +1,389 @@
+#ifndef BOOST_BIND_MEM_FN_HPP_INCLUDED\r
+#define BOOST_BIND_MEM_FN_HPP_INCLUDED\r
+\r
+// MS compatible compilers support #pragma once\r
+\r
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)\r
+# pragma once\r
+#endif\r
+\r
+//\r
+//  mem_fn.hpp - a generalization of std::mem_fun[_ref]\r
+//\r
+//  Copyright (c) 2001, 2002 Peter Dimov and Multi Media Ltd.\r
+//  Copyright (c) 2001 David Abrahams\r
+//  Copyright (c) 2003-2005 Peter Dimov\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. (See\r
+// accompanying file LICENSE_1_0.txt or copy at\r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+//  See http://www.boost.org/libs/bind/mem_fn.html for documentation.\r
+//\r
+\r
+#include <boost/config.hpp>\r
+#include <boost/get_pointer.hpp>\r
+#include <boost/detail/workaround.hpp>\r
+\r
+namespace boost\r
+{\r
+\r
+#if defined(BOOST_NO_VOID_RETURNS)\r
+\r
+#define BOOST_MEM_FN_CLASS_F , class F\r
+#define BOOST_MEM_FN_TYPEDEF(X)\r
+\r
+namespace _mfi // mem_fun_impl\r
+{\r
+\r
+template<class V> struct mf\r
+{\r
+\r
+#define BOOST_MEM_FN_RETURN return\r
+\r
+#define BOOST_MEM_FN_NAME(X) inner_##X\r
+#define BOOST_MEM_FN_CC\r
+\r
+#include <boost/bind/mem_fn_template.hpp>\r
+\r
+#undef BOOST_MEM_FN_CC\r
+#undef BOOST_MEM_FN_NAME\r
+\r
+#ifdef BOOST_MEM_FN_ENABLE_CDECL\r
+\r
+#define BOOST_MEM_FN_NAME(X) inner_##X##_cdecl\r
+#define BOOST_MEM_FN_CC __cdecl\r
+\r
+#include <boost/bind/mem_fn_template.hpp>\r
+\r
+#undef BOOST_MEM_FN_CC\r
+#undef BOOST_MEM_FN_NAME\r
+\r
+#endif\r
+\r
+#ifdef BOOST_MEM_FN_ENABLE_STDCALL\r
+\r
+#define BOOST_MEM_FN_NAME(X) inner_##X##_stdcall\r
+#define BOOST_MEM_FN_CC __stdcall\r
+\r
+#include <boost/bind/mem_fn_template.hpp>\r
+\r
+#undef BOOST_MEM_FN_CC\r
+#undef BOOST_MEM_FN_NAME\r
+\r
+#endif\r
+\r
+#ifdef BOOST_MEM_FN_ENABLE_FASTCALL\r
+\r
+#define BOOST_MEM_FN_NAME(X) inner_##X##_fastcall\r
+#define BOOST_MEM_FN_CC __fastcall\r
+\r
+#include <boost/bind/mem_fn_template.hpp>\r
+\r
+#undef BOOST_MEM_FN_CC\r
+#undef BOOST_MEM_FN_NAME\r
+\r
+#endif\r
+\r
+#undef BOOST_MEM_FN_RETURN\r
+\r
+}; // struct mf<V>\r
+\r
+template<> struct mf<void>\r
+{\r
+\r
+#define BOOST_MEM_FN_RETURN\r
+\r
+#define BOOST_MEM_FN_NAME(X) inner_##X\r
+#define BOOST_MEM_FN_CC\r
+\r
+#include <boost/bind/mem_fn_template.hpp>\r
+\r
+#undef BOOST_MEM_FN_CC\r
+#undef BOOST_MEM_FN_NAME\r
+\r
+#ifdef BOOST_MEM_FN_ENABLE_CDECL\r
+\r
+#define BOOST_MEM_FN_NAME(X) inner_##X##_cdecl\r
+#define BOOST_MEM_FN_CC __cdecl\r
+\r
+#include <boost/bind/mem_fn_template.hpp>\r
+\r
+#undef BOOST_MEM_FN_CC\r
+#undef BOOST_MEM_FN_NAME\r
+\r
+#endif\r
+\r
+#ifdef BOOST_MEM_FN_ENABLE_STDCALL\r
+\r
+#define BOOST_MEM_FN_NAME(X) inner_##X##_stdcall\r
+#define BOOST_MEM_FN_CC __stdcall\r
+\r
+#include <boost/bind/mem_fn_template.hpp>\r
+\r
+#undef BOOST_MEM_FN_CC\r
+#undef BOOST_MEM_FN_NAME\r
+\r
+#endif\r
+\r
+#ifdef BOOST_MEM_FN_ENABLE_FASTCALL\r
+\r
+#define BOOST_MEM_FN_NAME(X) inner_##X##_fastcall\r
+#define BOOST_MEM_FN_CC __fastcall\r
+\r
+#include <boost/bind/mem_fn_template.hpp>\r
+\r
+#undef BOOST_MEM_FN_CC\r
+#undef BOOST_MEM_FN_NAME\r
+\r
+#endif\r
+\r
+#undef BOOST_MEM_FN_RETURN\r
+\r
+}; // struct mf<void>\r
+\r
+#undef BOOST_MEM_FN_CLASS_F\r
+#undef BOOST_MEM_FN_TYPEDEF_F\r
+\r
+#define BOOST_MEM_FN_NAME(X) X\r
+#define BOOST_MEM_FN_NAME2(X) inner_##X\r
+#define BOOST_MEM_FN_CC\r
+\r
+#include <boost/bind/mem_fn_vw.hpp>\r
+\r
+#undef BOOST_MEM_FN_NAME\r
+#undef BOOST_MEM_FN_NAME2\r
+#undef BOOST_MEM_FN_CC\r
+\r
+#ifdef BOOST_MEM_FN_ENABLE_CDECL\r
+\r
+#define BOOST_MEM_FN_NAME(X) X##_cdecl\r
+#define BOOST_MEM_FN_NAME2(X) inner_##X##_cdecl\r
+#define BOOST_MEM_FN_CC __cdecl\r
+\r
+#include <boost/bind/mem_fn_vw.hpp>\r
+\r
+#undef BOOST_MEM_FN_NAME\r
+#undef BOOST_MEM_FN_NAME2\r
+#undef BOOST_MEM_FN_CC\r
+\r
+#endif\r
+\r
+#ifdef BOOST_MEM_FN_ENABLE_STDCALL\r
+\r
+#define BOOST_MEM_FN_NAME(X) X##_stdcall\r
+#define BOOST_MEM_FN_NAME2(X) inner_##X##_stdcall\r
+#define BOOST_MEM_FN_CC __stdcall\r
+\r
+#include <boost/bind/mem_fn_vw.hpp>\r
+\r
+#undef BOOST_MEM_FN_NAME\r
+#undef BOOST_MEM_FN_NAME2\r
+#undef BOOST_MEM_FN_CC\r
+\r
+#endif\r
+\r
+#ifdef BOOST_MEM_FN_ENABLE_FASTCALL\r
+\r
+#define BOOST_MEM_FN_NAME(X) X##_fastcall\r
+#define BOOST_MEM_FN_NAME2(X) inner_##X##_fastcall\r
+#define BOOST_MEM_FN_CC __fastcall\r
+\r
+#include <boost/bind/mem_fn_vw.hpp>\r
+\r
+#undef BOOST_MEM_FN_NAME\r
+#undef BOOST_MEM_FN_NAME2\r
+#undef BOOST_MEM_FN_CC\r
+\r
+#endif\r
+\r
+} // namespace _mfi\r
+\r
+#else // #ifdef BOOST_NO_VOID_RETURNS\r
+\r
+#define BOOST_MEM_FN_CLASS_F\r
+#define BOOST_MEM_FN_TYPEDEF(X) typedef X;\r
+\r
+namespace _mfi\r
+{\r
+\r
+#define BOOST_MEM_FN_RETURN return\r
+\r
+#define BOOST_MEM_FN_NAME(X) X\r
+#define BOOST_MEM_FN_CC\r
+\r
+#include <boost/bind/mem_fn_template.hpp>\r
+\r
+#undef BOOST_MEM_FN_CC\r
+#undef BOOST_MEM_FN_NAME\r
+\r
+#ifdef BOOST_MEM_FN_ENABLE_CDECL\r
+\r
+#define BOOST_MEM_FN_NAME(X) X##_cdecl\r
+#define BOOST_MEM_FN_CC __cdecl\r
+\r
+#include <boost/bind/mem_fn_template.hpp>\r
+\r
+#undef BOOST_MEM_FN_CC\r
+#undef BOOST_MEM_FN_NAME\r
+\r
+#endif\r
+\r
+#ifdef BOOST_MEM_FN_ENABLE_STDCALL\r
+\r
+#define BOOST_MEM_FN_NAME(X) X##_stdcall\r
+#define BOOST_MEM_FN_CC __stdcall\r
+\r
+#include <boost/bind/mem_fn_template.hpp>\r
+\r
+#undef BOOST_MEM_FN_CC\r
+#undef BOOST_MEM_FN_NAME\r
+\r
+#endif\r
+\r
+#ifdef BOOST_MEM_FN_ENABLE_FASTCALL\r
+\r
+#define BOOST_MEM_FN_NAME(X) X##_fastcall\r
+#define BOOST_MEM_FN_CC __fastcall\r
+\r
+#include <boost/bind/mem_fn_template.hpp>\r
+\r
+#undef BOOST_MEM_FN_CC\r
+#undef BOOST_MEM_FN_NAME\r
+\r
+#endif\r
+\r
+#undef BOOST_MEM_FN_RETURN\r
+\r
+} // namespace _mfi\r
+\r
+#undef BOOST_MEM_FN_CLASS_F\r
+#undef BOOST_MEM_FN_TYPEDEF\r
+\r
+#endif // #ifdef BOOST_NO_VOID_RETURNS\r
+\r
+#define BOOST_MEM_FN_NAME(X) X\r
+#define BOOST_MEM_FN_CC\r
+\r
+#include <boost/bind/mem_fn_cc.hpp>\r
+\r
+#undef BOOST_MEM_FN_NAME\r
+#undef BOOST_MEM_FN_CC\r
+\r
+#ifdef BOOST_MEM_FN_ENABLE_CDECL\r
+\r
+#define BOOST_MEM_FN_NAME(X) X##_cdecl\r
+#define BOOST_MEM_FN_CC __cdecl\r
+\r
+#include <boost/bind/mem_fn_cc.hpp>\r
+\r
+#undef BOOST_MEM_FN_NAME\r
+#undef BOOST_MEM_FN_CC\r
+\r
+#endif\r
+\r
+#ifdef BOOST_MEM_FN_ENABLE_STDCALL\r
+\r
+#define BOOST_MEM_FN_NAME(X) X##_stdcall\r
+#define BOOST_MEM_FN_CC __stdcall\r
+\r
+#include <boost/bind/mem_fn_cc.hpp>\r
+\r
+#undef BOOST_MEM_FN_NAME\r
+#undef BOOST_MEM_FN_CC\r
+\r
+#endif\r
+\r
+#ifdef BOOST_MEM_FN_ENABLE_FASTCALL\r
+\r
+#define BOOST_MEM_FN_NAME(X) X##_fastcall\r
+#define BOOST_MEM_FN_CC __fastcall\r
+\r
+#include <boost/bind/mem_fn_cc.hpp>\r
+\r
+#undef BOOST_MEM_FN_NAME\r
+#undef BOOST_MEM_FN_CC\r
+\r
+#endif\r
+\r
+// data member support\r
+\r
+namespace _mfi\r
+{\r
+\r
+template<class R, class T> class dm\r
+{\r
+public:\r
+\r
+    typedef R const & result_type;\r
+    typedef T const * argument_type;\r
+\r
+private:\r
+    \r
+    typedef R (T::*F);\r
+    F f_;\r
+\r
+    template<class U> R const & call(U & u, T const *) const\r
+    {\r
+        return (u.*f_);\r
+    }\r
+\r
+    template<class U> R const & call(U & u, void const *) const\r
+    {\r
+        return (get_pointer(u)->*f_);\r
+    }\r
+\r
+public:\r
+    \r
+    explicit dm(F f): f_(f) {}\r
+\r
+    R & operator()(T * p) const\r
+    {\r
+        return (p->*f_);\r
+    }\r
+\r
+    R const & operator()(T const * p) const\r
+    {\r
+        return (p->*f_);\r
+    }\r
+\r
+    template<class U> R const & operator()(U const & u) const\r
+    {\r
+        return call(u, &u);\r
+    }\r
+\r
+#if !BOOST_WORKAROUND(BOOST_MSVC, <= 1300) && !BOOST_WORKAROUND(__MWERKS__, < 0x3200)\r
+\r
+    R & operator()(T & t) const\r
+    {\r
+        return (t.*f_);\r
+    }\r
+\r
+    R const & operator()(T const & t) const\r
+    {\r
+        return (t.*f_);\r
+    }\r
+\r
+#endif\r
+\r
+    bool operator==(dm const & rhs) const\r
+    {\r
+        return f_ == rhs.f_;\r
+    }\r
+\r
+    bool operator!=(dm const & rhs) const\r
+    {\r
+        return f_ != rhs.f_;\r
+    }\r
+};\r
+\r
+} // namespace _mfi\r
+\r
+template<class R, class T> _mfi::dm<R, T> mem_fn(R T::*f)\r
+{\r
+    return _mfi::dm<R, T>(f);\r
+}\r
+\r
+} // namespace boost\r
+\r
+#endif // #ifndef BOOST_BIND_MEM_FN_HPP_INCLUDED\r
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 (file)
index 0000000..afc35bf
--- /dev/null
@@ -0,0 +1,103 @@
+//\r
+//  bind/mem_fn_cc.hpp - support for different calling conventions\r
+//\r
+//  Do not include this header directly.\r
+//\r
+//  Copyright (c) 2001 Peter Dimov and Multi Media Ltd.\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. (See\r
+// accompanying file LICENSE_1_0.txt or copy at\r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+//  See http://www.boost.org/libs/bind/mem_fn.html for documentation.\r
+//\r
+\r
+template<class R, class T> _mfi::BOOST_MEM_FN_NAME(mf0)<R, T> mem_fn(R (BOOST_MEM_FN_CC T::*f) ())\r
+{\r
+    return _mfi::BOOST_MEM_FN_NAME(mf0)<R, T>(f);\r
+}\r
+\r
+template<class R, class T> _mfi::BOOST_MEM_FN_NAME(cmf0)<R, T> mem_fn(R (BOOST_MEM_FN_CC T::*f) () const)\r
+{\r
+    return _mfi::BOOST_MEM_FN_NAME(cmf0)<R, T>(f);\r
+}\r
+\r
+template<class R, class T, class A1> _mfi::BOOST_MEM_FN_NAME(mf1)<R, T, A1> mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1))\r
+{\r
+    return _mfi::BOOST_MEM_FN_NAME(mf1)<R, T, A1>(f);\r
+}\r
+\r
+template<class R, class T, class A1> _mfi::BOOST_MEM_FN_NAME(cmf1)<R, T, A1> mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1) const)\r
+{\r
+    return _mfi::BOOST_MEM_FN_NAME(cmf1)<R, T, A1>(f);\r
+}\r
+\r
+template<class R, class T, class A1, class A2> _mfi::BOOST_MEM_FN_NAME(mf2)<R, T, A1, A2> mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2))\r
+{\r
+    return _mfi::BOOST_MEM_FN_NAME(mf2)<R, T, A1, A2>(f);\r
+}\r
+\r
+template<class R, class T, class A1, class A2> _mfi::BOOST_MEM_FN_NAME(cmf2)<R, T, A1, A2> mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2) const)\r
+{\r
+    return _mfi::BOOST_MEM_FN_NAME(cmf2)<R, T, A1, A2>(f);\r
+}\r
+\r
+template<class R, class T, class A1, class A2, class A3> _mfi::BOOST_MEM_FN_NAME(mf3)<R, T, A1, A2, A3> mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2, A3))\r
+{\r
+    return _mfi::BOOST_MEM_FN_NAME(mf3)<R, T, A1, A2, A3>(f);\r
+}\r
+\r
+template<class R, class T, class A1, class A2, class A3> _mfi::BOOST_MEM_FN_NAME(cmf3)<R, T, A1, A2, A3> mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2, A3) const)\r
+{\r
+    return _mfi::BOOST_MEM_FN_NAME(cmf3)<R, T, A1, A2, A3>(f);\r
+}\r
+\r
+template<class R, class T, class A1, class A2, class A3, class A4> _mfi::BOOST_MEM_FN_NAME(mf4)<R, T, A1, A2, A3, A4> mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2, A3, A4))\r
+{\r
+    return _mfi::BOOST_MEM_FN_NAME(mf4)<R, T, A1, A2, A3, A4>(f);\r
+}\r
+\r
+template<class R, class T, class A1, class A2, class A3, class A4> _mfi::BOOST_MEM_FN_NAME(cmf4)<R, T, A1, A2, A3, A4> mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2, A3, A4) const)\r
+{\r
+    return _mfi::BOOST_MEM_FN_NAME(cmf4)<R, T, A1, A2, A3, A4>(f);\r
+}\r
+\r
+template<class R, class T, class A1, class A2, class A3, class A4, class A5> _mfi::BOOST_MEM_FN_NAME(mf5)<R, T, A1, A2, A3, A4, A5> mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2, A3, A4, A5))\r
+{\r
+    return _mfi::BOOST_MEM_FN_NAME(mf5)<R, T, A1, A2, A3, A4, A5>(f);\r
+}\r
+\r
+template<class R, class T, class A1, class A2, class A3, class A4, class A5> _mfi::BOOST_MEM_FN_NAME(cmf5)<R, T, A1, A2, A3, A4, A5> mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2, A3, A4, A5) const)\r
+{\r
+    return _mfi::BOOST_MEM_FN_NAME(cmf5)<R, T, A1, A2, A3, A4, A5>(f);\r
+}\r
+\r
+template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6> _mfi::BOOST_MEM_FN_NAME(mf6)<R, T, A1, A2, A3, A4, A5, A6> mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2, A3, A4, A5, A6))\r
+{\r
+    return _mfi::BOOST_MEM_FN_NAME(mf6)<R, T, A1, A2, A3, A4, A5, A6>(f);\r
+}\r
+\r
+template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6> _mfi::BOOST_MEM_FN_NAME(cmf6)<R, T, A1, A2, A3, A4, A5, A6> mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2, A3, A4, A5, A6) const)\r
+{\r
+    return _mfi::BOOST_MEM_FN_NAME(cmf6)<R, T, A1, A2, A3, A4, A5, A6>(f);\r
+}\r
+\r
+template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6, class A7> _mfi::BOOST_MEM_FN_NAME(mf7)<R, T, A1, A2, A3, A4, A5, A6, A7> mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2, A3, A4, A5, A6, A7))\r
+{\r
+    return _mfi::BOOST_MEM_FN_NAME(mf7)<R, T, A1, A2, A3, A4, A5, A6, A7>(f);\r
+}\r
+\r
+template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6, class A7> _mfi::BOOST_MEM_FN_NAME(cmf7)<R, T, A1, A2, A3, A4, A5, A6, A7> mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2, A3, A4, A5, A6, A7) const)\r
+{\r
+    return _mfi::BOOST_MEM_FN_NAME(cmf7)<R, T, A1, A2, A3, A4, A5, A6, A7>(f);\r
+}\r
+\r
+template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8> _mfi::BOOST_MEM_FN_NAME(mf8)<R, T, A1, A2, A3, A4, A5, A6, A7, A8> mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2, A3, A4, A5, A6, A7, A8))\r
+{\r
+    return _mfi::BOOST_MEM_FN_NAME(mf8)<R, T, A1, A2, A3, A4, A5, A6, A7, A8>(f);\r
+}\r
+\r
+template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8> _mfi::BOOST_MEM_FN_NAME(cmf8)<R, T, A1, A2, A3, A4, A5, A6, A7, A8> mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2, A3, A4, A5, A6, A7, A8) const)\r
+{\r
+    return _mfi::BOOST_MEM_FN_NAME(cmf8)<R, T, A1, A2, A3, A4, A5, A6, A7, A8>(f);\r
+}\r
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 (file)
index 0000000..0392c61
--- /dev/null
@@ -0,0 +1,1047 @@
+//\r
+//  bind/mem_fn_template.hpp\r
+//\r
+//  Do not include this header directly\r
+//\r
+//  Copyright (c) 2001 Peter Dimov and Multi Media Ltd.\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. (See\r
+// accompanying file LICENSE_1_0.txt or copy at\r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+//  See http://www.boost.org/libs/bind/mem_fn.html for documentation.\r
+//\r
+\r
+#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING)\r
+# define BOOST_MEM_FN_ENABLE_CONST_OVERLOADS\r
+#endif\r
+\r
+// mf0\r
+\r
+template<class R, class T BOOST_MEM_FN_CLASS_F> class BOOST_MEM_FN_NAME(mf0)\r
+{\r
+public:\r
+\r
+    typedef R result_type;\r
+    typedef T * argument_type;\r
+\r
+private:\r
+    \r
+    BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) ())\r
+    F f_;\r
+\r
+    template<class U> R call(U & u, T const *) const\r
+    {\r
+        BOOST_MEM_FN_RETURN (u.*f_)();\r
+    }\r
+\r
+    template<class U> R call(U & u, void const *) const\r
+    {\r
+        BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)();\r
+    }\r
+\r
+public:\r
+    \r
+    explicit BOOST_MEM_FN_NAME(mf0)(F f): f_(f) {}\r
+\r
+    R operator()(T * p) const\r
+    {\r
+        BOOST_MEM_FN_RETURN (p->*f_)();\r
+    }\r
+\r
+    template<class U> R operator()(U & u) const\r
+    {\r
+        U const * p = 0;\r
+        BOOST_MEM_FN_RETURN call(u, p);\r
+    }\r
+\r
+#ifdef BOOST_MEM_FN_ENABLE_CONST_OVERLOADS\r
+\r
+    template<class U> R operator()(U const & u) const\r
+    {\r
+        U const * p = 0;\r
+        BOOST_MEM_FN_RETURN call(u, p);\r
+    }\r
+\r
+#endif\r
+\r
+    R operator()(T & t) const\r
+    {\r
+        BOOST_MEM_FN_RETURN (t.*f_)();\r
+    }\r
+\r
+    bool operator==(BOOST_MEM_FN_NAME(mf0) const & rhs) const\r
+    {\r
+        return f_ == rhs.f_;\r
+    }\r
+\r
+    bool operator!=(BOOST_MEM_FN_NAME(mf0) const & rhs) const\r
+    {\r
+        return f_ != rhs.f_;\r
+    }\r
+};\r
+\r
+// cmf0\r
+\r
+template<class R, class T BOOST_MEM_FN_CLASS_F> class BOOST_MEM_FN_NAME(cmf0)\r
+{\r
+public:\r
+\r
+    typedef R result_type;\r
+    typedef T const * argument_type;\r
+\r
+private:\r
+    \r
+    BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) () const)\r
+    F f_;\r
+\r
+    template<class U> R call(U & u, T const *) const\r
+    {\r
+        BOOST_MEM_FN_RETURN (u.*f_)();\r
+    }\r
+\r
+    template<class U> R call(U & u, void const *) const\r
+    {\r
+        BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)();\r
+    }\r
+\r
+public:\r
+    \r
+    explicit BOOST_MEM_FN_NAME(cmf0)(F f): f_(f) {}\r
+\r
+    template<class U> R operator()(U const & u) const\r
+    {\r
+        U const * p = 0;\r
+        BOOST_MEM_FN_RETURN call(u, p);\r
+    }\r
+\r
+    R operator()(T const & t) const\r
+    {\r
+        BOOST_MEM_FN_RETURN (t.*f_)();\r
+    }\r
+\r
+    bool operator==(BOOST_MEM_FN_NAME(cmf0) const & rhs) const\r
+    {\r
+        return f_ == rhs.f_;\r
+    }\r
+\r
+    bool operator!=(BOOST_MEM_FN_NAME(cmf0) const & rhs) const\r
+    {\r
+        return f_ != rhs.f_;\r
+    }\r
+};\r
+\r
+// mf1\r
+\r
+template<class R, class T, class A1 BOOST_MEM_FN_CLASS_F> class BOOST_MEM_FN_NAME(mf1)\r
+{\r
+public:\r
+\r
+    typedef R result_type;\r
+    typedef T * first_argument_type;\r
+    typedef A1 second_argument_type;\r
+\r
+private:\r
+    \r
+    BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1))\r
+    F f_;\r
+\r
+    template<class U, class B1> R call(U & u, T const *, B1 & b1) const\r
+    {\r
+        BOOST_MEM_FN_RETURN (u.*f_)(b1);\r
+    }\r
+\r
+    template<class U, class B1> R call(U & u, void const *, B1 & b1) const\r
+    {\r
+        BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1);\r
+    }\r
+\r
+public:\r
+    \r
+    explicit BOOST_MEM_FN_NAME(mf1)(F f): f_(f) {}\r
+\r
+    R operator()(T * p, A1 a1) const\r
+    {\r
+        BOOST_MEM_FN_RETURN (p->*f_)(a1);\r
+    }\r
+\r
+    template<class U> R operator()(U & u, A1 a1) const\r
+    {\r
+        U const * p = 0;\r
+        BOOST_MEM_FN_RETURN call(u, p, a1);\r
+    }\r
+\r
+#ifdef BOOST_MEM_FN_ENABLE_CONST_OVERLOADS\r
+\r
+    template<class U> R operator()(U const & u, A1 a1) const\r
+    {\r
+        U const * p = 0;\r
+        BOOST_MEM_FN_RETURN call(u, p, a1);\r
+    }\r
+\r
+#endif\r
+\r
+    R operator()(T & t, A1 a1) const\r
+    {\r
+        BOOST_MEM_FN_RETURN (t.*f_)(a1);\r
+    }\r
+\r
+    bool operator==(BOOST_MEM_FN_NAME(mf1) const & rhs) const\r
+    {\r
+        return f_ == rhs.f_;\r
+    }\r
+\r
+    bool operator!=(BOOST_MEM_FN_NAME(mf1) const & rhs) const\r
+    {\r
+        return f_ != rhs.f_;\r
+    }\r
+};\r
+\r
+// cmf1\r
+\r
+template<class R, class T, class A1 BOOST_MEM_FN_CLASS_F> class BOOST_MEM_FN_NAME(cmf1)\r
+{\r
+public:\r
+\r
+    typedef R result_type;\r
+    typedef T const * first_argument_type;\r
+    typedef A1 second_argument_type;\r
+\r
+private:\r
+    \r
+    BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1) const)\r
+    F f_;\r
+\r
+    template<class U, class B1> R call(U & u, T const *, B1 & b1) const\r
+    {\r
+        BOOST_MEM_FN_RETURN (u.*f_)(b1);\r
+    }\r
+\r
+    template<class U, class B1> R call(U & u, void const *, B1 & b1) const\r
+    {\r
+        BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1);\r
+    }\r
+\r
+public:\r
+    \r
+    explicit BOOST_MEM_FN_NAME(cmf1)(F f): f_(f) {}\r
+\r
+    template<class U> R operator()(U const & u, A1 a1) const\r
+    {\r
+        U const * p = 0;\r
+        BOOST_MEM_FN_RETURN call(u, p, a1);\r
+    }\r
+\r
+    R operator()(T const & t, A1 a1) const\r
+    {\r
+        BOOST_MEM_FN_RETURN (t.*f_)(a1);\r
+    }\r
+\r
+    bool operator==(BOOST_MEM_FN_NAME(cmf1) const & rhs) const\r
+    {\r
+        return f_ == rhs.f_;\r
+    }\r
+\r
+    bool operator!=(BOOST_MEM_FN_NAME(cmf1) const & rhs) const\r
+    {\r
+        return f_ != rhs.f_;\r
+    }\r
+};\r
+\r
+// mf2\r
+\r
+template<class R, class T, class A1, class A2 BOOST_MEM_FN_CLASS_F> class BOOST_MEM_FN_NAME(mf2)\r
+{\r
+public:\r
+\r
+    typedef R result_type;\r
+\r
+private:\r
+    \r
+    BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1, A2))\r
+    F f_;\r
+\r
+    template<class U, class B1, class B2> R call(U & u, T const *, B1 & b1, B2 & b2) const\r
+    {\r
+        BOOST_MEM_FN_RETURN (u.*f_)(b1, b2);\r
+    }\r
+\r
+    template<class U, class B1, class B2> R call(U & u, void const *, B1 & b1, B2 & b2) const\r
+    {\r
+        BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2);\r
+    }\r
+\r
+public:\r
+    \r
+    explicit BOOST_MEM_FN_NAME(mf2)(F f): f_(f) {}\r
+\r
+    R operator()(T * p, A1 a1, A2 a2) const\r
+    {\r
+        BOOST_MEM_FN_RETURN (p->*f_)(a1, a2);\r
+    }\r
+\r
+    template<class U> R operator()(U & u, A1 a1, A2 a2) const\r
+    {\r
+        U const * p = 0;\r
+        BOOST_MEM_FN_RETURN call(u, p, a1, a2);\r
+    }\r
+\r
+#ifdef BOOST_MEM_FN_ENABLE_CONST_OVERLOADS\r
+\r
+    template<class U> R operator()(U const & u, A1 a1, A2 a2) const\r
+    {\r
+        U const * p = 0;\r
+        BOOST_MEM_FN_RETURN call(u, p, a1, a2);\r
+    }\r
+\r
+#endif\r
+\r
+    R operator()(T & t, A1 a1, A2 a2) const\r
+    {\r
+        BOOST_MEM_FN_RETURN (t.*f_)(a1, a2);\r
+    }\r
+\r
+    bool operator==(BOOST_MEM_FN_NAME(mf2) const & rhs) const\r
+    {\r
+        return f_ == rhs.f_;\r
+    }\r
+\r
+    bool operator!=(BOOST_MEM_FN_NAME(mf2) const & rhs) const\r
+    {\r
+        return f_ != rhs.f_;\r
+    }\r
+};\r
+\r
+// cmf2\r
+\r
+template<class R, class T, class A1, class A2 BOOST_MEM_FN_CLASS_F> class BOOST_MEM_FN_NAME(cmf2)\r
+{\r
+public:\r
+\r
+    typedef R result_type;\r
+\r
+private:\r
+    \r
+    BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1, A2) const)\r
+    F f_;\r
+\r
+    template<class U, class B1, class B2> R call(U & u, T const *, B1 & b1, B2 & b2) const\r
+    {\r
+        BOOST_MEM_FN_RETURN (u.*f_)(b1, b2);\r
+    }\r
+\r
+    template<class U, class B1, class B2> R call(U & u, void const *, B1 & b1, B2 & b2) const\r
+    {\r
+        BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2);\r
+    }\r
+\r
+public:\r
+    \r
+    explicit BOOST_MEM_FN_NAME(cmf2)(F f): f_(f) {}\r
+\r
+    template<class U> R operator()(U const & u, A1 a1, A2 a2) const\r
+    {\r
+        U const * p = 0;\r
+        BOOST_MEM_FN_RETURN call(u, p, a1, a2);\r
+    }\r
+\r
+    R operator()(T const & t, A1 a1, A2 a2) const\r
+    {\r
+        BOOST_MEM_FN_RETURN (t.*f_)(a1, a2);\r
+    }\r
+\r
+    bool operator==(BOOST_MEM_FN_NAME(cmf2) const & rhs) const\r
+    {\r
+        return f_ == rhs.f_;\r
+    }\r
+\r
+    bool operator!=(BOOST_MEM_FN_NAME(cmf2) const & rhs) const\r
+    {\r
+        return f_ != rhs.f_;\r
+    }\r
+};\r
+\r
+// mf3\r
+\r
+template<class R, class T, class A1, class A2, class A3 BOOST_MEM_FN_CLASS_F> class BOOST_MEM_FN_NAME(mf3)\r
+{\r
+public:\r
+\r
+    typedef R result_type;\r
+\r
+private:\r
+    \r
+    BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3))\r
+    F f_;\r
+\r
+    template<class U, class B1, class B2, class B3> R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3) const\r
+    {\r
+        BOOST_MEM_FN_RETURN (u.*f_)(b1, b2, b3);\r
+    }\r
+\r
+    template<class U, class B1, class B2, class B3> R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3) const\r
+    {\r
+        BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2, b3);\r
+    }\r
+\r
+public:\r
+    \r
+    explicit BOOST_MEM_FN_NAME(mf3)(F f): f_(f) {}\r
+\r
+    R operator()(T * p, A1 a1, A2 a2, A3 a3) const\r
+    {\r
+        BOOST_MEM_FN_RETURN (p->*f_)(a1, a2, a3);\r
+    }\r
+\r
+    template<class U> R operator()(U & u, A1 a1, A2 a2, A3 a3) const\r
+    {\r
+        U const * p = 0;\r
+        BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3);\r
+    }\r
+\r
+#ifdef BOOST_MEM_FN_ENABLE_CONST_OVERLOADS\r
+\r
+    template<class U> R operator()(U const & u, A1 a1, A2 a2, A3 a3) const\r
+    {\r
+        U const * p = 0;\r
+        BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3);\r
+    }\r
+\r
+#endif\r
+\r
+    R operator()(T & t, A1 a1, A2 a2, A3 a3) const\r
+    {\r
+        BOOST_MEM_FN_RETURN (t.*f_)(a1, a2, a3);\r
+    }\r
+\r
+    bool operator==(BOOST_MEM_FN_NAME(mf3) const & rhs) const\r
+    {\r
+        return f_ == rhs.f_;\r
+    }\r
+\r
+    bool operator!=(BOOST_MEM_FN_NAME(mf3) const & rhs) const\r
+    {\r
+        return f_ != rhs.f_;\r
+    }\r
+};\r
+\r
+// cmf3\r
+\r
+template<class R, class T, class A1, class A2, class A3 BOOST_MEM_FN_CLASS_F> class BOOST_MEM_FN_NAME(cmf3)\r
+{\r
+public:\r
+\r
+    typedef R result_type;\r
+\r
+private:\r
+\r
+    BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3) const)\r
+    F f_;\r
+\r
+    template<class U, class B1, class B2, class B3> R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3) const\r
+    {\r
+        BOOST_MEM_FN_RETURN (u.*f_)(b1, b2, b3);\r
+    }\r
+\r
+    template<class U, class B1, class B2, class B3> R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3) const\r
+    {\r
+        BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2, b3);\r
+    }\r
+\r
+public:\r
+\r
+    explicit BOOST_MEM_FN_NAME(cmf3)(F f): f_(f) {}\r
+\r
+    template<class U> R operator()(U const & u, A1 a1, A2 a2, A3 a3) const\r
+    {\r
+        U const * p = 0;\r
+        BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3);\r
+    }\r
+\r
+    R operator()(T const & t, A1 a1, A2 a2, A3 a3) const\r
+    {\r
+        BOOST_MEM_FN_RETURN (t.*f_)(a1, a2, a3);\r
+    }\r
+\r
+    bool operator==(BOOST_MEM_FN_NAME(cmf3) const & rhs) const\r
+    {\r
+        return f_ == rhs.f_;\r
+    }\r
+\r
+    bool operator!=(BOOST_MEM_FN_NAME(cmf3) const & rhs) const\r
+    {\r
+        return f_ != rhs.f_;\r
+    }\r
+};\r
+\r
+// mf4\r
+\r
+template<class R, class T, class A1, class A2, class A3, class A4 BOOST_MEM_FN_CLASS_F> class BOOST_MEM_FN_NAME(mf4)\r
+{\r
+public:\r
+\r
+    typedef R result_type;\r
+\r
+private:\r
+    \r
+    BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4))\r
+    F f_;\r
+\r
+    template<class U, class B1, class B2, class B3, class B4> R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4) const\r
+    {\r
+        BOOST_MEM_FN_RETURN (u.*f_)(b1, b2, b3, b4);\r
+    }\r
+\r
+    template<class U, class B1, class B2, class B3, class B4> R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4) const\r
+    {\r
+        BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2, b3, b4);\r
+    }\r
+\r
+public:\r
+    \r
+    explicit BOOST_MEM_FN_NAME(mf4)(F f): f_(f) {}\r
+\r
+    R operator()(T * p, A1 a1, A2 a2, A3 a3, A4 a4) const\r
+    {\r
+        BOOST_MEM_FN_RETURN (p->*f_)(a1, a2, a3, a4);\r
+    }\r
+\r
+    template<class U> R operator()(U & u, A1 a1, A2 a2, A3 a3, A4 a4) const\r
+    {\r
+        U const * p = 0;\r
+        BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4);\r
+    }\r
+\r
+#ifdef BOOST_MEM_FN_ENABLE_CONST_OVERLOADS\r
+\r
+    template<class U> R operator()(U const & u, A1 a1, A2 a2, A3 a3, A4 a4) const\r
+    {\r
+        U const * p = 0;\r
+        BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4);\r
+    }\r
+\r
+#endif\r
+\r
+    R operator()(T & t, A1 a1, A2 a2, A3 a3, A4 a4) const\r
+    {\r
+        BOOST_MEM_FN_RETURN (t.*f_)(a1, a2, a3, a4);\r
+    }\r
+\r
+    bool operator==(BOOST_MEM_FN_NAME(mf4) const & rhs) const\r
+    {\r
+        return f_ == rhs.f_;\r
+    }\r
+\r
+    bool operator!=(BOOST_MEM_FN_NAME(mf4) const & rhs) const\r
+    {\r
+        return f_ != rhs.f_;\r
+    }\r
+};\r
+\r
+// cmf4\r
+\r
+template<class R, class T, class A1, class A2, class A3, class A4 BOOST_MEM_FN_CLASS_F> class BOOST_MEM_FN_NAME(cmf4)\r
+{\r
+public:\r
+\r
+    typedef R result_type;\r
+\r
+private:\r
+    \r
+    BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4) const)\r
+    F f_;\r
+\r
+    template<class U, class B1, class B2, class B3, class B4> R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4) const\r
+    {\r
+        BOOST_MEM_FN_RETURN (u.*f_)(b1, b2, b3, b4);\r
+    }\r
+\r
+    template<class U, class B1, class B2, class B3, class B4> R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4) const\r
+    {\r
+        BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2, b3, b4);\r
+    }\r
+\r
+public:\r
+    \r
+    explicit BOOST_MEM_FN_NAME(cmf4)(F f): f_(f) {}\r
+\r
+    template<class U> R operator()(U const & u, A1 a1, A2 a2, A3 a3, A4 a4) const\r
+    {\r
+        U const * p = 0;\r
+        BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4);\r
+    }\r
+\r
+    R operator()(T const & t, A1 a1, A2 a2, A3 a3, A4 a4) const\r
+    {\r
+        BOOST_MEM_FN_RETURN (t.*f_)(a1, a2, a3, a4);\r
+    }\r
+\r
+    bool operator==(BOOST_MEM_FN_NAME(cmf4) const & rhs) const\r
+    {\r
+        return f_ == rhs.f_;\r
+    }\r
+\r
+    bool operator!=(BOOST_MEM_FN_NAME(cmf4) const & rhs) const\r
+    {\r
+        return f_ != rhs.f_;\r
+    }\r
+};\r
+\r
+// mf5\r
+\r
+template<class R, class T, class A1, class A2, class A3, class A4, class A5 BOOST_MEM_FN_CLASS_F> class BOOST_MEM_FN_NAME(mf5)\r
+{\r
+public:\r
+\r
+    typedef R result_type;\r
+\r
+private:\r
+    \r
+    BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5))\r
+    F f_;\r
+\r
+    template<class U, class B1, class B2, class B3, class B4, class B5> R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5) const\r
+    {\r
+        BOOST_MEM_FN_RETURN (u.*f_)(b1, b2, b3, b4, b5);\r
+    }\r
+\r
+    template<class U, class B1, class B2, class B3, class B4, class B5> R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5) const\r
+    {\r
+        BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2, b3, b4, b5);\r
+    }\r
+\r
+public:\r
+    \r
+    explicit BOOST_MEM_FN_NAME(mf5)(F f): f_(f) {}\r
+\r
+    R operator()(T * p, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) const\r
+    {\r
+        BOOST_MEM_FN_RETURN (p->*f_)(a1, a2, a3, a4, a5);\r
+    }\r
+\r
+    template<class U> R operator()(U & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) const\r
+    {\r
+        U const * p = 0;\r
+        BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4, a5);\r
+    }\r
+\r
+#ifdef BOOST_MEM_FN_ENABLE_CONST_OVERLOADS\r
+\r
+    template<class U> R operator()(U const & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) const\r
+    {\r
+        U const * p = 0;\r
+        BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4, a5);\r
+    }\r
+\r
+#endif\r
+\r
+    R operator()(T & t, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) const\r
+    {\r
+        BOOST_MEM_FN_RETURN (t.*f_)(a1, a2, a3, a4, a5);\r
+    }\r
+\r
+    bool operator==(BOOST_MEM_FN_NAME(mf5) const & rhs) const\r
+    {\r
+        return f_ == rhs.f_;\r
+    }\r
+\r
+    bool operator!=(BOOST_MEM_FN_NAME(mf5) const & rhs) const\r
+    {\r
+        return f_ != rhs.f_;\r
+    }\r
+};\r
+\r
+// cmf5\r
+\r
+template<class R, class T, class A1, class A2, class A3, class A4, class A5 BOOST_MEM_FN_CLASS_F> class BOOST_MEM_FN_NAME(cmf5)\r
+{\r
+public:\r
+\r
+    typedef R result_type;\r
+\r
+private:\r
+    \r
+    BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5) const)\r
+    F f_;\r
+\r
+    template<class U, class B1, class B2, class B3, class B4, class B5> R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5) const\r
+    {\r
+        BOOST_MEM_FN_RETURN (u.*f_)(b1, b2, b3, b4, b5);\r
+    }\r
+\r
+    template<class U, class B1, class B2, class B3, class B4, class B5> R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5) const\r
+    {\r
+        BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2, b3, b4, b5);\r
+    }\r
+\r
+public:\r
+    \r
+    explicit BOOST_MEM_FN_NAME(cmf5)(F f): f_(f) {}\r
+\r
+    template<class U> R operator()(U const & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) const\r
+    {\r
+        U const * p = 0;\r
+        BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4, a5);\r
+    }\r
+\r
+    R operator()(T const & t, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) const\r
+    {\r
+        BOOST_MEM_FN_RETURN (t.*f_)(a1, a2, a3, a4, a5);\r
+    }\r
+\r
+    bool operator==(BOOST_MEM_FN_NAME(cmf5) const & rhs) const\r
+    {\r
+        return f_ == rhs.f_;\r
+    }\r
+\r
+    bool operator!=(BOOST_MEM_FN_NAME(cmf5) const & rhs) const\r
+    {\r
+        return f_ != rhs.f_;\r
+    }\r
+};\r
+\r
+// mf6\r
+\r
+template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6 BOOST_MEM_FN_CLASS_F> class BOOST_MEM_FN_NAME(mf6)\r
+{\r
+public:\r
+\r
+    typedef R result_type;\r
+\r
+private:\r
+\r
+    BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6))\r
+    F f_;\r
+\r
+    template<class U, class B1, class B2, class B3, class B4, class B5, class B6> R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6) const\r
+    {\r
+        BOOST_MEM_FN_RETURN (u.*f_)(b1, b2, b3, b4, b5, b6);\r
+    }\r
+\r
+    template<class U, class B1, class B2, class B3, class B4, class B5, class B6> R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6) const\r
+    {\r
+        BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2, b3, b4, b5, b6);\r
+    }\r
+\r
+public:\r
+\r
+    explicit BOOST_MEM_FN_NAME(mf6)(F f): f_(f) {}\r
+\r
+    R operator()(T * p, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) const\r
+    {\r
+        BOOST_MEM_FN_RETURN (p->*f_)(a1, a2, a3, a4, a5, a6);\r
+    }\r
+\r
+    template<class U> R operator()(U & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) const\r
+    {\r
+        U const * p = 0;\r
+        BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4, a5, a6);\r
+    }\r
+\r
+#ifdef BOOST_MEM_FN_ENABLE_CONST_OVERLOADS\r
+\r
+    template<class U> R operator()(U const & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) const\r
+    {\r
+        U const * p = 0;\r
+        BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4, a5, a6);\r
+    }\r
+\r
+#endif\r
+\r
+    R operator()(T & t, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) const\r
+    {\r
+        BOOST_MEM_FN_RETURN (t.*f_)(a1, a2, a3, a4, a5, a6);\r
+    }\r
+\r
+    bool operator==(BOOST_MEM_FN_NAME(mf6) const & rhs) const\r
+    {\r
+        return f_ == rhs.f_;\r
+    }\r
+\r
+    bool operator!=(BOOST_MEM_FN_NAME(mf6) const & rhs) const\r
+    {\r
+        return f_ != rhs.f_;\r
+    }\r
+};\r
+\r
+// cmf6\r
+\r
+template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6 BOOST_MEM_FN_CLASS_F> class BOOST_MEM_FN_NAME(cmf6)\r
+{\r
+public:\r
+\r
+    typedef R result_type;\r
+\r
+private:\r
+    \r
+    BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6) const)\r
+    F f_;\r
+\r
+    template<class U, class B1, class B2, class B3, class B4, class B5, class B6> R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6) const\r
+    {\r
+        BOOST_MEM_FN_RETURN (u.*f_)(b1, b2, b3, b4, b5, b6);\r
+    }\r
+\r
+    template<class U, class B1, class B2, class B3, class B4, class B5, class B6> R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6) const\r
+    {\r
+        BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2, b3, b4, b5, b6);\r
+    }\r
+\r
+public:\r
+    \r
+    explicit BOOST_MEM_FN_NAME(cmf6)(F f): f_(f) {}\r
+\r
+    template<class U> R operator()(U const & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) const\r
+    {\r
+        U const * p = 0;\r
+        BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4, a5, a6);\r
+    }\r
+\r
+    R operator()(T const & t, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) const\r
+    {\r
+        BOOST_MEM_FN_RETURN (t.*f_)(a1, a2, a3, a4, a5, a6);\r
+    }\r
+\r
+    bool operator==(BOOST_MEM_FN_NAME(cmf6) const & rhs) const\r
+    {\r
+        return f_ == rhs.f_;\r
+    }\r
+\r
+    bool operator!=(BOOST_MEM_FN_NAME(cmf6) const & rhs) const\r
+    {\r
+        return f_ != rhs.f_;\r
+    }\r
+};\r
+\r
+// mf7\r
+\r
+template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6, class A7 BOOST_MEM_FN_CLASS_F> class BOOST_MEM_FN_NAME(mf7)\r
+{\r
+public:\r
+\r
+    typedef R result_type;\r
+\r
+private:\r
+    \r
+    BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6, A7))\r
+    F f_;\r
+\r
+    template<class U, class B1, class B2, class B3, class B4, class B5, class B6, class B7> R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6, B7 & b7) const\r
+    {\r
+        BOOST_MEM_FN_RETURN (u.*f_)(b1, b2, b3, b4, b5, b6, b7);\r
+    }\r
+\r
+    template<class U, class B1, class B2, class B3, class B4, class B5, class B6, class B7> R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6, B7 & b7) const\r
+    {\r
+        BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2, b3, b4, b5, b6, b7);\r
+    }\r
+\r
+public:\r
+    \r
+    explicit BOOST_MEM_FN_NAME(mf7)(F f): f_(f) {}\r
+\r
+    R operator()(T * p, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) const\r
+    {\r
+        BOOST_MEM_FN_RETURN (p->*f_)(a1, a2, a3, a4, a5, a6, a7);\r
+    }\r
+\r
+    template<class U> R operator()(U & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) const\r
+    {\r
+        U const * p = 0;\r
+        BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4, a5, a6, a7);\r
+    }\r
+\r
+#ifdef BOOST_MEM_FN_ENABLE_CONST_OVERLOADS\r
+\r
+    template<class U> R operator()(U const & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) const\r
+    {\r
+        U const * p = 0;\r
+        BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4, a5, a6, a7);\r
+    }\r
+\r
+#endif\r
+\r
+    R operator()(T & t, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) const\r
+    {\r
+        BOOST_MEM_FN_RETURN (t.*f_)(a1, a2, a3, a4, a5, a6, a7);\r
+    }\r
+\r
+    bool operator==(BOOST_MEM_FN_NAME(mf7) const & rhs) const\r
+    {\r
+        return f_ == rhs.f_;\r
+    }\r
+\r
+    bool operator!=(BOOST_MEM_FN_NAME(mf7) const & rhs) const\r
+    {\r
+        return f_ != rhs.f_;\r
+    }\r
+};\r
+\r
+// cmf7\r
+\r
+template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6, class A7 BOOST_MEM_FN_CLASS_F> class BOOST_MEM_FN_NAME(cmf7)\r
+{\r
+public:\r
+\r
+    typedef R result_type;\r
+\r
+private:\r
+    \r
+    BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6, A7) const)\r
+    F f_;\r
+\r
+    template<class U, class B1, class B2, class B3, class B4, class B5, class B6, class B7> R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6, B7 & b7) const\r
+    {\r
+        BOOST_MEM_FN_RETURN (u.*f_)(b1, b2, b3, b4, b5, b6, b7);\r
+    }\r
+\r
+    template<class U, class B1, class B2, class B3, class B4, class B5, class B6, class B7> R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6, B7 & b7) const\r
+    {\r
+        BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2, b3, b4, b5, b6, b7);\r
+    }\r
+\r
+public:\r
+    \r
+    explicit BOOST_MEM_FN_NAME(cmf7)(F f): f_(f) {}\r
+\r
+    template<class U> R operator()(U const & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) const\r
+    {\r
+        U const * p = 0;\r
+        BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4, a5, a6, a7);\r
+    }\r
+\r
+    R operator()(T const & t, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) const\r
+    {\r
+        BOOST_MEM_FN_RETURN (t.*f_)(a1, a2, a3, a4, a5, a6, a7);\r
+    }\r
+\r
+    bool operator==(BOOST_MEM_FN_NAME(cmf7) const & rhs) const\r
+    {\r
+        return f_ == rhs.f_;\r
+    }\r
+\r
+    bool operator!=(BOOST_MEM_FN_NAME(cmf7) const & rhs) const\r
+    {\r
+        return f_ != rhs.f_;\r
+    }\r
+};\r
+\r
+// mf8\r
+\r
+template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8 BOOST_MEM_FN_CLASS_F> class BOOST_MEM_FN_NAME(mf8)\r
+{\r
+public:\r
+\r
+    typedef R result_type;\r
+\r
+private:\r
+    \r
+    BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6, A7, A8))\r
+    F f_;\r
+\r
+    template<class U, class B1, class B2, class B3, class B4, class B5, class B6, class B7, class B8> R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6, B7 & b7, B8 & b8) const\r
+    {\r
+        BOOST_MEM_FN_RETURN (u.*f_)(b1, b2, b3, b4, b5, b6, b7, b8);\r
+    }\r
+\r
+    template<class U, class B1, class B2, class B3, class B4, class B5, class B6, class B7, class B8> R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6, B7 & b7, B8 & b8) const\r
+    {\r
+        BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2, b3, b4, b5, b6, b7, b8);\r
+    }\r
+\r
+public:\r
+    \r
+    explicit BOOST_MEM_FN_NAME(mf8)(F f): f_(f) {}\r
+\r
+    R operator()(T * p, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) const\r
+    {\r
+        BOOST_MEM_FN_RETURN (p->*f_)(a1, a2, a3, a4, a5, a6, a7, a8);\r
+    }\r
+\r
+    template<class U> R operator()(U & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) const\r
+    {\r
+        U const * p = 0;\r
+        BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4, a5, a6, a7, a8);\r
+    }\r
+\r
+#ifdef BOOST_MEM_FN_ENABLE_CONST_OVERLOADS\r
+\r
+    template<class U> R operator()(U const & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) const\r
+    {\r
+        U const * p = 0;\r
+        BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4, a5, a6, a7, a8);\r
+    }\r
+\r
+#endif\r
+\r
+    R operator()(T & t, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) const\r
+    {\r
+        BOOST_MEM_FN_RETURN (t.*f_)(a1, a2, a3, a4, a5, a6, a7, a8);\r
+    }\r
+\r
+    bool operator==(BOOST_MEM_FN_NAME(mf8) const & rhs) const\r
+    {\r
+        return f_ == rhs.f_;\r
+    }\r
+\r
+    bool operator!=(BOOST_MEM_FN_NAME(mf8) const & rhs) const\r
+    {\r
+        return f_ != rhs.f_;\r
+    }\r
+};\r
+\r
+// cmf8\r
+\r
+template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8 BOOST_MEM_FN_CLASS_F> class BOOST_MEM_FN_NAME(cmf8)\r
+{\r
+public:\r
+\r
+    typedef R result_type;\r
+\r
+private:\r
+    \r
+    BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6, A7, A8) const)\r
+    F f_;\r
+\r
+    template<class U, class B1, class B2, class B3, class B4, class B5, class B6, class B7, class B8> R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6, B7 & b7, B8 & b8) const\r
+    {\r
+        BOOST_MEM_FN_RETURN (u.*f_)(b1, b2, b3, b4, b5, b6, b7, b8);\r
+    }\r
+\r
+    template<class U, class B1, class B2, class B3, class B4, class B5, class B6, class B7, class B8> R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6, B7 & b7, B8 & b8) const\r
+    {\r
+        BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2, b3, b4, b5, b6, b7, b8);\r
+    }\r
+\r
+public:\r
+    \r
+    explicit BOOST_MEM_FN_NAME(cmf8)(F f): f_(f) {}\r
+\r
+    R operator()(T const * p, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) const\r
+    {\r
+        BOOST_MEM_FN_RETURN (p->*f_)(a1, a2, a3, a4, a5, a6, a7, a8);\r
+    }\r
+\r
+    template<class U> R operator()(U const & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) const\r
+    {\r
+        U const * p = 0;\r
+        BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4, a5, a6, a7, a8);\r
+    }\r
+\r
+    R operator()(T const & t, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) const\r
+    {\r
+        BOOST_MEM_FN_RETURN (t.*f_)(a1, a2, a3, a4, a5, a6, a7, a8);\r
+    }\r
+\r
+    bool operator==(BOOST_MEM_FN_NAME(cmf8) const & rhs) const\r
+    {\r
+        return f_ == rhs.f_;\r
+    }\r
+\r
+    bool operator!=(BOOST_MEM_FN_NAME(cmf8) const & rhs) const\r
+    {\r
+        return f_ != rhs.f_;\r
+    }\r
+};\r
+\r
+#undef BOOST_MEM_FN_ENABLE_CONST_OVERLOADS\r
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 (file)
index 0000000..7f7daef
--- /dev/null
@@ -0,0 +1,130 @@
+//\r
+//  bind/mem_fn_vw.hpp - void return helper wrappers\r
+//\r
+//  Do not include this header directly\r
+//\r
+//  Copyright (c) 2001 Peter Dimov and Multi Media Ltd.\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. (See\r
+// accompanying file LICENSE_1_0.txt or copy at\r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+//  See http://www.boost.org/libs/bind/mem_fn.html for documentation.\r
+//\r
+\r
+template<class R, class T> struct BOOST_MEM_FN_NAME(mf0): public mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf0)<R, T, R (BOOST_MEM_FN_CC T::*) ()>\r
+{\r
+    typedef R (BOOST_MEM_FN_CC T::*F) ();\r
+    explicit BOOST_MEM_FN_NAME(mf0)(F f): mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf0)<R, T, F>(f) {}\r
+};\r
+\r
+template<class R, class T> struct BOOST_MEM_FN_NAME(cmf0): public mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf0)<R, T, R (BOOST_MEM_FN_CC T::*) () const>\r
+{\r
+    typedef R (BOOST_MEM_FN_CC T::*F) () const;\r
+    explicit BOOST_MEM_FN_NAME(cmf0)(F f): mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf0)<R, T, F>(f) {}\r
+};\r
+\r
+\r
+template<class R, class T, class A1> struct BOOST_MEM_FN_NAME(mf1): public mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf1)<R, T, A1, R (BOOST_MEM_FN_CC T::*) (A1)>\r
+{\r
+    typedef R (BOOST_MEM_FN_CC T::*F) (A1);\r
+    explicit BOOST_MEM_FN_NAME(mf1)(F f): mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf1)<R, T, A1, F>(f) {}\r
+};\r
+\r
+template<class R, class T, class A1> struct BOOST_MEM_FN_NAME(cmf1): public mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf1)<R, T, A1, R (BOOST_MEM_FN_CC T::*) (A1) const>\r
+{\r
+    typedef R (BOOST_MEM_FN_CC T::*F) (A1) const;\r
+    explicit BOOST_MEM_FN_NAME(cmf1)(F f): mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf1)<R, T, A1, F>(f) {}\r
+};\r
+\r
+\r
+template<class R, class T, class A1, class A2> struct BOOST_MEM_FN_NAME(mf2): public mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf2)<R, T, A1, A2, R (BOOST_MEM_FN_CC T::*) (A1, A2)>\r
+{\r
+    typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2);\r
+    explicit BOOST_MEM_FN_NAME(mf2)(F f): mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf2)<R, T, A1, A2, F>(f) {}\r
+};\r
+\r
+template<class R, class T, class A1, class A2> struct BOOST_MEM_FN_NAME(cmf2): public mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf2)<R, T, A1, A2, R (BOOST_MEM_FN_CC T::*) (A1, A2) const>\r
+{\r
+    typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2) const;\r
+    explicit BOOST_MEM_FN_NAME(cmf2)(F f): mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf2)<R, T, A1, A2, F>(f) {}\r
+};\r
+\r
+\r
+template<class R, class T, class A1, class A2, class A3> struct BOOST_MEM_FN_NAME(mf3): public mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf3)<R, T, A1, A2, A3, R (BOOST_MEM_FN_CC T::*) (A1, A2, A3)>\r
+{\r
+    typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3);\r
+    explicit BOOST_MEM_FN_NAME(mf3)(F f): mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf3)<R, T, A1, A2, A3, F>(f) {}\r
+};\r
+\r
+template<class R, class T, class A1, class A2, class A3> struct BOOST_MEM_FN_NAME(cmf3): public mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf3)<R, T, A1, A2, A3, R (BOOST_MEM_FN_CC T::*) (A1, A2, A3) const>\r
+{\r
+    typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3) const;\r
+    explicit BOOST_MEM_FN_NAME(cmf3)(F f): mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf3)<R, T, A1, A2, A3, F>(f) {}\r
+};\r
+\r
+\r
+template<class R, class T, class A1, class A2, class A3, class A4> struct BOOST_MEM_FN_NAME(mf4): public mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf4)<R, T, A1, A2, A3, A4, R (BOOST_MEM_FN_CC T::*) (A1, A2, A3, A4)>\r
+{\r
+    typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4);\r
+    explicit BOOST_MEM_FN_NAME(mf4)(F f): mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf4)<R, T, A1, A2, A3, A4, F>(f) {}\r
+};\r
+\r
+template<class R, class T, class A1, class A2, class A3, class A4> struct BOOST_MEM_FN_NAME(cmf4): public mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf4)<R, T, A1, A2, A3, A4, R (BOOST_MEM_FN_CC T::*) (A1, A2, A3, A4) const>\r
+{\r
+    typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4) const;\r
+    explicit BOOST_MEM_FN_NAME(cmf4)(F f): mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf4)<R, T, A1, A2, A3, A4, F>(f) {}\r
+};\r
+\r
+\r
+template<class R, class T, class A1, class A2, class A3, class A4, class A5> struct BOOST_MEM_FN_NAME(mf5): public mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf5)<R, T, A1, A2, A3, A4, A5, R (BOOST_MEM_FN_CC T::*) (A1, A2, A3, A4, A5)>\r
+{\r
+    typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5);\r
+    explicit BOOST_MEM_FN_NAME(mf5)(F f): mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf5)<R, T, A1, A2, A3, A4, A5, F>(f) {}\r
+};\r
+\r
+template<class R, class T, class A1, class A2, class A3, class A4, class A5> struct BOOST_MEM_FN_NAME(cmf5): public mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf5)<R, T, A1, A2, A3, A4, A5, R (BOOST_MEM_FN_CC T::*) (A1, A2, A3, A4, A5) const>\r
+{\r
+    typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5) const;\r
+    explicit BOOST_MEM_FN_NAME(cmf5)(F f): mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf5)<R, T, A1, A2, A3, A4, A5, F>(f) {}\r
+};\r
+\r
+\r
+template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6> struct BOOST_MEM_FN_NAME(mf6): public mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf6)<R, T, A1, A2, A3, A4, A5, A6, R (BOOST_MEM_FN_CC T::*) (A1, A2, A3, A4, A5, A6)>\r
+{\r
+    typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6);\r
+    explicit BOOST_MEM_FN_NAME(mf6)(F f): mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf6)<R, T, A1, A2, A3, A4, A5, A6, F>(f) {}\r
+};\r
+\r
+template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6> struct BOOST_MEM_FN_NAME(cmf6): public mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf6)<R, T, A1, A2, A3, A4, A5, A6, R (BOOST_MEM_FN_CC T::*) (A1, A2, A3, A4, A5, A6) const>\r
+{\r
+    typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6) const;\r
+    explicit BOOST_MEM_FN_NAME(cmf6)(F f): mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf6)<R, T, A1, A2, A3, A4, A5, A6, F>(f) {}\r
+};\r
+\r
+\r
+template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6, class A7> struct BOOST_MEM_FN_NAME(mf7): public mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf7)<R, T, A1, A2, A3, A4, A5, A6, A7, R (BOOST_MEM_FN_CC T::*) (A1, A2, A3, A4, A5, A6, A7)>\r
+{\r
+    typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6, A7);\r
+    explicit BOOST_MEM_FN_NAME(mf7)(F f): mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf7)<R, T, A1, A2, A3, A4, A5, A6, A7, F>(f) {}\r
+};\r
+\r
+template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6, class A7> struct BOOST_MEM_FN_NAME(cmf7): public mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf7)<R, T, A1, A2, A3, A4, A5, A6, A7, R (BOOST_MEM_FN_CC T::*) (A1, A2, A3, A4, A5, A6, A7) const>\r
+{\r
+    typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6, A7) const;\r
+    explicit BOOST_MEM_FN_NAME(cmf7)(F f): mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf7)<R, T, A1, A2, A3, A4, A5, A6, A7, F>(f) {}\r
+};\r
+\r
+\r
+template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8> struct BOOST_MEM_FN_NAME(mf8): public mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf8)<R, T, A1, A2, A3, A4, A5, A6, A7, A8, R (BOOST_MEM_FN_CC T::*) (A1, A2, A3, A4, A5, A6, A7, A8)>\r
+{\r
+    typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6, A7, A8);\r
+    explicit BOOST_MEM_FN_NAME(mf8)(F f): mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf8)<R, T, A1, A2, A3, A4, A5, A6, A7, A8, F>(f) {}\r
+};\r
+\r
+template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8> struct BOOST_MEM_FN_NAME(cmf8): public mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf8)<R, T, A1, A2, A3, A4, A5, A6, A7, A8, R (BOOST_MEM_FN_CC T::*) (A1, A2, A3, A4, A5, A6, A7, A8) const>\r
+{\r
+    typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6, A7, A8) const;\r
+    explicit BOOST_MEM_FN_NAME(cmf8)(F f): mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf8)<R, T, A1, A2, A3, A4, A5, A6, A7, A8, F>(f) {}\r
+};\r
+\r
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 (file)
index 0000000..af52c91
--- /dev/null
@@ -0,0 +1,69 @@
+#ifndef BOOST_BIND_PLACEHOLDERS_HPP_INCLUDED\r
+#define BOOST_BIND_PLACEHOLDERS_HPP_INCLUDED\r
+\r
+// MS compatible compilers support #pragma once\r
+\r
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)\r
+# pragma once\r
+#endif\r
+\r
+//\r
+//  bind/placeholders.hpp - _N definitions\r
+//\r
+//  Copyright (c) 2002 Peter Dimov and Multi Media Ltd.\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. (See\r
+// accompanying file LICENSE_1_0.txt or copy at\r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+//  See http://www.boost.org/libs/bind/bind.html for documentation.\r
+//\r
+\r
+#include <boost/bind/arg.hpp>\r
+#include <boost/config.hpp>\r
+\r
+namespace\r
+{\r
+\r
+#if defined(__BORLANDC__) || defined(__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__ < 400)\r
+\r
+static inline boost::arg<1> _1() { return boost::arg<1>(); }\r
+static inline boost::arg<2> _2() { return boost::arg<2>(); }\r
+static inline boost::arg<3> _3() { return boost::arg<3>(); }\r
+static inline boost::arg<4> _4() { return boost::arg<4>(); }\r
+static inline boost::arg<5> _5() { return boost::arg<5>(); }\r
+static inline boost::arg<6> _6() { return boost::arg<6>(); }\r
+static inline boost::arg<7> _7() { return boost::arg<7>(); }\r
+static inline boost::arg<8> _8() { return boost::arg<8>(); }\r
+static inline boost::arg<9> _9() { return boost::arg<9>(); }\r
+\r
+#elif defined(BOOST_MSVC) || (defined(__DECCXX_VER) && __DECCXX_VER <= 60590031) || defined(__MWERKS__) || \\r
+    defined(__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__ == 400)  \r
+\r
+static boost::arg<1> _1;\r
+static boost::arg<2> _2;\r
+static boost::arg<3> _3;\r
+static boost::arg<4> _4;\r
+static boost::arg<5> _5;\r
+static boost::arg<6> _6;\r
+static boost::arg<7> _7;\r
+static boost::arg<8> _8;\r
+static boost::arg<9> _9;\r
+\r
+#else\r
+\r
+boost::arg<1> _1;\r
+boost::arg<2> _2;\r
+boost::arg<3> _3;\r
+boost::arg<4> _4;\r
+boost::arg<5> _5;\r
+boost::arg<6> _6;\r
+boost::arg<7> _7;\r
+boost::arg<8> _8;\r
+boost::arg<9> _9;\r
+\r
+#endif\r
+\r
+} // unnamed namespace\r
+\r
+#endif // #ifndef BOOST_BIND_PLACEHOLDERS_HPP_INCLUDED\r
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 (file)
index 0000000..b624bf1
--- /dev/null
@@ -0,0 +1,304 @@
+#ifndef BOOST_BIND_PROTECT_HPP_INCLUDED\r
+#define BOOST_BIND_PROTECT_HPP_INCLUDED\r
+\r
+//\r
+//  protect.hpp\r
+//\r
+//  Copyright (c) 2002 Peter Dimov and Multi Media Ltd.\r
+//  Copyright (c) 2009 Steven Watanabe\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. (See\r
+// accompanying file LICENSE_1_0.txt or copy at\r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+#include <boost/config.hpp>\r
+#include <boost/detail/workaround.hpp>\r
+\r
+namespace boost\r
+{\r
+\r
+namespace _bi\r
+{\r
+\r
+template<class F> class protected_bind_t\r
+{\r
+public:\r
+\r
+    typedef typename F::result_type result_type;\r
+\r
+    explicit protected_bind_t(F f): f_(f)\r
+    {\r
+    }\r
+\r
+    result_type operator()()\r
+    {\r
+        return f_();\r
+    }\r
+\r
+    result_type operator()() const\r
+    {\r
+        return f_();\r
+    }\r
+\r
+    template<class A1> result_type operator()(A1 & a1)\r
+    {\r
+        return f_(a1);\r
+    }\r
+\r
+    template<class A1> result_type operator()(A1 & a1) const\r
+    {\r
+        return f_(a1);\r
+    }\r
+\r
+\r
+#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \\r
+ && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238)\r
+\r
+    template<class A1> result_type operator()(const A1 & a1)\r
+    {\r
+        return f_(a1);\r
+    }\r
+\r
+    template<class A1> result_type operator()(const A1 & a1) const\r
+    {\r
+        return f_(a1);\r
+    }\r
+\r
+#endif\r
+\r
+    template<class A1, class A2> result_type operator()(A1 & a1, A2 & a2)\r
+    {\r
+        return f_(a1, a2);\r
+    }\r
+\r
+    template<class A1, class A2> result_type operator()(A1 & a1, A2 & a2) const\r
+    {\r
+        return f_(a1, a2);\r
+    }\r
+\r
+#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \\r
+ && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238)\r
+\r
+    template<class A1, class A2> result_type operator()(A1 const & a1, A2 & a2)\r
+    {\r
+        return f_(a1, a2);\r
+    }\r
+\r
+    template<class A1, class A2> result_type operator()(A1 const & a1, A2 & a2) const\r
+    {\r
+        return f_(a1, a2);\r
+    }\r
+\r
+    template<class A1, class A2> result_type operator()(A1 & a1, A2 const & a2)\r
+    {\r
+        return f_(a1, a2);\r
+    }\r
+\r
+    template<class A1, class A2> result_type operator()(A1 & a1, A2 const & a2) const\r
+    {\r
+        return f_(a1, a2);\r
+    }\r
+\r
+    template<class A1, class A2> result_type operator()(A1 const & a1, A2 const & a2)\r
+    {\r
+        return f_(a1, a2);\r
+    }\r
+\r
+    template<class A1, class A2> result_type operator()(A1 const & a1, A2 const & a2) const\r
+    {\r
+        return f_(a1, a2);\r
+    }\r
+\r
+#endif\r
+\r
+    template<class A1, class A2, class A3> result_type operator()(A1 & a1, A2 & a2, A3 & a3)\r
+    {\r
+        return f_(a1, a2, a3);\r
+    }\r
+\r
+    template<class A1, class A2, class A3> result_type operator()(A1 & a1, A2 & a2, A3 & a3) const\r
+    {\r
+        return f_(a1, a2, a3);\r
+    }\r
+    \r
+#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \\r
+ && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238)\r
+\r
+    template<class A1, class A2, class A3> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3)\r
+    {\r
+        return f_(a1, a2, a3);\r
+    }\r
+\r
+    template<class A1, class A2, class A3> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3) const\r
+    {\r
+        return f_(a1, a2, a3);\r
+    }\r
+    \r
+#endif\r
+\r
+    template<class A1, class A2, class A3, class A4> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4)\r
+    {\r
+        return f_(a1, a2, a3, a4);\r
+    }\r
+\r
+    template<class A1, class A2, class A3, class A4> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4) const\r
+    {\r
+        return f_(a1, a2, a3, a4);\r
+    }\r
+    \r
+#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \\r
+ && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238)\r
+\r
+    template<class A1, class A2, class A3, class A4> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4)\r
+    {\r
+        return f_(a1, a2, a3, a4);\r
+    }\r
+\r
+    template<class A1, class A2, class A3, class A4> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4) const\r
+    {\r
+        return f_(a1, a2, a3, a4);\r
+    }\r
+\r
+#endif\r
+\r
+    template<class A1, class A2, class A3, class A4, class A5> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5)\r
+    {\r
+        return f_(a1, a2, a3, a4, a5);\r
+    }\r
+\r
+    template<class A1, class A2, class A3, class A4, class A5> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5) const\r
+    {\r
+        return f_(a1, a2, a3, a4, a5);\r
+    }\r
+    \r
+#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \\r
+ && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238)\r
+\r
+    template<class A1, class A2, class A3, class A4, class A5> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5)\r
+    {\r
+        return f_(a1, a2, a3, a4, a5);\r
+    }\r
+\r
+    template<class A1, class A2, class A3, class A4, class A5> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5) const\r
+    {\r
+        return f_(a1, a2, a3, a4, a5);\r
+    }\r
+\r
+#endif\r
+\r
+    template<class A1, class A2, class A3, class A4, class A5, class A6> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6)\r
+    {\r
+        return f_(a1, a2, a3, a4, a5, a6);\r
+    }\r
+\r
+    template<class A1, class A2, class A3, class A4, class A5, class A6> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6) const\r
+    {\r
+        return f_(a1, a2, a3, a4, a5, a6);\r
+    }\r
+    \r
+#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \\r
+ && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238)\r
+\r
+    template<class A1, class A2, class A3, class A4, class A5, class A6> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6)\r
+    {\r
+        return f_(a1, a2, a3, a4, a5, a6);\r
+    }\r
+\r
+    template<class A1, class A2, class A3, class A4, class A5, class A6> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6) const\r
+    {\r
+        return f_(a1, a2, a3, a4, a5, a6);\r
+    }\r
+\r
+#endif\r
+\r
+    template<class A1, class A2, class A3, class A4, class A5, class A6, class A7> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7)\r
+    {\r
+        return f_(a1, a2, a3, a4, a5, a6, a7);\r
+    }\r
+\r
+    template<class A1, class A2, class A3, class A4, class A5, class A6, class A7> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7) const\r
+    {\r
+        return f_(a1, a2, a3, a4, a5, a6, a7);\r
+    }\r
+    \r
+#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \\r
+ && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238)\r
+\r
+    template<class A1, class A2, class A3, class A4, class A5, class A6, class A7> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6, A7 const & a7)\r
+    {\r
+        return f_(a1, a2, a3, a4, a5, a6, a7);\r
+    }\r
+\r
+    template<class A1, class A2, class A3, class A4, class A5, class A6, class A7> 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\r
+    {\r
+        return f_(a1, a2, a3, a4, a5, a6, a7);\r
+    }\r
+\r
+#endif\r
+\r
+    template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7, A8 & a8)\r
+    {\r
+        return f_(a1, a2, a3, a4, a5, a6, a7, a8);\r
+    }\r
+\r
+    template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7, A8 & a8) const\r
+    {\r
+        return f_(a1, a2, a3, a4, a5, a6, a7, a8);\r
+    }\r
+    \r
+#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \\r
+ && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238)\r
+\r
+    template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8> 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)\r
+    {\r
+        return f_(a1, a2, a3, a4, a5, a6, a7, a8);\r
+    }\r
+\r
+    template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8> 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\r
+    {\r
+        return f_(a1, a2, a3, a4, a5, a6, a7, a8);\r
+    }\r
+\r
+#endif\r
+\r
+    template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7, A8 & a8, A9 & a9)\r
+    {\r
+        return f_(a1, a2, a3, a4, a5, a6, a7, a8, a9);\r
+    }\r
+\r
+    template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7, A8 & a8, A9 & a9) const\r
+    {\r
+        return f_(a1, a2, a3, a4, a5, a6, a7, a8, a9);\r
+    }\r
+    \r
+#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \\r
+ && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238)\r
+\r
+    template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9> 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)\r
+    {\r
+        return f_(a1, a2, a3, a4, a5, a6, a7, a8, a9);\r
+    }\r
+\r
+    template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9> 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\r
+    {\r
+        return f_(a1, a2, a3, a4, a5, a6, a7, a8, a9);\r
+    }\r
+\r
+#endif\r
+\r
+private:\r
+\r
+    F f_;\r
+};\r
+\r
+} // namespace _bi\r
+\r
+template<class F> _bi::protected_bind_t<F> protect(F f)\r
+{\r
+    return _bi::protected_bind_t<F>(f);\r
+}\r
+\r
+} // namespace boost\r
+\r
+#endif // #ifndef BOOST_BIND_PROTECT_HPP_INCLUDED\r
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 (file)
index 0000000..512adc5
--- /dev/null
@@ -0,0 +1,475 @@
+#ifndef BOOST_BIND_STORAGE_HPP_INCLUDED\r
+#define BOOST_BIND_STORAGE_HPP_INCLUDED\r
+\r
+// MS compatible compilers support #pragma once\r
+\r
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)\r
+# pragma once\r
+#endif\r
+\r
+//\r
+//  bind/storage.hpp\r
+//\r
+//  boost/bind.hpp support header, optimized storage\r
+//\r
+//  Copyright (c) 2006 Peter Dimov\r
+//\r
+//  Distributed under the Boost Software License, Version 1.0.\r
+//  See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt\r
+//\r
+//  See http://www.boost.org/libs/bind/bind.html for documentation.\r
+//\r
+\r
+#include <boost/config.hpp>\r
+#include <boost/bind/arg.hpp>\r
+\r
+#ifdef BOOST_MSVC\r
+# pragma warning(push)\r
+# pragma warning(disable: 4512) // assignment operator could not be generated\r
+#endif\r
+\r
+namespace boost\r
+{\r
+\r
+namespace _bi\r
+{\r
+\r
+// 1\r
+\r
+template<class A1> struct storage1\r
+{\r
+    explicit storage1( A1 a1 ): a1_( a1 ) {}\r
+\r
+    template<class V> void accept(V & v) const\r
+    {\r
+        BOOST_BIND_VISIT_EACH(v, a1_, 0);\r
+    }\r
+\r
+    A1 a1_;\r
+};\r
+\r
+#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION ) && !defined( __BORLANDC__ )\r
+\r
+template<int I> struct storage1< boost::arg<I> >\r
+{\r
+    explicit storage1( boost::arg<I> ) {}\r
+\r
+    template<class V> void accept(V &) const { }\r
+\r
+    static boost::arg<I> a1_() { return boost::arg<I>(); }\r
+};\r
+\r
+template<int I> struct storage1< boost::arg<I> (*) () >\r
+{\r
+    explicit storage1( boost::arg<I> (*) () ) {}\r
+\r
+    template<class V> void accept(V &) const { }\r
+\r
+    static boost::arg<I> a1_() { return boost::arg<I>(); }\r
+};\r
+\r
+#endif\r
+\r
+// 2\r
+\r
+template<class A1, class A2> struct storage2: public storage1<A1>\r
+{\r
+    typedef storage1<A1> inherited;\r
+\r
+    storage2( A1 a1, A2 a2 ): storage1<A1>( a1 ), a2_( a2 ) {}\r
+\r
+    template<class V> void accept(V & v) const\r
+    {\r
+        inherited::accept(v);\r
+        BOOST_BIND_VISIT_EACH(v, a2_, 0);\r
+    }\r
+\r
+    A2 a2_;\r
+};\r
+\r
+#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )\r
+\r
+template<class A1, int I> struct storage2< A1, boost::arg<I> >: public storage1<A1>\r
+{\r
+    typedef storage1<A1> inherited;\r
+\r
+    storage2( A1 a1, boost::arg<I> ): storage1<A1>( a1 ) {}\r
+\r
+    template<class V> void accept(V & v) const\r
+    {\r
+        inherited::accept(v);\r
+    }\r
+\r
+    static boost::arg<I> a2_() { return boost::arg<I>(); }\r
+};\r
+\r
+template<class A1, int I> struct storage2< A1, boost::arg<I> (*) () >: public storage1<A1>\r
+{\r
+    typedef storage1<A1> inherited;\r
+\r
+    storage2( A1 a1, boost::arg<I> (*) () ): storage1<A1>( a1 ) {}\r
+\r
+    template<class V> void accept(V & v) const\r
+    {\r
+        inherited::accept(v);\r
+    }\r
+\r
+    static boost::arg<I> a2_() { return boost::arg<I>(); }\r
+};\r
+\r
+#endif\r
+\r
+// 3\r
+\r
+template<class A1, class A2, class A3> struct storage3: public storage2< A1, A2 >\r
+{\r
+    typedef storage2<A1, A2> inherited;\r
+\r
+    storage3( A1 a1, A2 a2, A3 a3 ): storage2<A1, A2>( a1, a2 ), a3_( a3 ) {}\r
+\r
+    template<class V> void accept(V & v) const\r
+    {\r
+        inherited::accept(v);\r
+        BOOST_BIND_VISIT_EACH(v, a3_, 0);\r
+    }\r
+\r
+    A3 a3_;\r
+};\r
+\r
+#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )\r
+\r
+template<class A1, class A2, int I> struct storage3< A1, A2, boost::arg<I> >: public storage2< A1, A2 >\r
+{\r
+    typedef storage2<A1, A2> inherited;\r
+\r
+    storage3( A1 a1, A2 a2, boost::arg<I> ): storage2<A1, A2>( a1, a2 ) {}\r
+\r
+    template<class V> void accept(V & v) const\r
+    {\r
+        inherited::accept(v);\r
+    }\r
+\r
+    static boost::arg<I> a3_() { return boost::arg<I>(); }\r
+};\r
+\r
+template<class A1, class A2, int I> struct storage3< A1, A2, boost::arg<I> (*) () >: public storage2< A1, A2 >\r
+{\r
+    typedef storage2<A1, A2> inherited;\r
+\r
+    storage3( A1 a1, A2 a2, boost::arg<I> (*) () ): storage2<A1, A2>( a1, a2 ) {}\r
+\r
+    template<class V> void accept(V & v) const\r
+    {\r
+        inherited::accept(v);\r
+    }\r
+\r
+    static boost::arg<I> a3_() { return boost::arg<I>(); }\r
+};\r
+\r
+#endif\r
+\r
+// 4\r
+\r
+template<class A1, class A2, class A3, class A4> struct storage4: public storage3< A1, A2, A3 >\r
+{\r
+    typedef storage3<A1, A2, A3> inherited;\r
+\r
+    storage4( A1 a1, A2 a2, A3 a3, A4 a4 ): storage3<A1, A2, A3>( a1, a2, a3 ), a4_( a4 ) {}\r
+\r
+    template<class V> void accept(V & v) const\r
+    {\r
+        inherited::accept(v);\r
+        BOOST_BIND_VISIT_EACH(v, a4_, 0);\r
+    }\r
+\r
+    A4 a4_;\r
+};\r
+\r
+#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )\r
+\r
+template<class A1, class A2, class A3, int I> struct storage4< A1, A2, A3, boost::arg<I> >: public storage3< A1, A2, A3 >\r
+{\r
+    typedef storage3<A1, A2, A3> inherited;\r
+\r
+    storage4( A1 a1, A2 a2, A3 a3, boost::arg<I> ): storage3<A1, A2, A3>( a1, a2, a3 ) {}\r
+\r
+    template<class V> void accept(V & v) const\r
+    {\r
+        inherited::accept(v);\r
+    }\r
+\r
+    static boost::arg<I> a4_() { return boost::arg<I>(); }\r
+};\r
+\r
+template<class A1, class A2, class A3, int I> struct storage4< A1, A2, A3, boost::arg<I> (*) () >: public storage3< A1, A2, A3 >\r
+{\r
+    typedef storage3<A1, A2, A3> inherited;\r
+\r
+    storage4( A1 a1, A2 a2, A3 a3, boost::arg<I> (*) () ): storage3<A1, A2, A3>( a1, a2, a3 ) {}\r
+\r
+    template<class V> void accept(V & v) const\r
+    {\r
+        inherited::accept(v);\r
+    }\r
+\r
+    static boost::arg<I> a4_() { return boost::arg<I>(); }\r
+};\r
+\r
+#endif\r
+\r
+// 5\r
+\r
+template<class A1, class A2, class A3, class A4, class A5> struct storage5: public storage4< A1, A2, A3, A4 >\r
+{\r
+    typedef storage4<A1, A2, A3, A4> inherited;\r
+\r
+    storage5( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5 ): storage4<A1, A2, A3, A4>( a1, a2, a3, a4 ), a5_( a5 ) {}\r
+\r
+    template<class V> void accept(V & v) const\r
+    {\r
+        inherited::accept(v);\r
+        BOOST_BIND_VISIT_EACH(v, a5_, 0);\r
+    }\r
+\r
+    A5 a5_;\r
+};\r
+\r
+#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )\r
+\r
+template<class A1, class A2, class A3, class A4, int I> struct storage5< A1, A2, A3, A4, boost::arg<I> >: public storage4< A1, A2, A3, A4 >\r
+{\r
+    typedef storage4<A1, A2, A3, A4> inherited;\r
+\r
+    storage5( A1 a1, A2 a2, A3 a3, A4 a4, boost::arg<I> ): storage4<A1, A2, A3, A4>( a1, a2, a3, a4 ) {}\r
+\r
+    template<class V> void accept(V & v) const\r
+    {\r
+        inherited::accept(v);\r
+    }\r
+\r
+    static boost::arg<I> a5_() { return boost::arg<I>(); }\r
+};\r
+\r
+template<class A1, class A2, class A3, class A4, int I> struct storage5< A1, A2, A3, A4, boost::arg<I> (*) () >: public storage4< A1, A2, A3, A4 >\r
+{\r
+    typedef storage4<A1, A2, A3, A4> inherited;\r
+\r
+    storage5( A1 a1, A2 a2, A3 a3, A4 a4, boost::arg<I> (*) () ): storage4<A1, A2, A3, A4>( a1, a2, a3, a4 ) {}\r
+\r
+    template<class V> void accept(V & v) const\r
+    {\r
+        inherited::accept(v);\r
+    }\r
+\r
+    static boost::arg<I> a5_() { return boost::arg<I>(); }\r
+};\r
+\r
+#endif\r
+\r
+// 6\r
+\r
+template<class A1, class A2, class A3, class A4, class A5, class A6> struct storage6: public storage5< A1, A2, A3, A4, A5 >\r
+{\r
+    typedef storage5<A1, A2, A3, A4, A5> inherited;\r
+\r
+    storage6( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6 ): storage5<A1, A2, A3, A4, A5>( a1, a2, a3, a4, a5 ), a6_( a6 ) {}\r
+\r
+    template<class V> void accept(V & v) const\r
+    {\r
+        inherited::accept(v);\r
+        BOOST_BIND_VISIT_EACH(v, a6_, 0);\r
+    }\r
+\r
+    A6 a6_;\r
+};\r
+\r
+#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )\r
+\r
+template<class A1, class A2, class A3, class A4, class A5, int I> struct storage6< A1, A2, A3, A4, A5, boost::arg<I> >: public storage5< A1, A2, A3, A4, A5 >\r
+{\r
+    typedef storage5<A1, A2, A3, A4, A5> inherited;\r
+\r
+    storage6( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, boost::arg<I> ): storage5<A1, A2, A3, A4, A5>( a1, a2, a3, a4, a5 ) {}\r
+\r
+    template<class V> void accept(V & v) const\r
+    {\r
+        inherited::accept(v);\r
+    }\r
+\r
+    static boost::arg<I> a6_() { return boost::arg<I>(); }\r
+};\r
+\r
+template<class A1, class A2, class A3, class A4, class A5, int I> struct storage6< A1, A2, A3, A4, A5, boost::arg<I> (*) () >: public storage5< A1, A2, A3, A4, A5 >\r
+{\r
+    typedef storage5<A1, A2, A3, A4, A5> inherited;\r
+\r
+    storage6( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, boost::arg<I> (*) () ): storage5<A1, A2, A3, A4, A5>( a1, a2, a3, a4, a5 ) {}\r
+\r
+    template<class V> void accept(V & v) const\r
+    {\r
+        inherited::accept(v);\r
+    }\r
+\r
+    static boost::arg<I> a6_() { return boost::arg<I>(); }\r
+};\r
+\r
+#endif\r
+\r
+// 7\r
+\r
+template<class A1, class A2, class A3, class A4, class A5, class A6, class A7> struct storage7: public storage6< A1, A2, A3, A4, A5, A6 >\r
+{\r
+    typedef storage6<A1, A2, A3, A4, A5, A6> inherited;\r
+\r
+    storage7( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7 ): storage6<A1, A2, A3, A4, A5, A6>( a1, a2, a3, a4, a5, a6 ), a7_( a7 ) {}\r
+\r
+    template<class V> void accept(V & v) const\r
+    {\r
+        inherited::accept(v);\r
+        BOOST_BIND_VISIT_EACH(v, a7_, 0);\r
+    }\r
+\r
+    A7 a7_;\r
+};\r
+\r
+#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )\r
+\r
+template<class A1, class A2, class A3, class A4, class A5, class A6, int I> struct storage7< A1, A2, A3, A4, A5, A6, boost::arg<I> >: public storage6< A1, A2, A3, A4, A5, A6 >\r
+{\r
+    typedef storage6<A1, A2, A3, A4, A5, A6> inherited;\r
+\r
+    storage7( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, boost::arg<I> ): storage6<A1, A2, A3, A4, A5, A6>( a1, a2, a3, a4, a5, a6 ) {}\r
+\r
+    template<class V> void accept(V & v) const\r
+    {\r
+        inherited::accept(v);\r
+    }\r
+\r
+    static boost::arg<I> a7_() { return boost::arg<I>(); }\r
+};\r
+\r
+template<class A1, class A2, class A3, class A4, class A5, class A6, int I> struct storage7< A1, A2, A3, A4, A5, A6, boost::arg<I> (*) () >: public storage6< A1, A2, A3, A4, A5, A6 >\r
+{\r
+    typedef storage6<A1, A2, A3, A4, A5, A6> inherited;\r
+\r
+    storage7( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, boost::arg<I> (*) () ): storage6<A1, A2, A3, A4, A5, A6>( a1, a2, a3, a4, a5, a6 ) {}\r
+\r
+    template<class V> void accept(V & v) const\r
+    {\r
+        inherited::accept(v);\r
+    }\r
+\r
+    static boost::arg<I> a7_() { return boost::arg<I>(); }\r
+};\r
+\r
+#endif\r
+\r
+// 8\r
+\r
+template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8> struct storage8: public storage7< A1, A2, A3, A4, A5, A6, A7 >\r
+{\r
+    typedef storage7<A1, A2, A3, A4, A5, A6, A7> inherited;\r
+\r
+    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>( a1, a2, a3, a4, a5, a6, a7 ), a8_( a8 ) {}\r
+\r
+    template<class V> void accept(V & v) const\r
+    {\r
+        inherited::accept(v);\r
+        BOOST_BIND_VISIT_EACH(v, a8_, 0);\r
+    }\r
+\r
+    A8 a8_;\r
+};\r
+\r
+#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )\r
+\r
+template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, int I> struct storage8< A1, A2, A3, A4, A5, A6, A7, boost::arg<I> >: public storage7< A1, A2, A3, A4, A5, A6, A7 >\r
+{\r
+    typedef storage7<A1, A2, A3, A4, A5, A6, A7> inherited;\r
+\r
+    storage8( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, boost::arg<I> ): storage7<A1, A2, A3, A4, A5, A6, A7>( a1, a2, a3, a4, a5, a6, a7 ) {}\r
+\r
+    template<class V> void accept(V & v) const\r
+    {\r
+        inherited::accept(v);\r
+    }\r
+\r
+    static boost::arg<I> a8_() { return boost::arg<I>(); }\r
+};\r
+\r
+template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, int I> struct storage8< A1, A2, A3, A4, A5, A6, A7, boost::arg<I> (*) () >: public storage7< A1, A2, A3, A4, A5, A6, A7 >\r
+{\r
+    typedef storage7<A1, A2, A3, A4, A5, A6, A7> inherited;\r
+\r
+    storage8( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, boost::arg<I> (*) () ): storage7<A1, A2, A3, A4, A5, A6, A7>( a1, a2, a3, a4, a5, a6, a7 ) {}\r
+\r
+    template<class V> void accept(V & v) const\r
+    {\r
+        inherited::accept(v);\r
+    }\r
+\r
+    static boost::arg<I> a8_() { return boost::arg<I>(); }\r
+};\r
+\r
+#endif\r
+\r
+// 9\r
+\r
+template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9> struct storage9: public storage8< A1, A2, A3, A4, A5, A6, A7, A8 >\r
+{\r
+    typedef storage8<A1, A2, A3, A4, A5, A6, A7, A8> inherited;\r
+\r
+    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>( a1, a2, a3, a4, a5, a6, a7, a8 ), a9_( a9 ) {}\r
+\r
+    template<class V> void accept(V & v) const\r
+    {\r
+        inherited::accept(v);\r
+        BOOST_BIND_VISIT_EACH(v, a9_, 0);\r
+    }\r
+\r
+    A9 a9_;\r
+};\r
+\r
+#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )\r
+\r
+template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, int I> struct storage9< A1, A2, A3, A4, A5, A6, A7, A8, boost::arg<I> >: public storage8< A1, A2, A3, A4, A5, A6, A7, A8 >\r
+{\r
+    typedef storage8<A1, A2, A3, A4, A5, A6, A7, A8> inherited;\r
+\r
+    storage9( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, boost::arg<I> ): storage8<A1, A2, A3, A4, A5, A6, A7, A8>( a1, a2, a3, a4, a5, a6, a7, a8 ) {}\r
+\r
+    template<class V> void accept(V & v) const\r
+    {\r
+        inherited::accept(v);\r
+    }\r
+\r
+    static boost::arg<I> a9_() { return boost::arg<I>(); }\r
+};\r
+\r
+template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, int I> struct storage9< A1, A2, A3, A4, A5, A6, A7, A8, boost::arg<I> (*) () >: public storage8< A1, A2, A3, A4, A5, A6, A7, A8 >\r
+{\r
+    typedef storage8<A1, A2, A3, A4, A5, A6, A7, A8> inherited;\r
+\r
+    storage9( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, boost::arg<I> (*) () ): storage8<A1, A2, A3, A4, A5, A6, A7, A8>( a1, a2, a3, a4, a5, a6, a7, a8 ) {}\r
+\r
+    template<class V> void accept(V & v) const\r
+    {\r
+        inherited::accept(v);\r
+    }\r
+\r
+    static boost::arg<I> a9_() { return boost::arg<I>(); }\r
+};\r
+\r
+#endif\r
+\r
+} // namespace _bi\r
+\r
+} // namespace boost\r
+\r
+#ifdef BOOST_MSVC\r
+# pragma warning(default: 4512) // assignment operator could not be generated\r
+# pragma warning(pop)\r
+#endif\r
+\r
+#endif // #ifndef BOOST_BIND_STORAGE_HPP_INCLUDED\r
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 (file)
index 0000000..9add20e
--- /dev/null
@@ -0,0 +1,24 @@
+//  (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.\r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/utility for most recent version including documentation.\r
+\r
+//  See boost/detail/call_traits.hpp and boost/detail/ob_call_traits.hpp\r
+//  for full copyright notices.\r
+\r
+#ifndef BOOST_CALL_TRAITS_HPP\r
+#define BOOST_CALL_TRAITS_HPP\r
+\r
+#ifndef BOOST_CONFIG_HPP\r
+#include <boost/config.hpp>\r
+#endif\r
+\r
+#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+#include <boost/detail/ob_call_traits.hpp>\r
+#else\r
+#include <boost/detail/call_traits.hpp>\r
+#endif\r
+\r
+#endif // BOOST_CALL_TRAITS_HPP\r
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 (file)
index 0000000..1205455
--- /dev/null
@@ -0,0 +1,331 @@
+//  Boost cerrno.hpp header  -------------------------------------------------//\r
+\r
+//  Copyright Beman Dawes 2005.\r
+//  Use, modification, and distribution is subject to the Boost Software\r
+//  License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+//  See library home page at http://www.boost.org/libs/system\r
+\r
+#ifndef BOOST_CERRNO_HPP\r
+#define BOOST_CERRNO_HPP\r
+\r
+#include <cerrno>\r
+\r
+//  supply errno values likely to be missing, particularly on Windows\r
+\r
+#ifndef EAFNOSUPPORT\r
+#define EAFNOSUPPORT 9901\r
+#endif\r
+\r
+#ifndef EADDRINUSE\r
+#define EADDRINUSE 9902\r
+#endif\r
+\r
+#ifndef EADDRNOTAVAIL\r
+#define EADDRNOTAVAIL 9903\r
+#endif\r
+\r
+#ifndef EISCONN\r
+#define EISCONN 9904\r
+#endif\r
+\r
+#ifndef EBADMSG\r
+#define EBADMSG 9905\r
+#endif\r
+\r
+#ifndef ECONNABORTED\r
+#define ECONNABORTED 9906\r
+#endif\r
+\r
+#ifndef EALREADY\r
+#define EALREADY 9907\r
+#endif\r
+\r
+#ifndef ECONNREFUSED\r
+#define ECONNREFUSED 9908\r
+#endif\r
+\r
+#ifndef ECONNRESET\r
+#define ECONNRESET 9909\r
+#endif\r
+\r
+#ifndef EDESTADDRREQ\r
+#define EDESTADDRREQ 9910\r
+#endif\r
+\r
+#ifndef EHOSTUNREACH\r
+#define EHOSTUNREACH 9911\r
+#endif\r
+\r
+#ifndef EIDRM\r
+#define EIDRM 9912\r
+#endif\r
+\r
+#ifndef EMSGSIZE\r
+#define EMSGSIZE 9913\r
+#endif\r
+\r
+#ifndef ENETDOWN\r
+#define ENETDOWN 9914\r
+#endif\r
+\r
+#ifndef ENETRESET\r
+#define ENETRESET 9915\r
+#endif\r
+\r
+#ifndef ENETUNREACH\r
+#define ENETUNREACH 9916\r
+#endif\r
+\r
+#ifndef ENOBUFS\r
+#define ENOBUFS 9917\r
+#endif\r
+\r
+#ifndef ENOLINK\r
+#define ENOLINK 9918\r
+#endif\r
+\r
+#ifndef ENODATA\r
+#define ENODATA 9919\r
+#endif\r
+\r
+#ifndef ENOMSG\r
+#define ENOMSG 9920\r
+#endif\r
+\r
+#ifndef ENOPROTOOPT\r
+#define ENOPROTOOPT 9921\r
+#endif\r
+\r
+#ifndef ENOSR\r
+#define ENOSR 9922\r
+#endif\r
+\r
+#ifndef ENOTSOCK\r
+#define ENOTSOCK 9923\r
+#endif\r
+\r
+#ifndef ENOSTR\r
+#define ENOSTR 9924\r
+#endif\r
+\r
+#ifndef ENOTCONN\r
+#define ENOTCONN 9925\r
+#endif\r
+\r
+#ifndef ENOTSUP\r
+#define ENOTSUP 9926\r
+#endif\r
+\r
+#ifndef ECANCELED\r
+#define ECANCELED 9927\r
+#endif\r
+\r
+#ifndef EINPROGRESS\r
+#define EINPROGRESS 9928\r
+#endif\r
+\r
+#ifndef EOPNOTSUPP\r
+#define EOPNOTSUPP 9929\r
+#endif\r
+\r
+#ifndef EWOULDBLOCK\r
+#define EWOULDBLOCK 9930\r
+#endif\r
+\r
+#ifndef EOWNERDEAD\r
+#define EOWNERDEAD  9931\r
+#endif\r
+\r
+#ifndef EPROTO\r
+#define EPROTO 9932\r
+#endif\r
+\r
+#ifndef EPROTONOSUPPORT\r
+#define EPROTONOSUPPORT 9933\r
+#endif\r
+\r
+#ifndef ENOTRECOVERABLE\r
+#define ENOTRECOVERABLE 9934\r
+#endif\r
+\r
+#ifndef ETIME\r
+#define ETIME 9935\r
+#endif\r
+\r
+#ifndef ETXTBSY\r
+#define ETXTBSY 9936\r
+#endif\r
+\r
+#ifndef ETIMEDOUT\r
+#define ETIMEDOUT 9938\r
+#endif\r
+\r
+#ifndef ELOOP\r
+#define ELOOP 9939\r
+#endif\r
+\r
+#ifndef EOVERFLOW\r
+#define EOVERFLOW 9940\r
+#endif\r
+\r
+#ifndef EPROTOTYPE\r
+#define EPROTOTYPE 9941\r
+#endif\r
+\r
+#ifndef ENOSYS\r
+#define ENOSYS 9942\r
+#endif\r
+\r
+#ifndef EINVAL\r
+#define EINVAL 9943\r
+#endif\r
+\r
+#ifndef ERANGE\r
+#define ERANGE 9944\r
+#endif\r
+\r
+#ifndef EILSEQ\r
+#define EILSEQ 9945\r
+#endif\r
+\r
+//  Windows Mobile doesn't appear to define these:\r
+\r
+#ifndef E2BIG\r
+#define E2BIG 9946\r
+#endif\r
+\r
+#ifndef EDOM\r
+#define EDOM 9947\r
+#endif\r
+\r
+#ifndef EFAULT\r
+#define EFAULT 9948\r
+#endif\r
+\r
+#ifndef EBADF\r
+#define EBADF 9949\r
+#endif\r
+\r
+#ifndef EPIPE\r
+#define EPIPE 9950\r
+#endif\r
+\r
+#ifndef EXDEV\r
+#define EXDEV 9951\r
+#endif\r
+\r
+#ifndef EBUSY\r
+#define EBUSY 9952\r
+#endif\r
+\r
+#ifndef ENOTEMPTY\r
+#define ENOTEMPTY 9953\r
+#endif\r
+\r
+#ifndef ENOEXEC\r
+#define ENOEXEC 9954\r
+#endif\r
+\r
+#ifndef EEXIST\r
+#define EEXIST 9955\r
+#endif\r
+\r
+#ifndef EFBIG\r
+#define EFBIG 9956\r
+#endif\r
+\r
+#ifndef ENAMETOOLONG\r
+#define ENAMETOOLONG 9957\r
+#endif\r
+\r
+#ifndef ENOTTY\r
+#define ENOTTY 9958\r
+#endif\r
+\r
+#ifndef EINTR\r
+#define EINTR 9959\r
+#endif\r
+\r
+#ifndef ESPIPE\r
+#define ESPIPE 9960\r
+#endif\r
+\r
+#ifndef EIO\r
+#define EIO 9961\r
+#endif\r
+\r
+#ifndef EISDIR\r
+#define EISDIR 9962\r
+#endif\r
+\r
+#ifndef ECHILD\r
+#define ECHILD 9963\r
+#endif\r
+\r
+#ifndef ENOLCK\r
+#define ENOLCK 9964\r
+#endif\r
+\r
+#ifndef ENOSPC\r
+#define ENOSPC 9965\r
+#endif\r
+\r
+#ifndef ENXIO\r
+#define ENXIO 9966\r
+#endif\r
+\r
+#ifndef ENODEV\r
+#define ENODEV 9967\r
+#endif\r
+\r
+#ifndef ENOENT\r
+#define ENOENT 9968\r
+#endif\r
+\r
+#ifndef ESRCH\r
+#define ESRCH 9969\r
+#endif\r
+\r
+#ifndef ENOTDIR\r
+#define ENOTDIR 9970\r
+#endif\r
+\r
+#ifndef ENOMEM\r
+#define ENOMEM 9971\r
+#endif\r
+\r
+#ifndef EPERM\r
+#define EPERM 9972\r
+#endif\r
+\r
+#ifndef EACCES\r
+#define EACCES 9973\r
+#endif\r
+\r
+#ifndef EROFS\r
+#define EROFS 9974\r
+#endif\r
+\r
+#ifndef EDEADLK\r
+#define EDEADLK 9975\r
+#endif\r
+\r
+#ifndef EAGAIN\r
+#define EAGAIN 9976\r
+#endif\r
+\r
+#ifndef ENFILE\r
+#define ENFILE 9977\r
+#endif\r
+\r
+#ifndef EMFILE\r
+#define EMFILE 9978\r
+#endif\r
+\r
+#ifndef EMLINK\r
+#define EMLINK 9979\r
+#endif\r
+\r
+#endif // include guard\r
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 (file)
index 0000000..e8f479f
--- /dev/null
@@ -0,0 +1,69 @@
+#ifndef BOOST_CHECKED_DELETE_HPP_INCLUDED\r
+#define BOOST_CHECKED_DELETE_HPP_INCLUDED\r
+\r
+// MS compatible compilers support #pragma once\r
+\r
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)\r
+# pragma once\r
+#endif\r
+\r
+//\r
+//  boost/checked_delete.hpp\r
+//\r
+//  Copyright (c) 2002, 2003 Peter Dimov\r
+//  Copyright (c) 2003 Daniel Frey\r
+//  Copyright (c) 2003 Howard Hinnant\r
+//\r
+//  Distributed under the Boost Software License, Version 1.0. (See\r
+//  accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+//  See http://www.boost.org/libs/utility/checked_delete.html for documentation.\r
+//\r
+\r
+namespace boost\r
+{\r
+\r
+// verify that types are complete for increased safety\r
+\r
+template<class T> inline void checked_delete(T * x)\r
+{\r
+    // intentionally complex - simplification causes regressions\r
+    typedef char type_must_be_complete[ sizeof(T)? 1: -1 ];\r
+    (void) sizeof(type_must_be_complete);\r
+    delete x;\r
+}\r
+\r
+template<class T> inline void checked_array_delete(T * x)\r
+{\r
+    typedef char type_must_be_complete[ sizeof(T)? 1: -1 ];\r
+    (void) sizeof(type_must_be_complete);\r
+    delete [] x;\r
+}\r
+\r
+template<class T> struct checked_deleter\r
+{\r
+    typedef void result_type;\r
+    typedef T * argument_type;\r
+\r
+    void operator()(T * x) const\r
+    {\r
+        // boost:: disables ADL\r
+        boost::checked_delete(x);\r
+    }\r
+};\r
+\r
+template<class T> struct checked_array_deleter\r
+{\r
+    typedef void result_type;\r
+    typedef T * argument_type;\r
+\r
+    void operator()(T * x) const\r
+    {\r
+        boost::checked_array_delete(x);\r
+    }\r
+};\r
+\r
+} // namespace boost\r
+\r
+#endif  // #ifndef BOOST_CHECKED_DELETE_HPP_INCLUDED\r
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 (file)
index 0000000..cb5037a
--- /dev/null
@@ -0,0 +1,70 @@
+//  Boost config.hpp configuration header file  ------------------------------//\r
+\r
+//  (C) Copyright John Maddock 2002. \r
+//  Use, modification and distribution are subject to the \r
+//  Boost Software License, Version 1.0. (See accompanying file \r
+//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+//  See http://www.boost.org/libs/config for most recent version.\r
+\r
+//  Boost config.hpp policy and rationale documentation has been moved to\r
+//  http://www.boost.org/libs/config\r
+//\r
+//  CAUTION: This file is intended to be completely stable -\r
+//           DO NOT MODIFY THIS FILE!\r
+//\r
+\r
+#ifndef BOOST_CONFIG_HPP\r
+#define BOOST_CONFIG_HPP\r
+\r
+// if we don't have a user config, then use the default location:\r
+#if !defined(BOOST_USER_CONFIG) && !defined(BOOST_NO_USER_CONFIG)\r
+#  define BOOST_USER_CONFIG <boost/config/user.hpp>\r
+#endif\r
+// include it first:\r
+#ifdef BOOST_USER_CONFIG\r
+#  include BOOST_USER_CONFIG\r
+#endif\r
+\r
+// if we don't have a compiler config set, try and find one:\r
+#if !defined(BOOST_COMPILER_CONFIG) && !defined(BOOST_NO_COMPILER_CONFIG) && !defined(BOOST_NO_CONFIG)\r
+#  include <boost/config/select_compiler_config.hpp>\r
+#endif\r
+// if we have a compiler config, include it now:\r
+#ifdef BOOST_COMPILER_CONFIG\r
+#  include BOOST_COMPILER_CONFIG\r
+#endif\r
+\r
+// if we don't have a std library config set, try and find one:\r
+#if !defined(BOOST_STDLIB_CONFIG) && !defined(BOOST_NO_STDLIB_CONFIG) && !defined(BOOST_NO_CONFIG)\r
+#  include <boost/config/select_stdlib_config.hpp>\r
+#endif\r
+// if we have a std library config, include it now:\r
+#ifdef BOOST_STDLIB_CONFIG\r
+#  include BOOST_STDLIB_CONFIG\r
+#endif\r
+\r
+// if we don't have a platform config set, try and find one:\r
+#if !defined(BOOST_PLATFORM_CONFIG) && !defined(BOOST_NO_PLATFORM_CONFIG) && !defined(BOOST_NO_CONFIG)\r
+#  include <boost/config/select_platform_config.hpp>\r
+#endif\r
+// if we have a platform config, include it now:\r
+#ifdef BOOST_PLATFORM_CONFIG\r
+#  include BOOST_PLATFORM_CONFIG\r
+#endif\r
+\r
+// get config suffix code:\r
+#include <boost/config/suffix.hpp>\r
+\r
+#endif  // BOOST_CONFIG_HPP\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
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 (file)
index 0000000..6148195
--- /dev/null
@@ -0,0 +1,27 @@
+//  (C) Copyright John Maddock 2003. \r
+//  Use, modification and distribution are subject to the \r
+//  Boost Software License, Version 1.0. (See accompanying file \r
+//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+//  for C++ Builder the following options effect the ABI:\r
+//\r
+//  -b (on or off - effect emum sizes)\r
+//  -Vx  (on or off - empty members)\r
+//  -Ve (on or off - empty base classes)\r
+//  -aX (alignment - 5 options).\r
+//  -pX (Calling convention - 4 options)\r
+//  -VmX (member pointer size and layout - 5 options)\r
+//  -VC (on or off, changes name mangling)\r
+//  -Vl (on or off, changes struct layout).\r
+\r
+//  In addition the following warnings are sufficiently annoying (and\r
+//  unfixable) to have them turned off by default:\r
+//\r
+//  8027 - functions containing [for|while] loops are not expanded inline\r
+//  8026 - functions taking class by value arguments are not expanded inline\r
+\r
+#pragma nopushoptwarn\r
+#  pragma option push -Vx -Ve -a8 -b -pc -Vmv -VC- -Vl- -w-8027 -w-8026\r
+\r
+\r
+\r
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 (file)
index 0000000..110b3c3
--- /dev/null
@@ -0,0 +1,12 @@
+//  (C) Copyright John Maddock 2003. \r
+//  Use, modification and distribution are subject to the \r
+//  Boost Software License, Version 1.0. (See accompanying file \r
+//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+#  pragma option pop\r
+#pragma nopushoptwarn\r
+\r
+\r
+\r
+\r
+\r
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 (file)
index 0000000..417e0dd
--- /dev/null
@@ -0,0 +1,22 @@
+//  (C) Copyright John Maddock 2003. \r
+//  Use, modification and distribution are subject to the \r
+//  Boost Software License, Version 1.0. (See accompanying file \r
+//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+//\r
+// Boost binaries are built with the compiler's default ABI settings,\r
+// if the user changes their default alignment in the VS IDE then their\r
+// code will no longer be binary compatible with the bjam built binaries\r
+// unless this header is included to force Boost code into a consistent ABI.\r
+//\r
+// Note that inclusion of this header is only necessary for libraries with \r
+// separate source, header only libraries DO NOT need this as long as all\r
+// translation units are built with the same options.\r
+//\r
+#if defined(_M_X64)\r
+#  pragma pack(push,16)\r
+#else\r
+#  pragma pack(push,8)\r
+#endif\r
+\r
+\r
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 (file)
index 0000000..8c1edd0
--- /dev/null
@@ -0,0 +1,8 @@
+//  (C) Copyright John Maddock 2003. \r
+//  Use, modification and distribution are subject to the \r
+//  Boost Software License, Version 1.0. (See accompanying file \r
+//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+#pragma pack(pop)\r
+\r
+\r
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 (file)
index 0000000..10cf51d
--- /dev/null
@@ -0,0 +1,25 @@
+//  abi_prefix header  -------------------------------------------------------//\r
+\r
+// (c) Copyright John Maddock 2003\r
+   \r
+// Use, modification and distribution are subject to the Boost Software License,\r
+// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+// http://www.boost.org/LICENSE_1_0.txt).\r
+\r
+#ifndef BOOST_CONFIG_ABI_PREFIX_HPP\r
+# define BOOST_CONFIG_ABI_PREFIX_HPP\r
+#else\r
+# error double inclusion of header boost/config/abi_prefix.hpp is an error\r
+#endif\r
+\r
+#include <boost/config.hpp>\r
+\r
+// this must occur after all other includes and before any code appears:\r
+#ifdef BOOST_HAS_ABI_HEADERS\r
+#  include BOOST_ABI_PREFIX\r
+#endif\r
+\r
+#if defined( __BORLANDC__ )\r
+#pragma nopushoptwarn\r
+#endif\r
+\r
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 (file)
index 0000000..21da961
--- /dev/null
@@ -0,0 +1,27 @@
+//  abi_sufffix header  -------------------------------------------------------//\r
+\r
+// (c) Copyright John Maddock 2003\r
+   \r
+// Use, modification and distribution are subject to the Boost Software License,\r
+// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+// http://www.boost.org/LICENSE_1_0.txt).\r
+\r
+// This header should be #included AFTER code that was preceded by a #include\r
+// <boost/config/abi_prefix.hpp>.\r
+\r
+#ifndef BOOST_CONFIG_ABI_PREFIX_HPP\r
+# error Header boost/config/abi_suffix.hpp must only be used after boost/config/abi_prefix.hpp\r
+#else\r
+# undef BOOST_CONFIG_ABI_PREFIX_HPP\r
+#endif\r
+\r
+// the suffix header occurs after all of our code:\r
+#ifdef BOOST_HAS_ABI_HEADERS\r
+#  include BOOST_ABI_SUFFIX\r
+#endif\r
+\r
+#if defined( __BORLANDC__ )\r
+#pragma nopushoptwarn\r
+#endif\r
+\r
+\r
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 (file)
index 0000000..a14f265
--- /dev/null
@@ -0,0 +1,373 @@
+//  (C) Copyright John Maddock 2003.\r
+//  Use, modification and distribution are subject to the\r
+//  Boost Software License, Version 1.0. (See accompanying file\r
+//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+ /*\r
+  *   LOCATION:    see http://www.boost.org for most recent version.\r
+  *   FILE         auto_link.hpp\r
+  *   VERSION      see <boost/version.hpp>\r
+  *   DESCRIPTION: Automatic library inclusion for Borland/Microsoft compilers.\r
+  */\r
+\r
+/*************************************************************************\r
+\r
+USAGE:\r
+~~~~~~\r
+\r
+Before including this header you must define one or more of define the following macros:\r
+\r
+BOOST_LIB_NAME:           Required: A string containing the basename of the library,\r
+                          for example boost_regex.\r
+BOOST_LIB_TOOLSET:        Optional: the base name of the toolset.\r
+BOOST_DYN_LINK:           Optional: when set link to dll rather than static library.\r
+BOOST_LIB_DIAGNOSTIC:     Optional: when set the header will print out the name\r
+                          of the library selected (useful for debugging).\r
+BOOST_AUTO_LINK_NOMANGLE: Specifies that we should link to BOOST_LIB_NAME.lib,\r
+                          rather than a mangled-name version.\r
+\r
+These macros will be undef'ed at the end of the header, further this header\r
+has no include guards - so be sure to include it only once from your library!\r
+\r
+Algorithm:\r
+~~~~~~~~~~\r
+\r
+Libraries for Borland and Microsoft compilers are automatically\r
+selected here, the name of the lib is selected according to the following\r
+formula:\r
+\r
+BOOST_LIB_PREFIX\r
+   + BOOST_LIB_NAME\r
+   + "_"\r
+   + BOOST_LIB_TOOLSET\r
+   + BOOST_LIB_THREAD_OPT\r
+   + BOOST_LIB_RT_OPT\r
+   "-"\r
+   + BOOST_LIB_VERSION\r
+\r
+These are defined as:\r
+\r
+BOOST_LIB_PREFIX:     "lib" for static libraries otherwise "".\r
+\r
+BOOST_LIB_NAME:       The base name of the lib ( for example boost_regex).\r
+\r
+BOOST_LIB_TOOLSET:    The compiler toolset name (vc6, vc7, bcb5 etc).\r
+\r
+BOOST_LIB_THREAD_OPT: "-mt" for multithread builds, otherwise nothing.\r
+\r
+BOOST_LIB_RT_OPT:     A suffix that indicates the runtime library used,\r
+                      contains one or more of the following letters after\r
+                      a hiphen:\r
+\r
+                      s      static runtime (dynamic if not present).\r
+                      d      debug build (release if not present).\r
+                      g      debug/diagnostic runtime (release if not present).\r
+                      p      STLPort Build.\r
+\r
+BOOST_LIB_VERSION:    The Boost version, in the form x_y, for Boost version x.y.\r
+\r
+\r
+***************************************************************************/\r
+\r
+#ifdef __cplusplus\r
+#  ifndef BOOST_CONFIG_HPP\r
+#     include <boost/config.hpp>\r
+#  endif\r
+#elif defined(_MSC_VER) && !defined(__MWERKS__) && !defined(__EDG_VERSION__)\r
+//\r
+// C language compatability (no, honestly)\r
+//\r
+#  define BOOST_MSVC _MSC_VER\r
+#  define BOOST_STRINGIZE(X) BOOST_DO_STRINGIZE(X)\r
+#  define BOOST_DO_STRINGIZE(X) #X\r
+#endif\r
+//\r
+// Only include what follows for known and supported compilers:\r
+//\r
+#if defined(BOOST_MSVC) \\r
+    || defined(__BORLANDC__) \\r
+    || (defined(__MWERKS__) && defined(_WIN32) && (__MWERKS__ >= 0x3000)) \\r
+    || (defined(__ICL) && defined(_MSC_EXTENSIONS) && (_MSC_VER >= 1200))\r
+\r
+#ifndef BOOST_VERSION_HPP\r
+#  include <boost/version.hpp>\r
+#endif\r
+\r
+#ifndef BOOST_LIB_NAME\r
+#  error "Macro BOOST_LIB_NAME not set (internal error)"\r
+#endif\r
+\r
+//\r
+// error check:\r
+//\r
+#if defined(__MSVC_RUNTIME_CHECKS) && !defined(_DEBUG)\r
+#  pragma message("Using the /RTC option without specifying a debug runtime will lead to linker errors")\r
+#  pragma message("Hint: go to the code generation options and switch to one of the debugging runtimes")\r
+#  error "Incompatible build options"\r
+#endif\r
+//\r
+// select toolset if not defined already:\r
+//\r
+#ifndef BOOST_LIB_TOOLSET\r
+// Note: no compilers before 1200 are supported\r
+#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)\r
+\r
+#  ifdef UNDER_CE\r
+     // vc6:\r
+#    define BOOST_LIB_TOOLSET "evc4"\r
+#  else\r
+     // vc6:\r
+#    define BOOST_LIB_TOOLSET "vc6"\r
+#  endif\r
+\r
+#elif defined(BOOST_MSVC) && (BOOST_MSVC == 1300)\r
+\r
+   // vc7:\r
+#  define BOOST_LIB_TOOLSET "vc7"\r
+\r
+#elif defined(BOOST_MSVC) && (BOOST_MSVC == 1310)\r
+\r
+   // vc71:\r
+#  define BOOST_LIB_TOOLSET "vc71"\r
+\r
+#elif defined(BOOST_MSVC) && (BOOST_MSVC == 1400)\r
+\r
+   // vc80:\r
+#  define BOOST_LIB_TOOLSET "vc80"\r
+\r
+#elif defined(BOOST_MSVC) && (BOOST_MSVC == 1500)\r
+\r
+   // vc90:\r
+#  define BOOST_LIB_TOOLSET "vc90"\r
+\r
+#elif defined(BOOST_MSVC) && (BOOST_MSVC >= 1600)\r
+\r
+   // vc10:\r
+#  define BOOST_LIB_TOOLSET "vc100"\r
+\r
+#elif defined(__BORLANDC__)\r
+\r
+   // CBuilder 6:\r
+#  define BOOST_LIB_TOOLSET "bcb"\r
+\r
+#elif defined(__ICL)\r
+\r
+   // Intel C++, no version number:\r
+#  define BOOST_LIB_TOOLSET "iw"\r
+\r
+#elif defined(__MWERKS__) && (__MWERKS__ <= 0x31FF )\r
+\r
+   // Metrowerks CodeWarrior 8.x\r
+#  define BOOST_LIB_TOOLSET "cw8"\r
+\r
+#elif defined(__MWERKS__) && (__MWERKS__ <= 0x32FF )\r
+\r
+   // Metrowerks CodeWarrior 9.x\r
+#  define BOOST_LIB_TOOLSET "cw9"\r
+\r
+#endif\r
+#endif // BOOST_LIB_TOOLSET\r
+\r
+//\r
+// select thread opt:\r
+//\r
+#if defined(_MT) || defined(__MT__)\r
+#  define BOOST_LIB_THREAD_OPT "-mt"\r
+#else\r
+#  define BOOST_LIB_THREAD_OPT\r
+#endif\r
+\r
+#if defined(_MSC_VER) || defined(__MWERKS__)\r
+\r
+#  ifdef _DLL\r
+\r
+#     if (defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)) && (defined(_STLP_OWN_IOSTREAMS) || defined(__STL_OWN_IOSTREAMS))\r
+\r
+#        if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))\r
+#            define BOOST_LIB_RT_OPT "-gdp"\r
+#        elif defined(_DEBUG)\r
+#            define BOOST_LIB_RT_OPT "-gdp"\r
+#            pragma message("warning: STLPort debug versions are built with /D_STLP_DEBUG=1")\r
+#            error "Build options aren't compatible with pre-built libraries"\r
+#        else\r
+#            define BOOST_LIB_RT_OPT "-p"\r
+#        endif\r
+\r
+#     elif defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)\r
+\r
+#        if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))\r
+#            define BOOST_LIB_RT_OPT "-gdpn"\r
+#        elif defined(_DEBUG)\r
+#            define BOOST_LIB_RT_OPT "-gdpn"\r
+#            pragma message("warning: STLPort debug versions are built with /D_STLP_DEBUG=1")\r
+#            error "Build options aren't compatible with pre-built libraries"\r
+#        else\r
+#            define BOOST_LIB_RT_OPT "-pn"\r
+#        endif\r
+\r
+#     else\r
+\r
+#        if defined(_DEBUG)\r
+#            define BOOST_LIB_RT_OPT "-gd"\r
+#        else\r
+#            define BOOST_LIB_RT_OPT\r
+#        endif\r
+\r
+#     endif\r
+\r
+#  else\r
+\r
+#     if (defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)) && (defined(_STLP_OWN_IOSTREAMS) || defined(__STL_OWN_IOSTREAMS))\r
+\r
+#        if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))\r
+#            define BOOST_LIB_RT_OPT "-sgdp"\r
+#        elif defined(_DEBUG)\r
+#             define BOOST_LIB_RT_OPT "-sgdp"\r
+#            pragma message("warning: STLPort debug versions are built with /D_STLP_DEBUG=1")\r
+#            error "Build options aren't compatible with pre-built libraries"\r
+#        else\r
+#            define BOOST_LIB_RT_OPT "-sp"\r
+#        endif\r
+\r
+#     elif defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)\r
+\r
+#        if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))\r
+#            define BOOST_LIB_RT_OPT "-sgdpn"\r
+#        elif defined(_DEBUG)\r
+#             define BOOST_LIB_RT_OPT "-sgdpn"\r
+#            pragma message("warning: STLPort debug versions are built with /D_STLP_DEBUG=1")\r
+#            error "Build options aren't compatible with pre-built libraries"\r
+#        else\r
+#            define BOOST_LIB_RT_OPT "-spn"\r
+#        endif\r
+\r
+#     else\r
+\r
+#        if defined(_DEBUG)\r
+#             define BOOST_LIB_RT_OPT "-sgd"\r
+#        else\r
+#            define BOOST_LIB_RT_OPT "-s"\r
+#        endif\r
+\r
+#     endif\r
+\r
+#  endif\r
+\r
+#elif defined(__BORLANDC__)\r
+\r
+//\r
+// figure out whether we want the debug builds or not:\r
+//\r
+#if __BORLANDC__ > 0x561\r
+#pragma defineonoption BOOST_BORLAND_DEBUG -v\r
+#endif\r
+//\r
+// sanity check:\r
+//\r
+#if defined(__STL_DEBUG) || defined(_STLP_DEBUG)\r
+#error "Pre-built versions of the Boost libraries are not provided in STLPort-debug form"\r
+#endif\r
+\r
+#  ifdef _RTLDLL\r
+\r
+#     ifdef BOOST_BORLAND_DEBUG\r
+#         define BOOST_LIB_RT_OPT "-d"\r
+#     else\r
+#         define BOOST_LIB_RT_OPT\r
+#     endif\r
+\r
+#  else\r
+\r
+#     ifdef BOOST_BORLAND_DEBUG\r
+#         define BOOST_LIB_RT_OPT "-sd"\r
+#     else\r
+#         define BOOST_LIB_RT_OPT "-s"\r
+#     endif\r
+\r
+#  endif\r
+\r
+#endif\r
+\r
+//\r
+// select linkage opt:\r
+//\r
+#if (defined(_DLL) || defined(_RTLDLL)) && defined(BOOST_DYN_LINK)\r
+#  define BOOST_LIB_PREFIX\r
+#elif defined(BOOST_DYN_LINK)\r
+#  error "Mixing a dll boost library with a static runtime is a really bad idea..."\r
+#else\r
+#  define BOOST_LIB_PREFIX "lib"\r
+#endif\r
+\r
+//\r
+// now include the lib:\r
+//\r
+#if defined(BOOST_LIB_NAME) \\r
+      && defined(BOOST_LIB_PREFIX) \\r
+      && defined(BOOST_LIB_TOOLSET) \\r
+      && defined(BOOST_LIB_THREAD_OPT) \\r
+      && defined(BOOST_LIB_RT_OPT) \\r
+      && defined(BOOST_LIB_VERSION)\r
+\r
+#ifndef BOOST_AUTO_LINK_NOMANGLE\r
+#  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")\r
+#  ifdef BOOST_LIB_DIAGNOSTIC\r
+#     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")\r
+#  endif\r
+#else\r
+#  pragma comment(lib, BOOST_STRINGIZE(BOOST_LIB_NAME) ".lib")\r
+#  ifdef BOOST_LIB_DIAGNOSTIC\r
+#     pragma message ("Linking to lib file: " BOOST_STRINGIZE(BOOST_LIB_NAME) ".lib")\r
+#  endif\r
+#endif\r
+\r
+#else\r
+#  error "some required macros where not defined (internal logic error)."\r
+#endif\r
+\r
+\r
+#endif // _MSC_VER || __BORLANDC__\r
+\r
+//\r
+// finally undef any macros we may have set:\r
+//\r
+#ifdef BOOST_LIB_PREFIX\r
+#  undef BOOST_LIB_PREFIX\r
+#endif\r
+#if defined(BOOST_LIB_NAME)\r
+#  undef BOOST_LIB_NAME\r
+#endif\r
+// Don't undef this one: it can be set by the user and should be the \r
+// same for all libraries:\r
+//#if defined(BOOST_LIB_TOOLSET)\r
+//#  undef BOOST_LIB_TOOLSET\r
+//#endif\r
+#if defined(BOOST_LIB_THREAD_OPT)\r
+#  undef BOOST_LIB_THREAD_OPT\r
+#endif\r
+#if defined(BOOST_LIB_RT_OPT)\r
+#  undef BOOST_LIB_RT_OPT\r
+#endif\r
+#if defined(BOOST_LIB_LINK_OPT)\r
+#  undef BOOST_LIB_LINK_OPT\r
+#endif\r
+#if defined(BOOST_LIB_DEBUG_OPT)\r
+#  undef BOOST_LIB_DEBUG_OPT\r
+#endif\r
+#if defined(BOOST_DYN_LINK)\r
+#  undef BOOST_DYN_LINK\r
+#endif\r
+#if defined(BOOST_AUTO_LINK_NOMANGLE)\r
+#  undef BOOST_AUTO_LINK_NOMANGLE\r
+#endif\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
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 (file)
index 0000000..661d6c8
--- /dev/null
@@ -0,0 +1,267 @@
+//  (C) Copyright John Maddock 2001 - 2003.\r
+//  (C) Copyright David Abrahams 2002 - 2003.\r
+//  (C) Copyright Aleksey Gurtovoy 2002.\r
+//  Use, modification and distribution are subject to the\r
+//  Boost Software License, Version 1.0. (See accompanying file\r
+//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+//  See http://www.boost.org for most recent version.\r
+\r
+//  Borland C++ compiler setup:\r
+\r
+//\r
+// versions check:\r
+// we don't support Borland prior to version 5.4:\r
+#if __BORLANDC__ < 0x540\r
+#  error "Compiler not supported or configured - please reconfigure"\r
+#endif\r
+\r
+// last known compiler version:\r
+#if (__BORLANDC__ > 0x613)\r
+//#  if defined(BOOST_ASSERT_CONFIG)\r
+#     error "Unknown compiler version - please run the configure tests and report the results"\r
+//#  else\r
+//#     pragma message( "Unknown compiler version - please run the configure tests and report the results")\r
+//#  endif\r
+#elif (__BORLANDC__ == 0x600)\r
+#  error "CBuilderX preview compiler is no longer supported"\r
+#endif\r
+\r
+//\r
+// Support macros to help with standard library detection\r
+#if (__BORLANDC__ < 0x560) || defined(_USE_OLD_RW_STL)\r
+#  define BOOST_BCB_WITH_ROGUE_WAVE\r
+#elif __BORLANDC__ < 0x570\r
+#  define BOOST_BCB_WITH_STLPORT\r
+#else\r
+#  define BOOST_BCB_WITH_DINKUMWARE\r
+#endif\r
+\r
+//\r
+// Version 5.0 and below:\r
+#   if __BORLANDC__ <= 0x0550\r
+// Borland C++Builder 4 and 5:\r
+#     define BOOST_NO_MEMBER_TEMPLATE_FRIENDS\r
+#     if __BORLANDC__ == 0x0550\r
+// Borland C++Builder 5, command-line compiler 5.5:\r
+#       define BOOST_NO_OPERATORS_IN_NAMESPACE\r
+#     endif\r
+#   endif\r
+\r
+// Version 5.51 and below:\r
+#if (__BORLANDC__ <= 0x551)\r
+#  define BOOST_NO_CV_SPECIALIZATIONS\r
+#  define BOOST_NO_CV_VOID_SPECIALIZATIONS\r
+#  define BOOST_NO_DEDUCED_TYPENAME\r
+// workaround for missing WCHAR_MAX/WCHAR_MIN:\r
+#include <climits>\r
+#include <cwchar>\r
+#ifndef WCHAR_MAX\r
+#  define WCHAR_MAX 0xffff\r
+#endif\r
+#ifndef WCHAR_MIN\r
+#  define WCHAR_MIN 0\r
+#endif\r
+#endif\r
+\r
+// Borland C++ Builder 6 and below:\r
+#if (__BORLANDC__ <= 0x564)\r
+\r
+#  ifdef NDEBUG\r
+      // fix broken <cstring> so that Boost.test works:\r
+#     include <cstring>\r
+#     undef strcmp\r
+#  endif\r
+   // fix broken errno declaration:\r
+#  include <errno.h>\r
+#  ifndef errno\r
+#     define errno errno\r
+#  endif\r
+\r
+#endif\r
+\r
+//\r
+// new bug in 5.61:\r
+#if (__BORLANDC__ >= 0x561) && (__BORLANDC__ <= 0x580)\r
+   // this seems to be needed by the command line compiler, but not the IDE:\r
+#  define BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS\r
+#endif\r
+\r
+// Borland C++ Builder 2006 Update 2 and below:\r
+#if (__BORLANDC__ <= 0x582)\r
+#  define BOOST_NO_SFINAE\r
+#  define BOOST_BCB_PARTIAL_SPECIALIZATION_BUG\r
+#  define BOOST_NO_TEMPLATE_TEMPLATES\r
+\r
+#  define BOOST_NO_PRIVATE_IN_AGGREGATE\r
+\r
+#  ifdef _WIN32\r
+#     define BOOST_NO_SWPRINTF\r
+#  elif defined(linux) || defined(__linux__) || defined(__linux)\r
+      // we should really be able to do without this\r
+      // but the wcs* functions aren't imported into std::\r
+#     define BOOST_NO_STDC_NAMESPACE\r
+      // _CPPUNWIND doesn't get automatically set for some reason:\r
+#     pragma defineonoption BOOST_CPPUNWIND -x\r
+#  endif\r
+#endif\r
+\r
+#if (__BORLANDC__ <= 0x613)  // Beman has asked Alisdair for more info\r
+   // we shouldn't really need this - but too many things choke\r
+   // without it, this needs more investigation:\r
+#  define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS\r
+#  define BOOST_NO_IS_ABSTRACT\r
+#  define BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS\r
+#  define BOOST_NO_USING_TEMPLATE\r
+#  define BOOST_SP_NO_SP_CONVERTIBLE\r
+\r
+// Temporary workaround\r
+#define BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS\r
+#endif\r
+\r
+// Borland C++ Builder 2008 and below:\r
+#  define BOOST_NO_INTEGRAL_INT64_T\r
+#  define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL\r
+#  define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS\r
+#  define BOOST_NO_MEMBER_TEMPLATE_FRIENDS\r
+#  define BOOST_NO_TWO_PHASE_NAME_LOOKUP\r
+#  define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE\r
+#  define BOOST_NO_NESTED_FRIENDSHIP\r
+#  define BOOST_NO_TYPENAME_WITH_CTOR\r
+#if (__BORLANDC__ < 0x600)\r
+#  define BOOST_ILLEGAL_CV_REFERENCES\r
+#endif\r
+\r
+//\r
+//  Positive Feature detection\r
+//\r
+// Borland C++ Builder 2008 and below:\r
+#if (__BORLANDC__ >= 0x599)\r
+#  pragma defineonoption BOOST_CODEGEAR_0X_SUPPORT -Ax\r
+#endif\r
+//\r
+// C++0x Macros:\r
+//\r
+#if !defined( BOOST_CODEGEAR_0X_SUPPORT ) || (__BORLANDC__ < 0x610)\r
+#  define BOOST_NO_CHAR16_T\r
+#  define BOOST_NO_CHAR32_T\r
+#  define BOOST_NO_DECLTYPE\r
+#  define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS\r
+#  define BOOST_NO_EXTERN_TEMPLATE\r
+#  define BOOST_NO_RVALUE_REFERENCES \r
+#  define BOOST_NO_SCOPED_ENUMS\r
+#  define BOOST_NO_STATIC_ASSERT\r
+#else\r
+#  define BOOST_HAS_ALIGNOF\r
+#  define BOOST_HAS_CHAR16_T\r
+#  define BOOST_HAS_CHAR32_T\r
+#  define BOOST_HAS_DECLTYPE\r
+#  define BOOST_HAS_EXPLICIT_CONVERSION_OPS\r
+#  define BOOST_HAS_REF_QUALIFIER\r
+#  define BOOST_HAS_RVALUE_REFS\r
+#  define BOOST_HAS_STATIC_ASSERT\r
+#endif\r
+\r
+#define BOOST_NO_AUTO_DECLARATIONS\r
+#define BOOST_NO_AUTO_MULTIDECLARATIONS\r
+#define BOOST_NO_CONCEPTS\r
+#define BOOST_NO_CONSTEXPR\r
+#define BOOST_NO_DEFAULTED_FUNCTIONS\r
+#define BOOST_NO_DELETED_FUNCTIONS\r
+#define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS\r
+#define BOOST_NO_INITIALIZER_LISTS\r
+#define BOOST_NO_LAMBDAS\r
+#define BOOST_NO_NULLPTR\r
+#define BOOST_NO_RAW_LITERALS\r
+#define BOOST_NO_RVALUE_REFERENCES\r
+#define BOOST_NO_SCOPED_ENUMS\r
+#define BOOST_NO_SFINAE_EXPR\r
+#define BOOST_NO_TEMPLATE_ALIASES\r
+#define BOOST_NO_UNICODE_LITERALS    // UTF-8 still not supported\r
+#define BOOST_NO_VARIADIC_TEMPLATES\r
+\r
+#if __BORLANDC__ >= 0x590\r
+#  define BOOST_HAS_TR1_HASH\r
+\r
+#  define BOOST_HAS_MACRO_USE_FACET\r
+#endif\r
+\r
+//\r
+// Post 0x561 we have long long and stdint.h:\r
+#if __BORLANDC__ >= 0x561\r
+#  ifndef __NO_LONG_LONG\r
+#     define BOOST_HAS_LONG_LONG\r
+#  else\r
+#     define BOOST_NO_LONG_LONG\r
+#  endif\r
+   // On non-Win32 platforms let the platform config figure this out:\r
+#  ifdef _WIN32\r
+#      define BOOST_HAS_STDINT_H\r
+#  endif\r
+#endif\r
+\r
+// Borland C++Builder 6 defaults to using STLPort.  If _USE_OLD_RW_STL is\r
+// defined, then we have 0x560 or greater with the Rogue Wave implementation\r
+// which presumably has the std::DBL_MAX bug.\r
+#if defined( BOOST_BCB_WITH_ROGUE_WAVE )\r
+// <climits> is partly broken, some macros define symbols that are really in\r
+// namespace std, so you end up having to use illegal constructs like\r
+// std::DBL_MAX, as a fix we'll just include float.h and have done with:\r
+#include <float.h>\r
+#endif\r
+//\r
+// __int64:\r
+//\r
+#if (__BORLANDC__ >= 0x530) && !defined(__STRICT_ANSI__)\r
+#  define BOOST_HAS_MS_INT64\r
+#endif\r
+//\r
+// check for exception handling support:\r
+//\r
+#if !defined(_CPPUNWIND) && !defined(BOOST_CPPUNWIND) && !defined(__EXCEPTIONS)\r
+#  define BOOST_NO_EXCEPTIONS\r
+#endif\r
+//\r
+// all versions have a <dirent.h>:\r
+//\r
+#ifndef __STRICT_ANSI__\r
+#  define BOOST_HAS_DIRENT_H\r
+#endif\r
+//\r
+// all versions support __declspec:\r
+//\r
+#ifndef __STRICT_ANSI__\r
+#  define BOOST_HAS_DECLSPEC\r
+#endif\r
+//\r
+// ABI fixing headers:\r
+//\r
+#if __BORLANDC__ != 0x600 // not implemented for version 6 compiler yet\r
+#ifndef BOOST_ABI_PREFIX\r
+#  define BOOST_ABI_PREFIX "boost/config/abi/borland_prefix.hpp"\r
+#endif\r
+#ifndef BOOST_ABI_SUFFIX\r
+#  define BOOST_ABI_SUFFIX "boost/config/abi/borland_suffix.hpp"\r
+#endif\r
+#endif\r
+//\r
+// Disable Win32 support in ANSI mode:\r
+//\r
+#if __BORLANDC__ < 0x600\r
+#  pragma defineonoption BOOST_DISABLE_WIN32 -A\r
+#elif defined(__STRICT_ANSI__)\r
+#  define BOOST_DISABLE_WIN32\r
+#endif\r
+//\r
+// MSVC compatibility mode does some nasty things:\r
+// TODO: look up if this doesn't apply to the whole 12xx range\r
+//\r
+#if defined(_MSC_VER) && (_MSC_VER <= 1200)\r
+#  define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP\r
+#  define BOOST_NO_VOID_RETURNS\r
+#endif\r
+\r
+#define BOOST_COMPILER "Borland C++ version " BOOST_STRINGIZE(__BORLANDC__)\r
+\r
+\r
+\r
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 (file)
index 0000000..bd9f12d
--- /dev/null
@@ -0,0 +1,163 @@
+//  (C) Copyright John Maddock 2001 - 2003.\r
+//  (C) Copyright David Abrahams 2002 - 2003.\r
+//  (C) Copyright Aleksey Gurtovoy 2002.\r
+//  Use, modification and distribution are subject to the\r
+//  Boost Software License, Version 1.0. (See accompanying file\r
+//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+//  See http://www.boost.org for most recent version.\r
+\r
+//  CodeGear C++ compiler setup:\r
+\r
+#if !defined( BOOST_WITH_CODEGEAR_WARNINGS )\r
+// these warnings occur frequently in optimized template code\r
+# pragma warn -8004 // var assigned value, but never used\r
+# pragma warn -8008 // condition always true/false\r
+# pragma warn -8066 // dead code can never execute\r
+# pragma warn -8104 // static members with ctors not threadsafe\r
+# pragma warn -8105 // reference member in class without ctors\r
+#endif\r
+//\r
+// versions check:\r
+// last known and checked version is 0x620\r
+#if (__CODEGEARC__ > 0x620)\r
+#  if defined(BOOST_ASSERT_CONFIG)\r
+#     error "Unknown compiler version - please run the configure tests and report the results"\r
+#  else\r
+#     pragma message( "Unknown compiler version - please run the configure tests and report the results")\r
+#  endif\r
+#endif\r
+\r
+// CodeGear C++ Builder 2009\r
+#if (__CODEGEARC__ <= 0x613)\r
+#  define BOOST_NO_INTEGRAL_INT64_T\r
+#  define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS\r
+#  define BOOST_NO_PRIVATE_IN_AGGREGATE\r
+#  define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE\r
+   // we shouldn't really need this - but too many things choke\r
+   // without it, this needs more investigation:\r
+#  define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS\r
+#  define BOOST_SP_NO_SP_CONVERTIBLE\r
+#endif\r
+\r
+// CodeGear C++ Builder 2010\r
+#if (__CODEGEARC__ <= 0x620)\r
+#  define BOOST_NO_TYPENAME_WITH_CTOR    // Cannot use typename keyword when making temporaries of a dependant type\r
+#  define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL\r
+#  define BOOST_NO_MEMBER_TEMPLATE_FRIENDS\r
+#  define BOOST_NO_NESTED_FRIENDSHIP     // TC1 gives nested classes access rights as any other member\r
+#  define BOOST_NO_USING_TEMPLATE\r
+#  define BOOST_NO_TWO_PHASE_NAME_LOOKUP\r
+// Temporary hack, until specific MPL preprocessed headers are generated\r
+#  define BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS\r
+\r
+#  ifdef NDEBUG\r
+      // fix broken <cstring> so that Boost.test works:\r
+#     include <cstring>\r
+#     undef strcmp\r
+#  endif\r
+   // fix broken errno declaration:\r
+#  include <errno.h>\r
+#  ifndef errno\r
+#     define errno errno\r
+#  endif\r
+\r
+#endif\r
+//\r
+// C++0x macros:\r
+//\r
+#define BOOST_HAS_CHAR16_T\r
+#define BOOST_HAS_CHAR32_T\r
+#define BOOST_HAS_LONG_LONG\r
+// #define BOOST_HAS_ALIGNOF\r
+#define BOOST_HAS_DECLTYPE\r
+#define BOOST_HAS_EXPLICIT_CONVERSION_OPS\r
+// #define BOOST_HAS_RVALUE_REFS\r
+#define BOOST_HAS_SCOPED_ENUM\r
+// #define BOOST_HAS_STATIC_ASSERT\r
+#define BOOST_HAS_STD_TYPE_TRAITS\r
+\r
+#define BOOST_NO_AUTO_DECLARATIONS\r
+#define BOOST_NO_AUTO_MULTIDECLARATIONS\r
+#define BOOST_NO_CONCEPTS\r
+#define BOOST_NO_CONSTEXPR\r
+#define BOOST_NO_DEFAULTED_FUNCTIONS\r
+#define BOOST_NO_DELETED_FUNCTIONS\r
+#define BOOST_NO_EXTERN_TEMPLATE\r
+#define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS\r
+#define BOOST_NO_INITIALIZER_LISTS\r
+#define BOOST_NO_LAMBDAS\r
+#define BOOST_NO_NULLPTR\r
+#define BOOST_NO_RAW_LITERALS\r
+#define BOOST_NO_RVALUE_REFERENCES\r
+#define BOOST_NO_SFINAE_EXPR\r
+#define BOOST_NO_STATIC_ASSERT\r
+#define BOOST_NO_TEMPLATE_ALIASES\r
+#define BOOST_NO_UNICODE_LITERALS\r
+#define BOOST_NO_VARIADIC_TEMPLATES\r
+\r
+//\r
+// TR1 macros:\r
+//\r
+#define BOOST_HAS_TR1_HASH\r
+#define BOOST_HAS_TR1_TYPE_TRAITS\r
+#define BOOST_HAS_TR1_UNORDERED_MAP\r
+#define BOOST_HAS_TR1_UNORDERED_SET\r
+\r
+#define BOOST_HAS_MACRO_USE_FACET\r
+\r
+#define BOOST_NO_INITIALIZER_LISTS\r
+\r
+// On non-Win32 platforms let the platform config figure this out:\r
+#ifdef _WIN32\r
+#  define BOOST_HAS_STDINT_H\r
+#endif\r
+\r
+//\r
+// __int64:\r
+//\r
+#if !defined(__STRICT_ANSI__)\r
+#  define BOOST_HAS_MS_INT64\r
+#endif\r
+//\r
+// check for exception handling support:\r
+//\r
+#if !defined(_CPPUNWIND) && !defined(BOOST_CPPUNWIND) && !defined(__EXCEPTIONS)\r
+#  define BOOST_NO_EXCEPTIONS\r
+#endif\r
+//\r
+// all versions have a <dirent.h>:\r
+//\r
+#if !defined(__STRICT_ANSI__)\r
+#  define BOOST_HAS_DIRENT_H\r
+#endif\r
+//\r
+// all versions support __declspec:\r
+//\r
+#if !defined(__STRICT_ANSI__)\r
+#  define BOOST_HAS_DECLSPEC\r
+#endif\r
+//\r
+// ABI fixing headers:\r
+//\r
+#ifndef BOOST_ABI_PREFIX\r
+#  define BOOST_ABI_PREFIX "boost/config/abi/borland_prefix.hpp"\r
+#endif\r
+#ifndef BOOST_ABI_SUFFIX\r
+#  define BOOST_ABI_SUFFIX "boost/config/abi/borland_suffix.hpp"\r
+#endif\r
+//\r
+// Disable Win32 support in ANSI mode:\r
+//\r
+#  pragma defineonoption BOOST_DISABLE_WIN32 -A\r
+//\r
+// MSVC compatibility mode does some nasty things:\r
+// TODO: look up if this doesn't apply to the whole 12xx range\r
+//\r
+#if defined(_MSC_VER) && (_MSC_VER <= 1200)\r
+#  define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP\r
+#  define BOOST_NO_VOID_RETURNS\r
+#endif\r
+\r
+#define BOOST_COMPILER "CodeGear C++ version " BOOST_STRINGIZE(__CODEGEARC__)\r
+\r
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 (file)
index 0000000..c2cb68c
--- /dev/null
@@ -0,0 +1,59 @@
+//  (C) Copyright John Maddock 2001. \r
+//  (C) Copyright Douglas Gregor 2001. \r
+//  (C) Copyright Peter Dimov 2001. \r
+//  (C) Copyright Aleksey Gurtovoy 2003. \r
+//  (C) Copyright Beman Dawes 2003. \r
+//  (C) Copyright Jens Maurer 2003. \r
+//  Use, modification and distribution are subject to the \r
+//  Boost Software License, Version 1.0. (See accompanying file \r
+//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+//  See http://www.boost.org for most recent version.\r
+\r
+//  Comeau C++ compiler setup:\r
+\r
+#include "boost/config/compiler/common_edg.hpp"\r
+\r
+#if (__COMO_VERSION__ <= 4245)\r
+\r
+#  if defined(_MSC_VER) && _MSC_VER <= 1300\r
+#     if _MSC_VER > 100\r
+         // only set this in non-strict mode:\r
+#        define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP\r
+#     endif\r
+#  endif\r
+\r
+// Void returns don't work when emulating VC 6 (Peter Dimov)\r
+// TODO: look up if this doesn't apply to the whole 12xx range\r
+#  if defined(_MSC_VER) && (_MSC_VER < 1300)\r
+#     define BOOST_NO_VOID_RETURNS\r
+#  endif\r
+\r
+#endif  // version 4245\r
+\r
+//\r
+// enable __int64 support in VC emulation mode\r
+//\r
+#  if defined(_MSC_VER) && (_MSC_VER >= 1200)\r
+#     define BOOST_HAS_MS_INT64\r
+#  endif\r
+\r
+#define BOOST_COMPILER "Comeau compiler version " BOOST_STRINGIZE(__COMO_VERSION__)\r
+\r
+//\r
+// versions check:\r
+// we don't know Comeau prior to version 4245:\r
+#if __COMO_VERSION__ < 4245\r
+#  error "Compiler not configured - please reconfigure"\r
+#endif\r
+//\r
+// last known and checked version is 4245:\r
+#if (__COMO_VERSION__ > 4245)\r
+#  if defined(BOOST_ASSERT_CONFIG)\r
+#     error "Unknown compiler version - please run the configure tests and report the results"\r
+#  endif\r
+#endif\r
+\r
+\r
+\r
+\r
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 (file)
index 0000000..452ab7d
--- /dev/null
@@ -0,0 +1,97 @@
+//  (C) Copyright John Maddock 2001 - 2002. \r
+//  (C) Copyright Jens Maurer 2001. \r
+//  (C) Copyright David Abrahams 2002. \r
+//  (C) Copyright Aleksey Gurtovoy 2002. \r
+//  (C) Copyright Markus Schoepflin 2005.\r
+//  Use, modification and distribution are subject to the \r
+//  Boost Software License, Version 1.0. (See accompanying file \r
+//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+//  See http://www.boost.org for most recent version.\r
+\r
+//\r
+// Options common to all edg based compilers.\r
+//\r
+// This is included from within the individual compiler mini-configs.\r
+\r
+#ifndef  __EDG_VERSION__\r
+#  error This file requires that __EDG_VERSION__ be defined.\r
+#endif\r
+\r
+#if (__EDG_VERSION__ <= 238)\r
+#   define BOOST_NO_INTEGRAL_INT64_T\r
+#   define BOOST_NO_SFINAE\r
+#endif\r
+\r
+#if (__EDG_VERSION__ <= 240)\r
+#   define BOOST_NO_VOID_RETURNS\r
+#endif\r
+\r
+#if (__EDG_VERSION__ <= 241) && !defined(BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP)\r
+#   define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP\r
+#endif\r
+\r
+#if (__EDG_VERSION__ <= 244) && !defined(BOOST_NO_TEMPLATE_TEMPLATES)\r
+#   define BOOST_NO_TEMPLATE_TEMPLATES\r
+#endif \r
+\r
+#if (__EDG_VERSION__ < 300) && !defined(BOOST_NO_IS_ABSTRACT)\r
+#   define BOOST_NO_IS_ABSTRACT\r
+#endif \r
+\r
+#if (__EDG_VERSION__ <= 303) && !defined(BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL)\r
+#   define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL\r
+#endif \r
+\r
+// See also kai.hpp which checks a Kai-specific symbol for EH\r
+# if !defined(__KCC) && !defined(__EXCEPTIONS)\r
+#     define BOOST_NO_EXCEPTIONS\r
+# endif\r
+\r
+# if !defined(__NO_LONG_LONG)\r
+#     define BOOST_HAS_LONG_LONG\r
+# else\r
+#     define BOOST_NO_LONG_LONG\r
+# endif\r
+\r
+//\r
+// C++0x features\r
+//\r
+//   See above for BOOST_NO_LONG_LONG\r
+//\r
+#if (__EDG_VERSION__ <= 310) || !defined(BOOST_STRICT_CONFIG)\r
+// No support for initializer lists\r
+#  define BOOST_NO_INITIALIZER_LISTS\r
+#endif\r
+\r
+#define BOOST_NO_AUTO_DECLARATIONS\r
+#define BOOST_NO_AUTO_MULTIDECLARATIONS\r
+#define BOOST_NO_CHAR16_T\r
+#define BOOST_NO_CHAR32_T\r
+#define BOOST_NO_CONCEPTS\r
+#define BOOST_NO_CONSTEXPR\r
+#define BOOST_NO_DECLTYPE\r
+#define BOOST_NO_DEFAULTED_FUNCTIONS\r
+#define BOOST_NO_DELETED_FUNCTIONS\r
+#define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS\r
+#define BOOST_NO_EXTERN_TEMPLATE\r
+#define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS\r
+#define BOOST_NO_LAMBDAS\r
+#define BOOST_NO_NULLPTR\r
+#define BOOST_NO_RAW_LITERALS\r
+#define BOOST_NO_RVALUE_REFERENCES\r
+#define BOOST_NO_SCOPED_ENUMS\r
+#define BOOST_NO_SFINAE_EXPR\r
+#define BOOST_NO_STATIC_ASSERT\r
+#define BOOST_NO_TEMPLATE_ALIASES\r
+#define BOOST_NO_UNICODE_LITERALS\r
+#define BOOST_NO_VARIADIC_TEMPLATES\r
+\r
+#ifdef c_plusplus\r
+// EDG has "long long" in non-strict mode\r
+// However, some libraries have insufficient "long long" support\r
+// #define BOOST_HAS_LONG_LONG\r
+#endif\r
+\r
+\r
+\r
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 (file)
index 0000000..8fb73fb
--- /dev/null
@@ -0,0 +1,19 @@
+//  (C) Copyright John Maddock 2001 - 2003. \r
+//  Use, modification and distribution are subject to the \r
+//  Boost Software License, Version 1.0. (See accompanying file \r
+//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+//  See http://www.boost.org for most recent version.\r
+\r
+//  Tru64 C++ compiler setup (now HP):\r
+\r
+#define BOOST_COMPILER "HP Tru64 C++ " BOOST_STRINGIZE(__DECCXX_VER)\r
+\r
+#include "boost/config/compiler/common_edg.hpp"\r
+\r
+//\r
+// versions check:\r
+// Nothing to do here?\r
+\r
+\r
+\r
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 (file)
index 0000000..47b23be
--- /dev/null
@@ -0,0 +1,93 @@
+//  Copyright (C) Christof Meerwald 2003\r
+//  Copyright (C) Dan Watkins 2003\r
+//\r
+//  Use, modification and distribution are subject to the \r
+//  Boost Software License, Version 1.0. (See accompanying file \r
+//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+//  Digital Mars C++ compiler setup:\r
+#define BOOST_COMPILER __DMC_VERSION_STRING__\r
+\r
+#define BOOST_HAS_LONG_LONG\r
+#define BOOST_HAS_PRAGMA_ONCE\r
+\r
+#if (__DMC__ <= 0x833)\r
+#define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL\r
+#define BOOST_NO_TEMPLATE_TEMPLATES\r
+#define BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING\r
+#define BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS\r
+#define BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS\r
+#endif\r
+#if (__DMC__ <= 0x840) || !defined(BOOST_STRICT_CONFIG)\r
+#define BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS\r
+#define BOOST_NO_MEMBER_TEMPLATE_FRIENDS\r
+#define BOOST_NO_OPERATORS_IN_NAMESPACE\r
+#define BOOST_NO_UNREACHABLE_RETURN_DETECTION\r
+#define BOOST_NO_SFINAE\r
+#define BOOST_NO_USING_TEMPLATE\r
+#define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL\r
+#endif\r
+\r
+//\r
+// has macros:\r
+#if (__DMC__ >= 0x840)\r
+#define BOOST_HAS_DIRENT_H\r
+#define BOOST_HAS_STDINT_H\r
+#define BOOST_HAS_WINTHREADS\r
+#endif\r
+\r
+#if (__DMC__ >= 0x847)\r
+#define BOOST_HAS_EXPM1\r
+#define BOOST_HAS_LOG1P\r
+#endif\r
+\r
+//\r
+// Is this really the best way to detect whether the std lib is in namespace std?\r
+//\r
+#include <cstddef>\r
+#if !defined(__STL_IMPORT_VENDOR_CSTD) && !defined(_STLP_IMPORT_VENDOR_CSTD)\r
+#  define BOOST_NO_STDC_NAMESPACE\r
+#endif\r
+\r
+\r
+// check for exception handling support:\r
+#ifndef _CPPUNWIND\r
+#  define BOOST_NO_EXCEPTIONS\r
+#endif\r
+\r
+//\r
+// C++0x features\r
+//\r
+#define BOOST_NO_AUTO_DECLARATIONS\r
+#define BOOST_NO_AUTO_MULTIDECLARATIONS\r
+#define BOOST_NO_CHAR16_T\r
+#define BOOST_NO_CHAR32_T\r
+#define BOOST_NO_CONCEPTS\r
+#define BOOST_NO_CONSTEXPR\r
+#define BOOST_NO_DECLTYPE\r
+#define BOOST_NO_DEFAULTED_FUNCTIONS\r
+#define BOOST_NO_DELETED_FUNCTIONS\r
+#define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS\r
+#define BOOST_NO_EXTERN_TEMPLATE\r
+#define BOOST_NO_INITIALIZER_LISTS\r
+#define BOOST_NO_LAMBDAS\r
+#define BOOST_NO_NULLPTR\r
+#define BOOST_NO_RAW_LITERALS\r
+#define BOOST_NO_RVALUE_REFERENCES\r
+#define BOOST_NO_SCOPED_ENUMS\r
+#define BOOST_NO_SFINAE_EXPR\r
+#define BOOST_NO_STATIC_ASSERT\r
+#define BOOST_NO_TEMPLATE_ALIASES\r
+#define BOOST_NO_UNICODE_LITERALS\r
+#define BOOST_NO_VARIADIC_TEMPLATES\r
+\r
+#if __DMC__ < 0x800\r
+#error "Compiler not supported or configured - please reconfigure"\r
+#endif\r
+//\r
+// last known and checked version is ...:\r
+#if (__DMC__ > 0x848)\r
+#  if defined(BOOST_ASSERT_CONFIG)\r
+#     error "Unknown compiler version - please run the configure tests and report the results"\r
+#  endif\r
+#endif\r
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 (file)
index 0000000..c97353b
--- /dev/null
@@ -0,0 +1,204 @@
+//  (C) Copyright John Maddock 2001 - 2003. \r
+//  (C) Copyright Darin Adler 2001 - 2002. \r
+//  (C) Copyright Jens Maurer 2001 - 2002. \r
+//  (C) Copyright Beman Dawes 2001 - 2003. \r
+//  (C) Copyright Douglas Gregor 2002. \r
+//  (C) Copyright David Abrahams 2002 - 2003. \r
+//  (C) Copyright Synge Todo 2003. \r
+//  Use, modification and distribution are subject to the \r
+//  Boost Software License, Version 1.0. (See accompanying file \r
+//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+//  See http://www.boost.org for most recent version.\r
+\r
+//  GNU C++ compiler setup:\r
+\r
+#if __GNUC__ < 3\r
+#   if __GNUC_MINOR__ == 91\r
+       // egcs 1.1 won't parse shared_ptr.hpp without this:\r
+#      define BOOST_NO_AUTO_PTR\r
+#   endif\r
+#   if __GNUC_MINOR__ < 95\r
+      //\r
+      // Prior to gcc 2.95 member templates only partly\r
+      // work - define BOOST_MSVC6_MEMBER_TEMPLATES\r
+      // instead since inline member templates mostly work.\r
+      //\r
+#     define BOOST_NO_MEMBER_TEMPLATES\r
+#     if __GNUC_MINOR__ >= 9\r
+#       define BOOST_MSVC6_MEMBER_TEMPLATES\r
+#     endif\r
+#   endif\r
+\r
+#   if __GNUC_MINOR__ < 96\r
+#     define BOOST_NO_SFINAE\r
+#   endif\r
+\r
+#   if __GNUC_MINOR__ <= 97\r
+#     define BOOST_NO_MEMBER_TEMPLATE_FRIENDS\r
+#     define BOOST_NO_OPERATORS_IN_NAMESPACE\r
+#   endif\r
+\r
+#   define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE\r
+#   define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL\r
+#   define BOOST_NO_IS_ABSTRACT\r
+#elif __GNUC__ == 3\r
+#  if defined (__PATHSCALE__)\r
+#     define BOOST_NO_TWO_PHASE_NAME_LOOKUP\r
+#     define BOOST_NO_IS_ABSTRACT\r
+#  endif\r
+   //\r
+   // gcc-3.x problems:\r
+   //\r
+   // Bug specific to gcc 3.1 and 3.2:\r
+   //\r
+#  if ((__GNUC_MINOR__ == 1) || (__GNUC_MINOR__ == 2))\r
+#     define BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS\r
+#  endif\r
+#  if __GNUC_MINOR__ < 4\r
+#     define BOOST_NO_IS_ABSTRACT\r
+#  endif\r
+#endif\r
+#if __GNUC__ < 4\r
+//\r
+// All problems to gcc-3.x and earlier here:\r
+//\r
+#define BOOST_NO_TWO_PHASE_NAME_LOOKUP\r
+#  ifdef __OPEN64__\r
+#     define BOOST_NO_IS_ABSTRACT\r
+#  endif\r
+#endif\r
+\r
+#ifndef __EXCEPTIONS\r
+# define BOOST_NO_EXCEPTIONS\r
+#endif\r
+\r
+\r
+//\r
+// Threading support: Turn this on unconditionally here (except for\r
+// those platforms where we can know for sure). It will get turned off again\r
+// later if no threading API is detected.\r
+//\r
+#if !defined(__MINGW32__) && !defined(linux) && !defined(__linux) && !defined(__linux__)\r
+# define BOOST_HAS_THREADS\r
+#endif \r
+\r
+//\r
+// gcc has "long long"\r
+//\r
+#define BOOST_HAS_LONG_LONG\r
+\r
+//\r
+// gcc implements the named return value optimization since version 3.1\r
+//\r
+#if __GNUC__ > 3 || ( __GNUC__ == 3 && __GNUC_MINOR__ >= 1 )\r
+#define BOOST_HAS_NRVO\r
+#endif\r
+//\r
+// RTTI and typeinfo detection is possible post gcc-4.3:\r
+//\r
+#if __GNUC__ * 100 + __GNUC_MINOR__ >= 403\r
+#  ifndef __GXX_RTTI\r
+#     define BOOST_NO_TYPEID\r
+#     define BOOST_NO_RTTI\r
+#  endif\r
+#endif\r
+\r
+// C++0x features not implemented in any GCC version\r
+//\r
+#define BOOST_NO_CONSTEXPR\r
+#define BOOST_NO_EXTERN_TEMPLATE\r
+#define BOOST_NO_LAMBDAS\r
+#define BOOST_NO_NULLPTR\r
+#define BOOST_NO_RAW_LITERALS\r
+#define BOOST_NO_TEMPLATE_ALIASES\r
+#define BOOST_NO_UNICODE_LITERALS\r
+\r
+// C++0x features in 4.3.n and later\r
+//\r
+#if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 2)) && defined(__GXX_EXPERIMENTAL_CXX0X__)\r
+// C++0x features are only enabled when -std=c++0x or -std=gnu++0x are\r
+// passed on the command line, which in turn defines\r
+// __GXX_EXPERIMENTAL_CXX0X__.\r
+#  define BOOST_HAS_DECLTYPE\r
+#  define BOOST_HAS_RVALUE_REFS\r
+#  define BOOST_HAS_STATIC_ASSERT\r
+#  define BOOST_HAS_VARIADIC_TMPL\r
+#else\r
+#  define BOOST_NO_DECLTYPE\r
+#  define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS\r
+#  define BOOST_NO_RVALUE_REFERENCES\r
+#  define BOOST_NO_STATIC_ASSERT\r
+\r
+// Variadic templates compiler: \r
+//   http://www.generic-programming.org/~dgregor/cpp/variadic-templates.html\r
+#  ifdef __VARIADIC_TEMPLATES\r
+#    define BOOST_HAS_VARIADIC_TMPL\r
+#  else\r
+#    define BOOST_NO_VARIADIC_TEMPLATES\r
+#  endif\r
+#endif\r
+\r
+// C++0x features in 4.4.n and later\r
+//\r
+#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 4) || !defined(__GXX_EXPERIMENTAL_CXX0X__)\r
+#  define BOOST_NO_AUTO_DECLARATIONS\r
+#  define BOOST_NO_AUTO_MULTIDECLARATIONS\r
+#  define BOOST_NO_CHAR16_T\r
+#  define BOOST_NO_CHAR32_T\r
+#  define BOOST_NO_DEFAULTED_FUNCTIONS\r
+#  define BOOST_NO_DELETED_FUNCTIONS\r
+#  define BOOST_NO_INITIALIZER_LISTS\r
+#  define BOOST_NO_SCOPED_ENUMS  \r
+#endif\r
+\r
+#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 4)\r
+#  define BOOST_NO_SFINAE_EXPR\r
+#endif\r
+\r
+// C++0x features in 4.4.1 and later\r
+//\r
+#if (__GNUC__*10000 + __GNUC_MINOR__*100 + __GNUC_PATCHLEVEL__ < 40401) || !defined(__GXX_EXPERIMENTAL_CXX0X__)\r
+// scoped enums have a serious bug in 4.4.0, so define BOOST_NO_SCOPED_ENUMS before 4.4.1\r
+// See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38064\r
+#  define BOOST_NO_SCOPED_ENUMS\r
+#endif\r
+\r
+// C++0x features in 4.5.n and later\r
+//\r
+#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 5) || !defined(__GXX_EXPERIMENTAL_CXX0X__)\r
+#  define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS\r
+#endif\r
+\r
+// ConceptGCC compiler:\r
+//   http://www.generic-programming.org/software/ConceptGCC/\r
+#ifdef __GXX_CONCEPTS__\r
+#  define BOOST_HAS_CONCEPTS\r
+#  define BOOST_COMPILER "ConceptGCC version " __VERSION__\r
+#else\r
+#  define BOOST_NO_CONCEPTS\r
+#endif\r
+\r
+#ifndef BOOST_COMPILER\r
+#  define BOOST_COMPILER "GNU C++ version " __VERSION__\r
+#endif\r
+\r
+//\r
+// versions check:\r
+// we don't know gcc prior to version 2.90:\r
+#if (__GNUC__ == 2) && (__GNUC_MINOR__ < 90)\r
+#  error "Compiler not configured - please reconfigure"\r
+#endif\r
+//\r
+// last known and checked version is 4.4 (Pre-release):\r
+#if (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ > 4))\r
+#  if defined(BOOST_ASSERT_CONFIG)\r
+#     error "Unknown compiler version - please run the configure tests and report the results"\r
+#  else\r
+// we don't emit warnings here anymore since there are no defect macros defined for\r
+// gcc post 3.4, so any failures are gcc regressions...\r
+//#     warning "Unknown compiler version - please run the configure tests and report the results"\r
+#  endif\r
+#endif\r
+\r
+\r
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 (file)
index 0000000..76954a9
--- /dev/null
@@ -0,0 +1,30 @@
+//  (C) Copyright John Maddock 2006. \r
+//  Use, modification and distribution are subject to the \r
+//  Boost Software License, Version 1.0. (See accompanying file \r
+//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+//  See http://www.boost.org for most recent version.\r
+\r
+//  GCC-XML C++ compiler setup:\r
+\r
+#  if !defined(__GCCXML_GNUC__) || ((__GCCXML_GNUC__ <= 3) && (__GCCXML_GNUC_MINOR__ <= 3))\r
+#     define BOOST_NO_IS_ABSTRACT\r
+#  endif\r
+\r
+//\r
+// Threading support: Turn this on unconditionally here (except for\r
+// those platforms where we can know for sure). It will get turned off again\r
+// later if no threading API is detected.\r
+//\r
+#if !defined(__MINGW32__) && !defined(_MSC_VER) && !defined(linux) && !defined(__linux) && !defined(__linux__)\r
+# define BOOST_HAS_THREADS\r
+#endif \r
+\r
+//\r
+// gcc has "long long"\r
+//\r
+#define BOOST_HAS_LONG_LONG\r
+\r
+#define BOOST_COMPILER "GCC-XML C++ version " __GCCXML__\r
+\r
+\r
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 (file)
index 0000000..1dd89d1
--- /dev/null
@@ -0,0 +1,28 @@
+//  (C) Copyright John Maddock 2001. \r
+//  Use, modification and distribution are subject to the \r
+//  Boost Software License, Version 1.0. (See accompanying file \r
+//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+//  See http://www.boost.org for most recent version.\r
+\r
+//  Greenhills C++ compiler setup:\r
+\r
+#define BOOST_COMPILER "Greenhills C++ version " BOOST_STRINGIZE(__ghs)\r
+\r
+#include "boost/config/compiler/common_edg.hpp"\r
+\r
+//\r
+// versions check:\r
+// we don't support Greenhills prior to version 0:\r
+#if __ghs < 0\r
+#  error "Compiler not supported or configured - please reconfigure"\r
+#endif\r
+//\r
+// last known and checked version is 0:\r
+#if (__ghs > 0)\r
+#  if defined(BOOST_ASSERT_CONFIG)\r
+#     error "Unknown compiler version - please run the configure tests and report the results"\r
+#  endif\r
+#endif\r
+\r
+\r
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 (file)
index 0000000..66bbb46
--- /dev/null
@@ -0,0 +1,127 @@
+//  (C) Copyright John Maddock 2001 - 2003. \r
+//  (C) Copyright Jens Maurer 2001 - 2003. \r
+//  (C) Copyright Aleksey Gurtovoy 2002. \r
+//  (C) Copyright David Abrahams 2002 - 2003. \r
+//  (C) Copyright Toon Knapen 2003. \r
+//  (C) Copyright Boris Gubenko 2006 - 2007.\r
+//  Use, modification and distribution are subject to the \r
+//  Boost Software License, Version 1.0. (See accompanying file \r
+//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+//  See http://www.boost.org for most recent version.\r
+\r
+//  HP aCC C++ compiler setup:\r
+\r
+#if defined(__EDG__)\r
+#include "boost/config/compiler/common_edg.hpp"\r
+#endif\r
+\r
+#if (__HP_aCC <= 33100)\r
+#    define BOOST_NO_INTEGRAL_INT64_T\r
+#    define BOOST_NO_OPERATORS_IN_NAMESPACE\r
+#  if !defined(_NAMESPACE_STD)\r
+#     define BOOST_NO_STD_LOCALE\r
+#     define BOOST_NO_STRINGSTREAM\r
+#  endif\r
+#endif\r
+\r
+#if (__HP_aCC <= 33300)\r
+// member templates are sufficiently broken that we disable them for now\r
+#    define BOOST_NO_MEMBER_TEMPLATES\r
+#    define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS\r
+#    define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE\r
+#endif\r
+\r
+#if (__HP_aCC <= 38000)\r
+#  define BOOST_NO_TWO_PHASE_NAME_LOOKUP\r
+#endif\r
+\r
+#if (__HP_aCC > 50000) && (__HP_aCC < 60000)\r
+#    define BOOST_NO_UNREACHABLE_RETURN_DETECTION\r
+#    define BOOST_NO_TEMPLATE_TEMPLATES\r
+#    define BOOST_NO_SWPRINTF\r
+#    define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS\r
+#    define BOOST_NO_IS_ABSTRACT\r
+#    define BOOST_NO_MEMBER_TEMPLATE_FRIENDS\r
+#endif \r
+\r
+// optional features rather than defects:\r
+#if (__HP_aCC >= 33900)\r
+#    define BOOST_HAS_LONG_LONG\r
+#    define BOOST_HAS_PARTIAL_STD_ALLOCATOR\r
+#endif\r
+\r
+#if (__HP_aCC >= 50000 ) && (__HP_aCC <= 53800 ) || (__HP_aCC < 31300 )\r
+#    define BOOST_NO_MEMBER_TEMPLATE_KEYWORD\r
+#endif\r
+\r
+// This macro should not be defined when compiling in strict ansi\r
+// mode, but, currently, we don't have the ability to determine\r
+// what standard mode we are compiling with. Some future version\r
+// of aCC6 compiler will provide predefined macros reflecting the\r
+// compilation options, including the standard mode.\r
+#if (__HP_aCC >= 60000) || ((__HP_aCC > 38000) && defined(__hpxstd98))\r
+#    define BOOST_NO_TWO_PHASE_NAME_LOOKUP\r
+#endif\r
+\r
+#define BOOST_COMPILER "HP aCC version " BOOST_STRINGIZE(__HP_aCC)\r
+\r
+//\r
+// versions check:\r
+// we don't support HP aCC prior to version 33000:\r
+#if __HP_aCC < 33000\r
+#  error "Compiler not supported or configured - please reconfigure"\r
+#endif\r
+\r
+//\r
+// Extended checks for supporting aCC on PA-RISC\r
+#if __HP_aCC > 30000 && __HP_aCC < 50000\r
+#  if __HP_aCC < 38000\r
+      // versions prior to version A.03.80 not supported\r
+#     error "Compiler version not supported - version A.03.80 or higher is required"\r
+#  elif !defined(__hpxstd98)\r
+      // must compile using the option +hpxstd98 with version A.03.80 and above\r
+#     error "Compiler option '+hpxstd98' is required for proper support"\r
+#  endif //PA-RISC\r
+#endif\r
+\r
+//\r
+// C++0x features\r
+//\r
+//   See boost\config\suffix.hpp for BOOST_NO_LONG_LONG\r
+//\r
+#if !defined(__EDG__)\r
+\r
+#define BOOST_NO_AUTO_DECLARATIONS\r
+#define BOOST_NO_AUTO_MULTIDECLARATIONS\r
+#define BOOST_NO_CHAR16_T\r
+#define BOOST_NO_CHAR32_T\r
+#define BOOST_NO_CONCEPTS\r
+#define BOOST_NO_CONSTEXPR\r
+#define BOOST_NO_DECLTYPE\r
+#define BOOST_NO_DEFAULTED_FUNCTIONS\r
+#define BOOST_NO_DELETED_FUNCTIONS\r
+#define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS\r
+#define BOOST_NO_EXTERN_TEMPLATE\r
+#define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS\r
+#define BOOST_NO_INITIALIZER_LISTS\r
+#define BOOST_NO_LAMBDAS\r
+#define BOOST_NO_NULLPTR\r
+#define BOOST_NO_RAW_LITERALS\r
+#define BOOST_NO_RVALUE_REFERENCES\r
+#define BOOST_NO_SCOPED_ENUMS\r
+#define BOOST_NO_SFINAE_EXPR\r
+#define BOOST_NO_STATIC_ASSERT\r
+#define BOOST_NO_TEMPLATE_ALIASES\r
+#define BOOST_NO_UNICODE_LITERALS\r
+#define BOOST_NO_VARIADIC_TEMPLATES\r
+#endif\r
+\r
+//\r
+// last known and checked version for HP-UX/ia64 is 61300\r
+// last known and checked version for PA-RISC is 38000\r
+#if ((__HP_aCC > 61300) || ((__HP_aCC > 38000) && defined(__hpxstd98)))\r
+#  if defined(BOOST_ASSERT_CONFIG)\r
+#     error "Unknown compiler version - please run the configure tests and report the results"\r
+#  endif\r
+#endif\r
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 (file)
index 0000000..620f457
--- /dev/null
@@ -0,0 +1,173 @@
+//  (C) Copyright John Maddock 2001-8.\r
+//  (C) Copyright Peter Dimov 2001.\r
+//  (C) Copyright Jens Maurer 2001.\r
+//  (C) Copyright David Abrahams 2002 - 2003.\r
+//  (C) Copyright Aleksey Gurtovoy 2002 - 2003.\r
+//  (C) Copyright Guillaume Melquiond 2002 - 2003.\r
+//  (C) Copyright Beman Dawes 2003.\r
+//  (C) Copyright Martin Wille 2003.\r
+//  Use, modification and distribution are subject to the\r
+//  Boost Software License, Version 1.0. (See accompanying file\r
+//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+//  See http://www.boost.org for most recent version.\r
+\r
+//  Intel compiler setup:\r
+\r
+#include "boost/config/compiler/common_edg.hpp"\r
+\r
+#if defined(__INTEL_COMPILER)\r
+#  define BOOST_INTEL_CXX_VERSION __INTEL_COMPILER\r
+#elif defined(__ICL)\r
+#  define BOOST_INTEL_CXX_VERSION __ICL\r
+#elif defined(__ICC)\r
+#  define BOOST_INTEL_CXX_VERSION __ICC\r
+#elif defined(__ECC)\r
+#  define BOOST_INTEL_CXX_VERSION __ECC\r
+#endif\r
+\r
+#define BOOST_COMPILER "Intel C++ version " BOOST_STRINGIZE(BOOST_INTEL_CXX_VERSION)\r
+#define BOOST_INTEL BOOST_INTEL_CXX_VERSION\r
+\r
+#if defined(_WIN32) || defined(_WIN64)\r
+#  define BOOST_INTEL_WIN BOOST_INTEL\r
+#else\r
+#  define BOOST_INTEL_LINUX BOOST_INTEL\r
+#endif\r
+\r
+#if (BOOST_INTEL_CXX_VERSION <= 500) && defined(_MSC_VER)\r
+#  define BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS\r
+#  define BOOST_NO_TEMPLATE_TEMPLATES\r
+#endif\r
+\r
+#if (BOOST_INTEL_CXX_VERSION <= 600)\r
+\r
+#  if defined(_MSC_VER) && (_MSC_VER <= 1300) // added check for <= VC 7 (Peter Dimov)\r
+\r
+// Boost libraries assume strong standard conformance unless otherwise\r
+// indicated by a config macro. As configured by Intel, the EDG front-end\r
+// requires certain compiler options be set to achieve that strong conformance.\r
+// Particularly /Qoption,c,--arg_dep_lookup (reported by Kirk Klobe & Thomas Witt)\r
+// and /Zc:wchar_t,forScope. See boost-root/tools/build/intel-win32-tools.jam for\r
+// details as they apply to particular versions of the compiler. When the\r
+// compiler does not predefine a macro indicating if an option has been set,\r
+// this config file simply assumes the option has been set.\r
+// Thus BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP will not be defined, even if\r
+// the compiler option is not enabled.\r
+\r
+#     define BOOST_NO_SWPRINTF\r
+#  endif\r
+\r
+// Void returns, 64 bit integrals don't work when emulating VC 6 (Peter Dimov)\r
+\r
+#  if defined(_MSC_VER) && (_MSC_VER <= 1200)\r
+#     define BOOST_NO_VOID_RETURNS\r
+#     define BOOST_NO_INTEGRAL_INT64_T\r
+#  endif\r
+\r
+#endif\r
+\r
+#if (BOOST_INTEL_CXX_VERSION <= 710) && defined(_WIN32)\r
+#  define BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS\r
+#endif\r
+\r
+// See http://aspn.activestate.com/ASPN/Mail/Message/boost/1614864\r
+#if BOOST_INTEL_CXX_VERSION < 600\r
+#  define BOOST_NO_INTRINSIC_WCHAR_T\r
+#else\r
+// We should test the macro _WCHAR_T_DEFINED to check if the compiler\r
+// supports wchar_t natively. *BUT* there is a problem here: the standard\r
+// headers define this macro if they typedef wchar_t. Anyway, we're lucky\r
+// because they define it without a value, while Intel C++ defines it\r
+// to 1. So we can check its value to see if the macro was defined natively\r
+// or not.\r
+// Under UNIX, the situation is exactly the same, but the macro _WCHAR_T\r
+// is used instead.\r
+#  if ((_WCHAR_T_DEFINED + 0) == 0) && ((_WCHAR_T + 0) == 0)\r
+#    define BOOST_NO_INTRINSIC_WCHAR_T\r
+#  endif\r
+#endif\r
+\r
+#if defined(__GNUC__) && !defined(BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL)\r
+//\r
+// Figure out when Intel is emulating this gcc bug\r
+// (All Intel versions prior to 9.0.26, and versions\r
+// later than that if they are set up to emulate gcc 3.2\r
+// or earlier):\r
+//\r
+#  if ((__GNUC__ == 3) && (__GNUC_MINOR__ <= 2)) || (BOOST_INTEL < 900) || (__INTEL_COMPILER_BUILD_DATE < 20050912)\r
+#     define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL\r
+#  endif\r
+#endif\r
+#if (defined(__GNUC__) && (__GNUC__ < 4)) || defined(_WIN32) || (BOOST_INTEL_CXX_VERSION <= 1110)\r
+// GCC or VC emulation:\r
+#define BOOST_NO_TWO_PHASE_NAME_LOOKUP\r
+#endif\r
+//\r
+// Verify that we have actually got BOOST_NO_INTRINSIC_WCHAR_T\r
+// set correctly, if we don't do this now, we will get errors later\r
+// in type_traits code among other things, getting this correct\r
+// for the Intel compiler is actually remarkably fragile and tricky:\r
+//\r
+#if defined(BOOST_NO_INTRINSIC_WCHAR_T)\r
+#include <cwchar>\r
+template< typename T > struct assert_no_intrinsic_wchar_t;\r
+template<> struct assert_no_intrinsic_wchar_t<wchar_t> { typedef void type; };\r
+// if you see an error here then you need to unset BOOST_NO_INTRINSIC_WCHAR_T\r
+// where it is defined above:\r
+typedef assert_no_intrinsic_wchar_t<unsigned short>::type assert_no_intrinsic_wchar_t_;\r
+#else\r
+template< typename T > struct assert_intrinsic_wchar_t;\r
+template<> struct assert_intrinsic_wchar_t<wchar_t> {};\r
+// if you see an error here then define BOOST_NO_INTRINSIC_WCHAR_T on the command line:\r
+template<> struct assert_intrinsic_wchar_t<unsigned short> {};\r
+#endif\r
+\r
+#if _MSC_VER+0 >= 1000\r
+#  if _MSC_VER >= 1200\r
+#     define BOOST_HAS_MS_INT64\r
+#  endif\r
+#  define BOOST_NO_SWPRINTF\r
+#  define BOOST_NO_TWO_PHASE_NAME_LOOKUP\r
+#elif defined(_WIN32)\r
+#  define BOOST_DISABLE_WIN32\r
+#endif\r
+\r
+// I checked version 6.0 build 020312Z, it implements the NRVO.\r
+// Correct this as you find out which version of the compiler\r
+// implemented the NRVO first.  (Daniel Frey)\r
+#if (BOOST_INTEL_CXX_VERSION >= 600)\r
+#  define BOOST_HAS_NRVO\r
+#endif\r
+\r
+//\r
+// versions check:\r
+// we don't support Intel prior to version 5.0:\r
+#if BOOST_INTEL_CXX_VERSION < 500\r
+#  error "Compiler not supported or configured - please reconfigure"\r
+#endif\r
+\r
+// Intel on MacOS requires\r
+#if defined(__APPLE__) && defined(__INTEL_COMPILER)\r
+#  define BOOST_NO_TWO_PHASE_NAME_LOOKUP\r
+#endif\r
+\r
+// Intel on Altix Itanium\r
+#if defined(__itanium__) && defined(__INTEL_COMPILER)\r
+#  define BOOST_NO_TWO_PHASE_NAME_LOOKUP\r
+#endif\r
+\r
+//\r
+// last known and checked version:\r
+#if (BOOST_INTEL_CXX_VERSION > 1110)\r
+#  if defined(BOOST_ASSERT_CONFIG)\r
+#     error "Unknown compiler version - please run the configure tests and report the results"\r
+#  elif defined(_MSC_VER)\r
+//\r
+//      We don't emit this warning any more, since we have so few\r
+//      defect macros set anyway (just the one).\r
+//\r
+//#     pragma message("Unknown compiler version - please run the configure tests and report the results")\r
+#  endif\r
+#endif\r
+\r
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 (file)
index 0000000..6b5591a
--- /dev/null
@@ -0,0 +1,33 @@
+//  (C) Copyright John Maddock 2001. \r
+//  (C) Copyright David Abrahams 2002. \r
+//  (C) Copyright Aleksey Gurtovoy 2002. \r
+//  Use, modification and distribution are subject to the \r
+//  Boost Software License, Version 1.0. (See accompanying file \r
+//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+//  See http://www.boost.org for most recent version.\r
+\r
+//  Kai C++ compiler setup:\r
+\r
+#include "boost/config/compiler/common_edg.hpp"\r
+\r
+#   if (__KCC_VERSION <= 4001) || !defined(BOOST_STRICT_CONFIG)\r
+      // at least on Sun, the contents of <cwchar> is not in namespace std\r
+#     define BOOST_NO_STDC_NAMESPACE\r
+#   endif\r
+\r
+// see also common_edg.hpp which needs a special check for __KCC\r
+# if !defined(_EXCEPTIONS)\r
+#     define BOOST_NO_EXCEPTIONS\r
+# endif\r
+\r
+//\r
+// last known and checked version is 4001:\r
+#if (__KCC_VERSION > 4001)\r
+#  if defined(BOOST_ASSERT_CONFIG)\r
+#     error "Unknown compiler version - please run the configure tests and report the results"\r
+#  endif\r
+#endif\r
+\r
+\r
+\r
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 (file)
index 0000000..1dd07a4
--- /dev/null
@@ -0,0 +1,139 @@
+//  (C) Copyright John Maddock 2001. \r
+//  (C) Copyright Darin Adler 2001. \r
+//  (C) Copyright Peter Dimov 2001. \r
+//  (C) Copyright David Abrahams 2001 - 2002. \r
+//  (C) Copyright Beman Dawes 2001 - 2003. \r
+//  (C) Copyright Stefan Slapeta 2004. \r
+//  Use, modification and distribution are subject to the \r
+//  Boost Software License, Version 1.0. (See accompanying file \r
+//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+//  See http://www.boost.org for most recent version.\r
+\r
+//  Metrowerks C++ compiler setup:\r
+\r
+// locale support is disabled when linking with the dynamic runtime\r
+#   ifdef _MSL_NO_LOCALE\r
+#     define BOOST_NO_STD_LOCALE\r
+#   endif \r
+\r
+#   if __MWERKS__ <= 0x2301  // 5.3\r
+#     define BOOST_NO_FUNCTION_TEMPLATE_ORDERING\r
+#     define BOOST_NO_POINTER_TO_MEMBER_CONST\r
+#     define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS\r
+#     define BOOST_NO_MEMBER_TEMPLATE_KEYWORD\r
+#   endif\r
+\r
+#   if __MWERKS__ <= 0x2401  // 6.2\r
+//#     define BOOST_NO_FUNCTION_TEMPLATE_ORDERING\r
+#   endif\r
+\r
+#   if(__MWERKS__ <= 0x2407)  // 7.x\r
+#     define BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS\r
+#     define BOOST_NO_UNREACHABLE_RETURN_DETECTION\r
+#   endif\r
+\r
+#   if(__MWERKS__ <= 0x3003)  // 8.x\r
+#     define BOOST_NO_SFINAE\r
+#    endif\r
+\r
+// the "|| !defined(BOOST_STRICT_CONFIG)" part should apply to the last\r
+// tested version *only*:\r
+#   if(__MWERKS__ <= 0x3207) || !defined(BOOST_STRICT_CONFIG) // 9.6\r
+#     define BOOST_NO_MEMBER_TEMPLATE_FRIENDS\r
+#     define BOOST_NO_IS_ABSTRACT\r
+#    endif\r
+\r
+#if !__option(wchar_type)\r
+#   define BOOST_NO_INTRINSIC_WCHAR_T\r
+#endif\r
+\r
+#if !__option(exceptions)\r
+#   define BOOST_NO_EXCEPTIONS\r
+#endif\r
+\r
+#if (__INTEL__ && _WIN32) || (__POWERPC__ && macintosh)\r
+#   if __MWERKS__ == 0x3000\r
+#     define BOOST_COMPILER_VERSION 8.0\r
+#   elif __MWERKS__ == 0x3001\r
+#     define BOOST_COMPILER_VERSION 8.1\r
+#   elif __MWERKS__ == 0x3002\r
+#     define BOOST_COMPILER_VERSION 8.2\r
+#   elif __MWERKS__ == 0x3003\r
+#     define BOOST_COMPILER_VERSION 8.3\r
+#   elif __MWERKS__ == 0x3200\r
+#     define BOOST_COMPILER_VERSION 9.0\r
+#   elif __MWERKS__ == 0x3201\r
+#     define BOOST_COMPILER_VERSION 9.1\r
+#   elif __MWERKS__ == 0x3202\r
+#     define BOOST_COMPILER_VERSION 9.2\r
+#   elif __MWERKS__ == 0x3204\r
+#     define BOOST_COMPILER_VERSION 9.3\r
+#   elif __MWERKS__ == 0x3205\r
+#     define BOOST_COMPILER_VERSION 9.4\r
+#   elif __MWERKS__ == 0x3206\r
+#     define BOOST_COMPILER_VERSION 9.5\r
+#   elif __MWERKS__ == 0x3207\r
+#     define BOOST_COMPILER_VERSION 9.6\r
+#   else\r
+#     define BOOST_COMPILER_VERSION __MWERKS__\r
+#   endif\r
+#else\r
+#  define BOOST_COMPILER_VERSION __MWERKS__\r
+#endif\r
+\r
+//\r
+// C++0x features\r
+//\r
+//   See boost\config\suffix.hpp for BOOST_NO_LONG_LONG\r
+//\r
+#if __MWERKS__ > 0x3206 && __option(rvalue_refs)\r
+#  define BOOST_HAS_RVALUE_REFS\r
+#else\r
+#  define BOOST_NO_RVALUE_REFERENCES              \r
+#endif\r
+#define BOOST_NO_AUTO_DECLARATIONS\r
+#define BOOST_NO_AUTO_MULTIDECLARATIONS\r
+#define BOOST_NO_CHAR16_T\r
+#define BOOST_NO_CHAR32_T\r
+#define BOOST_NO_CONCEPTS\r
+#define BOOST_NO_CONSTEXPR\r
+#define BOOST_NO_DECLTYPE\r
+#define BOOST_NO_DEFAULTED_FUNCTIONS\r
+#define BOOST_NO_DELETED_FUNCTIONS\r
+#define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS\r
+#define BOOST_NO_EXTERN_TEMPLATE\r
+#define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS\r
+#define BOOST_NO_INITIALIZER_LISTS\r
+#define BOOST_NO_LAMBDAS\r
+#define BOOST_NO_NULLPTR\r
+#define BOOST_NO_RAW_LITERALS\r
+#define BOOST_NO_SCOPED_ENUMS\r
+#define BOOST_NO_SFINAE_EXPR\r
+#define BOOST_NO_STATIC_ASSERT\r
+#define BOOST_NO_TEMPLATE_ALIASES\r
+#define BOOST_NO_UNICODE_LITERALS\r
+#define BOOST_NO_VARIADIC_TEMPLATES\r
+\r
+#define BOOST_COMPILER "Metrowerks CodeWarrior C++ version " BOOST_STRINGIZE(BOOST_COMPILER_VERSION)\r
+\r
+//\r
+// versions check:\r
+// we don't support Metrowerks prior to version 5.3:\r
+#if __MWERKS__ < 0x2301\r
+#  error "Compiler not supported or configured - please reconfigure"\r
+#endif\r
+//\r
+// last known and checked version:\r
+#if (__MWERKS__ > 0x3205)\r
+#  if defined(BOOST_ASSERT_CONFIG)\r
+#     error "Unknown compiler version - please run the configure tests and report the results"\r
+#  endif\r
+#endif\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
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 (file)
index 0000000..abdbc46
--- /dev/null
@@ -0,0 +1,81 @@
+//  (C) Copyright John Maddock 2001 - 2002. \r
+//  (C) Copyright Aleksey Gurtovoy 2002. \r
+//  Use, modification and distribution are subject to the \r
+//  Boost Software License, Version 1.0. (See accompanying file \r
+//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+//  See http://www.boost.org for most recent version.\r
+\r
+//  MPW C++ compilers setup:\r
+\r
+#   if    defined(__SC__)\r
+#     define BOOST_COMPILER "MPW SCpp version " BOOST_STRINGIZE(__SC__)\r
+#   elif defined(__MRC__)\r
+#     define BOOST_COMPILER "MPW MrCpp version " BOOST_STRINGIZE(__MRC__)\r
+#   else\r
+#     error "Using MPW compiler configuration by mistake.  Please update."\r
+#   endif\r
+\r
+//\r
+// MPW 8.90:\r
+//\r
+#if (MPW_CPLUS <= 0x890) || !defined(BOOST_STRICT_CONFIG)\r
+#  define BOOST_NO_CV_SPECIALIZATIONS\r
+#  define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS\r
+#  define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS\r
+#  define BOOST_NO_INCLASS_MEMBER_INITIALIZATION\r
+#  define BOOST_NO_INTRINSIC_WCHAR_T\r
+#  define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+#  define BOOST_NO_USING_TEMPLATE\r
+\r
+#  define BOOST_NO_CWCHAR\r
+#  define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS\r
+\r
+#  define BOOST_NO_STD_ALLOCATOR /* actually a bug with const reference overloading */\r
+\r
+#endif\r
+\r
+//\r
+// C++0x features\r
+//\r
+//   See boost\config\suffix.hpp for BOOST_NO_LONG_LONG\r
+//\r
+#define BOOST_NO_AUTO_DECLARATIONS\r
+#define BOOST_NO_AUTO_MULTIDECLARATIONS\r
+#define BOOST_NO_CHAR16_T\r
+#define BOOST_NO_CHAR32_T\r
+#define BOOST_NO_CONCEPTS\r
+#define BOOST_NO_CONSTEXPR\r
+#define BOOST_NO_DECLTYPE\r
+#define BOOST_NO_DEFAULTED_FUNCTIONS\r
+#define BOOST_NO_DELETED_FUNCTIONS\r
+#define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS\r
+#define BOOST_NO_EXTERN_TEMPLATE\r
+#define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS\r
+#define BOOST_NO_INITIALIZER_LISTS\r
+#define BOOST_NO_LAMBDAS\r
+#define BOOST_NO_NULLPTR\r
+#define BOOST_NO_RAW_LITERALS\r
+#define BOOST_NO_RVALUE_REFERENCES\r
+#define BOOST_NO_SCOPED_ENUMS\r
+#define BOOST_NO_SFINAE_EXPR\r
+#define BOOST_NO_STATIC_ASSERT\r
+#define BOOST_NO_TEMPLATE_ALIASES\r
+#define BOOST_NO_UNICODE_LITERALS\r
+#define BOOST_NO_VARIADIC_TEMPLATES\r
+\r
+//\r
+// versions check:\r
+// we don't support MPW prior to version 8.9:\r
+#if MPW_CPLUS < 0x890\r
+#  error "Compiler not supported or configured - please reconfigure"\r
+#endif\r
+//\r
+// last known and checked version is 0x890:\r
+#if (MPW_CPLUS > 0x890)\r
+#  if defined(BOOST_ASSERT_CONFIG)\r
+#     error "Unknown compiler version - please run the configure tests and report the results"\r
+#  endif\r
+#endif\r
+\r
+\r
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 (file)
index 0000000..86c65b4
--- /dev/null
@@ -0,0 +1,62 @@
+//  (C) Copyright Noel Belcourt 2007.\r
+//  Use, modification and distribution are subject to the \r
+//  Boost Software License, Version 1.0. (See accompanying file \r
+//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+//  See http://www.boost.org for most recent version.\r
+\r
+//  PGI C++ compiler setup:\r
+\r
+#define BOOST_COMPILER_VERSION __PGIC__##__PGIC_MINOR__\r
+#define BOOST_COMPILER "PGI compiler version " BOOST_STRINGIZE(_COMPILER_VERSION)\r
+\r
+//\r
+// Threading support:\r
+// Turn this on unconditionally here, it will get turned off again later\r
+// if no threading API is detected.\r
+//\r
+\r
+#if (__PGIC__ >= 7)\r
+\r
+#define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL \r
+#define BOOST_NO_TWO_PHASE_NAME_LOOKUP\r
+#define BOOST_NO_SWPRINTF\r
+\r
+#else\r
+\r
+#  error "Pgi compiler not configured - please reconfigure"\r
+\r
+#endif\r
+//\r
+// C++0x features\r
+//\r
+//   See boost\config\suffix.hpp for BOOST_NO_LONG_LONG\r
+//\r
+#define BOOST_NO_AUTO_DECLARATIONS\r
+#define BOOST_NO_AUTO_MULTIDECLARATIONS\r
+#define BOOST_NO_CHAR16_T\r
+#define BOOST_NO_CHAR32_T\r
+#define BOOST_NO_CONCEPTS\r
+#define BOOST_NO_CONSTEXPR\r
+#define BOOST_NO_DECLTYPE\r
+#define BOOST_NO_DEFAULTED_FUNCTIONS\r
+#define BOOST_NO_DELETED_FUNCTIONS\r
+#define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS\r
+#define BOOST_NO_EXTERN_TEMPLATE\r
+#define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS\r
+#define BOOST_NO_INITIALIZER_LISTS\r
+#define BOOST_NO_LAMBDAS\r
+#define BOOST_NO_NULLPTR\r
+#define BOOST_NO_RAW_LITERALS\r
+#define BOOST_NO_RVALUE_REFERENCES\r
+#define BOOST_NO_SCOPED_ENUMS\r
+#define BOOST_NO_SFINAE_EXPR\r
+#define BOOST_NO_STATIC_ASSERT\r
+#define BOOST_NO_TEMPLATE_ALIASES\r
+#define BOOST_NO_UNICODE_LITERALS\r
+#define BOOST_NO_VARIADIC_TEMPLATES\r
+\r
+//\r
+// version check:\r
+// probably nothing to do here?\r
+\r
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 (file)
index 0000000..da028e2
--- /dev/null
@@ -0,0 +1,29 @@
+//  (C) Copyright John Maddock 2001 - 2002. \r
+//  Use, modification and distribution are subject to the \r
+//  Boost Software License, Version 1.0. (See accompanying file \r
+//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+//  See http://www.boost.org for most recent version.\r
+\r
+//  SGI C++ compiler setup:\r
+\r
+#define BOOST_COMPILER "SGI Irix compiler version " BOOST_STRINGIZE(_COMPILER_VERSION)\r
+\r
+#include "boost/config/compiler/common_edg.hpp"\r
+\r
+//\r
+// Threading support:\r
+// Turn this on unconditionally here, it will get turned off again later\r
+// if no threading API is detected.\r
+//\r
+#define BOOST_HAS_THREADS\r
+#define BOOST_NO_TWO_PHASE_NAME_LOOKUP\r
+\r
+#undef BOOST_NO_SWPRINTF\r
+#undef BOOST_DEDUCED_TYPENAME\r
+\r
+//\r
+// version check:\r
+// probably nothing to do here?\r
+\r
+\r
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 (file)
index 0000000..032966c
--- /dev/null
@@ -0,0 +1,130 @@
+//  (C) Copyright John Maddock 2001. \r
+//  (C) Copyright Jens Maurer 2001 - 2003. \r
+//  (C) Copyright Peter Dimov 2002. \r
+//  (C) Copyright Aleksey Gurtovoy 2002 - 2003. \r
+//  (C) Copyright David Abrahams 2002. \r
+//  Use, modification and distribution are subject to the \r
+//  Boost Software License, Version 1.0. (See accompanying file \r
+//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+//  See http://www.boost.org for most recent version.\r
+\r
+//  Sun C++ compiler setup:\r
+\r
+#    if __SUNPRO_CC <= 0x500\r
+#      define BOOST_NO_MEMBER_TEMPLATES\r
+#      define BOOST_NO_FUNCTION_TEMPLATE_ORDERING\r
+#    endif\r
+\r
+#    if (__SUNPRO_CC <= 0x520)\r
+       //\r
+       // Sunpro 5.2 and earler:\r
+       //\r
+       // although sunpro 5.2 supports the syntax for\r
+       // inline initialization it often gets the value\r
+       // wrong, especially where the value is computed\r
+       // from other constants (J Maddock 6th May 2001)\r
+#      define BOOST_NO_INCLASS_MEMBER_INITIALIZATION\r
+\r
+       // Although sunpro 5.2 supports the syntax for\r
+       // partial specialization, it often seems to\r
+       // bind to the wrong specialization.  Better\r
+       // to disable it until suppport becomes more stable\r
+       // (J Maddock 6th May 2001).\r
+#      define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+#    endif\r
+\r
+#    if (__SUNPRO_CC <= 0x530) \r
+       // Requesting debug info (-g) with Boost.Python results\r
+       // in an internal compiler error for "static const"\r
+       // initialized in-class.\r
+       //    >> Assertion:   (../links/dbg_cstabs.cc, line 611)\r
+       //         while processing ../test.cpp at line 0.\r
+       // (Jens Maurer according to Gottfried Ganssauge 04 Mar 2002)\r
+#      define BOOST_NO_INCLASS_MEMBER_INITIALIZATION\r
+\r
+       // SunPro 5.3 has better support for partial specialization,\r
+       // but breaks when compiling std::less<shared_ptr<T> >\r
+       // (Jens Maurer 4 Nov 2001).\r
+\r
+       // std::less specialization fixed as reported by George\r
+       // Heintzelman; partial specialization re-enabled\r
+       // (Peter Dimov 17 Jan 2002)\r
+\r
+//#      define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+\r
+       // integral constant expressions with 64 bit numbers fail\r
+#      define BOOST_NO_INTEGRAL_INT64_T\r
+#    endif\r
+\r
+#    if (__SUNPRO_CC < 0x570) \r
+#      define BOOST_NO_TEMPLATE_TEMPLATES\r
+       // see http://lists.boost.org/MailArchives/boost/msg47184.php\r
+       // and http://lists.boost.org/MailArchives/boost/msg47220.php\r
+#      define BOOST_NO_INCLASS_MEMBER_INITIALIZATION\r
+#      define BOOST_NO_SFINAE\r
+#      define BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS\r
+#    endif\r
+#    if (__SUNPRO_CC <= 0x580) \r
+#      define BOOST_NO_IS_ABSTRACT\r
+#    endif\r
+\r
+//\r
+// Issues that effect all known versions:\r
+//\r
+#define BOOST_NO_TWO_PHASE_NAME_LOOKUP\r
+#define BOOST_NO_ADL_BARRIER\r
+\r
+//\r
+// C++0x features\r
+//\r
+\r
+#if(__SUNPRO_CC >= 0x590) \r
+#  define BOOST_HAS_LONG_LONG\r
+#else\r
+#  define BOOST_NO_LONG_LONG\r
+#endif\r
+\r
+#define BOOST_NO_AUTO_DECLARATIONS\r
+#define BOOST_NO_AUTO_MULTIDECLARATIONS\r
+#define BOOST_NO_CHAR16_T\r
+#define BOOST_NO_CHAR32_T\r
+#define BOOST_NO_CONCEPTS\r
+#define BOOST_NO_CONSTEXPR\r
+#define BOOST_NO_DECLTYPE\r
+#define BOOST_NO_DEFAULTED_FUNCTIONS\r
+#define BOOST_NO_DELETED_FUNCTIONS\r
+#define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS\r
+#define BOOST_NO_EXTERN_TEMPLATE\r
+#define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS\r
+#define BOOST_NO_INITIALIZER_LISTS\r
+#define BOOST_NO_LAMBDAS\r
+#define BOOST_NO_NULLPTR\r
+#define BOOST_NO_RAW_LITERALS\r
+#define BOOST_NO_RVALUE_REFERENCES\r
+#define BOOST_NO_SCOPED_ENUMS\r
+#define BOOST_NO_SFINAE_EXPR\r
+#define BOOST_NO_STATIC_ASSERT\r
+#define BOOST_NO_TEMPLATE_ALIASES\r
+#define BOOST_NO_UNICODE_LITERALS\r
+#define BOOST_NO_VARIADIC_TEMPLATES\r
+\r
+//\r
+// Version\r
+//\r
+\r
+#define BOOST_COMPILER "Sun compiler version " BOOST_STRINGIZE(__SUNPRO_CC)\r
+\r
+//\r
+// versions check:\r
+// we don't support sunpro prior to version 4:\r
+#if __SUNPRO_CC < 0x400\r
+#error "Compiler not supported or configured - please reconfigure"\r
+#endif\r
+//\r
+// last known and checked version is 0x590:\r
+#if (__SUNPRO_CC > 0x590)\r
+#  if defined(BOOST_ASSERT_CONFIG)\r
+#     error "Unknown compiler version - please run the configure tests and report the results"\r
+#  endif\r
+#endif\r
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 (file)
index 0000000..13f99b3
--- /dev/null
@@ -0,0 +1,88 @@
+//  (C) Copyright John Maddock 2001 - 2003. \r
+//  (C) Copyright Toon Knapen 2001 - 2003. \r
+//  (C) Copyright Lie-Quan Lee 2001. \r
+//  (C) Copyright Markus Schoepflin 2002 - 2003. \r
+//  (C) Copyright Beman Dawes 2002 - 2003. \r
+//  Use, modification and distribution are subject to the \r
+//  Boost Software License, Version 1.0. (See accompanying file \r
+//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+//  See http://www.boost.org for most recent version.\r
+\r
+//  Visual Age (IBM) C++ compiler setup:\r
+\r
+#if __IBMCPP__ <= 501\r
+#  define BOOST_NO_MEMBER_TEMPLATE_FRIENDS\r
+#  define BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS\r
+#endif\r
+\r
+#if (__IBMCPP__ <= 502) \r
+// Actually the compiler supports inclass member initialization but it\r
+// requires a definition for the class member and it doesn't recognize\r
+// it as an integral constant expression when used as a template argument.\r
+#  define BOOST_NO_INCLASS_MEMBER_INITIALIZATION\r
+#  define BOOST_NO_INTEGRAL_INT64_T\r
+#  define BOOST_NO_MEMBER_TEMPLATE_KEYWORD\r
+#endif\r
+\r
+#if (__IBMCPP__ <= 600) || !defined(BOOST_STRICT_CONFIG)\r
+#  define BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS\r
+#  define BOOST_NO_INITIALIZER_LISTS\r
+#endif\r
+\r
+//\r
+// On AIX thread support seems to be indicated by _THREAD_SAFE:\r
+//\r
+#ifdef _THREAD_SAFE\r
+#  define BOOST_HAS_THREADS\r
+#endif\r
+\r
+#define BOOST_COMPILER "IBM Visual Age version " BOOST_STRINGIZE(__IBMCPP__)\r
+\r
+//\r
+// versions check:\r
+// we don't support Visual age prior to version 5:\r
+#if __IBMCPP__ < 500\r
+#error "Compiler not supported or configured - please reconfigure"\r
+#endif\r
+//\r
+// last known and checked version is 600:\r
+#if (__IBMCPP__ > 1010)\r
+#  if defined(BOOST_ASSERT_CONFIG)\r
+#     error "Unknown compiler version - please run the configure tests and report the results"\r
+#  endif\r
+#endif\r
+\r
+// Some versions of the compiler have issues with default arguments on partial specializations\r
+#define BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS\r
+\r
+//\r
+// C++0x features\r
+//\r
+//   See boost\config\suffix.hpp for BOOST_NO_LONG_LONG\r
+//\r
+#define BOOST_NO_AUTO_DECLARATIONS\r
+#define BOOST_NO_AUTO_MULTIDECLARATIONS\r
+#define BOOST_NO_CHAR16_T\r
+#define BOOST_NO_CHAR32_T\r
+#define BOOST_NO_CONCEPTS\r
+#define BOOST_NO_CONSTEXPR\r
+#define BOOST_NO_DECLTYPE\r
+#define BOOST_NO_DEFAULTED_FUNCTIONS\r
+#define BOOST_NO_DELETED_FUNCTIONS\r
+#define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS\r
+#define BOOST_NO_EXTERN_TEMPLATE\r
+#define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS\r
+#define BOOST_NO_LAMBDAS\r
+#define BOOST_NO_NULLPTR\r
+#define BOOST_NO_RAW_LITERALS\r
+#define BOOST_NO_RVALUE_REFERENCES\r
+#define BOOST_NO_SCOPED_ENUMS\r
+#define BOOST_NO_SFINAE_EXPR\r
+#define BOOST_NO_STATIC_ASSERT\r
+#define BOOST_NO_TEMPLATE_ALIASES\r
+#define BOOST_NO_UNICODE_LITERALS\r
+#define BOOST_NO_VARIADIC_TEMPLATES\r
+\r
+\r
+\r
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 (file)
index 0000000..191f553
--- /dev/null
@@ -0,0 +1,258 @@
+//  (C) Copyright John Maddock 2001 - 2003. \r
+//  (C) Copyright Darin Adler 2001 - 2002. \r
+//  (C) Copyright Peter Dimov 2001. \r
+//  (C) Copyright Aleksey Gurtovoy 2002. \r
+//  (C) Copyright David Abrahams 2002 - 2003. \r
+//  (C) Copyright Beman Dawes 2002 - 2003. \r
+//  Use, modification and distribution are subject to the \r
+//  Boost Software License, Version 1.0. (See accompanying file \r
+//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+//  See http://www.boost.org for most recent version.\r
+\r
+//  Microsoft Visual C++ compiler setup:\r
+\r
+#define BOOST_MSVC _MSC_VER\r
+\r
+#if _MSC_FULL_VER > 100000000\r
+#  define BOOST_MSVC_FULL_VER _MSC_FULL_VER\r
+#else\r
+#  define BOOST_MSVC_FULL_VER (_MSC_FULL_VER * 10)\r
+#endif\r
+\r
+// turn off the warnings before we #include anything\r
+#pragma warning( disable : 4503 ) // warning: decorated name length exceeded\r
+\r
+#if _MSC_VER < 1300  // 1200 == VC++ 6.0, 1200-1202 == eVC++4\r
+#  pragma warning( disable : 4786 ) // ident trunc to '255' chars in debug info\r
+#  define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS\r
+#  define BOOST_NO_VOID_RETURNS\r
+#  define BOOST_NO_EXCEPTION_STD_NAMESPACE\r
+\r
+#  if BOOST_MSVC == 1202\r
+#    define BOOST_NO_STD_TYPEINFO\r
+#  endif\r
+\r
+   // disable min/max macro defines on vc6:\r
+   //\r
+#endif\r
+\r
+#if (_MSC_VER <= 1300)  // 1300 == VC++ 7.0\r
+\r
+#  if !defined(_MSC_EXTENSIONS) && !defined(BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS)      // VC7 bug with /Za\r
+#    define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS\r
+#  endif\r
+\r
+#  define BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS\r
+#  define BOOST_NO_INCLASS_MEMBER_INITIALIZATION\r
+#  define BOOST_NO_PRIVATE_IN_AGGREGATE\r
+#  define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP\r
+#  define BOOST_NO_INTEGRAL_INT64_T\r
+#  define BOOST_NO_DEDUCED_TYPENAME\r
+#  define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE\r
+\r
+//    VC++ 6/7 has member templates but they have numerous problems including\r
+//    cases of silent failure, so for safety we define:\r
+#  define BOOST_NO_MEMBER_TEMPLATES\r
+//    For VC++ experts wishing to attempt workarounds, we define:\r
+#  define BOOST_MSVC6_MEMBER_TEMPLATES\r
+\r
+#  define BOOST_NO_MEMBER_TEMPLATE_FRIENDS\r
+#  define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+#  define BOOST_NO_CV_VOID_SPECIALIZATIONS\r
+#  define BOOST_NO_FUNCTION_TEMPLATE_ORDERING\r
+#  define BOOST_NO_USING_TEMPLATE\r
+#  define BOOST_NO_SWPRINTF\r
+#  define BOOST_NO_TEMPLATE_TEMPLATES\r
+#  define BOOST_NO_SFINAE\r
+#  define BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS\r
+#  define BOOST_NO_IS_ABSTRACT\r
+#  define BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS\r
+// TODO: what version is meant here? Have there really been any fixes in cl 12.01 (as e.g. shipped with eVC4)?\r
+#  if (_MSC_VER > 1200)\r
+#     define BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS\r
+#  endif\r
+\r
+#endif\r
+\r
+#if _MSC_VER < 1400 \r
+// although a conforming signature for swprint exists in VC7.1\r
+// it appears not to actually work:\r
+#  define BOOST_NO_SWPRINTF\r
+#endif\r
+\r
+#if defined(UNDER_CE)\r
+// Windows CE does not have a conforming signature for swprintf\r
+#  define BOOST_NO_SWPRINTF\r
+#endif\r
+\r
+#if _MSC_VER <= 1400  // 1400 == VC++ 8.0\r
+#  define BOOST_NO_MEMBER_TEMPLATE_FRIENDS\r
+#endif\r
+\r
+#if _MSC_VER <= 1600  // 1600 == VC++ 10.0\r
+#  define BOOST_NO_TWO_PHASE_NAME_LOOKUP\r
+#endif\r
+\r
+#if _MSC_VER == 1500  // 1500 == VC++ 9.0\r
+   // A bug in VC9:\r
+#  define BOOST_NO_ADL_BARRIER\r
+#endif\r
+\r
+#if _MSC_VER <= 1500  || !defined(BOOST_STRICT_CONFIG) // 1500 == VC++ 9.0\r
+#  define BOOST_NO_INITIALIZER_LISTS\r
+#endif\r
+\r
+#ifndef _NATIVE_WCHAR_T_DEFINED\r
+#  define BOOST_NO_INTRINSIC_WCHAR_T\r
+#endif\r
+\r
+#if defined(_WIN32_WCE) || defined(UNDER_CE)\r
+#  define BOOST_NO_THREADEX\r
+#  define BOOST_NO_GETSYSTEMTIMEASFILETIME\r
+#  define BOOST_NO_SWPRINTF\r
+#endif\r
+\r
+//   \r
+// check for exception handling support:   \r
+#ifndef _CPPUNWIND \r
+#  define BOOST_NO_EXCEPTIONS   \r
+#endif \r
+\r
+//\r
+// __int64 support:\r
+//\r
+#if (_MSC_VER >= 1200)\r
+#   define BOOST_HAS_MS_INT64\r
+#endif\r
+#if (_MSC_VER >= 1310) && (defined(_MSC_EXTENSIONS) || (_MSC_VER >= 1500))\r
+#   define BOOST_HAS_LONG_LONG\r
+#else\r
+#   define BOOST_NO_LONG_LONG\r
+#endif\r
+#if (_MSC_VER >= 1400) && !defined(_DEBUG)\r
+#   define BOOST_HAS_NRVO\r
+#endif\r
+//\r
+// disable Win32 API's if compiler extentions are\r
+// turned off:\r
+//\r
+#if !defined(_MSC_EXTENSIONS) && !defined(BOOST_DISABLE_WIN32)\r
+#  define BOOST_DISABLE_WIN32\r
+#endif\r
+#if !defined(_CPPRTTI) && !defined(BOOST_NO_RTTI)\r
+#  define BOOST_NO_RTTI\r
+#endif\r
+\r
+//\r
+// all versions support __declspec:\r
+//\r
+#define BOOST_HAS_DECLSPEC\r
+\r
+//\r
+// C++0x features\r
+//\r
+//   See above for BOOST_NO_LONG_LONG\r
+\r
+// C++ features supported by VC++ 10 (aka 2010)\r
+//\r
+#if _MSC_VER < 1600\r
+#define BOOST_NO_AUTO_DECLARATIONS\r
+#define BOOST_NO_AUTO_MULTIDECLARATIONS\r
+#define BOOST_NO_DECLTYPE\r
+#define BOOST_NO_LAMBDAS\r
+#define BOOST_NO_RVALUE_REFERENCES\r
+#define BOOST_NO_STATIC_ASSERT\r
+#endif // _MSC_VER < 1600\r
+\r
+// C++0x features not supported by any versions\r
+#define BOOST_NO_CHAR16_T\r
+#define BOOST_NO_CHAR32_T\r
+#define BOOST_NO_CONCEPTS\r
+#define BOOST_NO_CONSTEXPR\r
+#define BOOST_NO_DEFAULTED_FUNCTIONS\r
+#define BOOST_NO_DELETED_FUNCTIONS\r
+#define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS\r
+#define BOOST_NO_EXTERN_TEMPLATE\r
+#define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS\r
+#define BOOST_NO_INITIALIZER_LISTS\r
+#define BOOST_NO_NULLPTR\r
+#define BOOST_NO_RAW_LITERALS\r
+#define BOOST_NO_SCOPED_ENUMS\r
+#define BOOST_NO_SFINAE_EXPR\r
+#define BOOST_NO_TEMPLATE_ALIASES\r
+#define BOOST_NO_UNICODE_LITERALS\r
+#define BOOST_NO_VARIADIC_TEMPLATES\r
+\r
+//\r
+// prefix and suffix headers:\r
+//\r
+#ifndef BOOST_ABI_PREFIX\r
+#  define BOOST_ABI_PREFIX "boost/config/abi/msvc_prefix.hpp"\r
+#endif\r
+#ifndef BOOST_ABI_SUFFIX\r
+#  define BOOST_ABI_SUFFIX "boost/config/abi/msvc_suffix.hpp"\r
+#endif\r
+\r
+// TODO:\r
+// these things are mostly bogus. 1200 means version 12.0 of the compiler. The \r
+// artificial versions assigned to them only refer to the versions of some IDE\r
+// these compilers have been shipped with, and even that is not all of it. Some\r
+// were shipped with freely downloadable SDKs, others as crosscompilers in eVC.\r
+// IOW, you can't use these 'versions' in any sensible way. Sorry.\r
+# if defined(UNDER_CE)\r
+#   if _MSC_VER < 1200\r
+      // Note: these are so far off, they are not really supported\r
+#   elif _MSC_VER < 1300 // eVC++ 4 comes with 1200-1202\r
+#     define BOOST_COMPILER_VERSION evc4.0\r
+#   elif _MSC_VER == 1400\r
+#     define BOOST_COMPILER_VERSION evc8\r
+#   elif _MSC_VER == 1500\r
+#     define BOOST_COMPILER_VERSION evc9\r
+#   elif _MSC_VER == 1600\r
+#     define BOOST_COMPILER_VERSION evc10\r
+#   else\r
+#      if defined(BOOST_ASSERT_CONFIG)\r
+#         error "Unknown EVC++ compiler version - please run the configure tests and report the results"\r
+#      else\r
+#         pragma message("Unknown EVC++ compiler version - please run the configure tests and report the results")\r
+#      endif\r
+#   endif\r
+# else\r
+#   if _MSC_VER < 1200\r
+      // Note: these are so far off, they are not really supported\r
+#     define BOOST_COMPILER_VERSION 5.0\r
+#   elif _MSC_VER < 1300\r
+#       define BOOST_COMPILER_VERSION 6.0\r
+#   elif _MSC_VER == 1300\r
+#     define BOOST_COMPILER_VERSION 7.0\r
+#   elif _MSC_VER == 1310\r
+#     define BOOST_COMPILER_VERSION 7.1\r
+#   elif _MSC_VER == 1400\r
+#     define BOOST_COMPILER_VERSION 8.0\r
+#   elif _MSC_VER == 1500\r
+#     define BOOST_COMPILER_VERSION 9.0\r
+#   elif _MSC_VER == 1600\r
+#     define BOOST_COMPILER_VERSION 10.0\r
+#   else\r
+#     define BOOST_COMPILER_VERSION _MSC_VER\r
+#   endif\r
+# endif\r
+\r
+#define BOOST_COMPILER "Microsoft Visual C++ version " BOOST_STRINGIZE(BOOST_COMPILER_VERSION)\r
+\r
+//\r
+// versions check:\r
+// we don't support Visual C++ prior to version 6:\r
+#if _MSC_VER < 1200\r
+#error "Compiler not supported or configured - please reconfigure"\r
+#endif\r
+//\r
+// last known and checked version is 1600 (VC10, aka 2010):\r
+#if (_MSC_VER > 1600)\r
+#  if defined(BOOST_ASSERT_CONFIG)\r
+#     error "Unknown compiler version - please run the configure tests and report the results"\r
+#  else\r
+#     pragma message("Unknown compiler version - please run the configure tests and report the results")\r
+#  endif\r
+#endif\r
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 (file)
index 0000000..19ff526
--- /dev/null
@@ -0,0 +1,28 @@
+//  (C) Copyright John Maddock 2008.\r
+//  Use, modification and distribution are subject to the\r
+//  Boost Software License, Version 1.0. (See accompanying file\r
+//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// The aim of this header is just to include <cmath> but to do\r
+// so in a way that does not result in recursive inclusion of\r
+// the Boost TR1 components if boost/tr1/tr1/cmath is in the\r
+// include search path.  We have to do this to avoid circular\r
+// dependencies:\r
+//\r
+\r
+#ifndef BOOST_CONFIG_CMATH\r
+#  define BOOST_CONFIG_CMATH\r
+\r
+#  ifndef BOOST_TR1_NO_RECURSION\r
+#     define BOOST_TR1_NO_RECURSION\r
+#     define BOOST_CONFIG_NO_CMATH_RECURSION\r
+#  endif\r
+\r
+#  include <cmath>\r
+\r
+#  ifdef BOOST_CONFIG_NO_CMATH_RECURSION\r
+#     undef BOOST_TR1_NO_RECURSION\r
+#     undef BOOST_CONFIG_NO_CMATH_RECURSION\r
+#  endif\r
+\r
+#endif\r
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 (file)
index 0000000..c6f4254
--- /dev/null
@@ -0,0 +1,28 @@
+//  (C) Copyright John Maddock 2005.\r
+//  Use, modification and distribution are subject to the\r
+//  Boost Software License, Version 1.0. (See accompanying file\r
+//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// The aim of this header is just to include <complex> but to do\r
+// so in a way that does not result in recursive inclusion of\r
+// the Boost TR1 components if boost/tr1/tr1/complex is in the\r
+// include search path.  We have to do this to avoid circular\r
+// dependencies:\r
+//\r
+\r
+#ifndef BOOST_CONFIG_COMPLEX\r
+#  define BOOST_CONFIG_COMPLEX\r
+\r
+#  ifndef BOOST_TR1_NO_RECURSION\r
+#     define BOOST_TR1_NO_RECURSION\r
+#     define BOOST_CONFIG_NO_COMPLEX_RECURSION\r
+#  endif\r
+\r
+#  include <complex>\r
+\r
+#  ifdef BOOST_CONFIG_NO_COMPLEX_RECURSION\r
+#     undef BOOST_TR1_NO_RECURSION\r
+#     undef BOOST_CONFIG_NO_COMPLEX_RECURSION\r
+#  endif\r
+\r
+#endif\r
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 (file)
index 0000000..08d46fc
--- /dev/null
@@ -0,0 +1,28 @@
+//  (C) Copyright John Maddock 2005.\r
+//  Use, modification and distribution are subject to the\r
+//  Boost Software License, Version 1.0. (See accompanying file\r
+//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// The aim of this header is just to include <functional> but to do\r
+// so in a way that does not result in recursive inclusion of\r
+// the Boost TR1 components if boost/tr1/tr1/functional is in the\r
+// include search path.  We have to do this to avoid circular\r
+// dependencies:\r
+//\r
+\r
+#ifndef BOOST_CONFIG_FUNCTIONAL\r
+#  define BOOST_CONFIG_FUNCTIONAL\r
+\r
+#  ifndef BOOST_TR1_NO_RECURSION\r
+#     define BOOST_TR1_NO_RECURSION\r
+#     define BOOST_CONFIG_NO_FUNCTIONAL_RECURSION\r
+#  endif\r
+\r
+#  include <functional>\r
+\r
+#  ifdef BOOST_CONFIG_NO_FUNCTIONAL_RECURSION\r
+#     undef BOOST_TR1_NO_RECURSION\r
+#     undef BOOST_CONFIG_NO_FUNCTIONAL_RECURSION\r
+#  endif\r
+\r
+#endif\r
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 (file)
index 0000000..d998a54
--- /dev/null
@@ -0,0 +1,28 @@
+//  (C) Copyright John Maddock 2005.\r
+//  Use, modification and distribution are subject to the\r
+//  Boost Software License, Version 1.0. (See accompanying file\r
+//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// The aim of this header is just to include <memory> but to do\r
+// so in a way that does not result in recursive inclusion of\r
+// the Boost TR1 components if boost/tr1/tr1/memory is in the\r
+// include search path.  We have to do this to avoid circular\r
+// dependencies:\r
+//\r
+\r
+#ifndef BOOST_CONFIG_MEMORY\r
+#  define BOOST_CONFIG_MEMORY\r
+\r
+#  ifndef BOOST_TR1_NO_RECURSION\r
+#     define BOOST_TR1_NO_RECURSION\r
+#     define BOOST_CONFIG_NO_MEMORY_RECURSION\r
+#  endif\r
+\r
+#  include <memory>\r
+\r
+#  ifdef BOOST_CONFIG_NO_MEMORY_RECURSION\r
+#     undef BOOST_TR1_NO_RECURSION\r
+#     undef BOOST_CONFIG_NO_MEMORY_RECURSION\r
+#  endif\r
+\r
+#endif\r
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 (file)
index 0000000..40f2234
--- /dev/null
@@ -0,0 +1,28 @@
+//  (C) Copyright John Maddock 2005.\r
+//  Use, modification and distribution are subject to the\r
+//  Boost Software License, Version 1.0. (See accompanying file\r
+//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// The aim of this header is just to include <utility> but to do\r
+// so in a way that does not result in recursive inclusion of\r
+// the Boost TR1 components if boost/tr1/tr1/utility is in the\r
+// include search path.  We have to do this to avoid circular\r
+// dependencies:\r
+//\r
+\r
+#ifndef BOOST_CONFIG_UTILITY\r
+#  define BOOST_CONFIG_UTILITY\r
+\r
+#  ifndef BOOST_TR1_NO_RECURSION\r
+#     define BOOST_TR1_NO_RECURSION\r
+#     define BOOST_CONFIG_NO_UTILITY_RECURSION\r
+#  endif\r
+\r
+#  include <utility>\r
+\r
+#  ifdef BOOST_CONFIG_NO_UTILITY_RECURSION\r
+#     undef BOOST_TR1_NO_RECURSION\r
+#     undef BOOST_CONFIG_NO_UTILITY_RECURSION\r
+#  endif\r
+\r
+#endif\r
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 (file)
index 0000000..36b6ab2
--- /dev/null
@@ -0,0 +1,33 @@
+//  (C) Copyright John Maddock 2001 - 2002. \r
+//  Use, modification and distribution are subject to the \r
+//  Boost Software License, Version 1.0. (See accompanying file \r
+//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+//  See http://www.boost.org for most recent version.\r
+\r
+//  IBM/Aix specific config options:\r
+\r
+#define BOOST_PLATFORM "IBM Aix"\r
+\r
+#define BOOST_HAS_UNISTD_H\r
+#define BOOST_HAS_NL_TYPES_H\r
+#define BOOST_HAS_NANOSLEEP\r
+#define BOOST_HAS_CLOCK_GETTIME\r
+\r
+// This needs support in "boost/cstdint.hpp" exactly like FreeBSD.\r
+// This platform has header named <inttypes.h> which includes all\r
+// the things needed.\r
+#define BOOST_HAS_STDINT_H\r
+\r
+// Threading API's:\r
+#define BOOST_HAS_PTHREADS\r
+#define BOOST_HAS_PTHREAD_DELAY_NP\r
+#define BOOST_HAS_SCHED_YIELD\r
+//#define BOOST_HAS_PTHREAD_YIELD\r
+\r
+// boilerplate code:\r
+#include <boost/config/posix_features.hpp>\r
+\r
+\r
+\r
+\r
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 (file)
index 0000000..fe22635
--- /dev/null
@@ -0,0 +1,15 @@
+//  (C) Copyright John Maddock 2002. \r
+//  Use, modification and distribution are subject to the \r
+//  Boost Software License, Version 1.0. (See accompanying file \r
+//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+//  See http://www.boost.org for most recent version.\r
+\r
+#define BOOST_PLATFORM "AmigaOS"\r
+\r
+#define BOOST_DISABLE_THREADS\r
+#define BOOST_NO_CWCHAR\r
+#define BOOST_NO_STD_WSTRING\r
+#define BOOST_NO_INTRINSIC_WCHAR_T\r
\r
+\r
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 (file)
index 0000000..507ef82
--- /dev/null
@@ -0,0 +1,26 @@
+//  (C) Copyright John Maddock 2001. \r
+//  Use, modification and distribution are subject to the \r
+//  Boost Software License, Version 1.0. (See accompanying file \r
+//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+//  See http://www.boost.org for most recent version.\r
+\r
+//  BeOS specific config options:\r
+\r
+#define BOOST_PLATFORM "BeOS"\r
+\r
+#define BOOST_NO_CWCHAR\r
+#define BOOST_NO_CWCTYPE\r
+#define BOOST_HAS_UNISTD_H\r
+\r
+#define BOOST_HAS_BETHREADS\r
+\r
+#ifndef BOOST_DISABLE_THREADS\r
+#  define BOOST_HAS_THREADS\r
+#endif\r
+\r
+// boilerplate code:\r
+#include <boost/config/posix_features.hpp>\r
\r
+\r
+\r
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 (file)
index 0000000..a1ef7c3
--- /dev/null
@@ -0,0 +1,86 @@
+//  (C) Copyright John Maddock 2001 - 2003. \r
+//  (C) Copyright Darin Adler 2001. \r
+//  (C) Copyright Douglas Gregor 2002. \r
+//  Use, modification and distribution are subject to the \r
+//  Boost Software License, Version 1.0. (See accompanying file \r
+//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+//  See http://www.boost.org for most recent version.\r
+\r
+//  generic BSD config options:\r
+\r
+#if !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__OpenBSD__) && !defined(__DragonFly__)\r
+#error "This platform is not BSD"\r
+#endif\r
+\r
+#ifdef __FreeBSD__\r
+#define BOOST_PLATFORM "FreeBSD " BOOST_STRINGIZE(__FreeBSD__)\r
+#elif defined(__NetBSD__)\r
+#define BOOST_PLATFORM "NetBSD " BOOST_STRINGIZE(__NetBSD__)\r
+#elif defined(__OpenBSD__)\r
+#define BOOST_PLATFORM "OpenBSD " BOOST_STRINGIZE(__OpenBSD__)\r
+#elif defined(__DragonFly__)\r
+#define BOOST_PLATFORM "DragonFly " BOOST_STRINGIZE(__DragonFly__)\r
+#endif\r
+\r
+//\r
+// is this the correct version check?\r
+// FreeBSD has <nl_types.h> but does not\r
+// advertise the fact in <unistd.h>:\r
+//\r
+#if (defined(__FreeBSD__) && (__FreeBSD__ >= 3)) || defined(__DragonFly__)\r
+#  define BOOST_HAS_NL_TYPES_H\r
+#endif\r
+\r
+//\r
+// FreeBSD 3.x has pthreads support, but defines _POSIX_THREADS in <pthread.h>\r
+// and not in <unistd.h>\r
+//\r
+#if (defined(__FreeBSD__) && (__FreeBSD__ <= 3))\\r
+   || defined(__OpenBSD__) || defined(__DragonFly__) \r
+#  define BOOST_HAS_PTHREADS\r
+#endif\r
+\r
+//\r
+// No wide character support in the BSD header files:\r
+//\r
+#if defined(__NetBSD__)\r
+#define __NetBSD_GCC__ (__GNUC__         * 1000000 \\r
+                       + __GNUC_MINOR__ *    1000 \\r
+                       + __GNUC_PATCHLEVEL__)\r
+// XXX - the following is required until c++config.h\r
+//       defines _GLIBCXX_HAVE_SWPRINTF and friends\r
+//       or the preprocessor conditionals are removed\r
+//       from the cwchar header.\r
+#define _GLIBCXX_HAVE_SWPRINTF 1\r
+#endif\r
+\r
+#if !((defined(__FreeBSD__) && (__FreeBSD__ >= 5)) \\r
+      || (__NetBSD_GCC__ >= 2095003) || defined(__DragonFly__))\r
+#  define BOOST_NO_CWCHAR\r
+#endif\r
+//\r
+// The BSD <ctype.h> has macros only, no functions:\r
+//\r
+#if !defined(__OpenBSD__) || defined(__DragonFly__)\r
+#  define BOOST_NO_CTYPE_FUNCTIONS\r
+#endif\r
+\r
+//\r
+// thread API's not auto detected:\r
+//\r
+#define BOOST_HAS_SCHED_YIELD\r
+#define BOOST_HAS_NANOSLEEP\r
+#define BOOST_HAS_GETTIMEOFDAY\r
+#define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE\r
+#define BOOST_HAS_SIGACTION\r
+\r
+// boilerplate code:\r
+#define BOOST_HAS_UNISTD_H\r
+#include <boost/config/posix_features.hpp>\r
+\r
+\r
+\r
+\r
+\r
+\r
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 (file)
index 0000000..514ad25
--- /dev/null
@@ -0,0 +1,51 @@
+//  (C) Copyright John Maddock 2001 - 2003. \r
+//  Use, modification and distribution are subject to the \r
+//  Boost Software License, Version 1.0. (See accompanying file \r
+//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+//  See http://www.boost.org for most recent version.\r
+\r
+//  cygwin specific config options:\r
+\r
+#define BOOST_PLATFORM "Cygwin"\r
+#define BOOST_NO_CWCTYPE\r
+#define BOOST_NO_CWCHAR\r
+#define BOOST_NO_SWPRINTF\r
+#define BOOST_HAS_DIRENT_H\r
+#define BOOST_HAS_LOG1P\r
+#define BOOST_HAS_EXPM1\r
+\r
+//\r
+// Threading API:\r
+// See if we have POSIX threads, if we do use them, otherwise\r
+// revert to native Win threads.\r
+#define BOOST_HAS_UNISTD_H\r
+#include <unistd.h>\r
+#if defined(_POSIX_THREADS) && (_POSIX_THREADS+0 >= 0) && !defined(BOOST_HAS_WINTHREADS)\r
+#  define BOOST_HAS_PTHREADS\r
+#  define BOOST_HAS_SCHED_YIELD\r
+#  define BOOST_HAS_GETTIMEOFDAY\r
+#  define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE\r
+#  define BOOST_HAS_SIGACTION\r
+#else\r
+#  if !defined(BOOST_HAS_WINTHREADS)\r
+#     define BOOST_HAS_WINTHREADS\r
+#  endif\r
+#  define BOOST_HAS_FTIME\r
+#endif\r
+\r
+//\r
+// find out if we have a stdint.h, there should be a better way to do this:\r
+//\r
+#include <sys/types.h>\r
+#ifdef _STDINT_H\r
+#define BOOST_HAS_STDINT_H\r
+#endif\r
+\r
+// boilerplate code:\r
+#include <boost/config/posix_features.hpp>\r
\r
+\r
+\r
+\r
+\r
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 (file)
index 0000000..8e79892
--- /dev/null
@@ -0,0 +1,87 @@
+//  (C) Copyright John Maddock 2001 - 2003. \r
+//  (C) Copyright Jens Maurer 2001 - 2003. \r
+//  (C) Copyright David Abrahams 2002. \r
+//  (C) Copyright Toon Knapen 2003. \r
+//  (C) Copyright Boris Gubenko 2006 - 2007.\r
+//  Use, modification and distribution are subject to the \r
+//  Boost Software License, Version 1.0. (See accompanying file \r
+//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+//  See http://www.boost.org for most recent version.\r
+\r
+//  hpux specific config options:\r
+\r
+#define BOOST_PLATFORM "HP-UX"\r
+\r
+// In principle, HP-UX has a nice <stdint.h> under the name <inttypes.h>\r
+// However, it has the following problem:\r
+// Use of UINT32_C(0) results in "0u l" for the preprocessed source\r
+// (verifyable with gcc 2.95.3)\r
+#if (defined(__GNUC__) && (__GNUC__ >= 3)) || defined(__HP_aCC)\r
+#  define BOOST_HAS_STDINT_H\r
+#endif\r
+\r
+#if !(defined(__HP_aCC) || !defined(_INCLUDE__STDC_A1_SOURCE))\r
+#  define BOOST_NO_SWPRINTF\r
+#endif\r
+#if defined(__HP_aCC) && !defined(_INCLUDE__STDC_A1_SOURCE)\r
+#  define BOOST_NO_CWCTYPE\r
+#endif\r
+\r
+#if defined(__GNUC__)\r
+#  if (__GNUC__ < 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ < 3))\r
+      // GNU C on HP-UX does not support threads (checked up to gcc 3.3)\r
+#     define BOOST_DISABLE_THREADS\r
+#  elif !defined(BOOST_DISABLE_THREADS)\r
+      // threads supported from gcc-3.3 onwards:\r
+#     define BOOST_HAS_THREADS\r
+#     define BOOST_HAS_PTHREADS\r
+#  endif\r
+#elif defined(__HP_aCC) && !defined(BOOST_DISABLE_THREADS)\r
+#  define BOOST_HAS_PTHREADS\r
+#endif\r
+\r
+// boilerplate code:\r
+#define BOOST_HAS_UNISTD_H\r
+#include <boost/config/posix_features.hpp>\r
+\r
+// the following are always available:\r
+#ifndef BOOST_HAS_GETTIMEOFDAY\r
+#  define BOOST_HAS_GETTIMEOFDAY\r
+#endif\r
+#ifndef BOOST_HAS_SCHED_YIELD\r
+#    define BOOST_HAS_SCHED_YIELD\r
+#endif\r
+#ifndef BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE\r
+#    define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE\r
+#endif\r
+#ifndef BOOST_HAS_NL_TYPES_H\r
+#    define BOOST_HAS_NL_TYPES_H\r
+#endif\r
+#ifndef BOOST_HAS_NANOSLEEP\r
+#    define BOOST_HAS_NANOSLEEP\r
+#endif\r
+#ifndef BOOST_HAS_GETTIMEOFDAY\r
+#    define BOOST_HAS_GETTIMEOFDAY\r
+#endif\r
+#ifndef BOOST_HAS_DIRENT_H\r
+#    define BOOST_HAS_DIRENT_H\r
+#endif\r
+#ifndef BOOST_HAS_CLOCK_GETTIME\r
+#    define BOOST_HAS_CLOCK_GETTIME\r
+#endif\r
+#ifndef BOOST_HAS_SIGACTION\r
+#  define BOOST_HAS_SIGACTION\r
+#endif\r
+#ifndef BOOST_HAS_NRVO \r
+#  ifndef __parisc\r
+#    define BOOST_HAS_NRVO\r
+#  endif\r
+#endif\r
+#ifndef BOOST_HAS_LOG1P \r
+#  define BOOST_HAS_LOG1P\r
+#endif\r
+#ifndef BOOST_HAS_EXPM1\r
+#  define BOOST_HAS_EXPM1\r
+#endif\r
+\r
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 (file)
index 0000000..e0691a4
--- /dev/null
@@ -0,0 +1,31 @@
+//  (C) Copyright John Maddock 2001 - 2003. \r
+//  (C) Copyright Jens Maurer 2003. \r
+//  Use, modification and distribution are subject to the \r
+//  Boost Software License, Version 1.0. (See accompanying file \r
+//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+\r
+//  See http://www.boost.org for most recent version.\r
+\r
+//  SGI Irix specific config options:\r
+\r
+#define BOOST_PLATFORM "SGI Irix"\r
+\r
+#define BOOST_NO_SWPRINTF \r
+//\r
+// these are not auto detected by POSIX feature tests:\r
+//\r
+#define BOOST_HAS_GETTIMEOFDAY\r
+#define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE\r
+\r
+#ifdef __GNUC__\r
+   // GNU C on IRIX does not support threads (checked up to gcc 3.3)\r
+#  define BOOST_DISABLE_THREADS\r
+#endif\r
+\r
+// boilerplate code:\r
+#define BOOST_HAS_UNISTD_H\r
+#include <boost/config/posix_features.hpp>\r
+\r
+\r
+\r
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 (file)
index 0000000..b87db79
--- /dev/null
@@ -0,0 +1,98 @@
+//  (C) Copyright John Maddock 2001 - 2003. \r
+//  (C) Copyright Jens Maurer 2001 - 2003. \r
+//  Use, modification and distribution are subject to the \r
+//  Boost Software License, Version 1.0. (See accompanying file \r
+//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+//  See http://www.boost.org for most recent version.\r
+\r
+//  linux specific config options:\r
+\r
+#define BOOST_PLATFORM "linux"\r
+\r
+// make sure we have __GLIBC_PREREQ if available at all\r
+#include <cstdlib>\r
+\r
+//\r
+// <stdint.h> added to glibc 2.1.1\r
+// We can only test for 2.1 though:\r
+//\r
+#if defined(__GLIBC__) && ((__GLIBC__ > 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ >= 1)))\r
+   // <stdint.h> defines int64_t unconditionally, but <sys/types.h> defines\r
+   // int64_t only if __GNUC__.  Thus, assume a fully usable <stdint.h>\r
+   // only when using GCC.\r
+#  if defined __GNUC__\r
+#    define BOOST_HAS_STDINT_H\r
+#  endif\r
+#endif\r
+\r
+#if defined(__LIBCOMO__)\r
+   //\r
+   // como on linux doesn't have std:: c functions:\r
+   // NOTE: versions of libcomo prior to beta28 have octal version numbering,\r
+   // e.g. version 25 is 21 (dec)\r
+   //\r
+#  if __LIBCOMO_VERSION__ <= 20\r
+#    define BOOST_NO_STDC_NAMESPACE\r
+#  endif\r
+\r
+#  if __LIBCOMO_VERSION__ <= 21\r
+#    define BOOST_NO_SWPRINTF\r
+#  endif\r
+\r
+#endif\r
+\r
+//\r
+// If glibc is past version 2 then we definitely have\r
+// gettimeofday, earlier versions may or may not have it:\r
+//\r
+#if defined(__GLIBC__) && (__GLIBC__ >= 2)\r
+#  define BOOST_HAS_GETTIMEOFDAY\r
+#endif\r
+\r
+#ifdef __USE_POSIX199309\r
+#  define BOOST_HAS_NANOSLEEP\r
+#endif\r
+\r
+#if defined(__GLIBC__) && defined(__GLIBC_PREREQ)\r
+// __GLIBC_PREREQ is available since 2.1.2\r
+\r
+   // swprintf is available since glibc 2.2.0\r
+#  if !__GLIBC_PREREQ(2,2) || (!defined(__USE_ISOC99) && !defined(__USE_UNIX98))\r
+#    define BOOST_NO_SWPRINTF\r
+#  endif\r
+#else\r
+#  define BOOST_NO_SWPRINTF\r
+#endif\r
+\r
+// boilerplate code:\r
+#define BOOST_HAS_UNISTD_H\r
+#include <boost/config/posix_features.hpp>\r
+\r
+#ifndef __GNUC__\r
+//\r
+// if the compiler is not gcc we still need to be able to parse\r
+// the GNU system headers, some of which (mainly <stdint.h>)\r
+// use GNU specific extensions:\r
+//\r
+#  ifndef __extension__\r
+#     define __extension__\r
+#  endif\r
+#  ifndef __const__\r
+#     define __const__ const\r
+#  endif\r
+#  ifndef __volatile__\r
+#     define __volatile__ volatile\r
+#  endif\r
+#  ifndef __signed__\r
+#     define __signed__ signed\r
+#  endif\r
+#  ifndef __typeof__\r
+#     define __typeof__ typeof\r
+#  endif\r
+#  ifndef __inline__\r
+#     define __inline__ inline\r
+#  endif\r
+#endif\r
+\r
+\r
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 (file)
index 0000000..f21d6fc
--- /dev/null
@@ -0,0 +1,86 @@
+//  (C) Copyright John Maddock 2001 - 2003. \r
+//  (C) Copyright Darin Adler 2001 - 2002. \r
+//  (C) Copyright Bill Kempf 2002. \r
+//  Use, modification and distribution are subject to the \r
+//  Boost Software License, Version 1.0. (See accompanying file \r
+//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+//  See http://www.boost.org for most recent version.\r
+\r
+//  Mac OS specific config options:\r
+\r
+#define BOOST_PLATFORM "Mac OS"\r
+\r
+#if __MACH__ && !defined(_MSL_USING_MSL_C)\r
+\r
+// Using the Mac OS X system BSD-style C library.\r
+\r
+#  ifndef BOOST_HAS_UNISTD_H\r
+#    define BOOST_HAS_UNISTD_H\r
+#  endif\r
+//\r
+// Begin by including our boilerplate code for POSIX\r
+// feature detection, this is safe even when using\r
+// the MSL as Metrowerks supply their own <unistd.h>\r
+// to replace the platform-native BSD one. G++ users\r
+// should also always be able to do this on MaxOS X.\r
+//\r
+#  include <boost/config/posix_features.hpp>\r
+#  ifndef BOOST_HAS_STDINT_H\r
+#     define BOOST_HAS_STDINT_H\r
+#  endif\r
+\r
+//\r
+// BSD runtime has pthreads, sigaction, sched_yield and gettimeofday,\r
+// of these only pthreads are advertised in <unistd.h>, so set the \r
+// other options explicitly:\r
+//\r
+#  define BOOST_HAS_SCHED_YIELD\r
+#  define BOOST_HAS_GETTIMEOFDAY\r
+#  define BOOST_HAS_SIGACTION\r
+\r
+#  if (__GNUC__ < 3) && !defined( __APPLE_CC__)\r
+\r
+// GCC strange "ignore std" mode works better if you pretend everything\r
+// is in the std namespace, for the most part.\r
+\r
+#    define BOOST_NO_STDC_NAMESPACE\r
+#  endif\r
+\r
+#  if (__GNUC__ == 4)\r
+\r
+// Both gcc and intel require these.  \r
+#    define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE\r
+#    define BOOST_HAS_NANOSLEEP\r
+\r
+#  endif\r
+\r
+#else\r
+\r
+// Using the MSL C library.\r
+\r
+// We will eventually support threads in non-Carbon builds, but we do\r
+// not support this yet.\r
+#  if ( defined(TARGET_API_MAC_CARBON) && TARGET_API_MAC_CARBON ) || ( defined(TARGET_CARBON) && TARGET_CARBON )\r
+\r
+#  if !defined(BOOST_HAS_PTHREADS)\r
+#    define BOOST_HAS_MPTASKS\r
+#  elif ( __dest_os == __mac_os_x )\r
+// We are doing a Carbon/Mach-O/MSL build which has pthreads, but only the\r
+// gettimeofday and no posix.\r
+#  define BOOST_HAS_GETTIMEOFDAY\r
+#  endif\r
+\r
+// The MP task implementation of Boost Threads aims to replace MP-unsafe\r
+// parts of the MSL, so we turn on threads unconditionally.\r
+#    define BOOST_HAS_THREADS\r
+\r
+// The remote call manager depends on this.\r
+#    define BOOST_BIND_ENABLE_PASCAL\r
+\r
+#  endif\r
+\r
+#endif\r
+\r
+\r
+\r
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 (file)
index 0000000..102f27c
--- /dev/null
@@ -0,0 +1,31 @@
+//  (C) Copyright Jim Douglas 2005. \r
+//  Use, modification and distribution are subject to the \r
+//  Boost Software License, Version 1.0. (See accompanying file \r
+//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+//  See http://www.boost.org for most recent version.\r
+\r
+//  QNX specific config options:\r
+\r
+#define BOOST_PLATFORM "QNX"\r
+\r
+#define BOOST_HAS_UNISTD_H\r
+#include <boost/config/posix_features.hpp>\r
+\r
+// QNX claims XOpen version 5 compatibility, but doesn't have an nl_types.h\r
+// or log1p and expm1:\r
+#undef  BOOST_HAS_NL_TYPES_H\r
+#undef  BOOST_HAS_LOG1P\r
+#undef  BOOST_HAS_EXPM1\r
+\r
+#define BOOST_HAS_PTHREADS\r
+#define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE\r
+\r
+#define BOOST_HAS_GETTIMEOFDAY\r
+#define BOOST_HAS_CLOCK_GETTIME\r
+#define BOOST_HAS_NANOSLEEP\r
+\r
+\r
+\r
+\r
+\r
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 (file)
index 0000000..af776bd
--- /dev/null
@@ -0,0 +1,28 @@
+//  (C) Copyright John Maddock 2001 - 2003. \r
+//  (C) Copyright Jens Maurer 2003. \r
+//  Use, modification and distribution are subject to the \r
+//  Boost Software License, Version 1.0. (See accompanying file \r
+//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+//  See http://www.boost.org for most recent version.\r
+\r
+//  sun specific config options:\r
+\r
+#define BOOST_PLATFORM "Sun Solaris"\r
+\r
+#define BOOST_HAS_GETTIMEOFDAY\r
+\r
+// boilerplate code:\r
+#define BOOST_HAS_UNISTD_H\r
+#include <boost/config/posix_features.hpp>\r
+\r
+//\r
+// pthreads don't actually work with gcc unless _PTHREADS is defined:\r
+//\r
+#if defined(__GNUC__) && defined(_POSIX_THREADS) && !defined(_PTHREADS)\r
+# undef BOOST_HAS_PTHREADS\r
+#endif\r
+\r
+\r
+\r
+\r
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 (file)
index 0000000..75b14ca
--- /dev/null
@@ -0,0 +1,31 @@
+//  (C) Copyright Dustin Spicuzza 2009. \r
+//  Use, modification and distribution are subject to the \r
+//  Boost Software License, Version 1.0. (See accompanying file \r
+//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+//  See http://www.boost.org for most recent version.\r
+\r
+//  vxWorks specific config options:\r
+\r
+#define BOOST_PLATFORM "vxWorks"\r
+\r
+#define BOOST_NO_CWCHAR\r
+#define BOOST_NO_INTRINSIC_WCHAR_T\r
+\r
+#if defined(__GNUC__) && defined(__STRICT_ANSI__)\r
+#define BOOST_NO_INT64_T\r
+#endif\r
+\r
+#define BOOST_HAS_UNISTD_H\r
+\r
+// these allow posix_features to work, since vxWorks doesn't\r
+// define them itself\r
+#define _POSIX_TIMERS 1\r
+#define _POSIX_THREADS 1\r
+\r
+// vxworks doesn't work with asio serial ports\r
+#define BOOST_ASIO_DISABLE_SERIAL_PORT\r
+\r
+// boilerplate code:\r
+#include <boost/config/posix_features.hpp>\r
\r
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 (file)
index 0000000..d18b689
--- /dev/null
@@ -0,0 +1,58 @@
+//  (C) Copyright John Maddock 2001 - 2003. \r
+//  (C) Copyright Bill Kempf 2001. \r
+//  (C) Copyright Aleksey Gurtovoy 2003. \r
+//  (C) Copyright Rene Rivera 2005.\r
+//  Use, modification and distribution are subject to the \r
+//  Boost Software License, Version 1.0. (See accompanying file \r
+//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+//  See http://www.boost.org for most recent version.\r
+\r
+//  Win32 specific config options:\r
+\r
+#define BOOST_PLATFORM "Win32"\r
+\r
+//  Get the information about the MinGW runtime, i.e. __MINGW32_*VERSION.\r
+#if defined(__MINGW32__)\r
+#  include <_mingw.h>\r
+#endif\r
+\r
+#if defined(__GNUC__) && !defined(BOOST_NO_SWPRINTF)\r
+#  define BOOST_NO_SWPRINTF\r
+#endif\r
+\r
+#if !defined(__GNUC__) && !defined(BOOST_HAS_DECLSPEC)\r
+#  define BOOST_HAS_DECLSPEC\r
+#endif\r
+\r
+#if defined(__MINGW32__) && ((__MINGW32_MAJOR_VERSION > 2) || ((__MINGW32_MAJOR_VERSION == 2) && (__MINGW32_MINOR_VERSION >= 0)))\r
+#  define BOOST_HAS_STDINT_H\r
+#  define __STDC_LIMIT_MACROS\r
+#  define BOOST_HAS_DIRENT_H\r
+#  define BOOST_HAS_UNISTD_H\r
+#endif\r
+\r
+//\r
+// Win32 will normally be using native Win32 threads,\r
+// but there is a pthread library avaliable as an option,\r
+// we used to disable this when BOOST_DISABLE_WIN32 was \r
+// defined but no longer - this should allow some\r
+// files to be compiled in strict mode - while maintaining\r
+// a consistent setting of BOOST_HAS_THREADS across\r
+// all translation units (needed for shared_ptr etc).\r
+//\r
+\r
+#ifdef _WIN32_WCE\r
+#  define BOOST_NO_ANSI_APIS\r
+#endif\r
+\r
+#ifndef BOOST_HAS_PTHREADS\r
+#  define BOOST_HAS_WINTHREADS\r
+#endif\r
+\r
+#ifndef BOOST_DISABLE_WIN32\r
+// WEK: Added\r
+#define BOOST_HAS_FTIME\r
+#define BOOST_WINDOWS 1\r
+\r
+#endif\r
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 (file)
index 0000000..bc3921c
--- /dev/null
@@ -0,0 +1,95 @@
+//  (C) Copyright John Maddock 2001 - 2003. \r
+//  Use, modification and distribution are subject to the \r
+//  Boost Software License, Version 1.0. (See accompanying file \r
+//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+\r
+//  See http://www.boost.org for most recent version.\r
+\r
+// All POSIX feature tests go in this file,\r
+// Note that we test _POSIX_C_SOURCE and _XOPEN_SOURCE as well\r
+// _POSIX_VERSION and _XOPEN_VERSION: on some systems POSIX API's\r
+// may be present but none-functional unless _POSIX_C_SOURCE and\r
+// _XOPEN_SOURCE have been defined to the right value (it's up\r
+// to the user to do this *before* including any header, although\r
+// in most cases the compiler will do this for you).\r
+\r
+#  if defined(BOOST_HAS_UNISTD_H)\r
+#     include <unistd.h>\r
+\r
+      // XOpen has <nl_types.h>, but is this the correct version check?\r
+#     if defined(_XOPEN_VERSION) && (_XOPEN_VERSION >= 3)\r
+#        define BOOST_HAS_NL_TYPES_H\r
+#     endif\r
+\r
+      // POSIX version 6 requires <stdint.h>\r
+#     if defined(_POSIX_VERSION) && (_POSIX_VERSION >= 200100)\r
+#        define BOOST_HAS_STDINT_H\r
+#     endif\r
+\r
+      // POSIX version 2 requires <dirent.h>\r
+#     if defined(_POSIX_VERSION) && (_POSIX_VERSION >= 199009L)\r
+#        define BOOST_HAS_DIRENT_H\r
+#     endif\r
+\r
+      // POSIX version 3 requires <signal.h> to have sigaction:\r
+#     if defined(_POSIX_VERSION) && (_POSIX_VERSION >= 199506L)\r
+#        define BOOST_HAS_SIGACTION\r
+#     endif\r
+      // POSIX defines _POSIX_THREADS > 0 for pthread support,\r
+      // however some platforms define _POSIX_THREADS without\r
+      // a value, hence the (_POSIX_THREADS+0 >= 0) check.\r
+      // Strictly speaking this may catch platforms with a\r
+      // non-functioning stub <pthreads.h>, but such occurrences should\r
+      // occur very rarely if at all.\r
+#     if defined(_POSIX_THREADS) && (_POSIX_THREADS+0 >= 0) && !defined(BOOST_HAS_WINTHREADS) && !defined(BOOST_HAS_MPTASKS)\r
+#        define BOOST_HAS_PTHREADS\r
+#     endif\r
+\r
+      // BOOST_HAS_NANOSLEEP:\r
+      // This is predicated on _POSIX_TIMERS or _XOPEN_REALTIME:\r
+#     if (defined(_POSIX_TIMERS) && (_POSIX_TIMERS+0 >= 0)) \\r
+             || (defined(_XOPEN_REALTIME) && (_XOPEN_REALTIME+0 >= 0))\r
+#        define BOOST_HAS_NANOSLEEP\r
+#     endif\r
+\r
+      // BOOST_HAS_CLOCK_GETTIME:\r
+      // This is predicated on _POSIX_TIMERS (also on _XOPEN_REALTIME\r
+      // but at least one platform - linux - defines that flag without\r
+      // defining clock_gettime):\r
+#     if (defined(_POSIX_TIMERS) && (_POSIX_TIMERS+0 >= 0))\r
+#        define BOOST_HAS_CLOCK_GETTIME\r
+#     endif\r
+\r
+      // BOOST_HAS_SCHED_YIELD:\r
+      // This is predicated on _POSIX_PRIORITY_SCHEDULING or\r
+      // on _POSIX_THREAD_PRIORITY_SCHEDULING or on _XOPEN_REALTIME.\r
+#     if defined(_POSIX_PRIORITY_SCHEDULING) && (_POSIX_PRIORITY_SCHEDULING+0 > 0)\\r
+            || (defined(_POSIX_THREAD_PRIORITY_SCHEDULING) && (_POSIX_THREAD_PRIORITY_SCHEDULING+0 > 0))\\r
+            || (defined(_XOPEN_REALTIME) && (_XOPEN_REALTIME+0 >= 0))\r
+#        define BOOST_HAS_SCHED_YIELD\r
+#     endif\r
+\r
+      // BOOST_HAS_GETTIMEOFDAY:\r
+      // BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE:\r
+      // These are predicated on _XOPEN_VERSION, and appears to be first released\r
+      // in issue 4, version 2 (_XOPEN_VERSION > 500).\r
+      // Likewise for the functions log1p and expm1.\r
+#     if defined(_XOPEN_VERSION) && (_XOPEN_VERSION+0 >= 500)\r
+#        define BOOST_HAS_GETTIMEOFDAY\r
+#        if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE+0 >= 500)\r
+#           define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE\r
+#        endif\r
+#        ifndef BOOST_HAS_LOG1P\r
+#           define BOOST_HAS_LOG1P\r
+#        endif\r
+#        ifndef BOOST_HAS_EXPM1\r
+#           define BOOST_HAS_EXPM1\r
+#        endif\r
+#     endif\r
+\r
+#  endif\r
+\r
+\r
+\r
+\r
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 (file)
index 0000000..b79723b
--- /dev/null
@@ -0,0 +1,92 @@
+//  (C) Copyright John Maddock 2003. \r
+//  Use, modification and distribution are subject to the \r
+//  Boost Software License, Version 1.0. (See accompanying file \r
+//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+\r
+#ifndef BOOST_CONFIG_REQUIRES_THREADS_HPP\r
+#define BOOST_CONFIG_REQUIRES_THREADS_HPP\r
+\r
+#ifndef BOOST_CONFIG_HPP\r
+#  include <boost/config.hpp>\r
+#endif\r
+\r
+#if defined(BOOST_DISABLE_THREADS)\r
+\r
+//\r
+// special case to handle versions of gcc which don't currently support threads:\r
+//\r
+#if defined(__GNUC__) && ((__GNUC__ < 3) || (__GNUC_MINOR__ <= 3) || !defined(BOOST_STRICT_CONFIG))\r
+//\r
+// this is checked up to gcc 3.3:\r
+//\r
+#if defined(__sgi) || defined(__hpux)\r
+#  error "Multi-threaded programs are not supported by gcc on HPUX or Irix (last checked with gcc 3.3)"\r
+#endif\r
+\r
+#endif\r
+\r
+#  error "Threading support unavaliable: it has been explicitly disabled with BOOST_DISABLE_THREADS"\r
+\r
+#elif !defined(BOOST_HAS_THREADS)\r
+\r
+# if defined __COMO__\r
+//  Comeau C++\r
+#   error "Compiler threading support is not turned on. Please set the correct command line options for threading: -D_MT (Windows) or -D_REENTRANT (Unix)"\r
+\r
+#elif defined(__INTEL_COMPILER) || defined(__ICL) || defined(__ICC) || defined(__ECC)\r
+//  Intel\r
+#ifdef _WIN32\r
+#  error "Compiler threading support is not turned on. Please set the correct command line options for threading: either /MT /MTd /MD or /MDd"\r
+#else\r
+#   error "Compiler threading support is not turned on. Please set the correct command line options for threading: -openmp"\r
+#endif\r
+\r
+# elif defined __GNUC__\r
+//  GNU C++:\r
+#   error "Compiler threading support is not turned on. Please set the correct command line options for threading: -pthread (Linux), -pthreads (Solaris) or -mthreads (Mingw32)"\r
+\r
+#elif defined __sgi\r
+//  SGI MIPSpro C++\r
+#   error "Compiler threading support is not turned on. Please set the correct command line options for threading: -D_SGI_MP_SOURCE"\r
+\r
+#elif defined __DECCXX\r
+//  Compaq Tru64 Unix cxx\r
+#   error "Compiler threading support is not turned on. Please set the correct command line options for threading: -pthread"\r
+\r
+#elif defined __BORLANDC__\r
+//  Borland\r
+#   error "Compiler threading support is not turned on. Please set the correct command line options for threading: -tWM"\r
+\r
+#elif defined  __MWERKS__\r
+//  Metrowerks CodeWarrior\r
+#   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"\r
+\r
+#elif defined  __SUNPRO_CC\r
+//  Sun Workshop Compiler C++\r
+#   error "Compiler threading support is not turned on. Please set the correct command line options for threading: -mt"\r
+\r
+#elif defined __HP_aCC\r
+//  HP aCC\r
+#   error "Compiler threading support is not turned on. Please set the correct command line options for threading: -mt"\r
+\r
+#elif defined(__IBMCPP__)\r
+//  IBM Visual Age\r
+#   error "Compiler threading support is not turned on. Please compile the code with the xlC_r compiler"\r
+\r
+#elif defined _MSC_VER\r
+//  Microsoft Visual C++\r
+//\r
+//  Must remain the last #elif since some other vendors (Metrowerks, for\r
+//  example) also #define _MSC_VER\r
+#  error "Compiler threading support is not turned on. Please set the correct command line options for threading: either /MT /MTd /MD or /MDd"\r
+\r
+#else\r
+\r
+#  error "Compiler threading support is not turned on.  Please consult your compiler's documentation for the appropriate options to use"\r
+\r
+#endif // compilers\r
+\r
+#endif // BOOST_HAS_THREADS\r
+\r
+#endif // BOOST_CONFIG_REQUIRES_THREADS_HPP\r
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 (file)
index 0000000..0e2d6b3
--- /dev/null
@@ -0,0 +1,119 @@
+//  Boost compiler configuration selection header file\r
+\r
+//  (C) Copyright John Maddock 2001 - 2003. \r
+//  (C) Copyright Martin Wille 2003.\r
+//  (C) Copyright Guillaume Melquiond 2003.\r
+//\r
+//  Distributed under the Boost Software License, Version 1.0.\r
+//  (See accompanying file LICENSE_1_0.txt or copy at\r
+//   http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+//  See http://www.boost.org/ for most recent version.\r
+\r
+\r
+// one identification macro for each of the\r
+// compilers we support:\r
+\r
+#   define BOOST_CXX_GCCXML   0\r
+#   define BOOST_CXX_COMO     0\r
+#   define BOOST_CXX_DMC      0\r
+#   define BOOST_CXX_INTEL    0\r
+#   define BOOST_CXX_GNUC     0\r
+#   define BOOST_CXX_KCC      0\r
+#   define BOOST_CXX_SGI      0\r
+#   define BOOST_CXX_TRU64    0\r
+#   define BOOST_CXX_GHS      0\r
+#   define BOOST_CXX_BORLAND  0\r
+#   define BOOST_CXX_CW       0\r
+#   define BOOST_CXX_SUNPRO   0\r
+#   define BOOST_CXX_HPACC    0\r
+#   define BOOST_CXX_MPW      0\r
+#   define BOOST_CXX_IBMCPP   0\r
+#   define BOOST_CXX_MSVC     0\r
+#   define BOOST_CXX_PGI      0\r
+\r
+\r
+// locate which compiler we are using and define\r
+// BOOST_COMPILER_CONFIG as needed: \r
+\r
+#if defined(__GCCXML__)\r
+// GCC-XML emulates other compilers, it has to appear first here!\r
+#   define BOOST_COMPILER_CONFIG "boost/config/compiler/gcc_xml.hpp"\r
+\r
+#elif defined __COMO__\r
+//  Comeau C++\r
+#   define BOOST_COMPILER_CONFIG "boost/config/compiler/comeau.hpp"\r
+\r
+#elif defined __DMC__\r
+//  Digital Mars C++\r
+#   define BOOST_COMPILER_CONFIG "boost/config/compiler/digitalmars.hpp"\r
+\r
+#elif defined(__INTEL_COMPILER) || defined(__ICL) || defined(__ICC) || defined(__ECC)\r
+//  Intel\r
+#   define BOOST_COMPILER_CONFIG "boost/config/compiler/intel.hpp"\r
+\r
+# elif defined __GNUC__\r
+//  GNU C++:\r
+#   define BOOST_COMPILER_CONFIG "boost/config/compiler/gcc.hpp"\r
+\r
+#elif defined __KCC\r
+//  Kai C++\r
+#   define BOOST_COMPILER_CONFIG "boost/config/compiler/kai.hpp"\r
+\r
+#elif defined __sgi\r
+//  SGI MIPSpro C++\r
+#   define BOOST_COMPILER_CONFIG "boost/config/compiler/sgi_mipspro.hpp"\r
+\r
+#elif defined __DECCXX\r
+//  Compaq Tru64 Unix cxx\r
+#   define BOOST_COMPILER_CONFIG "boost/config/compiler/compaq_cxx.hpp"\r
+\r
+#elif defined __ghs\r
+//  Greenhills C++\r
+#   define BOOST_COMPILER_CONFIG "boost/config/compiler/greenhills.hpp"\r
+\r
+#elif defined __CODEGEARC__\r
+//  CodeGear - must be checked for before Borland\r
+#   define BOOST_COMPILER_CONFIG "boost/config/compiler/codegear.hpp"\r
+\r
+#elif defined __BORLANDC__\r
+//  Borland\r
+#   define BOOST_COMPILER_CONFIG "boost/config/compiler/borland.hpp"\r
+\r
+#elif defined  __MWERKS__\r
+//  Metrowerks CodeWarrior\r
+#   define BOOST_COMPILER_CONFIG "boost/config/compiler/metrowerks.hpp"\r
+\r
+#elif defined  __SUNPRO_CC\r
+//  Sun Workshop Compiler C++\r
+#   define BOOST_COMPILER_CONFIG "boost/config/compiler/sunpro_cc.hpp"\r
+\r
+#elif defined __HP_aCC\r
+//  HP aCC\r
+#   define BOOST_COMPILER_CONFIG "boost/config/compiler/hp_acc.hpp"\r
+\r
+#elif defined(__MRC__) || defined(__SC__)\r
+//  MPW MrCpp or SCpp\r
+#   define BOOST_COMPILER_CONFIG "boost/config/compiler/mpw.hpp"\r
+\r
+#elif defined(__IBMCPP__)\r
+//  IBM Visual Age\r
+#   define BOOST_COMPILER_CONFIG "boost/config/compiler/vacpp.hpp"\r
+\r
+#elif defined(__PGI)\r
+//  Portland Group Inc.\r
+#   define BOOST_COMPILER_CONFIG "boost/config/compiler/pgi.hpp"\r
+\r
+#elif defined _MSC_VER\r
+//  Microsoft Visual C++\r
+//\r
+//  Must remain the last #elif since some other vendors (Metrowerks, for\r
+//  example) also #define _MSC_VER\r
+#   define BOOST_COMPILER_CONFIG "boost/config/compiler/visualc.hpp"\r
+\r
+#elif defined (BOOST_ASSERT_CONFIG)\r
+// this must come last - generate an error if we don't\r
+// recognise the compiler:\r
+#  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)"\r
+\r
+#endif\r
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 (file)
index 0000000..9662e30
--- /dev/null
@@ -0,0 +1,94 @@
+//  Boost compiler configuration selection header file\r
+\r
+//  (C) Copyright John Maddock 2001 - 2002. \r
+//  (C) Copyright Jens Maurer 2001. \r
+//  Use, modification and distribution are subject to the \r
+//  Boost Software License, Version 1.0. (See accompanying file \r
+//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+//  See http://www.boost.org for most recent version.\r
+\r
+// locate which platform we are on and define BOOST_PLATFORM_CONFIG as needed.\r
+// Note that we define the headers to include using "header_name" not\r
+// <header_name> in order to prevent macro expansion within the header\r
+// name (for example "linux" is a macro on linux systems).\r
+\r
+#if defined(linux) || defined(__linux) || defined(__linux__) || defined(__GNU__) || defined(__GLIBC__) \r
+// linux, also other platforms (Hurd etc) that use GLIBC, should these really have their own config headers though?\r
+#  define BOOST_PLATFORM_CONFIG "boost/config/platform/linux.hpp"\r
+\r
+#elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__)\r
+// BSD:\r
+#  define BOOST_PLATFORM_CONFIG "boost/config/platform/bsd.hpp"\r
+\r
+#elif defined(sun) || defined(__sun)\r
+// solaris:\r
+#  define BOOST_PLATFORM_CONFIG "boost/config/platform/solaris.hpp"\r
+\r
+#elif defined(__sgi)\r
+// SGI Irix:\r
+#  define BOOST_PLATFORM_CONFIG "boost/config/platform/irix.hpp"\r
+\r
+#elif defined(__hpux)\r
+// hp unix:\r
+#  define BOOST_PLATFORM_CONFIG "boost/config/platform/hpux.hpp"\r
+\r
+#elif defined(__CYGWIN__)\r
+// cygwin is not win32:\r
+#  define BOOST_PLATFORM_CONFIG "boost/config/platform/cygwin.hpp"\r
+\r
+#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)\r
+// win32:\r
+#  define BOOST_PLATFORM_CONFIG "boost/config/platform/win32.hpp"\r
+\r
+#elif defined(__BEOS__)\r
+// BeOS\r
+#  define BOOST_PLATFORM_CONFIG "boost/config/platform/beos.hpp"\r
+\r
+#elif defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__)\r
+// MacOS\r
+#  define BOOST_PLATFORM_CONFIG "boost/config/platform/macos.hpp"\r
+\r
+#elif defined(__IBMCPP__) || defined(_AIX)\r
+// IBM\r
+#  define BOOST_PLATFORM_CONFIG "boost/config/platform/aix.hpp"\r
+\r
+#elif defined(__amigaos__)\r
+// AmigaOS\r
+#  define BOOST_PLATFORM_CONFIG "boost/config/platform/amigaos.hpp"\r
+\r
+#elif defined(__QNXNTO__)\r
+// QNX:\r
+#  define BOOST_PLATFORM_CONFIG "boost/config/platform/qnxnto.hpp"\r
+\r
+#elif defined(__VXWORKS__)\r
+// vxWorks:\r
+#  define BOOST_PLATFORM_CONFIG "boost/config/platform/vxworks.hpp"\r
+\r
+#else\r
+\r
+#  if defined(unix) \\r
+      || defined(__unix) \\r
+      || defined(_XOPEN_SOURCE) \\r
+      || defined(_POSIX_SOURCE)\r
+\r
+   // generic unix platform:\r
+\r
+#  ifndef BOOST_HAS_UNISTD_H\r
+#     define BOOST_HAS_UNISTD_H\r
+#  endif\r
+\r
+#  include <boost/config/posix_features.hpp>\r
+\r
+#  endif\r
+\r
+#  if defined (BOOST_ASSERT_CONFIG)\r
+      // this must come last - generate an error if we don't\r
+      // recognise the platform:\r
+#     error "Unknown platform - please configure and report the results to boost.org"\r
+#  endif\r
+\r
+#endif\r
+\r
+\r
+\r
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 (file)
index 0000000..90531f2
--- /dev/null
@@ -0,0 +1,77 @@
+//  Boost compiler configuration selection header file\r
+\r
+//  (C) Copyright John Maddock 2001 - 2003. \r
+//  (C) Copyright Jens Maurer 2001 - 2002. \r
+//  Use, modification and distribution are subject to the \r
+//  Boost Software License, Version 1.0. (See accompanying file \r
+//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+\r
+//  See http://www.boost.org for most recent version.\r
+\r
+// locate which std lib we are using and define BOOST_STDLIB_CONFIG as needed:\r
+\r
+// First include <cstddef> to determine if some version of STLport is in use as the std lib\r
+// (do not rely on this header being included since users can short-circuit this header \r
+//  if they know whose std lib they are using.)\r
+#include <cstddef>\r
+\r
+#if defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)\r
+// STLPort library; this _must_ come first, otherwise since\r
+// STLport typically sits on top of some other library, we\r
+// can end up detecting that first rather than STLport:\r
+#  define BOOST_STDLIB_CONFIG "boost/config/stdlib/stlport.hpp"\r
+\r
+#else\r
+\r
+// If our std lib was not some version of STLport, then include <utility> as it is about \r
+// the smallest of the std lib headers that includes real C++ stuff.  (Some std libs do not\r
+// include their C++-related macros in <cstddef> so this additional include makes sure\r
+// we get those definitions)\r
+// (again do not rely on this header being included since users can short-circuit this \r
+//  header if they know whose std lib they are using.)\r
+#include <boost/config/no_tr1/utility.hpp>\r
+\r
+#if defined(__LIBCOMO__)\r
+// Comeau STL:\r
+#define BOOST_STDLIB_CONFIG "boost/config/stdlib/libcomo.hpp"\r
+\r
+#elif defined(__STD_RWCOMPILER_H__) || defined(_RWSTD_VER)\r
+// Rogue Wave library:\r
+#  define BOOST_STDLIB_CONFIG "boost/config/stdlib/roguewave.hpp"\r
+\r
+#elif defined(__GLIBCPP__) || defined(__GLIBCXX__)\r
+// GNU libstdc++ 3\r
+#  define BOOST_STDLIB_CONFIG "boost/config/stdlib/libstdcpp3.hpp"\r
+\r
+#elif defined(__STL_CONFIG_H)\r
+// generic SGI STL\r
+#  define BOOST_STDLIB_CONFIG "boost/config/stdlib/sgi.hpp"\r
+\r
+#elif defined(__MSL_CPP__)\r
+// MSL standard lib:\r
+#  define BOOST_STDLIB_CONFIG "boost/config/stdlib/msl.hpp"\r
+\r
+#elif defined(__IBMCPP__)\r
+// take the default VACPP std lib\r
+#  define BOOST_STDLIB_CONFIG "boost/config/stdlib/vacpp.hpp"\r
+\r
+#elif defined(MSIPL_COMPILE_H)\r
+// Modena C++ standard library\r
+#  define BOOST_STDLIB_CONFIG "boost/config/stdlib/modena.hpp"\r
+\r
+#elif (defined(_YVALS) && !defined(__IBMCPP__)) || defined(_CPPLIB_VER)\r
+// Dinkumware Library (this has to appear after any possible replacement libraries):\r
+#  define BOOST_STDLIB_CONFIG "boost/config/stdlib/dinkumware.hpp"\r
+\r
+#elif defined (BOOST_ASSERT_CONFIG)\r
+// this must come last - generate an error if we don't\r
+// recognise the library:\r
+#  error "Unknown standard library - please configure and report the results to boost.org"\r
+\r
+#endif\r
+\r
+#endif\r
+\r
+\r
+\r
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 (file)
index 0000000..d0f984c
--- /dev/null
@@ -0,0 +1,138 @@
+//  (C) Copyright John Maddock 2001 - 2003.\r
+//  (C) Copyright Jens Maurer 2001.\r
+//  (C) Copyright Peter Dimov 2001.\r
+//  (C) Copyright David Abrahams 2002.\r
+//  (C) Copyright Guillaume Melquiond 2003.\r
+//  Use, modification and distribution are subject to the\r
+//  Boost Software License, Version 1.0. (See accompanying file\r
+//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+//  See http://www.boost.org for most recent version.\r
+\r
+//  Dinkumware standard library config:\r
+\r
+#if !defined(_YVALS) && !defined(_CPPLIB_VER)\r
+#include <boost/config/no_tr1/utility.hpp>\r
+#if !defined(_YVALS) && !defined(_CPPLIB_VER)\r
+#error This is not the Dinkumware lib!\r
+#endif\r
+#endif\r
+\r
+\r
+#if defined(_CPPLIB_VER) && (_CPPLIB_VER >= 306)\r
+   // full dinkumware 3.06 and above\r
+   // fully conforming provided the compiler supports it:\r
+#  if !(defined(_GLOBAL_USING) && (_GLOBAL_USING+0 > 0)) && !defined(__BORLANDC__) && !defined(_STD) && !(defined(__ICC) && (__ICC >= 700))   // can be defined in yvals.h\r
+#     define BOOST_NO_STDC_NAMESPACE\r
+#  endif\r
+#  if !(defined(_HAS_MEMBER_TEMPLATES_REBIND) && (_HAS_MEMBER_TEMPLATES_REBIND+0 > 0)) && !(defined(_MSC_VER) && (_MSC_VER > 1300)) && defined(BOOST_MSVC)\r
+#     define BOOST_NO_STD_ALLOCATOR\r
+#  endif\r
+#  define BOOST_HAS_PARTIAL_STD_ALLOCATOR\r
+#  if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)\r
+      // if this lib version is set up for vc6 then there is no std::use_facet:\r
+#     define BOOST_NO_STD_USE_FACET\r
+#     define BOOST_HAS_TWO_ARG_USE_FACET\r
+      // C lib functions aren't in namespace std either:\r
+#     define BOOST_NO_STDC_NAMESPACE\r
+      // and nor is <exception>\r
+#     define BOOST_NO_EXCEPTION_STD_NAMESPACE\r
+#  endif\r
+// There's no numeric_limits<long long> support unless _LONGLONG is defined:\r
+#  if !defined(_LONGLONG) && (_CPPLIB_VER <= 310)\r
+#     define BOOST_NO_MS_INT64_NUMERIC_LIMITS\r
+#  endif\r
+// 3.06 appears to have (non-sgi versions of) <hash_set> & <hash_map>,\r
+// and no <slist> at all\r
+#else\r
+#  define BOOST_MSVC_STD_ITERATOR 1\r
+#  define BOOST_NO_STD_ITERATOR\r
+#  define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS\r
+#  define BOOST_NO_STD_ALLOCATOR\r
+#  define BOOST_NO_STDC_NAMESPACE\r
+#  define BOOST_NO_STD_USE_FACET\r
+#  define BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN\r
+#  define BOOST_HAS_MACRO_USE_FACET\r
+#  ifndef _CPPLIB_VER\r
+      // Updated Dinkum library defines this, and provides\r
+      // its own min and max definitions, as does MTA version.\r
+#     ifndef __MTA__ \r
+#        define BOOST_NO_STD_MIN_MAX\r
+#     endif\r
+#     define BOOST_NO_MS_INT64_NUMERIC_LIMITS\r
+#  endif\r
+#endif\r
+\r
+//\r
+// std extension namespace is stdext for vc7.1 and later, \r
+// the same applies to other compilers that sit on top\r
+// of vc7.1 (Intel and Comeau):\r
+//\r
+#if defined(_MSC_VER) && (_MSC_VER >= 1310) && !defined(__BORLANDC__)\r
+#  define BOOST_STD_EXTENSION_NAMESPACE stdext\r
+#endif\r
+\r
+\r
+#if (defined(_MSC_VER) && (_MSC_VER <= 1300) && !defined(__BORLANDC__)) || !defined(_CPPLIB_VER) || (_CPPLIB_VER < 306)\r
+   // if we're using a dinkum lib that's\r
+   // been configured for VC6/7 then there is\r
+   // no iterator traits (true even for icl)\r
+#  define BOOST_NO_STD_ITERATOR_TRAITS\r
+#endif\r
+\r
+#if defined(__ICL) && (__ICL < 800) && defined(_CPPLIB_VER) && (_CPPLIB_VER <= 310)\r
+// Intel C++ chokes over any non-trivial use of <locale>\r
+// this may be an overly restrictive define, but regex fails without it:\r
+#  define BOOST_NO_STD_LOCALE\r
+#endif\r
+\r
+//  C++0x headers implemented in 520 (as shipped by Microsoft)\r
+//\r
+#if !defined(_CPPLIB_VER) || _CPPLIB_VER < 520\r
+#  define BOOST_NO_0X_HDR_ARRAY\r
+#  define BOOST_NO_0X_HDR_CODECVT\r
+#  define BOOST_NO_0X_HDR_FORWARD_LIST\r
+#  define BOOST_NO_0X_HDR_INITIALIZER_LIST\r
+#  define BOOST_NO_0X_HDR_RANDOM\r
+#  define BOOST_NO_0X_HDR_REGEX\r
+#  define BOOST_NO_0X_HDR_SYSTEM_ERROR\r
+#  define BOOST_NO_0X_HDR_TYPE_TRAITS\r
+#  define BOOST_NO_STD_UNORDERED        // deprecated; see following\r
+#  define BOOST_NO_0X_HDR_UNORDERED_MAP\r
+#  define BOOST_NO_0X_HDR_UNORDERED_SET\r
+#endif\r
+\r
+//  C++0x headers not yet implemented\r
+//\r
+#  define BOOST_NO_0X_HDR_CHRONO\r
+#  define BOOST_NO_0X_HDR_CONCEPTS\r
+#  define BOOST_NO_0X_HDR_CONDITION_VARIABLE\r
+#  define BOOST_NO_0X_HDR_CONTAINER_CONCEPTS\r
+#  define BOOST_NO_0X_HDR_FUTURE\r
+#  define BOOST_NO_0X_HDR_ITERATOR_CONCEPTS\r
+#  define BOOST_NO_0X_HDR_MEMORY_CONCEPTS\r
+#  define BOOST_NO_0X_HDR_MUTEX\r
+#  define BOOST_NO_0X_HDR_RATIO\r
+#  define BOOST_NO_0X_HDR_THREAD\r
+#  define BOOST_NO_0X_HDR_TUPLE\r
+\r
+#ifdef _CPPLIB_VER\r
+#  define BOOST_DINKUMWARE_STDLIB _CPPLIB_VER\r
+#else\r
+#  define BOOST_DINKUMWARE_STDLIB 1\r
+#endif\r
+\r
+#ifdef _CPPLIB_VER\r
+#  define BOOST_STDLIB "Dinkumware standard library version " BOOST_STRINGIZE(_CPPLIB_VER)\r
+#else\r
+#  define BOOST_STDLIB "Dinkumware standard library version 1.x"\r
+#endif\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
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 (file)
index 0000000..c6a1b52
--- /dev/null
@@ -0,0 +1,71 @@
+//  (C) Copyright John Maddock 2002 - 2003. \r
+//  (C) Copyright Jens Maurer 2002 - 2003. \r
+//  (C) Copyright Beman Dawes 2002 - 2003. \r
+//  Use, modification and distribution are subject to the \r
+//  Boost Software License, Version 1.0. (See accompanying file \r
+//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+//  See http://www.boost.org for most recent version.\r
+\r
+//  Comeau STL:\r
+\r
+#if !defined(__LIBCOMO__)\r
+#  include <boost/config/no_tr1/utility.hpp>\r
+#  if !defined(__LIBCOMO__)\r
+#      error "This is not the Comeau STL!"\r
+#  endif\r
+#endif\r
+\r
+//\r
+// std::streambuf<wchar_t> is non-standard\r
+// NOTE: versions of libcomo prior to beta28 have octal version numbering,\r
+// e.g. version 25 is 21 (dec)\r
+#if __LIBCOMO_VERSION__ <= 22\r
+#  define BOOST_NO_STD_WSTREAMBUF\r
+#endif\r
+\r
+#if (__LIBCOMO_VERSION__ <= 31) && defined(_WIN32)\r
+#define BOOST_NO_SWPRINTF\r
+#endif\r
+\r
+#if __LIBCOMO_VERSION__ >= 31\r
+#  define BOOST_HAS_HASH\r
+#  define BOOST_HAS_SLIST\r
+#endif\r
+\r
+//  C++0x headers not yet implemented\r
+//\r
+#  define BOOST_NO_0X_HDR_ARRAY\r
+#  define BOOST_NO_0X_HDR_CHRONO\r
+#  define BOOST_NO_0X_HDR_CODECVT\r
+#  define BOOST_NO_0X_HDR_CONCEPTS\r
+#  define BOOST_NO_0X_HDR_CONDITION_VARIABLE\r
+#  define BOOST_NO_0X_HDR_CONTAINER_CONCEPTS\r
+#  define BOOST_NO_0X_HDR_FORWARD_LIST\r
+#  define BOOST_NO_0X_HDR_FUTURE\r
+#  define BOOST_NO_0X_HDR_INITIALIZER_LIST\r
+#  define BOOST_NO_0X_HDR_ITERATOR_CONCEPTS\r
+#  define BOOST_NO_0X_HDR_MEMORY_CONCEPTS\r
+#  define BOOST_NO_0X_HDR_MUTEX\r
+#  define BOOST_NO_0X_HDR_RANDOM\r
+#  define BOOST_NO_0X_HDR_RATIO\r
+#  define BOOST_NO_0X_HDR_REGEX\r
+#  define BOOST_NO_0X_HDR_SYSTEM_ERROR\r
+#  define BOOST_NO_0X_HDR_THREAD\r
+#  define BOOST_NO_0X_HDR_TUPLE\r
+#  define BOOST_NO_0X_HDR_TYPE_TRAITS\r
+#  define BOOST_NO_STD_UNORDERED        // deprecated; see following\r
+#  define BOOST_NO_0X_HDR_UNORDERED_MAP\r
+#  define BOOST_NO_0X_HDR_UNORDERED_SET\r
+\r
+//\r
+// Intrinsic type_traits support.\r
+// The SGI STL has it's own __type_traits class, which\r
+// has intrinsic compiler support with SGI's compilers.\r
+// Whatever map SGI style type traits to boost equivalents:\r
+//\r
+#define BOOST_HAS_SGI_TYPE_TRAITS\r
+\r
+#define BOOST_STDLIB "Comeau standard library " BOOST_STRINGIZE(__LIBCOMO_VERSION__)\r
+\r
+\r
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 (file)
index 0000000..340e866
--- /dev/null
@@ -0,0 +1,127 @@
+//  (C) Copyright John Maddock 2001.\r
+//  (C) Copyright Jens Maurer 2001.\r
+//  Use, modification and distribution are subject to the\r
+//  Boost Software License, Version 1.0. (See accompanying file\r
+//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+//  See http://www.boost.org for most recent version.\r
+\r
+//  config for libstdc++ v3\r
+//  not much to go in here:\r
+\r
+#ifdef __GLIBCXX__\r
+#define BOOST_STDLIB "GNU libstdc++ version " BOOST_STRINGIZE(__GLIBCXX__)\r
+#else\r
+#define BOOST_STDLIB "GNU libstdc++ version " BOOST_STRINGIZE(__GLIBCPP__)\r
+#endif\r
+\r
+#if !defined(_GLIBCPP_USE_WCHAR_T) && !defined(_GLIBCXX_USE_WCHAR_T)\r
+#  define BOOST_NO_CWCHAR\r
+#  define BOOST_NO_CWCTYPE\r
+#  define BOOST_NO_STD_WSTRING\r
+#  define BOOST_NO_STD_WSTREAMBUF\r
+#endif\r
+\r
+#if defined(__osf__) && !defined(_REENTRANT) \\r
+  && ( defined(_GLIBCXX_HAVE_GTHR_DEFAULT) || defined(_GLIBCPP_HAVE_GTHR_DEFAULT) )\r
+// GCC 3 on Tru64 forces the definition of _REENTRANT when any std lib header\r
+// file is included, therefore for consistency we define it here as well.\r
+#  define _REENTRANT\r
+#endif\r
+\r
+#ifdef __GLIBCXX__ // gcc 3.4 and greater:\r
+#  if defined(_GLIBCXX_HAVE_GTHR_DEFAULT) \\r
+        || defined(_GLIBCXX__PTHREADS)\r
+      //\r
+      // If the std lib has thread support turned on, then turn it on in Boost\r
+      // as well.  We do this because some gcc-3.4 std lib headers define _REENTANT\r
+      // while others do not...\r
+      //\r
+#     define BOOST_HAS_THREADS\r
+#  else\r
+#     define BOOST_DISABLE_THREADS\r
+#  endif\r
+#elif defined(__GLIBCPP__) \\r
+        && !defined(_GLIBCPP_HAVE_GTHR_DEFAULT) \\r
+        && !defined(_GLIBCPP__PTHREADS)\r
+   // disable thread support if the std lib was built single threaded:\r
+#  define BOOST_DISABLE_THREADS\r
+#endif\r
+\r
+#if (defined(linux) || defined(__linux) || defined(__linux__)) && defined(__arm__) && defined(_GLIBCPP_HAVE_GTHR_DEFAULT)\r
+// linux on arm apparently doesn't define _REENTRANT\r
+// so just turn on threading support whenever the std lib is thread safe:\r
+#  define BOOST_HAS_THREADS\r
+#endif\r
+\r
+\r
+#if !defined(_GLIBCPP_USE_LONG_LONG) \\r
+    && !defined(_GLIBCXX_USE_LONG_LONG)\\r
+    && defined(BOOST_HAS_LONG_LONG)\r
+// May have been set by compiler/*.hpp, but "long long" without library\r
+// support is useless.\r
+#  undef BOOST_HAS_LONG_LONG\r
+#endif\r
+\r
+#if defined(__GLIBCXX__) || (defined(__GLIBCPP__) && __GLIBCPP__>=20020514) // GCC >= 3.1.0\r
+#  define BOOST_STD_EXTENSION_NAMESPACE __gnu_cxx\r
+#  define BOOST_HAS_SLIST\r
+#  define BOOST_HAS_HASH\r
+#  define BOOST_SLIST_HEADER <ext/slist>\r
+# if !defined(__GNUC__) || __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3)\r
+#   define BOOST_HASH_SET_HEADER <ext/hash_set>\r
+#   define BOOST_HASH_MAP_HEADER <ext/hash_map>\r
+# else\r
+#   define BOOST_HASH_SET_HEADER <backward/hash_set>\r
+#   define BOOST_HASH_MAP_HEADER <backward/hash_map>\r
+# endif\r
+#endif\r
+\r
+//  stdlibc++ C++0x support is detected via __GNUC__, __GNUC_MINOR__, and possibly\r
+//  __GNUC_PATCHLEVEL__ at the suggestion of Jonathan Wakely, one of the stdlibc++\r
+//  developers. He also commented:\r
+//\r
+//       "I'm not sure how useful __GLIBCXX__ is for your purposes, for instance in\r
+//       GCC 4.2.4 it is set to 20080519 but in GCC 4.3.0 it is set to 20080305.\r
+//       Although 4.3.0 was released earlier than 4.2.4, it has better C++0x support\r
+//       than any release in the 4.2 series."\r
+//\r
+//  Another resource for understanding stdlibc++ features is:\r
+//  http://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html#manual.intro.status.standard.200x\r
+\r
+//  C++0x headers in GCC 4.3.0 and later\r
+//\r
+#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3) || !defined(__GXX_EXPERIMENTAL_CXX0X__)\r
+#  define BOOST_NO_0X_HDR_ARRAY\r
+#  define BOOST_NO_0X_HDR_RANDOM\r
+#  define BOOST_NO_0X_HDR_REGEX\r
+#  define BOOST_NO_0X_HDR_TUPLE\r
+#  define BOOST_NO_0X_HDR_TYPE_TRAITS\r
+#  define BOOST_NO_STD_UNORDERED  // deprecated; see following\r
+#  define BOOST_NO_0X_HDR_UNORDERED_MAP\r
+#  define BOOST_NO_0X_HDR_UNORDERED_SET\r
+#endif\r
+\r
+//  C++0x headers in GCC 4.4.0 and later\r
+//\r
+#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 4) || !defined(__GXX_EXPERIMENTAL_CXX0X__)\r
+#  define BOOST_NO_0X_HDR_CHRONO\r
+#  define BOOST_NO_0X_HDR_CONDITION_VARIABLE\r
+#  define BOOST_NO_0X_HDR_FORWARD_LIST\r
+#  define BOOST_NO_0X_HDR_INITIALIZER_LIST\r
+#  define BOOST_NO_0X_HDR_MUTEX\r
+#  define BOOST_NO_0X_HDR_RATIO\r
+#  define BOOST_NO_0X_HDR_SYSTEM_ERROR\r
+#  define BOOST_NO_0X_HDR_THREAD\r
+#endif\r
+\r
+//  C++0x headers not yet implemented\r
+//\r
+#  define BOOST_NO_0X_HDR_CODECVT\r
+#  define BOOST_NO_0X_HDR_CONCEPTS\r
+#  define BOOST_NO_0X_HDR_CONTAINER_CONCEPTS\r
+#  define BOOST_NO_0X_HDR_FUTURE\r
+#  define BOOST_NO_0X_HDR_ITERATOR_CONCEPTS\r
+#  define BOOST_NO_0X_HDR_MEMORY_CONCEPTS\r
+\r
+//  --- end ---\r
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 (file)
index 0000000..c614dcf
--- /dev/null
@@ -0,0 +1,55 @@
+//  (C) Copyright Jens Maurer 2001. \r
+//  Use, modification and distribution are subject to the \r
+//  Boost Software License, Version 1.0. (See accompanying file \r
+//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+//  See http://www.boost.org for most recent version.\r
+\r
+//  Modena C++ standard library (comes with KAI C++)\r
+\r
+#if !defined(MSIPL_COMPILE_H)\r
+#  include <boost/config/no_tr1/utility.hpp>\r
+#  if !defined(__MSIPL_COMPILE_H)\r
+#      error "This is not the Modena C++ library!"\r
+#  endif\r
+#endif\r
+\r
+#ifndef MSIPL_NL_TYPES\r
+#define BOOST_NO_STD_MESSAGES\r
+#endif\r
+\r
+#ifndef MSIPL_WCHART\r
+#define BOOST_NO_STD_WSTRING\r
+#endif\r
+\r
+//  C++0x headers not yet implemented\r
+//\r
+#  define BOOST_NO_0X_HDR_ARRAY\r
+#  define BOOST_NO_0X_HDR_CHRONO\r
+#  define BOOST_NO_0X_HDR_CODECVT\r
+#  define BOOST_NO_0X_HDR_CONCEPTS\r
+#  define BOOST_NO_0X_HDR_CONDITION_VARIABLE\r
+#  define BOOST_NO_0X_HDR_CONTAINER_CONCEPTS\r
+#  define BOOST_NO_0X_HDR_FORWARD_LIST\r
+#  define BOOST_NO_0X_HDR_FUTURE\r
+#  define BOOST_NO_0X_HDR_INITIALIZER_LIST\r
+#  define BOOST_NO_0X_HDR_ITERATOR_CONCEPTS\r
+#  define BOOST_NO_0X_HDR_MEMORY_CONCEPTS\r
+#  define BOOST_NO_0X_HDR_MUTEX\r
+#  define BOOST_NO_0X_HDR_RANDOM\r
+#  define BOOST_NO_0X_HDR_RATIO\r
+#  define BOOST_NO_0X_HDR_REGEX\r
+#  define BOOST_NO_0X_HDR_SYSTEM_ERROR\r
+#  define BOOST_NO_0X_HDR_THREAD\r
+#  define BOOST_NO_0X_HDR_TUPLE\r
+#  define BOOST_NO_0X_HDR_TYPE_TRAITS\r
+#  define BOOST_NO_STD_UNORDERED        // deprecated; see following\r
+#  define BOOST_NO_0X_HDR_UNORDERED_MAP\r
+#  define BOOST_NO_0X_HDR_UNORDERED_SET\r
+\r
+#define BOOST_STDLIB "Modena C++ standard library"\r
+\r
+\r
+\r
+\r
+\r
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 (file)
index 0000000..c332226
--- /dev/null
@@ -0,0 +1,83 @@
+//  (C) Copyright John Maddock 2001. \r
+//  (C) Copyright Darin Adler 2001. \r
+//  Use, modification and distribution are subject to the \r
+//  Boost Software License, Version 1.0. (See accompanying file \r
+//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+//  See http://www.boost.org for most recent version.\r
+\r
+//  Metrowerks standard library:\r
+\r
+#ifndef __MSL_CPP__\r
+#  include <boost/config/no_tr1/utility.hpp>\r
+#  ifndef __MSL_CPP__\r
+#     error This is not the MSL standard library!\r
+#  endif\r
+#endif\r
+\r
+#if __MSL_CPP__ >= 0x6000  // Pro 6\r
+#  define BOOST_HAS_HASH\r
+#  define BOOST_STD_EXTENSION_NAMESPACE Metrowerks\r
+#endif\r
+#define BOOST_HAS_SLIST\r
+\r
+#if __MSL_CPP__ < 0x6209\r
+#  define BOOST_NO_STD_MESSAGES\r
+#endif\r
+\r
+// check C lib version for <stdint.h>\r
+#include <cstddef>\r
+\r
+#if defined(__MSL__) && (__MSL__ >= 0x5000)\r
+#  define BOOST_HAS_STDINT_H\r
+#  if !defined(__PALMOS_TRAPS__)\r
+#    define BOOST_HAS_UNISTD_H\r
+#  endif\r
+   // boilerplate code:\r
+#  include <boost/config/posix_features.hpp>\r
+#endif\r
+\r
+#if defined(_MWMT) || _MSL_THREADSAFE\r
+#  define BOOST_HAS_THREADS\r
+#endif\r
+\r
+#ifdef _MSL_NO_EXPLICIT_FUNC_TEMPLATE_ARG\r
+#  define BOOST_NO_STD_USE_FACET\r
+#  define BOOST_HAS_TWO_ARG_USE_FACET\r
+#endif\r
+\r
+//  C++0x headers not yet implemented\r
+//\r
+#  define BOOST_NO_0X_HDR_ARRAY\r
+#  define BOOST_NO_0X_HDR_CHRONO\r
+#  define BOOST_NO_0X_HDR_CODECVT\r
+#  define BOOST_NO_0X_HDR_CONCEPTS\r
+#  define BOOST_NO_0X_HDR_CONDITION_VARIABLE\r
+#  define BOOST_NO_0X_HDR_CONTAINER_CONCEPTS\r
+#  define BOOST_NO_0X_HDR_FORWARD_LIST\r
+#  define BOOST_NO_0X_HDR_FUTURE\r
+#  define BOOST_NO_0X_HDR_INITIALIZER_LIST\r
+#  define BOOST_NO_0X_HDR_ITERATOR_CONCEPTS\r
+#  define BOOST_NO_0X_HDR_MEMORY_CONCEPTS\r
+#  define BOOST_NO_0X_HDR_MUTEX\r
+#  define BOOST_NO_0X_HDR_RANDOM\r
+#  define BOOST_NO_0X_HDR_RATIO\r
+#  define BOOST_NO_0X_HDR_REGEX\r
+#  define BOOST_NO_0X_HDR_SYSTEM_ERROR\r
+#  define BOOST_NO_0X_HDR_THREAD\r
+#  define BOOST_NO_0X_HDR_TUPLE\r
+#  define BOOST_NO_0X_HDR_TYPE_TRAITS\r
+#  define BOOST_NO_STD_UNORDERED        // deprecated; see following\r
+#  define BOOST_NO_0X_HDR_UNORDERED_MAP\r
+#  define BOOST_NO_0X_HDR_UNORDERED_SET\r
+\r
+#define BOOST_STDLIB "Metrowerks Standard Library version " BOOST_STRINGIZE(__MSL_CPP__)\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
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 (file)
index 0000000..3fbc618
--- /dev/null
@@ -0,0 +1,179 @@
+//  (C) Copyright John Maddock 2001 - 2003. \r
+//  (C) Copyright Jens Maurer 2001. \r
+//  (C) Copyright David Abrahams 2003. \r
+//  (C) Copyright Boris Gubenko 2007. \r
+//  Use, modification and distribution are subject to the \r
+//  Boost Software License, Version 1.0. (See accompanying file \r
+//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+//  See http://www.boost.org for most recent version.\r
+\r
+//  Rogue Wave std lib:\r
+\r
+#if !defined(__STD_RWCOMPILER_H__) && !defined(_RWSTD_VER)\r
+#  include <boost/config/no_tr1/utility.hpp>\r
+#  if !defined(__STD_RWCOMPILER_H__) && !defined(_RWSTD_VER)\r
+#     error This is not the Rogue Wave standard library\r
+#  endif\r
+#endif\r
+//\r
+// figure out a consistent version number:\r
+//\r
+#ifndef _RWSTD_VER\r
+#  define BOOST_RWSTD_VER 0x010000\r
+#elif _RWSTD_VER < 0x010000\r
+#  define BOOST_RWSTD_VER (_RWSTD_VER << 8)\r
+#else\r
+#  define BOOST_RWSTD_VER _RWSTD_VER\r
+#endif\r
+\r
+#ifndef _RWSTD_VER\r
+#  define BOOST_STDLIB "Rogue Wave standard library version (Unknown version)"\r
+#elif _RWSTD_VER < 0x04010200\r
+ #  define BOOST_STDLIB "Rogue Wave standard library version " BOOST_STRINGIZE(_RWSTD_VER)\r
+#else\r
+#  ifdef _RWSTD_VER_STR\r
+#    define BOOST_STDLIB "Apache STDCXX standard library version " _RWSTD_VER_STR\r
+#  else\r
+#    define BOOST_STDLIB "Apache STDCXX standard library version " BOOST_STRINGIZE(_RWSTD_VER)\r
+#  endif\r
+#endif\r
+\r
+//\r
+// Prior to version 2.2.0 the primary template for std::numeric_limits\r
+// does not have compile time constants, even though specializations of that\r
+// template do:\r
+//\r
+#if BOOST_RWSTD_VER < 0x020200\r
+#  define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS\r
+#endif\r
+\r
+// Sun CC 5.5 patch 113817-07 adds long long specialization, but does not change the\r
+// library version number (http://sunsolve6.sun.com/search/document.do?assetkey=1-21-113817):\r
+#if BOOST_RWSTD_VER <= 0x020101 && (!defined(__SUNPRO_CC) || (__SUNPRO_CC < 0x550))\r
+#  define BOOST_NO_LONG_LONG_NUMERIC_LIMITS\r
+# endif\r
+\r
+//\r
+// Borland version of numeric_limits lacks __int64 specialisation:\r
+//\r
+#ifdef __BORLANDC__\r
+#  define BOOST_NO_MS_INT64_NUMERIC_LIMITS\r
+#endif\r
+\r
+//\r
+// No std::iterator if it can't figure out default template args:\r
+//\r
+#if defined(_RWSTD_NO_SIMPLE_DEFAULT_TEMPLATES) || defined(RWSTD_NO_SIMPLE_DEFAULT_TEMPLATES) || (BOOST_RWSTD_VER < 0x020000)\r
+#  define BOOST_NO_STD_ITERATOR\r
+#endif\r
+\r
+//\r
+// No iterator traits without partial specialization:\r
+//\r
+#if defined(_RWSTD_NO_CLASS_PARTIAL_SPEC) || defined(RWSTD_NO_CLASS_PARTIAL_SPEC)\r
+#  define BOOST_NO_STD_ITERATOR_TRAITS\r
+#endif\r
+\r
+//\r
+// Prior to version 2.0, std::auto_ptr was buggy, and there were no\r
+// new-style iostreams, and no conformant std::allocator:\r
+//\r
+#if (BOOST_RWSTD_VER < 0x020000)\r
+#  define BOOST_NO_AUTO_PTR\r
+#  define BOOST_NO_STRINGSTREAM\r
+#  define BOOST_NO_STD_ALLOCATOR\r
+#  define BOOST_NO_STD_LOCALE\r
+#endif\r
+\r
+//\r
+// No template iterator constructors without member template support:\r
+//\r
+#if defined(RWSTD_NO_MEMBER_TEMPLATES) || defined(_RWSTD_NO_MEMBER_TEMPLATES)\r
+#  define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS\r
+#endif\r
+\r
+//\r
+// RW defines _RWSTD_ALLOCATOR if the allocator is conformant and in use\r
+// (the or _HPACC_ part is a hack - the library seems to define _RWSTD_ALLOCATOR\r
+// on HP aCC systems even though the allocator is in fact broken):\r
+//\r
+#if !defined(_RWSTD_ALLOCATOR) || (defined(__HP_aCC) && __HP_aCC <= 33100)\r
+#  define BOOST_NO_STD_ALLOCATOR\r
+#endif\r
+\r
+//\r
+// If we have a std::locale, we still may not have std::use_facet:\r
+//\r
+#if defined(_RWSTD_NO_TEMPLATE_ON_RETURN_TYPE) && !defined(BOOST_NO_STD_LOCALE)\r
+#  define BOOST_NO_STD_USE_FACET\r
+#  define BOOST_HAS_TWO_ARG_USE_FACET\r
+#endif\r
+\r
+//\r
+// There's no std::distance prior to version 2, or without\r
+// partial specialization support:\r
+//\r
+#if (BOOST_RWSTD_VER < 0x020000) || defined(_RWSTD_NO_CLASS_PARTIAL_SPEC)\r
+    #define BOOST_NO_STD_DISTANCE\r
+#endif\r
+\r
+//\r
+// Some versions of the rogue wave library don't have assignable\r
+// OutputIterators:\r
+//\r
+#if BOOST_RWSTD_VER < 0x020100\r
+#  define BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN\r
+#endif\r
+\r
+//\r
+// Disable BOOST_HAS_LONG_LONG when the library has no support for it.\r
+//\r
+#if !defined(_RWSTD_LONG_LONG) && defined(BOOST_HAS_LONG_LONG)\r
+#  undef BOOST_HAS_LONG_LONG\r
+#endif\r
+\r
+//\r
+// check that on HP-UX, the proper RW library is used\r
+//\r
+#if defined(__HP_aCC) && !defined(_HP_NAMESPACE_STD)\r
+#  error "Boost requires Standard RW library. Please compile and link with -AA"\r
+#endif\r
+\r
+//\r
+// Define macros specific to RW V2.2 on HP-UX\r
+//\r
+#if defined(__HP_aCC) && (BOOST_RWSTD_VER == 0x02020100)\r
+#  ifndef __HP_TC1_MAKE_PAIR\r
+#    define __HP_TC1_MAKE_PAIR\r
+#  endif\r
+#  ifndef _HP_INSTANTIATE_STD2_VL\r
+#    define _HP_INSTANTIATE_STD2_VL\r
+#  endif\r
+#endif\r
+\r
+//  C++0x headers not yet implemented\r
+//\r
+#  define BOOST_NO_0X_HDR_ARRAY\r
+#  define BOOST_NO_0X_HDR_CHRONO\r
+#  define BOOST_NO_0X_HDR_CODECVT\r
+#  define BOOST_NO_0X_HDR_CONCEPTS\r
+#  define BOOST_NO_0X_HDR_CONDITION_VARIABLE\r
+#  define BOOST_NO_0X_HDR_CONTAINER_CONCEPTS\r
+#  define BOOST_NO_0X_HDR_FORWARD_LIST\r
+#  define BOOST_NO_0X_HDR_FUTURE\r
+#  define BOOST_NO_0X_HDR_INITIALIZER_LIST\r
+#  define BOOST_NO_0X_HDR_ITERATOR_CONCEPTS\r
+#  define BOOST_NO_0X_HDR_MEMORY_CONCEPTS\r
+#  define BOOST_NO_0X_HDR_MUTEX\r
+#  define BOOST_NO_0X_HDR_RANDOM\r
+#  define BOOST_NO_0X_HDR_RATIO\r
+#  define BOOST_NO_0X_HDR_REGEX\r
+#  define BOOST_NO_0X_HDR_SYSTEM_ERROR\r
+#  define BOOST_NO_0X_HDR_THREAD\r
+#  define BOOST_NO_0X_HDR_TUPLE\r
+#  define BOOST_NO_0X_HDR_TYPE_TRAITS\r
+#  define BOOST_NO_STD_UNORDERED        // deprecated; see following\r
+#  define BOOST_NO_0X_HDR_UNORDERED_MAP\r
+#  define BOOST_NO_0X_HDR_UNORDERED_SET\r
+\r
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 (file)
index 0000000..3fcd543
--- /dev/null
@@ -0,0 +1,136 @@
+//  (C) Copyright John Maddock 2001 - 2003. \r
+//  (C) Copyright Darin Adler 2001. \r
+//  (C) Copyright Jens Maurer 2001 - 2003. \r
+//  Use, modification and distribution are subject to the \r
+//  Boost Software License, Version 1.0. (See accompanying file \r
+//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+//  See http://www.boost.org for most recent version.\r
+\r
+//  generic SGI STL:\r
+\r
+#if !defined(__STL_CONFIG_H)\r
+#  include <boost/config/no_tr1/utility.hpp>\r
+#  if !defined(__STL_CONFIG_H)\r
+#      error "This is not the SGI STL!"\r
+#  endif\r
+#endif\r
+\r
+//\r
+// No std::iterator traits without partial specialisation:\r
+//\r
+#if !defined(__STL_CLASS_PARTIAL_SPECIALIZATION)\r
+#  define BOOST_NO_STD_ITERATOR_TRAITS\r
+#endif\r
+\r
+//\r
+// No std::stringstream with gcc < 3\r
+//\r
+#if defined(__GNUC__) && (__GNUC__ < 3) && \\r
+     ((__GNUC_MINOR__ < 95) || (__GNUC_MINOR__ == 96)) && \\r
+     !defined(__STL_USE_NEW_IOSTREAMS) || \\r
+   defined(__APPLE_CC__)\r
+   // Note that we only set this for GNU C++ prior to 2.95 since the\r
+   // latest patches for that release do contain a minimal <sstream>\r
+   // If you are running a 2.95 release prior to 2.95.3 then this will need\r
+   // setting, but there is no way to detect that automatically (other\r
+   // than by running the configure script).\r
+   // Also, the unofficial GNU C++ 2.96 included in RedHat 7.1 doesn't\r
+   // have <sstream>.\r
+#  define BOOST_NO_STRINGSTREAM\r
+#endif\r
+\r
+//\r
+// Assume no std::locale without own iostreams (this may be an\r
+// incorrect assumption in some cases):\r
+//\r
+#if !defined(__SGI_STL_OWN_IOSTREAMS) && !defined(__STL_USE_NEW_IOSTREAMS)\r
+#  define BOOST_NO_STD_LOCALE\r
+#endif\r
+\r
+//\r
+// Original native SGI streams have non-standard std::messages facet:\r
+//\r
+#if defined(__sgi) && (_COMPILER_VERSION <= 650) && !defined(__SGI_STL_OWN_IOSTREAMS)\r
+#  define BOOST_NO_STD_LOCALE\r
+#endif\r
+\r
+//\r
+// SGI's new iostreams have missing "const" in messages<>::open\r
+//\r
+#if defined(__sgi) && (_COMPILER_VERSION <= 740) && defined(__STL_USE_NEW_IOSTREAMS)\r
+#  define BOOST_NO_STD_MESSAGES\r
+#endif\r
+\r
+//\r
+// No template iterator constructors, or std::allocator\r
+// without member templates:\r
+//\r
+#if !defined(__STL_MEMBER_TEMPLATES)\r
+#  define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS\r
+#  define BOOST_NO_STD_ALLOCATOR\r
+#endif\r
+\r
+//\r
+// We always have SGI style hash_set, hash_map, and slist:\r
+//\r
+#define BOOST_HAS_HASH\r
+#define BOOST_HAS_SLIST\r
+\r
+//\r
+// If this is GNU libstdc++2, then no <limits> and no std::wstring:\r
+//\r
+#if (defined(__GNUC__) && (__GNUC__ < 3))\r
+#  include <string>\r
+#  if defined(__BASTRING__)\r
+#     define BOOST_NO_LIMITS\r
+// Note: <boost/limits.hpp> will provide compile-time constants\r
+#     undef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS\r
+#     define BOOST_NO_STD_WSTRING\r
+#  endif\r
+#endif\r
+\r
+//\r
+// There is no standard iterator unless we have namespace support:\r
+//\r
+#if !defined(__STL_USE_NAMESPACES)\r
+#  define BOOST_NO_STD_ITERATOR\r
+#endif\r
+\r
+//\r
+// Intrinsic type_traits support.\r
+// The SGI STL has it's own __type_traits class, which\r
+// has intrinsic compiler support with SGI's compilers.\r
+// Whatever map SGI style type traits to boost equivalents:\r
+//\r
+#define BOOST_HAS_SGI_TYPE_TRAITS\r
+\r
+//  C++0x headers not yet implemented\r
+//\r
+#  define BOOST_NO_0X_HDR_ARRAY\r
+#  define BOOST_NO_0X_HDR_CHRONO\r
+#  define BOOST_NO_0X_HDR_CODECVT\r
+#  define BOOST_NO_0X_HDR_CONCEPTS\r
+#  define BOOST_NO_0X_HDR_CONDITION_VARIABLE\r
+#  define BOOST_NO_0X_HDR_CONTAINER_CONCEPTS\r
+#  define BOOST_NO_0X_HDR_FORWARD_LIST\r
+#  define BOOST_NO_0X_HDR_FUTURE\r
+#  define BOOST_NO_0X_HDR_INITIALIZER_LIST\r
+#  define BOOST_NO_0X_HDR_ITERATOR_CONCEPTS\r
+#  define BOOST_NO_0X_HDR_MEMORY_CONCEPTS\r
+#  define BOOST_NO_0X_HDR_MUTEX\r
+#  define BOOST_NO_0X_HDR_RANDOM\r
+#  define BOOST_NO_0X_HDR_RATIO\r
+#  define BOOST_NO_0X_HDR_REGEX\r
+#  define BOOST_NO_0X_HDR_SYSTEM_ERROR\r
+#  define BOOST_NO_0X_HDR_THREAD\r
+#  define BOOST_NO_0X_HDR_TUPLE\r
+#  define BOOST_NO_0X_HDR_TYPE_TRAITS\r
+#  define BOOST_NO_STD_UNORDERED        // deprecated; see following\r
+#  define BOOST_NO_0X_HDR_UNORDERED_MAP\r
+#  define BOOST_NO_0X_HDR_UNORDERED_SET\r
+\r
+#define BOOST_STDLIB "SGI standard library"\r
+\r
+\r
+\r
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 (file)
index 0000000..10bc1e4
--- /dev/null
@@ -0,0 +1,236 @@
+//  (C) Copyright John Maddock 2001 - 2002. \r
+//  (C) Copyright Darin Adler 2001. \r
+//  (C) Copyright Jens Maurer 2001. \r
+//  Use, modification and distribution are subject to the \r
+//  Boost Software License, Version 1.0. (See accompanying file \r
+//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+//  See http://www.boost.org for most recent version.\r
+\r
+//  STLPort standard library config:\r
+\r
+#if !defined(__SGI_STL_PORT) && !defined(_STLPORT_VERSION)\r
+#  include <cstddef>\r
+#  if !defined(__SGI_STL_PORT) && !defined(_STLPORT_VERSION)\r
+#      error "This is not STLPort!"\r
+#  endif\r
+#endif\r
+\r
+//\r
+// __STL_STATIC_CONST_INIT_BUG implies BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS\r
+// for versions prior to 4.1(beta)\r
+//\r
+#if (defined(__STL_STATIC_CONST_INIT_BUG) || defined(_STLP_STATIC_CONST_INIT_BUG)) && (__SGI_STL_PORT <= 0x400)\r
+#  define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS\r
+#endif\r
+\r
+//\r
+// If STLport thinks that there is no partial specialisation, then there is no\r
+// std::iterator traits:\r
+//\r
+#if !(defined(_STLP_CLASS_PARTIAL_SPECIALIZATION) || defined(__STL_CLASS_PARTIAL_SPECIALIZATION))\r
+#  define BOOST_NO_STD_ITERATOR_TRAITS\r
+#endif\r
+\r
+//\r
+// No new style iostreams on GCC without STLport's iostreams enabled:\r
+//\r
+#if (defined(__GNUC__) && (__GNUC__ < 3)) && !(defined(__SGI_STL_OWN_IOSTREAMS) || defined(_STLP_OWN_IOSTREAMS))\r
+#  define BOOST_NO_STRINGSTREAM\r
+#endif\r
+\r
+//\r
+// No new iostreams implies no std::locale, and no std::stringstream:\r
+//\r
+#if defined(__STL_NO_IOSTREAMS) || defined(__STL_NO_NEW_IOSTREAMS) || defined(_STLP_NO_IOSTREAMS) || defined(_STLP_NO_NEW_IOSTREAMS)\r
+#  define BOOST_NO_STD_LOCALE\r
+#  define BOOST_NO_STRINGSTREAM\r
+#endif\r
+\r
+//\r
+// If the streams are not native, and we have a "using ::x" compiler bug\r
+// then the io stream facets are not available in namespace std::\r
+//\r
+#ifdef _STLPORT_VERSION\r
+#  if !(_STLPORT_VERSION >= 0x500) && !defined(_STLP_OWN_IOSTREAMS) && defined(_STLP_USE_NAMESPACES) && defined(BOOST_NO_USING_TEMPLATE) && !defined(__BORLANDC__)\r
+#     define BOOST_NO_STD_LOCALE\r
+#  endif\r
+#else\r
+#  if !defined(__SGI_STL_OWN_IOSTREAMS) && defined(__STL_USE_NAMESPACES) && defined(BOOST_NO_USING_TEMPLATE) && !defined(__BORLANDC__)\r
+#     define BOOST_NO_STD_LOCALE\r
+#  endif\r
+#endif\r
+\r
+#if defined(_STLPORT_VERSION) && ((_STLPORT_VERSION < 0x500) || (_STLPORT_VERSION >= 0x520))\r
+#  define BOOST_NO_STD_UNORDERED\r
+#endif\r
+\r
+#if defined(_STLPORT_VERSION) && (_STLPORT_VERSION >= 0x520)\r
+#  define BOOST_HAS_TR1_UNORDERED_SET\r
+#  define BOOST_HAS_TR1_UNORDERED_MAP\r
+#endif\r
+//\r
+// Without member template support enabled, their are no template\r
+// iterate constructors, and no std::allocator:\r
+//\r
+#if !(defined(__STL_MEMBER_TEMPLATES) || defined(_STLP_MEMBER_TEMPLATES))\r
+#  define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS\r
+#  define BOOST_NO_STD_ALLOCATOR\r
+#endif\r
+//\r
+// however we always have at least a partial allocator:\r
+//\r
+#define BOOST_HAS_PARTIAL_STD_ALLOCATOR\r
+\r
+#if !defined(_STLP_MEMBER_TEMPLATE_CLASSES) || defined(_STLP_DONT_SUPPORT_REBIND_MEMBER_TEMPLATE)\r
+#  define BOOST_NO_STD_ALLOCATOR\r
+#endif\r
+\r
+#if defined(_STLP_NO_MEMBER_TEMPLATE_KEYWORD) && defined(BOOST_MSVC) && (BOOST_MSVC <= 1300)\r
+#  define BOOST_NO_STD_ALLOCATOR\r
+#endif\r
+\r
+//\r
+// If STLport thinks there is no wchar_t at all, then we have to disable\r
+// the support for the relevant specilazations of std:: templates.\r
+//\r
+#if !defined(_STLP_HAS_WCHAR_T) && !defined(_STLP_WCHAR_T_IS_USHORT)\r
+#  ifndef  BOOST_NO_STD_WSTRING\r
+#     define BOOST_NO_STD_WSTRING\r
+#  endif\r
+#  ifndef  BOOST_NO_STD_WSTREAMBUF\r
+#     define BOOST_NO_STD_WSTREAMBUF\r
+#  endif\r
+#endif\r
+\r
+//\r
+// We always have SGI style hash_set, hash_map, and slist:\r
+//\r
+#ifndef _STLP_NO_EXTENSIONS\r
+#define BOOST_HAS_HASH\r
+#define BOOST_HAS_SLIST\r
+#endif\r
+\r
+//\r
+// STLport does a good job of importing names into namespace std::,\r
+// but doesn't always get them all, define BOOST_NO_STDC_NAMESPACE, since our\r
+// workaround does not conflict with STLports:\r
+//\r
+//\r
+// Harold Howe says:\r
+// Borland switched to STLport in BCB6. Defining BOOST_NO_STDC_NAMESPACE with\r
+// BCB6 does cause problems. If we detect C++ Builder, then don't define \r
+// BOOST_NO_STDC_NAMESPACE\r
+//\r
+#if !defined(__BORLANDC__) && !defined(__DMC__)\r
+//\r
+// If STLport is using it's own namespace, and the real names are in\r
+// the global namespace, then we duplicate STLport's using declarations\r
+// (by defining BOOST_NO_STDC_NAMESPACE), we do this because STLport doesn't\r
+// necessarily import all the names we need into namespace std::\r
+// \r
+#  if (defined(__STL_IMPORT_VENDOR_CSTD) \\r
+         || defined(__STL_USE_OWN_NAMESPACE) \\r
+         || defined(_STLP_IMPORT_VENDOR_CSTD) \\r
+         || defined(_STLP_USE_OWN_NAMESPACE)) \\r
+      && (defined(__STL_VENDOR_GLOBAL_CSTD) || defined (_STLP_VENDOR_GLOBAL_CSTD))\r
+#     define BOOST_NO_STDC_NAMESPACE\r
+#     define BOOST_NO_EXCEPTION_STD_NAMESPACE\r
+#  endif\r
+#elif defined(__BORLANDC__) && __BORLANDC__ < 0x560\r
+// STLport doesn't import std::abs correctly:\r
+#include <stdlib.h>\r
+namespace std { using ::abs; }\r
+// and strcmp/strcpy don't get imported either ('cos they are macros)\r
+#include <string.h>\r
+#ifdef strcpy\r
+#  undef strcpy\r
+#endif\r
+#ifdef strcmp\r
+#  undef strcmp\r
+#endif\r
+#ifdef _STLP_VENDOR_CSTD\r
+namespace std{ using _STLP_VENDOR_CSTD::strcmp; using _STLP_VENDOR_CSTD::strcpy; }\r
+#endif\r
+#endif\r
+\r
+//\r
+// std::use_facet may be non-standard, uses a class instead:\r
+//\r
+#if defined(__STL_NO_EXPLICIT_FUNCTION_TMPL_ARGS) || defined(_STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS)\r
+#  define BOOST_NO_STD_USE_FACET\r
+#  define BOOST_HAS_STLP_USE_FACET\r
+#endif\r
+\r
+//\r
+// If STLport thinks there are no wide functions, <cwchar> etc. is not working; but\r
+// only if BOOST_NO_STDC_NAMESPACE is not defined (if it is then we do the import \r
+// into std:: ourselves).\r
+//\r
+#if defined(_STLP_NO_NATIVE_WIDE_FUNCTIONS) && !defined(BOOST_NO_STDC_NAMESPACE)\r
+#  define BOOST_NO_CWCHAR\r
+#  define BOOST_NO_CWCTYPE\r
+#endif\r
+\r
+//\r
+// If STLport for some reason was configured so that it thinks that wchar_t\r
+// is not an intrinsic type, then we have to disable the support for it as\r
+// well (we would be missing required specializations otherwise).\r
+//\r
+#if !defined( _STLP_HAS_WCHAR_T) || defined(_STLP_WCHAR_T_IS_USHORT)\r
+#  undef  BOOST_NO_INTRINSIC_WCHAR_T\r
+#  define BOOST_NO_INTRINSIC_WCHAR_T\r
+#endif\r
+\r
+//\r
+// Borland ships a version of STLport with C++ Builder 6 that lacks\r
+// hashtables and the like:\r
+//\r
+#if defined(__BORLANDC__) && (__BORLANDC__ == 0x560)\r
+#  undef BOOST_HAS_HASH\r
+#endif\r
+\r
+//\r
+// gcc-2.95.3/STLPort does not like the using declarations we use to get ADL with std::min/max\r
+//\r
+#if defined(__GNUC__) && (__GNUC__ < 3)\r
+#  include <algorithm> // for std::min and std::max\r
+#  define BOOST_USING_STD_MIN() ((void)0)\r
+#  define BOOST_USING_STD_MAX() ((void)0)\r
+namespace boost { using std::min; using std::max; }\r
+#endif\r
+\r
+//  C++0x headers not yet implemented\r
+//\r
+#  define BOOST_NO_0X_HDR_ARRAY\r
+#  define BOOST_NO_0X_HDR_CHRONO\r
+#  define BOOST_NO_0X_HDR_CODECVT\r
+#  define BOOST_NO_0X_HDR_CONCEPTS\r
+#  define BOOST_NO_0X_HDR_CONDITION_VARIABLE\r
+#  define BOOST_NO_0X_HDR_CONTAINER_CONCEPTS\r
+#  define BOOST_NO_0X_HDR_FORWARD_LIST\r
+#  define BOOST_NO_0X_HDR_FUTURE\r
+#  define BOOST_NO_0X_HDR_INITIALIZER_LIST\r
+#  define BOOST_NO_0X_HDR_ITERATOR_CONCEPTS\r
+#  define BOOST_NO_0X_HDR_MEMORY_CONCEPTS\r
+#  define BOOST_NO_0X_HDR_MUTEX\r
+#  define BOOST_NO_0X_HDR_RANDOM\r
+#  define BOOST_NO_0X_HDR_RATIO\r
+#  define BOOST_NO_0X_HDR_REGEX\r
+#  define BOOST_NO_0X_HDR_SYSTEM_ERROR\r
+#  define BOOST_NO_0X_HDR_THREAD\r
+#  define BOOST_NO_0X_HDR_TUPLE\r
+#  define BOOST_NO_0X_HDR_TYPE_TRAITS\r
+#  define BOOST_NO_STD_UNORDERED        // deprecated; see following\r
+#  define BOOST_NO_0X_HDR_UNORDERED_MAP\r
+#  define BOOST_NO_0X_HDR_UNORDERED_SET\r
+\r
+#define BOOST_STDLIB "STLPort standard library version " BOOST_STRINGIZE(__SGI_STL_PORT)\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
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 (file)
index 0000000..38a9773
--- /dev/null
@@ -0,0 +1,43 @@
+//  (C) Copyright John Maddock 2001 - 2002. \r
+//  Use, modification and distribution are subject to the \r
+//  Boost Software License, Version 1.0. (See accompanying file \r
+//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+//  See http://www.boost.org for most recent version.\r
+\r
+#if __IBMCPP__ <= 501\r
+#  define BOOST_NO_STD_ALLOCATOR\r
+#endif\r
+\r
+#define BOOST_HAS_MACRO_USE_FACET\r
+#define BOOST_NO_STD_MESSAGES\r
+\r
+//  C++0x headers not yet implemented\r
+//\r
+#  define BOOST_NO_0X_HDR_ARRAY\r
+#  define BOOST_NO_0X_HDR_CHRONO\r
+#  define BOOST_NO_0X_HDR_CODECVT\r
+#  define BOOST_NO_0X_HDR_CONCEPTS\r
+#  define BOOST_NO_0X_HDR_CONDITION_VARIABLE\r
+#  define BOOST_NO_0X_HDR_CONTAINER_CONCEPTS\r
+#  define BOOST_NO_0X_HDR_FORWARD_LIST\r
+#  define BOOST_NO_0X_HDR_FUTURE\r
+#  define BOOST_NO_0X_HDR_INITIALIZER_LIST\r
+#  define BOOST_NO_0X_HDR_ITERATOR_CONCEPTS\r
+#  define BOOST_NO_0X_HDR_MEMORY_CONCEPTS\r
+#  define BOOST_NO_0X_HDR_MUTEX\r
+#  define BOOST_NO_0X_HDR_RANDOM\r
+#  define BOOST_NO_0X_HDR_RATIO\r
+#  define BOOST_NO_0X_HDR_REGEX\r
+#  define BOOST_NO_0X_HDR_SYSTEM_ERROR\r
+#  define BOOST_NO_0X_HDR_THREAD\r
+#  define BOOST_NO_0X_HDR_TUPLE\r
+#  define BOOST_NO_0X_HDR_TYPE_TRAITS\r
+#  define BOOST_NO_STD_UNORDERED        // deprecated; see following\r
+#  define BOOST_NO_0X_HDR_UNORDERED_MAP\r
+#  define BOOST_NO_0X_HDR_UNORDERED_SET\r
+\r
+#define BOOST_STDLIB "Visual Age default standard library"\r
+\r
+\r
+\r
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 (file)
index 0000000..4faaeb2
--- /dev/null
@@ -0,0 +1,601 @@
+//  Boost config.hpp configuration header file  ------------------------------//\r
+\r
+//  Copyright (c) 2001-2003 John Maddock\r
+//  Copyright (c) 2001 Darin Adler\r
+//  Copyright (c) 2001 Peter Dimov\r
+//  Copyright (c) 2002 Bill Kempf \r
+//  Copyright (c) 2002 Jens Maurer\r
+//  Copyright (c) 2002-2003 David Abrahams\r
+//  Copyright (c) 2003 Gennaro Prota\r
+//  Copyright (c) 2003 Eric Friedman\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. (See\r
+// accompanying file LICENSE_1_0.txt or copy at\r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+//  See http://www.boost.org/ for most recent version.\r
+\r
+//  Boost config.hpp policy and rationale documentation has been moved to\r
+//  http://www.boost.org/libs/config/\r
+//\r
+//  This file is intended to be stable, and relatively unchanging.\r
+//  It should contain boilerplate code only - no compiler specific\r
+//  code unless it is unavoidable - no changes unless unavoidable.\r
+\r
+#ifndef BOOST_CONFIG_SUFFIX_HPP\r
+#define BOOST_CONFIG_SUFFIX_HPP\r
+\r
+//\r
+// look for long long by looking for the appropriate macros in <limits.h>.\r
+// Note that we use limits.h rather than climits for maximal portability,\r
+// remember that since these just declare a bunch of macros, there should be\r
+// no namespace issues from this.\r
+//\r
+#if !defined(BOOST_HAS_LONG_LONG) && !defined(BOOST_NO_LONG_LONG)                                              \\r
+   && !defined(BOOST_MSVC) && !defined(__BORLANDC__)\r
+# include <limits.h>\r
+# if (defined(ULLONG_MAX) || defined(ULONG_LONG_MAX) || defined(ULONGLONG_MAX))\r
+#   define BOOST_HAS_LONG_LONG\r
+# else\r
+#   define BOOST_NO_LONG_LONG\r
+# endif\r
+#endif\r
+\r
+// GCC 3.x will clean up all of those nasty macro definitions that\r
+// BOOST_NO_CTYPE_FUNCTIONS is intended to help work around, so undefine\r
+// it under GCC 3.x.\r
+#if defined(__GNUC__) && (__GNUC__ >= 3) && defined(BOOST_NO_CTYPE_FUNCTIONS)\r
+#  undef BOOST_NO_CTYPE_FUNCTIONS\r
+#endif\r
+\r
+//\r
+// Assume any extensions are in namespace std:: unless stated otherwise:\r
+//\r
+#  ifndef BOOST_STD_EXTENSION_NAMESPACE\r
+#    define BOOST_STD_EXTENSION_NAMESPACE std\r
+#  endif\r
+\r
+//\r
+// If cv-qualified specializations are not allowed, then neither are cv-void ones:\r
+//\r
+#  if defined(BOOST_NO_CV_SPECIALIZATIONS) \\r
+      && !defined(BOOST_NO_CV_VOID_SPECIALIZATIONS)\r
+#     define BOOST_NO_CV_VOID_SPECIALIZATIONS\r
+#  endif\r
+\r
+//\r
+// If there is no numeric_limits template, then it can't have any compile time\r
+// constants either!\r
+//\r
+#  if defined(BOOST_NO_LIMITS) \\r
+      && !defined(BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS)\r
+#     define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS\r
+#     define BOOST_NO_MS_INT64_NUMERIC_LIMITS\r
+#     define BOOST_NO_LONG_LONG_NUMERIC_LIMITS\r
+#  endif\r
+\r
+//\r
+// if there is no long long then there is no specialisation\r
+// for numeric_limits<long long> either:\r
+//\r
+#if !defined(BOOST_HAS_LONG_LONG) && !defined(BOOST_NO_LONG_LONG_NUMERIC_LIMITS)\r
+#  define BOOST_NO_LONG_LONG_NUMERIC_LIMITS\r
+#endif\r
+\r
+//\r
+// if there is no __int64 then there is no specialisation\r
+// for numeric_limits<__int64> either:\r
+//\r
+#if !defined(BOOST_HAS_MS_INT64) && !defined(BOOST_NO_MS_INT64_NUMERIC_LIMITS)\r
+#  define BOOST_NO_MS_INT64_NUMERIC_LIMITS\r
+#endif\r
+\r
+//\r
+// if member templates are supported then so is the\r
+// VC6 subset of member templates:\r
+//\r
+#  if !defined(BOOST_NO_MEMBER_TEMPLATES) \\r
+       && !defined(BOOST_MSVC6_MEMBER_TEMPLATES)\r
+#     define BOOST_MSVC6_MEMBER_TEMPLATES\r
+#  endif\r
+\r
+//\r
+// Without partial specialization, can't test for partial specialisation bugs:\r
+//\r
+#  if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \\r
+      && !defined(BOOST_BCB_PARTIAL_SPECIALIZATION_BUG)\r
+#     define BOOST_BCB_PARTIAL_SPECIALIZATION_BUG\r
+#  endif\r
+\r
+//\r
+// Without partial specialization, we can't have array-type partial specialisations:\r
+//\r
+#  if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \\r
+      && !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)\r
+#     define BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS\r
+#  endif\r
+\r
+//\r
+// Without partial specialization, std::iterator_traits can't work:\r
+//\r
+#  if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \\r
+      && !defined(BOOST_NO_STD_ITERATOR_TRAITS)\r
+#     define BOOST_NO_STD_ITERATOR_TRAITS\r
+#  endif\r
+\r
+//\r
+// Without partial specialization, partial \r
+// specialization with default args won't work either:\r
+//\r
+#  if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \\r
+      && !defined(BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS)\r
+#     define BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS\r
+#  endif\r
+\r
+//\r
+// Without member template support, we can't have template constructors\r
+// in the standard library either:\r
+//\r
+#  if defined(BOOST_NO_MEMBER_TEMPLATES) \\r
+      && !defined(BOOST_MSVC6_MEMBER_TEMPLATES) \\r
+      && !defined(BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS)\r
+#     define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS\r
+#  endif\r
+\r
+//\r
+// Without member template support, we can't have a conforming\r
+// std::allocator template either:\r
+//\r
+#  if defined(BOOST_NO_MEMBER_TEMPLATES) \\r
+      && !defined(BOOST_MSVC6_MEMBER_TEMPLATES) \\r
+      && !defined(BOOST_NO_STD_ALLOCATOR)\r
+#     define BOOST_NO_STD_ALLOCATOR\r
+#  endif\r
+\r
+//\r
+// without ADL support then using declarations will break ADL as well:\r
+//\r
+#if defined(BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP) && !defined(BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL)\r
+#  define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL\r
+#endif\r
+\r
+//\r
+// Without typeid support we have no dynamic RTTI either:\r
+//\r
+#if defined(BOOST_NO_TYPEID) && !defined(BOOST_NO_RTTI)\r
+#  define BOOST_NO_RTTI\r
+#endif\r
+\r
+//\r
+// If we have a standard allocator, then we have a partial one as well:\r
+//\r
+#if !defined(BOOST_NO_STD_ALLOCATOR)\r
+#  define BOOST_HAS_PARTIAL_STD_ALLOCATOR\r
+#endif\r
+\r
+//\r
+// We can't have a working std::use_facet if there is no std::locale:\r
+//\r
+#  if defined(BOOST_NO_STD_LOCALE) && !defined(BOOST_NO_STD_USE_FACET)\r
+#     define BOOST_NO_STD_USE_FACET\r
+#  endif\r
+\r
+//\r
+// We can't have a std::messages facet if there is no std::locale:\r
+//\r
+#  if defined(BOOST_NO_STD_LOCALE) && !defined(BOOST_NO_STD_MESSAGES)\r
+#     define BOOST_NO_STD_MESSAGES\r
+#  endif\r
+\r
+//\r
+// We can't have a working std::wstreambuf if there is no std::locale:\r
+//\r
+#  if defined(BOOST_NO_STD_LOCALE) && !defined(BOOST_NO_STD_WSTREAMBUF)\r
+#     define BOOST_NO_STD_WSTREAMBUF\r
+#  endif\r
+\r
+//\r
+// We can't have a <cwctype> if there is no <cwchar>:\r
+//\r
+#  if defined(BOOST_NO_CWCHAR) && !defined(BOOST_NO_CWCTYPE)\r
+#     define BOOST_NO_CWCTYPE\r
+#  endif\r
+\r
+//\r
+// We can't have a swprintf if there is no <cwchar>:\r
+//\r
+#  if defined(BOOST_NO_CWCHAR) && !defined(BOOST_NO_SWPRINTF)\r
+#     define BOOST_NO_SWPRINTF\r
+#  endif\r
+\r
+//\r
+// If Win32 support is turned off, then we must turn off\r
+// threading support also, unless there is some other\r
+// thread API enabled:\r
+//\r
+#if defined(BOOST_DISABLE_WIN32) && defined(_WIN32) \\r
+   && !defined(BOOST_DISABLE_THREADS) && !defined(BOOST_HAS_PTHREADS)\r
+#  define BOOST_DISABLE_THREADS\r
+#endif\r
+\r
+//\r
+// Turn on threading support if the compiler thinks that it's in\r
+// multithreaded mode.  We put this here because there are only a\r
+// limited number of macros that identify this (if there's any missing\r
+// from here then add to the appropriate compiler section):\r
+//\r
+#if (defined(__MT__) || defined(_MT) || defined(_REENTRANT) \\r
+    || defined(_PTHREADS) || defined(__APPLE__) || defined(__DragonFly__)) \\r
+    && !defined(BOOST_HAS_THREADS)\r
+#  define BOOST_HAS_THREADS\r
+#endif\r
+\r
+//\r
+// Turn threading support off if BOOST_DISABLE_THREADS is defined:\r
+//\r
+#if defined(BOOST_DISABLE_THREADS) && defined(BOOST_HAS_THREADS)\r
+#  undef BOOST_HAS_THREADS\r
+#endif\r
+\r
+//\r
+// Turn threading support off if we don't recognise the threading API:\r
+//\r
+#if defined(BOOST_HAS_THREADS) && !defined(BOOST_HAS_PTHREADS)\\r
+      && !defined(BOOST_HAS_WINTHREADS) && !defined(BOOST_HAS_BETHREADS)\\r
+      && !defined(BOOST_HAS_MPTASKS)\r
+#  undef BOOST_HAS_THREADS\r
+#endif\r
+\r
+//\r
+// Turn threading detail macros off if we don't (want to) use threading\r
+//\r
+#ifndef BOOST_HAS_THREADS\r
+#  undef BOOST_HAS_PTHREADS\r
+#  undef BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE\r
+#  undef BOOST_HAS_PTHREAD_YIELD\r
+#  undef BOOST_HAS_PTHREAD_DELAY_NP\r
+#  undef BOOST_HAS_WINTHREADS\r
+#  undef BOOST_HAS_BETHREADS\r
+#  undef BOOST_HAS_MPTASKS\r
+#endif\r
+\r
+//\r
+// If the compiler claims to be C99 conformant, then it had better\r
+// have a <stdint.h>:\r
+//\r
+#  if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901)\r
+#     define BOOST_HAS_STDINT_H\r
+#     ifndef BOOST_HAS_LOG1P\r
+#        define BOOST_HAS_LOG1P\r
+#     endif\r
+#     ifndef BOOST_HAS_EXPM1\r
+#        define BOOST_HAS_EXPM1\r
+#     endif\r
+#  endif\r
+\r
+//\r
+// Define BOOST_NO_SLIST and BOOST_NO_HASH if required.\r
+// Note that this is for backwards compatibility only.\r
+//\r
+#  if !defined(BOOST_HAS_SLIST) && !defined(BOOST_NO_SLIST)\r
+#     define BOOST_NO_SLIST\r
+#  endif\r
+\r
+#  if !defined(BOOST_HAS_HASH) && !defined(BOOST_NO_HASH)\r
+#     define BOOST_NO_HASH\r
+#  endif\r
+\r
+//\r
+// Set BOOST_SLIST_HEADER if not set already:\r
+//\r
+#if defined(BOOST_HAS_SLIST) && !defined(BOOST_SLIST_HEADER)\r
+#  define BOOST_SLIST_HEADER <slist>\r
+#endif\r
+\r
+//\r
+// Set BOOST_HASH_SET_HEADER if not set already:\r
+//\r
+#if defined(BOOST_HAS_HASH) && !defined(BOOST_HASH_SET_HEADER)\r
+#  define BOOST_HASH_SET_HEADER <hash_set>\r
+#endif\r
+\r
+//\r
+// Set BOOST_HASH_MAP_HEADER if not set already:\r
+//\r
+#if defined(BOOST_HAS_HASH) && !defined(BOOST_HASH_MAP_HEADER)\r
+#  define BOOST_HASH_MAP_HEADER <hash_map>\r
+#endif\r
+\r
+//\r
+// Set BOOST_NO_INITIALIZER_LISTS if there is no library support.\r
+//\r
+\r
+#if defined(BOOST_NO_0X_HDR_INITIALIZER_LIST) && !defined(BOOST_NO_INITIALIZER_LISTS)\r
+#  define BOOST_NO_INITIALIZER_LISTS\r
+#endif\r
+\r
+//  BOOST_HAS_ABI_HEADERS\r
+//  This macro gets set if we have headers that fix the ABI,\r
+//  and prevent ODR violations when linking to external libraries:\r
+#if defined(BOOST_ABI_PREFIX) && defined(BOOST_ABI_SUFFIX) && !defined(BOOST_HAS_ABI_HEADERS)\r
+#  define BOOST_HAS_ABI_HEADERS\r
+#endif\r
+\r
+#if defined(BOOST_HAS_ABI_HEADERS) && defined(BOOST_DISABLE_ABI_HEADERS)\r
+#  undef BOOST_HAS_ABI_HEADERS\r
+#endif\r
+\r
+//  BOOST_NO_STDC_NAMESPACE workaround  --------------------------------------//\r
+//  Because std::size_t usage is so common, even in boost headers which do not\r
+//  otherwise use the C library, the <cstddef> workaround is included here so\r
+//  that ugly workaround code need not appear in many other boost headers.\r
+//  NOTE WELL: This is a workaround for non-conforming compilers; <cstddef>\r
+//  must still be #included in the usual places so that <cstddef> inclusion\r
+//  works as expected with standard conforming compilers.  The resulting\r
+//  double inclusion of <cstddef> is harmless.\r
+\r
+# ifdef BOOST_NO_STDC_NAMESPACE\r
+#   include <cstddef>\r
+    namespace std { using ::ptrdiff_t; using ::size_t; }\r
+# endif\r
+\r
+//  Workaround for the unfortunate min/max macros defined by some platform headers\r
+\r
+#define BOOST_PREVENT_MACRO_SUBSTITUTION\r
+\r
+#ifndef BOOST_USING_STD_MIN\r
+#  define BOOST_USING_STD_MIN() using std::min\r
+#endif\r
+\r
+#ifndef BOOST_USING_STD_MAX\r
+#  define BOOST_USING_STD_MAX() using std::max\r
+#endif\r
+\r
+//  BOOST_NO_STD_MIN_MAX workaround  -----------------------------------------//\r
+\r
+#  ifdef BOOST_NO_STD_MIN_MAX\r
+\r
+namespace std {\r
+  template <class _Tp>\r
+  inline const _Tp& min BOOST_PREVENT_MACRO_SUBSTITUTION (const _Tp& __a, const _Tp& __b) {\r
+    return __b < __a ? __b : __a;\r
+  }\r
+  template <class _Tp>\r
+  inline const _Tp& max BOOST_PREVENT_MACRO_SUBSTITUTION (const _Tp& __a, const _Tp& __b) {\r
+    return  __a < __b ? __b : __a;\r
+  }\r
+}\r
+\r
+#  endif\r
+\r
+// BOOST_STATIC_CONSTANT workaround --------------------------------------- //\r
+// On compilers which don't allow in-class initialization of static integral\r
+// constant members, we must use enums as a workaround if we want the constants\r
+// to be available at compile-time. This macro gives us a convenient way to\r
+// declare such constants.\r
+\r
+#  ifdef BOOST_NO_INCLASS_MEMBER_INITIALIZATION\r
+#       define BOOST_STATIC_CONSTANT(type, assignment) enum { assignment }\r
+#  else\r
+#     define BOOST_STATIC_CONSTANT(type, assignment) static const type assignment\r
+#  endif\r
+\r
+// BOOST_USE_FACET / HAS_FACET workaround ----------------------------------//\r
+// When the standard library does not have a conforming std::use_facet there\r
+// are various workarounds available, but they differ from library to library.\r
+// The same problem occurs with has_facet.\r
+// These macros provide a consistent way to access a locale's facets.\r
+// Usage:\r
+//    replace\r
+//       std::use_facet<Type>(loc);\r
+//    with\r
+//       BOOST_USE_FACET(Type, loc);\r
+//    Note do not add a std:: prefix to the front of BOOST_USE_FACET!\r
+//  Use for BOOST_HAS_FACET is analogous.\r
+\r
+#if defined(BOOST_NO_STD_USE_FACET)\r
+#  ifdef BOOST_HAS_TWO_ARG_USE_FACET\r
+#     define BOOST_USE_FACET(Type, loc) std::use_facet(loc, static_cast<Type*>(0))\r
+#     define BOOST_HAS_FACET(Type, loc) std::has_facet(loc, static_cast<Type*>(0))\r
+#  elif defined(BOOST_HAS_MACRO_USE_FACET)\r
+#     define BOOST_USE_FACET(Type, loc) std::_USE(loc, Type)\r
+#     define BOOST_HAS_FACET(Type, loc) std::_HAS(loc, Type)\r
+#  elif defined(BOOST_HAS_STLP_USE_FACET)\r
+#     define BOOST_USE_FACET(Type, loc) (*std::_Use_facet<Type >(loc))\r
+#     define BOOST_HAS_FACET(Type, loc) std::has_facet< Type >(loc)\r
+#  endif\r
+#else\r
+#  define BOOST_USE_FACET(Type, loc) std::use_facet< Type >(loc)\r
+#  define BOOST_HAS_FACET(Type, loc) std::has_facet< Type >(loc)\r
+#endif\r
+\r
+// BOOST_NESTED_TEMPLATE workaround ------------------------------------------//\r
+// Member templates are supported by some compilers even though they can't use\r
+// the A::template member<U> syntax, as a workaround replace:\r
+//\r
+// typedef typename A::template rebind<U> binder;\r
+//\r
+// with:\r
+//\r
+// typedef typename A::BOOST_NESTED_TEMPLATE rebind<U> binder;\r
+\r
+#ifndef BOOST_NO_MEMBER_TEMPLATE_KEYWORD\r
+#  define BOOST_NESTED_TEMPLATE template\r
+#else\r
+#  define BOOST_NESTED_TEMPLATE\r
+#endif\r
+\r
+// BOOST_UNREACHABLE_RETURN(x) workaround -------------------------------------//\r
+// Normally evaluates to nothing, unless BOOST_NO_UNREACHABLE_RETURN_DETECTION\r
+// is defined, in which case it evaluates to return x; Use when you have a return\r
+// statement that can never be reached.\r
+\r
+#ifdef BOOST_NO_UNREACHABLE_RETURN_DETECTION\r
+#  define BOOST_UNREACHABLE_RETURN(x) return x;\r
+#else\r
+#  define BOOST_UNREACHABLE_RETURN(x)\r
+#endif\r
+\r
+// BOOST_DEDUCED_TYPENAME workaround ------------------------------------------//\r
+//\r
+// Some compilers don't support the use of `typename' for dependent\r
+// types in deduced contexts, e.g.\r
+//\r
+//     template <class T> void f(T, typename T::type);\r
+//                                  ^^^^^^^^\r
+// Replace these declarations with:\r
+//\r
+//     template <class T> void f(T, BOOST_DEDUCED_TYPENAME T::type);\r
+\r
+#ifndef BOOST_NO_DEDUCED_TYPENAME\r
+#  define BOOST_DEDUCED_TYPENAME typename\r
+#else\r
+#  define BOOST_DEDUCED_TYPENAME\r
+#endif\r
+\r
+#ifndef BOOST_NO_TYPENAME_WITH_CTOR\r
+#  define BOOST_CTOR_TYPENAME typename\r
+#else\r
+#  define BOOST_CTOR_TYPENAME\r
+#endif\r
+\r
+// long long workaround ------------------------------------------//\r
+// On gcc (and maybe other compilers?) long long is alway supported\r
+// but it's use may generate either warnings (with -ansi), or errors\r
+// (with -pedantic -ansi) unless it's use is prefixed by __extension__\r
+//\r
+#if defined(BOOST_HAS_LONG_LONG)\r
+namespace boost{\r
+#  ifdef __GNUC__\r
+   __extension__ typedef long long long_long_type;\r
+   __extension__ typedef unsigned long long ulong_long_type;\r
+#  else\r
+   typedef long long long_long_type;\r
+   typedef unsigned long long ulong_long_type;\r
+#  endif\r
+}\r
+#endif\r
+\r
+// BOOST_[APPEND_]EXPLICIT_TEMPLATE_[NON_]TYPE macros --------------------------//\r
+//\r
+// Some compilers have problems with function templates whose template\r
+// parameters don't appear in the function parameter list (basically\r
+// they just link one instantiation of the template in the final\r
+// executable). These macros provide a uniform way to cope with the\r
+// problem with no effects on the calling syntax.\r
+\r
+// Example:\r
+//\r
+//  #include <iostream>\r
+//  #include <ostream>\r
+//  #include <typeinfo>\r
+//\r
+//  template <int n>\r
+//  void f() { std::cout << n << ' '; }\r
+//\r
+//  template <typename T>\r
+//  void g() { std::cout << typeid(T).name() << ' '; }\r
+//\r
+//  int main() {\r
+//    f<1>();\r
+//    f<2>();\r
+//\r
+//    g<int>();\r
+//    g<double>();\r
+//  }\r
+//\r
+// With VC++ 6.0 the output is:\r
+//\r
+//   2 2 double double\r
+//\r
+// To fix it, write\r
+//\r
+//   template <int n>\r
+//   void f(BOOST_EXPLICIT_TEMPLATE_NON_TYPE(int, n)) { ... }\r
+//\r
+//   template <typename T>\r
+//   void g(BOOST_EXPLICIT_TEMPLATE_TYPE(T)) { ... }\r
+//\r
+\r
+\r
+#if defined BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS\r
+\r
+#  include "boost/type.hpp"\r
+#  include "boost/non_type.hpp"\r
+\r
+#  define BOOST_EXPLICIT_TEMPLATE_TYPE(t)              boost::type<t>* = 0\r
+#  define BOOST_EXPLICIT_TEMPLATE_TYPE_SPEC(t)         boost::type<t>*\r
+#  define BOOST_EXPLICIT_TEMPLATE_NON_TYPE(t, v)       boost::non_type<t, v>* = 0\r
+#  define BOOST_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v)  boost::non_type<t, v>*\r
+\r
+#  define BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE(t)        \\r
+             , BOOST_EXPLICIT_TEMPLATE_TYPE(t)\r
+#  define BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE_SPEC(t)   \\r
+             , BOOST_EXPLICIT_TEMPLATE_TYPE_SPEC(t)\r
+#  define BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE(t, v) \\r
+             , BOOST_EXPLICIT_TEMPLATE_NON_TYPE(t, v)\r
+#  define BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v)    \\r
+             , BOOST_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v)\r
+\r
+#else\r
+\r
+// no workaround needed: expand to nothing\r
+\r
+#  define BOOST_EXPLICIT_TEMPLATE_TYPE(t)\r
+#  define BOOST_EXPLICIT_TEMPLATE_TYPE_SPEC(t)\r
+#  define BOOST_EXPLICIT_TEMPLATE_NON_TYPE(t, v)\r
+#  define BOOST_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v)\r
+\r
+#  define BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE(t)\r
+#  define BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE_SPEC(t)\r
+#  define BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE(t, v)\r
+#  define BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v)\r
+\r
+\r
+#endif // defined BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS\r
+\r
+\r
+// ---------------------------------------------------------------------------//\r
+\r
+//\r
+// Helper macro BOOST_STRINGIZE:\r
+// Converts the parameter X to a string after macro replacement\r
+// on X has been performed.\r
+//\r
+#define BOOST_STRINGIZE(X) BOOST_DO_STRINGIZE(X)\r
+#define BOOST_DO_STRINGIZE(X) #X\r
+\r
+//\r
+// Helper macro BOOST_JOIN:\r
+// The following piece of macro magic joins the two\r
+// arguments together, even when one of the arguments is\r
+// itself a macro (see 16.3.1 in C++ standard).  The key\r
+// is that macro expansion of macro arguments does not\r
+// occur in BOOST_DO_JOIN2 but does in BOOST_DO_JOIN.\r
+//\r
+#define BOOST_JOIN( X, Y ) BOOST_DO_JOIN( X, Y )\r
+#define BOOST_DO_JOIN( X, Y ) BOOST_DO_JOIN2(X,Y)\r
+#define BOOST_DO_JOIN2( X, Y ) X##Y\r
+\r
+//\r
+// Set some default values for compiler/library/platform names.\r
+// These are for debugging config setup only:\r
+//\r
+#  ifndef BOOST_COMPILER\r
+#     define BOOST_COMPILER "Unknown ISO C++ Compiler"\r
+#  endif\r
+#  ifndef BOOST_STDLIB\r
+#     define BOOST_STDLIB "Unknown ISO standard library"\r
+#  endif\r
+#  ifndef BOOST_PLATFORM\r
+#     if defined(unix) || defined(__unix) || defined(_XOPEN_SOURCE) \\r
+         || defined(_POSIX_SOURCE)\r
+#        define BOOST_PLATFORM "Generic Unix"\r
+#     else\r
+#        define BOOST_PLATFORM "Unknown"\r
+#     endif\r
+#  endif\r
+\r
+#endif\r
+\r
+\r
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 (file)
index 0000000..3b998d1
--- /dev/null
@@ -0,0 +1,124 @@
+//  boost/config/user.hpp  ---------------------------------------------------//\r
+\r
+//  (C) Copyright John Maddock 2001. \r
+//  Use, modification and distribution are subject to the \r
+//  Boost Software License, Version 1.0. (See accompanying file \r
+//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+//  Do not check in modified versions of this file,\r
+//  This file may be customized by the end user, but not by boost.\r
+\r
+//\r
+//  Use this file to define a site and compiler specific\r
+//  configuration policy:\r
+//\r
+\r
+// define this to locate a compiler config file:\r
+// #define BOOST_COMPILER_CONFIG <myheader>\r
+\r
+// define this to locate a stdlib config file:\r
+// #define BOOST_STDLIB_CONFIG   <myheader>\r
+\r
+// define this to locate a platform config file:\r
+// #define BOOST_PLATFORM_CONFIG <myheader>\r
+\r
+// define this to disable compiler config,\r
+// use if your compiler config has nothing to set:\r
+// #define BOOST_NO_COMPILER_CONFIG\r
+\r
+// define this to disable stdlib config,\r
+// use if your stdlib config has nothing to set:\r
+// #define BOOST_NO_STDLIB_CONFIG\r
+\r
+// define this to disable platform config,\r
+// use if your platform config has nothing to set:\r
+// #define BOOST_NO_PLATFORM_CONFIG\r
+\r
+// define this to disable all config options,\r
+// excluding the user config.  Use if your\r
+// setup is fully ISO compliant, and has no\r
+// useful extensions, or for autoconf generated\r
+// setups:\r
+// #define BOOST_NO_CONFIG\r
+\r
+// define this to make the config "optimistic"\r
+// about unknown compiler versions.  Normally\r
+// unknown compiler versions are assumed to have\r
+// all the defects of the last known version, however\r
+// setting this flag, causes the config to assume\r
+// that unknown compiler versions are fully conformant\r
+// with the standard:\r
+// #define BOOST_STRICT_CONFIG\r
+\r
+// define this to cause the config to halt compilation\r
+// with an #error if it encounters anything unknown --\r
+// either an unknown compiler version or an unknown\r
+// compiler/platform/library:\r
+// #define BOOST_ASSERT_CONFIG\r
+\r
+\r
+// define if you want to disable threading support, even\r
+// when available:\r
+// #define BOOST_DISABLE_THREADS\r
+\r
+// define when you want to disable Win32 specific features\r
+// even when available:\r
+// #define BOOST_DISABLE_WIN32\r
+\r
+// BOOST_DISABLE_ABI_HEADERS: Stops boost headers from including any \r
+// prefix/suffix headers that normally control things like struct \r
+// packing and alignment. \r
+// #define BOOST_DISABLE_ABI_HEADERS\r
+\r
+// BOOST_ABI_PREFIX: A prefix header to include in place of whatever\r
+// boost.config would normally select, any replacement should set up \r
+// struct packing and alignment options as required. \r
+// #define BOOST_ABI_PREFIX my-header-name\r
+\r
+// BOOST_ABI_SUFFIX: A suffix header to include in place of whatever \r
+// boost.config would normally select, any replacement should undo \r
+// the effects of the prefix header. \r
+// #define BOOST_ABI_SUFFIX my-header-name\r
+\r
+// BOOST_ALL_DYN_LINK: Forces all libraries that have separate source, \r
+// to be linked as dll's rather than static libraries on Microsoft Windows \r
+// (this macro is used to turn on __declspec(dllimport) modifiers, so that \r
+// the compiler knows which symbols to look for in a dll rather than in a \r
+// static library).  Note that there may be some libraries that can only \r
+// be statically linked (Boost.Test for example) and others which may only \r
+// be dynamically linked (Boost.Threads for example), in these cases this \r
+// macro has no effect.\r
+// #define BOOST_ALL_DYN_LINK\r
\r
+// BOOST_WHATEVER_DYN_LINK: Forces library "whatever" to be linked as a dll \r
+// rather than a static library on Microsoft Windows: replace the WHATEVER \r
+// part of the macro name with the name of the library that you want to \r
+// dynamically link to, for example use BOOST_DATE_TIME_DYN_LINK or \r
+// BOOST_REGEX_DYN_LINK etc (this macro is used to turn on __declspec(dllimport) \r
+// modifiers, so that the compiler knows which symbols to look for in a dll \r
+// rather than in a static library).  \r
+// Note that there may be some libraries that can only be statically linked \r
+// (Boost.Test for example) and others which may only be dynamically linked \r
+// (Boost.Threads for example), in these cases this macro is unsupported.\r
+// #define BOOST_WHATEVER_DYN_LINK\r
\r
+// BOOST_ALL_NO_LIB: Tells the config system not to automatically select \r
+// which libraries to link against.  \r
+// Normally if a compiler supports #pragma lib, then the correct library \r
+// build variant will be automatically selected and linked against, \r
+// simply by the act of including one of that library's headers.  \r
+// This macro turns that feature off.\r
+// #define BOOST_ALL_NO_LIB\r
\r
+// BOOST_WHATEVER_NO_LIB: Tells the config system not to automatically \r
+// select which library to link against for library "whatever", \r
+// replace WHATEVER in the macro name with the name of the library; \r
+// for example BOOST_DATE_TIME_NO_LIB or BOOST_REGEX_NO_LIB.  \r
+// Normally if a compiler supports #pragma lib, then the correct library \r
+// build variant will be automatically selected and linked against, simply \r
+// by the act of including one of that library's headers.  This macro turns \r
+// that feature off.\r
+// #define BOOST_WHATEVER_NO_LIB\r
\r
+\r
+\r
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 (file)
index 0000000..8fd46ff
--- /dev/null
@@ -0,0 +1,47 @@
+//  Copyright John Maddock 2008\r
+//  Use, modification, and distribution is subject to the Boost Software\r
+//  License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+//  This file exists to turn off some overly-pedantic warning emitted\r
+//  by certain compilers.  You should include this header only in:\r
+//\r
+//  * A test case, before any other headers, or,\r
+//  * A library source file before any other headers.\r
+//\r
+//  IT SHOULD NOT BE INCLUDED BY ANY BOOST HEADER.\r
+//\r
+//  YOU SHOULD NOT INCLUDE IT IF YOU CAN REASONABLY FIX THE WARNING.\r
+//\r
+//  The only warnings disabled here are those that are:\r
+//\r
+//  * Quite unreasonably pedantic.\r
+//  * Generally only emitted by a single compiler.\r
+//  * Can't easily be fixed: for example if the vendors own std lib \r
+//    code emits these warnings!\r
+//\r
+//  Note that THIS HEADER MUST NOT INCLUDE ANY OTHER HEADERS:\r
+//  not even std library ones!  Doing so may turn the warning\r
+//  off too late to be of any use.  For example the VC++ C4996\r
+//  warning can be omitted from <iosfwd> if that header is included\r
+//  before or by this one :-(\r
+//\r
+\r
+#ifndef BOOST_CONFIG_WARNING_DISABLE_HPP\r
+#define BOOST_CONFIG_WARNING_DISABLE_HPP\r
+\r
+#if defined(_MSC_VER) && (_MSC_VER >= 1400) \r
+   // Error 'function': was declared deprecated\r
+   // http://msdn2.microsoft.com/en-us/library/ttcz0bys(VS.80).aspx\r
+   // This error is emitted when you use some perfectly conforming\r
+   // std lib functions in a perfectly correct way, and also by\r
+   // some of Microsoft's own std lib code !\r
+#  pragma warning(disable:4996)\r
+#endif\r
+#if defined(__INTEL_COMPILER) || defined(__ICL)\r
+   // As above: gives warning when a "deprecated"\r
+   // std library function is encountered.\r
+#  pragma warning(disable:1786)\r
+#endif\r
+\r
+#endif // BOOST_CONFIG_WARNING_DISABLE_HPP\r
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 (file)
index 0000000..3397692
--- /dev/null
@@ -0,0 +1,472 @@
+//  boost cstdint.hpp header file  ------------------------------------------//\r
+\r
+//  (C) Copyright Beman Dawes 1999. \r
+//  (C) Copyright Jens Mauer 2001  \r
+//  (C) Copyright John Maddock 2001 \r
+//  Distributed under the Boost\r
+//  Software License, Version 1.0. (See accompanying file\r
+//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+//  See http://www.boost.org/libs/integer for documentation.\r
+\r
+//  Revision History\r
+//   31 Oct 01  use BOOST_HAS_LONG_LONG to check for "long long" (Jens M.)\r
+//   16 Apr 01  check LONGLONG_MAX when looking for "long long" (Jens Maurer)\r
+//   23 Jan 01  prefer "long" over "int" for int32_t and intmax_t (Jens Maurer)\r
+//   12 Nov 00  Merged <boost/stdint.h> (Jens Maurer)\r
+//   23 Sep 00  Added INTXX_C macro support (John Maddock).\r
+//   22 Sep 00  Better 64-bit support (John Maddock)\r
+//   29 Jun 00  Reimplement to avoid including stdint.h within namespace boost\r
+//    8 Aug 99  Initial version (Beman Dawes)\r
+\r
+\r
+#ifndef BOOST_CSTDINT_HPP\r
+#define BOOST_CSTDINT_HPP\r
+\r
+//\r
+// Since we always define the INT#_C macros as per C++0x, \r
+// define __STDC_CONSTANT_MACROS so that <stdint.h> does the right\r
+// thing if possible, and so that the user knows that the macros \r
+// are actually defined as per C99.\r
+//\r
+#ifndef __STDC_CONSTANT_MACROS\r
+#  define __STDC_CONSTANT_MACROS\r
+#endif\r
+\r
+#include <boost/config.hpp>\r
+\r
+//\r
+// Note that GLIBC is a bit inconsistent about whether int64_t is defined or not\r
+// depending upon what headers happen to have been included first...\r
+// so we disable use of stdint.h when GLIBC does not define __GLIBC_HAVE_LONG_LONG.\r
+// See https://svn.boost.org/trac/boost/ticket/3548 and http://sources.redhat.com/bugzilla/show_bug.cgi?id=10990\r
+//\r
+#if defined(BOOST_HAS_STDINT_H) && (!defined(__GLIBC__) || defined(__GLIBC_HAVE_LONG_LONG))\r
+\r
+// The following #include is an implementation artifact; not part of interface.\r
+# ifdef __hpux\r
+// HP-UX has a vaguely nice <stdint.h> in a non-standard location\r
+#   include <inttypes.h>\r
+#   ifdef __STDC_32_MODE__\r
+      // this is triggered with GCC, because it defines __cplusplus < 199707L\r
+#     define BOOST_NO_INT64_T\r
+#   endif \r
+# elif defined(__FreeBSD__) || defined(__IBMCPP__) || defined(_AIX)\r
+#   include <inttypes.h>\r
+# else\r
+#   include <stdint.h>\r
+\r
+// There is a bug in Cygwin two _C macros\r
+#   if defined(__STDC_CONSTANT_MACROS) && defined(__CYGWIN__)\r
+#     undef INTMAX_C\r
+#     undef UINTMAX_C\r
+#     define INTMAX_C(c) c##LL\r
+#     define UINTMAX_C(c) c##ULL\r
+#   endif\r
+\r
+# endif\r
+\r
+#ifdef __QNX__\r
+\r
+// QNX (Dinkumware stdlib) defines these as non-standard names.\r
+// Reflect to the standard names.\r
+\r
+typedef ::intleast8_t int_least8_t;\r
+typedef ::intfast8_t int_fast8_t;\r
+typedef ::uintleast8_t uint_least8_t;\r
+typedef ::uintfast8_t uint_fast8_t;\r
+\r
+typedef ::intleast16_t int_least16_t;\r
+typedef ::intfast16_t int_fast16_t;\r
+typedef ::uintleast16_t uint_least16_t;\r
+typedef ::uintfast16_t uint_fast16_t;\r
+\r
+typedef ::intleast32_t int_least32_t;\r
+typedef ::intfast32_t int_fast32_t;\r
+typedef ::uintleast32_t uint_least32_t;\r
+typedef ::uintfast32_t uint_fast32_t;\r
+\r
+# ifndef BOOST_NO_INT64_T\r
+\r
+typedef ::intleast64_t int_least64_t;\r
+typedef ::intfast64_t int_fast64_t;\r
+typedef ::uintleast64_t uint_least64_t;\r
+typedef ::uintfast64_t uint_fast64_t;\r
+\r
+# endif\r
+\r
+#endif\r
+\r
+namespace boost\r
+{\r
+\r
+  using ::int8_t;             \r
+  using ::int_least8_t;       \r
+  using ::int_fast8_t;        \r
+  using ::uint8_t;            \r
+  using ::uint_least8_t;      \r
+  using ::uint_fast8_t;       \r
+                     \r
+  using ::int16_t;            \r
+  using ::int_least16_t;      \r
+  using ::int_fast16_t;       \r
+  using ::uint16_t;           \r
+  using ::uint_least16_t;     \r
+  using ::uint_fast16_t;      \r
+                     \r
+  using ::int32_t;            \r
+  using ::int_least32_t;      \r
+  using ::int_fast32_t;       \r
+  using ::uint32_t;           \r
+  using ::uint_least32_t;     \r
+  using ::uint_fast32_t;      \r
+                     \r
+# ifndef BOOST_NO_INT64_T\r
+\r
+  using ::int64_t;            \r
+  using ::int_least64_t;      \r
+  using ::int_fast64_t;       \r
+  using ::uint64_t;           \r
+  using ::uint_least64_t;     \r
+  using ::uint_fast64_t;      \r
+                     \r
+# endif\r
+\r
+  using ::intmax_t;      \r
+  using ::uintmax_t;     \r
+\r
+} // namespace boost\r
+\r
+#elif defined(__FreeBSD__) && (__FreeBSD__ <= 4) || defined(__osf__)\r
+// FreeBSD and Tru64 have an <inttypes.h> that contains much of what we need.\r
+# include <inttypes.h>\r
+\r
+namespace boost {\r
+\r
+  using ::int8_t;             \r
+  typedef int8_t int_least8_t;       \r
+  typedef int8_t int_fast8_t;        \r
+  using ::uint8_t;            \r
+  typedef uint8_t uint_least8_t;      \r
+  typedef uint8_t uint_fast8_t;       \r
+                     \r
+  using ::int16_t;            \r
+  typedef int16_t int_least16_t;      \r
+  typedef int16_t int_fast16_t;       \r
+  using ::uint16_t;           \r
+  typedef uint16_t uint_least16_t;     \r
+  typedef uint16_t uint_fast16_t;      \r
+                     \r
+  using ::int32_t;            \r
+  typedef int32_t int_least32_t;      \r
+  typedef int32_t int_fast32_t;       \r
+  using ::uint32_t;           \r
+  typedef uint32_t uint_least32_t;     \r
+  typedef uint32_t uint_fast32_t;      \r
+         \r
+# ifndef BOOST_NO_INT64_T          \r
+\r
+  using ::int64_t;            \r
+  typedef int64_t int_least64_t;      \r
+  typedef int64_t int_fast64_t;       \r
+  using ::uint64_t;           \r
+  typedef uint64_t uint_least64_t;     \r
+  typedef uint64_t uint_fast64_t;      \r
+\r
+  typedef int64_t intmax_t;\r
+  typedef uint64_t uintmax_t;\r
+\r
+# else\r
+\r
+  typedef int32_t intmax_t;\r
+  typedef uint32_t uintmax_t;\r
+\r
+# endif\r
+\r
+} // namespace boost\r
+\r
+#else  // BOOST_HAS_STDINT_H\r
+\r
+# include <boost/limits.hpp> // implementation artifact; not part of interface\r
+# include <limits.h>         // needed for limits macros\r
+\r
+\r
+namespace boost\r
+{\r
+\r
+//  These are fairly safe guesses for some 16-bit, and most 32-bit and 64-bit\r
+//  platforms.  For other systems, they will have to be hand tailored.\r
+//\r
+//  Because the fast types are assumed to be the same as the undecorated types,\r
+//  it may be possible to hand tailor a more efficient implementation.  Such\r
+//  an optimization may be illusionary; on the Intel x86-family 386 on, for\r
+//  example, byte arithmetic and load/stores are as fast as "int" sized ones.\r
+\r
+//  8-bit types  ------------------------------------------------------------//\r
+\r
+# if UCHAR_MAX == 0xff\r
+     typedef signed char     int8_t;\r
+     typedef signed char     int_least8_t;\r
+     typedef signed char     int_fast8_t;\r
+     typedef unsigned char   uint8_t;\r
+     typedef unsigned char   uint_least8_t;\r
+     typedef unsigned char   uint_fast8_t;\r
+# else\r
+#    error defaults not correct; you must hand modify boost/cstdint.hpp\r
+# endif\r
+\r
+//  16-bit types  -----------------------------------------------------------//\r
+\r
+# if USHRT_MAX == 0xffff\r
+#  if defined(__crayx1)\r
+     // The Cray X1 has a 16-bit short, however it is not recommend\r
+     // for use in performance critical code.\r
+     typedef short           int16_t;\r
+     typedef short           int_least16_t;\r
+     typedef int             int_fast16_t;\r
+     typedef unsigned short  uint16_t;\r
+     typedef unsigned short  uint_least16_t;\r
+     typedef unsigned int    uint_fast16_t;\r
+#  else\r
+     typedef short           int16_t;\r
+     typedef short           int_least16_t;\r
+     typedef short           int_fast16_t;\r
+     typedef unsigned short  uint16_t;\r
+     typedef unsigned short  uint_least16_t;\r
+     typedef unsigned short  uint_fast16_t;\r
+#  endif\r
+# elif (USHRT_MAX == 0xffffffff) && defined(__MTA__) \r
+      // On MTA / XMT short is 32 bits unless the -short16 compiler flag is specified \r
+      // MTA / XMT does support the following non-standard integer types \r
+      typedef __short16           int16_t; \r
+      typedef __short16           int_least16_t; \r
+      typedef __short16           int_fast16_t; \r
+      typedef unsigned __short16  uint16_t; \r
+      typedef unsigned __short16  uint_least16_t; \r
+      typedef unsigned __short16  uint_fast16_t; \r
+# elif (USHRT_MAX == 0xffffffff) && defined(CRAY)\r
+     // no 16-bit types on Cray:\r
+     typedef short           int_least16_t;\r
+     typedef short           int_fast16_t;\r
+     typedef unsigned short  uint_least16_t;\r
+     typedef unsigned short  uint_fast16_t;\r
+# else\r
+#    error defaults not correct; you must hand modify boost/cstdint.hpp\r
+# endif\r
+\r
+//  32-bit types  -----------------------------------------------------------//\r
+\r
+# if ULONG_MAX == 0xffffffff\r
+     typedef long            int32_t;\r
+     typedef long            int_least32_t;\r
+     typedef long            int_fast32_t;\r
+     typedef unsigned long   uint32_t;\r
+     typedef unsigned long   uint_least32_t;\r
+     typedef unsigned long   uint_fast32_t;\r
+# elif UINT_MAX == 0xffffffff\r
+     typedef int             int32_t;\r
+     typedef int             int_least32_t;\r
+     typedef int             int_fast32_t;\r
+     typedef unsigned int    uint32_t;\r
+     typedef unsigned int    uint_least32_t;\r
+     typedef unsigned int    uint_fast32_t;\r
+# elif (UINT_MAX == 0xffffffffffffffff) && defined(__MTA__) \r
+      // Integers are 64 bits on the MTA / XMT \r
+      typedef __int32           int32_t; \r
+      typedef __int32           int_least32_t; \r
+      typedef __int32           int_fast32_t; \r
+      typedef unsigned __int32  uint32_t; \r
+      typedef unsigned __int32  uint_least32_t; \r
+      typedef unsigned __int32  uint_fast32_t; \r
+# else\r
+#    error defaults not correct; you must hand modify boost/cstdint.hpp\r
+# endif\r
+\r
+//  64-bit types + intmax_t and uintmax_t  ----------------------------------//\r
+\r
+# if defined(BOOST_HAS_LONG_LONG) && \\r
+   !defined(BOOST_MSVC) && !defined(__BORLANDC__) && \\r
+   (!defined(__GLIBCPP__) || defined(_GLIBCPP_USE_LONG_LONG)) && \\r
+   (defined(ULLONG_MAX) || defined(ULONG_LONG_MAX) || defined(ULONGLONG_MAX))\r
+#    if defined(__hpux)\r
+     // HP-UX's value of ULONG_LONG_MAX is unusable in preprocessor expressions\r
+#    elif (defined(ULLONG_MAX) && ULLONG_MAX == 18446744073709551615ULL) || (defined(ULONG_LONG_MAX) && ULONG_LONG_MAX == 18446744073709551615ULL) || (defined(ULONGLONG_MAX) && ULONGLONG_MAX == 18446744073709551615ULL)\r
+                                                                 // 2**64 - 1\r
+#    else\r
+#       error defaults not correct; you must hand modify boost/cstdint.hpp\r
+#    endif\r
+\r
+     typedef  ::boost::long_long_type            intmax_t;\r
+     typedef  ::boost::ulong_long_type   uintmax_t;\r
+     typedef  ::boost::long_long_type            int64_t;\r
+     typedef  ::boost::long_long_type            int_least64_t;\r
+     typedef  ::boost::long_long_type            int_fast64_t;\r
+     typedef  ::boost::ulong_long_type   uint64_t;\r
+     typedef  ::boost::ulong_long_type   uint_least64_t;\r
+     typedef  ::boost::ulong_long_type   uint_fast64_t;\r
+\r
+# elif ULONG_MAX != 0xffffffff\r
+\r
+#    if ULONG_MAX == 18446744073709551615 // 2**64 - 1\r
+     typedef long                 intmax_t;\r
+     typedef unsigned long        uintmax_t;\r
+     typedef long                 int64_t;\r
+     typedef long                 int_least64_t;\r
+     typedef long                 int_fast64_t;\r
+     typedef unsigned long        uint64_t;\r
+     typedef unsigned long        uint_least64_t;\r
+     typedef unsigned long        uint_fast64_t;\r
+#    else\r
+#       error defaults not correct; you must hand modify boost/cstdint.hpp\r
+#    endif\r
+# elif defined(__GNUC__) && defined(BOOST_HAS_LONG_LONG)\r
+     __extension__ typedef long long            intmax_t;\r
+     __extension__ typedef unsigned long long   uintmax_t;\r
+     __extension__ typedef long long            int64_t;\r
+     __extension__ typedef long long            int_least64_t;\r
+     __extension__ typedef long long            int_fast64_t;\r
+     __extension__ typedef unsigned long long   uint64_t;\r
+     __extension__ typedef unsigned long long   uint_least64_t;\r
+     __extension__ typedef unsigned long long   uint_fast64_t;\r
+# elif defined(BOOST_HAS_MS_INT64)\r
+     //\r
+     // we have Borland/Intel/Microsoft __int64:\r
+     //\r
+     typedef __int64             intmax_t;\r
+     typedef unsigned __int64    uintmax_t;\r
+     typedef __int64             int64_t;\r
+     typedef __int64             int_least64_t;\r
+     typedef __int64             int_fast64_t;\r
+     typedef unsigned __int64    uint64_t;\r
+     typedef unsigned __int64    uint_least64_t;\r
+     typedef unsigned __int64    uint_fast64_t;\r
+# else // assume no 64-bit integers\r
+#  define BOOST_NO_INT64_T\r
+     typedef int32_t              intmax_t;\r
+     typedef uint32_t             uintmax_t;\r
+# endif\r
+\r
+} // namespace boost\r
+\r
+\r
+#endif // BOOST_HAS_STDINT_H\r
+\r
+#endif // BOOST_CSTDINT_HPP\r
+\r
+\r
+/****************************************************\r
+\r
+Macro definition section:\r
+\r
+Added 23rd September 2000 (John Maddock).\r
+Modified 11th September 2001 to be excluded when\r
+BOOST_HAS_STDINT_H is defined (John Maddock).\r
+Modified 11th Dec 2009 to always define the\r
+INT#_C macros if they're not already defined (John Maddock).\r
+\r
+******************************************************/\r
+\r
+#if !defined(BOOST__STDC_CONSTANT_MACROS_DEFINED) && !defined(INT8_C)\r
+#include <limits.h>\r
+# define BOOST__STDC_CONSTANT_MACROS_DEFINED\r
+# if defined(BOOST_HAS_MS_INT64)\r
+//\r
+// Borland/Intel/Microsoft compilers have width specific suffixes:\r
+//\r
+#  define INT8_C(value)     value##i8\r
+#  define INT16_C(value)    value##i16\r
+#  define INT32_C(value)    value##i32\r
+#  define INT64_C(value)    value##i64\r
+#  ifdef __BORLANDC__\r
+    // Borland bug: appending ui8 makes the type a signed char\r
+#   define UINT8_C(value)    static_cast<unsigned char>(value##u)\r
+#  else\r
+#   define UINT8_C(value)    value##ui8\r
+#  endif\r
+#  define UINT16_C(value)   value##ui16\r
+#  define UINT32_C(value)   value##ui32\r
+#  define UINT64_C(value)   value##ui64\r
+#  define INTMAX_C(value)   value##i64\r
+#  define UINTMAX_C(value)  value##ui64\r
+\r
+# else\r
+//  do it the old fashioned way:\r
+\r
+//  8-bit types  ------------------------------------------------------------//\r
+\r
+#  if UCHAR_MAX == 0xff\r
+#   define INT8_C(value) static_cast<boost::int8_t>(value)\r
+#   define UINT8_C(value) static_cast<boost::uint8_t>(value##u)\r
+#  endif\r
+\r
+//  16-bit types  -----------------------------------------------------------//\r
+\r
+#  if USHRT_MAX == 0xffff\r
+#   define INT16_C(value) static_cast<boost::int16_t>(value)\r
+#   define UINT16_C(value) static_cast<boost::uint16_t>(value##u)\r
+#  endif\r
+\r
+//  32-bit types  -----------------------------------------------------------//\r
+\r
+#  if UINT_MAX == 0xffffffff\r
+#   define INT32_C(value) value\r
+#   define UINT32_C(value) value##u\r
+#  elif ULONG_MAX == 0xffffffff\r
+#   define INT32_C(value) value##L\r
+#   define UINT32_C(value) value##uL\r
+#  endif\r
+\r
+//  64-bit types + intmax_t and uintmax_t  ----------------------------------//\r
+\r
+#  if defined(BOOST_HAS_LONG_LONG) && \\r
+    (defined(ULLONG_MAX) || defined(ULONG_LONG_MAX) || defined(ULONGLONG_MAX) || defined(_LLONG_MAX))\r
+\r
+#    if defined(__hpux)\r
+        // HP-UX's value of ULONG_LONG_MAX is unusable in preprocessor expressions\r
+#       define INT64_C(value) value##LL\r
+#       define UINT64_C(value) value##uLL\r
+#    elif (defined(ULLONG_MAX) && ULLONG_MAX == 18446744073709551615ULL) ||  \\r
+        (defined(ULONG_LONG_MAX) && ULONG_LONG_MAX == 18446744073709551615ULL) ||  \\r
+        (defined(ULONGLONG_MAX) && ULONGLONG_MAX == 18446744073709551615ULL) || \\r
+        (defined(_LLONG_MAX) && _LLONG_MAX == 18446744073709551615ULL)\r
+\r
+#       define INT64_C(value) value##LL\r
+#       define UINT64_C(value) value##uLL\r
+#    else\r
+#       error defaults not correct; you must hand modify boost/cstdint.hpp\r
+#    endif\r
+#  elif ULONG_MAX != 0xffffffff\r
+\r
+#    if ULONG_MAX == 18446744073709551615U // 2**64 - 1\r
+#       define INT64_C(value) value##L\r
+#       define UINT64_C(value) value##uL\r
+#    else\r
+#       error defaults not correct; you must hand modify boost/cstdint.hpp\r
+#    endif\r
+#  elif defined(BOOST_HAS_LONG_LONG)\r
+     // Usual macros not defined, work things out for ourselves:\r
+#    if(~0uLL == 18446744073709551615ULL)\r
+#       define INT64_C(value) value##LL\r
+#       define UINT64_C(value) value##uLL\r
+#    else\r
+#       error defaults not correct; you must hand modify boost/cstdint.hpp\r
+#    endif\r
+#  else\r
+#    error defaults not correct; you must hand modify boost/cstdint.hpp\r
+#  endif\r
+\r
+#  ifdef BOOST_NO_INT64_T\r
+#   define INTMAX_C(value) INT32_C(value)\r
+#   define UINTMAX_C(value) UINT32_C(value)\r
+#  else\r
+#   define INTMAX_C(value) INT64_C(value)\r
+#   define UINTMAX_C(value) UINT64_C(value)\r
+#  endif\r
+\r
+# endif // Borland/Microsoft specific width suffixes\r
+\r
+#endif // INT#_C macros.\r
+\r
+\r
+\r
+\r
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 (file)
index 0000000..9f43030
--- /dev/null
@@ -0,0 +1,41 @@
+//  boost/cstdlib.hpp header  ------------------------------------------------//\r
+\r
+//  Copyright Beman Dawes 2001.  Distributed under the Boost\r
+//  Software License, Version 1.0. (See accompanying file\r
+//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+//  See http://www.boost.org/libs/utility/cstdlib.html for documentation.\r
+\r
+//  Revision History\r
+//   26 Feb 01  Initial version (Beman Dawes)\r
+\r
+#ifndef BOOST_CSTDLIB_HPP\r
+#define BOOST_CSTDLIB_HPP\r
+\r
+#include <cstdlib>\r
+\r
+namespace boost\r
+{\r
+   //  The intent is to propose the following for addition to namespace std\r
+   //  in the C++ Standard Library, and to then deprecate EXIT_SUCCESS and\r
+   //  EXIT_FAILURE.  As an implementation detail, this header defines the\r
+   //  new constants in terms of EXIT_SUCCESS and EXIT_FAILURE.  In a new\r
+   //  standard, the constants would be implementation-defined, although it\r
+   //  might be worthwhile to "suggest" (which a standard is allowed to do)\r
+   //  values of 0 and 1 respectively.\r
+\r
+   //  Rationale for having multiple failure values: some environments may\r
+   //  wish to distinguish between different classes of errors.\r
+   //  Rationale for choice of values: programs often use values < 100 for\r
+   //  their own error reporting.  Values > 255 are sometimes reserved for\r
+   //  system detected errors.  200/201 were suggested to minimize conflict.\r
+\r
+   const int exit_success = EXIT_SUCCESS;  // implementation-defined value\r
+   const int exit_failure = EXIT_FAILURE;  // implementation-defined value\r
+   const int exit_exception_failure = 200; // otherwise uncaught exception\r
+   const int exit_test_failure = 201;      // report_error or\r
+                                           //  report_critical_error called.\r
+}\r
+\r
+#endif\r
+\r
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 (file)
index 0000000..3714e9e
--- /dev/null
@@ -0,0 +1,67 @@
+#ifndef BOOST_CURRENT_FUNCTION_HPP_INCLUDED\r
+#define BOOST_CURRENT_FUNCTION_HPP_INCLUDED\r
+\r
+// MS compatible compilers support #pragma once\r
+\r
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)\r
+# pragma once\r
+#endif\r
+\r
+//\r
+//  boost/current_function.hpp - BOOST_CURRENT_FUNCTION\r
+//\r
+//  Copyright (c) 2002 Peter Dimov and Multi Media Ltd.\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. (See\r
+// accompanying file LICENSE_1_0.txt or copy at\r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+//  http://www.boost.org/libs/utility/current_function.html\r
+//\r
+\r
+namespace boost\r
+{\r
+\r
+namespace detail\r
+{\r
+\r
+inline void current_function_helper()\r
+{\r
+\r
+#if defined(__GNUC__) || (defined(__MWERKS__) && (__MWERKS__ >= 0x3000)) || (defined(__ICC) && (__ICC >= 600))\r
+\r
+# define BOOST_CURRENT_FUNCTION __PRETTY_FUNCTION__\r
+\r
+#elif defined(__DMC__) && (__DMC__ >= 0x810)\r
+\r
+# define BOOST_CURRENT_FUNCTION __PRETTY_FUNCTION__\r
+\r
+#elif defined(__FUNCSIG__)\r
+\r
+# define BOOST_CURRENT_FUNCTION __FUNCSIG__\r
+\r
+#elif (defined(__INTEL_COMPILER) && (__INTEL_COMPILER >= 600)) || (defined(__IBMCPP__) && (__IBMCPP__ >= 500))\r
+\r
+# define BOOST_CURRENT_FUNCTION __FUNCTION__\r
+\r
+#elif defined(__BORLANDC__) && (__BORLANDC__ >= 0x550)\r
+\r
+# define BOOST_CURRENT_FUNCTION __FUNC__\r
+\r
+#elif defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901)\r
+\r
+# define BOOST_CURRENT_FUNCTION __func__\r
+\r
+#else\r
+\r
+# define BOOST_CURRENT_FUNCTION "(unknown)"\r
+\r
+#endif\r
+\r
+}\r
+\r
+} // namespace detail\r
+\r
+} // namespace boost\r
+\r
+#endif // #ifndef BOOST_CURRENT_FUNCTION_HPP_INCLUDED\r
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 (file)
index 0000000..6f8fcda
--- /dev/null
@@ -0,0 +1,222 @@
+// (C) Copyright Jeremy Siek 2001.\r
+// Distributed under the Boost Software License, Version 1.0. (See accompany-\r
+// ing file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+/*\r
+ *\r
+ * Copyright (c) 1994\r
+ * Hewlett-Packard Company\r
+ *\r
+ * Permission to use, copy, modify, distribute and sell this software\r
+ * and its documentation for any purpose is hereby granted without fee,\r
+ * provided that the above copyright notice appear in all copies and\r
+ * that both that copyright notice and this permission notice appear\r
+ * in supporting documentation.  Hewlett-Packard Company makes no\r
+ * representations about the suitability of this software for any\r
+ * purpose.  It is provided "as is" without express or implied warranty.\r
+ *\r
+ *\r
+ * Copyright (c) 1996\r
+ * Silicon Graphics Computer Systems, Inc.\r
+ *\r
+ * Permission to use, copy, modify, distribute and sell this software\r
+ * and its documentation for any purpose is hereby granted without fee,\r
+ * provided that the above copyright notice appear in all copies and\r
+ * that both that copyright notice and this permission notice appear\r
+ * in supporting documentation.  Silicon Graphics makes no\r
+ * representations about the suitability of this software for any\r
+ * purpose.  It is provided "as is" without express or implied warranty.\r
+ */\r
+\r
+#ifndef BOOST_ALGORITHM_HPP\r
+# define BOOST_ALGORITHM_HPP\r
+# include <boost/detail/iterator.hpp>\r
+// Algorithms on sequences\r
+//\r
+// The functions in this file have not yet gone through formal\r
+// review, and are subject to change. This is a work in progress.\r
+// They have been checked into the detail directory because\r
+// there are some graph algorithms that use these functions.\r
+\r
+#include <algorithm>\r
+#include <vector>\r
+\r
+namespace boost {\r
+\r
+  template <typename Iter1, typename Iter2>\r
+  Iter1 begin(const std::pair<Iter1, Iter2>& p) { return p.first; }\r
+\r
+  template <typename Iter1, typename Iter2>\r
+  Iter2 end(const std::pair<Iter1, Iter2>& p) { return p.second; }\r
+\r
+  template <typename Iter1, typename Iter2>\r
+  typename boost::detail::iterator_traits<Iter1>::difference_type\r
+  size(const std::pair<Iter1, Iter2>& p) {\r
+    return std::distance(p.first, p.second);\r
+  }\r
+\r
+#if 0\r
+  // These seem to interfere with the std::pair overloads :(\r
+  template <typename Container>\r
+  typename Container::iterator\r
+  begin(Container& c) { return c.begin(); }\r
+\r
+  template <typename Container>\r
+  typename Container::const_iterator\r
+  begin(const Container& c) { return c.begin(); }\r
+\r
+  template <typename Container>\r
+  typename Container::iterator\r
+  end(Container& c) { return c.end(); }\r
+\r
+  template <typename Container>\r
+  typename Container::const_iterator\r
+  end(const Container& c) { return c.end(); }\r
+\r
+  template <typename Container>\r
+  typename Container::size_type\r
+  size(const Container& c) { return c.size(); }\r
+#else\r
+  template <typename T>\r
+  typename std::vector<T>::iterator\r
+  begin(std::vector<T>& c) { return c.begin(); }\r
+\r
+  template <typename T>\r
+  typename std::vector<T>::const_iterator\r
+  begin(const std::vector<T>& c) { return c.begin(); }\r
+\r
+  template <typename T>\r
+  typename std::vector<T>::iterator\r
+  end(std::vector<T>& c) { return c.end(); }\r
+\r
+  template <typename T>\r
+  typename std::vector<T>::const_iterator\r
+  end(const std::vector<T>& c) { return c.end(); }\r
+\r
+  template <typename T>\r
+  typename std::vector<T>::size_type\r
+  size(const std::vector<T>& c) { return c.size(); }\r
+#endif\r
+  \r
+  template <class ForwardIterator, class T>\r
+  void iota(ForwardIterator first, ForwardIterator last, T value)\r
+  {\r
+    for (; first != last; ++first, ++value)\r
+      *first = value;\r
+  }\r
+  template <typename Container, typename T>\r
+  void iota(Container& c, const T& value)\r
+  {\r
+    iota(begin(c), end(c), value);\r
+  }\r
\r
+  // Also do version with 2nd container?\r
+  template <typename Container, typename OutIter>\r
+  OutIter copy(const Container& c, OutIter result) {\r
+    return std::copy(begin(c), end(c), result);\r
+  }\r
+\r
+  template <typename Container1, typename Container2>\r
+  bool equal(const Container1& c1, const Container2& c2)\r
+  {\r
+    if (size(c1) != size(c2))\r
+      return false;\r
+    return std::equal(begin(c1), end(c1), begin(c2));\r
+  }\r
+\r
+  template <typename Container>\r
+  void sort(Container& c) { std::sort(begin(c), end(c)); }\r
+\r
+  template <typename Container, typename Predicate>\r
+  void sort(Container& c, const Predicate& p) { \r
+    std::sort(begin(c), end(c), p);\r
+  }\r
+\r
+  template <typename Container>\r
+  void stable_sort(Container& c) { std::stable_sort(begin(c), end(c)); }\r
+\r
+  template <typename Container, typename Predicate>\r
+  void stable_sort(Container& c, const Predicate& p) { \r
+    std::stable_sort(begin(c), end(c), p);\r
+  }\r
+\r
+  template <typename InputIterator, typename Predicate>\r
+  bool any_if(InputIterator first, InputIterator last, Predicate p)\r
+  {\r
+    return std::find_if(first, last, p) != last;\r
+  }\r
+  template <typename Container, typename Predicate>\r
+  bool any_if(const Container& c, Predicate p)\r
+  {\r
+    return any_if(begin(c), end(c), p);\r
+  }\r
+\r
+  template <typename InputIterator, typename T>\r
+  bool container_contains(InputIterator first, InputIterator last, T value)\r
+  {\r
+    return std::find(first, last, value) != last;\r
+  }\r
+  template <typename Container, typename T>\r
+  bool container_contains(const Container& c, const T& value)\r
+  {\r
+    return container_contains(begin(c), end(c), value);\r
+  }\r
+\r
+  template <typename Container, typename T>\r
+  std::size_t count(const Container& c, const T& value)\r
+  {\r
+    return std::count(begin(c), end(c), value);\r
+  }\r
+\r
+  template <typename Container, typename Predicate>\r
+  std::size_t count_if(const Container& c, Predicate p)\r
+  {\r
+    return std::count_if(begin(c), end(c), p);\r
+  }\r
+\r
+  template <typename ForwardIterator>\r
+  bool is_sorted(ForwardIterator first, ForwardIterator last)\r
+  {\r
+    if (first == last)\r
+      return true;\r
+\r
+    ForwardIterator next = first;\r
+    for (++next; next != last; first = next, ++next) {\r
+      if (*next < *first)\r
+        return false;\r
+    }\r
+\r
+    return true;\r
+  }\r
+\r
+  template <typename ForwardIterator, typename StrictWeakOrdering>\r
+  bool is_sorted(ForwardIterator first, ForwardIterator last,\r
+                 StrictWeakOrdering comp)\r
+  {\r
+    if (first == last)\r
+      return true;\r
+\r
+    ForwardIterator next = first;\r
+    for (++next; next != last; first = next, ++next) {\r
+      if (comp(*next, *first))\r
+        return false;\r
+    }\r
+\r
+    return true;\r
+  }\r
+\r
+  template <typename Container>\r
+  bool is_sorted(const Container& c)\r
+  {\r
+    return is_sorted(begin(c), end(c));\r
+  }\r
+\r
+  template <typename Container, typename StrictWeakOrdering>\r
+  bool is_sorted(const Container& c, StrictWeakOrdering comp)\r
+  {\r
+    return is_sorted(begin(c), end(c), comp);\r
+  }\r
+\r
+} // namespace boost\r
+\r
+#endif // BOOST_ALGORITHM_HPP\r
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 (file)
index 0000000..dfecd72
--- /dev/null
@@ -0,0 +1,212 @@
+/* Copyright 2003-2009 Joaquin M Lopez Munoz.\r
+ * Distributed under the Boost Software License, Version 1.0.\r
+ * (See accompanying file LICENSE_1_0.txt or copy at\r
+ * http://www.boost.org/LICENSE_1_0.txt)\r
+ *\r
+ * See Boost website at http://www.boost.org/\r
+ */\r
+\r
+#ifndef BOOST_DETAIL_ALLOCATOR_UTILITIES_HPP\r
+#define BOOST_DETAIL_ALLOCATOR_UTILITIES_HPP\r
+\r
+#include <boost/config.hpp> /* keep it first to prevent nasty warns in MSVC */\r
+#include <boost/detail/workaround.hpp>\r
+#include <boost/mpl/aux_/msvc_never_true.hpp>\r
+#include <boost/mpl/eval_if.hpp>\r
+#include <boost/type_traits/is_same.hpp>\r
+#include <cstddef>\r
+#include <memory>\r
+#include <new>\r
+\r
+namespace boost{\r
+\r
+namespace detail{\r
+\r
+/* Allocator adaption layer. Some stdlibs provide allocators without rebind\r
+ * and template ctors. These facilities are simulated with the external\r
+ * template class rebind_to and the aid of partial_std_allocator_wrapper.\r
+ */\r
+\r
+namespace allocator{\r
+\r
+/* partial_std_allocator_wrapper inherits the functionality of a std\r
+ * allocator while providing a templatized ctor and other bits missing\r
+ * in some stdlib implementation or another.\r
+ */\r
+\r
+template<typename Type>\r
+class partial_std_allocator_wrapper:public std::allocator<Type>\r
+{\r
+public:\r
+  /* Oddly enough, STLport does not define std::allocator<void>::value_type\r
+   * when configured to work without partial template specialization.\r
+   * No harm in supplying the definition here unconditionally.\r
+   */\r
+\r
+  typedef Type value_type;\r
+\r
+  partial_std_allocator_wrapper(){};\r
+\r
+  template<typename Other>\r
+  partial_std_allocator_wrapper(const partial_std_allocator_wrapper<Other>&){}\r
+\r
+  partial_std_allocator_wrapper(const std::allocator<Type>& x):\r
+    std::allocator<Type>(x)\r
+  {\r
+  };\r
+\r
+#if defined(BOOST_DINKUMWARE_STDLIB)\r
+  /* Dinkumware guys didn't provide a means to call allocate() without\r
+   * supplying a hint, in disagreement with the standard.\r
+   */\r
+\r
+  Type* allocate(std::size_t n,const void* hint=0)\r
+  {\r
+    std::allocator<Type>& a=*this;\r
+    return a.allocate(n,hint);\r
+  }\r
+#endif\r
+\r
+};\r
+\r
+/* Detects whether a given allocator belongs to a defective stdlib not\r
+ * having the required member templates.\r
+ * Note that it does not suffice to check the Boost.Config stdlib\r
+ * macros, as the user might have passed a custom, compliant allocator.\r
+ * The checks also considers partial_std_allocator_wrapper to be\r
+ * a standard defective allocator.\r
+ */\r
+\r
+#if defined(BOOST_NO_STD_ALLOCATOR)&&\\r
+  (defined(BOOST_HAS_PARTIAL_STD_ALLOCATOR)||defined(BOOST_DINKUMWARE_STDLIB))\r
+\r
+template<typename Allocator>\r
+struct is_partial_std_allocator\r
+{\r
+  BOOST_STATIC_CONSTANT(bool,\r
+    value=\r
+      (is_same<\r
+        std::allocator<BOOST_DEDUCED_TYPENAME Allocator::value_type>,\r
+        Allocator\r
+      >::value)||\r
+      (is_same<\r
+        partial_std_allocator_wrapper<\r
+          BOOST_DEDUCED_TYPENAME Allocator::value_type>,\r
+        Allocator\r
+      >::value));\r
+};\r
+\r
+#else\r
+\r
+template<typename Allocator>\r
+struct is_partial_std_allocator\r
+{\r
+  BOOST_STATIC_CONSTANT(bool,value=false);\r
+};\r
+\r
+#endif\r
+\r
+/* rebind operations for defective std allocators */\r
+\r
+template<typename Allocator,typename Type>\r
+struct partial_std_allocator_rebind_to\r
+{\r
+  typedef partial_std_allocator_wrapper<Type> type;\r
+};\r
+\r
+/* rebind operation in all other cases */\r
+\r
+#if BOOST_WORKAROUND(BOOST_MSVC,<1300)\r
+/* Workaround for a problem in MSVC with dependent template typedefs\r
+ * when doing rebinding of allocators.\r
+ * Modeled after <boost/mpl/aux_/msvc_dtw.hpp> (thanks, Aleksey!)\r
+ */\r
+\r
+template<typename Allocator>\r
+struct rebinder\r
+{\r
+  template<bool> struct fake_allocator:Allocator{};\r
+  template<> struct fake_allocator<true>\r
+  {\r
+    template<typename Type> struct rebind{};\r
+  };\r
+\r
+  template<typename Type>\r
+  struct result:\r
+    fake_allocator<mpl::aux::msvc_never_true<Allocator>::value>::\r
+      template rebind<Type>\r
+  {\r
+  };\r
+};\r
+#else\r
+template<typename Allocator>\r
+struct rebinder\r
+{\r
+  template<typename Type>\r
+  struct result\r
+  {\r
+      typedef typename Allocator::BOOST_NESTED_TEMPLATE \r
+          rebind<Type>::other other;\r
+  };\r
+};\r
+#endif\r
+\r
+template<typename Allocator,typename Type>\r
+struct compliant_allocator_rebind_to\r
+{\r
+  typedef typename rebinder<Allocator>::\r
+      BOOST_NESTED_TEMPLATE result<Type>::other type;\r
+};\r
+\r
+/* rebind front-end */\r
+\r
+template<typename Allocator,typename Type>\r
+struct rebind_to:\r
+  mpl::eval_if_c<\r
+    is_partial_std_allocator<Allocator>::value,\r
+    partial_std_allocator_rebind_to<Allocator,Type>,\r
+    compliant_allocator_rebind_to<Allocator,Type>\r
+  >\r
+{\r
+};\r
+\r
+/* allocator-independent versions of construct and destroy */\r
+\r
+template<typename Type>\r
+void construct(void* p,const Type& t)\r
+{\r
+  new (p) Type(t);\r
+}\r
+\r
+#if BOOST_WORKAROUND(BOOST_MSVC,BOOST_TESTED_AT(1500))\r
+/* MSVC++ issues spurious warnings about unreferencend formal parameters\r
+ * in destroy<Type> when Type is a class with trivial dtor.\r
+ */\r
+\r
+#pragma warning(push)\r
+#pragma warning(disable:4100)  \r
+#endif\r
+\r
+template<typename Type>\r
+void destroy(const Type* p)\r
+{\r
+\r
+#if BOOST_WORKAROUND(__SUNPRO_CC,BOOST_TESTED_AT(0x590))\r
+  const_cast<Type*>(p)->~Type();\r
+#else\r
+  p->~Type();\r
+#endif\r
+\r
+}\r
+\r
+#if BOOST_WORKAROUND(BOOST_MSVC,BOOST_TESTED_AT(1500))\r
+#pragma warning(pop)\r
+#endif\r
+\r
+} /* namespace boost::detail::allocator */\r
+\r
+} /* namespace boost::detail */\r
+\r
+} /* namespace boost */\r
+\r
+#endif\r
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 (file)
index 0000000..49becbe
--- /dev/null
@@ -0,0 +1,21 @@
+#ifndef BOOST_DETAIL_ATOMIC_COUNT_HPP_INCLUDED\r
+#define BOOST_DETAIL_ATOMIC_COUNT_HPP_INCLUDED\r
+\r
+// MS compatible compilers support #pragma once\r
+\r
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)\r
+# pragma once\r
+#endif\r
+\r
+//\r
+//  boost/detail/atomic_count.hpp - thread/SMP safe reference counter\r
+//\r
+//  Copyright (c) 2001, 2002 Peter Dimov and Multi Media Ltd.\r
+//\r
+//  Distributed under the Boost Software License, Version 1.0.\r
+//  See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt\r
+\r
+#include <boost/smart_ptr/detail/atomic_count.hpp>\r
+\r
+#endif // #ifndef BOOST_DETAIL_ATOMIC_COUNT_HPP_INCLUDED\r
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 (file)
index 0000000..8242b70
--- /dev/null
@@ -0,0 +1,216 @@
+// Copyright (c)  2000 David Abrahams. \r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+// \r
+// Copyright (c) 1994\r
+// Hewlett-Packard Company\r
+// \r
+// Permission to use, copy, modify, distribute and sell this software\r
+// and its documentation for any purpose is hereby granted without fee,\r
+// provided that the above copyright notice appear in all copies and\r
+// that both that copyright notice and this permission notice appear\r
+// in supporting documentation.  Hewlett-Packard Company makes no\r
+// representations about the suitability of this software for any\r
+// purpose.  It is provided "as is" without express or implied warranty.\r
+// \r
+// Copyright (c) 1996\r
+// Silicon Graphics Computer Systems, Inc.\r
+// \r
+// Permission to use, copy, modify, distribute and sell this software\r
+// and its documentation for any purpose is hereby granted without fee,\r
+// provided that the above copyright notice appear in all copies and\r
+// that both that copyright notice and this permission notice appear\r
+// in supporting documentation.  Silicon Graphics makes no\r
+// representations about the suitability of this software for any\r
+// purpose.  It is provided "as is" without express or implied warranty.\r
+// \r
+#ifndef BINARY_SEARCH_DWA_122600_H_\r
+# define BINARY_SEARCH_DWA_122600_H_\r
+\r
+# include <boost/detail/iterator.hpp>\r
+# include <utility>\r
+\r
+namespace boost { namespace detail {\r
+\r
+template <class ForwardIter, class Tp>\r
+ForwardIter lower_bound(ForwardIter first, ForwardIter last,\r
+                             const Tp& val) \r
+{\r
+    typedef detail::iterator_traits<ForwardIter> traits;\r
+    \r
+    typename traits::difference_type len = boost::detail::distance(first, last);\r
+    typename traits::difference_type half;\r
+    ForwardIter middle;\r
+\r
+    while (len > 0) {\r
+      half = len >> 1;\r
+      middle = first;\r
+      std::advance(middle, half);\r
+      if (*middle < val) {\r
+        first = middle;\r
+        ++first;\r
+        len = len - half - 1;\r
+      }\r
+      else\r
+        len = half;\r
+    }\r
+    return first;\r
+}\r
+\r
+template <class ForwardIter, class Tp, class Compare>\r
+ForwardIter lower_bound(ForwardIter first, ForwardIter last,\r
+                              const Tp& val, Compare comp)\r
+{\r
+  typedef detail::iterator_traits<ForwardIter> traits;\r
+\r
+  typename traits::difference_type len = boost::detail::distance(first, last);\r
+  typename traits::difference_type half;\r
+  ForwardIter middle;\r
+\r
+  while (len > 0) {\r
+    half = len >> 1;\r
+    middle = first;\r
+    std::advance(middle, half);\r
+    if (comp(*middle, val)) {\r
+      first = middle;\r
+      ++first;\r
+      len = len - half - 1;\r
+    }\r
+    else\r
+      len = half;\r
+  }\r
+  return first;\r
+}\r
+\r
+template <class ForwardIter, class Tp>\r
+ForwardIter upper_bound(ForwardIter first, ForwardIter last,\r
+                           const Tp& val)\r
+{\r
+  typedef detail::iterator_traits<ForwardIter> traits;\r
+\r
+  typename traits::difference_type len = boost::detail::distance(first, last);\r
+  typename traits::difference_type half;\r
+  ForwardIter middle;\r
+\r
+  while (len > 0) {\r
+    half = len >> 1;\r
+    middle = first;\r
+    std::advance(middle, half);\r
+    if (val < *middle)\r
+      len = half;\r
+    else {\r
+      first = middle;\r
+      ++first;\r
+      len = len - half - 1;\r
+    }\r
+  }\r
+  return first;\r
+}\r
+\r
+template <class ForwardIter, class Tp, class Compare>\r
+ForwardIter upper_bound(ForwardIter first, ForwardIter last,\r
+                           const Tp& val, Compare comp)\r
+{\r
+  typedef detail::iterator_traits<ForwardIter> traits;\r
+\r
+  typename traits::difference_type len = boost::detail::distance(first, last);\r
+  typename traits::difference_type half;\r
+  ForwardIter middle;\r
+\r
+  while (len > 0) {\r
+    half = len >> 1;\r
+    middle = first;\r
+    std::advance(middle, half);\r
+    if (comp(val, *middle))\r
+      len = half;\r
+    else {\r
+      first = middle;\r
+      ++first;\r
+      len = len - half - 1;\r
+    }\r
+  }\r
+  return first;\r
+}\r
+\r
+template <class ForwardIter, class Tp>\r
+std::pair<ForwardIter, ForwardIter>\r
+equal_range(ForwardIter first, ForwardIter last, const Tp& val)\r
+{\r
+  typedef detail::iterator_traits<ForwardIter> traits;\r
+\r
+  typename traits::difference_type len = boost::detail::distance(first, last);\r
+  typename traits::difference_type half;\r
+  ForwardIter middle, left, right;\r
+\r
+  while (len > 0) {\r
+    half = len >> 1;\r
+    middle = first;\r
+    std::advance(middle, half);\r
+    if (*middle < val) {\r
+      first = middle;\r
+      ++first;\r
+      len = len - half - 1;\r
+    }\r
+    else if (val < *middle)\r
+      len = half;\r
+    else {\r
+      left = boost::detail::lower_bound(first, middle, val);\r
+      std::advance(first, len);\r
+      right = boost::detail::upper_bound(++middle, first, val);\r
+      return std::pair<ForwardIter, ForwardIter>(left, right);\r
+    }\r
+  }\r
+  return std::pair<ForwardIter, ForwardIter>(first, first);\r
+}\r
+\r
+template <class ForwardIter, class Tp, class Compare>\r
+std::pair<ForwardIter, ForwardIter>\r
+equal_range(ForwardIter first, ForwardIter last, const Tp& val,\r
+              Compare comp)\r
+{\r
+  typedef detail::iterator_traits<ForwardIter> traits;\r
+\r
+  typename traits::difference_type len = boost::detail::distance(first, last);\r
+  typename traits::difference_type half;\r
+  ForwardIter middle, left, right;\r
+\r
+  while (len > 0) {\r
+    half = len >> 1;\r
+    middle = first;\r
+    std::advance(middle, half);\r
+    if (comp(*middle, val)) {\r
+      first = middle;\r
+      ++first;\r
+      len = len - half - 1;\r
+    }\r
+    else if (comp(val, *middle))\r
+      len = half;\r
+    else {\r
+      left = boost::detail::lower_bound(first, middle, val, comp);\r
+      std::advance(first, len);\r
+      right = boost::detail::upper_bound(++middle, first, val, comp);\r
+      return std::pair<ForwardIter, ForwardIter>(left, right);\r
+    }\r
+  }\r
+  return std::pair<ForwardIter, ForwardIter>(first, first);\r
+}           \r
+\r
+template <class ForwardIter, class Tp>\r
+bool binary_search(ForwardIter first, ForwardIter last,\r
+                   const Tp& val) {\r
+  ForwardIter i = boost::detail::lower_bound(first, last, val);\r
+  return i != last && !(val < *i);\r
+}\r
+\r
+template <class ForwardIter, class Tp, class Compare>\r
+bool binary_search(ForwardIter first, ForwardIter last,\r
+                   const Tp& val,\r
+                   Compare comp) {\r
+  ForwardIter i = boost::detail::lower_bound(first, last, val, comp);\r
+  return i != last && !comp(val, *i);\r
+}\r
+\r
+}} // namespace boost::detail\r
+\r
+#endif // BINARY_SEARCH_DWA_122600_H_\r
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 (file)
index 0000000..e0296ba
--- /dev/null
@@ -0,0 +1,164 @@
+//  (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.\r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/utility for most recent version including documentation.\r
+\r
+// call_traits: defines typedefs for function usage\r
+// (see libs/utility/call_traits.htm)\r
+\r
+/* Release notes:\r
+   23rd July 2000:\r
+      Fixed array specialization. (JM)\r
+      Added Borland specific fixes for reference types\r
+      (issue raised by Steve Cleary).\r
+*/\r
+\r
+#ifndef BOOST_DETAIL_CALL_TRAITS_HPP\r
+#define BOOST_DETAIL_CALL_TRAITS_HPP\r
+\r
+#ifndef BOOST_CONFIG_HPP\r
+#include <boost/config.hpp>\r
+#endif\r
+#include <cstddef>\r
+\r
+#include <boost/type_traits/is_arithmetic.hpp>\r
+#include <boost/type_traits/is_pointer.hpp>\r
+#include <boost/detail/workaround.hpp>\r
+\r
+namespace boost{\r
+\r
+namespace detail{\r
+\r
+template <typename T, bool small_>\r
+struct ct_imp2\r
+{\r
+   typedef const T& param_type;\r
+};\r
+\r
+template <typename T>\r
+struct ct_imp2<T, true>\r
+{\r
+   typedef const T param_type;\r
+};\r
+\r
+template <typename T, bool isp, bool b1>\r
+struct ct_imp\r
+{\r
+   typedef const T& param_type;\r
+};\r
+\r
+template <typename T, bool isp>\r
+struct ct_imp<T, isp, true>\r
+{\r
+   typedef typename ct_imp2<T, sizeof(T) <= sizeof(void*)>::param_type param_type;\r
+};\r
+\r
+template <typename T, bool b1>\r
+struct ct_imp<T, true, b1>\r
+{\r
+   typedef const T param_type;\r
+};\r
+\r
+}\r
+\r
+template <typename T>\r
+struct call_traits\r
+{\r
+public:\r
+   typedef T value_type;\r
+   typedef T& reference;\r
+   typedef const T& const_reference;\r
+   //\r
+   // C++ Builder workaround: we should be able to define a compile time\r
+   // constant and pass that as a single template parameter to ct_imp<T,bool>,\r
+   // however compiler bugs prevent this - instead pass three bool's to\r
+   // ct_imp<T,bool,bool,bool> and add an extra partial specialisation\r
+   // of ct_imp to handle the logic. (JM)\r
+   typedef typename boost::detail::ct_imp<\r
+      T,\r
+      ::boost::is_pointer<T>::value,\r
+      ::boost::is_arithmetic<T>::value\r
+   >::param_type param_type;\r
+};\r
+\r
+template <typename T>\r
+struct call_traits<T&>\r
+{\r
+   typedef T& value_type;\r
+   typedef T& reference;\r
+   typedef const T& const_reference;\r
+   typedef T& param_type;  // hh removed const\r
+};\r
+\r
+#if BOOST_WORKAROUND( __BORLANDC__,  < 0x5A0 )\r
+// these are illegal specialisations; cv-qualifies applied to\r
+// references have no effect according to [8.3.2p1],\r
+// C++ Builder requires them though as it treats cv-qualified\r
+// references as distinct types...\r
+template <typename T>\r
+struct call_traits<T&const>\r
+{\r
+   typedef T& value_type;\r
+   typedef T& reference;\r
+   typedef const T& const_reference;\r
+   typedef T& param_type;  // hh removed const\r
+};\r
+template <typename T>\r
+struct call_traits<T&volatile>\r
+{\r
+   typedef T& value_type;\r
+   typedef T& reference;\r
+   typedef const T& const_reference;\r
+   typedef T& param_type;  // hh removed const\r
+};\r
+template <typename T>\r
+struct call_traits<T&const volatile>\r
+{\r
+   typedef T& value_type;\r
+   typedef T& reference;\r
+   typedef const T& const_reference;\r
+   typedef T& param_type;  // hh removed const\r
+};\r
+\r
+template <typename T>\r
+struct call_traits< T * >\r
+{\r
+   typedef T * value_type;\r
+   typedef T * & reference;\r
+   typedef T * const & const_reference;\r
+   typedef T * const param_type;  // hh removed const\r
+};\r
+#endif\r
+#if !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)\r
+template <typename T, std::size_t N>\r
+struct call_traits<T [N]>\r
+{\r
+private:\r
+   typedef T array_type[N];\r
+public:\r
+   // degrades array to pointer:\r
+   typedef const T* value_type;\r
+   typedef array_type& reference;\r
+   typedef const array_type& const_reference;\r
+   typedef const T* const param_type;\r
+};\r
+\r
+template <typename T, std::size_t N>\r
+struct call_traits<const T [N]>\r
+{\r
+private:\r
+   typedef const T array_type[N];\r
+public:\r
+   // degrades array to pointer:\r
+   typedef const T* value_type;\r
+   typedef array_type& reference;\r
+   typedef const array_type& const_reference;\r
+   typedef const T* const param_type;\r
+};\r
+#endif\r
+\r
+}\r
+\r
+#endif // BOOST_DETAIL_CALL_TRAITS_HPP\r
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 (file)
index 0000000..f06a117
--- /dev/null
@@ -0,0 +1,146 @@
+//  boost/catch_exceptions.hpp -----------------------------------------------//\r
+\r
+//  Copyright Beman Dawes 1995-2001.  Distributed under the Boost\r
+//  Software License, Version 1.0. (See accompanying file\r
+//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+//  See http://www.boost.org/libs/test for documentation.\r
+\r
+//  Revision History\r
+//   13 Jun 01 report_exception() made inline. (John Maddock, Jesse Jones)\r
+//   26 Feb 01 Numerous changes suggested during formal review. (Beman)\r
+//   25 Jan 01 catch_exceptions.hpp code factored out of cpp_main.cpp.\r
+//   22 Jan 01 Remove test_tools dependencies to reduce coupling.\r
+//    5 Nov 00 Initial boost version (Beman Dawes)\r
+\r
+#ifndef BOOST_CATCH_EXCEPTIONS_HPP\r
+#define BOOST_CATCH_EXCEPTIONS_HPP\r
+\r
+//  header dependencies are deliberately restricted to the standard library\r
+//  to reduce coupling to other boost libraries.\r
+#include <string>             // for string\r
+#include <new>                // for bad_alloc\r
+#include <typeinfo>           // for bad_cast, bad_typeid\r
+#include <exception>          // for exception, bad_exception\r
+#include <stdexcept>          // for std exception hierarchy\r
+#include <boost/cstdlib.hpp>  // for exit codes\r
+# if __GNUC__ != 2 || __GNUC_MINOR__ > 96\r
+#   include <ostream>         // for ostream\r
+# else\r
+#   include <iostream> // workaround GNU missing ostream header\r
+# endif\r
+\r
+# if defined(__BORLANDC__) && (__BORLANDC__ <= 0x0551)\r
+#   define BOOST_BUILT_IN_EXCEPTIONS_MISSING_WHAT \r
+# endif\r
+\r
+#if defined(MPW_CPLUS) && (MPW_CPLUS <= 0x890)\r
+#   define BOOST_BUILT_IN_EXCEPTIONS_MISSING_WHAT \r
+    namespace std { class bad_typeid { }; }\r
+# endif\r
+\r
+namespace boost\r
+{\r
+\r
+  namespace detail\r
+  {\r
+    //  A separate reporting function was requested during formal review.\r
+    inline void report_exception( std::ostream & os, \r
+                                  const char * name, const char * info )\r
+      { os << "\n** uncaught exception: " << name << " " << info << std::endl; }\r
+  }\r
+\r
+  //  catch_exceptions  ------------------------------------------------------//\r
+\r
+  template< class Generator >  // Generator is function object returning int\r
+  int catch_exceptions( Generator function_object,\r
+                        std::ostream & out, std::ostream & err )\r
+  {\r
+    int result = 0;               // quiet compiler warnings\r
+    bool exception_thrown = true; // avoid setting result for each excptn type\r
+\r
+#ifndef BOOST_NO_EXCEPTIONS\r
+    try\r
+    {\r
+#endif\r
+      result = function_object();\r
+      exception_thrown = false;\r
+#ifndef BOOST_NO_EXCEPTIONS\r
+    }\r
+\r
+    //  As a result of hard experience with strangely interleaved output\r
+    //  under some compilers, there is a lot of use of endl in the code below\r
+    //  where a simple '\n' might appear to do.\r
+\r
+    //  The rules for catch & arguments are a bit different from function \r
+    //  arguments (ISO 15.3 paragraphs 18 & 19). Apparently const isn't\r
+    //  required, but it doesn't hurt and some programmers ask for it.\r
+\r
+    catch ( const char * ex )\r
+      { detail::report_exception( out, "", ex ); }\r
+    catch ( const std::string & ex )\r
+      { detail::report_exception( out, "", ex.c_str() ); }\r
+\r
+    //  std:: exceptions\r
+    catch ( const std::bad_alloc & ex )\r
+      { detail::report_exception( out, "std::bad_alloc:", ex.what() ); }\r
+\r
+# ifndef BOOST_BUILT_IN_EXCEPTIONS_MISSING_WHAT\r
+    catch ( const std::bad_cast & ex )\r
+      { detail::report_exception( out, "std::bad_cast:", ex.what() ); }\r
+    catch ( const std::bad_typeid & ex )\r
+      { detail::report_exception( out, "std::bad_typeid:", ex.what() ); }\r
+# else\r
+    catch ( const std::bad_cast & )\r
+      { detail::report_exception( out, "std::bad_cast", "" ); }\r
+    catch ( const std::bad_typeid & )\r
+      { detail::report_exception( out, "std::bad_typeid", "" ); }\r
+# endif\r
+\r
+    catch ( const std::bad_exception & ex )\r
+      { detail::report_exception( out, "std::bad_exception:", ex.what() ); }\r
+    catch ( const std::domain_error & ex )\r
+      { detail::report_exception( out, "std::domain_error:", ex.what() ); }\r
+    catch ( const std::invalid_argument & ex )\r
+      { detail::report_exception( out, "std::invalid_argument:", ex.what() ); }\r
+    catch ( const std::length_error & ex )\r
+      { detail::report_exception( out, "std::length_error:", ex.what() ); }\r
+    catch ( const std::out_of_range & ex )\r
+      { detail::report_exception( out, "std::out_of_range:", ex.what() ); }\r
+    catch ( const std::range_error & ex )\r
+      { detail::report_exception( out, "std::range_error:", ex.what() ); }\r
+    catch ( const std::overflow_error & ex )\r
+      { detail::report_exception( out, "std::overflow_error:", ex.what() ); }\r
+    catch ( const std::underflow_error & ex )\r
+      { detail::report_exception( out, "std::underflow_error:", ex.what() ); }\r
+    catch ( const std::logic_error & ex )\r
+      { detail::report_exception( out, "std::logic_error:", ex.what() ); }\r
+    catch ( const std::runtime_error & ex )\r
+      { detail::report_exception( out, "std::runtime_error:", ex.what() ); }\r
+    catch ( const std::exception & ex )\r
+      { detail::report_exception( out, "std::exception:", ex.what() ); }\r
+\r
+    catch ( ... )\r
+      { detail::report_exception( out, "unknown exception", "" ); }\r
+#endif // BOOST_NO_EXCEPTIONS\r
+\r
+    if ( exception_thrown ) result = boost::exit_exception_failure;\r
+\r
+    if ( result != 0 && result != exit_success )\r
+    {\r
+      out << std::endl << "**** returning with error code "\r
+                << result << std::endl;\r
+      err\r
+        << "**********  errors detected; see stdout for details  ***********"\r
+        << std::endl;\r
+    }\r
+#if !defined(BOOST_NO_CPP_MAIN_SUCCESS_MESSAGE)\r
+    else { out << std::flush << "no errors detected" << std::endl; }\r
+#endif\r
+    return result;\r
+  } // catch_exceptions\r
+\r
+} // boost\r
+\r
+#endif  // BOOST_CATCH_EXCEPTIONS_HPP\r
+\r
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 (file)
index 0000000..7d9c518
--- /dev/null
@@ -0,0 +1,443 @@
+//  (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.\r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/utility for most recent version including documentation.\r
+\r
+// compressed_pair: pair that "compresses" empty members\r
+// (see libs/utility/compressed_pair.htm)\r
+//\r
+// JM changes 25 Jan 2004:\r
+// For the case where T1 == T2 and both are empty, then first() and second()\r
+// should return different objects.\r
+// JM changes 25 Jan 2000:\r
+// Removed default arguments from compressed_pair_switch to get\r
+// C++ Builder 4 to accept them\r
+// rewriten swap to get gcc and C++ builder to compile.\r
+// added partial specialisations for case T1 == T2 to avoid duplicate constructor defs.\r
+\r
+#ifndef BOOST_DETAIL_COMPRESSED_PAIR_HPP\r
+#define BOOST_DETAIL_COMPRESSED_PAIR_HPP\r
+\r
+#include <algorithm>\r
+\r
+#include <boost/type_traits/remove_cv.hpp>\r
+#include <boost/type_traits/is_empty.hpp>\r
+#include <boost/type_traits/is_same.hpp>\r
+#include <boost/call_traits.hpp>\r
+\r
+#ifdef BOOST_MSVC\r
+# pragma warning(push)\r
+# pragma warning(disable:4512)\r
+#endif \r
+namespace boost\r
+{\r
+\r
+template <class T1, class T2>\r
+class compressed_pair;\r
+\r
+\r
+// compressed_pair\r
+\r
+namespace details\r
+{\r
+   // JM altered 26 Jan 2000:\r
+   template <class T1, class T2, bool IsSame, bool FirstEmpty, bool SecondEmpty>\r
+   struct compressed_pair_switch;\r
+\r
+   template <class T1, class T2>\r
+   struct compressed_pair_switch<T1, T2, false, false, false>\r
+      {static const int value = 0;};\r
+\r
+   template <class T1, class T2>\r
+   struct compressed_pair_switch<T1, T2, false, true, true>\r
+      {static const int value = 3;};\r
+\r
+   template <class T1, class T2>\r
+   struct compressed_pair_switch<T1, T2, false, true, false>\r
+      {static const int value = 1;};\r
+\r
+   template <class T1, class T2>\r
+   struct compressed_pair_switch<T1, T2, false, false, true>\r
+      {static const int value = 2;};\r
+\r
+   template <class T1, class T2>\r
+   struct compressed_pair_switch<T1, T2, true, true, true>\r
+      {static const int value = 4;};\r
+\r
+   template <class T1, class T2>\r
+   struct compressed_pair_switch<T1, T2, true, false, false>\r
+      {static const int value = 5;};\r
+\r
+   template <class T1, class T2, int Version> class compressed_pair_imp;\r
+\r
+#ifdef __GNUC__\r
+   // workaround for GCC (JM):\r
+   using std::swap;\r
+#endif\r
+   //\r
+   // can't call unqualified swap from within classname::swap\r
+   // as Koenig lookup rules will find only the classname::swap\r
+   // member function not the global declaration, so use cp_swap\r
+   // as a forwarding function (JM):\r
+   template <typename T>\r
+   inline void cp_swap(T& t1, T& t2)\r
+   {\r
+#ifndef __GNUC__\r
+      using std::swap;\r
+#endif\r
+      swap(t1, t2);\r
+   }\r
+\r
+   // 0    derive from neither\r
+\r
+   template <class T1, class T2>\r
+   class compressed_pair_imp<T1, T2, 0>\r
+   {\r
+   public:\r
+      typedef T1                                                 first_type;\r
+      typedef T2                                                 second_type;\r
+      typedef typename call_traits<first_type>::param_type       first_param_type;\r
+      typedef typename call_traits<second_type>::param_type      second_param_type;\r
+      typedef typename call_traits<first_type>::reference        first_reference;\r
+      typedef typename call_traits<second_type>::reference       second_reference;\r
+      typedef typename call_traits<first_type>::const_reference  first_const_reference;\r
+      typedef typename call_traits<second_type>::const_reference second_const_reference;\r
+\r
+      compressed_pair_imp() {} \r
+\r
+      compressed_pair_imp(first_param_type x, second_param_type y)\r
+         : first_(x), second_(y) {}\r
+\r
+      compressed_pair_imp(first_param_type x)\r
+         : first_(x) {}\r
+\r
+      compressed_pair_imp(second_param_type y)\r
+         : second_(y) {}\r
+\r
+      first_reference       first()       {return first_;}\r
+      first_const_reference first() const {return first_;}\r
+\r
+      second_reference       second()       {return second_;}\r
+      second_const_reference second() const {return second_;}\r
+\r
+      void swap(::boost::compressed_pair<T1, T2>& y)\r
+      {\r
+         cp_swap(first_, y.first());\r
+         cp_swap(second_, y.second());\r
+      }\r
+   private:\r
+      first_type first_;\r
+      second_type second_;\r
+   };\r
+\r
+   // 1    derive from T1\r
+\r
+   template <class T1, class T2>\r
+   class compressed_pair_imp<T1, T2, 1>\r
+      : protected ::boost::remove_cv<T1>::type\r
+   {\r
+   public:\r
+      typedef T1                                                 first_type;\r
+      typedef T2                                                 second_type;\r
+      typedef typename call_traits<first_type>::param_type       first_param_type;\r
+      typedef typename call_traits<second_type>::param_type      second_param_type;\r
+      typedef typename call_traits<first_type>::reference        first_reference;\r
+      typedef typename call_traits<second_type>::reference       second_reference;\r
+      typedef typename call_traits<first_type>::const_reference  first_const_reference;\r
+      typedef typename call_traits<second_type>::const_reference second_const_reference;\r
+\r
+      compressed_pair_imp() {}\r
+\r
+      compressed_pair_imp(first_param_type x, second_param_type y)\r
+         : first_type(x), second_(y) {}\r
+\r
+      compressed_pair_imp(first_param_type x)\r
+         : first_type(x) {}\r
+\r
+      compressed_pair_imp(second_param_type y)\r
+         : second_(y) {}\r
+\r
+      first_reference       first()       {return *this;}\r
+      first_const_reference first() const {return *this;}\r
+\r
+      second_reference       second()       {return second_;}\r
+      second_const_reference second() const {return second_;}\r
+\r
+      void swap(::boost::compressed_pair<T1,T2>& y)\r
+      {\r
+         // no need to swap empty base class:\r
+         cp_swap(second_, y.second());\r
+      }\r
+   private:\r
+      second_type second_;\r
+   };\r
+\r
+   // 2    derive from T2\r
+\r
+   template <class T1, class T2>\r
+   class compressed_pair_imp<T1, T2, 2>\r
+      : protected ::boost::remove_cv<T2>::type\r
+   {\r
+   public:\r
+      typedef T1                                                 first_type;\r
+      typedef T2                                                 second_type;\r
+      typedef typename call_traits<first_type>::param_type       first_param_type;\r
+      typedef typename call_traits<second_type>::param_type      second_param_type;\r
+      typedef typename call_traits<first_type>::reference        first_reference;\r
+      typedef typename call_traits<second_type>::reference       second_reference;\r
+      typedef typename call_traits<first_type>::const_reference  first_const_reference;\r
+      typedef typename call_traits<second_type>::const_reference second_const_reference;\r
+\r
+      compressed_pair_imp() {}\r
+\r
+      compressed_pair_imp(first_param_type x, second_param_type y)\r
+         : second_type(y), first_(x) {}\r
+\r
+      compressed_pair_imp(first_param_type x)\r
+         : first_(x) {}\r
+\r
+      compressed_pair_imp(second_param_type y)\r
+         : second_type(y) {}\r
+\r
+      first_reference       first()       {return first_;}\r
+      first_const_reference first() const {return first_;}\r
+\r
+      second_reference       second()       {return *this;}\r
+      second_const_reference second() const {return *this;}\r
+\r
+      void swap(::boost::compressed_pair<T1,T2>& y)\r
+      {\r
+         // no need to swap empty base class:\r
+         cp_swap(first_, y.first());\r
+      }\r
+\r
+   private:\r
+      first_type first_;\r
+   };\r
+\r
+   // 3    derive from T1 and T2\r
+\r
+   template <class T1, class T2>\r
+   class compressed_pair_imp<T1, T2, 3>\r
+      : protected ::boost::remove_cv<T1>::type,\r
+        protected ::boost::remove_cv<T2>::type\r
+   {\r
+   public:\r
+      typedef T1                                                 first_type;\r
+      typedef T2                                                 second_type;\r
+      typedef typename call_traits<first_type>::param_type       first_param_type;\r
+      typedef typename call_traits<second_type>::param_type      second_param_type;\r
+      typedef typename call_traits<first_type>::reference        first_reference;\r
+      typedef typename call_traits<second_type>::reference       second_reference;\r
+      typedef typename call_traits<first_type>::const_reference  first_const_reference;\r
+      typedef typename call_traits<second_type>::const_reference second_const_reference;\r
+\r
+      compressed_pair_imp() {}\r
+\r
+      compressed_pair_imp(first_param_type x, second_param_type y)\r
+         : first_type(x), second_type(y) {}\r
+\r
+      compressed_pair_imp(first_param_type x)\r
+         : first_type(x) {}\r
+\r
+      compressed_pair_imp(second_param_type y)\r
+         : second_type(y) {}\r
+\r
+      first_reference       first()       {return *this;}\r
+      first_const_reference first() const {return *this;}\r
+\r
+      second_reference       second()       {return *this;}\r
+      second_const_reference second() const {return *this;}\r
+      //\r
+      // no need to swap empty bases:\r
+      void swap(::boost::compressed_pair<T1,T2>&) {}\r
+   };\r
+\r
+   // JM\r
+   // 4    T1 == T2, T1 and T2 both empty\r
+   //      Originally this did not store an instance of T2 at all\r
+   //      but that led to problems beause it meant &x.first() == &x.second()\r
+   //      which is not true for any other kind of pair, so now we store an instance\r
+   //      of T2 just in case the user is relying on first() and second() returning\r
+   //      different objects (albeit both empty).\r
+   template <class T1, class T2>\r
+   class compressed_pair_imp<T1, T2, 4>\r
+      : protected ::boost::remove_cv<T1>::type\r
+   {\r
+   public:\r
+      typedef T1                                                 first_type;\r
+      typedef T2                                                 second_type;\r
+      typedef typename call_traits<first_type>::param_type       first_param_type;\r
+      typedef typename call_traits<second_type>::param_type      second_param_type;\r
+      typedef typename call_traits<first_type>::reference        first_reference;\r
+      typedef typename call_traits<second_type>::reference       second_reference;\r
+      typedef typename call_traits<first_type>::const_reference  first_const_reference;\r
+      typedef typename call_traits<second_type>::const_reference second_const_reference;\r
+\r
+      compressed_pair_imp() {}\r
+\r
+      compressed_pair_imp(first_param_type x, second_param_type y)\r
+         : first_type(x), m_second(y) {}\r
+\r
+      compressed_pair_imp(first_param_type x)\r
+         : first_type(x), m_second(x) {}\r
+\r
+      first_reference       first()       {return *this;}\r
+      first_const_reference first() const {return *this;}\r
+\r
+      second_reference       second()       {return m_second;}\r
+      second_const_reference second() const {return m_second;}\r
+\r
+      void swap(::boost::compressed_pair<T1,T2>&) {}\r
+   private:\r
+      T2 m_second;\r
+   };\r
+\r
+   // 5    T1 == T2 and are not empty:   //JM\r
+\r
+   template <class T1, class T2>\r
+   class compressed_pair_imp<T1, T2, 5>\r
+   {\r
+   public:\r
+      typedef T1                                                 first_type;\r
+      typedef T2                                                 second_type;\r
+      typedef typename call_traits<first_type>::param_type       first_param_type;\r
+      typedef typename call_traits<second_type>::param_type      second_param_type;\r
+      typedef typename call_traits<first_type>::reference        first_reference;\r
+      typedef typename call_traits<second_type>::reference       second_reference;\r
+      typedef typename call_traits<first_type>::const_reference  first_const_reference;\r
+      typedef typename call_traits<second_type>::const_reference second_const_reference;\r
+\r
+      compressed_pair_imp() {}\r
+\r
+      compressed_pair_imp(first_param_type x, second_param_type y)\r
+         : first_(x), second_(y) {}\r
+\r
+      compressed_pair_imp(first_param_type x)\r
+         : first_(x), second_(x) {}\r
+\r
+      first_reference       first()       {return first_;}\r
+      first_const_reference first() const {return first_;}\r
+\r
+      second_reference       second()       {return second_;}\r
+      second_const_reference second() const {return second_;}\r
+\r
+      void swap(::boost::compressed_pair<T1, T2>& y)\r
+      {\r
+         cp_swap(first_, y.first());\r
+         cp_swap(second_, y.second());\r
+      }\r
+   private:\r
+      first_type first_;\r
+      second_type second_;\r
+   };\r
+\r
+}  // details\r
+\r
+template <class T1, class T2>\r
+class compressed_pair\r
+   : private ::boost::details::compressed_pair_imp<T1, T2,\r
+             ::boost::details::compressed_pair_switch<\r
+                    T1,\r
+                    T2,\r
+                    ::boost::is_same<typename remove_cv<T1>::type, typename remove_cv<T2>::type>::value,\r
+                    ::boost::is_empty<T1>::value,\r
+                    ::boost::is_empty<T2>::value>::value>\r
+{\r
+private:\r
+   typedef details::compressed_pair_imp<T1, T2,\r
+             ::boost::details::compressed_pair_switch<\r
+                    T1,\r
+                    T2,\r
+                    ::boost::is_same<typename remove_cv<T1>::type, typename remove_cv<T2>::type>::value,\r
+                    ::boost::is_empty<T1>::value,\r
+                    ::boost::is_empty<T2>::value>::value> base;\r
+public:\r
+   typedef T1                                                 first_type;\r
+   typedef T2                                                 second_type;\r
+   typedef typename call_traits<first_type>::param_type       first_param_type;\r
+   typedef typename call_traits<second_type>::param_type      second_param_type;\r
+   typedef typename call_traits<first_type>::reference        first_reference;\r
+   typedef typename call_traits<second_type>::reference       second_reference;\r
+   typedef typename call_traits<first_type>::const_reference  first_const_reference;\r
+   typedef typename call_traits<second_type>::const_reference second_const_reference;\r
+\r
+            compressed_pair() : base() {}\r
+            compressed_pair(first_param_type x, second_param_type y) : base(x, y) {}\r
+   explicit compressed_pair(first_param_type x) : base(x) {}\r
+   explicit compressed_pair(second_param_type y) : base(y) {}\r
+\r
+   first_reference       first()       {return base::first();}\r
+   first_const_reference first() const {return base::first();}\r
+\r
+   second_reference       second()       {return base::second();}\r
+   second_const_reference second() const {return base::second();}\r
+\r
+   void swap(compressed_pair& y) { base::swap(y); }\r
+};\r
+\r
+// JM\r
+// Partial specialisation for case where T1 == T2:\r
+//\r
+template <class T>\r
+class compressed_pair<T, T>\r
+   : private details::compressed_pair_imp<T, T,\r
+             ::boost::details::compressed_pair_switch<\r
+                    T,\r
+                    T,\r
+                    ::boost::is_same<typename remove_cv<T>::type, typename remove_cv<T>::type>::value,\r
+                    ::boost::is_empty<T>::value,\r
+                    ::boost::is_empty<T>::value>::value>\r
+{\r
+private:\r
+   typedef details::compressed_pair_imp<T, T,\r
+             ::boost::details::compressed_pair_switch<\r
+                    T,\r
+                    T,\r
+                    ::boost::is_same<typename remove_cv<T>::type, typename remove_cv<T>::type>::value,\r
+                    ::boost::is_empty<T>::value,\r
+                    ::boost::is_empty<T>::value>::value> base;\r
+public:\r
+   typedef T                                                  first_type;\r
+   typedef T                                                  second_type;\r
+   typedef typename call_traits<first_type>::param_type       first_param_type;\r
+   typedef typename call_traits<second_type>::param_type      second_param_type;\r
+   typedef typename call_traits<first_type>::reference        first_reference;\r
+   typedef typename call_traits<second_type>::reference       second_reference;\r
+   typedef typename call_traits<first_type>::const_reference  first_const_reference;\r
+   typedef typename call_traits<second_type>::const_reference second_const_reference;\r
+\r
+            compressed_pair() : base() {}\r
+            compressed_pair(first_param_type x, second_param_type y) : base(x, y) {}\r
+#if !(defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x530))\r
+   explicit \r
+#endif\r
+      compressed_pair(first_param_type x) : base(x) {}\r
+\r
+   first_reference       first()       {return base::first();}\r
+   first_const_reference first() const {return base::first();}\r
+\r
+   second_reference       second()       {return base::second();}\r
+   second_const_reference second() const {return base::second();}\r
+\r
+   void swap(::boost::compressed_pair<T,T>& y) { base::swap(y); }\r
+};\r
+\r
+template <class T1, class T2>\r
+inline\r
+void\r
+swap(compressed_pair<T1, T2>& x, compressed_pair<T1, T2>& y)\r
+{\r
+   x.swap(y);\r
+}\r
+\r
+} // boost\r
+\r
+#ifdef BOOST_MSVC\r
+# pragma warning(pop)\r
+#endif \r
+\r
+#endif // BOOST_DETAIL_COMPRESSED_PAIR_HPP\r
+\r
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 (file)
index 0000000..04f2ac5
--- /dev/null
@@ -0,0 +1,99 @@
+\r
+// Copyright 2005-2008 Daniel James.\r
+// Distributed under the Boost Software License, Version 1.0. (See accompanying\r
+// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+#if !defined(BOOST_DETAIL_CONTAINER_FWD_HPP)\r
+#define BOOST_DETAIL_CONTAINER_FWD_HPP\r
+\r
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)\r
+# pragma once\r
+#endif\r
+\r
+#include <boost/config.hpp>\r
+#include <boost/detail/workaround.hpp>\r
+\r
+#if ((defined(__GLIBCPP__) || defined(__GLIBCXX__)) && defined(_GLIBCXX_DEBUG)) \\r
+    || BOOST_WORKAROUND(__BORLANDC__, > 0x551) \\r
+    || BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x842)) \\r
+    || (defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION))\r
+\r
+#include <deque>\r
+#include <list>\r
+#include <vector>\r
+#include <map>\r
+#include <set>\r
+#include <bitset>\r
+#include <string>\r
+#include <complex>\r
+\r
+#else\r
+\r
+#include <cstddef>\r
+\r
+#if !defined(__SGI_STL_PORT) && !defined(_STLPORT_VERSION) && \\r
+        defined(__STL_CONFIG_H)\r
+\r
+#define BOOST_CONTAINER_FWD_BAD_BITSET\r
+\r
+#if !defined(__STL_NON_TYPE_TMPL_PARAM_BUG)\r
+#define BOOST_CONTAINER_FWD_BAD_DEQUE\r
+#endif\r
+\r
+#endif\r
+\r
+#if defined(BOOST_CONTAINER_FWD_BAD_DEQUE)\r
+#include <deque>\r
+#endif\r
+\r
+#if defined(BOOST_CONTAINER_FWD_BAD_BITSET)\r
+#include <bitset>\r
+#endif\r
+\r
+#if defined(BOOST_MSVC)\r
+#pragma warning(push)\r
+#pragma warning(disable:4099) // struct/class mismatch in fwd declarations\r
+#endif\r
+\r
+namespace std\r
+{\r
+    template <class T> class allocator;\r
+    template <class charT, class traits, class Allocator> class basic_string;\r
+\r
+#if BOOST_WORKAROUND(__GNUC__, < 3) && !defined(__SGI_STL_PORT) && !defined(_STLPORT_VERSION)\r
+    template <class charT> struct string_char_traits;\r
+#else\r
+    template <class charT> struct char_traits;\r
+#endif\r
+\r
+    template <class T> class complex;\r
+}\r
+\r
+// gcc 3.4 and greater\r
+namespace std\r
+{\r
+#if !defined(BOOST_CONTAINER_FWD_BAD_DEQUE)\r
+    template <class T, class Allocator> class deque;\r
+#endif\r
+\r
+    template <class T, class Allocator> class list;\r
+    template <class T, class Allocator> class vector;\r
+    template <class Key, class T, class Compare, class Allocator> class map;\r
+    template <class Key, class T, class Compare, class Allocator>\r
+    class multimap;\r
+    template <class Key, class Compare, class Allocator> class set;\r
+    template <class Key, class Compare, class Allocator> class multiset;\r
+\r
+#if !defined(BOOST_CONTAINER_FWD_BAD_BITSET)\r
+    template <size_t N> class bitset;\r
+#endif\r
+    template <class T1, class T2> struct pair;\r
+}\r
+\r
+#if defined(BOOST_MSVC)\r
+#pragma warning(pop)\r
+#endif\r
+\r
+#endif\r
+\r
+#endif\r
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 (file)
index 0000000..437f3fc
--- /dev/null
@@ -0,0 +1,229 @@
+// -----------------------------------------------------------\r
+//\r
+//   Copyright (c) 2001-2002 Chuck Allison and Jeremy Siek\r
+//        Copyright (c) 2003-2006, 2008 Gennaro Prota\r
+//\r
+// Distributed under the Boost Software License, Version 1.0.\r
+//    (See accompanying file LICENSE_1_0.txt or copy at\r
+//          http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// -----------------------------------------------------------\r
+\r
+#ifndef BOOST_DETAIL_DYNAMIC_BITSET_HPP\r
+#define BOOST_DETAIL_DYNAMIC_BITSET_HPP\r
+\r
+#include <cstddef>\r
+#include "boost/config.hpp"\r
+#include "boost/detail/workaround.hpp"\r
+\r
+\r
+namespace boost {\r
+\r
+  namespace detail {\r
+  namespace dynamic_bitset_impl {\r
+\r
+    // Gives (read-)access to the object representation\r
+    // of an object of type T (3.9p4). CANNOT be used\r
+    // on a base sub-object\r
+    //\r
+    template <typename T>\r
+    inline const unsigned char * object_representation (T* p)\r
+    {\r
+        return static_cast<const unsigned char *>(static_cast<const void *>(p));\r
+    }\r
+\r
+    template<typename T, int amount, int width /* = default */>\r
+    struct shifter\r
+    {\r
+        static void left_shift(T & v) {\r
+            amount >= width ? (v = 0)\r
+                : (v >>= BOOST_DYNAMIC_BITSET_WRAP_CONSTANT(amount));\r
+        }\r
+    };\r
+\r
+    // ------- count function implementation --------------\r
+\r
+    typedef unsigned char byte_type;\r
+\r
+    // These two entities\r
+    //\r
+    //     enum mode { access_by_bytes, access_by_blocks };\r
+    //     template <mode> struct mode_to_type {};\r
+    //\r
+    // were removed, since the regression logs (as of 24 Aug 2008)\r
+    // showed that several compilers had troubles with recognizing\r
+    //\r
+    //   const mode m = access_by_bytes\r
+    //\r
+    // as a constant expression\r
+    //\r
+    // * So, we'll use bool, instead of enum *.\r
+    //\r
+    template <bool value>\r
+    struct value_to_type\r
+    {\r
+        value_to_type() {}\r
+    };\r
+    const bool access_by_bytes = true;\r
+    const bool access_by_blocks = false;\r
+\r
+\r
+    // the table: wrapped in a class template, so\r
+    // that it is only instantiated if/when needed\r
+    //\r
+    template <bool dummy_name = true>\r
+    struct count_table { static const byte_type table[]; };\r
+\r
+    template <>\r
+    struct count_table<false> { /* no table */ };\r
+\r
+\r
+     const unsigned int table_width = 8;\r
+     template <bool b>\r
+     const byte_type count_table<b>::table[] =\r
+     {\r
+       // Automatically generated by GPTableGen.exe v.1.0\r
+       //\r
+     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,\r
+     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,\r
+     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,\r
+     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,\r
+     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,\r
+     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,\r
+     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,\r
+     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\r
+     };\r
+\r
+\r
+     // overload for access by bytes\r
+     //\r
+\r
+     template <typename Iterator>\r
+     inline std::size_t do_count(Iterator first, std::size_t length,\r
+                                 int /*dummy param*/,\r
+                                 value_to_type<access_by_bytes>* )\r
+     {\r
+         std::size_t num = 0;\r
+         if (length)\r
+         {\r
+             const byte_type * p = object_representation(&*first);\r
+             length *= sizeof(*first);\r
+\r
+              do {\r
+                 num += count_table<>::table[*p];\r
+                 ++p;\r
+                 --length;\r
+\r
+             } while (length);\r
+         }\r
+\r
+         return num;\r
+     }\r
+\r
+\r
+     // overload for access by blocks\r
+     //\r
+     template <typename Iterator, typename ValueType>\r
+     inline std::size_t do_count(Iterator first, std::size_t length, ValueType,\r
+                                 value_to_type<access_by_blocks>*)\r
+     {\r
+         std::size_t num = 0;\r
+         while (length){\r
+\r
+             ValueType value = *first;\r
+             while (value) {\r
+                 num += count_table<>::table[value & ((1u<<table_width) - 1)];\r
+                 value >>= table_width;\r
+             }\r
+\r
+             ++first;\r
+             --length;\r
+         }\r
+\r
+         return num;\r
+     }\r
+\r
+    // -------------------------------------------------------\r
+\r
+\r
+    // Some library implementations simply return a dummy\r
+    // value such as\r
+    //\r
+    //   size_type(-1) / sizeof(T)\r
+    //\r
+    // from vector<>::max_size. This tries to get more\r
+    // meaningful info.\r
+    //\r
+    template <typename T>\r
+    typename T::size_type vector_max_size_workaround(const T & v) {\r
+\r
+      typedef typename T::allocator_type allocator_type;\r
+\r
+      const typename allocator_type::size_type alloc_max =\r
+                                                  v.get_allocator().max_size();\r
+      const typename T::size_type container_max = v.max_size();\r
+\r
+      return alloc_max < container_max?\r
+                    alloc_max :\r
+                    container_max;\r
+    }\r
+\r
+    // for static_asserts\r
+    template <typename T>\r
+    struct allowed_block_type {\r
+        enum { value = T(-1) > 0 }; // ensure T has no sign\r
+    };\r
+\r
+    template <>\r
+    struct allowed_block_type<bool> {\r
+        enum { value = false };\r
+    };\r
+\r
+\r
+    template <typename T>\r
+    struct is_numeric {\r
+        enum { value = false };\r
+    };\r
+\r
+#   define BOOST_dynamic_bitset_is_numeric(x)       \\r
+                template<>                          \\r
+                struct is_numeric< x > {            \\r
+                    enum { value = true };          \\r
+                }                                /**/\r
+\r
+    BOOST_dynamic_bitset_is_numeric(bool);\r
+    BOOST_dynamic_bitset_is_numeric(char);\r
+\r
+#if !defined(BOOST_NO_INTRINSIC_WCHAR_T)\r
+    BOOST_dynamic_bitset_is_numeric(wchar_t);\r
+#endif\r
+\r
+    BOOST_dynamic_bitset_is_numeric(signed char);\r
+    BOOST_dynamic_bitset_is_numeric(short int);\r
+    BOOST_dynamic_bitset_is_numeric(int);\r
+    BOOST_dynamic_bitset_is_numeric(long int);\r
+\r
+    BOOST_dynamic_bitset_is_numeric(unsigned char);\r
+    BOOST_dynamic_bitset_is_numeric(unsigned short);\r
+    BOOST_dynamic_bitset_is_numeric(unsigned int);\r
+    BOOST_dynamic_bitset_is_numeric(unsigned long);\r
+\r
+#if defined(BOOST_HAS_LONG_LONG)\r
+    BOOST_dynamic_bitset_is_numeric(::boost::long_long_type);\r
+    BOOST_dynamic_bitset_is_numeric(::boost::ulong_long_type);\r
+#endif\r
+\r
+    // intentionally omitted\r
+    //BOOST_dynamic_bitset_is_numeric(float);\r
+    //BOOST_dynamic_bitset_is_numeric(double);\r
+    //BOOST_dynamic_bitset_is_numeric(long double);\r
+\r
+#undef BOOST_dynamic_bitset_is_numeric\r
+\r
+  } // dynamic_bitset_impl\r
+  } // namespace detail\r
+\r
+} // namespace boost\r
+\r
+#endif // include guard\r
+\r
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 (file)
index 0000000..1a6a8a1
--- /dev/null
@@ -0,0 +1,73 @@
+// Copyright 2005 Caleb Epstein\r
+// Copyright 2006 John Maddock\r
+// Distributed under the Boost Software License, Version 1.0. (See accompany-\r
+// ing file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+/*\r
+ * Copyright (c) 1997\r
+ * Silicon Graphics Computer Systems, Inc.\r
+ *\r
+ * Permission to use, copy, modify, distribute and sell this software\r
+ * and its documentation for any purpose is hereby granted without fee,\r
+ * provided that the above copyright notice appear in all copies and\r
+ * that both that copyright notice and this permission notice appear\r
+ * in supporting documentation.  Silicon Graphics makes no\r
+ * representations about the suitability of this software for any\r
+ * purpose.  It is provided "as is" without express or implied warranty.\r
+ */\r
+\r
+/*\r
+ * Copyright notice reproduced from <boost/detail/limits.hpp>, from\r
+ * which this code was originally taken.\r
+ *\r
+ * Modified by Caleb Epstein to use <endian.h> with GNU libc and to\r
+ * defined the BOOST_ENDIAN macro.\r
+ */\r
+\r
+#ifndef BOOST_DETAIL_ENDIAN_HPP\r
+#define BOOST_DETAIL_ENDIAN_HPP\r
+\r
+// GNU libc offers the helpful header <endian.h> which defines\r
+// __BYTE_ORDER\r
+\r
+#if defined (__GLIBC__)\r
+# include <endian.h>\r
+# if (__BYTE_ORDER == __LITTLE_ENDIAN)\r
+#  define BOOST_LITTLE_ENDIAN\r
+# elif (__BYTE_ORDER == __BIG_ENDIAN)\r
+#  define BOOST_BIG_ENDIAN\r
+# elif (__BYTE_ORDER == __PDP_ENDIAN)\r
+#  define BOOST_PDP_ENDIAN\r
+# else\r
+#  error Unknown machine endianness detected.\r
+# endif\r
+# define BOOST_BYTE_ORDER __BYTE_ORDER\r
+#elif defined(_BIG_ENDIAN) && !defined(_LITTLE_ENDIAN)\r
+# define BOOST_BIG_ENDIAN\r
+# define BOOST_BYTE_ORDER 4321\r
+#elif defined(_LITTLE_ENDIAN) && !defined(_BIG_ENDIAN)\r
+# define BOOST_LITTLE_ENDIAN\r
+# define BOOST_BYTE_ORDER 1234\r
+#elif defined(__sparc) || defined(__sparc__) \\r
+   || defined(_POWER) || defined(__powerpc__) \\r
+   || defined(__ppc__) || defined(__hpux) || defined(__hppa) \\r
+   || defined(_MIPSEB) || defined(_POWER) \\r
+   || defined(__s390__)\r
+# define BOOST_BIG_ENDIAN\r
+# define BOOST_BYTE_ORDER 4321\r
+#elif defined(__i386__) || defined(__alpha__) \\r
+   || defined(__ia64) || defined(__ia64__) \\r
+   || defined(_M_IX86) || defined(_M_IA64) \\r
+   || defined(_M_ALPHA) || defined(__amd64) \\r
+   || defined(__amd64__) || defined(_M_AMD64) \\r
+   || defined(__x86_64) || defined(__x86_64__) \\r
+   || defined(_M_X64) || defined(__bfin__)\r
+\r
+# define BOOST_LITTLE_ENDIAN\r
+# define BOOST_BYTE_ORDER 1234\r
+#else\r
+# error The file boost/detail/endian.hpp needs to be set up for your CPU type.\r
+#endif\r
+\r
+\r
+#endif\r
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 (file)
index 0000000..911a5e5
--- /dev/null
@@ -0,0 +1,29 @@
+\r
+//  (C) Copyright Matthias Troyerk 2006.\r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+\r
+#ifndef BOOST_DETAIL_HAS_DEFAULT_CONSTRUCTOR_HPP_INCLUDED\r
+#define BOOST_DETAIL_HAS_DEFAULT_CONSTRUCTOR_HPP_INCLUDED\r
+\r
+#include <boost/type_traits/has_trivial_constructor.hpp>\r
+\r
+namespace boost { namespace detail {\r
+\r
+/// type trait to check for a default constructor\r
+///\r
+/// The default implementation just checks for a trivial constructor.\r
+/// Using some compiler magic it might be possible to provide a better default\r
+\r
+template <class T>\r
+struct has_default_constructor\r
+ : public has_trivial_constructor<T>\r
+{};\r
+\r
+} } // namespace boost::detail\r
+\r
+\r
+#endif // BOOST_DETAIL_HAS_DEFAULT_CONSTRUCTOR_HPP_INCLUDED\r
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 (file)
index 0000000..142a546
--- /dev/null
@@ -0,0 +1,89 @@
+//  boost/identifier.hpp  ----------------------------------------------------//\r
+\r
+//  Copyright Beman Dawes 2006\r
+\r
+//  Distributed under the Boost Software License, Version 1.0. (See accompanying\r
+//  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+//  See documentation at http://www.boost.org/libs/utility\r
+\r
+#ifndef BOOST_IDENTIFIER_HPP\r
+#define BOOST_IDENTIFIER_HPP\r
+\r
+#include <boost/utility/enable_if.hpp>\r
+#include <boost/type_traits/is_base_of.hpp>\r
+#include <iosfwd>\r
+\r
+namespace boost\r
+{\r
+  namespace detail\r
+  {\r
+    //  class template identifier  ---------------------------------------------//\r
+\r
+    //  Always used as a base class so that different instantiations result in\r
+    //  different class types even if instantiated with the same value type T.\r
+\r
+    //  Expected usage is that T is often an integer type, best passed by\r
+    //  value. There is no reason why T can't be a possibly larger class such as\r
+    //  std::string, best passed by const reference.\r
+\r
+    //  This implementation uses pass by value, based on expected common uses.\r
+\r
+    template <typename T, typename D>\r
+    class identifier\r
+    {\r
+    public:\r
+      typedef T value_type;\r
+\r
+      const value_type value() const           { return m_value; }\r
+      void  assign( value_type v )             { m_value = v; }\r
+\r
+      bool operator==( const D & rhs ) const   { return m_value == rhs.m_value; }\r
+      bool operator!=( const D & rhs ) const   { return m_value != rhs.m_value; }\r
+      bool operator< ( const D & rhs ) const   { return m_value <  rhs.m_value; }\r
+      bool operator<=( const D & rhs ) const   { return m_value <= rhs.m_value; }\r
+      bool operator> ( const D & rhs ) const   { return m_value >  rhs.m_value; }\r
+      bool operator>=( const D & rhs ) const   { return m_value >= rhs.m_value; }\r
+\r
+      typedef void (*unspecified_bool_type)(D); // without the D, unspecified_bool_type \r
+      static void unspecified_bool_true(D){}    // conversion allows relational operators\r
+                                                // between different identifier types\r
+\r
+      operator unspecified_bool_type() const   { return m_value == value_type() ? 0 : unspecified_bool_true; }\r
+      bool operator!() const                   { return m_value == value_type(); }\r
+\r
+    // constructors are protected so that class can only be used as a base class\r
+    protected:\r
+      identifier()                             {}\r
+      explicit identifier( value_type v )      : m_value(v) {}\r
+\r
+  #if !defined(BOOST_MSVC) || BOOST_MSVC > 1300  // 1300 == VC++ 7.0 bug workaround\r
+    private:\r
+  #endif\r
+      T m_value;\r
+    };\r
+\r
+  //#ifndef BOOST_NO_SFINAE\r
+\r
+  //  template <class Ostream, class Id>\r
+  //    typename enable_if< is_base_of< identifier< typename Id::value_type, Id >, Id >, \r
+  //      Ostream & >::type operator<<( Ostream & os, const Id & id )\r
+  //  {\r
+  //    return os << id.value();\r
+  //  }\r
+\r
+  //  template <class Istream, class Id>\r
+  //    typename enable_if< is_base_of< identifier< typename Id::value_type, Id >, Id >, \r
+  //      Istream & >::type operator>>( Istream & is, Id & id )\r
+  //  {\r
+  //    typename Id::value_type v;\r
+  //    is >> v;\r
+  //    id.value( v );\r
+  //    return is;\r
+  //  }\r
+  //#endif\r
+\r
+  } // namespace detail\r
+} // namespace boost\r
+\r
+#endif // BOOST_IDENTIFIER_HPP\r
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 (file)
index 0000000..a35b7cb
--- /dev/null
@@ -0,0 +1,487 @@
+// Copyright David Abrahams 2002.\r
+// Distributed under the Boost Software License, Version 1.0. (See\r
+// accompanying file LICENSE_1_0.txt or copy at\r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+#ifndef INDIRECT_TRAITS_DWA2002131_HPP\r
+# define INDIRECT_TRAITS_DWA2002131_HPP\r
+# include <boost/type_traits/is_function.hpp>\r
+# include <boost/type_traits/is_reference.hpp>\r
+# include <boost/type_traits/is_pointer.hpp>\r
+# include <boost/type_traits/is_class.hpp>\r
+# include <boost/type_traits/is_const.hpp>\r
+# include <boost/type_traits/is_volatile.hpp>\r
+# include <boost/type_traits/is_member_function_pointer.hpp>\r
+# include <boost/type_traits/is_member_pointer.hpp>\r
+# include <boost/type_traits/remove_cv.hpp>\r
+# include <boost/type_traits/remove_reference.hpp>\r
+# include <boost/type_traits/remove_pointer.hpp>\r
+\r
+# include <boost/type_traits/detail/ice_and.hpp>\r
+# include <boost/detail/workaround.hpp>\r
+\r
+# include <boost/mpl/eval_if.hpp>\r
+# include <boost/mpl/if.hpp>\r
+# include <boost/mpl/bool.hpp>\r
+# include <boost/mpl/and.hpp>\r
+# include <boost/mpl/not.hpp>\r
+# include <boost/mpl/aux_/lambda_support.hpp>\r
+\r
+#  ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+#   include <boost/detail/is_function_ref_tester.hpp>\r
+#  endif \r
+\r
+namespace boost { namespace detail {\r
+\r
+namespace indirect_traits {\r
+\r
+#  ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+template <class T>\r
+struct is_reference_to_const : mpl::false_\r
+{\r
+};\r
+\r
+template <class T>\r
+struct is_reference_to_const<T const&> : mpl::true_\r
+{\r
+};\r
+\r
+#   if defined(BOOST_MSVC) && _MSC_FULL_VER <= 13102140 // vc7.01 alpha workaround\r
+template<class T>\r
+struct is_reference_to_const<T const volatile&> : mpl::true_\r
+{\r
+};\r
+#   endif \r
+\r
+template <class T>\r
+struct is_reference_to_function : mpl::false_\r
+{\r
+};\r
+\r
+template <class T>\r
+struct is_reference_to_function<T&> : is_function<T>\r
+{\r
+};\r
+\r
+template <class T>\r
+struct is_pointer_to_function : mpl::false_\r
+{\r
+};\r
+\r
+// There's no such thing as a pointer-to-cv-function, so we don't need\r
+// specializations for those\r
+template <class T>\r
+struct is_pointer_to_function<T*> : is_function<T>\r
+{\r
+};\r
+\r
+template <class T>\r
+struct is_reference_to_member_function_pointer_impl : mpl::false_\r
+{\r
+};\r
+\r
+template <class T>\r
+struct is_reference_to_member_function_pointer_impl<T&>\r
+    : is_member_function_pointer<typename remove_cv<T>::type>\r
+{\r
+};\r
+\r
+\r
+template <class T>\r
+struct is_reference_to_member_function_pointer\r
+    : is_reference_to_member_function_pointer_impl<T>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_reference_to_member_function_pointer,(T))\r
+};\r
+\r
+template <class T>\r
+struct is_reference_to_function_pointer_aux\r
+    : mpl::and_<\r
+          is_reference<T>\r
+        , is_pointer_to_function<\r
+              typename remove_cv<\r
+                  typename remove_reference<T>::type\r
+              >::type\r
+          >\r
+      >\r
+{\r
+    // There's no such thing as a pointer-to-cv-function, so we don't need specializations for those\r
+};\r
+\r
+template <class T>\r
+struct is_reference_to_function_pointer\r
+    : mpl::if_<\r
+          is_reference_to_function<T>\r
+        , mpl::false_\r
+        , is_reference_to_function_pointer_aux<T>\r
+     >::type\r
+{\r
+};\r
+\r
+template <class T>\r
+struct is_reference_to_non_const\r
+    : mpl::and_<\r
+          is_reference<T>\r
+        , mpl::not_<\r
+             is_reference_to_const<T>\r
+          >\r
+      >\r
+{\r
+};\r
+\r
+template <class T>\r
+struct is_reference_to_volatile : mpl::false_\r
+{\r
+};\r
+\r
+template <class T>\r
+struct is_reference_to_volatile<T volatile&> : mpl::true_\r
+{\r
+};\r
+\r
+#   if defined(BOOST_MSVC) && _MSC_FULL_VER <= 13102140 // vc7.01 alpha workaround\r
+template <class T>\r
+struct is_reference_to_volatile<T const volatile&> : mpl::true_\r
+{\r
+};\r
+#   endif \r
+\r
+\r
+template <class T>\r
+struct is_reference_to_pointer : mpl::false_\r
+{\r
+};\r
+\r
+template <class T>\r
+struct is_reference_to_pointer<T*&> : mpl::true_\r
+{\r
+};\r
+\r
+template <class T>\r
+struct is_reference_to_pointer<T* const&> : mpl::true_\r
+{\r
+};\r
+\r
+template <class T>\r
+struct is_reference_to_pointer<T* volatile&> : mpl::true_\r
+{\r
+};\r
+\r
+template <class T>\r
+struct is_reference_to_pointer<T* const volatile&> : mpl::true_\r
+{\r
+};\r
+\r
+template <class T>\r
+struct is_reference_to_class\r
+    : mpl::and_<\r
+          is_reference<T>\r
+        , is_class<\r
+              typename remove_cv<\r
+                  typename remove_reference<T>::type\r
+              >::type\r
+          >\r
+      >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_reference_to_class,(T))\r
+};\r
+\r
+template <class T>\r
+struct is_pointer_to_class\r
+    : mpl::and_<\r
+          is_pointer<T>\r
+        , is_class<\r
+              typename remove_cv<\r
+                  typename remove_pointer<T>::type\r
+              >::type\r
+          >\r
+      >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_pointer_to_class,(T))\r
+};\r
+\r
+#  else\r
+\r
+using namespace boost::detail::is_function_ref_tester_;\r
+\r
+typedef char (&inner_yes_type)[3];\r
+typedef char (&inner_no_type)[2];\r
+typedef char (&outer_no_type)[1];\r
+\r
+template <typename V>\r
+struct is_const_help\r
+{\r
+    typedef typename mpl::if_<\r
+          is_const<V>\r
+        , inner_yes_type\r
+        , inner_no_type\r
+        >::type type;\r
+};\r
+\r
+template <typename V>\r
+struct is_volatile_help\r
+{\r
+    typedef typename mpl::if_<\r
+          is_volatile<V>\r
+        , inner_yes_type\r
+        , inner_no_type\r
+        >::type type;\r
+};\r
+\r
+template <typename V>\r
+struct is_pointer_help\r
+{\r
+    typedef typename mpl::if_<\r
+          is_pointer<V>\r
+        , inner_yes_type\r
+        , inner_no_type\r
+        >::type type;\r
+};\r
+\r
+template <typename V>\r
+struct is_class_help\r
+{\r
+    typedef typename mpl::if_<\r
+          is_class<V>\r
+        , inner_yes_type\r
+        , inner_no_type\r
+        >::type type;\r
+};\r
+\r
+template <class T>\r
+struct is_reference_to_function_aux\r
+{\r
+    static T t;\r
+    BOOST_STATIC_CONSTANT(\r
+        bool, value = sizeof(detail::is_function_ref_tester(t,0)) == sizeof(::boost::type_traits::yes_type));\r
+    typedef mpl::bool_<value> type;\r
+ };\r
+\r
+template <class T>\r
+struct is_reference_to_function\r
+    : mpl::if_<is_reference<T>, is_reference_to_function_aux<T>, mpl::bool_<false> >::type\r
+{\r
+};\r
+\r
+template <class T>\r
+struct is_pointer_to_function_aux\r
+{\r
+    static T t;\r
+    BOOST_STATIC_CONSTANT(\r
+        bool, value\r
+        = sizeof(::boost::type_traits::is_function_ptr_tester(t)) == sizeof(::boost::type_traits::yes_type));\r
+    typedef mpl::bool_<value> type;\r
+};\r
+\r
+template <class T>\r
+struct is_pointer_to_function\r
+    : mpl::if_<is_pointer<T>, is_pointer_to_function_aux<T>, mpl::bool_<false> >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_pointer_to_function,(T))\r
+};\r
+\r
+struct false_helper1\r
+{\r
+    template <class T>\r
+    struct apply : mpl::false_\r
+    {\r
+    };\r
+};\r
+\r
+template <typename V>\r
+typename is_const_help<V>::type reference_to_const_helper(V&);    \r
+outer_no_type\r
+reference_to_const_helper(...);\r
+\r
+struct true_helper1\r
+{\r
+    template <class T>\r
+    struct apply\r
+    {\r
+        static T t;\r
+        BOOST_STATIC_CONSTANT(\r
+            bool, value\r
+            = sizeof(reference_to_const_helper(t)) == sizeof(inner_yes_type));\r
+        typedef mpl::bool_<value> type;\r
+    };\r
+};\r
+\r
+template <bool ref = true>\r
+struct is_reference_to_const_helper1 : true_helper1\r
+{\r
+};\r
+\r
+template <>\r
+struct is_reference_to_const_helper1<false> : false_helper1\r
+{\r
+};\r
+\r
+\r
+template <class T>\r
+struct is_reference_to_const\r
+    : is_reference_to_const_helper1<is_reference<T>::value>::template apply<T>\r
+{\r
+};\r
+\r
+\r
+template <bool ref = true>\r
+struct is_reference_to_non_const_helper1\r
+{\r
+    template <class T>\r
+    struct apply\r
+    {\r
+        static T t;\r
+        BOOST_STATIC_CONSTANT(\r
+            bool, value\r
+            = sizeof(reference_to_const_helper(t)) == sizeof(inner_no_type));\r
+        \r
+        typedef mpl::bool_<value> type;\r
+    };\r
+};\r
+\r
+template <>\r
+struct is_reference_to_non_const_helper1<false> : false_helper1\r
+{\r
+};\r
+\r
+\r
+template <class T>\r
+struct is_reference_to_non_const\r
+    : is_reference_to_non_const_helper1<is_reference<T>::value>::template apply<T>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_reference_to_non_const,(T))\r
+};\r
+\r
+\r
+template <typename V>\r
+typename is_volatile_help<V>::type reference_to_volatile_helper(V&);    \r
+outer_no_type\r
+reference_to_volatile_helper(...);\r
+\r
+template <bool ref = true>\r
+struct is_reference_to_volatile_helper1\r
+{\r
+    template <class T>\r
+    struct apply\r
+    {\r
+        static T t;\r
+        BOOST_STATIC_CONSTANT(\r
+            bool, value\r
+            = sizeof(reference_to_volatile_helper(t)) == sizeof(inner_yes_type));\r
+        typedef mpl::bool_<value> type;\r
+    };\r
+};\r
+\r
+template <>\r
+struct is_reference_to_volatile_helper1<false> : false_helper1\r
+{\r
+};\r
+\r
+\r
+template <class T>\r
+struct is_reference_to_volatile\r
+    : is_reference_to_volatile_helper1<is_reference<T>::value>::template apply<T>\r
+{\r
+};\r
+\r
+template <typename V>\r
+typename is_pointer_help<V>::type reference_to_pointer_helper(V&);\r
+outer_no_type reference_to_pointer_helper(...);\r
+\r
+template <class T>\r
+struct reference_to_pointer_impl\r
+{\r
+    static T t;\r
+    BOOST_STATIC_CONSTANT(\r
+        bool, value\r
+        = (sizeof((reference_to_pointer_helper)(t)) == sizeof(inner_yes_type))\r
+        );\r
+    \r
+    typedef mpl::bool_<value> type;\r
+};\r
+    \r
+template <class T>\r
+struct is_reference_to_pointer\r
+  : mpl::eval_if<is_reference<T>, reference_to_pointer_impl<T>, mpl::false_>::type\r
+{   \r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_reference_to_pointer,(T))\r
+};\r
+\r
+template <class T>\r
+struct is_reference_to_function_pointer\r
+  : mpl::eval_if<is_reference<T>, is_pointer_to_function_aux<T>, mpl::false_>::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_reference_to_function_pointer,(T))\r
+};\r
+\r
+\r
+template <class T>\r
+struct is_member_function_pointer_help\r
+    : mpl::if_<is_member_function_pointer<T>, inner_yes_type, inner_no_type>\r
+{};\r
+\r
+template <typename V>\r
+typename is_member_function_pointer_help<V>::type member_function_pointer_helper(V&);\r
+outer_no_type member_function_pointer_helper(...);\r
+\r
+template <class T>\r
+struct is_pointer_to_member_function_aux\r
+{\r
+    static T t;\r
+    BOOST_STATIC_CONSTANT(\r
+        bool, value\r
+        = sizeof((member_function_pointer_helper)(t)) == sizeof(inner_yes_type));\r
+    typedef mpl::bool_<value> type;\r
+};\r
+\r
+template <class T>\r
+struct is_reference_to_member_function_pointer\r
+    : mpl::if_<\r
+        is_reference<T>\r
+        , is_pointer_to_member_function_aux<T>\r
+        , mpl::bool_<false>\r
+     >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_reference_to_member_function_pointer,(T))\r
+};\r
+\r
+template <typename V>\r
+typename is_class_help<V>::type reference_to_class_helper(V const volatile&);\r
+outer_no_type reference_to_class_helper(...);\r
+\r
+template <class T>\r
+struct is_reference_to_class\r
+{\r
+    static T t;\r
+    BOOST_STATIC_CONSTANT(\r
+        bool, value\r
+        = (is_reference<T>::value\r
+           & (sizeof(reference_to_class_helper(t)) == sizeof(inner_yes_type)))\r
+        );\r
+    typedef mpl::bool_<value> type;\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_reference_to_class,(T))\r
+};\r
+\r
+template <typename V>\r
+typename is_class_help<V>::type pointer_to_class_helper(V const volatile*);\r
+outer_no_type pointer_to_class_helper(...);\r
+\r
+template <class T>\r
+struct is_pointer_to_class\r
+{\r
+    static T t;\r
+    BOOST_STATIC_CONSTANT(\r
+        bool, value\r
+        = (is_pointer<T>::value\r
+           && sizeof(pointer_to_class_helper(t)) == sizeof(inner_yes_type))\r
+        );\r
+    typedef mpl::bool_<value> type;\r
+};\r
+#  endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION \r
+\r
+}\r
+\r
+using namespace indirect_traits;\r
+\r
+}} // namespace boost::python::detail\r
+\r
+#endif // INDIRECT_TRAITS_DWA2002131_HPP\r
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 (file)
index 0000000..e3f5086
--- /dev/null
@@ -0,0 +1,142 @@
+#ifndef BOOST_DETAIL_INTERLOCKED_HPP_INCLUDED\r
+#define BOOST_DETAIL_INTERLOCKED_HPP_INCLUDED\r
+\r
+// MS compatible compilers support #pragma once\r
+\r
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)\r
+# pragma once\r
+#endif\r
+\r
+//\r
+//  boost/detail/interlocked.hpp\r
+//\r
+//  Copyright 2005 Peter Dimov\r
+//\r
+//  Distributed under the Boost Software License, Version 1.0. (See\r
+//  accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+#include <boost/config.hpp>\r
+\r
+#if defined( BOOST_USE_WINDOWS_H )\r
+\r
+# include <windows.h>\r
+\r
+# define BOOST_INTERLOCKED_INCREMENT InterlockedIncrement\r
+# define BOOST_INTERLOCKED_DECREMENT InterlockedDecrement\r
+# define BOOST_INTERLOCKED_COMPARE_EXCHANGE InterlockedCompareExchange\r
+# define BOOST_INTERLOCKED_EXCHANGE InterlockedExchange\r
+# define BOOST_INTERLOCKED_EXCHANGE_ADD InterlockedExchangeAdd\r
+# define BOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER InterlockedCompareExchangePointer\r
+# define BOOST_INTERLOCKED_EXCHANGE_POINTER InterlockedExchangePointer\r
+\r
+#elif defined(_WIN32_WCE)\r
+\r
+// under Windows CE we still have old-style Interlocked* functions\r
+\r
+extern "C" long __cdecl InterlockedIncrement( long* );\r
+extern "C" long __cdecl InterlockedDecrement( long* );\r
+extern "C" long __cdecl InterlockedCompareExchange( long*, long, long );\r
+extern "C" long __cdecl InterlockedExchange( long*, long );\r
+extern "C" long __cdecl InterlockedExchangeAdd( long*, long );\r
+\r
+# define BOOST_INTERLOCKED_INCREMENT InterlockedIncrement\r
+# define BOOST_INTERLOCKED_DECREMENT InterlockedDecrement\r
+# define BOOST_INTERLOCKED_COMPARE_EXCHANGE InterlockedCompareExchange\r
+# define BOOST_INTERLOCKED_EXCHANGE InterlockedExchange\r
+# define BOOST_INTERLOCKED_EXCHANGE_ADD InterlockedExchangeAdd\r
+\r
+# define BOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER(dest,exchange,compare) \\r
+    ((void*)BOOST_INTERLOCKED_COMPARE_EXCHANGE((long*)(dest),(long)(exchange),(long)(compare)))\r
+# define BOOST_INTERLOCKED_EXCHANGE_POINTER(dest,exchange) \\r
+    ((void*)BOOST_INTERLOCKED_EXCHANGE((long*)(dest),(long)(exchange)))\r
+\r
+#elif defined( BOOST_MSVC ) || defined( BOOST_INTEL_WIN )\r
+\r
+#if defined( __CLRCALL_PURE_OR_CDECL )\r
+\r
+extern "C" long __CLRCALL_PURE_OR_CDECL _InterlockedIncrement( long volatile * );\r
+extern "C" long __CLRCALL_PURE_OR_CDECL _InterlockedDecrement( long volatile * );\r
+extern "C" long __CLRCALL_PURE_OR_CDECL _InterlockedCompareExchange( long volatile *, long, long );\r
+extern "C" long __CLRCALL_PURE_OR_CDECL _InterlockedExchange( long volatile *, long );\r
+extern "C" long __CLRCALL_PURE_OR_CDECL _InterlockedExchangeAdd( long volatile *, long );\r
+\r
+#else\r
+\r
+extern "C" long __cdecl _InterlockedIncrement( long volatile * );\r
+extern "C" long __cdecl _InterlockedDecrement( long volatile * );\r
+extern "C" long __cdecl _InterlockedCompareExchange( long volatile *, long, long );\r
+extern "C" long __cdecl _InterlockedExchange( long volatile *, long );\r
+extern "C" long __cdecl _InterlockedExchangeAdd( long volatile *, long );\r
+\r
+#endif\r
+\r
+# pragma intrinsic( _InterlockedIncrement )\r
+# pragma intrinsic( _InterlockedDecrement )\r
+# pragma intrinsic( _InterlockedCompareExchange )\r
+# pragma intrinsic( _InterlockedExchange )\r
+# pragma intrinsic( _InterlockedExchangeAdd )\r
+\r
+# if defined(_M_IA64) || defined(_M_AMD64)\r
+\r
+extern "C" void* __cdecl _InterlockedCompareExchangePointer( void* volatile *, void*, void* );\r
+extern "C" void* __cdecl _InterlockedExchangePointer( void* volatile *, void* );\r
+\r
+#  pragma intrinsic( _InterlockedCompareExchangePointer )\r
+#  pragma intrinsic( _InterlockedExchangePointer )\r
+\r
+#  define BOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER _InterlockedCompareExchangePointer\r
+#  define BOOST_INTERLOCKED_EXCHANGE_POINTER _InterlockedExchangePointer\r
+\r
+# else\r
+\r
+#  define BOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER(dest,exchange,compare) \\r
+    ((void*)BOOST_INTERLOCKED_COMPARE_EXCHANGE((long volatile*)(dest),(long)(exchange),(long)(compare)))\r
+#  define BOOST_INTERLOCKED_EXCHANGE_POINTER(dest,exchange) \\r
+    ((void*)BOOST_INTERLOCKED_EXCHANGE((long volatile*)(dest),(long)(exchange)))\r
+\r
+# endif\r
+\r
+# define BOOST_INTERLOCKED_INCREMENT _InterlockedIncrement\r
+# define BOOST_INTERLOCKED_DECREMENT _InterlockedDecrement\r
+# define BOOST_INTERLOCKED_COMPARE_EXCHANGE _InterlockedCompareExchange\r
+# define BOOST_INTERLOCKED_EXCHANGE _InterlockedExchange\r
+# define BOOST_INTERLOCKED_EXCHANGE_ADD _InterlockedExchangeAdd\r
+\r
+#elif defined( WIN32 ) || defined( _WIN32 ) || defined( __WIN32__ ) || defined( __CYGWIN__ )\r
+\r
+namespace boost\r
+{\r
+\r
+namespace detail\r
+{\r
+\r
+extern "C" __declspec(dllimport) long __stdcall InterlockedIncrement( long volatile * );\r
+extern "C" __declspec(dllimport) long __stdcall InterlockedDecrement( long volatile * );\r
+extern "C" __declspec(dllimport) long __stdcall InterlockedCompareExchange( long volatile *, long, long );\r
+extern "C" __declspec(dllimport) long __stdcall InterlockedExchange( long volatile *, long );\r
+extern "C" __declspec(dllimport) long __stdcall InterlockedExchangeAdd( long volatile *, long );\r
+\r
+} // namespace detail\r
+\r
+} // namespace boost\r
+\r
+# define BOOST_INTERLOCKED_INCREMENT ::boost::detail::InterlockedIncrement\r
+# define BOOST_INTERLOCKED_DECREMENT ::boost::detail::InterlockedDecrement\r
+# define BOOST_INTERLOCKED_COMPARE_EXCHANGE ::boost::detail::InterlockedCompareExchange\r
+# define BOOST_INTERLOCKED_EXCHANGE ::boost::detail::InterlockedExchange\r
+# define BOOST_INTERLOCKED_EXCHANGE_ADD ::boost::detail::InterlockedExchangeAdd\r
+\r
+# define BOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER(dest,exchange,compare) \\r
+    ((void*)BOOST_INTERLOCKED_COMPARE_EXCHANGE((long volatile*)(dest),(long)(exchange),(long)(compare)))\r
+# define BOOST_INTERLOCKED_EXCHANGE_POINTER(dest,exchange) \\r
+    ((void*)BOOST_INTERLOCKED_EXCHANGE((long volatile*)(dest),(long)(exchange)))\r
+\r
+#else\r
+\r
+# error "Interlocked intrinsics not available"\r
+\r
+#endif\r
+\r
+#endif // #ifndef BOOST_DETAIL_INTERLOCKED_HPP_INCLUDED\r
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 (file)
index 0000000..833cdf3
--- /dev/null
@@ -0,0 +1,135 @@
+\r
+// (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, \r
+// Aleksey Gurtovoy, Howard Hinnant & John Maddock 2000.  \r
+// Distributed under the Boost Software License, Version 1.0. (See\r
+// accompanying file LICENSE_1_0.txt or copy at\r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+#if !defined(BOOST_PP_IS_ITERATING)\r
+\r
+///// header body\r
+\r
+#ifndef BOOST_DETAIL_IS_FUNCTION_REF_TESTER_HPP_INCLUDED\r
+#define BOOST_DETAIL_IS_FUNCTION_REF_TESTER_HPP_INCLUDED\r
+\r
+#include "boost/type_traits/detail/yes_no_type.hpp"\r
+#include "boost/type_traits/config.hpp"\r
+\r
+#if defined(BOOST_TT_PREPROCESSING_MODE)\r
+#   include "boost/preprocessor/iterate.hpp"\r
+#   include "boost/preprocessor/enum_params.hpp"\r
+#   include "boost/preprocessor/comma_if.hpp"\r
+#endif\r
+\r
+namespace boost {\r
+namespace detail {\r
+namespace is_function_ref_tester_ {\r
+\r
+template <class T>\r
+boost::type_traits::no_type BOOST_TT_DECL is_function_ref_tester(T& ...);\r
+\r
+#if !defined(BOOST_TT_PREPROCESSING_MODE)\r
+// preprocessor-generated part, don't edit by hand!\r
+\r
+template <class R>\r
+boost::type_traits::yes_type is_function_ref_tester(R (&)(), int);\r
+\r
+template <class R,class T0 >\r
+boost::type_traits::yes_type is_function_ref_tester(R (&)(T0), int);\r
+\r
+template <class R,class T0,class T1 >\r
+boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1), int);\r
+\r
+template <class R,class T0,class T1,class T2 >\r
+boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2), int);\r
+\r
+template <class R,class T0,class T1,class T2,class T3 >\r
+boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3), int);\r
+\r
+template <class R,class T0,class T1,class T2,class T3,class T4 >\r
+boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4), int);\r
+\r
+template <class R,class T0,class T1,class T2,class T3,class T4,class T5 >\r
+boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4,T5), int);\r
+\r
+template <class R,class T0,class T1,class T2,class T3,class T4,class T5,class T6 >\r
+boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4,T5,T6), int);\r
+\r
+template <class R,class T0,class T1,class T2,class T3,class T4,class T5,class T6,class T7 >\r
+boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4,T5,T6,T7), int);\r
+\r
+template <class R,class T0,class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8 >\r
+boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4,T5,T6,T7,T8), int);\r
+\r
+template <class R,class T0,class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9 >\r
+boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4,T5,T6,T7,T8,T9), int);\r
+\r
+template <class R,class T0,class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10 >\r
+boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10), int);\r
+\r
+template <class R,class T0,class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10,class T11 >\r
+boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11), int);\r
+\r
+template <class R,class T0,class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10,class T11,class T12 >\r
+boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12), int);\r
+\r
+template <class R,class T0,class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10,class T11,class T12,class T13 >\r
+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);\r
+\r
+template <class R,class T0,class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10,class T11,class T12,class T13,class T14 >\r
+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);\r
+\r
+template <class R,class T0,class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10,class T11,class T12,class T13,class T14,class T15 >\r
+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);\r
+\r
+template <class R,class T0,class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10,class T11,class T12,class T13,class T14,class T15,class T16 >\r
+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);\r
+\r
+template <class R,class T0,class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10,class T11,class T12,class T13,class T14,class T15,class T16,class T17 >\r
+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);\r
+\r
+template <class R,class T0,class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10,class T11,class T12,class T13,class T14,class T15,class T16,class T17,class T18 >\r
+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);\r
+\r
+template <class R,class T0,class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10,class T11,class T12,class T13,class T14,class T15,class T16,class T17,class T18,class T19 >\r
+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);\r
+\r
+template <class R,class T0,class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10,class T11,class T12,class T13,class T14,class T15,class T16,class T17,class T18,class T19,class T20 >\r
+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);\r
+\r
+template <class R,class T0,class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10,class T11,class T12,class T13,class T14,class T15,class T16,class T17,class T18,class T19,class T20,class T21 >\r
+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);\r
+\r
+template <class R,class T0,class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10,class T11,class T12,class T13,class T14,class T15,class T16,class T17,class T18,class T19,class T20,class T21,class T22 >\r
+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);\r
+\r
+template <class R,class T0,class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10,class T11,class T12,class T13,class T14,class T15,class T16,class T17,class T18,class T19,class T20,class T21,class T22,class T23 >\r
+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);\r
+\r
+template <class R,class T0,class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10,class T11,class T12,class T13,class T14,class T15,class T16,class T17,class T18,class T19,class T20,class T21,class T22,class T23,class T24 >\r
+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);\r
+\r
+#else\r
+\r
+#define BOOST_PP_ITERATION_PARAMS_1 \\r
+    (3, (0, 25, "boost/type_traits/detail/is_function_ref_tester.hpp"))\r
+#include BOOST_PP_ITERATE()\r
+\r
+#endif // BOOST_TT_PREPROCESSING_MODE\r
+\r
+} // namespace detail\r
+} // namespace python\r
+} // namespace boost\r
+\r
+#endif // BOOST_DETAIL_IS_FUNCTION_REF_TESTER_HPP_INCLUDED\r
+\r
+///// iteration\r
+\r
+#else\r
+#define i BOOST_PP_FRAME_ITERATION(1)\r
+\r
+template <class R BOOST_PP_COMMA_IF(i) BOOST_PP_ENUM_PARAMS(i,class T) >\r
+boost::type_traits::yes_type is_function_ref_tester(R (&)(BOOST_PP_ENUM_PARAMS(i,T)), int);\r
+\r
+#undef i\r
+#endif // BOOST_PP_IS_ITERATING\r
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 (file)
index 0000000..8ad142c
--- /dev/null
@@ -0,0 +1,134 @@
+// Copyright David Abrahams 2004. Use, modification and distribution is\r
+// subject to the Boost Software License, Version 1.0. (See accompanying\r
+// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+#ifndef IS_INCREMENTABLE_DWA200415_HPP\r
+# define IS_INCREMENTABLE_DWA200415_HPP\r
+\r
+# include <boost/type_traits/detail/template_arity_spec.hpp>\r
+# include <boost/type_traits/remove_cv.hpp>\r
+# include <boost/mpl/aux_/lambda_support.hpp>\r
+# include <boost/mpl/bool.hpp>\r
+# include <boost/detail/workaround.hpp>\r
+\r
+// Must be the last include\r
+# include <boost/type_traits/detail/bool_trait_def.hpp>\r
+\r
+namespace boost { namespace detail { \r
+\r
+// is_incrementable<T> metafunction\r
+//\r
+// Requires: Given x of type T&, if the expression ++x is well-formed\r
+// it must have complete type; otherwise, it must neither be ambiguous\r
+// nor violate access.\r
+\r
+// This namespace ensures that ADL doesn't mess things up.\r
+namespace is_incrementable_\r
+{\r
+  // a type returned from operator++ when no increment is found in the\r
+  // type's own namespace\r
+  struct tag {};\r
+  \r
+  // any soaks up implicit conversions and makes the following\r
+  // operator++ less-preferred than any other such operator that\r
+  // might be found via ADL.\r
+  struct any { template <class T> any(T const&); };\r
+\r
+  // This is a last-resort operator++ for when none other is found\r
+# if BOOST_WORKAROUND(__GNUC__, == 4) && __GNUC_MINOR__ == 0 && __GNUC_PATCHLEVEL__ == 2\r
+  \r
+}\r
+\r
+namespace is_incrementable_2\r
+{\r
+  is_incrementable_::tag operator++(is_incrementable_::any const&);\r
+  is_incrementable_::tag operator++(is_incrementable_::any const&,int);\r
+}\r
+using namespace is_incrementable_2;\r
+\r
+namespace is_incrementable_\r
+{\r
+  \r
+# else\r
+  \r
+  tag operator++(any const&);\r
+  tag operator++(any const&,int);\r
+  \r
+# endif \r
+\r
+# if BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3202)) \\r
+    || BOOST_WORKAROUND(BOOST_MSVC, <= 1300)\r
+#  define BOOST_comma(a,b) (a)\r
+# else \r
+  // In case an operator++ is found that returns void, we'll use ++x,0\r
+  tag operator,(tag,int);  \r
+#  define BOOST_comma(a,b) (a,b)\r
+# endif \r
+\r
+# if defined(BOOST_MSVC)\r
+#  pragma warning(push)\r
+#  pragma warning(disable:4913) // Warning about operator,\r
+# endif \r
+\r
+  // two check overloads help us identify which operator++ was picked\r
+  char (& check(tag) )[2];\r
+  \r
+  template <class T>\r
+  char check(T const&);\r
+  \r
+\r
+  template <class T>\r
+  struct impl\r
+  {\r
+      static typename boost::remove_cv<T>::type& x;\r
+\r
+      BOOST_STATIC_CONSTANT(\r
+          bool\r
+        , value = sizeof(is_incrementable_::check(BOOST_comma(++x,0))) == 1\r
+      );\r
+  };\r
+\r
+  template <class T>\r
+  struct postfix_impl\r
+  {\r
+      static typename boost::remove_cv<T>::type& x;\r
+\r
+      BOOST_STATIC_CONSTANT(\r
+          bool\r
+        , value = sizeof(is_incrementable_::check(BOOST_comma(x++,0))) == 1\r
+      );\r
+  };\r
+\r
+# if defined(BOOST_MSVC)\r
+#  pragma warning(pop)\r
+# endif \r
+\r
+}\r
+\r
+# undef BOOST_comma\r
+\r
+template<typename T> \r
+struct is_incrementable \r
+BOOST_TT_AUX_BOOL_C_BASE(::boost::detail::is_incrementable_::impl<T>::value)\r
+{ \r
+    BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(::boost::detail::is_incrementable_::impl<T>::value)\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_incrementable,(T))\r
+};\r
+\r
+template<typename T> \r
+struct is_postfix_incrementable \r
+BOOST_TT_AUX_BOOL_C_BASE(::boost::detail::is_incrementable_::impl<T>::value)\r
+{ \r
+    BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(::boost::detail::is_incrementable_::postfix_impl<T>::value)\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_postfix_incrementable,(T))\r
+};\r
+\r
+} // namespace detail\r
+\r
+BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1, ::boost::detail::is_incrementable)\r
+BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1, ::boost::detail::is_postfix_incrementable)\r
+\r
+} // namespace boost\r
+\r
+# include <boost/type_traits/detail/bool_trait_undef.hpp>\r
+\r
+#endif // IS_INCREMENTABLE_DWA200415_HPP\r
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 (file)
index 0000000..60fd28b
--- /dev/null
@@ -0,0 +1,61 @@
+// Copyright David Abrahams 2005. Distributed under the Boost\r
+// Software License, Version 1.0. (See accompanying\r
+// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+#ifndef BOOST_DETAIL_IS_XXX_DWA20051011_HPP\r
+# define BOOST_DETAIL_IS_XXX_DWA20051011_HPP\r
+\r
+# include <boost/config.hpp>\r
+# include <boost/mpl/bool.hpp>\r
+# include <boost/preprocessor/enum_params.hpp>\r
+\r
+# if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)\r
+# include <boost/type_traits/is_reference.hpp>\r
+# include <boost/type_traits/add_reference.hpp>\r
+\r
+#  define BOOST_DETAIL_IS_XXX_DEF(name, qualified_name, nargs)          \\r
+template <class X_>                                                     \\r
+struct is_##name                                                        \\r
+{                                                                       \\r
+    typedef char yes;                                                   \\r
+    typedef char (&no)[2];                                              \\r
+                                                                        \\r
+    static typename add_reference<X_>::type dummy;                      \\r
+                                                                        \\r
+    struct helpers                                                      \\r
+    {                                                                   \\r
+        template < BOOST_PP_ENUM_PARAMS_Z(1, nargs, class U) >          \\r
+        static yes test(                                                \\r
+           qualified_name< BOOST_PP_ENUM_PARAMS_Z(1, nargs, U) >&, int  \\r
+        );                                                              \\r
+                                                                        \\r
+        template <class U>                                              \\r
+        static no test(U&, ...);                                        \\r
+    };                                                                  \\r
+                                                                        \\r
+    BOOST_STATIC_CONSTANT(                                              \\r
+        bool, value                                                     \\r
+        = !is_reference<X_>::value                                      \\r
+        & (sizeof(helpers::test(dummy, 0)) == sizeof(yes)));            \\r
+                                                                        \\r
+    typedef mpl::bool_<value> type;                                     \\r
+};\r
+\r
+# else\r
+\r
+#  define BOOST_DETAIL_IS_XXX_DEF(name, qualified_name, nargs)  \\r
+template <class T>                                              \\r
+struct is_##name : mpl::false_                                  \\r
+{                                                               \\r
+};                                                              \\r
+                                                                \\r
+template < BOOST_PP_ENUM_PARAMS_Z(1, nargs, class T) >          \\r
+struct is_##name<                                               \\r
+   qualified_name< BOOST_PP_ENUM_PARAMS_Z(1, nargs, T) >        \\r
+>                                                               \\r
+   : mpl::true_                                                 \\r
+{                                                               \\r
+};\r
+\r
+# endif\r
+\r
+#endif // BOOST_DETAIL_IS_XXX_DWA20051011_HPP\r
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 (file)
index 0000000..48345e8
--- /dev/null
@@ -0,0 +1,494 @@
+// (C) Copyright David Abrahams 2002.\r
+// Distributed under the Boost Software License, Version 1.0. (See\r
+// accompanying file LICENSE_1_0.txt or copy at\r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+// Boost versions of\r
+//\r
+//    std::iterator_traits<>::iterator_category\r
+//    std::iterator_traits<>::difference_type\r
+//    std::distance()\r
+//\r
+// ...for all compilers and iterators\r
+//\r
+// Additionally, if X is a pointer\r
+//    std::iterator_traits<X>::pointer\r
+\r
+// Otherwise, if partial specialization is supported or X is not a pointer\r
+//    std::iterator_traits<X>::value_type\r
+//    std::iterator_traits<X>::pointer\r
+//    std::iterator_traits<X>::reference\r
+//\r
+// See http://www.boost.org for most recent version including documentation.\r
+\r
+// Revision History\r
+// 04 Mar 2001 - More attempted fixes for Intel C++ (David Abrahams)\r
+// 03 Mar 2001 - Put all implementation into namespace\r
+//               boost::detail::iterator_traits_. Some progress made on fixes\r
+//               for Intel compiler. (David Abrahams)\r
+// 02 Mar 2001 - Changed BOOST_MSVC to BOOST_MSVC_STD_ITERATOR in a few\r
+//               places. (Jeremy Siek)\r
+// 19 Feb 2001 - Improved workarounds for stock MSVC6; use yes_type and\r
+//               no_type from type_traits.hpp; stopped trying to remove_cv\r
+//               before detecting is_pointer, in honor of the new type_traits\r
+//               semantics. (David Abrahams)\r
+// 13 Feb 2001 - Make it work with nearly all standard-conforming iterators\r
+//               under raw VC6. The one category remaining which will fail is\r
+//               that of iterators derived from std::iterator but not\r
+//               boost::iterator and which redefine difference_type.\r
+// 11 Feb 2001 - Clean away code which can never be used (David Abrahams)\r
+// 09 Feb 2001 - Always have a definition for each traits member, even if it\r
+//               can't be properly deduced. These will be incomplete types in\r
+//               some cases (undefined<void>), but it helps suppress MSVC errors\r
+//               elsewhere (David Abrahams)\r
+// 07 Feb 2001 - Support for more of the traits members where possible, making\r
+//               this useful as a replacement for std::iterator_traits<T> when\r
+//               used as a default template parameter.\r
+// 06 Feb 2001 - Removed useless #includes of standard library headers\r
+//               (David Abrahams)\r
+\r
+#ifndef ITERATOR_DWA122600_HPP_\r
+# define ITERATOR_DWA122600_HPP_\r
+\r
+# include <boost/config.hpp>\r
+# include <iterator>\r
+\r
+// STLPort 4.0 and betas have a bug when debugging is enabled and there is no\r
+// partial specialization: instead of an iterator_category typedef, the standard\r
+// container iterators have _Iterator_category.\r
+//\r
+// Also, whether debugging is enabled or not, there is a broken specialization\r
+// of std::iterator<output_iterator_tag,void,void,void,void> which has no\r
+// typedefs but iterator_category.\r
+# if defined(__SGI_STL_PORT)\r
+\r
+#  if (__SGI_STL_PORT <= 0x410) && !defined(__STL_CLASS_PARTIAL_SPECIALIZATION) && defined(__STL_DEBUG)\r
+#   define BOOST_BAD_CONTAINER_ITERATOR_CATEGORY_TYPEDEF\r
+#  endif\r
+\r
+#  define BOOST_BAD_OUTPUT_ITERATOR_SPECIALIZATION\r
+\r
+# endif // STLPort <= 4.1b4 && no partial specialization\r
+\r
+# if !defined(BOOST_NO_STD_ITERATOR_TRAITS)             \\r
+  && !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \\r
+  && !defined(BOOST_MSVC_STD_ITERATOR)\r
+    \r
+namespace boost { namespace detail {\r
+\r
+// Define a new template so it can be specialized\r
+template <class Iterator>\r
+struct iterator_traits\r
+    : std::iterator_traits<Iterator>\r
+{};\r
+using std::distance;\r
+\r
+}} // namespace boost::detail\r
+\r
+# else\r
+\r
+#  if  !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)  \\r
+    && !defined(BOOST_MSVC_STD_ITERATOR)\r
+\r
+// This is the case where everything conforms except BOOST_NO_STD_ITERATOR_TRAITS\r
+\r
+namespace boost { namespace detail {\r
+\r
+// Rogue Wave Standard Library fools itself into thinking partial\r
+// specialization is missing on some platforms (e.g. Sun), so fails to\r
+// supply iterator_traits!\r
+template <class Iterator>\r
+struct iterator_traits\r
+{\r
+    typedef typename Iterator::value_type value_type;\r
+    typedef typename Iterator::reference reference;\r
+    typedef typename Iterator::pointer pointer;\r
+    typedef typename Iterator::difference_type difference_type;\r
+    typedef typename Iterator::iterator_category iterator_category;\r
+};\r
+\r
+template <class T>\r
+struct iterator_traits<T*>\r
+{\r
+    typedef T value_type;\r
+    typedef T& reference;\r
+    typedef T* pointer;\r
+    typedef std::ptrdiff_t difference_type;\r
+    typedef std::random_access_iterator_tag iterator_category;\r
+};\r
+\r
+template <class T>\r
+struct iterator_traits<T const*>\r
+{\r
+    typedef T value_type;\r
+    typedef T const& reference;\r
+    typedef T const* pointer;\r
+    typedef std::ptrdiff_t difference_type;\r
+    typedef std::random_access_iterator_tag iterator_category;\r
+};\r
+\r
+}} // namespace boost::detail\r
+\r
+#  else\r
+\r
+# include <boost/type_traits/remove_const.hpp>\r
+# include <boost/type_traits/detail/yes_no_type.hpp>\r
+# include <boost/type_traits/is_pointer.hpp>\r
+\r
+# ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+#  include <boost/type_traits/is_same.hpp>\r
+#  include <boost/type_traits/remove_pointer.hpp>\r
+# endif\r
+# ifdef BOOST_BAD_OUTPUT_ITERATOR_SPECIALIZATION\r
+#  include <boost/type_traits/is_base_and_derived.hpp>\r
+# endif\r
+\r
+# include <boost/mpl/if.hpp>\r
+# include <boost/mpl/has_xxx.hpp>\r
+# include <cstddef>\r
+\r
+// should be the last #include\r
+# include "boost/type_traits/detail/bool_trait_def.hpp"\r
+\r
+namespace boost { namespace detail {\r
+\r
+BOOST_MPL_HAS_XXX_TRAIT_DEF(value_type)\r
+BOOST_MPL_HAS_XXX_TRAIT_DEF(reference)\r
+BOOST_MPL_HAS_XXX_TRAIT_DEF(pointer)\r
+BOOST_MPL_HAS_XXX_TRAIT_DEF(difference_type)\r
+BOOST_MPL_HAS_XXX_TRAIT_DEF(iterator_category)\r
+\r
+// is_mutable_iterator --\r
+//\r
+//   A metafunction returning true iff T is a mutable iterator type\r
+//   with a nested value_type. Will only work portably with iterators\r
+//   whose operator* returns a reference, but that seems to be OK for\r
+//   the iterators supplied by Dinkumware. Some input iterators may\r
+//   compile-time if they arrive here, and if the compiler is strict\r
+//   about not taking the address of an rvalue.\r
+\r
+// This one detects ordinary mutable iterators - the result of\r
+// operator* is convertible to the value_type.\r
+template <class T>\r
+type_traits::yes_type is_mutable_iterator_helper(T const*, BOOST_DEDUCED_TYPENAME T::value_type*);\r
+\r
+// Since you can't take the address of an rvalue, the guts of\r
+// is_mutable_iterator_impl will fail if we use &*t directly.  This\r
+// makes sure we can still work with non-lvalue iterators.\r
+template <class T> T* mutable_iterator_lvalue_helper(T& x);\r
+int mutable_iterator_lvalue_helper(...);\r
+\r
+\r
+// This one detects output iterators such as ostream_iterator which\r
+// return references to themselves.\r
+template <class T>\r
+type_traits::yes_type is_mutable_iterator_helper(T const*, T const*);\r
+\r
+type_traits::no_type is_mutable_iterator_helper(...);\r
+\r
+template <class T>\r
+struct is_mutable_iterator_impl\r
+{\r
+    static T t;\r
+    \r
+    BOOST_STATIC_CONSTANT(\r
+        bool, value = sizeof(\r
+            detail::is_mutable_iterator_helper(\r
+                (T*)0\r
+              , mutable_iterator_lvalue_helper(*t) // like &*t\r
+            ))\r
+        == sizeof(type_traits::yes_type)\r
+    );\r
+};\r
+\r
+BOOST_TT_AUX_BOOL_TRAIT_DEF1(\r
+    is_mutable_iterator,T,::boost::detail::is_mutable_iterator_impl<T>::value)\r
+\r
+\r
+// is_full_iterator_traits --\r
+//\r
+//   A metafunction returning true iff T has all the requisite nested\r
+//   types to satisfy the requirements for a fully-conforming\r
+//   iterator_traits implementation.\r
+template <class T>\r
+struct is_full_iterator_traits_impl\r
+{\r
+    enum { value = \r
+           has_value_type<T>::value \r
+           & has_reference<T>::value \r
+           & has_pointer<T>::value \r
+           & has_difference_type<T>::value\r
+           & has_iterator_category<T>::value\r
+    };\r
+};\r
+\r
+BOOST_TT_AUX_BOOL_TRAIT_DEF1(\r
+    is_full_iterator_traits,T,::boost::detail::is_full_iterator_traits_impl<T>::value)\r
+\r
+\r
+#   ifdef BOOST_BAD_CONTAINER_ITERATOR_CATEGORY_TYPEDEF\r
+BOOST_MPL_HAS_XXX_TRAIT_DEF(_Iterator_category)\r
+    \r
+// is_stlport_40_debug_iterator --\r
+//\r
+//   A metafunction returning true iff T has all the requisite nested\r
+//   types to satisfy the requirements of an STLPort 4.0 debug iterator\r
+//   iterator_traits implementation.\r
+template <class T>\r
+struct is_stlport_40_debug_iterator_impl\r
+{\r
+    enum { value = \r
+           has_value_type<T>::value \r
+           & has_reference<T>::value \r
+           & has_pointer<T>::value \r
+           & has_difference_type<T>::value\r
+           & has__Iterator_category<T>::value\r
+    };\r
+};\r
+\r
+BOOST_TT_AUX_BOOL_TRAIT_DEF1(\r
+    is_stlport_40_debug_iterator,T,::boost::detail::is_stlport_40_debug_iterator_impl<T>::value)\r
+\r
+template <class T>\r
+struct stlport_40_debug_iterator_traits\r
+{\r
+    typedef typename T::value_type value_type;\r
+    typedef typename T::reference reference;\r
+    typedef typename T::pointer pointer;\r
+    typedef typename T::difference_type difference_type;\r
+    typedef typename T::_Iterator_category iterator_category;\r
+};\r
+#   endif // BOOST_BAD_CONTAINER_ITERATOR_CATEGORY_TYPEDEF \r
+\r
+template <class T> struct pointer_iterator_traits;\r
+\r
+#   ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+template <class T>\r
+struct pointer_iterator_traits<T*>\r
+{\r
+    typedef typename remove_const<T>::type value_type;\r
+    typedef T* pointer;\r
+    typedef T& reference;\r
+    typedef std::random_access_iterator_tag iterator_category;\r
+    typedef std::ptrdiff_t difference_type;\r
+};\r
+#   else\r
+\r
+// In case of no template partial specialization, and if T is a\r
+// pointer, iterator_traits<T>::value_type can still be computed.  For\r
+// some basic types, remove_pointer is manually defined in\r
+// type_traits/broken_compiler_spec.hpp. For others, do it yourself.\r
+\r
+template<class P> class please_invoke_BOOST_TT_BROKEN_COMPILER_SPEC_on_cv_unqualified_pointee;\r
+\r
+template<class P>\r
+struct pointer_value_type\r
+  : mpl::if_<\r
+        is_same<P, typename remove_pointer<P>::type>\r
+      , please_invoke_BOOST_TT_BROKEN_COMPILER_SPEC_on_cv_unqualified_pointee<P>\r
+      , typename remove_const<\r
+            typename remove_pointer<P>::type\r
+        >::type\r
+    >\r
+{\r
+};\r
+\r
+\r
+template<class P>\r
+struct pointer_reference\r
+  : mpl::if_<\r
+        is_same<P, typename remove_pointer<P>::type>\r
+      , please_invoke_BOOST_TT_BROKEN_COMPILER_SPEC_on_cv_unqualified_pointee<P>\r
+      , typename remove_pointer<P>::type&\r
+    >\r
+{\r
+};\r
+\r
+template <class T>\r
+struct pointer_iterator_traits\r
+{\r
+    typedef T pointer;\r
+    typedef std::random_access_iterator_tag iterator_category;\r
+    typedef std::ptrdiff_t difference_type;\r
+\r
+    typedef typename pointer_value_type<T>::type value_type;\r
+    typedef typename pointer_reference<T>::type reference;\r
+};\r
+\r
+#   endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+\r
+// We'll sort iterator types into one of these classifications, from which we\r
+// can determine the difference_type, pointer, reference, and value_type\r
+template <class Iterator>\r
+struct standard_iterator_traits\r
+{\r
+    typedef typename Iterator::difference_type difference_type;\r
+    typedef typename Iterator::value_type value_type;\r
+    typedef typename Iterator::pointer pointer;\r
+    typedef typename Iterator::reference reference;\r
+    typedef typename Iterator::iterator_category iterator_category;\r
+};\r
+\r
+template <class Iterator>\r
+struct msvc_stdlib_mutable_traits\r
+    : std::iterator_traits<Iterator>\r
+{\r
+    typedef typename std::iterator_traits<Iterator>::distance_type difference_type;\r
+    typedef typename std::iterator_traits<Iterator>::value_type* pointer;\r
+    typedef typename std::iterator_traits<Iterator>::value_type& reference;\r
+};\r
+\r
+template <class Iterator>\r
+struct msvc_stdlib_const_traits\r
+    : std::iterator_traits<Iterator>\r
+{\r
+    typedef typename std::iterator_traits<Iterator>::distance_type difference_type;\r
+    typedef const typename std::iterator_traits<Iterator>::value_type* pointer;\r
+    typedef const typename std::iterator_traits<Iterator>::value_type& reference;\r
+};\r
+\r
+#   ifdef BOOST_BAD_OUTPUT_ITERATOR_SPECIALIZATION\r
+template <class Iterator>\r
+struct is_bad_output_iterator\r
+    : is_base_and_derived<\r
+        std::iterator<std::output_iterator_tag,void,void,void,void>\r
+        , Iterator>\r
+{\r
+};\r
+\r
+struct bad_output_iterator_traits\r
+{\r
+    typedef void value_type;\r
+    typedef void difference_type;\r
+    typedef std::output_iterator_tag iterator_category;\r
+    typedef void pointer;\r
+    typedef void reference;\r
+};\r
+#   endif\r
+\r
+// If we're looking at an MSVC6 (old Dinkumware) ``standard''\r
+// iterator, this will generate an appropriate traits class. \r
+template <class Iterator>\r
+struct msvc_stdlib_iterator_traits\r
+    : mpl::if_<\r
+       is_mutable_iterator<Iterator>\r
+       , msvc_stdlib_mutable_traits<Iterator>\r
+       , msvc_stdlib_const_traits<Iterator>\r
+      >::type\r
+{};\r
+\r
+template <class Iterator>\r
+struct non_pointer_iterator_traits\r
+    : mpl::if_<\r
+        // if the iterator contains all the right nested types...\r
+        is_full_iterator_traits<Iterator>\r
+        // Use a standard iterator_traits implementation\r
+        , standard_iterator_traits<Iterator>\r
+#   ifdef BOOST_BAD_CONTAINER_ITERATOR_CATEGORY_TYPEDEF\r
+        // Check for STLPort 4.0 broken _Iterator_category type\r
+        , mpl::if_<\r
+             is_stlport_40_debug_iterator<Iterator>\r
+             , stlport_40_debug_iterator_traits<Iterator>\r
+#   endif\r
+        // Otherwise, assume it's a Dinkum iterator\r
+        , msvc_stdlib_iterator_traits<Iterator>\r
+#   ifdef BOOST_BAD_CONTAINER_ITERATOR_CATEGORY_TYPEDEF\r
+        >::type\r
+#   endif \r
+    >::type\r
+{\r
+};\r
+\r
+template <class Iterator>\r
+struct iterator_traits_aux\r
+    : mpl::if_<\r
+        is_pointer<Iterator>\r
+        , pointer_iterator_traits<Iterator>\r
+        , non_pointer_iterator_traits<Iterator>\r
+    >::type\r
+{\r
+};\r
+\r
+template <class Iterator>\r
+struct iterator_traits\r
+{\r
+    // Explicit forwarding from base class needed to keep MSVC6 happy\r
+    // under some circumstances.\r
+ private:\r
+#   ifdef BOOST_BAD_OUTPUT_ITERATOR_SPECIALIZATION\r
+    typedef \r
+    typename mpl::if_<\r
+        is_bad_output_iterator<Iterator>\r
+        , bad_output_iterator_traits\r
+        , iterator_traits_aux<Iterator>\r
+    >::type base;\r
+#   else\r
+    typedef iterator_traits_aux<Iterator> base;\r
+#   endif\r
+ public:\r
+    typedef typename base::value_type value_type;\r
+    typedef typename base::pointer pointer;\r
+    typedef typename base::reference reference;\r
+    typedef typename base::difference_type difference_type;\r
+    typedef typename base::iterator_category iterator_category;\r
+};\r
+\r
+// This specialization cuts off ETI (Early Template Instantiation) for MSVC.\r
+template <> struct iterator_traits<int>\r
+{\r
+    typedef int value_type;\r
+    typedef int pointer;\r
+    typedef int reference;\r
+    typedef int difference_type;\r
+    typedef int iterator_category;\r
+};\r
+\r
+}} // namespace boost::detail\r
+\r
+#  endif // workarounds\r
+\r
+namespace boost { namespace detail {\r
+\r
+namespace iterator_traits_\r
+{\r
+  template <class Iterator, class Difference>\r
+  struct distance_select\r
+  {\r
+      static Difference execute(Iterator i1, const Iterator i2, ...)\r
+      {\r
+          Difference result = 0;\r
+          while (i1 != i2)\r
+          {\r
+              ++i1;\r
+              ++result;\r
+          }\r
+          return result;\r
+      }\r
+\r
+      static Difference execute(Iterator i1, const Iterator i2, std::random_access_iterator_tag*)\r
+      {\r
+          return i2 - i1;\r
+      }\r
+  };\r
+} // namespace boost::detail::iterator_traits_\r
+\r
+template <class Iterator>\r
+inline typename iterator_traits<Iterator>::difference_type\r
+distance(Iterator first, Iterator last)\r
+{\r
+    typedef typename iterator_traits<Iterator>::difference_type diff_t;\r
+    typedef typename ::boost::detail::iterator_traits<Iterator>::iterator_category iterator_category;\r
+    \r
+    return iterator_traits_::distance_select<Iterator,diff_t>::execute(\r
+        first, last, (iterator_category*)0);\r
+}\r
+\r
+}}\r
+\r
+# endif\r
+\r
+\r
+# undef BOOST_BAD_CONTAINER_ITERATOR_CATEGORY_TYPEDEF\r
+# undef BOOST_BAD_OUTPUT_ITERATOR_SPECIALIZATION\r
+\r
+#endif // ITERATOR_DWA122600_HPP_\r
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 (file)
index 0000000..895790e
--- /dev/null
@@ -0,0 +1,184 @@
+// Copyright Alexander Nasonov & Paul A. Bristow 2006.\r
+\r
+// Use, modification and distribution are subject to the\r
+// Boost Software License, Version 1.0.\r
+// (See accompanying file LICENSE_1_0.txt\r
+// or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+#ifndef BOOST_DETAIL_LCAST_PRECISION_HPP_INCLUDED\r
+#define BOOST_DETAIL_LCAST_PRECISION_HPP_INCLUDED\r
+\r
+#include <climits>\r
+#include <ios>\r
+#include <limits>\r
+\r
+#include <boost/config.hpp>\r
+#include <boost/integer_traits.hpp>\r
+\r
+#ifndef BOOST_NO_IS_ABSTRACT\r
+// Fix for SF:1358600 - lexical_cast & pure virtual functions & VC 8 STL\r
+#include <boost/mpl/if.hpp>\r
+#include <boost/type_traits/is_abstract.hpp>\r
+#endif\r
+\r
+#if defined(BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS) || \\r
+  (defined(BOOST_MSVC) && (BOOST_MSVC<1310))\r
+\r
+#define BOOST_LCAST_NO_COMPILE_TIME_PRECISION\r
+#endif\r
+\r
+#ifdef BOOST_LCAST_NO_COMPILE_TIME_PRECISION\r
+#include <boost/assert.hpp>\r
+#else\r
+#include <boost/static_assert.hpp>\r
+#endif\r
+\r
+namespace boost { namespace detail {\r
+\r
+class lcast_abstract_stub {};\r
+\r
+#ifndef BOOST_LCAST_NO_COMPILE_TIME_PRECISION\r
+// Calculate an argument to pass to std::ios_base::precision from\r
+// lexical_cast. See alternative implementation for broken standard\r
+// libraries in lcast_get_precision below. Keep them in sync, please.\r
+template<class T>\r
+struct lcast_precision\r
+{\r
+#ifdef BOOST_NO_IS_ABSTRACT\r
+    typedef std::numeric_limits<T> limits; // No fix for SF:1358600.\r
+#else\r
+    typedef BOOST_DEDUCED_TYPENAME boost::mpl::if_<\r
+        boost::is_abstract<T>\r
+      , std::numeric_limits<lcast_abstract_stub>\r
+      , std::numeric_limits<T>\r
+      >::type limits;\r
+#endif\r
+\r
+    BOOST_STATIC_CONSTANT(bool, use_default_precision =\r
+            !limits::is_specialized || limits::is_exact\r
+        );\r
+\r
+    BOOST_STATIC_CONSTANT(bool, is_specialized_bin =\r
+            !use_default_precision &&\r
+            limits::radix == 2 && limits::digits > 0\r
+        );\r
+\r
+    BOOST_STATIC_CONSTANT(bool, is_specialized_dec =\r
+            !use_default_precision &&\r
+            limits::radix == 10 && limits::digits10 > 0\r
+        );\r
+\r
+    BOOST_STATIC_CONSTANT(std::streamsize, streamsize_max =\r
+            boost::integer_traits<std::streamsize>::const_max\r
+        );\r
+\r
+    BOOST_STATIC_CONSTANT(unsigned int, precision_dec = limits::digits10 + 1U);\r
+\r
+    BOOST_STATIC_ASSERT(!is_specialized_dec ||\r
+            precision_dec <= streamsize_max + 0UL\r
+        );\r
+\r
+    BOOST_STATIC_CONSTANT(unsigned long, precision_bin =\r
+            2UL + limits::digits * 30103UL / 100000UL\r
+        );\r
+\r
+    BOOST_STATIC_ASSERT(!is_specialized_bin ||\r
+            (limits::digits + 0UL < ULONG_MAX / 30103UL &&\r
+            precision_bin > limits::digits10 + 0UL &&\r
+            precision_bin <= streamsize_max + 0UL)\r
+        );\r
+\r
+    BOOST_STATIC_CONSTANT(std::streamsize, value =\r
+            is_specialized_bin ? precision_bin\r
+                               : is_specialized_dec ? precision_dec : 6\r
+        );\r
+};\r
+#endif\r
+\r
+template<class T>\r
+inline std::streamsize lcast_get_precision(T* = 0)\r
+{\r
+#ifndef BOOST_LCAST_NO_COMPILE_TIME_PRECISION\r
+    return lcast_precision<T>::value;\r
+#else // Follow lcast_precision algorithm at run-time:\r
+\r
+#ifdef BOOST_NO_IS_ABSTRACT\r
+    typedef std::numeric_limits<T> limits; // No fix for SF:1358600.\r
+#else\r
+    typedef BOOST_DEDUCED_TYPENAME boost::mpl::if_<\r
+        boost::is_abstract<T>\r
+      , std::numeric_limits<lcast_abstract_stub>\r
+      , std::numeric_limits<T>\r
+      >::type limits;\r
+#endif\r
+\r
+    bool const use_default_precision =\r
+        !limits::is_specialized || limits::is_exact;\r
+\r
+    if(!use_default_precision)\r
+    { // Includes all built-in floating-point types, float, double ...\r
+      // and UDT types for which digits (significand bits) is defined (not zero)\r
+\r
+        bool const is_specialized_bin =\r
+            limits::radix == 2 && limits::digits > 0;\r
+        bool const is_specialized_dec =\r
+            limits::radix == 10 && limits::digits10 > 0;\r
+        std::streamsize const streamsize_max =\r
+            (boost::integer_traits<std::streamsize>::max)();\r
+\r
+        if(is_specialized_bin)\r
+        { // Floating-point types with\r
+          // limits::digits defined by the specialization.\r
+\r
+            unsigned long const digits = limits::digits;\r
+            unsigned long const precision = 2UL + digits * 30103UL / 100000UL;\r
+            // unsigned long is selected because it is at least 32-bits\r
+            // and thus ULONG_MAX / 30103UL is big enough for all types.\r
+            BOOST_ASSERT(\r
+                    digits < ULONG_MAX / 30103UL &&\r
+                    precision > limits::digits10 + 0UL &&\r
+                    precision <= streamsize_max + 0UL\r
+                );\r
+            return precision;\r
+        }\r
+        else if(is_specialized_dec)\r
+        {   // Decimal Floating-point type, most likely a User Defined Type\r
+            // rather than a real floating-point hardware type.\r
+            unsigned int const precision = limits::digits10 + 1U;\r
+            BOOST_ASSERT(precision <= streamsize_max + 0UL);\r
+            return precision;\r
+        }\r
+    }\r
+\r
+    // Integral type (for which precision has no effect)\r
+    // or type T for which limits is NOT specialized,\r
+    // so assume stream precision remains the default 6 decimal digits.\r
+    // Warning: if your User-defined Floating-point type T is NOT specialized,\r
+    // then you may lose accuracy by only using 6 decimal digits.\r
+    // To avoid this, you need to specialize T with either\r
+    // radix == 2 and digits == the number of significand bits,\r
+    // OR\r
+    // radix = 10 and digits10 == the number of decimal digits.\r
+\r
+    return 6;\r
+#endif\r
+}\r
+\r
+template<class T>\r
+inline void lcast_set_precision(std::ios_base& stream, T*)\r
+{\r
+    stream.precision(lcast_get_precision<T>());\r
+}\r
+\r
+template<class Source, class Target>\r
+inline void lcast_set_precision(std::ios_base& stream, Source*, Target*)\r
+{\r
+    std::streamsize const s = lcast_get_precision((Source*)0);\r
+    std::streamsize const t = lcast_get_precision((Target*)0);\r
+    stream.precision(s > t ? s : t);\r
+}\r
+\r
+}}\r
+\r
+#endif //  BOOST_DETAIL_LCAST_PRECISION_HPP_INCLUDED\r
+\r
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 (file)
index 0000000..79cd0b2
--- /dev/null
@@ -0,0 +1,22 @@
+#ifndef BOOST_DETAIL_LIGHTWEIGHT_MUTEX_HPP_INCLUDED\r
+#define BOOST_DETAIL_LIGHTWEIGHT_MUTEX_HPP_INCLUDED\r
+\r
+// MS compatible compilers support #pragma once\r
+\r
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)\r
+# pragma once\r
+#endif\r
+\r
+//\r
+//  boost/detail/lightweight_mutex.hpp - lightweight mutex\r
+//\r
+//  Copyright (c) 2002, 2003 Peter Dimov and Multi Media Ltd.\r
+//\r
+//  Distributed under the Boost Software License, Version 1.0.\r
+//  See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt\r
+//\r
+\r
+#include <boost/smart_ptr/detail/lightweight_mutex.hpp>\r
+\r
+#endif // #ifndef BOOST_DETAIL_LIGHTWEIGHT_MUTEX_HPP_INCLUDED\r
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 (file)
index 0000000..6081ec9
--- /dev/null
@@ -0,0 +1,91 @@
+#ifndef BOOST_DETAIL_LIGHTWEIGHT_TEST_HPP_INCLUDED\r
+#define BOOST_DETAIL_LIGHTWEIGHT_TEST_HPP_INCLUDED\r
+\r
+// MS compatible compilers support #pragma once\r
+\r
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)\r
+# pragma once\r
+#endif\r
+\r
+//\r
+//  boost/detail/lightweight_test.hpp - lightweight test library\r
+//\r
+//  Copyright (c) 2002, 2009 Peter Dimov\r
+//\r
+//  Distributed under the Boost Software License, Version 1.0.\r
+//  See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt\r
+//\r
+//  BOOST_TEST(expression)\r
+//  BOOST_ERROR(message)\r
+//  BOOST_TEST_EQ(expr1, expr2)\r
+//\r
+//  int boost::report_errors()\r
+//\r
+\r
+#include <boost/current_function.hpp>\r
+#include <iostream>\r
+\r
+namespace boost\r
+{\r
+\r
+namespace detail\r
+{\r
+\r
+inline int & test_errors()\r
+{\r
+    static int x = 0;\r
+    return x;\r
+}\r
+\r
+inline void test_failed_impl(char const * expr, char const * file, int line, char const * function)\r
+{\r
+    std::cerr << file << "(" << line << "): test '" << expr << "' failed in function '" << function << "'" << std::endl;\r
+    ++test_errors();\r
+}\r
+\r
+inline void error_impl(char const * msg, char const * file, int line, char const * function)\r
+{\r
+    std::cerr << file << "(" << line << "): " << msg << " in function '" << function << "'" << std::endl;\r
+    ++test_errors();\r
+}\r
+\r
+template<class T, class U> 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 )\r
+{\r
+    if( t == u )\r
+    {\r
+    }\r
+    else\r
+    {\r
+        std::cerr << file << "(" << line << "): test '" << expr1 << " == " << expr2\r
+            << "' failed in function '" << function << "': "\r
+            << "'" << t << "' != '" << u << "'" << std::endl;\r
+        ++test_errors();\r
+    }\r
+}\r
+\r
+} // namespace detail\r
+\r
+inline int report_errors()\r
+{\r
+    int errors = detail::test_errors();\r
+\r
+    if( errors == 0 )\r
+    {\r
+        std::cerr << "No errors detected." << std::endl;\r
+        return 0;\r
+    }\r
+    else\r
+    {\r
+        std::cerr << errors << " error" << (errors == 1? "": "s") << " detected." << std::endl;\r
+        return 1;\r
+    }\r
+}\r
+\r
+} // namespace boost\r
+\r
+#define BOOST_TEST(expr) ((expr)? (void)0: ::boost::detail::test_failed_impl(#expr, __FILE__, __LINE__, BOOST_CURRENT_FUNCTION))\r
+#define BOOST_ERROR(msg) ::boost::detail::error_impl(msg, __FILE__, __LINE__, BOOST_CURRENT_FUNCTION)\r
+#define BOOST_TEST_EQ(expr1,expr2) ( ::boost::detail::test_eq_impl(#expr1, #expr2, __FILE__, __LINE__, BOOST_CURRENT_FUNCTION, expr1, expr2) )\r
+\r
+#endif // #ifndef BOOST_DETAIL_LIGHTWEIGHT_TEST_HPP_INCLUDED\r
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 (file)
index 0000000..be5b2c0
--- /dev/null
@@ -0,0 +1,135 @@
+#ifndef BOOST_DETAIL_LIGHTWEIGHT_THREAD_HPP_INCLUDED\r
+#define BOOST_DETAIL_LIGHTWEIGHT_THREAD_HPP_INCLUDED\r
+\r
+// MS compatible compilers support #pragma once\r
+\r
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)\r
+# pragma once\r
+#endif\r
+\r
+//  boost/detail/lightweight_thread.hpp\r
+//\r
+//  Copyright (c) 2002 Peter Dimov and Multi Media Ltd.\r
+//  Copyright (c) 2008 Peter Dimov\r
+//\r
+//  Distributed under the Boost Software License, Version 1.0.\r
+//  See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt\r
+\r
+#include <boost/config.hpp>\r
+#include <memory>\r
+#include <cerrno>\r
+\r
+// pthread_create, pthread_join\r
+\r
+#if defined( BOOST_HAS_PTHREADS )\r
+\r
+#include <pthread.h>\r
+\r
+#else\r
+\r
+#include <windows.h>\r
+#include <process.h>\r
+\r
+typedef HANDLE pthread_t;\r
+\r
+int pthread_create( pthread_t * thread, void const *, unsigned (__stdcall * start_routine) (void*), void* arg )\r
+{\r
+    HANDLE h = (HANDLE)_beginthreadex( 0, 0, start_routine, arg, 0, 0 );\r
+\r
+    if( h != 0 )\r
+    {\r
+        *thread = h;\r
+        return 0;\r
+    }\r
+    else\r
+    {\r
+        return EAGAIN;\r
+    }\r
+}\r
+\r
+int pthread_join( pthread_t thread, void ** /*value_ptr*/ )\r
+{\r
+    ::WaitForSingleObject( thread, INFINITE );\r
+    ::CloseHandle( thread );\r
+    return 0;\r
+}\r
+\r
+#endif\r
+\r
+// template<class F> int lw_thread_create( pthread_t & pt, F f );\r
+\r
+namespace boost\r
+{\r
+\r
+namespace detail\r
+{\r
+\r
+class lw_abstract_thread\r
+{\r
+public:\r
+\r
+    virtual ~lw_abstract_thread() {}\r
+    virtual void run() = 0;\r
+};\r
+\r
+#if defined( BOOST_HAS_PTHREADS )\r
+\r
+extern "C" void * lw_thread_routine( void * pv )\r
+{\r
+    std::auto_ptr<lw_abstract_thread> pt( static_cast<lw_abstract_thread *>( pv ) );\r
+\r
+    pt->run();\r
+\r
+    return 0;\r
+}\r
+\r
+#else\r
+\r
+unsigned __stdcall lw_thread_routine( void * pv )\r
+{\r
+    std::auto_ptr<lw_abstract_thread> pt( static_cast<lw_abstract_thread *>( pv ) );\r
+\r
+    pt->run();\r
+\r
+    return 0;\r
+}\r
+\r
+#endif\r
+\r
+template<class F> class lw_thread_impl: public lw_abstract_thread\r
+{\r
+public:\r
+\r
+    explicit lw_thread_impl( F f ): f_( f )\r
+    {\r
+    }\r
+\r
+    void run()\r
+    {\r
+        f_();\r
+    }\r
+\r
+private:\r
+\r
+    F f_;\r
+};\r
+\r
+template<class F> int lw_thread_create( pthread_t & pt, F f )\r
+{\r
+    std::auto_ptr<lw_abstract_thread> p( new lw_thread_impl<F>( f ) );\r
+\r
+    int r = pthread_create( &pt, 0, lw_thread_routine, p.get() );\r
+\r
+    if( r == 0 )\r
+    {\r
+        p.release();\r
+    }\r
+\r
+    return r;\r
+}\r
+\r
+} // namespace detail\r
+} // namespace boost\r
+\r
+#endif // #ifndef BOOST_DETAIL_LIGHTWEIGHT_THREAD_HPP_INCLUDED\r
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 (file)
index 0000000..4fc66d6
--- /dev/null
@@ -0,0 +1,449 @@
+// Copyright 2001 John Maddock\r
+// Distributed under the Boost Software License, Version 1.0. (See accompany-\r
+// ing file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+/*\r
+ * Copyright (c) 1997\r
+ * Silicon Graphics Computer Systems, Inc.\r
+ *\r
+ * Permission to use, copy, modify, distribute and sell this software\r
+ * and its documentation for any purpose is hereby granted without fee,\r
+ * provided that the above copyright notice appear in all copies and\r
+ * that both that copyright notice and this permission notice appear\r
+ * in supporting documentation.  Silicon Graphics makes no\r
+ * representations about the suitability of this software for any\r
+ * purpose.  It is provided "as is" without express or implied warranty.\r
+ */\r
+\r
+/* NOTE: This is not portable code.  Parts of numeric_limits<> are\r
+ * inherently machine-dependent, and this file is written for the MIPS\r
+ * architecture and the SGI MIPSpro C++ compiler.  Parts of it (in\r
+ * particular, some of the characteristics of floating-point types)\r
+ * are almost certainly incorrect for any other platform.\r
+ */\r
+\r
+/* The above comment is almost certainly out of date. This file works\r
+ * on systems other than SGI MIPSpro C++ now.\r
+ */\r
+\r
+/*\r
+ * Revision history:\r
+ * 21 Sep 2001:\r
+ *    Only include <cwchar> if BOOST_NO_CWCHAR is defined. (Darin Adler)\r
+ * 10 Aug 2001:\r
+ *    Added MIPS (big endian) to the big endian family. (Jens Maurer)\r
+ * 13 Apr 2001:\r
+ *    Added powerpc to the big endian family. (Jeremy Siek)\r
+ * 5 Apr 2001:\r
+ *    Added sparc (big endian) processor support (John Maddock).\r
+ * Initial sub:\r
+ *      Modified by Jens Maurer for gcc 2.95 on x86.\r
+ */\r
+\r
+#ifndef BOOST_SGI_CPP_LIMITS\r
+#define BOOST_SGI_CPP_LIMITS\r
+\r
+#include <climits>\r
+#include <cfloat>\r
+#include <boost/config.hpp>\r
+#include <boost/detail/endian.hpp>\r
+\r
+#ifndef BOOST_NO_CWCHAR\r
+#include <cwchar> // for WCHAR_MIN and WCHAR_MAX\r
+#endif\r
+\r
+namespace std {\r
+\r
+enum float_round_style {\r
+  round_indeterminate       = -1,\r
+  round_toward_zero         =  0,\r
+  round_to_nearest          =  1,\r
+  round_toward_infinity     =  2,\r
+  round_toward_neg_infinity =  3\r
+};\r
+\r
+enum float_denorm_style {\r
+  denorm_indeterminate = -1,\r
+  denorm_absent        =  0,\r
+  denorm_present       =  1\r
+};\r
+\r
+// The C++ standard (section 18.2.1) requires that some of the members of\r
+// numeric_limits be static const data members that are given constant-\r
+// initializers within the class declaration.  On compilers where the\r
+// BOOST_NO_INCLASS_MEMBER_INITIALIZATION macro is defined, it is impossible to write\r
+// a standard-conforming numeric_limits class.\r
+//\r
+// There are two possible workarounds: either initialize the data\r
+// members outside the class, or change them from data members to\r
+// enums.  Neither workaround is satisfactory: the former makes it\r
+// impossible to use the data members in constant-expressions, and the\r
+// latter means they have the wrong type and that it is impossible to\r
+// take their addresses.  We choose the former workaround.\r
+\r
+#ifdef BOOST_NO_INCLASS_MEMBER_INITIALIZATION\r
+# define BOOST_STL_DECLARE_LIMITS_MEMBER(__mem_type, __mem_name, __mem_value) \\r
+  enum { __mem_name = __mem_value }\r
+#else /* BOOST_NO_INCLASS_MEMBER_INITIALIZATION */\r
+# define BOOST_STL_DECLARE_LIMITS_MEMBER(__mem_type, __mem_name, __mem_value) \\r
+  static const __mem_type __mem_name = __mem_value\r
+#endif /* BOOST_NO_INCLASS_MEMBER_INITIALIZATION */\r
+\r
+// Base class for all specializations of numeric_limits.\r
+template <class __number>\r
+class _Numeric_limits_base {\r
+public:\r
+  BOOST_STL_DECLARE_LIMITS_MEMBER(bool, is_specialized, false);\r
+\r
+  static __number min BOOST_PREVENT_MACRO_SUBSTITUTION () throw() { return __number(); }\r
+  static __number max BOOST_PREVENT_MACRO_SUBSTITUTION () throw() { return __number(); }\r
+\r
+  BOOST_STL_DECLARE_LIMITS_MEMBER(int, digits,   0);\r
+  BOOST_STL_DECLARE_LIMITS_MEMBER(int, digits10, 0);\r
+\r
+  BOOST_STL_DECLARE_LIMITS_MEMBER(bool, is_signed,  false);\r
+  BOOST_STL_DECLARE_LIMITS_MEMBER(bool, is_integer, false);\r
+  BOOST_STL_DECLARE_LIMITS_MEMBER(bool, is_exact,   false);\r
+\r
+  BOOST_STL_DECLARE_LIMITS_MEMBER(int, radix, 0);\r
+\r
+  static __number epsilon() throw()     { return __number(); }\r
+  static __number round_error() throw() { return __number(); }\r
+\r
+  BOOST_STL_DECLARE_LIMITS_MEMBER(int, min_exponent,   0);\r
+  BOOST_STL_DECLARE_LIMITS_MEMBER(int, min_exponent10, 0);\r
+  BOOST_STL_DECLARE_LIMITS_MEMBER(int, max_exponent,   0);\r
+  BOOST_STL_DECLARE_LIMITS_MEMBER(int, max_exponent10, 0);\r
+\r
+  BOOST_STL_DECLARE_LIMITS_MEMBER(bool, has_infinity,      false);\r
+  BOOST_STL_DECLARE_LIMITS_MEMBER(bool, has_quiet_NaN,     false);\r
+  BOOST_STL_DECLARE_LIMITS_MEMBER(bool, has_signaling_NaN, false);\r
+  BOOST_STL_DECLARE_LIMITS_MEMBER(float_denorm_style,\r
+                              has_denorm,\r
+                              denorm_absent);\r
+  BOOST_STL_DECLARE_LIMITS_MEMBER(bool, has_denorm_loss,   false);\r
+\r
+  static __number infinity() throw()      { return __number(); }\r
+  static __number quiet_NaN() throw()     { return __number(); }\r
+  static __number signaling_NaN() throw() { return __number(); }\r
+  static __number denorm_min() throw()    { return __number(); }\r
+\r
+  BOOST_STL_DECLARE_LIMITS_MEMBER(bool, is_iec559,  false);\r
+  BOOST_STL_DECLARE_LIMITS_MEMBER(bool, is_bounded, false);\r
+  BOOST_STL_DECLARE_LIMITS_MEMBER(bool, is_modulo,  false);\r
+\r
+  BOOST_STL_DECLARE_LIMITS_MEMBER(bool, traps,            false);\r
+  BOOST_STL_DECLARE_LIMITS_MEMBER(bool, tinyness_before,  false);\r
+  BOOST_STL_DECLARE_LIMITS_MEMBER(float_round_style,\r
+                              round_style,\r
+                              round_toward_zero);\r
+};\r
+\r
+// Base class for integers.\r
+\r
+template <class _Int,\r
+          _Int __imin,\r
+          _Int __imax,\r
+          int __idigits = -1>\r
+class _Integer_limits : public _Numeric_limits_base<_Int> \r
+{\r
+public:\r
+  BOOST_STL_DECLARE_LIMITS_MEMBER(bool, is_specialized, true);\r
+\r
+  static _Int min BOOST_PREVENT_MACRO_SUBSTITUTION () throw() { return __imin; }\r
+  static _Int max BOOST_PREVENT_MACRO_SUBSTITUTION () throw() { return __imax; }\r
+\r
+  BOOST_STL_DECLARE_LIMITS_MEMBER(int,\r
+                              digits,\r
+                              (__idigits < 0) ? (int)(sizeof(_Int) * CHAR_BIT)\r
+                                                   - (__imin == 0 ? 0 : 1) \r
+                                              : __idigits);\r
+  BOOST_STL_DECLARE_LIMITS_MEMBER(int, digits10, (digits * 301) / 1000); \r
+                                // log 2 = 0.301029995664...\r
+\r
+  BOOST_STL_DECLARE_LIMITS_MEMBER(bool, is_signed,  __imin != 0);\r
+  BOOST_STL_DECLARE_LIMITS_MEMBER(bool, is_integer, true);\r
+  BOOST_STL_DECLARE_LIMITS_MEMBER(bool, is_exact,   true);\r
+  BOOST_STL_DECLARE_LIMITS_MEMBER(int,  radix,      2);\r
+\r
+  BOOST_STL_DECLARE_LIMITS_MEMBER(bool, is_bounded, true);\r
+  BOOST_STL_DECLARE_LIMITS_MEMBER(bool, is_modulo, true);\r
+};\r
+\r
+#if defined(BOOST_BIG_ENDIAN)\r
+\r
+ template<class Number, unsigned int Word>\r
+ struct float_helper{\r
+  static Number get_word() throw() {\r
+    // sizeof(long double) == 16\r
+    const unsigned int _S_word[4] = { Word, 0, 0, 0 };\r
+    return *reinterpret_cast<const Number*>(&_S_word);\r
+  } \r
+};\r
+\r
+#else\r
+\r
+ template<class Number, unsigned int Word>\r
+ struct float_helper{\r
+  static Number get_word() throw() {\r
+    // sizeof(long double) == 12, but only 10 bytes significant\r
+    const unsigned int _S_word[4] = { 0, 0, 0, Word };\r
+    return *reinterpret_cast<const Number*>(\r
+        reinterpret_cast<const char *>(&_S_word)+16-\r
+                (sizeof(Number) == 12 ? 10 : sizeof(Number)));\r
+  } \r
+};\r
+\r
+#endif\r
+\r
+// Base class for floating-point numbers.\r
+template <class __number,\r
+         int __Digits, int __Digits10,\r
+         int __MinExp, int __MaxExp,\r
+         int __MinExp10, int __MaxExp10,\r
+         unsigned int __InfinityWord,\r
+         unsigned int __QNaNWord, unsigned int __SNaNWord,\r
+         bool __IsIEC559,\r
+         float_round_style __RoundStyle>\r
+class _Floating_limits : public _Numeric_limits_base<__number>\r
+{\r
+public:\r
+  BOOST_STL_DECLARE_LIMITS_MEMBER(bool, is_specialized, true);\r
+\r
+  BOOST_STL_DECLARE_LIMITS_MEMBER(int, digits,   __Digits);\r
+  BOOST_STL_DECLARE_LIMITS_MEMBER(int, digits10, __Digits10);\r
+\r
+  BOOST_STL_DECLARE_LIMITS_MEMBER(bool, is_signed, true);\r
+\r
+  BOOST_STL_DECLARE_LIMITS_MEMBER(int, radix, 2);\r
+\r
+  BOOST_STL_DECLARE_LIMITS_MEMBER(int, min_exponent,   __MinExp);\r
+  BOOST_STL_DECLARE_LIMITS_MEMBER(int, max_exponent,   __MaxExp);\r
+  BOOST_STL_DECLARE_LIMITS_MEMBER(int, min_exponent10, __MinExp10);\r
+  BOOST_STL_DECLARE_LIMITS_MEMBER(int, max_exponent10, __MaxExp10);\r
+\r
+  BOOST_STL_DECLARE_LIMITS_MEMBER(bool, has_infinity,      true);\r
+  BOOST_STL_DECLARE_LIMITS_MEMBER(bool, has_quiet_NaN,     true);\r
+  BOOST_STL_DECLARE_LIMITS_MEMBER(bool, has_signaling_NaN, true);\r
+  BOOST_STL_DECLARE_LIMITS_MEMBER(float_denorm_style,\r
+                              has_denorm,\r
+                              denorm_indeterminate);\r
+  BOOST_STL_DECLARE_LIMITS_MEMBER(bool, has_denorm_loss,   false);\r
+\r
\r
+  static __number infinity() throw() {\r
+    return float_helper<__number, __InfinityWord>::get_word();\r
+  }\r
+  static __number quiet_NaN() throw() {\r
+    return float_helper<__number,__QNaNWord>::get_word();\r
+  }\r
+  static __number signaling_NaN() throw() {\r
+    return float_helper<__number,__SNaNWord>::get_word();\r
+  }\r
+\r
+  BOOST_STL_DECLARE_LIMITS_MEMBER(bool, is_iec559,       __IsIEC559);\r
+  BOOST_STL_DECLARE_LIMITS_MEMBER(bool, is_bounded,      true);\r
+  BOOST_STL_DECLARE_LIMITS_MEMBER(bool, traps,           false /* was: true */ );\r
+  BOOST_STL_DECLARE_LIMITS_MEMBER(bool, tinyness_before, false);\r
+\r
+  BOOST_STL_DECLARE_LIMITS_MEMBER(float_round_style, round_style, __RoundStyle);\r
+};\r
+\r
+// Class numeric_limits\r
+\r
+// The unspecialized class.\r
+\r
+template<class T> \r
+class numeric_limits : public _Numeric_limits_base<T> {};\r
+\r
+// Specializations for all built-in integral types.\r
+\r
+template<>\r
+class numeric_limits<bool>\r
+  : public _Integer_limits<bool, false, true, 0>\r
+{};\r
+\r
+template<>\r
+class numeric_limits<char>\r
+  : public _Integer_limits<char, CHAR_MIN, CHAR_MAX>\r
+{};\r
+\r
+template<>\r
+class numeric_limits<signed char>\r
+  : public _Integer_limits<signed char, SCHAR_MIN, SCHAR_MAX>\r
+{};\r
+\r
+template<>\r
+class numeric_limits<unsigned char>\r
+  : public _Integer_limits<unsigned char, 0, UCHAR_MAX>\r
+{};\r
+\r
+#ifndef BOOST_NO_INTRINSIC_WCHAR_T\r
+template<>\r
+class numeric_limits<wchar_t>\r
+#if !defined(WCHAR_MAX) || !defined(WCHAR_MIN)\r
+#if defined(_WIN32) || defined(__CYGWIN__)\r
+  : public _Integer_limits<wchar_t, 0, USHRT_MAX>\r
+#elif defined(__hppa)\r
+// wchar_t has "unsigned int" as the underlying type\r
+  : public _Integer_limits<wchar_t, 0, UINT_MAX>\r
+#else\r
+// assume that wchar_t has "int" as the underlying type\r
+  : public _Integer_limits<wchar_t, INT_MIN, INT_MAX>\r
+#endif\r
+#else\r
+// we have WCHAR_MIN and WCHAR_MAX defined, so use it\r
+  : public _Integer_limits<wchar_t, WCHAR_MIN, WCHAR_MAX>\r
+#endif\r
+{};\r
+#endif\r
+\r
+template<>\r
+class numeric_limits<short>\r
+  : public _Integer_limits<short, SHRT_MIN, SHRT_MAX>\r
+{};\r
+\r
+template<>\r
+class numeric_limits<unsigned short>\r
+  : public _Integer_limits<unsigned short, 0, USHRT_MAX>\r
+{};\r
+\r
+template<>\r
+class numeric_limits<int>\r
+  : public _Integer_limits<int, INT_MIN, INT_MAX>\r
+{};\r
+\r
+template<>\r
+class numeric_limits<unsigned int>\r
+  : public _Integer_limits<unsigned int, 0, UINT_MAX>\r
+{};\r
+\r
+template<>\r
+class numeric_limits<long>\r
+  : public _Integer_limits<long, LONG_MIN, LONG_MAX>\r
+{};\r
+\r
+template<>\r
+class numeric_limits<unsigned long>\r
+  : public _Integer_limits<unsigned long, 0, ULONG_MAX>\r
+{};\r
+\r
+#ifdef __GNUC__\r
+\r
+// Some compilers have long long, but don't define the\r
+// LONGLONG_MIN and LONGLONG_MAX macros in limits.h.  This\r
+// assumes that long long is 64 bits.\r
+#if !defined(LONGLONG_MAX) && !defined(ULONGLONG_MAX)\r
+\r
+# define ULONGLONG_MAX 0xffffffffffffffffLLU\r
+# define LONGLONG_MAX 0x7fffffffffffffffLL\r
+\r
+#endif\r
+\r
+#if !defined(LONGLONG_MIN)\r
+# define LONGLONG_MIN (-LONGLONG_MAX - 1)\r
+#endif \r
+\r
+\r
+#if !defined(ULONGLONG_MIN)\r
+# define ULONGLONG_MIN 0\r
+#endif \r
+\r
+#endif /* __GNUC__ */\r
+\r
+// Specializations for all built-in floating-point type.\r
+\r
+template<> class numeric_limits<float>\r
+  : public _Floating_limits<float, \r
+                            FLT_MANT_DIG,   // Binary digits of precision\r
+                            FLT_DIG,        // Decimal digits of precision\r
+                            FLT_MIN_EXP,    // Minimum exponent\r
+                            FLT_MAX_EXP,    // Maximum exponent\r
+                            FLT_MIN_10_EXP, // Minimum base 10 exponent\r
+                            FLT_MAX_10_EXP, // Maximum base 10 exponent\r
+#if defined(BOOST_BIG_ENDIAN)\r
+                            0x7f80 << (sizeof(int)*CHAR_BIT-16),    // Last word of +infinity\r
+                            0x7f81 << (sizeof(int)*CHAR_BIT-16),    // Last word of quiet NaN\r
+                            0x7fc1 << (sizeof(int)*CHAR_BIT-16),    // Last word of signaling NaN\r
+#else\r
+                            0x7f800000u,    // Last word of +infinity\r
+                            0x7f810000u,    // Last word of quiet NaN\r
+                            0x7fc10000u,    // Last word of signaling NaN\r
+#endif\r
+                            true,           // conforms to iec559\r
+                            round_to_nearest>\r
+{\r
+public:\r
+  static float min BOOST_PREVENT_MACRO_SUBSTITUTION () throw() { return FLT_MIN; }\r
+  static float denorm_min() throw() { return FLT_MIN; }\r
+  static float max BOOST_PREVENT_MACRO_SUBSTITUTION () throw() { return FLT_MAX; }\r
+  static float epsilon() throw() { return FLT_EPSILON; }\r
+  static float round_error() throw() { return 0.5f; } // Units: ulps.\r
+};\r
+\r
+template<> class numeric_limits<double>\r
+  : public _Floating_limits<double, \r
+                            DBL_MANT_DIG,   // Binary digits of precision\r
+                            DBL_DIG,        // Decimal digits of precision\r
+                            DBL_MIN_EXP,    // Minimum exponent\r
+                            DBL_MAX_EXP,    // Maximum exponent\r
+                            DBL_MIN_10_EXP, // Minimum base 10 exponent\r
+                            DBL_MAX_10_EXP, // Maximum base 10 exponent\r
+#if defined(BOOST_BIG_ENDIAN)\r
+                            0x7ff0 << (sizeof(int)*CHAR_BIT-16),    // Last word of +infinity\r
+                            0x7ff1 << (sizeof(int)*CHAR_BIT-16),    // Last word of quiet NaN\r
+                            0x7ff9 << (sizeof(int)*CHAR_BIT-16),    // Last word of signaling NaN\r
+#else\r
+                            0x7ff00000u,    // Last word of +infinity\r
+                            0x7ff10000u,    // Last word of quiet NaN\r
+                            0x7ff90000u,    // Last word of signaling NaN\r
+#endif\r
+                            true,           // conforms to iec559\r
+                            round_to_nearest>\r
+{\r
+public:\r
+  static double min BOOST_PREVENT_MACRO_SUBSTITUTION () throw() { return DBL_MIN; }\r
+  static double denorm_min() throw() { return DBL_MIN; }\r
+  static double max BOOST_PREVENT_MACRO_SUBSTITUTION () throw() { return DBL_MAX; }\r
+  static double epsilon() throw() { return DBL_EPSILON; }\r
+  static double round_error() throw() { return 0.5; } // Units: ulps.\r
+};\r
+\r
+template<> class numeric_limits<long double>\r
+  : public _Floating_limits<long double, \r
+                            LDBL_MANT_DIG,  // Binary digits of precision\r
+                            LDBL_DIG,       // Decimal digits of precision\r
+                            LDBL_MIN_EXP,   // Minimum exponent\r
+                            LDBL_MAX_EXP,   // Maximum exponent\r
+                            LDBL_MIN_10_EXP,// Minimum base 10 exponent\r
+                            LDBL_MAX_10_EXP,// Maximum base 10 exponent\r
+#if defined(BOOST_BIG_ENDIAN)\r
+                            0x7ff0 << (sizeof(int)*CHAR_BIT-16),    // Last word of +infinity\r
+                            0x7ff1 << (sizeof(int)*CHAR_BIT-16),    // Last word of quiet NaN\r
+                            0x7ff9 << (sizeof(int)*CHAR_BIT-16),    // Last word of signaling NaN\r
+#else\r
+                            0x7fff8000u,    // Last word of +infinity\r
+                            0x7fffc000u,    // Last word of quiet NaN\r
+                            0x7fff9000u,    // Last word of signaling NaN\r
+#endif\r
+                            false,          // Doesn't conform to iec559\r
+                            round_to_nearest>\r
+{\r
+public:\r
+  static long double min BOOST_PREVENT_MACRO_SUBSTITUTION () throw() { return LDBL_MIN; }\r
+  static long double denorm_min() throw() { return LDBL_MIN; }\r
+  static long double max BOOST_PREVENT_MACRO_SUBSTITUTION () throw() { return LDBL_MAX; }\r
+  static long double epsilon() throw() { return LDBL_EPSILON; }\r
+  static long double round_error() throw() { return 4; } // Units: ulps.\r
+};\r
+\r
+} // namespace std\r
+\r
+#endif /* BOOST_SGI_CPP_LIMITS */\r
+\r
+// Local Variables:\r
+// mode:C++\r
+// End:\r
+\r
+\r
+\r
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 (file)
index 0000000..0c2c947
--- /dev/null
@@ -0,0 +1,177 @@
+// (C) Copyright Jeremy Siek 2001.\r
+// Distributed under the Boost Software License, Version 1.0. (See\r
+// accompanying file LICENSE_1_0.txt or copy at\r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+// Revision History:\r
+\r
+// 04 Oct 2001   David Abrahams\r
+//      Changed name of "bind" to "select" to avoid problems with MSVC.\r
+\r
+#ifndef BOOST_DETAIL_NAMED_TEMPLATE_PARAMS_HPP\r
+#define BOOST_DETAIL_NAMED_TEMPLATE_PARAMS_HPP\r
+\r
+#include <boost/type_traits/conversion_traits.hpp>\r
+#include <boost/type_traits/composite_traits.hpp> // for is_reference\r
+#if defined(__BORLANDC__)\r
+#include <boost/type_traits/ice.hpp>\r
+#endif\r
+\r
+namespace boost {\r
+  namespace detail {\r
+    \r
+    struct default_argument { };\r
+\r
+    struct dummy_default_gen {\r
+      template <class Base, class Traits>\r
+      struct select {\r
+        typedef default_argument type;\r
+      };\r
+    };\r
+\r
+   // This class template is a workaround for MSVC.\r
+   template <class Gen> struct default_generator {\r
+     typedef detail::dummy_default_gen type;\r
+   };\r
+\r
+    template <class T> struct is_default { \r
+      enum { value = false };  \r
+      typedef type_traits::no_type type;\r
+    };\r
+    template <> struct is_default<default_argument> { \r
+      enum { value = true }; \r
+      typedef type_traits::yes_type type;\r
+    };\r
+\r
+    struct choose_default {\r
+      template <class Arg, class DefaultGen, class Base, class Traits>\r
+      struct select {\r
+        typedef typename default_generator<DefaultGen>::type Gen;\r
+        typedef typename Gen::template select<Base,Traits>::type type;\r
+      };\r
+    };\r
+    struct choose_arg {\r
+      template <class Arg, class DefaultGen, class Base, class Traits>\r
+      struct select {\r
+        typedef Arg type;\r
+      };\r
+    };\r
+\r
+#if defined(__BORLANDC__)\r
+    template <class UseDefault>\r
+    struct choose_arg_or_default { typedef choose_arg type; };\r
+    template <>\r
+    struct choose_arg_or_default<type_traits::yes_type> {\r
+      typedef choose_default type;\r
+    };\r
+#else\r
+    template <bool UseDefault>\r
+    struct choose_arg_or_default { typedef choose_arg type; };\r
+    template <>\r
+    struct choose_arg_or_default<true> {\r
+      typedef choose_default type;\r
+    };\r
+#endif\r
+    \r
+    template <class Arg, class DefaultGen, class Base, class Traits>\r
+    class resolve_default {\r
+#if defined(__BORLANDC__)\r
+      typedef typename choose_arg_or_default<typename is_default<Arg>::type>::type Selector;\r
+#else\r
+      // This usually works for Borland, but I'm seeing weird errors in\r
+      // iterator_adaptor_test.cpp when using this method.\r
+      enum { is_def = is_default<Arg>::value };\r
+      typedef typename choose_arg_or_default<is_def>::type Selector;\r
+#endif\r
+    public:\r
+      typedef typename Selector\r
+        ::template select<Arg, DefaultGen, Base, Traits>::type type;\r
+    };\r
+\r
+    // To differentiate an unnamed parameter from a traits generator\r
+    // we use is_convertible<X, iter_traits_gen_base>.\r
+    struct named_template_param_base { };\r
+\r
+    template <class X>\r
+    struct is_named_param_list {\r
+      enum { value  = is_convertible<X, named_template_param_base>::value };\r
+    };\r
+    \r
+    struct choose_named_params {\r
+      template <class Prev> struct select { typedef Prev type; };\r
+    };\r
+    struct choose_default_arg {\r
+      template <class Prev> struct select { \r
+        typedef detail::default_argument type;\r
+      };\r
+    };\r
+\r
+    template <bool Named> struct choose_default_dispatch_;\r
+    template <> struct choose_default_dispatch_<true> {\r
+      typedef choose_named_params type;\r
+    };\r
+    template <> struct choose_default_dispatch_<false> {\r
+      typedef choose_default_arg type;\r
+    };\r
+    // The use of inheritance here is a Solaris Forte 6 workaround.\r
+    template <bool Named> struct choose_default_dispatch\r
+      : public choose_default_dispatch_<Named> { };\r
+\r
+    template <class PreviousArg>\r
+    struct choose_default_argument {\r
+      enum { is_named = is_named_param_list<PreviousArg>::value };\r
+      typedef typename choose_default_dispatch<is_named>::type Selector;\r
+      typedef typename Selector::template select<PreviousArg>::type type;\r
+    };\r
+\r
+    // This macro assumes that there is a class named default_##TYPE\r
+    // defined before the application of the macro.  This class should\r
+    // have a single member class template named "select" with two\r
+    // template parameters: the type of the class being created (e.g.,\r
+    // the iterator_adaptor type when creating iterator adaptors) and\r
+    // a traits class. The select class should have a single typedef\r
+    // named "type" that produces the default for TYPE.  See\r
+    // boost/iterator_adaptors.hpp for an example usage.  Also,\r
+    // applications of this macro must be placed in namespace\r
+    // boost::detail.\r
+\r
+#define BOOST_NAMED_TEMPLATE_PARAM(TYPE) \\r
+    struct get_##TYPE##_from_named { \\r
+      template <class Base, class NamedParams, class Traits> \\r
+      struct select { \\r
+          typedef typename NamedParams::traits NamedTraits; \\r
+          typedef typename NamedTraits::TYPE TYPE; \\r
+          typedef typename resolve_default<TYPE, \\r
+            default_##TYPE, Base, NamedTraits>::type type; \\r
+      }; \\r
+    }; \\r
+    struct pass_thru_##TYPE { \\r
+      template <class Base, class Arg, class Traits> struct select { \\r
+          typedef typename resolve_default<Arg, \\r
+            default_##TYPE, Base, Traits>::type type; \\r
+      };\\r
+    }; \\r
+    template <int NamedParam> \\r
+    struct get_##TYPE##_dispatch { }; \\r
+    template <> struct get_##TYPE##_dispatch<1> { \\r
+      typedef get_##TYPE##_from_named type; \\r
+    }; \\r
+    template <> struct get_##TYPE##_dispatch<0> { \\r
+      typedef pass_thru_##TYPE type; \\r
+    }; \\r
+    template <class Base, class X, class Traits>  \\r
+    class get_##TYPE { \\r
+      enum { is_named = is_named_param_list<X>::value }; \\r
+      typedef typename get_##TYPE##_dispatch<is_named>::type Selector; \\r
+    public: \\r
+      typedef typename Selector::template select<Base, X, Traits>::type type; \\r
+    }; \\r
+    template <> struct default_generator<default_##TYPE> { \\r
+      typedef default_##TYPE type; \\r
+    }\r
+\r
+    \r
+  } // namespace detail\r
+} // namespace boost\r
+\r
+#endif // BOOST_DETAIL_NAMED_TEMPLATE_PARAMS_HPP\r
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 (file)
index 0000000..702407f
--- /dev/null
@@ -0,0 +1,87 @@
+#ifndef BOOST_DETAIL_NO_EXCEPTIONS_SUPPORT_HPP_\r
+#define BOOST_DETAIL_NO_EXCEPTIONS_SUPPORT_HPP_\r
+\r
+#if (defined _MSC_VER) && (_MSC_VER >= 1200)\r
+#  pragma once\r
+#endif\r
+\r
+//----------------------------------------------------------------------\r
+// (C) Copyright 2004 Pavel Vozenilek.\r
+// Use, modification and distribution is subject to the Boost Software\r
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt\r
+// or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+//\r
+// This file contains helper macros used when exception support may be\r
+// disabled (as indicated by macro BOOST_NO_EXCEPTIONS).\r
+//\r
+// Before picking up these macros you may consider using RAII techniques\r
+// to deal with exceptions - their syntax can be always the same with \r
+// or without exception support enabled.\r
+//\r
+\r
+/* Example of use:\r
+\r
+void foo() {\r
+  BOOST_TRY {\r
+    ...\r
+  } BOOST_CATCH(const std::bad_alloc&) {\r
+      ...\r
+      BOOST_RETHROW\r
+  } BOOST_CATCH(const std::exception& e) {\r
+      ...\r
+  }\r
+  BOOST_CATCH_END\r
+}\r
+\r
+With exception support enabled it will expand into:\r
+\r
+void foo() {\r
+  { try {\r
+    ...\r
+  } catch (const std::bad_alloc&) {\r
+      ...\r
+      throw;\r
+  } catch (const std::exception& e) {\r
+      ...\r
+  }\r
+  }\r
+}\r
+\r
+With exception support disabled it will expand into:\r
+\r
+void foo() {\r
+  { if(true) {\r
+    ...\r
+  } else if (false) {\r
+      ...\r
+  } else if (false)  {\r
+      ...\r
+  }\r
+  }\r
+}\r
+*/\r
+//----------------------------------------------------------------------\r
+\r
+#include <boost/config.hpp>\r
+#include <boost/detail/workaround.hpp>\r
+\r
+#if !(defined BOOST_NO_EXCEPTIONS)\r
+#    define BOOST_TRY { try\r
+#    define BOOST_CATCH(x) catch(x)\r
+#    define BOOST_RETHROW throw;\r
+#    define BOOST_CATCH_END }\r
+#else\r
+#    if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))\r
+#        define BOOST_TRY { if ("")\r
+#        define BOOST_CATCH(x) else if (!"")\r
+#    else\r
+#        define BOOST_TRY { if (true)\r
+#        define BOOST_CATCH(x) else if (false)\r
+#    endif\r
+#    define BOOST_RETHROW\r
+#    define BOOST_CATCH_END }\r
+#endif\r
+\r
+\r
+#endif \r
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 (file)
index 0000000..e48bd36
--- /dev/null
@@ -0,0 +1,28 @@
+// Copyright (C) 2003, Fernando Luis Cacciola Carballal.\r
+//\r
+// Use, modification, and distribution is subject to the Boost Software\r
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/lib/optional for documentation.\r
+//\r
+// You are welcome to contact the author at:\r
+//  fernando_cacciola@hotmail.com\r
+//\r
+#ifndef BOOST_DETAIL_NONE_T_17SEP2003_HPP\r
+#define BOOST_DETAIL_NONE_T_17SEP2003_HPP\r
+\r
+namespace boost {\r
+\r
+namespace detail {\r
+\r
+struct none_helper{};\r
+\r
+typedef int none_helper::*none_t ;\r
+\r
+} // namespace detail\r
+\r
+} // namespace boost\r
+\r
+#endif\r
+\r
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 (file)
index 0000000..a44db9e
--- /dev/null
@@ -0,0 +1,191 @@
+// (C) Copyright David Abrahams 2001, Howard Hinnant 2001.\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. (See\r
+// accompanying file LICENSE_1_0.txt or copy at\r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// Template class numeric_traits<Number> --\r
+//\r
+//    Supplies:\r
+//\r
+//      typedef difference_type -- a type used to represent the difference\r
+//      between any two values of Number.\r
+//\r
+//    Support:\r
+//      1. Not all specializations are supplied\r
+//\r
+//      2. Use of specializations that are not supplied will cause a\r
+//      compile-time error\r
+//\r
+//      3. Users are free to specialize numeric_traits for any type.\r
+//\r
+//      4. Right now, specializations are only supplied for integer types.\r
+//\r
+//      5. On implementations which do not supply compile-time constants in\r
+//      std::numeric_limits<>, only specializations for built-in integer types\r
+//      are supplied.\r
+//\r
+//      6. Handling of numbers whose range of representation is at least as\r
+//      great as boost::intmax_t can cause some differences to be\r
+//      unrepresentable in difference_type:\r
+//\r
+//        Number    difference_type\r
+//        ------    ---------------\r
+//        signed    Number\r
+//        unsigned  intmax_t\r
+//\r
+// template <class Number> typename numeric_traits<Number>::difference_type\r
+// numeric_distance(Number x, Number y)\r
+//    computes (y - x), attempting to avoid overflows.\r
+//\r
+\r
+// See http://www.boost.org for most recent version including documentation.\r
+\r
+// Revision History\r
+// 11 Feb 2001 - Use BOOST_STATIC_CONSTANT (David Abrahams)\r
+// 11 Feb 2001 - Rolled back ineffective Borland-specific code\r
+//               (David Abrahams)\r
+// 10 Feb 2001 - Rolled in supposed Borland fixes from John Maddock, but\r
+//               not seeing any improvement yet (David Abrahams)\r
+// 06 Feb 2001 - Factored if_true out into boost/detail/select_type.hpp\r
+//               (David Abrahams)\r
+// 23 Jan 2001 - Fixed logic of difference_type selection, which was\r
+//               completely wack. In the process, added digit_traits<>\r
+//               to compute the number of digits in intmax_t even when\r
+//               not supplied by numeric_limits<>. (David Abrahams)\r
+// 21 Jan 2001 - Created (David Abrahams)\r
+\r
+#ifndef BOOST_NUMERIC_TRAITS_HPP_DWA20001901\r
+# define BOOST_NUMERIC_TRAITS_HPP_DWA20001901\r
+\r
+# include <boost/config.hpp>\r
+# include <boost/cstdint.hpp>\r
+# include <boost/static_assert.hpp>\r
+# include <boost/type_traits.hpp>\r
+# include <boost/detail/select_type.hpp>\r
+# include <boost/limits.hpp>\r
+\r
+namespace boost { namespace detail {\r
+\r
+  // Template class is_signed -- determine whether a numeric type is signed\r
+  // Requires that T is constructable from the literals -1 and 0.  Compile-time\r
+  // error results if that requirement is not met (and thus signedness is not\r
+  // likely to have meaning for that type).\r
+  template <class Number>\r
+  struct is_signed\r
+  {\r
+#if defined(BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS) || defined(BOOST_MSVC) && BOOST_MSVC <= 1300\r
+    BOOST_STATIC_CONSTANT(bool, value = (Number(-1) < Number(0)));\r
+#else\r
+    BOOST_STATIC_CONSTANT(bool, value = std::numeric_limits<Number>::is_signed);\r
+#endif\r
+  };\r
+\r
+# ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS\r
+  // digit_traits - compute the number of digits in a built-in integer\r
+  // type. Needed for implementations on which numeric_limits is not specialized\r
+  // for intmax_t (e.g. VC6).\r
+  template <bool is_specialized> struct digit_traits_select;\r
+\r
+  // numeric_limits is specialized; just select that version of digits\r
+  template <> struct digit_traits_select<true>\r
+  {\r
+      template <class T> struct traits\r
+      {\r
+          BOOST_STATIC_CONSTANT(int, digits = std::numeric_limits<T>::digits);\r
+      };\r
+  };\r
+\r
+  // numeric_limits is not specialized; compute digits from sizeof(T)\r
+  template <> struct digit_traits_select<false>\r
+  {\r
+      template <class T> struct traits\r
+      {\r
+          BOOST_STATIC_CONSTANT(int, digits = (\r
+              sizeof(T) * std::numeric_limits<unsigned char>::digits\r
+              - (is_signed<T>::value ? 1 : 0))\r
+              );\r
+      };\r
+  };\r
+\r
+  // here's the "usable" template\r
+  template <class T> struct digit_traits\r
+  {\r
+      typedef digit_traits_select<\r
+                ::std::numeric_limits<T>::is_specialized> selector;\r
+      typedef typename selector::template traits<T> traits;\r
+      BOOST_STATIC_CONSTANT(int, digits = traits::digits);\r
+  };\r
+#endif\r
+\r
+  // Template class integer_traits<Integer> -- traits of various integer types\r
+  // This should probably be rolled into boost::integer_traits one day, but I\r
+  // need it to work without <limits>\r
+  template <class Integer>\r
+  struct integer_traits\r
+  {\r
+# ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS\r
+   private:\r
+      typedef Integer integer_type;\r
+      typedef std::numeric_limits<integer_type> x;\r
+#   if defined(BOOST_MSVC) && BOOST_MSVC <= 1300\r
+      // for some reason, MSVC asserts when it shouldn't unless we make these\r
+      // local definitions\r
+      BOOST_STATIC_CONSTANT(bool, is_integer = x::is_integer);\r
+      BOOST_STATIC_CONSTANT(bool, is_specialized = x::is_specialized);\r
+      \r
+      BOOST_STATIC_ASSERT(is_integer);\r
+      BOOST_STATIC_ASSERT(is_specialized);\r
+#   endif\r
+   public:\r
+      typedef typename\r
+      if_true<(int(x::is_signed)\r
+              && (!int(x::is_bounded)\r
+                 // digits is the number of no-sign bits\r
+                  || (int(x::digits) + 1 >= digit_traits<boost::intmax_t>::digits)))>::template then<\r
+        Integer,\r
+          \r
+      typename if_true<(int(x::digits) + 1 < digit_traits<signed int>::digits)>::template then<\r
+        signed int,\r
+\r
+      typename if_true<(int(x::digits) + 1 < digit_traits<signed long>::digits)>::template then<\r
+        signed long,\r
+\r
+   // else\r
+        intmax_t\r
+      >::type>::type>::type difference_type;\r
+#else\r
+      BOOST_STATIC_ASSERT(boost::is_integral<Integer>::value);\r
+\r
+      typedef typename\r
+      if_true<(sizeof(Integer) >= sizeof(intmax_t))>::template then<\r
+               \r
+        typename if_true<(is_signed<Integer>::value)>::template then<\r
+          Integer,\r
+          intmax_t\r
+        >::type,\r
+\r
+        typename if_true<(sizeof(Integer) < sizeof(std::ptrdiff_t))>::template then<\r
+          std::ptrdiff_t,\r
+          intmax_t\r
+        >::type\r
+      >::type difference_type;\r
+# endif\r
+  };\r
+\r
+  // Right now, only supports integers, but should be expanded.\r
+  template <class Number>\r
+  struct numeric_traits\r
+  {\r
+      typedef typename integer_traits<Number>::difference_type difference_type;\r
+  };\r
+\r
+  template <class Number>\r
+  typename numeric_traits<Number>::difference_type numeric_distance(Number x, Number y)\r
+  {\r
+      typedef typename numeric_traits<Number>::difference_type difference_type;\r
+      return difference_type(y) - difference_type(x);\r
+  }\r
+}}\r
+\r
+#endif // BOOST_NUMERIC_TRAITS_HPP_DWA20001901\r
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 (file)
index 0000000..eaf9cbe
--- /dev/null
@@ -0,0 +1,168 @@
+//  (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.\r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/utility for most recent version including documentation.\r
+//\r
+//  Crippled version for crippled compilers:\r
+//  see libs/utility/call_traits.htm\r
+//\r
+\r
+/* Release notes:\r
+   01st October 2000:\r
+      Fixed call_traits on VC6, using "poor man's partial specialisation",\r
+      using ideas taken from "Generative programming" by Krzysztof Czarnecki \r
+      & Ulrich Eisenecker.\r
+*/\r
+\r
+#ifndef BOOST_OB_CALL_TRAITS_HPP\r
+#define BOOST_OB_CALL_TRAITS_HPP\r
+\r
+#ifndef BOOST_CONFIG_HPP\r
+#include <boost/config.hpp>\r
+#endif\r
+\r
+#ifndef BOOST_ARITHMETIC_TYPE_TRAITS_HPP\r
+#include <boost/type_traits/arithmetic_traits.hpp>\r
+#endif\r
+#ifndef BOOST_COMPOSITE_TYPE_TRAITS_HPP\r
+#include <boost/type_traits/composite_traits.hpp>\r
+#endif\r
+\r
+namespace boost{\r
+\r
+#ifdef BOOST_MSVC6_MEMBER_TEMPLATES\r
+//\r
+// use member templates to emulate\r
+// partial specialisation:\r
+//\r
+namespace detail{\r
+\r
+template <class T>\r
+struct standard_call_traits\r
+{\r
+   typedef T value_type;\r
+   typedef T& reference;\r
+   typedef const T& const_reference;\r
+   typedef const T& param_type;\r
+};\r
+template <class T>\r
+struct simple_call_traits\r
+{\r
+   typedef T value_type;\r
+   typedef T& reference;\r
+   typedef const T& const_reference;\r
+   typedef const T param_type;\r
+};\r
+template <class T>\r
+struct reference_call_traits\r
+{\r
+   typedef T value_type;\r
+   typedef T reference;\r
+   typedef T const_reference;\r
+   typedef T param_type;\r
+};\r
+\r
+template <bool pointer, bool arithmetic, bool reference>\r
+struct call_traits_chooser\r
+{\r
+   template <class T>\r
+   struct rebind\r
+   {\r
+      typedef standard_call_traits<T> type;\r
+   };\r
+};\r
+\r
+template <>\r
+struct call_traits_chooser<true, false, false>\r
+{\r
+   template <class T>\r
+   struct rebind\r
+   {\r
+      typedef simple_call_traits<T> type;\r
+   };\r
+};\r
+\r
+template <>\r
+struct call_traits_chooser<false, false, true>\r
+{\r
+   template <class T>\r
+   struct rebind\r
+   {\r
+      typedef reference_call_traits<T> type;\r
+   };\r
+};\r
+\r
+template <bool size_is_small> \r
+struct call_traits_sizeof_chooser2\r
+{\r
+   template <class T>\r
+   struct small_rebind\r
+   {\r
+      typedef simple_call_traits<T> small_type;\r
+   };\r
+};\r
+\r
+template<> \r
+struct call_traits_sizeof_chooser2<false>\r
+{\r
+   template <class T>\r
+   struct small_rebind\r
+   {\r
+      typedef standard_call_traits<T> small_type;\r
+   };\r
+};\r
+\r
+template <>\r
+struct call_traits_chooser<false, true, false>\r
+{\r
+   template <class T>\r
+   struct rebind\r
+   {\r
+      enum { sizeof_choice = (sizeof(T) <= sizeof(void*)) };\r
+      typedef call_traits_sizeof_chooser2<(sizeof(T) <= sizeof(void*))> chooser;\r
+      typedef typename chooser::template small_rebind<T> bound_type;\r
+      typedef typename bound_type::small_type type;\r
+   };\r
+};\r
+\r
+} // namespace detail\r
+template <typename T>\r
+struct call_traits\r
+{\r
+private:\r
+    typedef detail::call_traits_chooser<\r
+         ::boost::is_pointer<T>::value,\r
+         ::boost::is_arithmetic<T>::value, \r
+         ::boost::is_reference<T>::value\r
+      > chooser;\r
+   typedef typename chooser::template rebind<T> bound_type;\r
+   typedef typename bound_type::type call_traits_type;\r
+public:\r
+   typedef typename call_traits_type::value_type       value_type;\r
+   typedef typename call_traits_type::reference        reference;\r
+   typedef typename call_traits_type::const_reference  const_reference;\r
+   typedef typename call_traits_type::param_type       param_type;\r
+};\r
+\r
+#else\r
+//\r
+// sorry call_traits is completely non-functional\r
+// blame your broken compiler:\r
+//\r
+\r
+template <typename T>\r
+struct call_traits\r
+{\r
+   typedef T value_type;\r
+   typedef T& reference;\r
+   typedef const T& const_reference;\r
+   typedef const T& param_type;\r
+};\r
+\r
+#endif // member templates\r
+\r
+}\r
+\r
+#endif // BOOST_OB_CALL_TRAITS_HPP\r
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 (file)
index 0000000..51346f7
--- /dev/null
@@ -0,0 +1,510 @@
+//  (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.\r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/utility for most recent version including documentation.\r
+//  see libs/utility/compressed_pair.hpp\r
+//\r
+/* Release notes:\r
+   20 Jan 2001:\r
+        Fixed obvious bugs (David Abrahams)\r
+   07 Oct 2000:\r
+      Added better single argument constructor support.\r
+   03 Oct 2000:\r
+      Added VC6 support (JM).\r
+   23rd July 2000:\r
+      Additional comments added. (JM)\r
+   Jan 2000:\r
+      Original version: this version crippled for use with crippled compilers\r
+      - John Maddock Jan 2000.\r
+*/\r
+\r
+\r
+#ifndef BOOST_OB_COMPRESSED_PAIR_HPP\r
+#define BOOST_OB_COMPRESSED_PAIR_HPP\r
+\r
+#include <algorithm>\r
+#ifndef BOOST_OBJECT_TYPE_TRAITS_HPP\r
+#include <boost/type_traits/object_traits.hpp>\r
+#endif\r
+#ifndef BOOST_SAME_TRAITS_HPP\r
+#include <boost/type_traits/same_traits.hpp>\r
+#endif\r
+#ifndef BOOST_CALL_TRAITS_HPP\r
+#include <boost/call_traits.hpp>\r
+#endif\r
+\r
+namespace boost\r
+{\r
+#ifdef BOOST_MSVC6_MEMBER_TEMPLATES\r
+//\r
+// use member templates to emulate\r
+// partial specialisation.  Note that due to\r
+// problems with overload resolution with VC6\r
+// each of the compressed_pair versions that follow\r
+// have one template single-argument constructor\r
+// in place of two specific constructors:\r
+//\r
+\r
+template <class T1, class T2>\r
+class compressed_pair;\r
+\r
+namespace detail{\r
+\r
+template <class A, class T1, class T2>\r
+struct best_conversion_traits\r
+{\r
+   typedef char one;\r
+   typedef char (&two)[2];\r
+   static A a;\r
+   static one test(T1);\r
+   static two test(T2);\r
+\r
+   enum { value = sizeof(test(a)) };\r
+};\r
+\r
+template <int>\r
+struct init_one;\r
+\r
+template <>\r
+struct init_one<1>\r
+{\r
+   template <class A, class T1, class T2>\r
+   static void init(const A& a, T1* p1, T2*)\r
+   {\r
+      *p1 = a;\r
+   }\r
+};\r
+\r
+template <>\r
+struct init_one<2>\r
+{\r
+   template <class A, class T1, class T2>\r
+   static void init(const A& a, T1*, T2* p2)\r
+   {\r
+      *p2 = a;\r
+   }\r
+};\r
+\r
+\r
+// T1 != T2, both non-empty\r
+template <class T1, class T2>\r
+class compressed_pair_0\r
+{\r
+private:\r
+   T1 _first;\r
+   T2 _second;\r
+public:\r
+   typedef T1                                                 first_type;\r
+   typedef T2                                                 second_type;\r
+   typedef typename call_traits<first_type>::param_type       first_param_type;\r
+   typedef typename call_traits<second_type>::param_type      second_param_type;\r
+   typedef typename call_traits<first_type>::reference        first_reference;\r
+   typedef typename call_traits<second_type>::reference       second_reference;\r
+   typedef typename call_traits<first_type>::const_reference  first_const_reference;\r
+   typedef typename call_traits<second_type>::const_reference second_const_reference;\r
+\r
+            compressed_pair_0() : _first(), _second() {}\r
+            compressed_pair_0(first_param_type x, second_param_type y) : _first(x), _second(y) {}\r
+   template <class A>\r
+   explicit compressed_pair_0(const A& val)\r
+   {\r
+      init_one<best_conversion_traits<A, T1, T2>::value>::init(val, &_first, &_second);\r
+   }\r
+   compressed_pair_0(const ::boost::compressed_pair<T1,T2>& x)\r
+      : _first(x.first()), _second(x.second()) {}\r
+\r
+#if 0\r
+  compressed_pair_0& operator=(const compressed_pair_0& x) {\r
+    cout << "assigning compressed pair 0" << endl;\r
+    _first = x._first;\r
+    _second = x._second;\r
+    cout << "finished assigning compressed pair 0" << endl;\r
+    return *this;\r
+  }\r
+#endif\r
+\r
+   first_reference       first()       { return _first; }\r
+   first_const_reference first() const { return _first; }\r
+\r
+   second_reference       second()       { return _second; }\r
+   second_const_reference second() const { return _second; }\r
+\r
+   void swap(compressed_pair_0& y)\r
+   {\r
+      using std::swap;\r
+      swap(_first, y._first);\r
+      swap(_second, y._second);\r
+   }\r
+};\r
+\r
+// T1 != T2, T2 empty\r
+template <class T1, class T2>\r
+class compressed_pair_1 : T2\r
+{\r
+private:\r
+   T1 _first;\r
+public:\r
+   typedef T1                                                 first_type;\r
+   typedef T2                                                 second_type;\r
+   typedef typename call_traits<first_type>::param_type       first_param_type;\r
+   typedef typename call_traits<second_type>::param_type      second_param_type;\r
+   typedef typename call_traits<first_type>::reference        first_reference;\r
+   typedef typename call_traits<second_type>::reference       second_reference;\r
+   typedef typename call_traits<first_type>::const_reference  first_const_reference;\r
+   typedef typename call_traits<second_type>::const_reference second_const_reference;\r
+\r
+            compressed_pair_1() : T2(), _first() {}\r
+            compressed_pair_1(first_param_type x, second_param_type y) : T2(y), _first(x) {}\r
+\r
+   template <class A>\r
+   explicit compressed_pair_1(const A& val)\r
+   {\r
+      init_one<best_conversion_traits<A, T1, T2>::value>::init(val, &_first, static_cast<T2*>(this));\r
+   }\r
+\r
+   compressed_pair_1(const ::boost::compressed_pair<T1,T2>& x)\r
+      : T2(x.second()), _first(x.first()) {}\r
+\r
+#if defined(BOOST_MSVC) && BOOST_MSVC <= 1300\r
+  // Total weirdness. If the assignment to _first is moved after\r
+  // the call to the inherited operator=, then this breaks graph/test/graph.cpp\r
+  // by way of iterator_adaptor.\r
+  compressed_pair_1& operator=(const compressed_pair_1& x) {\r
+    _first = x._first;\r
+    T2::operator=(x);\r
+    return *this;\r
+  }\r
+#endif\r
+\r
+   first_reference       first()       { return _first; }\r
+   first_const_reference first() const { return _first; }\r
+\r
+   second_reference       second()       { return *this; }\r
+   second_const_reference second() const { return *this; }\r
+\r
+   void swap(compressed_pair_1& y)\r
+   {\r
+      // no need to swap empty base class:\r
+      using std::swap;\r
+      swap(_first, y._first);\r
+   }\r
+};\r
+\r
+// T1 != T2, T1 empty\r
+template <class T1, class T2>\r
+class compressed_pair_2 : T1\r
+{\r
+private:\r
+   T2 _second;\r
+public:\r
+   typedef T1                                                 first_type;\r
+   typedef T2                                                 second_type;\r
+   typedef typename call_traits<first_type>::param_type       first_param_type;\r
+   typedef typename call_traits<second_type>::param_type      second_param_type;\r
+   typedef typename call_traits<first_type>::reference        first_reference;\r
+   typedef typename call_traits<second_type>::reference       second_reference;\r
+   typedef typename call_traits<first_type>::const_reference  first_const_reference;\r
+   typedef typename call_traits<second_type>::const_reference second_const_reference;\r
+\r
+            compressed_pair_2() : T1(), _second() {}\r
+            compressed_pair_2(first_param_type x, second_param_type y) : T1(x), _second(y) {}\r
+   template <class A>\r
+   explicit compressed_pair_2(const A& val)\r
+   {\r
+      init_one<best_conversion_traits<A, T1, T2>::value>::init(val, static_cast<T1*>(this), &_second);\r
+   }\r
+   compressed_pair_2(const ::boost::compressed_pair<T1,T2>& x)\r
+      : T1(x.first()), _second(x.second()) {}\r
+\r
+#if 0\r
+  compressed_pair_2& operator=(const compressed_pair_2& x) {\r
+    cout << "assigning compressed pair 2" << endl;\r
+    T1::operator=(x);\r
+    _second = x._second;\r
+    cout << "finished assigning compressed pair 2" << endl;\r
+    return *this;\r
+  }\r
+#endif\r
+   first_reference       first()       { return *this; }\r
+   first_const_reference first() const { return *this; }\r
+\r
+   second_reference       second()       { return _second; }\r
+   second_const_reference second() const { return _second; }\r
+\r
+   void swap(compressed_pair_2& y)\r
+   {\r
+      // no need to swap empty base class:\r
+      using std::swap;\r
+      swap(_second, y._second);\r
+   }\r
+};\r
+\r
+// T1 != T2, both empty\r
+template <class T1, class T2>\r
+class compressed_pair_3 : T1, T2\r
+{\r
+public:\r
+   typedef T1                                                 first_type;\r
+   typedef T2                                                 second_type;\r
+   typedef typename call_traits<first_type>::param_type       first_param_type;\r
+   typedef typename call_traits<second_type>::param_type      second_param_type;\r
+   typedef typename call_traits<first_type>::reference        first_reference;\r
+   typedef typename call_traits<second_type>::reference       second_reference;\r
+   typedef typename call_traits<first_type>::const_reference  first_const_reference;\r
+   typedef typename call_traits<second_type>::const_reference second_const_reference;\r
+\r
+            compressed_pair_3() : T1(), T2() {}\r
+            compressed_pair_3(first_param_type x, second_param_type y) : T1(x), T2(y) {}\r
+   template <class A>\r
+   explicit compressed_pair_3(const A& val)\r
+   {\r
+      init_one<best_conversion_traits<A, T1, T2>::value>::init(val, static_cast<T1*>(this), static_cast<T2*>(this));\r
+   }\r
+   compressed_pair_3(const ::boost::compressed_pair<T1,T2>& x)\r
+      : T1(x.first()), T2(x.second()) {}\r
+\r
+   first_reference       first()       { return *this; }\r
+   first_const_reference first() const { return *this; }\r
+\r
+   second_reference       second()       { return *this; }\r
+   second_const_reference second() const { return *this; }\r
+\r
+   void swap(compressed_pair_3& y)\r
+   {\r
+      // no need to swap empty base classes:\r
+   }\r
+};\r
+\r
+// T1 == T2, and empty\r
+template <class T1, class T2>\r
+class compressed_pair_4 : T1\r
+{\r
+public:\r
+   typedef T1                                                 first_type;\r
+   typedef T2                                                 second_type;\r
+   typedef typename call_traits<first_type>::param_type       first_param_type;\r
+   typedef typename call_traits<second_type>::param_type      second_param_type;\r
+   typedef typename call_traits<first_type>::reference        first_reference;\r
+   typedef typename call_traits<second_type>::reference       second_reference;\r
+   typedef typename call_traits<first_type>::const_reference  first_const_reference;\r
+   typedef typename call_traits<second_type>::const_reference second_const_reference;\r
+\r
+            compressed_pair_4() : T1() {}\r
+            compressed_pair_4(first_param_type x, second_param_type y) : T1(x), m_second(y) {}\r
+   // only one single argument constructor since T1 == T2\r
+   explicit compressed_pair_4(first_param_type x) : T1(x), m_second(x) {}\r
+   compressed_pair_4(const ::boost::compressed_pair<T1,T2>& x)\r
+      : T1(x.first()), m_second(x.second()) {}\r
+\r
+   first_reference       first()       { return *this; }\r
+   first_const_reference first() const { return *this; }\r
+\r
+   second_reference       second()       { return m_second; }\r
+   second_const_reference second() const { return m_second; }\r
+\r
+   void swap(compressed_pair_4& y)\r
+   {\r
+      // no need to swap empty base classes:\r
+   }\r
+private:\r
+   T2 m_second;\r
+};\r
+\r
+// T1 == T2, not empty\r
+template <class T1, class T2>\r
+class compressed_pair_5\r
+{\r
+private:\r
+   T1 _first;\r
+   T2 _second;\r
+public:\r
+   typedef T1                                                 first_type;\r
+   typedef T2                                                 second_type;\r
+   typedef typename call_traits<first_type>::param_type       first_param_type;\r
+   typedef typename call_traits<second_type>::param_type      second_param_type;\r
+   typedef typename call_traits<first_type>::reference        first_reference;\r
+   typedef typename call_traits<second_type>::reference       second_reference;\r
+   typedef typename call_traits<first_type>::const_reference  first_const_reference;\r
+   typedef typename call_traits<second_type>::const_reference second_const_reference;\r
+\r
+            compressed_pair_5() : _first(), _second() {}\r
+            compressed_pair_5(first_param_type x, second_param_type y) : _first(x), _second(y) {}\r
+   // only one single argument constructor since T1 == T2\r
+   explicit compressed_pair_5(first_param_type x) : _first(x), _second(x) {}\r
+   compressed_pair_5(const ::boost::compressed_pair<T1,T2>& c) \r
+      : _first(c.first()), _second(c.second()) {}\r
+\r
+   first_reference       first()       { return _first; }\r
+   first_const_reference first() const { return _first; }\r
+\r
+   second_reference       second()       { return _second; }\r
+   second_const_reference second() const { return _second; }\r
+\r
+   void swap(compressed_pair_5& y)\r
+   {\r
+      using std::swap;\r
+      swap(_first, y._first);\r
+      swap(_second, y._second);\r
+   }\r
+};\r
+\r
+template <bool e1, bool e2, bool same>\r
+struct compressed_pair_chooser\r
+{\r
+   template <class T1, class T2>\r
+   struct rebind\r
+   {\r
+      typedef compressed_pair_0<T1, T2> type;\r
+   };\r
+};\r
+\r
+template <>\r
+struct compressed_pair_chooser<false, true, false>\r
+{\r
+   template <class T1, class T2>\r
+   struct rebind\r
+   {\r
+      typedef compressed_pair_1<T1, T2> type;\r
+   };\r
+};\r
+\r
+template <>\r
+struct compressed_pair_chooser<true, false, false>\r
+{\r
+   template <class T1, class T2>\r
+   struct rebind\r
+   {\r
+      typedef compressed_pair_2<T1, T2> type;\r
+   };\r
+};\r
+\r
+template <>\r
+struct compressed_pair_chooser<true, true, false>\r
+{\r
+   template <class T1, class T2>\r
+   struct rebind\r
+   {\r
+      typedef compressed_pair_3<T1, T2> type;\r
+   };\r
+};\r
+\r
+template <>\r
+struct compressed_pair_chooser<true, true, true>\r
+{\r
+   template <class T1, class T2>\r
+   struct rebind\r
+   {\r
+      typedef compressed_pair_4<T1, T2> type;\r
+   };\r
+};\r
+\r
+template <>\r
+struct compressed_pair_chooser<false, false, true>\r
+{\r
+   template <class T1, class T2>\r
+   struct rebind\r
+   {\r
+      typedef compressed_pair_5<T1, T2> type;\r
+   };\r
+};\r
+\r
+template <class T1, class T2>\r
+struct compressed_pair_traits\r
+{\r
+private:\r
+   typedef compressed_pair_chooser<is_empty<T1>::value, is_empty<T2>::value, is_same<T1,T2>::value> chooser;\r
+   typedef typename chooser::template rebind<T1, T2> bound_type;\r
+public:\r
+   typedef typename bound_type::type type;\r
+};\r
+\r
+} // namespace detail\r
+\r
+template <class T1, class T2>\r
+class compressed_pair : public detail::compressed_pair_traits<T1, T2>::type\r
+{\r
+private:\r
+   typedef typename detail::compressed_pair_traits<T1, T2>::type base_type;\r
+public:\r
+   typedef T1                                                 first_type;\r
+   typedef T2                                                 second_type;\r
+   typedef typename call_traits<first_type>::param_type       first_param_type;\r
+   typedef typename call_traits<second_type>::param_type      second_param_type;\r
+   typedef typename call_traits<first_type>::reference        first_reference;\r
+   typedef typename call_traits<second_type>::reference       second_reference;\r
+   typedef typename call_traits<first_type>::const_reference  first_const_reference;\r
+   typedef typename call_traits<second_type>::const_reference second_const_reference;\r
+\r
+            compressed_pair() : base_type() {}\r
+            compressed_pair(first_param_type x, second_param_type y) : base_type(x, y) {}\r
+   template <class A>\r
+   explicit compressed_pair(const A& x) : base_type(x){}\r
+\r
+   first_reference       first()       { return base_type::first(); }\r
+   first_const_reference first() const { return base_type::first(); }\r
+\r
+   second_reference       second()       { return base_type::second(); }\r
+   second_const_reference second() const { return base_type::second(); }\r
+};\r
+\r
+template <class T1, class T2>\r
+inline void swap(compressed_pair<T1, T2>& x, compressed_pair<T1, T2>& y)\r
+{\r
+   x.swap(y);\r
+}\r
+\r
+#else\r
+// no partial specialisation, no member templates:\r
+\r
+template <class T1, class T2>\r
+class compressed_pair\r
+{\r
+private:\r
+   T1 _first;\r
+   T2 _second;\r
+public:\r
+   typedef T1                                                 first_type;\r
+   typedef T2                                                 second_type;\r
+   typedef typename call_traits<first_type>::param_type       first_param_type;\r
+   typedef typename call_traits<second_type>::param_type      second_param_type;\r
+   typedef typename call_traits<first_type>::reference        first_reference;\r
+   typedef typename call_traits<second_type>::reference       second_reference;\r
+   typedef typename call_traits<first_type>::const_reference  first_const_reference;\r
+   typedef typename call_traits<second_type>::const_reference second_const_reference;\r
+\r
+            compressed_pair() : _first(), _second() {}\r
+            compressed_pair(first_param_type x, second_param_type y) : _first(x), _second(y) {}\r
+   explicit compressed_pair(first_param_type x) : _first(x), _second() {}\r
+   // can't define this in case T1 == T2:\r
+   // explicit compressed_pair(second_param_type y) : _first(), _second(y) {}\r
+\r
+   first_reference       first()       { return _first; }\r
+   first_const_reference first() const { return _first; }\r
+\r
+   second_reference       second()       { return _second; }\r
+   second_const_reference second() const { return _second; }\r
+\r
+   void swap(compressed_pair& y)\r
+   {\r
+      using std::swap;\r
+      swap(_first, y._first);\r
+      swap(_second, y._second);\r
+   }\r
+};\r
+\r
+template <class T1, class T2>\r
+inline void swap(compressed_pair<T1, T2>& x, compressed_pair<T1, T2>& y)\r
+{\r
+   x.swap(y);\r
+}\r
+\r
+#endif\r
+\r
+} // boost\r
+\r
+#endif // BOOST_OB_COMPRESSED_PAIR_HPP\r
+\r
+\r
+\r
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 (file)
index 0000000..70b1843
--- /dev/null
@@ -0,0 +1,23 @@
+#ifndef BOOST_DETAIL_QUICK_ALLOCATOR_HPP_INCLUDED\r
+#define BOOST_DETAIL_QUICK_ALLOCATOR_HPP_INCLUDED\r
+\r
+// MS compatible compilers support #pragma once\r
+\r
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)\r
+# pragma once\r
+#endif\r
+\r
+//\r
+//  detail/quick_allocator.hpp\r
+//\r
+//  Copyright (c) 2003 David Abrahams\r
+//  Copyright (c) 2003 Peter Dimov\r
+//\r
+//  Distributed under the Boost Software License, Version 1.0.\r
+//  See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt\r
+//\r
+\r
+#include <boost/smart_ptr/detail/quick_allocator.hpp>\r
+\r
+#endif  // #ifndef BOOST_DETAIL_QUICK_ALLOCATOR_HPP_INCLUDED\r
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 (file)
index 0000000..eae9f04
--- /dev/null
@@ -0,0 +1,141 @@
+//-----------------------------------------------------------------------------\r
+// boost detail/reference_content.hpp header file\r
+// See http://www.boost.org for updates, documentation, and revision history.\r
+//-----------------------------------------------------------------------------\r
+//\r
+// Copyright (c) 2003\r
+// Eric Friedman\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. (See\r
+// accompanying file LICENSE_1_0.txt or copy at\r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+#ifndef BOOST_DETAIL_REFERENCE_CONTENT_HPP\r
+#define BOOST_DETAIL_REFERENCE_CONTENT_HPP\r
+\r
+#include "boost/config.hpp"\r
+\r
+#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)\r
+#   include "boost/mpl/bool.hpp"\r
+#   include "boost/type_traits/has_nothrow_copy.hpp"\r
+#else\r
+#   include "boost/mpl/if.hpp"\r
+#   include "boost/type_traits/is_reference.hpp"\r
+#endif\r
+\r
+#include "boost/mpl/void.hpp"\r
+\r
+namespace boost {\r
+\r
+namespace detail {\r
+\r
+///////////////////////////////////////////////////////////////////////////////\r
+// (detail) class template reference_content\r
+//\r
+// Non-Assignable wrapper for references.\r
+//\r
+template <typename RefT>\r
+class reference_content\r
+{\r
+private: // representation\r
+\r
+    RefT content_;\r
+\r
+public: // structors\r
+\r
+    ~reference_content()\r
+    {\r
+    }\r
+\r
+    reference_content(RefT r)\r
+        : content_( r )\r
+    {\r
+    }\r
+\r
+    reference_content(const reference_content& operand)\r
+        : content_( operand.content_ )\r
+    {\r
+    }\r
+\r
+private: // non-Assignable\r
+\r
+    reference_content& operator=(const reference_content&);\r
+\r
+public: // queries\r
+\r
+    RefT get() const\r
+    {\r
+        return content_;\r
+    }\r
+\r
+};\r
+\r
+///////////////////////////////////////////////////////////////////////////////\r
+// (detail) metafunction make_reference_content\r
+//\r
+// Wraps with reference_content if specified type is reference.\r
+//\r
+\r
+template <typename T = mpl::void_> struct make_reference_content;\r
+\r
+#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)\r
+\r
+template <typename T>\r
+struct make_reference_content\r
+{\r
+    typedef T type;\r
+};\r
+\r
+template <typename T>\r
+struct make_reference_content< T& >\r
+{\r
+    typedef reference_content<T&> type;\r
+};\r
+\r
+#else // defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)\r
+\r
+template <typename T>\r
+struct make_reference_content\r
+    : mpl::if_<\r
+          is_reference<T>\r
+        , reference_content<T>\r
+        , T\r
+        >\r
+{\r
+};\r
+\r
+#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION workaround\r
+\r
+template <>\r
+struct make_reference_content< mpl::void_ >\r
+{\r
+    template <typename T>\r
+    struct apply\r
+        : make_reference_content<T>\r
+    {\r
+    };\r
+\r
+    typedef mpl::void_ type;\r
+};\r
+\r
+} // namespace detail\r
+\r
+///////////////////////////////////////////////////////////////////////////////\r
+// reference_content<T&> type traits specializations\r
+//\r
+\r
+#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)\r
+\r
+template <typename T>\r
+struct has_nothrow_copy<\r
+      ::boost::detail::reference_content< T& >\r
+    >\r
+    : mpl::true_\r
+{\r
+};\r
+\r
+#endif // !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)\r
+\r
+} // namespace boost\r
+\r
+#endif // BOOST_DETAIL_REFERENCE_CONTENT_HPP\r
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 (file)
index 0000000..e5fe984
--- /dev/null
@@ -0,0 +1,56 @@
+//  scoped_enum_emulation.hpp  ---------------------------------------------------------//\r
+\r
+//  Copyright Beman Dawes, 2009\r
+\r
+//  Distributed under the Boost Software License, Version 1.0.\r
+//  See http://www.boost.org/LICENSE_1_0.txt\r
+\r
+//  Generates C++0x scoped enums if the feature is present, otherwise emulates C++0x\r
+//  scoped enums with C++03 namespaces and enums. The Boost.Config BOOST_NO_SCOPED_ENUMS\r
+//  macro is used to detect feature support.\r
+//\r
+//  See http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2347.pdf for a\r
+//  description of the scoped enum feature. Note that the committee changed the name\r
+//  from strongly typed enum to scoped enum.  \r
+//\r
+//  Caution: only the syntax is emulated; the semantics are not emulated and\r
+//  the syntax emulation doesn't include being able to specify the underlying\r
+//  representation type.\r
+//\r
+//  The emulation is via struct rather than namespace to allow use within classes.\r
+//  Thanks to Andrey Semashev for pointing that out.\r
+//\r
+//  Helpful comments and suggestions were also made by Kjell Elster, Phil Endecott,\r
+//  Joel Falcou, Mathias Gaunard, Felipe Magno de Almeida, Matt Calabrese, Vincente\r
+//  Botet, and Daniel James. \r
+//\r
+//  Sample usage:\r
+//\r
+//     BOOST_SCOPED_ENUM_START(algae) { green, red, cyan }; BOOST_SCOPED_ENUM_END\r
+//     ...\r
+//     BOOST_SCOPED_ENUM(algae) sample( algae::red );\r
+//     void foo( BOOST_SCOPED_ENUM(algae) color );\r
+//     ...\r
+//     sample = algae::green;\r
+//     foo( algae::cyan );\r
+\r
+#ifndef BOOST_SCOPED_ENUM_EMULATION_HPP\r
+#define BOOST_SCOPED_ENUM_EMULATION_HPP\r
+\r
+#include <boost/config.hpp>\r
+\r
+#ifdef BOOST_NO_SCOPED_ENUMS\r
+\r
+# define BOOST_SCOPED_ENUM_START(name) struct name { enum enum_t\r
+# define BOOST_SCOPED_ENUM_END };\r
+# define BOOST_SCOPED_ENUM(name) name::enum_t\r
+\r
+#else\r
+\r
+# define BOOST_SCOPED_ENUM_START(name) enum class name\r
+# define BOOST_SCOPED_ENUM_END\r
+# define BOOST_SCOPED_ENUM(name) name\r
+\r
+#endif\r
+\r
+#endif  // BOOST_SCOPED_ENUM_EMULATION_HPP\r
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 (file)
index 0000000..01c9436
--- /dev/null
@@ -0,0 +1,36 @@
+// (C) Copyright David Abrahams 2001.\r
+// Distributed under the Boost Software License, Version 1.0. (See\r
+// accompanying file LICENSE_1_0.txt or copy at\r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org for most recent version including documentation.\r
+\r
+// Revision History\r
+// 09 Feb 01  Applied John Maddock's Borland patch Moving <true>\r
+//            specialization to unspecialized template (David Abrahams)\r
+// 06 Feb 01  Created (David Abrahams)\r
+\r
+#ifndef SELECT_TYPE_DWA20010206_HPP\r
+# define SELECT_TYPE_DWA20010206_HPP\r
+\r
+namespace boost { namespace detail {\r
+\r
+  // Template class if_true -- select among 2 types based on a bool constant expression\r
+  // Usage:\r
+  //   typename if_true<(bool_const_expression)>::template then<true_type, false_type>::type\r
+\r
+  // HP aCC cannot deal with missing names for template value parameters\r
+  template <bool b> struct if_true\r
+  {\r
+      template <class T, class F>\r
+      struct then { typedef T type; };\r
+  };\r
+\r
+  template <>\r
+  struct if_true<false>\r
+  {\r
+      template <class T, class F>\r
+      struct then { typedef F type; };\r
+  };\r
+}}\r
+#endif // SELECT_TYPE_DWA20010206_HPP\r
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 (file)
index 0000000..95318b8
--- /dev/null
@@ -0,0 +1,129 @@
+#ifndef BOOST_DETAIL_SP_TYPEINFO_HPP_INCLUDED\r
+#define BOOST_DETAIL_SP_TYPEINFO_HPP_INCLUDED\r
+\r
+// MS compatible compilers support #pragma once\r
+\r
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)\r
+# pragma once\r
+#endif\r
+\r
+//  detail/sp_typeinfo.hpp\r
+//\r
+//  Copyright 2007 Peter Dimov\r
+//\r
+// Distributed under the Boost Software License, Version 1.0.\r
+// See accompanying file LICENSE_1_0.txt or copy at\r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+#include <boost/config.hpp>\r
+\r
+#if defined( BOOST_NO_TYPEID )\r
+\r
+#include <boost/current_function.hpp>\r
+#include <functional>\r
+\r
+namespace boost\r
+{\r
+\r
+namespace detail\r
+{\r
+\r
+class sp_typeinfo\r
+{\r
+private:\r
+\r
+    sp_typeinfo( sp_typeinfo const& );\r
+    sp_typeinfo& operator=( sp_typeinfo const& );\r
+\r
+    char const * name_;\r
+\r
+public:\r
+\r
+    explicit sp_typeinfo( char const * name ): name_( name )\r
+    {\r
+    }\r
+\r
+    bool operator==( sp_typeinfo const& rhs ) const\r
+    {\r
+        return this == &rhs;\r
+    }\r
+\r
+    bool operator!=( sp_typeinfo const& rhs ) const\r
+    {\r
+        return this != &rhs;\r
+    }\r
+\r
+    bool before( sp_typeinfo const& rhs ) const\r
+    {\r
+        return std::less< sp_typeinfo const* >()( this, &rhs );\r
+    }\r
+\r
+    char const* name() const\r
+    {\r
+        return name_;\r
+    }\r
+};\r
+\r
+template<class T> struct sp_typeid_\r
+{\r
+    static sp_typeinfo ti_;\r
+\r
+    static char const * name()\r
+    {\r
+        return BOOST_CURRENT_FUNCTION;\r
+    }\r
+};\r
+\r
+template<class T> sp_typeinfo sp_typeid_< T >::ti_( sp_typeid_< T >::name() );\r
+\r
+template<class T> struct sp_typeid_< T & >: sp_typeid_< T >\r
+{\r
+};\r
+\r
+template<class T> struct sp_typeid_< T const >: sp_typeid_< T >\r
+{\r
+};\r
+\r
+template<class T> struct sp_typeid_< T volatile >: sp_typeid_< T >\r
+{\r
+};\r
+\r
+template<class T> struct sp_typeid_< T const volatile >: sp_typeid_< T >\r
+{\r
+};\r
+\r
+} // namespace detail\r
+\r
+} // namespace boost\r
+\r
+#define BOOST_SP_TYPEID(T) (boost::detail::sp_typeid_<T>::ti_)\r
+\r
+#else\r
+\r
+#include <typeinfo>\r
+\r
+namespace boost\r
+{\r
+\r
+namespace detail\r
+{\r
+\r
+#if defined( BOOST_NO_STD_TYPEINFO )\r
+\r
+typedef ::type_info sp_typeinfo;\r
+\r
+#else\r
+\r
+typedef std::type_info sp_typeinfo;\r
+\r
+#endif\r
+\r
+} // namespace detail\r
+\r
+} // namespace boost\r
+\r
+#define BOOST_SP_TYPEID(T) typeid(T)\r
+\r
+#endif\r
+\r
+#endif  // #ifndef BOOST_DETAIL_SP_TYPEINFO_HPP_INCLUDED\r
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 (file)
index 0000000..a0527fe
--- /dev/null
@@ -0,0 +1,74 @@
+//-----------------------------------------------------------------------------\r
+// boost detail/templated_streams.hpp header file\r
+// See http://www.boost.org for updates, documentation, and revision history.\r
+//-----------------------------------------------------------------------------\r
+//\r
+// Copyright (c) 2003\r
+// Eric Friedman\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. (See\r
+// accompanying file LICENSE_1_0.txt or copy at\r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+#ifndef BOOST_DETAIL_TEMPLATED_STREAMS_HPP\r
+#define BOOST_DETAIL_TEMPLATED_STREAMS_HPP\r
+\r
+#include "boost/config.hpp"\r
+\r
+///////////////////////////////////////////////////////////////////////////////\r
+// (detail) BOOST_TEMPLATED_STREAM_* macros\r
+//\r
+// Provides workaround platforms without stream class templates.\r
+//\r
+\r
+#if !defined(BOOST_NO_STD_LOCALE)\r
+\r
+#define BOOST_TEMPLATED_STREAM_TEMPLATE(E,T) \\r
+    template < typename E , typename T >\r
+\r
+#define BOOST_TEMPLATED_STREAM_TEMPLATE_ALLOC(E,T,A) \\r
+    template < typename E , typename T , typename A >\r
+\r
+#define BOOST_TEMPLATED_STREAM_ARGS(E,T) \\r
+    typename E , typename T \r
+\r
+#define BOOST_TEMPLATED_STREAM_ARGS_ALLOC(E,T,A) \\r
+    typename E , typename T , typename A \r
+\r
+#define BOOST_TEMPLATED_STREAM_COMMA        ,\r
+\r
+#define BOOST_TEMPLATED_STREAM_ELEM(E)      E\r
+#define BOOST_TEMPLATED_STREAM_TRAITS(T)    T\r
+#define BOOST_TEMPLATED_STREAM_ALLOC(A)     A\r
+\r
+#define BOOST_TEMPLATED_STREAM(X,E,T) \\r
+    BOOST_JOIN(std::basic_,X)< E , T >\r
+\r
+#define BOOST_TEMPLATED_STREAM_WITH_ALLOC(X,E,T,A) \\r
+    BOOST_JOIN(std::basic_,X)< E , T , A >\r
+\r
+#else // defined(BOOST_NO_STD_LOCALE)\r
+\r
+#define BOOST_TEMPLATED_STREAM_TEMPLATE(E,T) /**/\r
+\r
+#define BOOST_TEMPLATED_STREAM_TEMPLATE_ALLOC(E,T,A) /**/\r
+\r
+#define BOOST_TEMPLATED_STREAM_ARGS(E,T) /**/\r
+\r
+#define BOOST_TEMPLATED_STREAM_ARGS_ALLOC(E,T,A) /**/\r
+\r
+#define BOOST_TEMPLATED_STREAM_COMMA        /**/\r
+\r
+#define BOOST_TEMPLATED_STREAM_ELEM(E)      char\r
+#define BOOST_TEMPLATED_STREAM_TRAITS(T)    std::char_traits<char>\r
+#define BOOST_TEMPLATED_STREAM_ALLOC(A)     std::allocator<char>\r
+\r
+#define BOOST_TEMPLATED_STREAM(X,E,T) \\r
+    std::X\r
+\r
+#define BOOST_TEMPLATED_STREAM_WITH_ALLOC(X,E,T,A) \\r
+    std::X\r
+\r
+#endif // BOOST_NO_STD_LOCALE\r
+\r
+#endif // BOOST_DETAIL_TEMPLATED_STREAMS_HPP\r
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 (file)
index 0000000..7be4c60
--- /dev/null
@@ -0,0 +1,190 @@
+// Copyright (c) 2001 Ronald Garcia, Indiana University (garcia@osl.iu.edu)\r
+// Andrew Lumsdaine, Indiana University (lums@osl.iu.edu).\r
+// Distributed under the Boost Software License, Version 1.0. (See accompany-\r
+// ing file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+#ifndef BOOST_UTF8_CODECVT_FACET_HPP\r
+#define BOOST_UTF8_CODECVT_FACET_HPP\r
+\r
+// MS compatible compilers support #pragma once\r
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)\r
+# pragma once\r
+#endif\r
+\r
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8\r
+// utf8_codecvt_facet.hpp\r
+\r
+// This header defines class utf8_codecvt_facet, derived fro \r
+// std::codecvt<wchar_t, char>, which can be used to convert utf8 data in\r
+// files into wchar_t strings in the application.\r
+//\r
+// The header is NOT STANDALONE, and is not to be included by the USER.\r
+// There are at least two libraries which want to use this functionality, and\r
+// we want to avoid code duplication. It would be possible to create utf8\r
+// library, but:\r
+// - this requires review process first\r
+// - in the case, when linking the a library which uses utf8 \r
+//   (say 'program_options'), user should also link to the utf8 library.\r
+//   This seems inconvenient, and asking a user to link to an unrevieved \r
+//   library is strange. \r
+// Until the above points are fixed, a library which wants to use utf8 must:\r
+// - include this header from one of it's headers or sources\r
+// - include the corresponding .cpp file from one of the sources\r
+// - before including either file, the library must define\r
+//   - BOOST_UTF8_BEGIN_NAMESPACE to the namespace declaration that must be used\r
+//   - BOOST_UTF8_END_NAMESPACE to the code to close the previous namespace\r
+//   - declaration.\r
+//   - BOOST_UTF8_DECL -- to the code which must be used for all 'exportable'\r
+//     symbols.\r
+//\r
+// For example, program_options library might contain:\r
+//    #define BOOST_UTF8_BEGIN_NAMESPACE <backslash character> \r
+//             namespace boost { namespace program_options {\r
+//    #define BOOST_UTF8_END_NAMESPACE }}\r
+//    #define BOOST_UTF8_DECL BOOST_PROGRAM_OPTIONS_DECL\r
+//    #include "../../detail/utf8/utf8_codecvt.cpp"\r
+//\r
+// Essentially, each library will have its own copy of utf8 code, in\r
+// different namespaces. \r
+\r
+// Note:(Robert Ramey).  I have made the following alterations in the original\r
+// code.\r
+// a) Rendered utf8_codecvt<wchar_t, char>  with using templates\r
+// b) Move longer functions outside class definition to prevent inlining\r
+// and make code smaller\r
+// c) added on a derived class to permit translation to/from current\r
+// locale to utf8\r
+\r
+//  See http://www.boost.org for updates, documentation, and revision history.\r
+\r
+// archives stored as text - note these ar templated on the basic\r
+// stream templates to accommodate wide (and other?) kind of characters\r
+//\r
+// note the fact that on libraries without wide characters, ostream is\r
+// is not a specialization of basic_ostream which in fact is not defined\r
+// in such cases.   So we can't use basic_ostream<OStream::char_type> but rather\r
+// use two template parameters\r
+//\r
+// utf8_codecvt_facet\r
+//   This is an implementation of a std::codecvt facet for translating \r
+//   from UTF-8 externally to UCS-4.  Note that this is not tied to\r
+//   any specific types in order to allow customization on platforms\r
+//   where wchar_t is not big enough.\r
+//\r
+// NOTES:  The current implementation jumps through some unpleasant hoops in\r
+// order to deal with signed character types.  As a std::codecvt_base::result,\r
+// it is necessary  for the ExternType to be convertible to unsigned  char.\r
+// I chose not to tie the extern_type explicitly to char. But if any combination\r
+// of types other than <wchar_t,char_t> is used, then std::codecvt must be\r
+// specialized on those types for this to work.\r
+\r
+#include <locale>\r
+#include <cwchar>   // for mbstate_t\r
+#include <cstddef>  // for std::size_t\r
+\r
+#include <boost/config.hpp>\r
+#include <boost/detail/workaround.hpp>\r
+\r
+#if defined(BOOST_NO_STDC_NAMESPACE)\r
+namespace std {\r
+    using ::mbstate_t;\r
+    using ::size_t;\r
+}\r
+#endif\r
+\r
+#if !defined(__MSL_CPP__) && !defined(__LIBCOMO__)\r
+    #define BOOST_CODECVT_DO_LENGTH_CONST const\r
+#else\r
+    #define BOOST_CODECVT_DO_LENGTH_CONST\r
+#endif\r
+\r
+// maximum lenght of a multibyte string\r
+#define MB_LENGTH_MAX 8\r
+\r
+BOOST_UTF8_BEGIN_NAMESPACE\r
+\r
+struct BOOST_UTF8_DECL utf8_codecvt_facet :\r
+    public std::codecvt<wchar_t, char, std::mbstate_t>  \r
+{\r
+public:\r
+    explicit utf8_codecvt_facet(std::size_t no_locale_manage=0)\r
+        : std::codecvt<wchar_t, char, std::mbstate_t>(no_locale_manage) \r
+    {}\r
+protected:\r
+    virtual std::codecvt_base::result do_in(\r
+        std::mbstate_t& state, \r
+        const char * from,\r
+        const char * from_end, \r
+        const char * & from_next,\r
+        wchar_t * to, \r
+        wchar_t * to_end, \r
+        wchar_t*& to_next\r
+    ) const;\r
+\r
+    virtual std::codecvt_base::result do_out(\r
+        std::mbstate_t & state, const wchar_t * from,\r
+        const wchar_t * from_end, const wchar_t*  & from_next,\r
+        char * to, char * to_end, char * & to_next\r
+    ) const;\r
+\r
+    bool invalid_continuing_octet(unsigned char octet_1) const {\r
+        return (octet_1 < 0x80|| 0xbf< octet_1);\r
+    }\r
+\r
+    bool invalid_leading_octet(unsigned char octet_1)   const {\r
+        return (0x7f < octet_1 && octet_1 < 0xc0) ||\r
+            (octet_1 > 0xfd);\r
+    }\r
+\r
+    // continuing octets = octets except for the leading octet\r
+    static unsigned int get_cont_octet_count(unsigned   char lead_octet) {\r
+        return get_octet_count(lead_octet) - 1;\r
+    }\r
+\r
+    static unsigned int get_octet_count(unsigned char   lead_octet);\r
+\r
+    // How many "continuing octets" will be needed for this word\r
+    // ==   total octets - 1.\r
+    int get_cont_octet_out_count(wchar_t word) const ;\r
+\r
+    virtual bool do_always_noconv() const throw() { return false; }\r
+\r
+    // UTF-8 isn't really stateful since we rewind on partial conversions\r
+    virtual std::codecvt_base::result do_unshift(\r
+        std::mbstate_t&,\r
+        char * from,\r
+        char * /*to*/,\r
+        char * & next\r
+    ) const \r
+    {\r
+        next = from;\r
+        return ok;\r
+    }\r
+\r
+    virtual int do_encoding() const throw() {\r
+        const int variable_byte_external_encoding=0;\r
+        return variable_byte_external_encoding;\r
+    }\r
+\r
+    // How many char objects can I process to get <= max_limit\r
+    // wchar_t objects?\r
+    virtual int do_length(\r
+        BOOST_CODECVT_DO_LENGTH_CONST std::mbstate_t &,\r
+        const char * from,\r
+        const char * from_end, \r
+        std::size_t max_limit\r
+#if BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(600))\r
+        ) const throw();\r
+#else\r
+        ) const;\r
+#endif\r
+\r
+    // Largest possible value do_length(state,from,from_end,1) could return.\r
+    virtual int do_max_length() const throw () {\r
+        return 6; // largest UTF-8 encoding of a UCS-4 character\r
+    }\r
+};\r
+\r
+BOOST_UTF8_END_NAMESPACE\r
+\r
+#endif // BOOST_UTF8_CODECVT_FACET_HPP\r
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 (file)
index 0000000..87011de
--- /dev/null
@@ -0,0 +1,262 @@
+// Copyright David Abrahams 2002.\r
+// Distributed under the Boost Software License, Version 1.0. (See\r
+// accompanying file LICENSE_1_0.txt or copy at\r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+#ifndef WORKAROUND_DWA2002126_HPP\r
+# define WORKAROUND_DWA2002126_HPP\r
+\r
+// Compiler/library version workaround macro\r
+//\r
+// Usage:\r
+//\r
+//     #if BOOST_WORKAROUND(BOOST_MSVC, < 1300)\r
+//        // workaround for eVC4 and VC6\r
+//        ... // workaround code here\r
+//     #endif\r
+//\r
+// When BOOST_STRICT_CONFIG is defined, expands to 0. Otherwise, the\r
+// first argument must be undefined or expand to a numeric\r
+// value. The above expands to:\r
+//\r
+//     (BOOST_MSVC) != 0 && (BOOST_MSVC) < 1300\r
+//\r
+// When used for workarounds that apply to the latest known version \r
+// and all earlier versions of a compiler, the following convention \r
+// should be observed:\r
+//\r
+//     #if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1301))\r
+//\r
+// The version number in this case corresponds to the last version in\r
+// which the workaround was known to have been required. When\r
+// BOOST_DETECT_OUTDATED_WORKAROUNDS is not the defined, the macro\r
+// BOOST_TESTED_AT(x) expands to "!= 0", which effectively activates\r
+// the workaround for any version of the compiler. When\r
+// BOOST_DETECT_OUTDATED_WORKAROUNDS is defined, a compiler warning or\r
+// error will be issued if the compiler version exceeds the argument\r
+// to BOOST_TESTED_AT().  This can be used to locate workarounds which\r
+// may be obsoleted by newer versions.\r
+\r
+# ifndef BOOST_STRICT_CONFIG\r
+\r
+#include <boost/config.hpp>\r
+\r
+#ifndef __BORLANDC__\r
+#define __BORLANDC___WORKAROUND_GUARD 1\r
+#else\r
+#define __BORLANDC___WORKAROUND_GUARD 0\r
+#endif\r
+#ifndef __CODEGEARC__\r
+#define __CODEGEARC___WORKAROUND_GUARD 1\r
+#else\r
+#define __CODEGEARC___WORKAROUND_GUARD 0\r
+#endif\r
+#ifndef _MSC_VER\r
+#define _MSC_VER_WORKAROUND_GUARD 1\r
+#else\r
+#define _MSC_VER_WORKAROUND_GUARD 0\r
+#endif\r
+#ifndef _MSC_FULL_VER\r
+#define _MSC_FULL_VER_WORKAROUND_GUARD 1\r
+#else\r
+#define _MSC_FULL_VER_WORKAROUND_GUARD 0\r
+#endif\r
+#ifndef BOOST_MSVC\r
+#define BOOST_MSVC_WORKAROUND_GUARD 1\r
+#else\r
+#define BOOST_MSVC_WORKAROUND_GUARD 0\r
+#endif\r
+#ifndef __GNUC__\r
+#define __GNUC___WORKAROUND_GUARD 1\r
+#else\r
+#define __GNUC___WORKAROUND_GUARD 0\r
+#endif\r
+#ifndef __GNUC_MINOR__\r
+#define __GNUC_MINOR___WORKAROUND_GUARD 1\r
+#else\r
+#define __GNUC_MINOR___WORKAROUND_GUARD 0\r
+#endif\r
+#ifndef __GNUC_PATCHLEVEL__\r
+#define __GNUC_PATCHLEVEL___WORKAROUND_GUARD 1\r
+#else\r
+#define __GNUC_PATCHLEVEL___WORKAROUND_GUARD 0\r
+#endif\r
+#ifndef __IBMCPP__\r
+#define __IBMCPP___WORKAROUND_GUARD 1\r
+#else\r
+#define __IBMCPP___WORKAROUND_GUARD 0\r
+#endif\r
+#ifndef __SUNPRO_CC\r
+#define __SUNPRO_CC_WORKAROUND_GUARD 1\r
+#else\r
+#define __SUNPRO_CC_WORKAROUND_GUARD 0\r
+#endif\r
+#ifndef __DECCXX_VER\r
+#define __DECCXX_VER_WORKAROUND_GUARD 1\r
+#else\r
+#define __DECCXX_VER_WORKAROUND_GUARD 0\r
+#endif\r
+#ifndef __MWERKS__\r
+#define __MWERKS___WORKAROUND_GUARD 1\r
+#else\r
+#define __MWERKS___WORKAROUND_GUARD 0\r
+#endif\r
+#ifndef __EDG__\r
+#define __EDG___WORKAROUND_GUARD 1\r
+#else\r
+#define __EDG___WORKAROUND_GUARD 0\r
+#endif\r
+#ifndef __EDG_VERSION__\r
+#define __EDG_VERSION___WORKAROUND_GUARD 1\r
+#else\r
+#define __EDG_VERSION___WORKAROUND_GUARD 0\r
+#endif\r
+#ifndef __HP_aCC\r
+#define __HP_aCC_WORKAROUND_GUARD 1\r
+#else\r
+#define __HP_aCC_WORKAROUND_GUARD 0\r
+#endif\r
+#ifndef __hpxstd98\r
+#define __hpxstd98_WORKAROUND_GUARD 1\r
+#else\r
+#define __hpxstd98_WORKAROUND_GUARD 0\r
+#endif\r
+#ifndef _CRAYC\r
+#define _CRAYC_WORKAROUND_GUARD 1\r
+#else\r
+#define _CRAYC_WORKAROUND_GUARD 0\r
+#endif\r
+#ifndef __DMC__\r
+#define __DMC___WORKAROUND_GUARD 1\r
+#else\r
+#define __DMC___WORKAROUND_GUARD 0\r
+#endif\r
+#ifndef MPW_CPLUS\r
+#define MPW_CPLUS_WORKAROUND_GUARD 1\r
+#else\r
+#define MPW_CPLUS_WORKAROUND_GUARD 0\r
+#endif\r
+#ifndef __COMO__\r
+#define __COMO___WORKAROUND_GUARD 1\r
+#else\r
+#define __COMO___WORKAROUND_GUARD 0\r
+#endif\r
+#ifndef __COMO_VERSION__\r
+#define __COMO_VERSION___WORKAROUND_GUARD 1\r
+#else\r
+#define __COMO_VERSION___WORKAROUND_GUARD 0\r
+#endif\r
+#ifndef __INTEL_COMPILER\r
+#define __INTEL_COMPILER_WORKAROUND_GUARD 1\r
+#else\r
+#define __INTEL_COMPILER_WORKAROUND_GUARD 0\r
+#endif\r
+#ifndef __ICL\r
+#define __ICL_WORKAROUND_GUARD 1\r
+#else\r
+#define __ICL_WORKAROUND_GUARD 0\r
+#endif\r
+#ifndef _COMPILER_VERSION\r
+#define _COMPILER_VERSION_WORKAROUND_GUARD 1\r
+#else\r
+#define _COMPILER_VERSION_WORKAROUND_GUARD 0\r
+#endif\r
+\r
+#ifndef _RWSTD_VER\r
+#define _RWSTD_VER_WORKAROUND_GUARD 1\r
+#else\r
+#define _RWSTD_VER_WORKAROUND_GUARD 0\r
+#endif\r
+#ifndef BOOST_RWSTD_VER\r
+#define BOOST_RWSTD_VER_WORKAROUND_GUARD 1\r
+#else\r
+#define BOOST_RWSTD_VER_WORKAROUND_GUARD 0\r
+#endif\r
+#ifndef __GLIBCPP__\r
+#define __GLIBCPP___WORKAROUND_GUARD 1\r
+#else\r
+#define __GLIBCPP___WORKAROUND_GUARD 0\r
+#endif\r
+#ifndef _GLIBCXX_USE_C99_FP_MACROS_DYNAMIC\r
+#define _GLIBCXX_USE_C99_FP_MACROS_DYNAMIC_WORKAROUND_GUARD 1\r
+#else\r
+#define _GLIBCXX_USE_C99_FP_MACROS_DYNAMIC_WORKAROUND_GUARD 0\r
+#endif\r
+#ifndef __SGI_STL_PORT\r
+#define __SGI_STL_PORT_WORKAROUND_GUARD 1\r
+#else\r
+#define __SGI_STL_PORT_WORKAROUND_GUARD 0\r
+#endif\r
+#ifndef _STLPORT_VERSION\r
+#define _STLPORT_VERSION_WORKAROUND_GUARD 1\r
+#else\r
+#define _STLPORT_VERSION_WORKAROUND_GUARD 0\r
+#endif\r
+#ifndef __LIBCOMO_VERSION__\r
+#define __LIBCOMO_VERSION___WORKAROUND_GUARD 1\r
+#else\r
+#define __LIBCOMO_VERSION___WORKAROUND_GUARD 0\r
+#endif\r
+#ifndef _CPPLIB_VER\r
+#define _CPPLIB_VER_WORKAROUND_GUARD 1\r
+#else\r
+#define _CPPLIB_VER_WORKAROUND_GUARD 0\r
+#endif\r
+\r
+#ifndef BOOST_INTEL_CXX_VERSION\r
+#define BOOST_INTEL_CXX_VERSION_WORKAROUND_GUARD 1\r
+#else\r
+#define BOOST_INTEL_CXX_VERSION_WORKAROUND_GUARD 0\r
+#endif\r
+#ifndef BOOST_INTEL_WIN\r
+#define BOOST_INTEL_WIN_WORKAROUND_GUARD 1\r
+#else\r
+#define BOOST_INTEL_WIN_WORKAROUND_GUARD 0\r
+#endif\r
+#ifndef BOOST_DINKUMWARE_STDLIB\r
+#define BOOST_DINKUMWARE_STDLIB_WORKAROUND_GUARD 1\r
+#else\r
+#define BOOST_DINKUMWARE_STDLIB_WORKAROUND_GUARD 0\r
+#endif\r
+#ifndef BOOST_INTEL\r
+#define BOOST_INTEL_WORKAROUND_GUARD 1\r
+#else\r
+#define BOOST_INTEL_WORKAROUND_GUARD 0\r
+#endif\r
+// Always define to zero, if it's used it'll be defined my MPL:\r
+#define BOOST_MPL_CFG_GCC_WORKAROUND_GUARD 0\r
+\r
+#  define BOOST_WORKAROUND(symbol, test)                \\r
+         ((symbol ## _WORKAROUND_GUARD + 0 == 0) &&     \\r
+         (symbol != 0) && (1 % (( (symbol test) ) + 1)))\r
+//                              ^ ^           ^ ^\r
+// The extra level of parenthesis nesting above, along with the\r
+// BOOST_OPEN_PAREN indirection below, is required to satisfy the\r
+// broken preprocessor in MWCW 8.3 and earlier.\r
+//\r
+// The basic mechanism works as follows:\r
+//      (symbol test) + 1        =>   if (symbol test) then 2 else 1\r
+//      1 % ((symbol test) + 1)  =>   if (symbol test) then 1 else 0\r
+//\r
+// The complication with % is for cooperation with BOOST_TESTED_AT().\r
+// When "test" is BOOST_TESTED_AT(x) and\r
+// BOOST_DETECT_OUTDATED_WORKAROUNDS is #defined,\r
+//\r
+//      symbol test              =>   if (symbol <= x) then 1 else -1\r
+//      (symbol test) + 1        =>   if (symbol <= x) then 2 else 0\r
+//      1 % ((symbol test) + 1)  =>   if (symbol <= x) then 1 else divide-by-zero\r
+//\r
+\r
+#  ifdef BOOST_DETECT_OUTDATED_WORKAROUNDS\r
+#   define BOOST_OPEN_PAREN (\r
+#   define BOOST_TESTED_AT(value)  > value) ?(-1): BOOST_OPEN_PAREN 1\r
+#  else\r
+#   define BOOST_TESTED_AT(value) != ((value)-(value))\r
+#  endif\r
+\r
+# else\r
+\r
+#  define BOOST_WORKAROUND(symbol, test) 0\r
+\r
+# endif \r
+\r
+#endif // WORKAROUND_DWA2002126_HPP\r
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 (file)
index 0000000..aa7f676
--- /dev/null
@@ -0,0 +1,36 @@
+//Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc.\r
+\r
+//Distributed under the Boost Software License, Version 1.0. (See accompanying\r
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+#ifndef UUID_316FDA946C0D11DEA9CBAE5255D89593\r
+#define UUID_316FDA946C0D11DEA9CBAE5255D89593\r
+#if defined(__GNUC__) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)\r
+#pragma GCC system_header\r
+#endif\r
+#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)\r
+#pragma warning(push,1)\r
+#endif\r
+\r
+#include <boost/exception/diagnostic_information.hpp>\r
+#include <boost/exception/error_info.hpp>\r
+#include <boost/exception/exception.hpp>\r
+#include <boost/exception/get_error_info.hpp>\r
+#include <boost/exception/info.hpp>\r
+#include <boost/exception/info_tuple.hpp>\r
+#include <boost/exception/errinfo_api_function.hpp>\r
+#include <boost/exception/errinfo_at_line.hpp>\r
+#include <boost/exception/errinfo_errno.hpp>\r
+#include <boost/exception/errinfo_file_handle.hpp>\r
+#include <boost/exception/errinfo_file_name.hpp>\r
+#include <boost/exception/errinfo_file_open_mode.hpp>\r
+#include <boost/exception/errinfo_type_info_name.hpp>\r
+#ifndef BOOST_NO_EXCEPTIONS\r
+#include <boost/exception/errinfo_nested_exception.hpp>\r
+#include <boost/exception_ptr.hpp>\r
+#endif\r
+\r
+#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)\r
+#pragma warning(pop)\r
+#endif\r
+#endif\r
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 (file)
index 0000000..bc7f97a
--- /dev/null
@@ -0,0 +1,43 @@
+//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc.\r
+\r
+//Distributed under the Boost Software License, Version 1.0. (See accompanying\r
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+#ifndef UUID_7E83C166200811DE885E826156D89593\r
+#define UUID_7E83C166200811DE885E826156D89593\r
+#if defined(__GNUC__) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)\r
+#pragma GCC system_header\r
+#endif\r
+#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)\r
+#pragma warning(push,1)\r
+#endif\r
+\r
+namespace\r
+boost\r
+    {\r
+    template <class E>\r
+    inline\r
+    E *\r
+    current_exception_cast()\r
+        {\r
+        try\r
+            {\r
+            throw;\r
+            }\r
+        catch(\r
+        E & e )\r
+            {\r
+            return &e;\r
+            }\r
+        catch(\r
+        ...)\r
+            {\r
+            return 0;\r
+            }\r
+        }\r
+    }\r
+\r
+#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)\r
+#pragma warning(pop)\r
+#endif\r
+#endif\r
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 (file)
index 0000000..f397790
--- /dev/null
@@ -0,0 +1,17 @@
+//Copyright (c) 2009 Emil Dotchevski and Reverge Studios, Inc.\r
+\r
+//Distributed under the Boost Software License, Version 1.0. (See accompanying\r
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+#ifndef UUID_61531AB0680611DEADD5846855D89593\r
+#define UUID_61531AB0680611DEADD5846855D89593\r
+\r
+#if defined(_MSC_VER)\r
+#define BOOST_ATTRIBUTE_NORETURN __declspec(noreturn)\r
+#elif defined(__GNUC__)\r
+#define BOOST_ATTRIBUTE_NORETURN __attribute__((noreturn))\r
+#else\r
+#define BOOST_ATTRIBUTE_NORETURN\r
+#endif\r
+\r
+#endif\r
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 (file)
index 0000000..063a957
--- /dev/null
@@ -0,0 +1,75 @@
+//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc.\r
+\r
+//Distributed under the Boost Software License, Version 1.0. (See accompanying\r
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+#ifndef UUID_CE6983AC753411DDA764247956D89593\r
+#define UUID_CE6983AC753411DDA764247956D89593\r
+#if defined(__GNUC__) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)\r
+#pragma GCC system_header\r
+#endif\r
+#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)\r
+#pragma warning(push,1)\r
+#endif\r
+\r
+#include <string>\r
+\r
+namespace\r
+boost\r
+    {\r
+    namespace\r
+    exception_detail\r
+        {\r
+        class\r
+        error_info_base\r
+            {\r
+            public:\r
+\r
+            virtual char const * tag_typeid_name() const = 0;\r
+            virtual std::string value_as_string() const = 0;\r
+\r
+            protected:\r
+\r
+            ~error_info_base() throw()\r
+                {\r
+                }\r
+            };\r
+        }\r
+\r
+    template <class Tag,class T>\r
+    class\r
+    error_info:\r
+        public exception_detail::error_info_base\r
+        {\r
+        public:\r
+\r
+        typedef T value_type;\r
+\r
+        error_info( value_type const & value );\r
+        ~error_info() throw();\r
+\r
+        value_type const &\r
+        value() const\r
+            {\r
+            return value_;\r
+            }\r
+\r
+        value_type &\r
+        value()\r
+            {\r
+            return value_;\r
+            }\r
+\r
+        private:\r
+\r
+        char const * tag_typeid_name() const;\r
+        std::string value_as_string() const;\r
+\r
+        value_type value_;\r
+        };\r
+    }\r
+\r
+#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)\r
+#pragma warning(pop)\r
+#endif\r
+#endif\r
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 (file)
index 0000000..ec148f3
--- /dev/null
@@ -0,0 +1,490 @@
+//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc.\r
+\r
+//Distributed under the Boost Software License, Version 1.0. (See accompanying\r
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+#ifndef UUID_618474C2DE1511DEB74A388C56D89593\r
+#define UUID_618474C2DE1511DEB74A388C56D89593\r
+#if defined(__GNUC__) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)\r
+#pragma GCC system_header\r
+#endif\r
+#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)\r
+#pragma warning(push,1)\r
+#endif\r
+\r
+#include <boost/config.hpp>\r
+#ifdef BOOST_NO_EXCEPTIONS\r
+#error This header requires exception handling to be enabled.\r
+#endif\r
+#include <boost/exception/exception.hpp>\r
+#include <boost/exception/info.hpp>\r
+#include <boost/exception/diagnostic_information.hpp>\r
+#include <boost/exception/detail/type_info.hpp>\r
+#include <boost/shared_ptr.hpp>\r
+#include <stdexcept>\r
+#include <new>\r
+#include <ios>\r
+\r
+namespace\r
+boost\r
+    {\r
+#ifndef BOOST_NO_RTTI\r
+    typedef error_info<struct tag_original_exception_type,std::type_info const *> original_exception_type;\r
+\r
+    inline\r
+    std::string\r
+    to_string( original_exception_type const & x )\r
+        {\r
+        return x.value()->name();\r
+        }\r
+#endif\r
+\r
+    class exception_ptr;\r
+    exception_ptr current_exception();\r
+    void rethrow_exception( exception_ptr const & );\r
+\r
+    class\r
+    exception_ptr\r
+        {\r
+        typedef bool exception_ptr::*unspecified_bool_type;\r
+        friend exception_ptr current_exception();\r
+        friend void rethrow_exception( exception_ptr const & );\r
+\r
+        shared_ptr<exception_detail::clone_base const> c_;\r
+        bool bad_alloc_;\r
+\r
+        struct\r
+        bad_alloc_tag\r
+            {\r
+            };\r
+\r
+        explicit\r
+        exception_ptr( bad_alloc_tag ):\r
+            bad_alloc_(true)\r
+            {\r
+            }\r
+\r
+        explicit\r
+        exception_ptr( shared_ptr<exception_detail::clone_base const> const & c ):\r
+            c_(c),\r
+            bad_alloc_(false)\r
+            {\r
+            BOOST_ASSERT(c);\r
+            }\r
+\r
+        void\r
+        rethrow() const\r
+            {\r
+            BOOST_ASSERT(*this);\r
+            if( bad_alloc_ )\r
+                throw enable_current_exception(std::bad_alloc());\r
+            else\r
+                c_->rethrow();\r
+            }\r
+\r
+        bool\r
+        empty() const\r
+            {\r
+            return !bad_alloc_ && !c_;\r
+            }\r
+\r
+        public:\r
+\r
+        exception_ptr():\r
+            bad_alloc_(false)\r
+            {\r
+            }\r
+\r
+        ~exception_ptr() throw()\r
+            {\r
+            }\r
+\r
+        operator unspecified_bool_type() const\r
+            {\r
+            return empty() ? 0 : &exception_ptr::bad_alloc_;\r
+            }\r
+\r
+        friend\r
+        bool\r
+        operator==( exception_ptr const & a, exception_ptr const & b )\r
+            {\r
+            return a.c_==b.c_ && a.bad_alloc_==b.bad_alloc_;\r
+            }\r
+\r
+        friend\r
+        bool\r
+        operator!=( exception_ptr const & a, exception_ptr const & b )\r
+            {\r
+            return !(a==b);\r
+            }\r
+        };\r
+\r
+    class\r
+    unknown_exception:\r
+        public exception,\r
+        public std::exception,\r
+        public exception_detail::clone_base\r
+        {\r
+        public:\r
+\r
+        unknown_exception()\r
+            {\r
+            }\r
+\r
+        explicit\r
+        unknown_exception( std::exception const & e )\r
+            {\r
+            add_original_type(e);\r
+            }\r
+\r
+        explicit\r
+        unknown_exception( boost::exception const & e ):\r
+            boost::exception(e)\r
+            {\r
+            add_original_type(e);\r
+            }\r
+\r
+        ~unknown_exception() throw()\r
+            {\r
+            }\r
+\r
+        private:\r
+\r
+        exception_detail::clone_base const *\r
+        clone() const\r
+            {\r
+            return new unknown_exception(*this);\r
+            }\r
+\r
+        void\r
+        rethrow() const\r
+            {\r
+            throw*this;\r
+            }\r
+\r
+        template <class E>\r
+        void\r
+        add_original_type( E const & e )\r
+            {\r
+#ifndef BOOST_NO_RTTI\r
+            (*this) << original_exception_type(&typeid(e));\r
+#endif\r
+            }\r
+        };\r
+\r
+    namespace\r
+    exception_detail\r
+        {\r
+        template <class T>\r
+        class\r
+        current_exception_std_exception_wrapper:\r
+            public T,\r
+            public boost::exception,\r
+            public clone_base\r
+            {\r
+            public:\r
+\r
+            explicit\r
+            current_exception_std_exception_wrapper( T const & e1 ):\r
+                T(e1)\r
+                {\r
+                add_original_type(e1);\r
+                }\r
+\r
+            current_exception_std_exception_wrapper( T const & e1, boost::exception const & e2 ):\r
+                T(e1),\r
+                boost::exception(e2)\r
+                {\r
+                add_original_type(e1);\r
+                }\r
+\r
+            ~current_exception_std_exception_wrapper() throw()\r
+                {\r
+                }\r
+\r
+            private:\r
+\r
+            clone_base const *\r
+            clone() const\r
+                {\r
+                return new current_exception_std_exception_wrapper(*this);\r
+                }\r
+\r
+            void\r
+            rethrow() const\r
+                {\r
+                throw *this;\r
+                }\r
+\r
+            template <class E>\r
+            void\r
+            add_original_type( E const & e )\r
+                {\r
+#ifndef BOOST_NO_RTTI\r
+                (*this) << original_exception_type(&typeid(e));\r
+#endif\r
+                }\r
+            };\r
+\r
+#ifdef BOOST_NO_RTTI\r
+        template <class T>\r
+        exception const *\r
+        get_boost_exception( T const * )\r
+            {\r
+            try\r
+                {\r
+                throw;\r
+                }\r
+            catch(\r
+            exception & x )\r
+                {\r
+                return &x;\r
+                }\r
+            catch(...)\r
+                {\r
+                return 0;\r
+                }\r
+            }\r
+#else\r
+        template <class T>\r
+        exception const *\r
+        get_boost_exception( T const * x )\r
+            {\r
+            return dynamic_cast<exception const *>(x);\r
+            }\r
+#endif\r
+\r
+        template <class T>\r
+        inline\r
+        shared_ptr<clone_base const>\r
+        current_exception_std_exception( T const & e1 )\r
+            {\r
+            if( boost::exception const * e2 = get_boost_exception(&e1) )\r
+                return shared_ptr<current_exception_std_exception_wrapper<T> const>(new current_exception_std_exception_wrapper<T>(e1,*e2));\r
+            else\r
+                return shared_ptr<current_exception_std_exception_wrapper<T> const>(new current_exception_std_exception_wrapper<T>(e1));\r
+            }\r
+\r
+        inline\r
+        shared_ptr<clone_base const>\r
+        current_exception_unknown_exception()\r
+            {\r
+            return shared_ptr<unknown_exception const>(new unknown_exception());\r
+            }\r
+\r
+        inline\r
+        shared_ptr<clone_base const>\r
+        current_exception_unknown_boost_exception( boost::exception const & e )\r
+            {\r
+            return shared_ptr<unknown_exception const>(new unknown_exception(e));\r
+            }\r
+\r
+        inline\r
+        shared_ptr<clone_base const>\r
+        current_exception_unknown_std_exception( std::exception const & e )\r
+            {\r
+            if( boost::exception const * be = get_boost_exception(&e) )\r
+                return current_exception_unknown_boost_exception(*be);\r
+            else\r
+                return shared_ptr<unknown_exception const>(new unknown_exception(e));\r
+            }\r
+\r
+        inline\r
+        shared_ptr<clone_base const>\r
+        current_exception_impl()\r
+            {\r
+            try\r
+                {\r
+                throw;\r
+                }\r
+            catch(\r
+            exception_detail::clone_base & e )\r
+                {\r
+                return shared_ptr<exception_detail::clone_base const>(e.clone());\r
+                }\r
+            catch(\r
+            std::domain_error & e )\r
+                {\r
+                return exception_detail::current_exception_std_exception(e);\r
+                }\r
+            catch(\r
+            std::invalid_argument & e )\r
+                {\r
+                return exception_detail::current_exception_std_exception(e);\r
+                }\r
+            catch(\r
+            std::length_error & e )\r
+                {\r
+                return exception_detail::current_exception_std_exception(e);\r
+                }\r
+            catch(\r
+            std::out_of_range & e )\r
+                {\r
+                return exception_detail::current_exception_std_exception(e);\r
+                }\r
+            catch(\r
+            std::logic_error & e )\r
+                {\r
+                return exception_detail::current_exception_std_exception(e);\r
+                }\r
+            catch(\r
+            std::range_error & e )\r
+                {\r
+                return exception_detail::current_exception_std_exception(e);\r
+                }\r
+            catch(\r
+            std::overflow_error & e )\r
+                {\r
+                return exception_detail::current_exception_std_exception(e);\r
+                }\r
+            catch(\r
+            std::underflow_error & e )\r
+                {\r
+                return exception_detail::current_exception_std_exception(e);\r
+                }\r
+            catch(\r
+            std::ios_base::failure & e )\r
+                {\r
+                return exception_detail::current_exception_std_exception(e);\r
+                }\r
+            catch(\r
+            std::runtime_error & e )\r
+                {\r
+                return exception_detail::current_exception_std_exception(e);\r
+                }\r
+            catch(\r
+            std::bad_alloc & e )\r
+                {\r
+                return exception_detail::current_exception_std_exception(e);\r
+                }\r
+#ifndef BOOST_NO_TYPEID\r
+            catch(\r
+            std::bad_cast & e )\r
+                {\r
+                return exception_detail::current_exception_std_exception(e);\r
+                }\r
+            catch(\r
+            std::bad_typeid & e )\r
+                {\r
+                return exception_detail::current_exception_std_exception(e);\r
+                }\r
+#endif\r
+            catch(\r
+            std::bad_exception & e )\r
+                {\r
+                return exception_detail::current_exception_std_exception(e);\r
+                }\r
+            catch(\r
+            std::exception & e )\r
+                {\r
+                return exception_detail::current_exception_unknown_std_exception(e);\r
+                }\r
+            catch(\r
+            boost::exception & e )\r
+                {\r
+                return exception_detail::current_exception_unknown_boost_exception(e);\r
+                }\r
+            catch(\r
+            ... )\r
+                {\r
+                return exception_detail::current_exception_unknown_exception();\r
+                }\r
+            }\r
+        }\r
+\r
+    inline\r
+    exception_ptr\r
+    current_exception()\r
+        {\r
+        try\r
+            {\r
+            return exception_ptr(exception_detail::current_exception_impl());\r
+            }\r
+        catch(\r
+        std::bad_alloc & )\r
+            {\r
+            }\r
+        catch(\r
+        ... )\r
+            {\r
+            try\r
+                {\r
+                return exception_ptr(exception_detail::current_exception_std_exception(std::bad_exception()));\r
+                }\r
+            catch(\r
+            std::bad_alloc & )\r
+                {\r
+                }\r
+            catch(\r
+            ... )\r
+                {\r
+                BOOST_ASSERT(0);\r
+                }\r
+            }\r
+        return exception_ptr(exception_ptr::bad_alloc_tag());\r
+        }\r
+\r
+    template <class T>\r
+    inline\r
+    exception_ptr\r
+    copy_exception( T const & e )\r
+        {\r
+        try\r
+            {\r
+            throw enable_current_exception(e);\r
+            }\r
+        catch(\r
+        ... )\r
+            {\r
+            return current_exception();\r
+            }\r
+        }\r
+\r
+    inline\r
+    void\r
+    rethrow_exception( exception_ptr const & p )\r
+        {\r
+        p.rethrow();\r
+        }\r
+\r
+    inline\r
+    std::string\r
+    diagnostic_information( exception_ptr const & p )\r
+        {\r
+        if( p )\r
+            try\r
+                {\r
+                rethrow_exception(p);\r
+                }\r
+            catch(\r
+            ... )\r
+                {\r
+                return current_exception_diagnostic_information();\r
+                }\r
+        return "<empty>";\r
+        }\r
+\r
+    inline\r
+    std::string\r
+    to_string( exception_ptr const & p )\r
+        {\r
+        std::string s='\n'+diagnostic_information(p);\r
+        std::string padding("  ");\r
+        std::string r;\r
+        bool f=false;\r
+        for( std::string::const_iterator i=s.begin(),e=s.end(); i!=e; ++i )\r
+            {\r
+            if( f )\r
+                r+=padding;\r
+            char c=*i;\r
+            r+=c;\r
+            f=(c=='\n');\r
+            }\r
+        return r;\r
+        }\r
+    }\r
+\r
+#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)\r
+#pragma warning(pop)\r
+#endif\r
+#endif\r
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 (file)
index 0000000..64b33bf
--- /dev/null
@@ -0,0 +1,47 @@
+//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc.\r
+\r
+//Distributed under the Boost Software License, Version 1.0. (See accompanying\r
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+#ifndef UUID_898984B4076411DD973EDFA055D89593\r
+#define UUID_898984B4076411DD973EDFA055D89593\r
+#if defined(__GNUC__) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)\r
+#pragma GCC system_header\r
+#endif\r
+#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)\r
+#pragma warning(push,1)\r
+#endif\r
+\r
+#include <ostream>\r
+\r
+namespace\r
+boost\r
+    {\r
+    namespace\r
+    to_string_detail\r
+        {\r
+        template <class T,class CharT,class Traits>\r
+        char operator<<( std::basic_ostream<CharT,Traits> &, T const & );\r
+\r
+        template <class T,class CharT,class Traits>\r
+        struct\r
+        is_output_streamable_impl\r
+            {\r
+            static std::basic_ostream<CharT,Traits> & f();\r
+            static T const & g();\r
+            enum e { value=1!=(sizeof(f()<<g())) };\r
+            };\r
+        }\r
+\r
+    template <class T, class CharT=char, class Traits=std::char_traits<CharT> >\r
+    struct\r
+    is_output_streamable\r
+        {\r
+        enum e { value=to_string_detail::is_output_streamable_impl<T,CharT,Traits>::value };\r
+        };\r
+    }\r
+\r
+#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)\r
+#pragma warning(pop)\r
+#endif\r
+#endif\r
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 (file)
index 0000000..da0ba9e
--- /dev/null
@@ -0,0 +1,50 @@
+//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc.\r
+\r
+//Distributed under the Boost Software License, Version 1.0. (See accompanying\r
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+#ifndef UUID_6F463AC838DF11DDA3E6909F56D89593\r
+#define UUID_6F463AC838DF11DDA3E6909F56D89593\r
+#if defined(__GNUC__) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)\r
+#pragma GCC system_header\r
+#endif\r
+#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)\r
+#pragma warning(push,1)\r
+#endif\r
+\r
+#include <boost/exception/detail/type_info.hpp>\r
+#include <iomanip>\r
+#include <ios>\r
+#include <string>\r
+#include <sstream>\r
+#include <cstdlib>\r
+\r
+namespace\r
+boost\r
+    {\r
+    namespace\r
+    exception_detail\r
+        {\r
+        template <class T>\r
+        inline\r
+        std::string\r
+        object_hex_dump( T const & x, std::size_t max_size=16 )\r
+            {\r
+            std::ostringstream s;\r
+            s << "type: " << type_name<T>() << ", size: " << sizeof(T) << ", dump: ";\r
+            std::size_t n=sizeof(T)>max_size?max_size:sizeof(T);\r
+            s.fill('0');\r
+            s.width(2);\r
+            unsigned char const * b=reinterpret_cast<unsigned char const *>(&x);\r
+            s << std::setw(2) << std::hex << (unsigned int)*b;\r
+            for( unsigned char const * e=b+n; ++b!=e; )\r
+                s << " " << std::setw(2) << std::hex << (unsigned int)*b;\r
+            return s.str();\r
+            }\r
+        }\r
+    }\r
+\r
+#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)\r
+#pragma warning(pop)\r
+#endif\r
+#endif\r
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 (file)
index 0000000..d58a7c5
--- /dev/null
@@ -0,0 +1,79 @@
+//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc.\r
+\r
+//Distributed under the Boost Software License, Version 1.0. (See accompanying\r
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+#ifndef UUID_C3E1741C754311DDB2834CCA55D89593\r
+#define UUID_C3E1741C754311DDB2834CCA55D89593\r
+#if defined(__GNUC__) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)\r
+#pragma GCC system_header\r
+#endif\r
+#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)\r
+#pragma warning(push,1)\r
+#endif\r
+\r
+#include <boost/detail/sp_typeinfo.hpp>\r
+#include <boost/current_function.hpp>\r
+#include <boost/config.hpp>\r
+\r
+namespace\r
+boost\r
+    {\r
+    template <class T>\r
+    inline\r
+    char const *\r
+    tag_type_name()\r
+        {\r
+#ifdef BOOST_NO_TYPEID\r
+        return BOOST_CURRENT_FUNCTION;\r
+#else\r
+        return typeid(T*).name();\r
+#endif\r
+        }\r
+\r
+    template <class T>\r
+    inline\r
+    char const *\r
+    type_name()\r
+        {\r
+#ifdef BOOST_NO_TYPEID\r
+        return BOOST_CURRENT_FUNCTION;\r
+#else\r
+        return typeid(T).name();\r
+#endif\r
+        }\r
+\r
+    namespace\r
+    exception_detail\r
+        {\r
+        struct\r
+        type_info_\r
+            {\r
+            detail::sp_typeinfo const & type_;\r
+\r
+            explicit\r
+            type_info_( detail::sp_typeinfo const & type ):\r
+                type_(type)\r
+                {\r
+                }\r
+\r
+            friend\r
+            bool\r
+            operator<( type_info_ const & a, type_info_ const & b )\r
+                {\r
+                return 0!=(a.type_.before(b.type_));\r
+                }\r
+            };\r
+        }\r
+    }\r
+\r
+#define BOOST_EXCEPTION_STATIC_TYPEID(T) ::boost::exception_detail::type_info_(BOOST_SP_TYPEID(T))\r
+\r
+#ifndef BOOST_NO_RTTI\r
+#define BOOST_EXCEPTION_DYNAMIC_TYPEID(x) ::boost::exception_detail::type_info_(typeid(x))\r
+#endif\r
+\r
+#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)\r
+#pragma warning(pop)\r
+#endif\r
+#endif\r
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 (file)
index 0000000..a46c266
--- /dev/null
@@ -0,0 +1,182 @@
+//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc.\r
+\r
+//Distributed under the Boost Software License, Version 1.0. (See accompanying\r
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+#ifndef UUID_0552D49838DD11DD90146B8956D89593\r
+#define UUID_0552D49838DD11DD90146B8956D89593\r
+#if defined(__GNUC__) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)\r
+#pragma GCC system_header\r
+#endif\r
+#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)\r
+#pragma warning(push,1)\r
+#endif\r
+\r
+#include <boost/config.hpp>\r
+#include <boost/exception/get_error_info.hpp>\r
+#include <boost/utility/enable_if.hpp>\r
+#include <boost/config.hpp>\r
+#include <exception>\r
+#include <sstream>\r
+#include <string>\r
+\r
+#ifndef BOOST_NO_EXCEPTIONS\r
+#include <boost/exception/current_exception_cast.hpp>\r
+namespace\r
+boost\r
+    {\r
+    namespace\r
+    exception_detail\r
+        {\r
+        std::string diagnostic_information_impl( boost::exception const *, std::exception const *, bool );\r
+        }\r
+\r
+    inline\r
+    std::string\r
+    current_exception_diagnostic_information()\r
+        {\r
+        boost::exception const * be=current_exception_cast<boost::exception const>();\r
+        std::exception const * se=current_exception_cast<std::exception const>();\r
+        if( be || se )\r
+            return exception_detail::diagnostic_information_impl(be,se,true);\r
+        else\r
+            return "No diagnostic information available.";\r
+        }\r
+    }\r
+#endif\r
+\r
+namespace\r
+boost\r
+    {\r
+    namespace\r
+    exception_detail\r
+        {\r
+        inline\r
+        exception const *\r
+        get_boost_exception( exception const * e )\r
+            {\r
+            return e;\r
+            }\r
+\r
+        inline\r
+        exception const *\r
+        get_boost_exception( ... )\r
+            {\r
+            return 0;\r
+            }\r
+\r
+        inline\r
+        std::exception const *\r
+        get_std_exception( std::exception const * e )\r
+            {\r
+            return e;\r
+            }\r
+\r
+        inline\r
+        std::exception const *\r
+        get_std_exception( ... )\r
+            {\r
+            return 0;\r
+            }\r
+\r
+        inline\r
+        char const *\r
+        get_diagnostic_information( exception const & x, char const * header )\r
+            {\r
+            if( error_info_container * c=x.data_.get() )\r
+#ifndef BOOST_NO_EXCEPTIONS\r
+                try\r
+                    {\r
+#endif\r
+                    return c->diagnostic_information(header);\r
+#ifndef BOOST_NO_EXCEPTIONS\r
+                    }\r
+                catch(...)\r
+                    {\r
+                    }\r
+#endif\r
+            return 0;\r
+            }\r
+\r
+        inline\r
+        std::string\r
+        diagnostic_information_impl( boost::exception const * be, std::exception const * se, bool with_what )\r
+            {\r
+            if( !be && !se )\r
+                return "Unknown exception.";\r
+#ifndef BOOST_NO_RTTI\r
+            if( !be )\r
+                be=dynamic_cast<boost::exception const *>(se);\r
+            if( !se )\r
+                se=dynamic_cast<std::exception const *>(be);\r
+#endif\r
+            char const * wh=0;\r
+            if( with_what && se )\r
+                {\r
+                wh=se->what();\r
+                if( be && exception_detail::get_diagnostic_information(*be,0)==wh )\r
+                    return wh;\r
+                }\r
+            std::ostringstream tmp;\r
+            if( be )\r
+                {\r
+                if( char const * const * f=get_error_info<throw_file>(*be) )\r
+                    {\r
+                    tmp << *f;\r
+                    if( int const * l=get_error_info<throw_line>(*be) )\r
+                        tmp << '(' << *l << "): ";\r
+                    }\r
+                tmp << "Throw in function ";\r
+                if( char const * const * fn=get_error_info<throw_function>(*be) )\r
+                    tmp << *fn;\r
+                else\r
+                    tmp << "(unknown)";\r
+                tmp << '\n';\r
+                }\r
+#ifndef BOOST_NO_RTTI\r
+            tmp << std::string("Dynamic exception type: ") <<\r
+                (be?BOOST_EXCEPTION_DYNAMIC_TYPEID(*be):BOOST_EXCEPTION_DYNAMIC_TYPEID(*se)).type_.name() << '\n';\r
+#endif\r
+            if( with_what && se )\r
+                tmp << "std::exception::what: " << wh << '\n';\r
+            if( be )\r
+                if( char const * s=exception_detail::get_diagnostic_information(*be,tmp.str().c_str()) )\r
+                    if( *s )\r
+                        return s;\r
+            return tmp.str();\r
+            }\r
+        }\r
+\r
+    template <class T>\r
+    std::string\r
+    diagnostic_information( T const & e )\r
+        {\r
+        return exception_detail::diagnostic_information_impl(exception_detail::get_boost_exception(&e),exception_detail::get_std_exception(&e),true);\r
+        }\r
+\r
+    inline\r
+    char const *\r
+    diagnostic_information_what( exception const & e ) throw()\r
+        {\r
+        char const * w=0;\r
+#ifndef BOOST_NO_EXCEPTIONS\r
+        try\r
+            {\r
+#endif\r
+            (void) exception_detail::diagnostic_information_impl(&e,0,false);\r
+            return exception_detail::get_diagnostic_information(e,0);\r
+#ifndef BOOST_NO_EXCEPTIONS\r
+            }\r
+        catch(\r
+        ... )\r
+            {\r
+            }\r
+#endif\r
+        return w;\r
+        }\r
+    }\r
+\r
+#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)\r
+#pragma warning(pop)\r
+#endif\r
+#endif\r
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 (file)
index 0000000..886840b
--- /dev/null
@@ -0,0 +1,6 @@
+//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc.\r
+\r
+//Distributed under the Boost Software License, Version 1.0. (See accompanying\r
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+#include <boost/exception/exception.hpp>\r
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 (file)
index 0000000..886840b
--- /dev/null
@@ -0,0 +1,6 @@
+//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc.\r
+\r
+//Distributed under the Boost Software License, Version 1.0. (See accompanying\r
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+#include <boost/exception/exception.hpp>\r
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 (file)
index 0000000..7b6a9fe
--- /dev/null
@@ -0,0 +1,22 @@
+//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc.\r
+\r
+//Distributed under the Boost Software License, Version 1.0. (See accompanying\r
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+#ifndef UUID_DDFBB4546C1211DEA4659E9055D89593\r
+#define UUID_DDFBB4546C1211DEA4659E9055D89593\r
+\r
+#include "boost/exception/error_info.hpp"\r
+\r
+namespace\r
+boost\r
+    {\r
+    //Usage hint:\r
+    //if( api_function(....)!=0 )\r
+    //    BOOST_THROW_EXCEPTION(\r
+    //        failure() <<\r
+    //        errinfo_api_function("api_function") );\r
+    typedef error_info<struct errinfo_api_function_,char const *> errinfo_api_function;\r
+    }\r
+\r
+#endif\r
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 (file)
index 0000000..cc422ce
--- /dev/null
@@ -0,0 +1,18 @@
+//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc.\r
+\r
+//Distributed under the Boost Software License, Version 1.0. (See accompanying\r
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+#ifndef UUID_E7255CE26C1211DE85800C9155D89593\r
+#define UUID_E7255CE26C1211DE85800C9155D89593\r
+\r
+namespace\r
+boost\r
+    {\r
+    template <class Tag,class T> class error_info;\r
+\r
+    //Use with parsing errors exceptions, for example in a XML file parser.\r
+    typedef error_info<struct errinfo_at_line_,int> errinfo_at_line;\r
+    }\r
+\r
+#endif\r
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 (file)
index 0000000..c1e6c97
--- /dev/null
@@ -0,0 +1,44 @@
+//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc.\r
+\r
+//Distributed under the Boost Software License, Version 1.0. (See accompanying\r
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+#ifndef UUID_F0EE17BE6C1211DE87FF459155D89593\r
+#define UUID_F0EE17BE6C1211DE87FF459155D89593\r
+#if defined(__GNUC__) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)\r
+#pragma GCC system_header\r
+#endif\r
+#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)\r
+#pragma warning(push,1)\r
+#endif\r
+\r
+#include "boost/exception/info.hpp"\r
+#include <errno.h>\r
+#include <string.h>\r
+\r
+namespace\r
+boost\r
+    {\r
+    typedef error_info<struct errinfo_errno_,int> errinfo_errno;\r
+\r
+    //Usage hint:\r
+    //if( c_function(....)!=0 )\r
+    //    BOOST_THROW_EXCEPTION(\r
+    //        failure() <<\r
+    //        errinfo_errno(errno) <<\r
+    //        errinfo_api_function("c_function") );\r
+    inline\r
+    std::string\r
+    to_string( errinfo_errno const & e )\r
+        {\r
+        std::ostringstream tmp;\r
+        int v=e.value();\r
+        tmp << v << ", \"" << strerror(v) << "\"";\r
+        return tmp.str();\r
+        }\r
+    }\r
+\r
+#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)\r
+#pragma warning(pop)\r
+#endif\r
+#endif\r
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 (file)
index 0000000..5b9673d
--- /dev/null
@@ -0,0 +1,20 @@
+//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc.\r
+\r
+//Distributed under the Boost Software License, Version 1.0. (See accompanying\r
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+#ifndef UUID_F79E6EE26C1211DEB26E929155D89593\r
+#define UUID_F79E6EE26C1211DEB26E929155D89593\r
+\r
+#include <stdio.h>\r
+\r
+namespace\r
+boost\r
+    {\r
+    template <class> class weak_ptr;\r
+    template <class Tag,class T> class error_info;\r
+\r
+    typedef error_info<struct errinfo_file_handle_,weak_ptr<FILE> > errinfo_file_handle;\r
+    }\r
+\r
+#endif\r
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 (file)
index 0000000..c6f1c9e
--- /dev/null
@@ -0,0 +1,26 @@
+//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc.\r
+\r
+//Distributed under the Boost Software License, Version 1.0. (See accompanying\r
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+#ifndef UUID_FEE5120A6C1211DE94E8BC9155D89593\r
+#define UUID_FEE5120A6C1211DE94E8BC9155D89593\r
+\r
+#include <string>\r
+\r
+namespace\r
+boost\r
+    {\r
+    template <class Tag,class T> class error_info;\r
+\r
+    //Usage hint:\r
+    //FILE * f=fopen(name,mode);\r
+    //if( !f )\r
+    //    BOOST_THROW_EXCEPTION(\r
+    //        file_open_error() <<\r
+    //        errinfo_file_name(name) <<\r
+    //        errinfo_file_open_mode(mode) );\r
+    typedef error_info<struct errinfo_file_name_,std::string> errinfo_file_name;\r
+    }\r
+\r
+#endif\r
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 (file)
index 0000000..c1bbaa1
--- /dev/null
@@ -0,0 +1,26 @@
+//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc.\r
+\r
+//Distributed under the Boost Software License, Version 1.0. (See accompanying\r
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+#ifndef UUID_056F1F266C1311DE8E74299255D89593\r
+#define UUID_056F1F266C1311DE8E74299255D89593\r
+\r
+#include <string>\r
+\r
+namespace\r
+boost\r
+    {\r
+    template <class Tag,class T> class error_info;\r
+\r
+    //Usage hint:\r
+    //FILE * f=fopen(name,mode);\r
+    //if( !f )\r
+    //    BOOST_THROW_EXCEPTION(\r
+    //        file_open_error() <<\r
+    //        errinfo_file_name(name) <<\r
+    //        errinfo_file_open_mode(mode) );\r
+    typedef error_info<struct errinfo_file_open_mode_,std::string> errinfo_file_open_mode;\r
+    }\r
+\r
+#endif\r
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 (file)
index 0000000..034d0cc
--- /dev/null
@@ -0,0 +1,17 @@
+//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc.\r
+\r
+//Distributed under the Boost Software License, Version 1.0. (See accompanying\r
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+#ifndef UUID_45CC9A82B77511DEB330FC4956D89593\r
+#define UUID_45CC9A82B77511DEB330FC4956D89593\r
+\r
+namespace\r
+boost\r
+    {\r
+    template <class Tag,class T> class error_info;\r
+    class exception_ptr;\r
+    typedef error_info<struct errinfo_nested_exception_,exception_ptr> errinfo_nested_exception;\r
+    }\r
+\r
+#endif\r
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 (file)
index 0000000..dbd9abf
--- /dev/null
@@ -0,0 +1,23 @@
+//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc.\r
+\r
+//Distributed under the Boost Software License, Version 1.0. (See accompanying\r
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+#ifndef UUID_0E11109E6C1311DEB7EA649255D89593\r
+#define UUID_0E11109E6C1311DEB7EA649255D89593\r
+\r
+#include <string>\r
+\r
+namespace\r
+boost\r
+    {\r
+    template <class Tag,class T> class error_info;\r
+\r
+    //Usage hint:\r
+    //BOOST_THROW_EXCEPTION(\r
+    //    bad_type() <<\r
+    //    errinfo_type_info_name(typeid(x).name()) );\r
+    typedef error_info<struct errinfo_type_info_name_,std::string> errinfo_type_info_name;\r
+    }\r
+\r
+#endif\r
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 (file)
index 0000000..8f22b0b
--- /dev/null
@@ -0,0 +1,6 @@
+//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc.\r
+\r
+//Distributed under the Boost Software License, Version 1.0. (See accompanying\r
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+namespace boost { template <class Tag,class T> class error_info; }\r
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 (file)
index 0000000..0f35873
--- /dev/null
@@ -0,0 +1,422 @@
+//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc.\r
+\r
+//Distributed under the Boost Software License, Version 1.0. (See accompanying\r
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+#ifndef UUID_274DA366004E11DCB1DDFE2E56D89593\r
+#define UUID_274DA366004E11DCB1DDFE2E56D89593\r
+#if defined(__GNUC__) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)\r
+#pragma GCC system_header\r
+#endif\r
+#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)\r
+#pragma warning(push,1)\r
+#endif\r
+\r
+namespace\r
+boost\r
+    {\r
+    namespace\r
+    exception_detail\r
+        {\r
+        template <class T>\r
+        class\r
+        refcount_ptr\r
+            {\r
+            public:\r
+\r
+            refcount_ptr():\r
+                px_(0)\r
+                {\r
+                }\r
+\r
+            ~refcount_ptr()\r
+                {\r
+                release();\r
+                }\r
+\r
+            refcount_ptr( refcount_ptr const & x ):\r
+                px_(x.px_)\r
+                {\r
+                add_ref();\r
+                }\r
+\r
+            refcount_ptr &\r
+            operator=( refcount_ptr const & x )\r
+                {\r
+                adopt(x.px_);\r
+                return *this;\r
+                }\r
+\r
+            void\r
+            adopt( T * px )\r
+                {\r
+                release();\r
+                px_=px;\r
+                add_ref();\r
+                }\r
+\r
+            T *\r
+            get() const\r
+                {\r
+                return px_;\r
+                }\r
+\r
+            private:\r
+\r
+            T * px_;\r
+\r
+            void\r
+            add_ref()\r
+                {\r
+                if( px_ )\r
+                    px_->add_ref();\r
+                }\r
+\r
+            void\r
+            release()\r
+                {\r
+                if( px_ )\r
+                    px_->release();\r
+                }\r
+            };\r
+        }\r
+\r
+    ////////////////////////////////////////////////////////////////////////\r
+\r
+    template <class Tag,class T>\r
+    class error_info;\r
+\r
+    typedef error_info<struct throw_function_,char const *> throw_function;\r
+    typedef error_info<struct throw_file_,char const *> throw_file;\r
+    typedef error_info<struct throw_line_,int> throw_line;\r
+\r
+    template <>\r
+    class\r
+    error_info<throw_function_,char const *>\r
+        {\r
+        public:\r
+        typedef char const * value_type;\r
+        value_type v_;\r
+        explicit\r
+        error_info( value_type v ):\r
+            v_(v)\r
+            {\r
+            }\r
+        };\r
+\r
+    template <>\r
+    class\r
+    error_info<throw_file_,char const *>\r
+        {\r
+        public:\r
+        typedef char const * value_type;\r
+        value_type v_;\r
+        explicit\r
+        error_info( value_type v ):\r
+            v_(v)\r
+            {\r
+            }\r
+        };\r
+\r
+    template <>\r
+    class\r
+    error_info<throw_line_,int>\r
+        {\r
+        public:\r
+        typedef int value_type;\r
+        value_type v_;\r
+        explicit\r
+        error_info( value_type v ):\r
+            v_(v)\r
+            {\r
+            }\r
+        };\r
+\r
+    template <class E,class Tag,class T>\r
+    E const & operator<<( E const &, error_info<Tag,T> const & );\r
+\r
+    template <class E>\r
+    E const & operator<<( E const &, throw_function const & );\r
+\r
+    template <class E>\r
+    E const & operator<<( E const &, throw_file const & );\r
+\r
+    template <class E>\r
+    E const & operator<<( E const &, throw_line const & );\r
+\r
+    class exception;\r
+\r
+    template <class>\r
+    class shared_ptr;\r
+\r
+    namespace\r
+    exception_detail\r
+        {\r
+        class error_info_base;\r
+        struct type_info_;\r
+\r
+        struct\r
+        error_info_container\r
+            {\r
+            virtual char const * diagnostic_information( char const * ) const = 0;\r
+            virtual shared_ptr<error_info_base> get( type_info_ const & ) const = 0;\r
+            virtual void set( shared_ptr<error_info_base> const &, type_info_ const & ) = 0;\r
+            virtual void add_ref() const = 0;\r
+            virtual void release() const = 0;\r
+\r
+            protected:\r
+\r
+            ~error_info_container() throw()\r
+                {\r
+                }\r
+            };\r
+\r
+        template <class>\r
+        struct get_info;\r
+\r
+        template <>\r
+        struct get_info<throw_function>;\r
+\r
+        template <>\r
+        struct get_info<throw_file>;\r
+\r
+        template <>\r
+        struct get_info<throw_line>;\r
+\r
+        char const * get_diagnostic_information( exception const &, char const * );\r
+        }\r
+\r
+    class\r
+    exception\r
+        {\r
+        protected:\r
+\r
+        exception():\r
+            throw_function_(0),\r
+            throw_file_(0),\r
+            throw_line_(-1)\r
+            {\r
+            }\r
+\r
+#ifdef __HP_aCC\r
+        //On HP aCC, this protected copy constructor prevents throwing boost::exception.\r
+        //On all other platforms, the same effect is achieved by the pure virtual destructor.\r
+        exception( exception const & x ) throw():\r
+            data_(x.data_),\r
+            throw_function_(x.throw_function_),\r
+            throw_file_(x.throw_file_),\r
+            throw_line_(x.throw_line_)\r
+            {\r
+            }\r
+#endif\r
+\r
+        virtual ~exception() throw()\r
+#ifndef __HP_aCC\r
+            = 0 //Workaround for HP aCC, =0 incorrectly leads to link errors.\r
+#endif\r
+            ;\r
+\r
+#if defined(__MWERKS__) && __MWERKS__<=0x3207\r
+        public:\r
+#else\r
+        private:\r
+\r
+        template <class E>\r
+        friend E const & operator<<( E const &, throw_function const & );\r
+\r
+        template <class E>\r
+        friend E const & operator<<( E const &, throw_file const & );\r
+\r
+        template <class E>\r
+        friend E const & operator<<( E const &, throw_line const & );\r
+\r
+        friend char const * exception_detail::get_diagnostic_information( exception const &, char const * );\r
+\r
+        template <class E,class Tag,class T>\r
+        friend E const & operator<<( E const &, error_info<Tag,T> const & );\r
+\r
+        template <class>\r
+        friend struct exception_detail::get_info;\r
+        friend struct exception_detail::get_info<throw_function>;\r
+        friend struct exception_detail::get_info<throw_file>;\r
+        friend struct exception_detail::get_info<throw_line>;\r
+#endif\r
+        mutable exception_detail::refcount_ptr<exception_detail::error_info_container> data_;\r
+        mutable char const * throw_function_;\r
+        mutable char const * throw_file_;\r
+        mutable int throw_line_;\r
+        };\r
+\r
+    inline\r
+    exception::\r
+    ~exception() throw()\r
+        {\r
+        }\r
+\r
+    template <class E>\r
+    E const &\r
+    operator<<( E const & x, throw_function const & y )\r
+        {\r
+        x.throw_function_=y.v_;\r
+        return x;\r
+        }\r
+\r
+    template <class E>\r
+    E const &\r
+    operator<<( E const & x, throw_file const & y )\r
+        {\r
+        x.throw_file_=y.v_;\r
+        return x;\r
+        }\r
+\r
+    template <class E>\r
+    E const &\r
+    operator<<( E const & x, throw_line const & y )\r
+        {\r
+        x.throw_line_=y.v_;\r
+        return x;\r
+        }\r
+\r
+    ////////////////////////////////////////////////////////////////////////\r
+\r
+    namespace\r
+    exception_detail\r
+        {\r
+        template <class T>\r
+        struct\r
+        error_info_injector:\r
+            public T,\r
+            public exception\r
+            {\r
+            explicit\r
+            error_info_injector( T const & x ):\r
+                T(x)\r
+                {\r
+                }\r
+\r
+            ~error_info_injector() throw()\r
+                {\r
+                }\r
+            };\r
+\r
+        struct large_size { char c[256]; };\r
+        large_size dispatch( exception * );\r
+\r
+        struct small_size { };\r
+        small_size dispatch( void * );\r
+\r
+        template <class,int>\r
+        struct enable_error_info_helper;\r
+\r
+        template <class T>\r
+        struct\r
+        enable_error_info_helper<T,sizeof(large_size)>\r
+            {\r
+            typedef T type;\r
+            };\r
+\r
+        template <class T>\r
+        struct\r
+        enable_error_info_helper<T,sizeof(small_size)>\r
+            {\r
+            typedef error_info_injector<T> type;\r
+            };\r
+\r
+        template <class T>\r
+        struct\r
+        enable_error_info_return_type\r
+            {\r
+            typedef typename enable_error_info_helper<T,sizeof(exception_detail::dispatch((T*)0))>::type type;\r
+            };\r
+        }\r
+\r
+    template <class T>\r
+    inline\r
+    typename\r
+    exception_detail::enable_error_info_return_type<T>::type\r
+    enable_error_info( T const & x )\r
+        {\r
+        typedef typename exception_detail::enable_error_info_return_type<T>::type rt;\r
+        return rt(x);\r
+        }\r
+\r
+    ////////////////////////////////////////////////////////////////////////\r
+\r
+    namespace\r
+    exception_detail\r
+        {\r
+        class\r
+        clone_base\r
+            {\r
+            public:\r
+\r
+            virtual clone_base const * clone() const = 0;\r
+            virtual void rethrow() const = 0;\r
+\r
+            virtual\r
+            ~clone_base() throw()\r
+                {\r
+                }\r
+            };\r
+\r
+        inline\r
+        void\r
+        copy_boost_exception( exception * a, exception const * b )\r
+            {\r
+            *a = *b;\r
+            }\r
+\r
+        inline\r
+        void\r
+        copy_boost_exception( void *, void const * )\r
+            {\r
+            }\r
+\r
+        template <class T>\r
+        class\r
+        clone_impl:\r
+            public T,\r
+            public clone_base\r
+            {\r
+            public:\r
+\r
+            explicit\r
+            clone_impl( T const & x ):\r
+                T(x)\r
+                {\r
+                copy_boost_exception(this,&x);\r
+                }\r
+\r
+            ~clone_impl() throw()\r
+                {\r
+                }\r
+\r
+            private:\r
+\r
+            clone_base const *\r
+            clone() const\r
+                {\r
+                return new clone_impl(*this);\r
+                }\r
+\r
+            void\r
+            rethrow() const\r
+                {\r
+                throw*this;\r
+                }\r
+            };\r
+        }\r
+\r
+    template <class T>\r
+    inline\r
+    exception_detail::clone_impl<T>\r
+    enable_current_exception( T const & x )\r
+        {\r
+        return exception_detail::clone_impl<T>(x);\r
+        }\r
+    }\r
+\r
+#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)\r
+#pragma warning(pop)\r
+#endif\r
+#endif\r
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 (file)
index 0000000..c3cf137
--- /dev/null
@@ -0,0 +1,130 @@
+//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc.\r
+\r
+//Distributed under the Boost Software License, Version 1.0. (See accompanying\r
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+#ifndef UUID_1A590226753311DD9E4CCF6156D89593\r
+#define UUID_1A590226753311DD9E4CCF6156D89593\r
+#if defined(__GNUC__) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)\r
+#pragma GCC system_header\r
+#endif\r
+#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)\r
+#pragma warning(push,1)\r
+#endif\r
+\r
+#include <boost/exception/exception.hpp>\r
+#include <boost/exception/detail/error_info_impl.hpp>\r
+#include <boost/exception/detail/type_info.hpp>\r
+#include <boost/shared_ptr.hpp>\r
+\r
+namespace\r
+boost\r
+    {\r
+    namespace\r
+    exception_detail\r
+        {\r
+        template <class ErrorInfo>\r
+        struct\r
+        get_info\r
+            {\r
+            static\r
+            typename ErrorInfo::value_type *\r
+            get( exception const & x )\r
+                {\r
+                if( exception_detail::error_info_container * c=x.data_.get() )\r
+                    if( shared_ptr<exception_detail::error_info_base> eib = c->get(BOOST_EXCEPTION_STATIC_TYPEID(ErrorInfo)) )\r
+                        {\r
+#ifndef BOOST_NO_RTTI\r
+                        BOOST_ASSERT( 0!=dynamic_cast<ErrorInfo *>(eib.get()) );\r
+#endif\r
+                        ErrorInfo * w = static_cast<ErrorInfo *>(eib.get());\r
+                        return &w->value();\r
+                        }\r
+                return 0;\r
+                }\r
+            };\r
+\r
+        template <>\r
+        struct\r
+        get_info<throw_function>\r
+            {\r
+            static\r
+            char const * *\r
+            get( exception const & x )\r
+                {\r
+                return x.throw_function_ ? &x.throw_function_ : 0;\r
+                }\r
+            };\r
+\r
+        template <>\r
+        struct\r
+        get_info<throw_file>\r
+            {\r
+            static\r
+            char const * *\r
+            get( exception const & x )\r
+                {\r
+                return x.throw_file_ ? &x.throw_file_ : 0;\r
+                }\r
+            };\r
+\r
+        template <>\r
+        struct\r
+        get_info<throw_line>\r
+            {\r
+            static\r
+            int *\r
+            get( exception const & x )\r
+                {\r
+                return x.throw_line_!=-1 ? &x.throw_line_ : 0;\r
+                }\r
+            };\r
+\r
+        template <class T,class R>\r
+        struct\r
+        get_error_info_return_type\r
+            {\r
+            typedef R * type;\r
+            };\r
+\r
+        template <class T,class R>\r
+        struct\r
+        get_error_info_return_type<T const,R>\r
+            {\r
+            typedef R const * type;\r
+            };\r
+        }\r
+\r
+#ifdef BOOST_NO_RTTI\r
+    template <class ErrorInfo>\r
+    inline\r
+    typename ErrorInfo::value_type const *\r
+    get_error_info( boost::exception const & x )\r
+        {\r
+        return exception_detail::get_info<ErrorInfo>::get(x);\r
+        }\r
+    template <class ErrorInfo>\r
+    inline\r
+    typename ErrorInfo::value_type *\r
+    get_error_info( boost::exception & x )\r
+        {\r
+        return exception_detail::get_info<ErrorInfo>::get(x);\r
+        }\r
+#else\r
+    template <class ErrorInfo,class E>\r
+    inline\r
+    typename exception_detail::get_error_info_return_type<E,typename ErrorInfo::value_type>::type\r
+    get_error_info( E & some_exception )\r
+        {\r
+        if( exception const * x = dynamic_cast<exception const *>(&some_exception) )\r
+            return exception_detail::get_info<ErrorInfo>::get(*x);\r
+        else\r
+            return 0;\r
+        }\r
+#endif\r
+    }\r
+\r
+#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)\r
+#pragma warning(pop)\r
+#endif\r
+#endif\r
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 (file)
index 0000000..9a9408f
--- /dev/null
@@ -0,0 +1,167 @@
+//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc.\r
+\r
+//Distributed under the Boost Software License, Version 1.0. (See accompanying\r
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+#ifndef UUID_8D22C4CA9CC811DCAA9133D256D89593\r
+#define UUID_8D22C4CA9CC811DCAA9133D256D89593\r
+#if defined(__GNUC__) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)\r
+#pragma GCC system_header\r
+#endif\r
+#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)\r
+#pragma warning(push,1)\r
+#endif\r
+\r
+#include <boost/exception/exception.hpp>\r
+#include <boost/exception/to_string_stub.hpp>\r
+#include <boost/exception/detail/error_info_impl.hpp>\r
+#include <boost/shared_ptr.hpp>\r
+#include <boost/config.hpp>\r
+#include <map>\r
+\r
+namespace\r
+boost\r
+    {\r
+    template <class Tag,class T>\r
+    inline\r
+    typename enable_if<has_to_string<T>,std::string>::type\r
+    to_string( error_info<Tag,T> const & x )\r
+        {\r
+        return to_string(x.value());\r
+        }\r
+\r
+    template <class Tag,class T>\r
+    inline\r
+    error_info<Tag,T>::\r
+    error_info( value_type const & value ):\r
+        value_(value)\r
+        {\r
+        }\r
+\r
+    template <class Tag,class T>\r
+    inline\r
+    error_info<Tag,T>::\r
+    ~error_info() throw()\r
+        {\r
+        }\r
+\r
+    template <class Tag,class T>\r
+    inline\r
+    char const *\r
+    error_info<Tag,T>::\r
+    tag_typeid_name() const\r
+        {\r
+        return tag_type_name<Tag>();\r
+        }\r
+\r
+    template <class Tag,class T>\r
+    inline\r
+    std::string\r
+    error_info<Tag,T>::\r
+    value_as_string() const\r
+        {\r
+        return to_string_stub(*this);\r
+        }\r
+\r
+    namespace\r
+    exception_detail\r
+        {\r
+        class\r
+        error_info_container_impl:\r
+            public error_info_container\r
+            {\r
+            public:\r
+\r
+            error_info_container_impl():\r
+                count_(0)\r
+                {\r
+                }\r
+\r
+            ~error_info_container_impl() throw()\r
+                {\r
+                }\r
+\r
+            void\r
+            set( shared_ptr<error_info_base> const & x, type_info_ const & typeid_ )\r
+                {\r
+                BOOST_ASSERT(x);\r
+                info_[typeid_] = x;\r
+                diagnostic_info_str_.clear();\r
+                }\r
+\r
+            shared_ptr<error_info_base>\r
+            get( type_info_ const & ti ) const\r
+                {\r
+                error_info_map::const_iterator i=info_.find(ti);\r
+                if( info_.end()!=i )\r
+                    {\r
+                    shared_ptr<error_info_base> const & p = i->second;\r
+#ifndef BOOST_NO_RTTI\r
+                    BOOST_ASSERT( BOOST_EXCEPTION_DYNAMIC_TYPEID(*p).type_==ti.type_ );\r
+#endif\r
+                    return p;\r
+                    }\r
+                return shared_ptr<error_info_base>();\r
+                }\r
+\r
+            char const *\r
+            diagnostic_information( char const * header ) const\r
+                {\r
+                if( header )\r
+                    {\r
+                    BOOST_ASSERT(*header!=0);\r
+                    std::ostringstream tmp;\r
+                    tmp << header;\r
+                    for( error_info_map::const_iterator i=info_.begin(),end=info_.end(); i!=end; ++i )\r
+                        {\r
+                        shared_ptr<error_info_base const> const & x = i->second;\r
+                        tmp << '[' << x->tag_typeid_name() << "] = " << x->value_as_string() << '\n';\r
+                        }\r
+                    tmp.str().swap(diagnostic_info_str_);\r
+                    }\r
+                return diagnostic_info_str_.c_str();\r
+                }\r
+\r
+            private:\r
+\r
+            friend class boost::exception;\r
+\r
+            typedef std::map< type_info_, shared_ptr<error_info_base> > error_info_map;\r
+            error_info_map info_;\r
+            mutable std::string diagnostic_info_str_;\r
+            mutable int count_;\r
+\r
+            void\r
+            add_ref() const\r
+                {\r
+                ++count_;\r
+                }\r
+\r
+            void\r
+            release() const\r
+                {\r
+                if( !--count_ )\r
+                    delete this;\r
+                }\r
+            };\r
+        }\r
+\r
+    template <class E,class Tag,class T>\r
+    inline\r
+    E const &\r
+    operator<<( E const & x, error_info<Tag,T> const & v )\r
+        {\r
+        typedef error_info<Tag,T> error_info_tag_t;\r
+        shared_ptr<error_info_tag_t> p( new error_info_tag_t(v) );\r
+        exception_detail::error_info_container * c=x.data_.get();\r
+        if( !c )\r
+            x.data_.adopt(c=new exception_detail::error_info_container_impl);\r
+        c->set(p,BOOST_EXCEPTION_STATIC_TYPEID(error_info_tag_t));\r
+        return x;\r
+        }\r
+    }\r
+\r
+#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)\r
+#pragma warning(pop)\r
+#endif\r
+#endif\r
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 (file)
index 0000000..7a788ed
--- /dev/null
@@ -0,0 +1,76 @@
+//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc.\r
+\r
+//Distributed under the Boost Software License, Version 1.0. (See accompanying\r
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+#ifndef UUID_63EE924290FB11DC87BB856555D89593\r
+#define UUID_63EE924290FB11DC87BB856555D89593\r
+#if defined(__GNUC__) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)\r
+#pragma GCC system_header\r
+#endif\r
+#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)\r
+#pragma warning(push,1)\r
+#endif\r
+\r
+#include <boost/exception/info.hpp>\r
+#include <boost/tuple/tuple.hpp>\r
+\r
+namespace\r
+boost\r
+    {\r
+    template <\r
+        class E,\r
+        class Tag1,class T1,\r
+        class Tag2,class T2 >\r
+    inline\r
+    E const &\r
+    operator<<(\r
+        E const & x,\r
+        tuple<\r
+            error_info<Tag1,T1>,\r
+            error_info<Tag2,T2> > const & v )\r
+        {\r
+        return x << v.template get<0>() << v.template get<1>();\r
+        }\r
+\r
+    template <\r
+        class E,\r
+        class Tag1,class T1,\r
+        class Tag2,class T2,\r
+        class Tag3,class T3 >\r
+    inline\r
+    E const &\r
+    operator<<(\r
+        E const & x,\r
+        tuple<\r
+            error_info<Tag1,T1>,\r
+            error_info<Tag2,T2>,\r
+            error_info<Tag3,T3> > const & v )\r
+        {\r
+        return x << v.template get<0>() << v.template get<1>() << v.template get<2>();\r
+        }\r
+\r
+    template <\r
+        class E,\r
+        class Tag1,class T1,\r
+        class Tag2,class T2,\r
+        class Tag3,class T3,\r
+        class Tag4,class T4 >\r
+    inline\r
+    E const &\r
+    operator<<(\r
+        E const & x,\r
+        tuple<\r
+            error_info<Tag1,T1>,\r
+            error_info<Tag2,T2>,\r
+            error_info<Tag3,T3>,\r
+            error_info<Tag4,T4> > const & v )\r
+        {\r
+        return x << v.template get<0>() << v.template get<1>() << v.template get<2>() << v.template get<3>();\r
+        }\r
+    }\r
+\r
+#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)\r
+#pragma warning(pop)\r
+#endif\r
+#endif\r
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 (file)
index 0000000..483aed9
--- /dev/null
@@ -0,0 +1,83 @@
+//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc.\r
+\r
+//Distributed under the Boost Software License, Version 1.0. (See accompanying\r
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+#ifndef UUID_7E48761AD92811DC9011477D56D89593\r
+#define UUID_7E48761AD92811DC9011477D56D89593\r
+#if defined(__GNUC__) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)\r
+#pragma GCC system_header\r
+#endif\r
+#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)\r
+#pragma warning(push,1)\r
+#endif\r
+\r
+#include <boost/utility/enable_if.hpp>\r
+#include <boost/exception/detail/is_output_streamable.hpp>\r
+#include <sstream>\r
+\r
+namespace\r
+boost\r
+    {\r
+    namespace\r
+    to_string_detail\r
+        {\r
+        template <class T>\r
+        typename disable_if<is_output_streamable<T>,char>::type to_string( T const & );\r
+\r
+        template <class,bool IsOutputStreamable>\r
+        struct has_to_string_impl;\r
+\r
+        template <class T>\r
+        struct\r
+        has_to_string_impl<T,true>\r
+            {\r
+            enum e { value=1 };\r
+            };\r
+\r
+        template <class T>\r
+        struct\r
+        has_to_string_impl<T,false>\r
+            {\r
+            static T const & f();\r
+            enum e { value=1!=sizeof(to_string(f())) };\r
+            };\r
+        }\r
+\r
+    template <class T>\r
+    inline\r
+    typename enable_if<is_output_streamable<T>,std::string>::type\r
+    to_string( T const & x )\r
+        {\r
+        std::ostringstream out;\r
+        out << x;\r
+        return out.str();\r
+        }\r
+\r
+    template <class T>\r
+    struct\r
+    has_to_string\r
+        {\r
+        enum e { value=to_string_detail::has_to_string_impl<T,is_output_streamable<T>::value>::value };\r
+        };\r
+\r
+    template <class T,class U>\r
+    inline\r
+    std::string\r
+    to_string( std::pair<T,U> const & x )\r
+        {\r
+        return std::string("(") + to_string(x.first) + ',' + to_string(x.second) + ')';\r
+        }\r
+\r
+    inline\r
+    std::string\r
+    to_string( std::exception const & x )\r
+        {\r
+        return x.what();\r
+        }\r
+    }\r
+\r
+#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)\r
+#pragma warning(pop)\r
+#endif\r
+#endif\r
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 (file)
index 0000000..0f8eb99
--- /dev/null
@@ -0,0 +1,109 @@
+//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc.\r
+\r
+//Distributed under the Boost Software License, Version 1.0. (See accompanying\r
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+#ifndef UUID_E788439ED9F011DCB181F25B55D89593\r
+#define UUID_E788439ED9F011DCB181F25B55D89593\r
+#if defined(__GNUC__) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)\r
+#pragma GCC system_header\r
+#endif\r
+#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)\r
+#pragma warning(push,1)\r
+#endif\r
+\r
+#include <boost/exception/to_string.hpp>\r
+#include <boost/exception/detail/object_hex_dump.hpp>\r
+#include <boost/assert.hpp>\r
+\r
+namespace\r
+boost\r
+    {\r
+    namespace\r
+    exception_detail\r
+        {\r
+        template <bool ToStringAvailable>\r
+        struct\r
+        to_string_dispatcher\r
+            {\r
+            template <class T,class Stub>\r
+            static\r
+            std::string\r
+            convert( T const & x, Stub )\r
+                {\r
+                return to_string(x);\r
+                }\r
+            };\r
+\r
+        template <>\r
+        struct\r
+        to_string_dispatcher<false>\r
+            {\r
+            template <class T,class Stub>\r
+            static\r
+            std::string\r
+            convert( T const & x, Stub s )\r
+                {\r
+                return s(x);\r
+                }\r
+\r
+            template <class T>\r
+            static\r
+            std::string\r
+            convert( T const & x, std::string s )\r
+                {\r
+                return s;\r
+                }\r
+\r
+            template <class T>\r
+            static\r
+            std::string\r
+            convert( T const & x, char const * s )\r
+                {\r
+                BOOST_ASSERT(s!=0);\r
+                return s;\r
+                }\r
+            };\r
+\r
+        namespace\r
+        to_string_dispatch\r
+            {\r
+            template <class T,class Stub>\r
+            inline\r
+            std::string\r
+            dispatch( T const & x, Stub s )\r
+                {\r
+                return to_string_dispatcher<has_to_string<T>::value>::convert(x,s);\r
+                }\r
+            }\r
+\r
+        template <class T>\r
+        inline\r
+        std::string\r
+        string_stub_dump( T const & x )\r
+            {\r
+            return "[ " + exception_detail::object_hex_dump(x) + " ]";\r
+            }\r
+        }\r
+\r
+    template <class T>\r
+    inline\r
+    std::string\r
+    to_string_stub( T const & x )\r
+        {\r
+        return exception_detail::to_string_dispatch::dispatch(x,&exception_detail::string_stub_dump<T>);\r
+        }\r
+\r
+    template <class T,class Stub>\r
+    inline\r
+    std::string\r
+    to_string_stub( T const & x, Stub s )\r
+        {\r
+        return exception_detail::to_string_dispatch::dispatch(x,s);\r
+        }\r
+    }\r
+\r
+#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)\r
+#pragma warning(pop)\r
+#endif\r
+#endif\r
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 (file)
index 0000000..d89914a
--- /dev/null
@@ -0,0 +1,20 @@
+//  boost/filesystem/filesystem.hpp  -----------------------------------------//\r
+\r
+//  Copyright Beman Dawes 2005\r
+\r
+//  Use, modification, and distribution is subject to the Boost Software\r
+//  License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+//  See library home page at http://www.boost.org/libs/filesystem\r
+\r
+//----------------------------------------------------------------------------// \r
+\r
+#ifndef BOOST_FILESYSTEM_FILESYSTEM_HPP\r
+#define BOOST_FILESYSTEM_FILESYSTEM_HPP\r
+\r
+#include <boost/filesystem/operations.hpp>   // includes path.hpp\r
+#include <boost/filesystem/convenience.hpp>\r
+\r
+#endif\r
+\r
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 (file)
index 0000000..648f293
--- /dev/null
@@ -0,0 +1,113 @@
+//  boost/filesystem/config.hpp  ---------------------------------------------//\r
+\r
+//  Copyright Beman Dawes 2003\r
+\r
+//  Distributed under the Boost Software License, Version 1.0. (See accompanying\r
+//  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+//  See library home page at http://www.boost.org/libs/filesystem\r
+\r
+//----------------------------------------------------------------------------// \r
+\r
+#ifndef BOOST_FILESYSTEM_CONFIG_HPP\r
+#define BOOST_FILESYSTEM_CONFIG_HPP\r
+\r
+#define BOOST_FILESYSTEM_I18N  // aid users wishing to compile several versions\r
+\r
+//  ability to change namespace aids path_table.cpp  ------------------------// \r
+#ifndef BOOST_FILESYSTEM_NAMESPACE\r
+# define BOOST_FILESYSTEM_NAMESPACE filesystem\r
+#endif\r
+\r
+// This header implements separate compilation features as described in\r
+// http://www.boost.org/more/separate_compilation.html\r
+\r
+#include <boost/config.hpp>\r
+#include <boost/detail/workaround.hpp> \r
+\r
+//  determine platform  ------------------------------------------------------//\r
+\r
+//  BOOST_CYGWIN_PATH implies BOOST_WINDOWS_PATH and BOOST_POSIX_API\r
+\r
+# if defined(BOOST_CYGWIN_PATH)\r
+#   if defined(BOOST_POSIX_PATH)\r
+#     error BOOST_POSIX_PATH is invalid when BOOST_CYGWIN_PATH is defined\r
+#   endif\r
+#   if defined(BOOST_WINDOWS_API)\r
+#     error BOOST_WINDOWS_API is invalid when BOOST_CYGWIN_PATH is defined\r
+#   endif\r
+#   define BOOST_WINDOWS_PATH\r
+#   define BOOST_POSIX_API\r
+# endif\r
+\r
+//  BOOST_POSIX_API or BOOST_WINDOWS_API specify which API to use\r
+\r
+# if defined( BOOST_WINDOWS_API ) && defined( BOOST_POSIX_API )\r
+#   error both BOOST_WINDOWS_API and BOOST_POSIX_API are defined\r
+# elif !defined( BOOST_WINDOWS_API ) && !defined( BOOST_POSIX_API )\r
+#   if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__CYGWIN__)\r
+#     define BOOST_WINDOWS_API\r
+#   else\r
+#     define BOOST_POSIX_API \r
+#   endif\r
+# endif\r
+\r
+//  BOOST_WINDOWS_PATH enables Windows path syntax recognition\r
+\r
+# if !defined(BOOST_POSIX_PATH) && (defined(_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__CYGWIN__))\r
+#   define BOOST_WINDOWS_PATH\r
+# endif\r
+\r
+//  narrow support only for badly broken compilers or libraries  -------------//\r
+\r
+# if defined(BOOST_NO_STD_WSTRING) || defined(BOOST_NO_SFINAE) || defined(BOOST_NO_STD_LOCALE) || BOOST_WORKAROUND(__BORLANDC__, <0x610)\r
+#   define BOOST_FILESYSTEM_NARROW_ONLY\r
+# endif\r
+\r
+//  enable dynamic linking on Windows  ---------------------------------------//\r
+\r
+#  if (defined(BOOST_ALL_DYN_LINK) || defined(BOOST_FILESYSTEM_DYN_LINK)) &&  BOOST_WORKAROUND(__BORLANDC__, <0x610) && defined(__WIN32__)\r
+#    error Dynamic linking Boost.Filesystem does not work for Borland; use static linking instead\r
+#  endif\r
+\r
+#ifdef BOOST_HAS_DECLSPEC // defined in config system\r
+// we need to import/export our code only if the user has specifically\r
+// asked for it by defining either BOOST_ALL_DYN_LINK if they want all boost\r
+// libraries to be dynamically linked, or BOOST_FILESYSTEM_DYN_LINK\r
+// if they want just this one to be dynamically liked:\r
+#if defined(BOOST_ALL_DYN_LINK) || defined(BOOST_FILESYSTEM_DYN_LINK)\r
+// export if this is our own source, otherwise import:\r
+#ifdef BOOST_FILESYSTEM_SOURCE\r
+# define BOOST_FILESYSTEM_DECL __declspec(dllexport)\r
+#else\r
+# define BOOST_FILESYSTEM_DECL __declspec(dllimport)\r
+#endif  // BOOST_FILESYSTEM_SOURCE\r
+#endif  // DYN_LINK\r
+#endif  // BOOST_HAS_DECLSPEC\r
+//\r
+// if BOOST_FILESYSTEM_DECL isn't defined yet define it now:\r
+#ifndef BOOST_FILESYSTEM_DECL\r
+#define BOOST_FILESYSTEM_DECL\r
+#endif\r
+\r
+//  enable automatic library variant selection  ------------------------------// \r
+\r
+#if !defined(BOOST_FILESYSTEM_SOURCE) && !defined(BOOST_ALL_NO_LIB) && !defined(BOOST_FILESYSTEM_NO_LIB)\r
+//\r
+// Set the name of our library, this will get undef'ed by auto_link.hpp\r
+// once it's done with it:\r
+//\r
+#define BOOST_LIB_NAME boost_filesystem\r
+//\r
+// If we're importing code from a dll, then tell auto_link.hpp about it:\r
+//\r
+#if defined(BOOST_ALL_DYN_LINK) || defined(BOOST_FILESYSTEM_DYN_LINK)\r
+#  define BOOST_DYN_LINK\r
+#endif\r
+//\r
+// And include the header that does the work:\r
+//\r
+#include <boost/config/auto_link.hpp>\r
+#endif  // auto-linking disabled\r
+\r
+#endif // BOOST_FILESYSTEM_CONFIG_HPP\r
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 (file)
index 0000000..6491c1d
--- /dev/null
@@ -0,0 +1,306 @@
+//  boost/filesystem/convenience.hpp  ----------------------------------------//\r
+\r
+//  Copyright Beman Dawes, 2002-2005\r
+//  Copyright Vladimir Prus, 2002\r
+//  Use, modification, and distribution is subject to the Boost Software\r
+//  License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+//  See library home page at http://www.boost.org/libs/filesystem\r
+\r
+//----------------------------------------------------------------------------// \r
+\r
+#ifndef BOOST_FILESYSTEM_CONVENIENCE_HPP\r
+#define BOOST_FILESYSTEM_CONVENIENCE_HPP\r
+\r
+#include <boost/filesystem/operations.hpp>\r
+#include <boost/system/error_code.hpp>\r
+#include <vector>\r
+#include <stack>\r
+\r
+#include <boost/config/abi_prefix.hpp> // must be the last #include\r
+\r
+# ifndef BOOST_FILESYSTEM_NARROW_ONLY\r
+#   define BOOST_FS_FUNC(BOOST_FS_TYPE) \\r
+      template<class Path> typename boost::enable_if<is_basic_path<Path>, \\r
+      BOOST_FS_TYPE>::type\r
+#   define BOOST_FS_FUNC_STRING BOOST_FS_FUNC(typename Path::string_type)\r
+#   define BOOST_FS_TYPENAME typename\r
+# else\r
+#   define BOOST_FS_FUNC(BOOST_FS_TYPE) inline BOOST_FS_TYPE \r
+    typedef boost::filesystem::path Path;\r
+#   define BOOST_FS_FUNC_STRING inline std::string\r
+#   define BOOST_FS_TYPENAME\r
+# endif\r
+\r
+namespace boost\r
+{\r
+  namespace filesystem\r
+  {\r
+\r
+    BOOST_FS_FUNC(bool) create_directories(const Path& ph)\r
+    {\r
+         if (ph.empty() || exists(ph))\r
+         {\r
+           if ( !ph.empty() && !is_directory(ph) )\r
+               boost::throw_exception( basic_filesystem_error<Path>(\r
+                 "boost::filesystem::create_directories", ph,\r
+                 make_error_code( boost::system::posix::file_exists ) ) );\r
+           return false;\r
+         }\r
+\r
+         // First create branch, by calling ourself recursively\r
+         create_directories(ph.parent_path());\r
+         // Now that parent's path exists, create the directory\r
+         create_directory(ph);\r
+         return true;\r
+     }\r
+\r
+# ifndef BOOST_FILESYSTEM_NO_DEPRECATED\r
+\r
+    BOOST_FS_FUNC_STRING extension(const Path& ph)\r
+    {\r
+      typedef BOOST_FS_TYPENAME Path::string_type string_type;\r
+      string_type filename = ph.filename();\r
+\r
+      BOOST_FS_TYPENAME string_type::size_type n = filename.rfind('.');\r
+      if (n != string_type::npos)\r
+        return filename.substr(n);\r
+      else\r
+        return string_type();\r
+    }\r
+\r
+    BOOST_FS_FUNC_STRING basename(const Path& ph)\r
+    {\r
+      typedef BOOST_FS_TYPENAME Path::string_type string_type;\r
+      string_type filename = ph.filename();\r
+      BOOST_FS_TYPENAME string_type::size_type n = filename.rfind('.');\r
+      return filename.substr(0, n);\r
+    }\r
+\r
+\r
+    BOOST_FS_FUNC(Path) change_extension( const Path & ph,\r
+      const BOOST_FS_TYPENAME Path::string_type & new_extension )\r
+      { return ph.parent_path() / (basename(ph) + new_extension); }\r
+\r
+# endif\r
+\r
+# ifndef BOOST_FILESYSTEM_NARROW_ONLY\r
+\r
+    // "do-the-right-thing" overloads  ---------------------------------------//\r
+\r
+    inline bool create_directories(const path& ph)\r
+      { return create_directories<path>(ph); }\r
+    inline bool create_directories(const wpath& ph)\r
+      { return create_directories<wpath>(ph); }\r
+\r
+# ifndef BOOST_FILESYSTEM_NO_DEPRECATED\r
+    inline std::string extension(const path& ph)\r
+      { return extension<path>(ph); }\r
+    inline std::wstring extension(const wpath& ph)\r
+      { return extension<wpath>(ph); }\r
+\r
+    inline std::string basename(const path& ph)\r
+      { return basename<path>( ph ); }\r
+    inline std::wstring basename(const wpath& ph)\r
+      { return basename<wpath>( ph ); }\r
+\r
+    inline path change_extension( const path & ph, const std::string& new_ex )\r
+      { return change_extension<path>( ph, new_ex ); }\r
+    inline wpath change_extension( const wpath & ph, const std::wstring& new_ex )\r
+      { return change_extension<wpath>( ph, new_ex ); }\r
+# endif\r
+\r
+# endif\r
+\r
+\r
+    //  basic_recursive_directory_iterator helpers  --------------------------//\r
+\r
+    namespace detail\r
+    {\r
+      template< class Path >\r
+      struct recur_dir_itr_imp\r
+      {\r
+        typedef basic_directory_iterator< Path > element_type;\r
+        std::stack< element_type, std::vector< element_type > > m_stack;\r
+        int  m_level;\r
+        bool m_no_push;\r
+        bool m_no_throw;\r
+\r
+        recur_dir_itr_imp() : m_level(0), m_no_push(false), m_no_throw(false) {}\r
+      };\r
+\r
+    } // namespace detail\r
+\r
+    //  basic_recursive_directory_iterator  ----------------------------------//\r
+\r
+    template< class Path >\r
+    class basic_recursive_directory_iterator\r
+      : public boost::iterator_facade<\r
+          basic_recursive_directory_iterator<Path>,\r
+          basic_directory_entry<Path>,\r
+          boost::single_pass_traversal_tag >\r
+    {\r
+    public:\r
+      typedef Path path_type;\r
+\r
+      basic_recursive_directory_iterator(){}  // creates the "end" iterator\r
+\r
+      explicit basic_recursive_directory_iterator( const Path & dir_path );\r
+      basic_recursive_directory_iterator( const Path & dir_path,\r
+        system::error_code & ec );\r
+\r
+      int level() const { return m_imp->m_level; }\r
+\r
+      void pop();\r
+      void no_push()\r
+      {\r
+        BOOST_ASSERT( m_imp.get() && "attempt to no_push() on end iterator" );\r
+        m_imp->m_no_push = true;\r
+      }\r
+\r
+      file_status status() const\r
+      {\r
+        BOOST_ASSERT( m_imp.get()\r
+          && "attempt to call status() on end recursive_iterator" );\r
+        return m_imp->m_stack.top()->status();\r
+      }\r
+\r
+      file_status symlink_status() const\r
+      {\r
+        BOOST_ASSERT( m_imp.get()\r
+          && "attempt to call symlink_status() on end recursive_iterator" );\r
+        return m_imp->m_stack.top()->symlink_status();\r
+      }\r
+\r
+    private:\r
+\r
+      // shared_ptr provides shallow-copy semantics required for InputIterators.\r
+      // m_imp.get()==0 indicates the end iterator.\r
+      boost::shared_ptr< detail::recur_dir_itr_imp< Path > >  m_imp;\r
+\r
+      friend class boost::iterator_core_access;\r
+\r
+      typename boost::iterator_facade< \r
+        basic_recursive_directory_iterator<Path>,\r
+        basic_directory_entry<Path>,\r
+        boost::single_pass_traversal_tag >::reference\r
+      dereference() const \r
+      {\r
+        BOOST_ASSERT( m_imp.get() && "attempt to dereference end iterator" );\r
+        return *m_imp->m_stack.top();\r
+      }\r
+\r
+      void increment();\r
+\r
+      bool equal( const basic_recursive_directory_iterator & rhs ) const\r
+        { return m_imp == rhs.m_imp; }\r
+\r
+    };\r
+\r
+    typedef basic_recursive_directory_iterator<path> recursive_directory_iterator;\r
+# ifndef BOOST_FILESYSTEM_NARROW_ONLY\r
+    typedef basic_recursive_directory_iterator<wpath> wrecursive_directory_iterator;\r
+# endif\r
+\r
+    //  basic_recursive_directory_iterator implementation  -------------------//\r
+\r
+    //  constructors\r
+    template<class Path>\r
+    basic_recursive_directory_iterator<Path>::\r
+      basic_recursive_directory_iterator( const Path & dir_path )\r
+      : m_imp( new detail::recur_dir_itr_imp<Path> )\r
+    {\r
+      m_imp->m_stack.push( basic_directory_iterator<Path>( dir_path ) );\r
+      if ( m_imp->m_stack.top () == basic_directory_iterator<Path>() )\r
+        { m_imp.reset (); }\r
+    }\r
+\r
+    template<class Path>\r
+    basic_recursive_directory_iterator<Path>::\r
+      basic_recursive_directory_iterator( const Path & dir_path,\r
+        system::error_code & ec )\r
+      : m_imp( new detail::recur_dir_itr_imp<Path> )\r
+    {\r
+      m_imp->m_no_throw = true;\r
+      m_imp->m_stack.push( basic_directory_iterator<Path>( dir_path, ec ) );\r
+      if ( m_imp->m_stack.top () == basic_directory_iterator<Path>() )\r
+        { m_imp.reset (); }\r
+    }\r
+\r
+    //  increment\r
+    template<class Path>\r
+    void basic_recursive_directory_iterator<Path>::increment()\r
+    {\r
+      BOOST_ASSERT( m_imp.get() && "increment on end iterator" );\r
+      \r
+      static const basic_directory_iterator<Path> end_itr;\r
+\r
+      if ( m_imp->m_no_push )\r
+        { m_imp->m_no_push = false; }\r
+      else if ( is_directory( m_imp->m_stack.top()->status() ) )\r
+      {\r
+        system::error_code ec;\r
+#if BOOST_WORKAROUND(__CODEGEARC__, BOOST_TESTED_AT(0x610))\r
+        if( m_imp->m_no_throw ) {\r
+            m_imp->m_stack.push(\r
+                basic_directory_iterator<Path>( *m_imp->m_stack.top(), ec )\r
+            );\r
+        }\r
+        else {\r
+            m_imp->m_stack.push(\r
+                basic_directory_iterator<Path>( *m_imp->m_stack.top() )\r
+            );\r
+        }\r
+#else\r
+        m_imp->m_stack.push(\r
+          m_imp->m_no_throw\r
+            ? basic_directory_iterator<Path>( *m_imp->m_stack.top(), ec )\r
+            : basic_directory_iterator<Path>( *m_imp->m_stack.top() ) );\r
+#endif\r
+        if ( m_imp->m_stack.top() != end_itr )\r
+        {\r
+          ++m_imp->m_level;\r
+          return;\r
+        }\r
+        m_imp->m_stack.pop();\r
+      }\r
+\r
+      while ( !m_imp->m_stack.empty()\r
+        && ++m_imp->m_stack.top() == end_itr )\r
+      {\r
+        m_imp->m_stack.pop();\r
+        --m_imp->m_level;\r
+      }\r
+\r
+      if ( m_imp->m_stack.empty() ) m_imp.reset(); // done, so make end iterator\r
+    }\r
+\r
+    //  pop\r
+    template<class Path>\r
+    void basic_recursive_directory_iterator<Path>::pop()\r
+    {\r
+      BOOST_ASSERT( m_imp.get() && "pop on end iterator" );\r
+      BOOST_ASSERT( m_imp->m_level > 0 && "pop with level < 1" );\r
+\r
+      static const basic_directory_iterator<Path> end_itr;\r
+\r
+      do\r
+      {\r
+        m_imp->m_stack.pop();\r
+        --m_imp->m_level;\r
+      }\r
+      while ( !m_imp->m_stack.empty()\r
+        && ++m_imp->m_stack.top() == end_itr );\r
+\r
+      if ( m_imp->m_stack.empty() ) m_imp.reset(); // done, so make end iterator\r
+    }\r
+\r
+  } // namespace filesystem\r
+} // namespace boost\r
+\r
+#undef BOOST_FS_FUNC_STRING\r
+#undef BOOST_FS_FUNC\r
+\r
+#include <boost/config/abi_suffix.hpp> // pops abi_prefix.hpp pragmas\r
+#endif // BOOST_FILESYSTEM_CONVENIENCE_HPP\r
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 (file)
index 0000000..0d7d383
--- /dev/null
@@ -0,0 +1,9 @@
+//  boost/filesystem/exception.hpp  -------------------------------------------//\r
+\r
+//  Copyright Beman Dawes 2003\r
+//  Use, modification, and distribution is subject to the Boost Software\r
+//  License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+//  This header is no long used. The contents have been moved to path.hpp.\r
+//  It is provided so that user code #includes do not have to be changed.\r
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 (file)
index 0000000..642f733
--- /dev/null
@@ -0,0 +1,584 @@
+//  boost/filesystem/fstream.hpp  --------------------------------------------//\r
+\r
+//  Copyright Beman Dawes 2002.\r
+//  Use, modification, and distribution is subject to the Boost Software\r
+//  License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+//  See library home page at http://www.boost.org/libs/filesystem\r
+\r
+//----------------------------------------------------------------------------// \r
+\r
+#ifndef BOOST_FILESYSTEM_FSTREAM_HPP\r
+#define BOOST_FILESYSTEM_FSTREAM_HPP\r
+\r
+#include <boost/filesystem/operations.hpp> // for 8.3 hack (see below)\r
+#include <boost/utility/enable_if.hpp>\r
+#include <boost/detail/workaround.hpp>\r
+\r
+#include <iosfwd>\r
+#include <fstream>\r
+\r
+#include <boost/config/abi_prefix.hpp> // must be the last #include\r
+\r
+// NOTE: fstream.hpp for Boost 1.32.0 and earlier supplied workarounds for\r
+// various compiler problems. They have been removed to ease development of the\r
+// basic i18n functionality. Once the new interface is stable, the workarounds\r
+// will be reinstated for any compilers that otherwise can support the rest of\r
+// the library after internationalization.\r
+\r
+namespace boost\r
+{\r
+  namespace filesystem\r
+  {\r
+    namespace detail\r
+    {\r
+#   if defined(BOOST_WINDOWS_API) && !defined(BOOST_FILESYSTEM_NARROW_ONLY)\r
+#     if !defined(BOOST_DINKUMWARE_STDLIB) || BOOST_DINKUMWARE_STDLIB < 405\r
+      // The 8.3 hack:\r
+      // C++98 does not supply a wchar_t open, so try to get an equivalent\r
+      // narrow char name based on the short, so-called 8.3, name.\r
+      // Not needed for Dinkumware 405 and later as they do supply wchar_t open.\r
+      BOOST_FILESYSTEM_DECL bool create_file_api( const std::wstring & ph,\r
+        std::ios_base::openmode mode ); // true if succeeds\r
+      BOOST_FILESYSTEM_DECL std::string narrow_path_api(\r
+        const std::wstring & ph ); // return is empty if fails\r
+\r
+      inline std::string path_proxy( const std::wstring & file_ph,\r
+        std::ios_base::openmode mode )\r
+      // Return a non-existant path if cannot supply narrow short path.\r
+      // An empty path doesn't work because some Dinkumware versions\r
+      // assert the path is non-empty.  \r
+      {\r
+        std::string narrow_ph;\r
+        bool created_file( false );\r
+        if ( !exists( file_ph )\r
+          && (mode & std::ios_base::out) != 0\r
+          && create_file_api( file_ph, mode ) )\r
+        {\r
+          created_file = true;\r
+        }\r
+        narrow_ph = narrow_path_api( file_ph );\r
+        if ( narrow_ph.empty() )\r
+        {\r
+          if ( created_file ) remove_api( file_ph );\r
+          narrow_ph = "\x01";\r
+        }\r
+        return narrow_ph;\r
+      }\r
+#     else\r
+      // Dinkumware 405 and later does supply wchar_t functions\r
+      inline const std::wstring & path_proxy( const std::wstring & file_ph,\r
+        std::ios_base::openmode )\r
+        { return file_ph; }\r
+#     endif\r
+#   endif \r
+\r
+      inline const std::string & path_proxy( const std::string & file_ph,\r
+        std::ios_base::openmode )\r
+        { return file_ph; }\r
+\r
+    } // namespace detail\r
+\r
+    template < class charT, class traits = std::char_traits<charT> >\r
+    class basic_filebuf : public std::basic_filebuf<charT,traits>\r
+    {\r
+    private: // disallow copying\r
+      basic_filebuf( const basic_filebuf & );\r
+      const basic_filebuf & operator=( const basic_filebuf & ); \r
+    public:\r
+      basic_filebuf() {}\r
+      virtual ~basic_filebuf() {}\r
+\r
+#   ifndef BOOST_FILESYSTEM_NARROW_ONLY\r
+      template<class Path>\r
+      typename boost::enable_if<is_basic_path<Path>,\r
+        basic_filebuf<charT,traits> *>::type\r
+      open( const Path & file_ph, std::ios_base::openmode mode );\r
+\r
+      basic_filebuf<charT,traits> *\r
+      open( const wpath & file_ph, std::ios_base::openmode mode );\r
+#   endif\r
+\r
+#   if !BOOST_WORKAROUND( BOOST_MSVC, <= 1200 ) // VC++ 6.0 can't handle this\r
+      basic_filebuf<charT,traits> *\r
+      open( const path & file_ph, std::ios_base::openmode mode );\r
+#   endif\r
+    };\r
+\r
+    template < class charT, class traits = std::char_traits<charT> >\r
+    class basic_ifstream : public std::basic_ifstream<charT,traits>\r
+    {\r
+    private: // disallow copying\r
+      basic_ifstream( const basic_ifstream & );\r
+      const basic_ifstream & operator=( const basic_ifstream & ); \r
+    public:\r
+      basic_ifstream() {}\r
+\r
+      // use two signatures, rather than one signature with default second\r
+      // argument, to workaround VC++ 7.1 bug (ID VSWhidbey 38416)\r
+\r
+#   ifndef BOOST_FILESYSTEM_NARROW_ONLY\r
+      template<class Path>\r
+      explicit basic_ifstream( const Path & file_ph,\r
+        typename boost::enable_if<is_basic_path<Path> >::type* dummy = 0 );\r
+\r
+      template<class Path>\r
+      basic_ifstream( const Path & file_ph, std::ios_base::openmode mode,\r
+        typename boost::enable_if<is_basic_path<Path> >::type* dummy = 0 );\r
+\r
+      template<class Path>\r
+      typename boost::enable_if<is_basic_path<Path>, void>::type\r
+      open( const Path & file_ph );\r
+\r
+      template<class Path>\r
+      typename boost::enable_if<is_basic_path<Path>, void>::type\r
+      open( const Path & file_ph, std::ios_base::openmode mode );\r
+\r
+      explicit basic_ifstream( const wpath & file_ph );\r
+      basic_ifstream( const wpath & file_ph, std::ios_base::openmode mode );\r
+      void open( const wpath & file_ph );\r
+      void open( const wpath & file_ph, std::ios_base::openmode mode );\r
+#   endif\r
+\r
+      explicit basic_ifstream( const path & file_ph );\r
+      basic_ifstream( const path & file_ph, std::ios_base::openmode mode );\r
+#   if !BOOST_WORKAROUND( BOOST_MSVC, <= 1200 ) // VC++ 6.0 can't handle this\r
+      void open( const path & file_ph );\r
+      void open( const path & file_ph, std::ios_base::openmode mode );\r
+#   endif\r
+      virtual ~basic_ifstream() {}\r
+    };\r
+\r
+    template < class charT, class traits = std::char_traits<charT> >\r
+    class basic_ofstream : public std::basic_ofstream<charT,traits>\r
+    {\r
+    private: // disallow copying\r
+      basic_ofstream( const basic_ofstream & );\r
+      const basic_ofstream & operator=( const basic_ofstream & ); \r
+    public:\r
+      basic_ofstream() {}\r
+\r
+      // use two signatures, rather than one signature with default second\r
+      // argument, to workaround VC++ 7.1 bug (ID VSWhidbey 38416)\r
+\r
+#   ifndef BOOST_FILESYSTEM_NARROW_ONLY\r
+\r
+      template<class Path>\r
+      explicit basic_ofstream( const Path & file_ph,\r
+        typename boost::enable_if<is_basic_path<Path> >::type* dummy = 0 );\r
+      explicit basic_ofstream( const wpath & file_ph );\r
+\r
+      template<class Path>\r
+      basic_ofstream( const Path & file_ph, std::ios_base::openmode mode,\r
+        typename boost::enable_if<is_basic_path<Path> >::type* dummy = 0 );\r
+      basic_ofstream( const wpath & file_ph, std::ios_base::openmode mode );\r
+\r
+      template<class Path>\r
+      typename boost::enable_if<is_basic_path<Path>, void>::type\r
+      open( const Path & file_ph );\r
+      void open( const wpath & file_ph );\r
+\r
+      template<class Path>\r
+      typename boost::enable_if<is_basic_path<Path>, void>::type\r
+      open( const Path & file_ph, std::ios_base::openmode mode );\r
+      void open( const wpath & file_ph, std::ios_base::openmode mode );\r
+\r
+#   endif\r
+\r
+      explicit basic_ofstream( const path & file_ph );\r
+      basic_ofstream( const path & file_ph, std::ios_base::openmode mode );\r
+#   if !BOOST_WORKAROUND( BOOST_MSVC, <= 1200 ) // VC++ 6.0 can't handle this\r
+      void open( const path & file_ph );\r
+      void open( const path & file_ph, std::ios_base::openmode mode );\r
+#   endif\r
+      virtual ~basic_ofstream() {}\r
+    };\r
+\r
+    template < class charT, class traits = std::char_traits<charT> >\r
+    class basic_fstream : public std::basic_fstream<charT,traits>\r
+    {\r
+    private: // disallow copying\r
+      basic_fstream( const basic_fstream & );\r
+      const basic_fstream & operator=( const basic_fstream & ); \r
+    public:\r
+      basic_fstream() {}\r
+\r
+      // use two signatures, rather than one signature with default second\r
+      // argument, to workaround VC++ 7.1 bug (ID VSWhidbey 38416)\r
+\r
+#   ifndef BOOST_FILESYSTEM_NARROW_ONLY\r
+\r
+      template<class Path>\r
+      explicit basic_fstream( const Path & file_ph,\r
+        typename boost::enable_if<is_basic_path<Path> >::type* dummy = 0 );\r
+      explicit basic_fstream( const wpath & file_ph );\r
+\r
+      template<class Path>\r
+      basic_fstream( const Path & file_ph, std::ios_base::openmode mode,\r
+        typename boost::enable_if<is_basic_path<Path> >::type* dummy = 0 );\r
+      basic_fstream( const wpath & file_ph, std::ios_base::openmode mode );\r
+\r
+      template<class Path>\r
+      typename boost::enable_if<is_basic_path<Path>, void>::type\r
+      open( const Path & file_ph );\r
+      void open( const wpath & file_ph );\r
+\r
+      template<class Path>\r
+      typename boost::enable_if<is_basic_path<Path>, void>::type\r
+      open( const Path & file_ph, std::ios_base::openmode mode );\r
+      void open( const wpath & file_ph, std::ios_base::openmode mode );\r
+\r
+#   endif\r
+\r
+      explicit basic_fstream( const path & file_ph );\r
+      basic_fstream( const path & file_ph, std::ios_base::openmode mode );\r
+#   if !BOOST_WORKAROUND( BOOST_MSVC, <= 1200 ) // VC++ 6.0 can't handle this\r
+      void open( const path & file_ph );\r
+      void open( const path & file_ph, std::ios_base::openmode mode );\r
+#   endif\r
+      virtual ~basic_fstream() {}\r
+\r
+    };\r
\r
+    typedef basic_filebuf<char> filebuf;\r
+    typedef basic_ifstream<char> ifstream;\r
+    typedef basic_ofstream<char> ofstream;\r
+    typedef basic_fstream<char> fstream;\r
+\r
+# ifndef BOOST_FILESYSTEM_NARROW_ONLY\r
+    typedef basic_filebuf<wchar_t> wfilebuf;\r
+    typedef basic_ifstream<wchar_t> wifstream;\r
+    typedef basic_fstream<wchar_t> wfstream;\r
+    typedef basic_ofstream<wchar_t> wofstream;\r
+# endif\r
+    \r
+# ifndef BOOST_FILESYSTEM_NARROW_ONLY\r
+\r
+//  basic_filebuf definitions  -----------------------------------------------//\r
+\r
+    template <class charT, class traits>\r
+    template<class Path>\r
+    typename boost::enable_if<is_basic_path<Path>,\r
+      basic_filebuf<charT,traits> *>::type\r
+    basic_filebuf<charT,traits>::open( const Path & file_ph,\r
+      std::ios_base::openmode mode )\r
+    {\r
+      return (std::basic_filebuf<charT,traits>::open( detail::path_proxy(\r
+        file_ph.external_file_string(), mode ).c_str(), mode )\r
+          == 0) ? 0 : this;\r
+    }\r
+\r
+    template <class charT, class traits>\r
+    basic_filebuf<charT,traits> *\r
+    basic_filebuf<charT, traits>::open( const wpath & file_ph,\r
+      std::ios_base::openmode mode )\r
+    {\r
+      return this->BOOST_NESTED_TEMPLATE open<wpath>( file_ph, mode );\r
+    }\r
+\r
+//  basic_ifstream definitions  ----------------------------------------------//\r
+\r
+    template <class charT, class traits> template<class Path>\r
+    basic_ifstream<charT,traits>::basic_ifstream(const Path & file_ph,\r
+      typename boost::enable_if<is_basic_path<Path> >::type* )\r
+      : std::basic_ifstream<charT,traits>(\r
+        detail::path_proxy( file_ph.external_file_string(),\r
+          std::ios_base::in ).c_str(), std::ios_base::in ) {}\r
+\r
+    template <class charT, class traits>\r
+    basic_ifstream<charT,traits>::basic_ifstream( const wpath & file_ph )\r
+      : std::basic_ifstream<charT,traits>(\r
+        detail::path_proxy( file_ph.external_file_string(),\r
+          std::ios_base::in ).c_str(), std::ios_base::in ) {}\r
+    \r
+    template <class charT, class traits> template<class Path>\r
+    basic_ifstream<charT,traits>::basic_ifstream( const Path & file_ph,\r
+      std::ios_base::openmode mode,\r
+      typename boost::enable_if<is_basic_path<Path> >::type* )\r
+      : std::basic_ifstream<charT,traits>(\r
+        detail::path_proxy( file_ph.external_file_string(),\r
+          mode ).c_str(), mode | std::ios_base::in ) {}\r
+\r
+    template <class charT, class traits>\r
+    basic_ifstream<charT,traits>::basic_ifstream( const wpath & file_ph,\r
+      std::ios_base::openmode mode )\r
+      : std::basic_ifstream<charT,traits>(\r
+        detail::path_proxy( file_ph.external_file_string(),\r
+          mode ).c_str(), mode | std::ios_base::in ) {}\r
+\r
+    template <class charT, class traits> template<class Path>\r
+    typename boost::enable_if<is_basic_path<Path>, void>::type\r
+    basic_ifstream<charT,traits>::open( const Path & file_ph )\r
+    {\r
+      std::basic_ifstream<charT,traits>::open(\r
+        detail::path_proxy( file_ph.external_file_string(),\r
+          std::ios_base::in ).c_str(), std::ios_base::in );\r
+    }\r
+\r
+    template <class charT, class traits>\r
+    void basic_ifstream<charT,traits>::open( const wpath & file_ph )\r
+    {\r
+      std::basic_ifstream<charT,traits>::open(\r
+        detail::path_proxy( file_ph.external_file_string(),\r
+          std::ios_base::in ).c_str(), std::ios_base::in );\r
+    }\r
+    \r
+    template <class charT, class traits> template<class Path>\r
+    typename boost::enable_if<is_basic_path<Path>, void>::type\r
+    basic_ifstream<charT,traits>::open( const Path & file_ph,\r
+      std::ios_base::openmode mode )\r
+    {\r
+      std::basic_ifstream<charT,traits>::open(\r
+        detail::path_proxy( file_ph.external_file_string(),\r
+          mode ).c_str(), mode | std::ios_base::in );\r
+    }\r
+    \r
+    template <class charT, class traits>\r
+    void basic_ifstream<charT,traits>::open( const wpath & file_ph,\r
+      std::ios_base::openmode mode )\r
+    {\r
+      std::basic_ifstream<charT,traits>::open(\r
+        detail::path_proxy( file_ph.external_file_string(),\r
+          mode ).c_str(), mode | std::ios_base::in );\r
+    }\r
+\r
+//  basic_ofstream definitions  ----------------------------------------------//\r
+\r
+    template <class charT, class traits> template<class Path>\r
+    basic_ofstream<charT,traits>::basic_ofstream(const Path & file_ph,\r
+      typename boost::enable_if<is_basic_path<Path> >::type* )\r
+      : std::basic_ofstream<charT,traits>(\r
+        detail::path_proxy( file_ph.external_file_string(),\r
+          std::ios_base::out ).c_str(), std::ios_base::out ) {}\r
+\r
+    template <class charT, class traits>\r
+    basic_ofstream<charT,traits>::basic_ofstream( const wpath & file_ph )\r
+      : std::basic_ofstream<charT,traits>(\r
+        detail::path_proxy( file_ph.external_file_string(),\r
+          std::ios_base::out ).c_str(), std::ios_base::out ) {}\r
+\r
+    template <class charT, class traits> template<class Path>\r
+    basic_ofstream<charT,traits>::basic_ofstream( const Path & file_ph,\r
+      std::ios_base::openmode mode,\r
+      typename boost::enable_if<is_basic_path<Path> >::type* )\r
+      : std::basic_ofstream<charT,traits>(\r
+        detail::path_proxy( file_ph.external_file_string(),\r
+          mode ).c_str(), mode | std::ios_base::out ) {}\r
+\r
+    template <class charT, class traits>\r
+    basic_ofstream<charT,traits>::basic_ofstream( const wpath & file_ph,\r
+      std::ios_base::openmode mode )\r
+      : std::basic_ofstream<charT,traits>(\r
+        detail::path_proxy( file_ph.external_file_string(),\r
+          mode ).c_str(), mode | std::ios_base::out ) {}\r
+    \r
+    template <class charT, class traits> template<class Path>\r
+    typename boost::enable_if<is_basic_path<Path>, void>::type\r
+    basic_ofstream<charT,traits>::open( const Path & file_ph )\r
+    {\r
+      std::basic_ofstream<charT,traits>::open(\r
+        detail::path_proxy( file_ph.external_file_string(),\r
+          std::ios_base::out ).c_str(), std::ios_base::out );\r
+    }\r
+    \r
+    template <class charT, class traits>\r
+    void basic_ofstream<charT,traits>::open( const wpath & file_ph )\r
+    {\r
+      std::basic_ofstream<charT,traits>::open(\r
+        detail::path_proxy( file_ph.external_file_string(),\r
+          std::ios_base::out ).c_str(), std::ios_base::out );\r
+    }\r
+    \r
+    template <class charT, class traits> template<class Path>\r
+    typename boost::enable_if<is_basic_path<Path>, void>::type\r
+    basic_ofstream<charT,traits>::open( const Path & file_ph,\r
+      std::ios_base::openmode mode )\r
+    {\r
+      std::basic_ofstream<charT,traits>::open(\r
+        detail::path_proxy( file_ph.external_file_string(),\r
+          mode ).c_str(), mode | std::ios_base::out );\r
+    }\r
+\r
+    template <class charT, class traits>\r
+    void basic_ofstream<charT,traits>::open( const wpath & file_ph,\r
+      std::ios_base::openmode mode )\r
+    {\r
+      std::basic_ofstream<charT,traits>::open(\r
+        detail::path_proxy( file_ph.external_file_string(),\r
+          mode ).c_str(), mode | std::ios_base::out );\r
+    }\r
+\r
+//  basic_fstream definitions  -----------------------------------------------//\r
+\r
+    template <class charT, class traits> template<class Path>\r
+    basic_fstream<charT,traits>::basic_fstream(const Path & file_ph,\r
+      typename boost::enable_if<is_basic_path<Path> >::type* )\r
+      : std::basic_fstream<charT,traits>(\r
+        detail::path_proxy( file_ph.external_file_string(),\r
+          std::ios_base::in|std::ios_base::out ).c_str(),\r
+          std::ios_base::in|std::ios_base::out ) {}\r
+\r
+    template <class charT, class traits>\r
+    basic_fstream<charT,traits>::basic_fstream( const wpath & file_ph )\r
+      : std::basic_fstream<charT,traits>(\r
+        detail::path_proxy( file_ph.external_file_string(),\r
+          std::ios_base::in|std::ios_base::out ).c_str(),\r
+          std::ios_base::in|std::ios_base::out ) {}\r
+\r
+    template <class charT, class traits> template<class Path>\r
+    basic_fstream<charT,traits>::basic_fstream( const Path & file_ph,\r
+      std::ios_base::openmode mode,\r
+      typename boost::enable_if<is_basic_path<Path> >::type* )\r
+      : std::basic_fstream<charT,traits>(\r
+        detail::path_proxy( file_ph.external_file_string(),\r
+          mode ).c_str(), mode | std::ios_base::in | std::ios_base::out ) {}\r
+    \r
+    template <class charT, class traits>\r
+    basic_fstream<charT,traits>::basic_fstream( const wpath & file_ph,\r
+      std::ios_base::openmode mode )\r
+      : std::basic_fstream<charT,traits>(\r
+        detail::path_proxy( file_ph.external_file_string(),\r
+          mode ).c_str(), mode | std::ios_base::in | std::ios_base::out ) {}\r
+      \r
+    template <class charT, class traits> template<class Path>\r
+    typename boost::enable_if<is_basic_path<Path>, void>::type\r
+    basic_fstream<charT,traits>::open( const Path & file_ph )\r
+    {\r
+      std::basic_fstream<charT,traits>::open(\r
+        detail::path_proxy( file_ph.external_file_string(),\r
+          std::ios_base::in|std::ios_base::out ).c_str(),\r
+          std::ios_base::in|std::ios_base::out );\r
+    }\r
+\r
+    template <class charT, class traits>\r
+    void basic_fstream<charT,traits>::open( const wpath & file_ph )\r
+    {\r
+      std::basic_fstream<charT,traits>::open(\r
+        detail::path_proxy( file_ph.external_file_string(),\r
+          std::ios_base::in|std::ios_base::out ).c_str(),\r
+          std::ios_base::in|std::ios_base::out );\r
+    }\r
+    \r
+    template <class charT, class traits> template<class Path>\r
+    typename boost::enable_if<is_basic_path<Path>, void>::type\r
+    basic_fstream<charT,traits>::open( const Path & file_ph,\r
+      std::ios_base::openmode mode )\r
+    {\r
+      std::basic_fstream<charT,traits>::open(\r
+        detail::path_proxy( file_ph.external_file_string(),\r
+          mode ).c_str(), mode | std::ios_base::in | std::ios_base::out );\r
+    }\r
+\r
+    template <class charT, class traits>\r
+    void basic_fstream<charT,traits>::open( const wpath & file_ph,\r
+      std::ios_base::openmode mode )\r
+    {\r
+      std::basic_fstream<charT,traits>::open(\r
+        detail::path_proxy( file_ph.external_file_string(),\r
+          mode ).c_str(), mode | std::ios_base::in | std::ios_base::out );\r
+    }\r
+\r
+# endif\r
+\r
+#  if !BOOST_WORKAROUND( BOOST_MSVC, <= 1200 ) // VC++ 6.0 can't handle this\r
+    template <class charT, class traits>\r
+    basic_filebuf<charT,traits> *\r
+    basic_filebuf<charT, traits>::open( const path & file_ph,\r
+      std::ios_base::openmode mode )\r
+    {\r
+      return std::basic_filebuf<charT,traits>::open(\r
+        file_ph.file_string().c_str(), mode ) == 0 ? 0 : this;\r
+    }\r
+#  endif\r
+\r
+    template <class charT, class traits>\r
+    basic_ifstream<charT,traits>::basic_ifstream( const path & file_ph )\r
+      : std::basic_ifstream<charT,traits>(\r
+          file_ph.file_string().c_str(), std::ios_base::in ) {}\r
+\r
+    template <class charT, class traits>\r
+    basic_ifstream<charT,traits>::basic_ifstream( const path & file_ph,\r
+      std::ios_base::openmode mode )\r
+      : std::basic_ifstream<charT,traits>(\r
+          file_ph.file_string().c_str(), mode ) {}\r
+    \r
+#   if !BOOST_WORKAROUND( BOOST_MSVC, <= 1200 ) // VC++ 6.0 can't handle this\r
+    template <class charT, class traits>\r
+    void basic_ifstream<charT,traits>::open( const path & file_ph )\r
+    {\r
+      std::basic_ifstream<charT,traits>::open(\r
+        file_ph.file_string().c_str(), std::ios_base::in );\r
+    }\r
+    \r
+    template <class charT, class traits>\r
+    void basic_ifstream<charT,traits>::open( const path & file_ph,\r
+      std::ios_base::openmode mode )\r
+    {\r
+      std::basic_ifstream<charT,traits>::open(\r
+        file_ph.file_string().c_str(), mode );\r
+    }\r
+#   endif\r
+\r
+    template <class charT, class traits>\r
+    basic_ofstream<charT,traits>::basic_ofstream( const path & file_ph )\r
+      : std::basic_ofstream<charT,traits>(\r
+          file_ph.file_string().c_str(), std::ios_base::out ) {}\r
+\r
+    template <class charT, class traits>\r
+    basic_ofstream<charT,traits>::basic_ofstream( const path & file_ph,\r
+      std::ios_base::openmode mode )\r
+      : std::basic_ofstream<charT,traits>(\r
+          file_ph.file_string().c_str(), mode ) {}\r
+    \r
+#   if !BOOST_WORKAROUND( BOOST_MSVC, <= 1200 ) // VC++ 6.0 can't handle this\r
+    template <class charT, class traits>\r
+    void basic_ofstream<charT,traits>::open( const path & file_ph )\r
+    {\r
+      std::basic_ofstream<charT,traits>::open(\r
+        file_ph.file_string().c_str(), std::ios_base::out );\r
+    }\r
+    \r
+    template <class charT, class traits>\r
+    void basic_ofstream<charT,traits>::open( const path & file_ph,\r
+      std::ios_base::openmode mode )\r
+    {\r
+      std::basic_ofstream<charT,traits>::open(\r
+        file_ph.file_string().c_str(), mode );\r
+    }\r
+#   endif\r
+\r
+    template <class charT, class traits>\r
+    basic_fstream<charT,traits>::basic_fstream( const path & file_ph )\r
+      : std::basic_fstream<charT,traits>(\r
+          file_ph.file_string().c_str(),\r
+          std::ios_base::in|std::ios_base::out ) {}\r
+\r
+\r
+    template <class charT, class traits>\r
+    basic_fstream<charT,traits>::basic_fstream( const path & file_ph,\r
+      std::ios_base::openmode mode )\r
+      : std::basic_fstream<charT,traits>(\r
+          file_ph.file_string().c_str(), mode ) {}\r
+\r
+#   if !BOOST_WORKAROUND( BOOST_MSVC, <= 1200 ) // VC++ 6.0 can't handle this\r
+    template <class charT, class traits>\r
+    void basic_fstream<charT,traits>::open( const path & file_ph )\r
+    {\r
+      std::basic_fstream<charT,traits>::open(\r
+        file_ph.file_string().c_str(), std::ios_base::in|std::ios_base::out );\r
+    }\r
+\r
+    template <class charT, class traits>\r
+    void basic_fstream<charT,traits>::open( const path & file_ph,\r
+      std::ios_base::openmode mode )\r
+    {\r
+      std::basic_fstream<charT,traits>::open(\r
+        file_ph.file_string().c_str(), mode );\r
+    }\r
+#   endif\r
+  } // namespace filesystem\r
+} // namespace boost\r
+\r
+#include <boost/config/abi_suffix.hpp> // pops abi_prefix.hpp pragmas\r
+#endif  // BOOST_FILESYSTEM_FSTREAM_HPP\r
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 (file)
index 0000000..91e2aa4
--- /dev/null
@@ -0,0 +1,1179 @@
+//  boost/filesystem/operations.hpp  -----------------------------------------//\r
+\r
+//  Copyright 2002-2005 Beman Dawes\r
+//  Copyright 2002 Jan Langer\r
+//  Copyright 2001 Dietmar Kuehl                                        \r
+//  \r
+//  Distributed under the Boost Software License, Version 1.0. (See accompanying\r
+//  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+//  See library home page at http://www.boost.org/libs/filesystem\r
+\r
+//----------------------------------------------------------------------------// \r
+\r
+#ifndef BOOST_FILESYSTEM_OPERATIONS_HPP\r
+#define BOOST_FILESYSTEM_OPERATIONS_HPP\r
+\r
+#include <boost/filesystem/path.hpp>\r
+#include <boost/detail/scoped_enum_emulation.hpp>\r
+\r
+#include <boost/shared_ptr.hpp>\r
+#include <boost/utility/enable_if.hpp>\r
+#include <boost/type_traits/is_same.hpp>\r
+#include <boost/iterator.hpp>\r
+#include <boost/cstdint.hpp>\r
+#include <boost/assert.hpp>\r
+\r
+#include <string>\r
+#include <utility> // for pair\r
+#include <ctime>\r
+\r
+#ifdef BOOST_WINDOWS_API\r
+#  include <fstream>\r
+#  if !defined(_WIN32_WINNT) || _WIN32_WINNT >= 0x0500\r
+#    define BOOST_FS_HARD_LINK // Default for Windows 2K or later \r
+#  endif\r
+#endif\r
+\r
+#include <boost/config/abi_prefix.hpp> // must be the last #include\r
+\r
+# ifdef BOOST_NO_STDC_NAMESPACE\r
+    namespace std { using ::time_t; }\r
+# endif\r
+\r
+//----------------------------------------------------------------------------//\r
+\r
+namespace boost\r
+{\r
+  namespace filesystem\r
+  {\r
+\r
+// typedef boost::filesystem::path Path; needs to be in namespace boost::filesystem\r
+# ifndef BOOST_FILESYSTEM_NARROW_ONLY\r
+#   define BOOST_FS_FUNC(BOOST_FS_TYPE) \\r
+      template<class Path> typename boost::enable_if<is_basic_path<Path>, \\r
+      BOOST_FS_TYPE>::type\r
+#   define BOOST_INLINE_FS_FUNC(BOOST_FS_TYPE) \\r
+      template<class Path> inline typename boost::enable_if<is_basic_path<Path>, \\r
+      BOOST_FS_TYPE>::type\r
+#   define BOOST_FS_TYPENAME typename\r
+# else\r
+#   define BOOST_FS_FUNC(BOOST_FS_TYPE) inline BOOST_FS_TYPE\r
+#   define BOOST_INLINE_FS_FUNC(BOOST_FS_TYPE) inline BOOST_FS_TYPE\r
+    typedef boost::filesystem::path Path;\r
+#   define BOOST_FS_TYPENAME\r
+# endif\r
+\r
+    template<class Path> class basic_directory_iterator;\r
+\r
+    // BOOST_FILESYSTEM_NARROW_ONLY needs this:\r
+    typedef basic_directory_iterator<path> directory_iterator;\r
+\r
+    template<class Path> class basic_directory_entry;\r
+\r
+    enum file_type\r
+    { \r
+      status_unknown,\r
+      file_not_found,\r
+      regular_file,\r
+      directory_file,\r
+      // the following will never be reported by some operating or file systems\r
+      symlink_file,\r
+      block_file,\r
+      character_file,\r
+      fifo_file,\r
+      socket_file,\r
+      type_unknown // file does exist, but isn't one of the above types or\r
+                   // we don't have strong enough permission to find its type\r
+    };\r
+\r
+    class file_status\r
+    {\r
+    public:\r
+      explicit file_status( file_type v = status_unknown ) : m_value(v) {}\r
+\r
+      void type( file_type v )  { m_value = v; }\r
+      file_type type() const    { return m_value; }\r
+\r
+    private:\r
+      // the internal representation is unspecified so that additional state\r
+      // information such as permissions can be added in the future; this\r
+      // implementation just uses status_type as the internal representation\r
+\r
+      file_type m_value;\r
+    };\r
+\r
+    inline bool status_known( file_status f ) { return f.type() != status_unknown; }\r
+    inline bool exists( file_status f )       { return f.type() != status_unknown && f.type() != file_not_found; }\r
+    inline bool is_regular_file(file_status f){ return f.type() == regular_file; }\r
+    inline bool is_directory( file_status f ) { return f.type() == directory_file; }\r
+    inline bool is_symlink( file_status f )   { return f.type() == symlink_file; }\r
+    inline bool is_other( file_status f )     { return exists(f) && !is_regular_file(f) && !is_directory(f) && !is_symlink(f); }\r
+\r
+# ifndef BOOST_FILESYSTEM_NO_DEPRECATED\r
+    inline bool is_regular( file_status f )   { return f.type() == regular_file; }\r
+# endif\r
+\r
+    struct space_info\r
+    {\r
+      // all values are byte counts\r
+      boost::uintmax_t capacity;\r
+      boost::uintmax_t free;      // <= capacity\r
+      boost::uintmax_t available; // <= free\r
+    };\r
+\r
+    namespace detail\r
+    {\r
+      typedef std::pair< system::error_code, bool >\r
+        query_pair;\r
+\r
+      typedef std::pair< system::error_code, boost::uintmax_t >\r
+        uintmax_pair;\r
+\r
+      typedef std::pair< system::error_code, std::time_t >\r
+        time_pair;\r
+\r
+      typedef std::pair< system::error_code, space_info >\r
+        space_pair;\r
+\r
+      template< class Path >\r
+      struct directory_pair\r
+      {\r
+        typedef std::pair< system::error_code,\r
+          typename Path::external_string_type > type;\r
+      };\r
+\r
+#   ifndef BOOST_FILESYSTEM_NO_DEPRECATED\r
+      BOOST_FILESYSTEM_DECL bool\r
+        symbolic_link_exists_api( const std::string & ); // deprecated\r
+#   endif\r
+\r
+      BOOST_FILESYSTEM_DECL file_status\r
+        status_api( const std::string & ph, system::error_code & ec );\r
+#   ifndef BOOST_WINDOWS_API\r
+      BOOST_FILESYSTEM_DECL file_status\r
+        symlink_status_api( const std::string & ph, system::error_code & ec );\r
+#   endif\r
+      BOOST_FILESYSTEM_DECL query_pair\r
+        is_empty_api( const std::string & ph );\r
+      BOOST_FILESYSTEM_DECL query_pair\r
+        equivalent_api( const std::string & ph1, const std::string & ph2 );\r
+      BOOST_FILESYSTEM_DECL uintmax_pair\r
+        file_size_api( const std::string & ph );\r
+      BOOST_FILESYSTEM_DECL space_pair\r
+        space_api( const std::string & ph );\r
+      BOOST_FILESYSTEM_DECL time_pair \r
+        last_write_time_api( const std::string & ph );\r
+      BOOST_FILESYSTEM_DECL system::error_code\r
+        last_write_time_api( const std::string & ph, std::time_t new_value );\r
+      BOOST_FILESYSTEM_DECL system::error_code\r
+        get_current_path_api( std::string & ph );\r
+      BOOST_FILESYSTEM_DECL system::error_code\r
+        set_current_path_api( const std::string & ph );\r
+      BOOST_FILESYSTEM_DECL query_pair\r
+        create_directory_api( const std::string & ph );\r
+      BOOST_FILESYSTEM_DECL system::error_code\r
+        create_hard_link_api( const std::string & to_ph,\r
+          const std::string & from_ph );\r
+      BOOST_FILESYSTEM_DECL system::error_code\r
+        create_symlink_api( const std::string & to_ph,\r
+          const std::string & from_ph );\r
+      BOOST_FILESYSTEM_DECL system::error_code\r
+        remove_api( const std::string & ph );\r
+      BOOST_FILESYSTEM_DECL system::error_code\r
+        rename_api( const std::string & from, const std::string & to );\r
+      BOOST_FILESYSTEM_DECL system::error_code\r
+        copy_file_api( const std::string & from, const std::string & to, bool fail_if_exists );\r
+\r
+#   if defined(BOOST_WINDOWS_API)\r
+      \r
+      BOOST_FILESYSTEM_DECL system::error_code\r
+        get_full_path_name_api( const std::string & ph, std::string & target );\r
+\r
+#     if !defined(BOOST_FILESYSTEM_NARROW_ONLY)\r
+\r
+      BOOST_FILESYSTEM_DECL  boost::filesystem::file_status\r
+        status_api( const std::wstring & ph, system::error_code & ec );\r
+      BOOST_FILESYSTEM_DECL query_pair \r
+        is_empty_api( const std::wstring & ph );\r
+      BOOST_FILESYSTEM_DECL query_pair\r
+        equivalent_api( const std::wstring & ph1, const std::wstring & ph2 );\r
+      BOOST_FILESYSTEM_DECL uintmax_pair \r
+        file_size_api( const std::wstring & ph );\r
+      BOOST_FILESYSTEM_DECL space_pair \r
+        space_api( const std::wstring & ph );\r
+      BOOST_FILESYSTEM_DECL system::error_code\r
+        get_full_path_name_api( const std::wstring & ph, std::wstring & target );\r
+      BOOST_FILESYSTEM_DECL time_pair \r
+        last_write_time_api( const std::wstring & ph );\r
+      BOOST_FILESYSTEM_DECL system::error_code\r
+        last_write_time_api( const std::wstring & ph, std::time_t new_value );\r
+      BOOST_FILESYSTEM_DECL system::error_code \r
+        get_current_path_api( std::wstring & ph );\r
+      BOOST_FILESYSTEM_DECL system::error_code \r
+        set_current_path_api( const std::wstring & ph );\r
+      BOOST_FILESYSTEM_DECL query_pair\r
+        create_directory_api( const std::wstring & ph );\r
+# ifdef BOOST_FS_HARD_LINK\r
+      BOOST_FILESYSTEM_DECL system::error_code\r
+        create_hard_link_api( const std::wstring & existing_ph,\r
+          const std::wstring & new_ph );\r
+# endif\r
+      BOOST_FILESYSTEM_DECL system::error_code\r
+        create_symlink_api( const std::wstring & to_ph,\r
+          const std::wstring & from_ph );\r
+      BOOST_FILESYSTEM_DECL system::error_code\r
+        remove_api( const std::wstring & ph );\r
+      BOOST_FILESYSTEM_DECL system::error_code\r
+        rename_api( const std::wstring & from, const std::wstring & to );\r
+      BOOST_FILESYSTEM_DECL system::error_code\r
+        copy_file_api( const std::wstring & from, const std::wstring & to, bool fail_if_exists );\r
+\r
+#     endif\r
+#   endif\r
+\r
+      template<class Path>\r
+      bool remove_aux( const Path & ph, file_status f );\r
+\r
+      template<class Path>\r
+      unsigned long remove_all_aux( const Path & ph, file_status f );\r
+\r
+    } // namespace detail\r
+\r
+//  operations functions  ----------------------------------------------------//\r
+\r
+    //  The non-template overloads enable automatic conversion from std and\r
+    //  C-style strings. See basic_path constructors. The enable_if for the\r
+    //  templates implements the famous "do-the-right-thing" rule.\r
+\r
+//  query functions  ---------------------------------------------------------//\r
+\r
+    BOOST_INLINE_FS_FUNC(file_status)\r
+    status( const Path & ph, system::error_code & ec )\r
+      { return detail::status_api( ph.external_file_string(), ec ); }\r
+\r
+    BOOST_FS_FUNC(file_status)\r
+    status( const Path & ph )\r
+    { \r
+      system::error_code ec;\r
+      file_status result( detail::status_api( ph.external_file_string(), ec ) );\r
+      if ( ec )\r
+        boost::throw_exception( basic_filesystem_error<Path>(\r
+        "boost::filesystem::status", ph, ec ) );\r
+      return result;\r
+    }\r
+\r
+    BOOST_INLINE_FS_FUNC(file_status)\r
+    symlink_status( const Path & ph, system::error_code & ec )\r
+#   ifdef BOOST_WINDOWS_API\r
+      { return detail::status_api( ph.external_file_string(), ec ); }\r
+#   else\r
+      { return detail::symlink_status_api( ph.external_file_string(), ec ); }\r
+#   endif\r
+\r
+    BOOST_FS_FUNC(file_status)\r
+    symlink_status( const Path & ph )\r
+    { \r
+      system::error_code ec;\r
+      file_status result( symlink_status( ph, ec ) );\r
+      if ( ec )\r
+        boost::throw_exception( basic_filesystem_error<Path>(\r
+        "boost::filesystem::symlink_status", ph, ec ) );\r
+      return result;\r
+    }\r
+\r
+# ifndef BOOST_FILESYSTEM_NO_DEPRECATED\r
+    inline bool symbolic_link_exists( const path & ph )\r
+      { return is_symlink( symlink_status(ph) ); }\r
+# endif\r
+\r
+    BOOST_FS_FUNC(bool) exists( const Path & ph )\r
+    { \r
+      system::error_code ec;\r
+      file_status result( detail::status_api( ph.external_file_string(), ec ) );\r
+      if ( ec )\r
+        boost::throw_exception( basic_filesystem_error<Path>(\r
+          "boost::filesystem::exists", ph, ec ) );\r
+      return exists( result );\r
+    }\r
+\r
+    BOOST_FS_FUNC(bool) is_directory( const Path & ph )\r
+    { \r
+      system::error_code ec;\r
+      file_status result( detail::status_api( ph.external_file_string(), ec ) );\r
+      if ( ec )\r
+        boost::throw_exception( basic_filesystem_error<Path>(\r
+          "boost::filesystem::is_directory", ph, ec ) );\r
+      return is_directory( result );\r
+    }\r
+\r
+    BOOST_FS_FUNC(bool) is_regular_file( const Path & ph )\r
+    { \r
+      system::error_code ec;\r
+      file_status result( detail::status_api( ph.external_file_string(), ec ) );\r
+      if ( ec )\r
+        boost::throw_exception( basic_filesystem_error<Path>(\r
+          "boost::filesystem::is_regular_file", ph, ec ) );\r
+      return is_regular_file( result );\r
+    }\r
+\r
+# ifndef BOOST_FILESYSTEM_NO_DEPRECATED\r
+    BOOST_FS_FUNC(bool) is_regular( const Path & ph )\r
+    { \r
+      system::error_code ec;\r
+      file_status result( detail::status_api( ph.external_file_string(), ec ) );\r
+      if ( ec )\r
+        boost::throw_exception( basic_filesystem_error<Path>(\r
+          "boost::filesystem::is_regular", ph, ec ) );\r
+      return is_regular( result );\r
+    }\r
+# endif\r
+\r
+    BOOST_FS_FUNC(bool) is_other( const Path & ph )\r
+    { \r
+      system::error_code ec;\r
+      file_status result( detail::status_api( ph.external_file_string(), ec ) );\r
+      if ( ec )\r
+        boost::throw_exception( basic_filesystem_error<Path>(\r
+          "boost::filesystem::is_other", ph, ec ) );\r
+      return is_other( result );\r
+    }\r
+\r
+    BOOST_FS_FUNC(bool) is_symlink(\r
+#   ifdef BOOST_WINDOWS_API\r
+      const Path & )\r
+    {\r
+      return false;\r
+#   else\r
+      const Path & ph)\r
+    {\r
+      system::error_code ec;\r
+      file_status result( detail::symlink_status_api( ph.external_file_string(), ec ) );\r
+      if ( ec )\r
+        boost::throw_exception( basic_filesystem_error<Path>(\r
+          "boost::filesystem::is_symlink", ph, ec ) );\r
+      return is_symlink( result );\r
+#   endif\r
+    }\r
+\r
+    // VC++ 7.0 and earlier has a serious namespace bug that causes a clash\r
+    // between boost::filesystem::is_empty and the unrelated type trait\r
+    // boost::is_empty.\r
+\r
+# if !defined( BOOST_MSVC ) || BOOST_MSVC > 1300\r
+    BOOST_FS_FUNC(bool) is_empty( const Path & ph )\r
+# else\r
+    BOOST_FS_FUNC(bool) _is_empty( const Path & ph )\r
+# endif\r
+    {\r
+      detail::query_pair result(\r
+        detail::is_empty_api( ph.external_file_string() ) );\r
+      if ( result.first )\r
+        boost::throw_exception( basic_filesystem_error<Path>(\r
+          "boost::filesystem::is_empty", ph, result.first ) );\r
+      return result.second;\r
+    }\r
+\r
+    BOOST_FS_FUNC(bool) equivalent( const Path & ph1, const Path & ph2 )\r
+    {\r
+      detail::query_pair result( detail::equivalent_api(\r
+        ph1.external_file_string(), ph2.external_file_string() ) );\r
+      if ( result.first )\r
+        boost::throw_exception( basic_filesystem_error<Path>(\r
+          "boost::filesystem::equivalent", ph1, ph2, result.first ) );\r
+      return result.second;\r
+    }\r
+\r
+    BOOST_FS_FUNC(boost::uintmax_t) file_size( const Path & ph )\r
+    {\r
+      detail::uintmax_pair result\r
+        ( detail::file_size_api( ph.external_file_string() ) );\r
+      if ( result.first )\r
+        boost::throw_exception( basic_filesystem_error<Path>(\r
+          "boost::filesystem::file_size", ph, result.first ) );\r
+      return result.second;\r
+    }\r
+\r
+    BOOST_FS_FUNC(space_info) space( const Path & ph )\r
+    {\r
+      detail::space_pair result\r
+        ( detail::space_api( ph.external_file_string() ) );\r
+      if ( result.first )\r
+        boost::throw_exception( basic_filesystem_error<Path>(\r
+          "boost::filesystem::space", ph, result.first ) );\r
+      return result.second;\r
+    }\r
+\r
+    BOOST_FS_FUNC(std::time_t) last_write_time( const Path & ph )\r
+    {\r
+      detail::time_pair result\r
+        ( detail::last_write_time_api( ph.external_file_string() ) );\r
+      if ( result.first )\r
+        boost::throw_exception( basic_filesystem_error<Path>(\r
+          "boost::filesystem::last_write_time", ph, result.first ) );\r
+      return result.second;\r
+    }\r
+\r
+\r
+//  operations  --------------------------------------------------------------//\r
+\r
+    BOOST_FS_FUNC(bool) create_directory( const Path & dir_ph )\r
+    {\r
+      detail::query_pair result(\r
+        detail::create_directory_api( dir_ph.external_directory_string() ) );\r
+      if ( result.first )\r
+        boost::throw_exception( basic_filesystem_error<Path>(\r
+          "boost::filesystem::create_directory",\r
+          dir_ph, result.first ) );\r
+      return result.second;\r
+    }\r
+\r
+#if !defined(BOOST_WINDOWS_API) || defined(BOOST_FS_HARD_LINK)\r
+    BOOST_FS_FUNC(void)\r
+    create_hard_link( const Path & to_ph, const Path & from_ph )\r
+    {\r
+      system::error_code ec( \r
+        detail::create_hard_link_api(\r
+          to_ph.external_file_string(),\r
+          from_ph.external_file_string() ) );\r
+      if ( ec )\r
+        boost::throw_exception( basic_filesystem_error<Path>(\r
+          "boost::filesystem::create_hard_link",\r
+          to_ph, from_ph, ec ) );\r
+    }\r
+\r
+    BOOST_FS_FUNC(system::error_code)\r
+    create_hard_link( const Path & to_ph, const Path & from_ph,\r
+      system::error_code & ec )\r
+    {\r
+      ec = detail::create_hard_link_api(\r
+            to_ph.external_file_string(),\r
+            from_ph.external_file_string() );\r
+      return ec;\r
+    }\r
+#endif\r
+\r
+    BOOST_FS_FUNC(void)\r
+    create_symlink( const Path & to_ph, const Path & from_ph )\r
+    {\r
+      system::error_code ec( \r
+        detail::create_symlink_api(\r
+          to_ph.external_file_string(),\r
+          from_ph.external_file_string() ) );\r
+      if ( ec )\r
+        boost::throw_exception( basic_filesystem_error<Path>(\r
+          "boost::filesystem::create_symlink",\r
+          to_ph, from_ph, ec ) );\r
+    }\r
+\r
+    BOOST_FS_FUNC(system::error_code)\r
+    create_symlink( const Path & to_ph, const Path & from_ph,\r
+      system::error_code & ec )\r
+    {\r
+      ec = detail::create_symlink_api(\r
+             to_ph.external_file_string(),\r
+             from_ph.external_file_string() );\r
+      return ec;\r
+    }\r
+\r
+    BOOST_FS_FUNC(bool) remove( const Path & ph )\r
+    {\r
+      system::error_code ec;\r
+      file_status f = symlink_status( ph, ec );\r
+      if ( ec )\r
+        boost::throw_exception( basic_filesystem_error<Path>(\r
+          "boost::filesystem::remove", ph, ec ) );\r
+      return detail::remove_aux( ph, f );\r
+    }\r
+\r
+    BOOST_FS_FUNC(unsigned long) remove_all( const Path & ph )\r
+    {\r
+      system::error_code ec;\r
+      file_status f = symlink_status( ph, ec );\r
+      if ( ec )\r
+        boost::throw_exception( basic_filesystem_error<Path>(\r
+          "boost::filesystem::remove_all", ph, ec ) );\r
+      return exists( f ) ? detail::remove_all_aux( ph, f ) : 0;\r
+    }\r
+\r
+    BOOST_FS_FUNC(void) rename( const Path & from_path, const Path & to_path )\r
+    {\r
+      system::error_code ec( detail::rename_api(\r
+        from_path.external_directory_string(),\r
+        to_path.external_directory_string() ) );\r
+      if ( ec )\r
+        boost::throw_exception( basic_filesystem_error<Path>(\r
+          "boost::filesystem::rename",\r
+          from_path, to_path, ec ) );\r
+    }\r
+\r
+    BOOST_SCOPED_ENUM_START(copy_option)\r
+      { fail_if_exists, overwrite_if_exists };\r
+    BOOST_SCOPED_ENUM_END\r
+\r
+    BOOST_FS_FUNC(void) copy_file( const Path & from_path, const Path & to_path,\r
+      BOOST_SCOPED_ENUM(copy_option) option = copy_option::fail_if_exists )\r
+    {\r
+      system::error_code ec( detail::copy_file_api(\r
+        from_path.external_directory_string(),\r
+        to_path.external_directory_string(), option == copy_option::fail_if_exists ) );\r
+      if ( ec )\r
+        boost::throw_exception( basic_filesystem_error<Path>(\r
+          "boost::filesystem::copy_file",\r
+          from_path, to_path, ec ) );\r
+    }\r
+\r
+    template< class Path >\r
+    Path current_path()\r
+    {\r
+      typename Path::external_string_type ph;\r
+      system::error_code ec( detail::get_current_path_api( ph ) );\r
+      if ( ec )\r
+          boost::throw_exception( basic_filesystem_error<Path>(\r
+            "boost::filesystem::current_path", ec ) );\r
+      return Path( Path::traits_type::to_internal( ph ) );\r
+    }\r
+\r
+    BOOST_FS_FUNC(void) current_path( const Path & ph )\r
+    {\r
+      system::error_code ec( detail::set_current_path_api(\r
+        ph.external_directory_string() ) );\r
+      if ( ec )\r
+          boost::throw_exception( basic_filesystem_error<Path>(\r
+            "boost::filesystem::current_path", ph, ec ) );\r
+    }\r
+\r
+    template< class Path >\r
+    const Path & initial_path()\r
+    {\r
+      static Path init_path;\r
+      if ( init_path.empty() ) init_path = current_path<Path>();\r
+      return init_path;\r
+    }\r
+\r
+# ifndef BOOST_FILESYSTEM_NO_DEPRECATED\r
+    // legacy support\r
+    inline path current_path()  // overload supports pre-i18n apps\r
+      { return current_path<boost::filesystem::path>(); }\r
+    inline const path & initial_path() // overload supports pre-i18n apps\r
+      { return initial_path<boost::filesystem::path>(); }\r
+# endif\r
+\r
+    BOOST_FS_FUNC(Path) system_complete( const Path & ph )\r
+    {\r
+# ifdef BOOST_WINDOWS_API\r
+      if ( ph.empty() ) return ph;\r
+      BOOST_FS_TYPENAME Path::external_string_type sys_ph;\r
+      system::error_code ec( detail::get_full_path_name_api( ph.external_file_string(),\r
+              sys_ph ) );\r
+      if ( ec )\r
+          boost::throw_exception( basic_filesystem_error<Path>(\r
+            "boost::filesystem::system_complete", ph, ec ) );\r
+      return Path( Path::traits_type::to_internal( sys_ph ) );\r
+# else\r
+      return (ph.empty() || ph.is_complete())\r
+        ? ph : current_path<Path>() / ph;\r
+# endif\r
+    }\r
+\r
+    BOOST_FS_FUNC(Path)\r
+    complete( const Path & ph,\r
+      const Path & base/* = initial_path<Path>() */)\r
+    {\r
+      BOOST_ASSERT( base.is_complete()\r
+        && (ph.is_complete() || !ph.has_root_name())\r
+        && "boost::filesystem::complete() precondition not met" );\r
+#   ifdef BOOST_WINDOWS_PATH\r
+      if (ph.empty() || ph.is_complete()) return ph;\r
+      if ( !ph.has_root_name() )\r
+        return ph.has_root_directory()\r
+          ? Path( base.root_name() ) / ph\r
+          : base / ph;\r
+      return base / ph;\r
+#   else\r
+      return (ph.empty() || ph.is_complete()) ? ph : base / ph;\r
+#   endif\r
+    }\r
+\r
+    // VC++ 7.1 had trouble with default arguments, so separate one argument\r
+    // signatures are provided as workarounds; the effect is the same.\r
+    BOOST_FS_FUNC(Path) complete( const Path & ph )\r
+      { return complete( ph, initial_path<Path>() ); }\r
+\r
+    BOOST_FS_FUNC(void)\r
+    last_write_time( const Path & ph, const std::time_t new_time )\r
+    {\r
+      system::error_code ec( detail::last_write_time_api( ph.external_file_string(),\r
+          new_time ) );\r
+      if ( ec )\r
+        boost::throw_exception( basic_filesystem_error<Path>(\r
+          "boost::filesystem::last_write_time", ph, ec ) );\r
+    }\r
+\r
+# ifndef BOOST_FILESYSTEM_NARROW_ONLY\r
+\r
+    // "do-the-right-thing" overloads  ---------------------------------------//\r
+\r
+    inline file_status status( const path & ph )\r
+      { return status<path>( ph ); }\r
+    inline file_status status( const wpath & ph )\r
+      { return status<wpath>( ph ); }\r
+\r
+    inline file_status status( const path & ph, system::error_code & ec )\r
+      { return status<path>( ph, ec ); }\r
+    inline file_status status( const wpath & ph, system::error_code & ec )\r
+      { return status<wpath>( ph, ec ); }\r
+\r
+    inline file_status symlink_status( const path & ph )\r
+      { return symlink_status<path>( ph ); }\r
+    inline file_status symlink_status( const wpath & ph )\r
+      { return symlink_status<wpath>( ph ); }\r
+\r
+    inline file_status symlink_status( const path & ph, system::error_code & ec )\r
+      { return symlink_status<path>( ph, ec ); }\r
+    inline file_status symlink_status( const wpath & ph, system::error_code & ec )\r
+      { return symlink_status<wpath>( ph, ec ); }\r
+\r
+    inline bool exists( const path & ph ) { return exists<path>( ph ); }\r
+    inline bool exists( const wpath & ph ) { return exists<wpath>( ph ); }\r
+\r
+    inline bool is_directory( const path & ph )\r
+      { return is_directory<path>( ph ); }\r
+    inline bool is_directory( const wpath & ph )\r
+      { return is_directory<wpath>( ph ); }\r
\r
+    inline bool is_regular_file( const path & ph )\r
+      { return is_regular_file<path>( ph ); }\r
+    inline bool is_regular_file( const wpath & ph )\r
+      { return is_regular_file<wpath>( ph ); }\r
+\r
+# ifndef BOOST_FILESYSTEM_NO_DEPRECATED\r
+    inline bool is_regular( const path & ph )\r
+      { return is_regular<path>( ph ); }\r
+    inline bool is_regular( const wpath & ph )\r
+      { return is_regular<wpath>( ph ); }\r
+# endif\r
+\r
+    inline bool is_other( const path & ph )\r
+      { return is_other<path>( ph ); }\r
+    inline bool is_other( const wpath & ph )\r
+      { return is_other<wpath>( ph ); }\r
+\r
+    inline bool is_symlink( const path & ph )\r
+      { return is_symlink<path>( ph ); }\r
+    inline bool is_symlink( const wpath & ph )\r
+      { return is_symlink<wpath>( ph ); }\r
+\r
+    inline bool is_empty( const path & ph )\r
+      { return boost::filesystem::is_empty<path>( ph ); }\r
+    inline bool is_empty( const wpath & ph )\r
+      { return boost::filesystem::is_empty<wpath>( ph ); }\r
+\r
+    inline bool equivalent( const path & ph1, const path & ph2 )\r
+      { return equivalent<path>( ph1, ph2 ); }\r
+    inline bool equivalent( const wpath & ph1, const wpath & ph2 )\r
+      { return equivalent<wpath>( ph1, ph2 ); }\r
+\r
+    inline boost::uintmax_t file_size( const path & ph )\r
+      { return file_size<path>( ph ); }\r
+    inline boost::uintmax_t file_size( const wpath & ph )\r
+      { return file_size<wpath>( ph ); }\r
+\r
+    inline space_info space( const path & ph )\r
+      { return space<path>( ph ); }\r
+    inline space_info space( const wpath & ph )\r
+      { return space<wpath>( ph ); }\r
+\r
+    inline std::time_t last_write_time( const path & ph )\r
+      { return last_write_time<path>( ph ); }\r
+    inline std::time_t last_write_time( const wpath & ph )\r
+      { return last_write_time<wpath>( ph ); }\r
+\r
+    inline bool create_directory( const path & dir_ph )\r
+      { return create_directory<path>( dir_ph ); }\r
+    inline bool create_directory( const wpath & dir_ph )\r
+      { return create_directory<wpath>( dir_ph ); }\r
+\r
+#if !defined(BOOST_WINDOWS_API) || defined(BOOST_FS_HARD_LINK)\r
+    inline void create_hard_link( const path & to_ph,\r
+      const path & from_ph )\r
+      { return create_hard_link<path>( to_ph, from_ph ); }\r
+    inline void create_hard_link( const wpath & to_ph,\r
+      const wpath & from_ph )\r
+      { return create_hard_link<wpath>( to_ph, from_ph ); }\r
+\r
+    inline system::error_code create_hard_link( const path & to_ph,\r
+      const path & from_ph, system::error_code & ec )\r
+      { return create_hard_link<path>( to_ph, from_ph, ec ); }\r
+    inline system::error_code create_hard_link( const wpath & to_ph,\r
+      const wpath & from_ph, system::error_code & ec )\r
+      { return create_hard_link<wpath>( to_ph, from_ph, ec ); }\r
+#endif\r
+    \r
+    inline void create_symlink( const path & to_ph,\r
+      const path & from_ph )\r
+      { return create_symlink<path>( to_ph, from_ph ); }\r
+    inline void create_symlink( const wpath & to_ph,\r
+      const wpath & from_ph )\r
+      { return create_symlink<wpath>( to_ph, from_ph ); }\r
+\r
+    inline system::error_code create_symlink( const path & to_ph,\r
+      const path & from_ph, system::error_code & ec )\r
+      { return create_symlink<path>( to_ph, from_ph, ec ); }\r
+    inline system::error_code create_symlink( const wpath & to_ph,\r
+      const wpath & from_ph, system::error_code & ec )\r
+      { return create_symlink<wpath>( to_ph, from_ph, ec ); }\r
+\r
+    inline bool remove( const path & ph )\r
+      { return remove<path>( ph ); }\r
+    inline bool remove( const wpath & ph )\r
+      { return remove<wpath>( ph ); }\r
+\r
+    inline unsigned long remove_all( const path & ph )\r
+      { return remove_all<path>( ph ); }\r
+    inline unsigned long remove_all( const wpath & ph )\r
+      { return remove_all<wpath>( ph ); }\r
+\r
+    inline void rename( const path & from_path, const path & to_path )\r
+      { return rename<path>( from_path, to_path ); }\r
+    inline void rename( const wpath & from_path, const wpath & to_path )\r
+      { return rename<wpath>( from_path, to_path ); }\r
+\r
+    inline void copy_file( const path & from_path, const path & to_path )\r
+      { return copy_file<path>( from_path, to_path ); }\r
+    inline void copy_file( const wpath & from_path, const wpath & to_path )\r
+      { return copy_file<wpath>( from_path, to_path ); }\r
+\r
+    inline path system_complete( const path & ph )\r
+      { return system_complete<path>( ph ); }\r
+    inline wpath system_complete( const wpath & ph )\r
+      { return system_complete<wpath>( ph ); }\r
+\r
+    inline path complete( const path & ph,\r
+      const path & base/* = initial_path<path>()*/ )\r
+      { return complete<path>( ph, base ); }\r
+    inline wpath complete( const wpath & ph,\r
+      const wpath & base/* = initial_path<wpath>()*/ )\r
+      { return complete<wpath>( ph, base ); }\r
+\r
+    inline path complete( const path & ph )\r
+      { return complete<path>( ph, initial_path<path>() ); }\r
+    inline wpath complete( const wpath & ph )\r
+      { return complete<wpath>( ph, initial_path<wpath>() ); }\r
+\r
+    inline void last_write_time( const path & ph, const std::time_t new_time )\r
+      { last_write_time<path>( ph, new_time ); }\r
+    inline void last_write_time( const wpath & ph, const std::time_t new_time )\r
+      { last_write_time<wpath>( ph, new_time ); }\r
+\r
+    inline void current_path( const path & ph )\r
+      { current_path<path>( ph ); }\r
+    inline void current_path( const wpath & ph )\r
+      { current_path<wpath>( ph ); }\r
+\r
+# endif // ifndef BOOST_FILESYSTEM_NARROW_ONLY\r
+\r
+    namespace detail\r
+    {\r
+      template<class Path>\r
+      bool remove_aux( const Path & ph, file_status f )\r
+      {\r
+        if ( exists( f ) )\r
+        {\r
+          system::error_code ec = remove_api( ph.external_file_string() );\r
+          if ( ec )\r
+            boost::throw_exception( basic_filesystem_error<Path>(\r
+              "boost::filesystem::remove", ph, ec ) );\r
+          return true;\r
+        }\r
+        return false;\r
+      }\r
+\r
+      template<class Path>\r
+      unsigned long remove_all_aux( const Path & ph, file_status f )\r
+      {\r
+        static const boost::filesystem::basic_directory_iterator<Path> end_itr;\r
+        unsigned long count = 1;\r
+        if ( !boost::filesystem::is_symlink( f ) // don't recurse symbolic links\r
+          && boost::filesystem::is_directory( f ) )\r
+        {\r
+          for ( boost::filesystem::basic_directory_iterator<Path> itr( ph );\r
+                itr != end_itr; ++itr )\r
+          {\r
+            boost::system::error_code ec;\r
+            boost::filesystem::file_status fn = boost::filesystem::symlink_status( itr->path(), ec );\r
+            if ( ec )\r
+              boost::throw_exception( basic_filesystem_error<Path>( \r
+                "boost::filesystem:remove_all", ph, ec ) );\r
+            count += remove_all_aux( itr->path(), fn );\r
+          }\r
+        }\r
+        remove_aux( ph, f );\r
+        return count;\r
+      }\r
+\r
+//  test helper  -------------------------------------------------------------//\r
+\r
+    // not part of the documented interface because false positives are possible;\r
+    // there is no law that says that an OS that has large stat.st_size\r
+    // actually supports large file sizes.\r
+      BOOST_FILESYSTEM_DECL bool possible_large_file_size_support();\r
+\r
+//  directory_iterator helpers  ----------------------------------------------//\r
+\r
+//    forwarding functions avoid need for BOOST_FILESYSTEM_DECL for class\r
+//    basic_directory_iterator, and so avoid iterator_facade DLL template\r
+//    problems. They also overload to the proper external path character type.\r
+\r
+      BOOST_FILESYSTEM_DECL system::error_code\r
+        dir_itr_first( void *& handle,\r
+#if       defined(BOOST_POSIX_API)\r
+            void *& buffer,\r
+#endif\r
+          const std::string & dir_path,\r
+          std::string & target, file_status & fs, file_status & symlink_fs );\r
+      // eof: return==0 && handle==0\r
+\r
+      BOOST_FILESYSTEM_DECL system::error_code\r
+        dir_itr_increment( void *& handle,\r
+#if       defined(BOOST_POSIX_API)\r
+            void *& buffer,\r
+#endif\r
+          std::string & target, file_status & fs, file_status & symlink_fs );\r
+      // eof: return==0 && handle==0\r
+\r
+      BOOST_FILESYSTEM_DECL system::error_code\r
+        dir_itr_close( void *& handle\r
+#if       defined(BOOST_POSIX_API)\r
+            , void *& buffer\r
+#endif\r
+          );\r
+      // Effects: none if handle==0, otherwise close handle, set handle=0\r
+\r
+#     if defined(BOOST_WINDOWS_API) && !defined(BOOST_FILESYSTEM_NARROW_ONLY)\r
+      BOOST_FILESYSTEM_DECL system::error_code\r
+        dir_itr_first( void *& handle, const std::wstring & ph,\r
+          std::wstring & target, file_status & fs, file_status & symlink_fs );\r
+      BOOST_FILESYSTEM_DECL system::error_code\r
+        dir_itr_increment( void *& handle, std::wstring & target,\r
+          file_status & fs, file_status & symlink_fs );\r
+#     endif\r
+\r
+      template< class Path >\r
+      class dir_itr_imp\r
+      {\r
+      public:  \r
+        basic_directory_entry<Path> m_directory_entry;\r
+        void *        m_handle;\r
+#       ifdef BOOST_POSIX_API\r
+          void *      m_buffer;  // see dir_itr_increment implementation\r
+#       endif\r
+        dir_itr_imp() : m_handle(0)\r
+#       ifdef BOOST_POSIX_API\r
+          , m_buffer(0)\r
+#       endif\r
+        {}\r
+\r
+        ~dir_itr_imp() { dir_itr_close( m_handle\r
+#if       defined(BOOST_POSIX_API)\r
+            , m_buffer\r
+#endif\r
+          ); }\r
+      };\r
+\r
+      BOOST_FILESYSTEM_DECL system::error_code not_found_error();\r
+\r
+    } // namespace detail\r
+\r
+//  basic_directory_iterator  ------------------------------------------------//\r
+\r
+    template< class Path >\r
+    class basic_directory_iterator\r
+      : public boost::iterator_facade<\r
+          basic_directory_iterator<Path>,\r
+          basic_directory_entry<Path>,\r
+          boost::single_pass_traversal_tag >\r
+    {\r
+    public:\r
+      typedef Path path_type;\r
+\r
+      basic_directory_iterator(){}  // creates the "end" iterator\r
+\r
+      explicit basic_directory_iterator( const Path & dir_path );\r
+      basic_directory_iterator( const Path & dir_path, system::error_code & ec );\r
+\r
+    private:\r
+\r
+      // shared_ptr provides shallow-copy semantics required for InputIterators.\r
+      // m_imp.get()==0 indicates the end iterator.\r
+      boost::shared_ptr< detail::dir_itr_imp< Path > >  m_imp;\r
+\r
+      friend class boost::iterator_core_access;\r
+\r
+      typename boost::iterator_facade<\r
+        basic_directory_iterator<Path>,\r
+        basic_directory_entry<Path>,\r
+        boost::single_pass_traversal_tag >::reference dereference() const \r
+      {\r
+        BOOST_ASSERT( m_imp.get() && "attempt to dereference end iterator" );\r
+        return m_imp->m_directory_entry;\r
+      }\r
+\r
+      void increment();\r
+\r
+      bool equal( const basic_directory_iterator & rhs ) const\r
+        { return m_imp == rhs.m_imp; }\r
+\r
+      system::error_code m_init( const Path & dir_path );\r
+    };\r
+\r
+    typedef basic_directory_iterator< path > directory_iterator;\r
+# ifndef BOOST_FILESYSTEM_NARROW_ONLY\r
+    typedef basic_directory_iterator< wpath > wdirectory_iterator;\r
+# endif\r
+\r
+    //  basic_directory_iterator implementation  ---------------------------//\r
+\r
+    template<class Path>\r
+    system::error_code basic_directory_iterator<Path>::m_init(\r
+      const Path & dir_path )\r
+    {\r
+      if ( dir_path.empty() )\r
+      {\r
+        m_imp.reset();\r
+        return detail::not_found_error();\r
+      }\r
+      typename Path::external_string_type name;\r
+      file_status fs, symlink_fs;\r
+      system::error_code ec( detail::dir_itr_first( m_imp->m_handle,\r
+#if   defined(BOOST_POSIX_API)\r
+        m_imp->m_buffer,\r
+#endif\r
+        dir_path.external_directory_string(),\r
+        name, fs, symlink_fs ) );\r
+\r
+      if ( ec )\r
+      {\r
+        m_imp.reset();\r
+        return ec;\r
+      }\r
+      \r
+      if ( m_imp->m_handle == 0 ) m_imp.reset(); // eof, so make end iterator\r
+      else // not eof\r
+      {\r
+        m_imp->m_directory_entry.assign( dir_path\r
+          / Path::traits_type::to_internal( name ), fs, symlink_fs );\r
+        if ( name[0] == dot<Path>::value // dot or dot-dot\r
+          && (name.size() == 1\r
+            || (name[1] == dot<Path>::value\r
+              && name.size() == 2)) )\r
+          {  increment(); }\r
+      }\r
+      return boost::system::error_code();\r
+    }\r
+\r
+    template<class Path>\r
+    basic_directory_iterator<Path>::basic_directory_iterator(\r
+      const Path & dir_path )\r
+      : m_imp( new detail::dir_itr_imp<Path> )\r
+    {\r
+      system::error_code ec( m_init(dir_path) );\r
+      if ( ec )\r
+      {\r
+        boost::throw_exception( basic_filesystem_error<Path>( \r
+          "boost::filesystem::basic_directory_iterator constructor",\r
+          dir_path, ec ) );\r
+      }\r
+    }\r
+\r
+    template<class Path>\r
+    basic_directory_iterator<Path>::basic_directory_iterator(\r
+      const Path & dir_path, system::error_code & ec )\r
+      : m_imp( new detail::dir_itr_imp<Path> )\r
+    {\r
+      ec = m_init(dir_path);\r
+    }\r
+\r
+    template<class Path>\r
+    void basic_directory_iterator<Path>::increment()\r
+    {\r
+      BOOST_ASSERT( m_imp.get() && "attempt to increment end iterator" );\r
+      BOOST_ASSERT( m_imp->m_handle != 0 && "internal program error" );\r
+      \r
+      typename Path::external_string_type name;\r
+      file_status fs, symlink_fs;\r
+      system::error_code ec;\r
+\r
+      for (;;)\r
+      {\r
+        ec = detail::dir_itr_increment( m_imp->m_handle,\r
+#if     defined(BOOST_POSIX_API)\r
+          m_imp->m_buffer,\r
+#endif\r
+          name, fs, symlink_fs );\r
+        if ( ec )\r
+        {\r
+          boost::throw_exception( basic_filesystem_error<Path>(  \r
+            "boost::filesystem::basic_directory_iterator increment",\r
+            m_imp->m_directory_entry.path().parent_path(), ec ) );\r
+        }\r
+        if ( m_imp->m_handle == 0 ) { m_imp.reset(); return; } // eof, make end\r
+        if ( !(name[0] == dot<Path>::value // !(dot or dot-dot)\r
+          && (name.size() == 1\r
+            || (name[1] == dot<Path>::value\r
+              && name.size() == 2))) )\r
+        {\r
+          m_imp->m_directory_entry.replace_filename(\r
+            Path::traits_type::to_internal( name ), fs, symlink_fs );\r
+          return;\r
+        }\r
+      }\r
+    }\r
+\r
+    //  basic_directory_entry  -----------------------------------------------//\r
+    \r
+    template<class Path>\r
+    class basic_directory_entry\r
+    {\r
+    public:\r
+      typedef Path path_type;\r
+      typedef typename Path::string_type string_type;\r
+\r
+      // compiler generated copy-ctor, copy assignment, and destructor apply\r
+\r
+      basic_directory_entry() {}\r
+      explicit basic_directory_entry( const path_type & p,\r
+        file_status st = file_status(), file_status symlink_st=file_status() )\r
+        : m_path(p), m_status(st), m_symlink_status(symlink_st)\r
+        {}\r
+\r
+      void assign( const path_type & p,\r
+        file_status st, file_status symlink_st )\r
+        { m_path = p; m_status = st; m_symlink_status = symlink_st; }\r
+\r
+      void replace_filename( const string_type & s,\r
+        file_status st, file_status symlink_st )\r
+      {\r
+        m_path.remove_filename();\r
+        m_path /= s;\r
+        m_status = st;\r
+        m_symlink_status = symlink_st;\r
+      }\r
+\r
+#   ifndef BOOST_FILESYSTEM_NO_DEPRECATED\r
+      void replace_leaf( const string_type & s,\r
+        file_status st, file_status symlink_st )\r
+          { replace_filename( s, st, symlink_st ); }\r
+#   endif\r
+\r
+      const Path &  path() const { return m_path; }\r
+      file_status   status() const;\r
+      file_status   status( system::error_code & ec ) const;\r
+      file_status   symlink_status() const;\r
+      file_status   symlink_status( system::error_code & ec ) const;\r
+\r
+      // conversion simplifies the most common use of basic_directory_entry\r
+      operator const path_type &() const { return m_path; }\r
+\r
+#   ifndef BOOST_FILESYSTEM_NO_DEPRECATED\r
+      // deprecated functions preserve common use cases in legacy code\r
+      typename Path::string_type filename() const\r
+      {\r
+        return path().filename();\r
+      }\r
+      typename Path::string_type leaf() const\r
+      {\r
+        return path().filename();\r
+      }\r
+      typename Path::string_type string() const\r
+      {\r
+        return path().string();\r
+      }\r
+#   endif\r
+\r
+    private:\r
+      path_type             m_path;\r
+      mutable file_status  m_status;           // stat()-like\r
+      mutable file_status  m_symlink_status;   // lstat()-like\r
+        // note: m_symlink_status is not used by Windows implementation\r
+\r
+    }; // basic_directory_status\r
+\r
+    typedef basic_directory_entry<path> directory_entry;\r
+# ifndef BOOST_FILESYSTEM_NARROW_ONLY\r
+    typedef basic_directory_entry<wpath> wdirectory_entry;\r
+# endif\r
+\r
+    //  basic_directory_entry implementation  --------------------------------//\r
+\r
+    template<class Path>\r
+    file_status\r
+    basic_directory_entry<Path>::status() const\r
+    {\r
+      if ( !status_known( m_status ) )\r
+      {\r
+#     ifndef BOOST_WINDOWS_API\r
+        if ( status_known( m_symlink_status )\r
+          && !is_symlink( m_symlink_status ) )\r
+          { m_status = m_symlink_status; }\r
+        else { m_status = boost::filesystem::status( m_path ); }\r
+#     else\r
+        m_status = boost::filesystem::status( m_path );\r
+#     endif\r
+      }\r
+      return m_status;\r
+    }\r
+\r
+    template<class Path>\r
+    file_status\r
+    basic_directory_entry<Path>::status( system::error_code & ec ) const\r
+    {\r
+      if ( !status_known( m_status ) )\r
+      {\r
+#     ifndef BOOST_WINDOWS_API\r
+        if ( status_known( m_symlink_status )\r
+          && !is_symlink( m_symlink_status ) )\r
+          { ec = boost::system::error_code();; m_status = m_symlink_status; }\r
+        else { m_status = boost::filesystem::status( m_path, ec ); }\r
+#     else\r
+        m_status = boost::filesystem::status( m_path, ec );\r
+#     endif\r
+      }\r
+      else ec = boost::system::error_code();;\r
+      return m_status;\r
+    }\r
+\r
+    template<class Path>\r
+    file_status\r
+    basic_directory_entry<Path>::symlink_status() const\r
+    {\r
+#   ifndef BOOST_WINDOWS_API\r
+      if ( !status_known( m_symlink_status ) )\r
+        { m_symlink_status = boost::filesystem::symlink_status( m_path ); }\r
+      return m_symlink_status;\r
+#   else\r
+      return status();\r
+#   endif\r
+    }\r
+\r
+    template<class Path>\r
+    file_status\r
+    basic_directory_entry<Path>::symlink_status( system::error_code & ec ) const\r
+    {\r
+#   ifndef BOOST_WINDOWS_API\r
+      if ( !status_known( m_symlink_status ) )\r
+        { m_symlink_status = boost::filesystem::symlink_status( m_path, ec ); }\r
+      else ec = boost::system::error_code();;\r
+      return m_symlink_status;\r
+#   else\r
+      return status( ec );\r
+#   endif\r
+    }\r
+  } // namespace filesystem\r
+} // namespace boost\r
+\r
+#undef BOOST_FS_FUNC\r
+\r
+\r
+#include <boost/config/abi_suffix.hpp> // pops abi_prefix.hpp pragmas\r
+#endif // BOOST_FILESYSTEM_OPERATIONS_HPP\r
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 (file)
index 0000000..61e3338
--- /dev/null
@@ -0,0 +1,1531 @@
+//  boost/filesystem/path.hpp  -----------------------------------------------//\r
+\r
+//  Copyright Beman Dawes 2002-2005\r
+//  Copyright Vladimir Prus 2002\r
+\r
+//  Distributed under the Boost Software License, Version 1.0. (See accompanying\r
+//  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+//  See library home page at http://www.boost.org/libs/filesystem\r
+\r
+//  basic_path's stem(), extension(), and replace_extension() are based on\r
+//  basename(), extension(), and change_extension() from the original\r
+//  filesystem/convenience.hpp header by Vladimir Prus.\r
+\r
+//----------------------------------------------------------------------------// \r
+\r
+#ifndef BOOST_FILESYSTEM_PATH_HPP\r
+#define BOOST_FILESYSTEM_PATH_HPP\r
+\r
+#include <boost/filesystem/config.hpp>\r
+#include <boost/system/system_error.hpp>\r
+#include <boost/iterator/iterator_facade.hpp>\r
+#include <boost/throw_exception.hpp>\r
+#include <boost/shared_ptr.hpp>\r
+#include <boost/type_traits/is_same.hpp>\r
+#include <boost/static_assert.hpp>\r
+\r
+#include <string>\r
+#include <algorithm> // for lexicographical_compare\r
+#include <iosfwd>    // needed by basic_path inserter and extractor\r
+#include <stdexcept>\r
+#include <cassert>\r
+\r
+# ifndef BOOST_FILESYSTEM_NARROW_ONLY\r
+#   include <locale>\r
+# endif\r
+\r
+#include <boost/config/abi_prefix.hpp> // must be the last #include\r
+\r
+//----------------------------------------------------------------------------//\r
+\r
+namespace boost\r
+{\r
+  namespace BOOST_FILESYSTEM_NAMESPACE\r
+  {\r
+    template<class String, class Traits> class basic_path;\r
+\r
+    struct path_traits;\r
+    typedef basic_path< std::string, path_traits > path;\r
+\r
+    struct path_traits\r
+    {\r
+      typedef std::string internal_string_type;\r
+      typedef std::string external_string_type;\r
+      static external_string_type to_external( const path &,\r
+        const internal_string_type & src ) { return src; }\r
+      static internal_string_type to_internal(\r
+        const external_string_type & src ) { return src; }\r
+    };\r
+\r
+# ifndef BOOST_FILESYSTEM_NARROW_ONLY\r
+\r
+    struct BOOST_FILESYSTEM_DECL wpath_traits;\r
+    \r
+    typedef basic_path< std::wstring, wpath_traits > wpath;\r
+\r
+    struct BOOST_FILESYSTEM_DECL wpath_traits\r
+    {\r
+      typedef std::wstring internal_string_type;\r
+# ifdef BOOST_WINDOWS_API\r
+      typedef std::wstring external_string_type;\r
+      static external_string_type to_external( const wpath &,\r
+        const internal_string_type & src ) { return src; }\r
+      static internal_string_type to_internal(\r
+        const external_string_type & src ) { return src; }\r
+# else\r
+      typedef std::string external_string_type;\r
+      static external_string_type to_external( const wpath & ph,\r
+        const internal_string_type & src );\r
+      static internal_string_type to_internal(\r
+        const external_string_type & src );\r
+# endif\r
+      static void imbue( const std::locale & loc );\r
+      static bool imbue( const std::locale & loc, const std::nothrow_t & );\r
+    };\r
+\r
+# endif // ifndef BOOST_FILESYSTEM_NARROW_ONLY\r
+\r
+    //  path traits  ---------------------------------------------------------//\r
+\r
+    template<class Path> struct is_basic_path\r
+      { BOOST_STATIC_CONSTANT( bool, value = false ); };\r
+    template<> struct is_basic_path<path>\r
+      { BOOST_STATIC_CONSTANT( bool, value = true ); };\r
+# ifndef BOOST_FILESYSTEM_NARROW_ONLY\r
+    template<> struct is_basic_path<wpath>\r
+      { BOOST_STATIC_CONSTANT( bool, value = true ); };\r
+# endif\r
+\r
+    // These only have to be specialized if Path::string_type::value_type\r
+    // is not convertible from char, although specializations may eliminate\r
+    // compiler warnings. See ticket 2543.\r
+    template<class Path> struct slash\r
+      { BOOST_STATIC_CONSTANT( char, value = '/' ); };\r
+\r
+    template<class Path> struct dot\r
+      { BOOST_STATIC_CONSTANT( char, value = '.' ); };\r
+\r
+    template<class Path> struct colon\r
+      { BOOST_STATIC_CONSTANT( char, value = ':' ); };\r
+\r
+# ifndef BOOST_FILESYSTEM_NARROW_ONLY\r
+    template<> struct slash<wpath>\r
+      { BOOST_STATIC_CONSTANT( wchar_t, value = L'/' ); };\r
+    template<> struct dot<wpath>\r
+      { BOOST_STATIC_CONSTANT( wchar_t, value = L'.' ); };\r
+    template<> struct colon<wpath>\r
+      { BOOST_STATIC_CONSTANT( wchar_t, value = L':' ); };\r
+# endif\r
+\r
+# ifdef BOOST_WINDOWS_PATH\r
+    template<class Path> struct path_alt_separator\r
+      { BOOST_STATIC_CONSTANT( char, value = '\\' ); };\r
+#   ifndef BOOST_FILESYSTEM_NARROW_ONLY\r
+    template<> struct path_alt_separator<wpath>\r
+      { BOOST_STATIC_CONSTANT( wchar_t, value = L'\\' ); };\r
+#   endif\r
+# endif\r
+\r
+    //  workaround for VC++ 7.0 and earlier issues with nested classes\r
+    namespace detail\r
+    {\r
+      template<class Path>\r
+      class iterator_helper\r
+      {\r
+      public:\r
+        typedef typename Path::iterator iterator;\r
+        static void do_increment( iterator & ph );\r
+        static void do_decrement( iterator & ph );\r
+      };\r
+    }\r
+\r
+    //  basic_path  ----------------------------------------------------------//\r
+  \r
+    template<class String, class Traits>\r
+    class basic_path\r
+    {\r
+    // invariant: m_path valid according to the portable generic path grammar\r
+\r
+      // validate template arguments\r
+// TODO: get these working\r
+//      BOOST_STATIC_ASSERT( ::boost::is_same<String,typename Traits::internal_string_type>::value );\r
+//      BOOST_STATIC_ASSERT( ::boost::is_same<typename Traits::external_string_type,std::string>::value || ::boost::is_same<typename Traits::external_string_type,std::wstring>::value );\r
+\r
+    public:\r
+      // compiler generates copy constructor and copy assignment\r
+\r
+      typedef basic_path<String, Traits> path_type;\r
+      typedef String string_type;\r
+      typedef typename String::value_type value_type;\r
+      typedef Traits traits_type;\r
+      typedef typename Traits::external_string_type external_string_type; \r
+\r
+      // constructors/destructor\r
+      basic_path() {}\r
+      basic_path( const string_type & s ) { operator/=( s ); }\r
+      basic_path( const value_type * s )  { operator/=( s ); }\r
+#     ifndef BOOST_NO_MEMBER_TEMPLATES\r
+        template <class InputIterator>\r
+          basic_path( InputIterator first, InputIterator last )\r
+            { append( first, last ); }\r
+#     endif\r
+     ~basic_path() {}\r
+\r
+      // assignments\r
+      basic_path & operator=( const string_type & s )\r
+      {\r
+#     if BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, >= 310)\r
+        m_path.clear();\r
+#     else\r
+        m_path.erase( m_path.begin(), m_path.end() );\r
+#     endif\r
+        operator/=( s ); \r
+        return *this;\r
+      }\r
+      basic_path & operator=( const value_type * s )\r
+      { \r
+#     if BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, >= 310)\r
+        m_path.clear();\r
+#     else\r
+        m_path.erase( m_path.begin(), m_path.end() );\r
+#     endif\r
+        operator/=( s ); \r
+        return *this;\r
+      }\r
+#     ifndef BOOST_NO_MEMBER_TEMPLATES\r
+        template <class InputIterator>\r
+          basic_path & assign( InputIterator first, InputIterator last )\r
+            { m_path.clear(); append( first, last ); return *this; }\r
+#     endif\r
+\r
+      // modifiers\r
+      basic_path & operator/=( const basic_path & rhs )  { return operator /=( rhs.string().c_str() ); }\r
+      basic_path & operator/=( const string_type & rhs ) { return operator /=( rhs.c_str() ); }\r
+      basic_path & operator/=( const value_type * s );\r
+#     ifndef BOOST_NO_MEMBER_TEMPLATES\r
+        template <class InputIterator>\r
+          basic_path & append( InputIterator first, InputIterator last );\r
+#     endif\r
+      \r
+      void clear()\r
+      { \r
+#     if BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, >= 310)\r
+        m_path.clear();\r
+#     else\r
+        m_path.erase( m_path.begin(), m_path.end() );\r
+#     endif\r
+      }\r
+\r
+      void swap( basic_path & rhs )\r
+      {\r
+        m_path.swap( rhs.m_path );\r
+#       ifdef BOOST_CYGWIN_PATH\r
+          std::swap( m_cygwin_root, rhs.m_cygwin_root );\r
+#       endif\r
+      }\r
+\r
+      basic_path & remove_filename();\r
+      basic_path & replace_extension( const string_type & new_extension = string_type() );\r
+\r
+# ifndef BOOST_FILESYSTEM_NO_DEPRECATED\r
+      basic_path & remove_leaf() { return remove_filename(); }\r
+# endif\r
+\r
+      // observers\r
+      const string_type & string() const         { return m_path; }\r
+      const string_type file_string() const;\r
+      const string_type directory_string() const { return file_string(); }\r
+\r
+      const external_string_type external_file_string() const { return Traits::to_external( *this, file_string() ); }\r
+      const external_string_type external_directory_string() const { return Traits::to_external( *this, directory_string() ); }\r
+\r
+      basic_path   root_path() const;\r
+      string_type  root_name() const;\r
+      string_type  root_directory() const;\r
+      basic_path   relative_path() const;\r
+      basic_path   parent_path() const;\r
+      string_type  filename() const;\r
+      string_type  stem() const;\r
+      string_type  extension() const;\r
+\r
+# ifndef BOOST_FILESYSTEM_NO_DEPRECATED\r
+      string_type  leaf() const            { return filename(); }\r
+      basic_path   branch_path() const     { return parent_path(); }\r
+      bool         has_leaf() const        { return !m_path.empty(); }\r
+      bool         has_branch_path() const { return !parent_path().empty(); }\r
+# endif\r
+\r
+      bool empty() const               { return m_path.empty(); } // name consistent with std containers\r
+      bool is_complete() const;\r
+      bool has_root_path() const;\r
+      bool has_root_name() const;\r
+      bool has_root_directory() const;\r
+      bool has_relative_path() const   { return !relative_path().empty(); }\r
+      bool has_filename() const        { return !m_path.empty(); }\r
+      bool has_parent_path() const     { return !parent_path().empty(); }\r
+\r
+      // iterators\r
+      class iterator : public boost::iterator_facade<\r
+        iterator,\r
+        string_type const,\r
+        boost::bidirectional_traversal_tag >\r
+      {\r
+      private:\r
+        friend class boost::iterator_core_access;\r
+        friend class boost::BOOST_FILESYSTEM_NAMESPACE::basic_path<String, Traits>;\r
+\r
+        const string_type & dereference() const\r
+          { return m_name; }\r
+        bool equal( const iterator & rhs ) const\r
+          { return m_path_ptr == rhs.m_path_ptr && m_pos == rhs.m_pos; }\r
+\r
+        friend class boost::BOOST_FILESYSTEM_NAMESPACE::detail::iterator_helper<path_type>;\r
+\r
+        void increment()\r
+        { \r
+          boost::BOOST_FILESYSTEM_NAMESPACE::detail::iterator_helper<path_type>::do_increment(\r
+            *this );\r
+        }\r
+        void decrement()\r
+        { \r
+          boost::BOOST_FILESYSTEM_NAMESPACE::detail::iterator_helper<path_type>::do_decrement(\r
+            *this );\r
+        }\r
+\r
+        string_type             m_name;     // current element\r
+        const basic_path *      m_path_ptr; // path being iterated over\r
+        typename string_type::size_type  m_pos;  // position of name in\r
+                                            // path_ptr->string(). The\r
+                                            // end() iterator is indicated by \r
+                                            // pos == path_ptr->m_path.size()\r
+      }; // iterator\r
+\r
+      typedef iterator const_iterator;\r
+\r
+      iterator begin() const;\r
+      iterator end() const;\r
+\r
+    private:\r
+      // Note: This is an implementation for POSIX and Windows, where there\r
+      // are only minor differences between generic and native path grammars.\r
+      // Private members might be quite different in other implementations,\r
+      // particularly where there were wide differences between portable and\r
+      // native path formats, or between file_string() and\r
+      // directory_string() formats, or simply that the implementation\r
+      // was willing expend additional memory to achieve greater speed for\r
+      // some operations at the expense of other operations.\r
+\r
+      string_type  m_path; // invariant: portable path grammar\r
+                           // on Windows, backslashes converted to slashes\r
+\r
+#   ifdef BOOST_CYGWIN_PATH\r
+      bool m_cygwin_root; // if present, m_path[0] was slash. note: initialization\r
+                          // done by append\r
+#   endif  \r
+\r
+      void m_append_separator_if_needed();\r
+      void m_append( value_type value ); // converts Windows alt_separator\r
+\r
+      // Was qualified; como433beta8 reports:\r
+      //    warning #427-D: qualified name is not allowed in member declaration \r
+      friend class iterator;\r
+      friend class boost::BOOST_FILESYSTEM_NAMESPACE::detail::iterator_helper<path_type>;\r
+\r
+      // Deprecated features ease transition for existing code. Don't use these\r
+      // in new code.\r
+# ifndef BOOST_FILESYSTEM_NO_DEPRECATED\r
+    public:\r
+      typedef bool (*name_check)( const std::string & name );\r
+      basic_path( const string_type & str, name_check ) { operator/=( str ); }\r
+      basic_path( const typename string_type::value_type * s, name_check )\r
+        { operator/=( s );}\r
+      string_type native_file_string() const { return file_string(); }\r
+      string_type native_directory_string() const { return directory_string(); }\r
+      static bool default_name_check_writable() { return false; } \r
+      static void default_name_check( name_check ) {}\r
+      static name_check default_name_check() { return 0; }\r
+      basic_path & canonize();\r
+      basic_path & normalize();\r
+# endif\r
+    };\r
+\r
+  //  basic_path non-member functions  ---------------------------------------//\r
+\r
+    template< class String, class Traits >\r
+    inline void swap( basic_path<String, Traits> & lhs,\r
+               basic_path<String, Traits> & rhs ) { lhs.swap( rhs ); }\r
+\r
+    template< class String, class Traits >\r
+    bool operator<( const basic_path<String, Traits> & lhs, const basic_path<String, Traits> & rhs )\r
+    {\r
+      return std::lexicographical_compare(\r
+        lhs.begin(), lhs.end(), rhs.begin(), rhs.end() );\r
+    }\r
+\r
+    template< class String, class Traits >\r
+    bool operator<( const typename basic_path<String, Traits>::string_type::value_type * lhs,\r
+                    const basic_path<String, Traits> & rhs )\r
+    {\r
+      basic_path<String, Traits> tmp( lhs );\r
+      return std::lexicographical_compare(\r
+        tmp.begin(), tmp.end(), rhs.begin(), rhs.end() );\r
+    }\r
+\r
+    template< class String, class Traits >\r
+    bool operator<( const typename basic_path<String, Traits>::string_type & lhs,\r
+                    const basic_path<String, Traits> & rhs )\r
+    {\r
+      basic_path<String, Traits> tmp( lhs );\r
+      return std::lexicographical_compare(\r
+        tmp.begin(), tmp.end(), rhs.begin(), rhs.end() );\r
+    }\r
+\r
+    template< class String, class Traits >\r
+    bool operator<( const basic_path<String, Traits> & lhs,\r
+                    const typename basic_path<String, Traits>::string_type::value_type * rhs )\r
+    {\r
+      basic_path<String, Traits> tmp( rhs );\r
+      return std::lexicographical_compare(\r
+        lhs.begin(), lhs.end(), tmp.begin(), tmp.end() );\r
+    }\r
+\r
+    template< class String, class Traits >\r
+    bool operator<( const basic_path<String, Traits> & lhs,\r
+                    const typename basic_path<String, Traits>::string_type & rhs )\r
+    {\r
+      basic_path<String, Traits> tmp( rhs );\r
+      return std::lexicographical_compare(\r
+        lhs.begin(), lhs.end(), tmp.begin(), tmp.end() );\r
+    }\r
+\r
+    //  operator == uses hand-written compare rather than !(lhs < rhs) && !(rhs < lhs)\r
+    //  because the result is the same yet the direct compare is much more efficient\r
+    //  than lexicographical_compare, which would also be called twice.\r
+\r
+    template< class String, class Traits >\r
+    inline bool operator==( const basic_path<String, Traits> & lhs,\r
+                    const typename basic_path<String, Traits>::string_type::value_type * rhs )\r
+    {\r
+      typedef typename\r
+        boost::BOOST_FILESYSTEM_NAMESPACE::basic_path<String, Traits> path_type;\r
+      const typename path_type::string_type::value_type * l (lhs.string().c_str());\r
+      while ( (*l == *rhs\r
+#      ifdef BOOST_WINDOWS_PATH\r
+        || (*l == path_alt_separator<path_type>::value && *rhs == slash<path_type>::value) \r
+            || (*l == slash<path_type>::value && *rhs == path_alt_separator<path_type>::value)\r
+#      endif\r
+        ) && *l ) { ++l; ++rhs; }\r
+      return *l == *rhs\r
+#      ifdef BOOST_WINDOWS_PATH\r
+        || (*l == path_alt_separator<path_type>::value && *rhs == slash<path_type>::value) \r
+          || (*l == slash<path_type>::value && *rhs == path_alt_separator<path_type>::value)\r
+#      endif\r
+        ;  \r
+    }\r
+\r
+    template< class String, class Traits >\r
+    inline bool operator==( const basic_path<String, Traits> & lhs,\r
+                            const basic_path<String, Traits> & rhs )\r
+    { \r
+      return lhs == rhs.string().c_str();\r
+    }\r
+\r
+    template< class String, class Traits >\r
+    inline bool operator==( const typename basic_path<String, Traits>::string_type::value_type * lhs,\r
+                    const basic_path<String, Traits> & rhs )\r
+    {\r
+      return rhs == lhs;\r
+    }\r
+\r
+    template< class String, class Traits >\r
+    inline bool operator==( const typename basic_path<String, Traits>::string_type & lhs,\r
+                    const basic_path<String, Traits> & rhs )\r
+    {\r
+      return rhs == lhs.c_str();\r
+    }\r
+\r
+    template< class String, class Traits >\r
+    inline bool operator==( const basic_path<String, Traits> & lhs,\r
+                    const typename basic_path<String, Traits>::string_type & rhs )\r
+    {\r
+      return lhs == rhs.c_str();\r
+    }\r
+\r
+    template< class String, class Traits >\r
+    inline bool operator!=( const basic_path<String, Traits> & lhs,\r
+      const basic_path<String, Traits> & rhs )\r
+        { return !(lhs == rhs); }\r
+    \r
+    template< class String, class Traits >\r
+    inline bool operator!=( const typename basic_path<String,\r
+      Traits>::string_type::value_type * lhs,\r
+        const basic_path<String, Traits> & rhs )\r
+        { return !(lhs == rhs); }\r
+\r
+    template< class String, class Traits >\r
+    inline bool operator!=( const typename basic_path<String, Traits>::string_type & lhs,\r
+      const basic_path<String, Traits> & rhs )\r
+        { return !(lhs == rhs); }\r
+\r
+    template< class String, class Traits >\r
+    inline bool operator!=( const basic_path<String, Traits> & lhs,\r
+      const typename basic_path<String, Traits>::string_type::value_type * rhs )\r
+        { return !(lhs == rhs); }\r
+\r
+    template< class String, class Traits >\r
+    inline bool operator!=( const basic_path<String, Traits> & lhs,\r
+      const typename basic_path<String, Traits>::string_type & rhs )\r
+        { return !(lhs == rhs); }\r
+\r
+    template< class String, class Traits >\r
+    inline bool operator>( const basic_path<String, Traits> & lhs, const basic_path<String, Traits> & rhs ) { return rhs < lhs; }\r
+    \r
+    template< class String, class Traits >\r
+    inline bool operator>( const typename basic_path<String, Traits>::string_type::value_type * lhs,\r
+                    const basic_path<String, Traits> & rhs ) { return rhs < basic_path<String, Traits>(lhs); }\r
+\r
+    template< class String, class Traits >\r
+    inline bool operator>( const typename basic_path<String, Traits>::string_type & lhs,\r
+                    const basic_path<String, Traits> & rhs ) { return rhs < basic_path<String, Traits>(lhs); }\r
+\r
+    template< class String, class Traits >\r
+    inline bool operator>( const basic_path<String, Traits> & lhs,\r
+                    const typename basic_path<String, Traits>::string_type::value_type * rhs )\r
+                    { return basic_path<String, Traits>(rhs) < lhs; }\r
+\r
+    template< class String, class Traits >\r
+    inline bool operator>( const basic_path<String, Traits> & lhs,\r
+                    const typename basic_path<String, Traits>::string_type & rhs )\r
+                    { return basic_path<String, Traits>(rhs) < lhs; }\r
+\r
+    template< class String, class Traits >\r
+    inline bool operator<=( const basic_path<String, Traits> & lhs, const basic_path<String, Traits> & rhs ) { return !(rhs < lhs); }\r
+    \r
+    template< class String, class Traits >\r
+    inline bool operator<=( const typename basic_path<String, Traits>::string_type::value_type * lhs,\r
+                    const basic_path<String, Traits> & rhs ) { return !(rhs < basic_path<String, Traits>(lhs)); }\r
+\r
+    template< class String, class Traits >\r
+    inline bool operator<=( const typename basic_path<String, Traits>::string_type & lhs,\r
+                    const basic_path<String, Traits> & rhs ) { return !(rhs < basic_path<String, Traits>(lhs)); }\r
+\r
+    template< class String, class Traits >\r
+    inline bool operator<=( const basic_path<String, Traits> & lhs,\r
+                    const typename basic_path<String, Traits>::string_type::value_type * rhs )\r
+                    { return !(basic_path<String, Traits>(rhs) < lhs); }\r
+\r
+    template< class String, class Traits >\r
+    inline bool operator<=( const basic_path<String, Traits> & lhs,\r
+                    const typename basic_path<String, Traits>::string_type & rhs )\r
+                    { return !(basic_path<String, Traits>(rhs) < lhs); }\r
+\r
+    template< class String, class Traits >\r
+    inline bool operator>=( const basic_path<String, Traits> & lhs, const basic_path<String, Traits> & rhs ) { return !(lhs < rhs); }\r
+    \r
+    template< class String, class Traits >\r
+    inline bool operator>=( const typename basic_path<String, Traits>::string_type::value_type * lhs,\r
+                    const basic_path<String, Traits> & rhs ) { return !(lhs < basic_path<String, Traits>(rhs)); }\r
+\r
+    template< class String, class Traits >\r
+    inline bool operator>=( const typename basic_path<String, Traits>::string_type & lhs,\r
+                    const basic_path<String, Traits> & rhs ) { return !(lhs < basic_path<String, Traits>(rhs)); }\r
+\r
+    template< class String, class Traits >\r
+    inline bool operator>=( const basic_path<String, Traits> & lhs,\r
+                    const typename basic_path<String, Traits>::string_type::value_type * rhs )\r
+                    { return !(basic_path<String, Traits>(lhs) < rhs); }\r
+\r
+    template< class String, class Traits >\r
+    inline bool operator>=( const basic_path<String, Traits> & lhs,\r
+                    const typename basic_path<String, Traits>::string_type & rhs )\r
+                    { return !(basic_path<String, Traits>(lhs) < rhs); }\r
+\r
+    // operator /\r
+\r
+    template< class String, class Traits >\r
+    inline basic_path<String, Traits> operator/( \r
+      const basic_path<String, Traits> & lhs,\r
+      const basic_path<String, Traits> & rhs )\r
+      { return basic_path<String, Traits>( lhs ) /= rhs; }\r
+\r
+    template< class String, class Traits >\r
+    inline basic_path<String, Traits> operator/( \r
+      const basic_path<String, Traits> & lhs,\r
+      const typename String::value_type * rhs )\r
+      { return basic_path<String, Traits>( lhs ) /=\r
+          basic_path<String, Traits>( rhs ); }\r
+\r
+    template< class String, class Traits >\r
+    inline basic_path<String, Traits> operator/( \r
+      const basic_path<String, Traits> & lhs, const String & rhs )\r
+      { return basic_path<String, Traits>( lhs ) /=\r
+          basic_path<String, Traits>( rhs ); }\r
+\r
+    template< class String, class Traits >\r
+    inline basic_path<String, Traits> operator/( \r
+      const typename String::value_type * lhs,\r
+      const basic_path<String, Traits> & rhs )\r
+      { return basic_path<String, Traits>( lhs ) /= rhs; }\r
+\r
+    template< class String, class Traits >\r
+    inline basic_path<String, Traits> operator/(\r
+      const String & lhs, const basic_path<String, Traits> & rhs )\r
+      { return basic_path<String, Traits>( lhs ) /= rhs; }\r
+   \r
+    //  inserters and extractors  --------------------------------------------//\r
+\r
+// bypass VC++ 7.0 and earlier, and broken Borland compilers\r
+# if !BOOST_WORKAROUND(BOOST_MSVC, <= 1300) && !BOOST_WORKAROUND(__BORLANDC__, < 0x610)\r
+    template< class Path >\r
+    std::basic_ostream< typename Path::string_type::value_type,\r
+      typename Path::string_type::traits_type > &\r
+      operator<<\r
+      ( std::basic_ostream< typename Path::string_type::value_type,\r
+      typename Path::string_type::traits_type >& os, const Path & ph )\r
+    {\r
+      os << ph.string();\r
+      return os;\r
+    }\r
+\r
+    template< class Path >\r
+    std::basic_istream< typename Path::string_type::value_type,\r
+      typename Path::string_type::traits_type > &\r
+      operator>>\r
+      ( std::basic_istream< typename Path::string_type::value_type,\r
+      typename Path::string_type::traits_type >& is, Path & ph )\r
+    {\r
+      typename Path::string_type str;\r
+      is >> str;\r
+      ph = str;\r
+      return is;\r
+    }\r
+# elif BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))\r
+    template< class String, class Traits >\r
+    std::basic_ostream< BOOST_DEDUCED_TYPENAME String::value_type,\r
+      BOOST_DEDUCED_TYPENAME String::traits_type > &\r
+      operator<<\r
+      ( std::basic_ostream< BOOST_DEDUCED_TYPENAME String::value_type,\r
+          BOOST_DEDUCED_TYPENAME String::traits_type >& os, \r
+        const basic_path< String, Traits > & ph )\r
+    {\r
+      os << ph.string();\r
+      return os;\r
+    }\r
+\r
+    template< class String, class Traits >\r
+    std::basic_istream< BOOST_DEDUCED_TYPENAME String::value_type, \r
+      BOOST_DEDUCED_TYPENAME String::traits_type > &\r
+      operator>>\r
+      ( std::basic_istream< BOOST_DEDUCED_TYPENAME String::value_type,\r
+          BOOST_DEDUCED_TYPENAME String::traits_type> & is,\r
+        basic_path< String, Traits > & ph )\r
+    {\r
+      String str;\r
+      is >> str;\r
+      ph = str;\r
+      return is;\r
+    }\r
+# endif\r
+\r
+    //  basic_filesystem_error helpers  --------------------------------------//\r
+\r
+    //  Originally choice of implementation was done via specialization of\r
+    //  basic_filesystem_error::what(). Several compilers (GCC, aCC, etc.)\r
+    //  couldn't handle that, so the choice is now accomplished by overloading.\r
+\r
+    namespace detail\r
+    {\r
+      // BOOST_FILESYSTEM_DECL version works for VC++ but not GCC. Go figure!\r
+      inline\r
+      const char * what( const char * sys_err_what,\r
+        const path & path1_arg, const path & path2_arg, std::string & target )\r
+      {\r
+        try\r
+        {\r
+          if ( target.empty() )\r
+          {\r
+            target = sys_err_what;\r
+            if ( !path1_arg.empty() )\r
+            {\r
+              target += ": \"";\r
+              target += path1_arg.file_string();\r
+              target += "\"";\r
+            }\r
+            if ( !path2_arg.empty() )\r
+            {\r
+              target += ", \"";\r
+              target += path2_arg.file_string();\r
+              target += "\"";\r
+            }\r
+          }\r
+          return target.c_str();\r
+        }\r
+        catch (...)\r
+        {\r
+          return sys_err_what;\r
+        }\r
+      }\r
+\r
+      template<class Path>\r
+      const char * what( const char * sys_err_what,\r
+        const Path & /*path1_arg*/, const Path & /*path2_arg*/, std::string & /*target*/ )\r
+      {\r
+        return sys_err_what;\r
+      }\r
+    }\r
+\r
+    //  basic_filesystem_error  ----------------------------------------------//\r
+\r
+    template<class Path>\r
+    class basic_filesystem_error : public system::system_error\r
+    {\r
+    // see http://www.boost.org/more/error_handling.html for design rationale\r
+    public:\r
+      // compiler generates copy constructor and copy assignment\r
+\r
+      typedef Path path_type;\r
+\r
+      basic_filesystem_error( const std::string & what_arg,\r
+        system::error_code ec );\r
+\r
+      basic_filesystem_error( const std::string & what_arg,\r
+        const path_type & path1_arg, system::error_code ec );\r
+\r
+      basic_filesystem_error( const std::string & what_arg, const path_type & path1_arg,\r
+        const path_type & path2_arg, system::error_code ec );\r
+\r
+      ~basic_filesystem_error() throw() {}\r
+\r
+      const path_type & path1() const\r
+      {\r
+        static const path_type empty_path;\r
+        return m_imp_ptr.get() ? m_imp_ptr->m_path1 : empty_path ;\r
+      }\r
+      const path_type & path2() const\r
+      {\r
+        static const path_type empty_path;\r
+        return m_imp_ptr.get() ? m_imp_ptr->m_path2 : empty_path ;\r
+      }\r
+\r
+      const char * what() const throw()\r
+      { \r
+        if ( !m_imp_ptr.get() )\r
+          return system::system_error::what();\r
+        return detail::what( system::system_error::what(), m_imp_ptr->m_path1,\r
+          m_imp_ptr->m_path2, m_imp_ptr->m_what );  \r
+      }\r
+\r
+    private:\r
+      struct m_imp\r
+      {\r
+        path_type                 m_path1; // may be empty()\r
+        path_type                 m_path2; // may be empty()\r
+        std::string               m_what;  // not built until needed\r
+      };\r
+      boost::shared_ptr<m_imp> m_imp_ptr;\r
+    };\r
+\r
+    typedef basic_filesystem_error<path> filesystem_error;\r
+\r
+# ifndef BOOST_FILESYSTEM_NARROW_ONLY\r
+    typedef basic_filesystem_error<wpath> wfilesystem_error;\r
+# endif\r
+\r
+  //  path::name_checks  -----------------------------------------------------//\r
+\r
+    BOOST_FILESYSTEM_DECL bool portable_posix_name( const std::string & name );\r
+    BOOST_FILESYSTEM_DECL bool windows_name( const std::string & name );\r
+    BOOST_FILESYSTEM_DECL bool portable_name( const std::string & name );\r
+    BOOST_FILESYSTEM_DECL bool portable_directory_name( const std::string & name );\r
+    BOOST_FILESYSTEM_DECL bool portable_file_name( const std::string & name );\r
+    BOOST_FILESYSTEM_DECL bool native( const std::string & name );\r
+    inline bool no_check( const std::string & )\r
+      { return true; }\r
+\r
+// implementation  -----------------------------------------------------------//\r
+\r
+    namespace detail\r
+    {\r
+\r
+      //  is_separator helper ------------------------------------------------//\r
+\r
+      template<class Path>\r
+      inline  bool is_separator( typename Path::string_type::value_type c )\r
+      {\r
+        return c == slash<Path>::value\r
+#     ifdef BOOST_WINDOWS_PATH\r
+          || c == path_alt_separator<Path>::value\r
+#     endif\r
+          ;\r
+      }\r
+\r
+      // filename_pos helper  ----------------------------------------------------//\r
+\r
+      template<class String, class Traits>\r
+      typename String::size_type filename_pos(\r
+        const String & str, // precondition: portable generic path grammar\r
+        typename String::size_type end_pos ) // end_pos is past-the-end position\r
+      // return 0 if str itself is filename (or empty)\r
+      {\r
+        typedef typename\r
+          boost::BOOST_FILESYSTEM_NAMESPACE::basic_path<String, Traits> path_type;\r
+\r
+        // case: "//"\r
+        if ( end_pos == 2 \r
+          && str[0] == slash<path_type>::value\r
+          && str[1] == slash<path_type>::value ) return 0;\r
+\r
+        // case: ends in "/"\r
+        if ( end_pos && str[end_pos-1] == slash<path_type>::value )\r
+          return end_pos-1;\r
+        \r
+        // set pos to start of last element\r
+        typename String::size_type pos(\r
+          str.find_last_of( slash<path_type>::value, end_pos-1 ) );\r
+#       ifdef BOOST_WINDOWS_PATH\r
+        if ( pos == String::npos )\r
+          pos = str.find_last_of( path_alt_separator<path_type>::value, end_pos-1 );\r
+        if ( pos == String::npos )\r
+          pos = str.find_last_of( colon<path_type>::value, end_pos-2 );\r
+#       endif\r
+\r
+        return ( pos == String::npos // path itself must be a filename (or empty)\r
+          || (pos == 1 && str[0] == slash<path_type>::value) ) // or net\r
+            ? 0 // so filename is entire string\r
+            : pos + 1; // or starts after delimiter\r
+      }\r
+\r
+      // first_element helper  -----------------------------------------------//\r
+      //   sets pos and len of first element, excluding extra separators\r
+      //   if src.empty(), sets pos,len, to 0,0.\r
+\r
+      template<class String, class Traits>\r
+        void first_element(\r
+          const String & src, // precondition: portable generic path grammar\r
+          typename String::size_type & element_pos,\r
+          typename String::size_type & element_size,\r
+#       if !BOOST_WORKAROUND( BOOST_MSVC, <= 1310 ) // VC++ 7.1\r
+          typename String::size_type size = String::npos\r
+#       else\r
+          typename String::size_type size = -1\r
+#       endif\r
+          )\r
+      {\r
+        if ( size == String::npos ) size = src.size();\r
+        element_pos = 0;\r
+        element_size = 0;\r
+        if ( src.empty() ) return;\r
+\r
+        typedef typename boost::BOOST_FILESYSTEM_NAMESPACE::basic_path<String, Traits> path_type;\r
+\r
+        typename String::size_type cur(0);\r
+        \r
+        // deal with // [network]\r
+        if ( size >= 2 && src[0] == slash<path_type>::value\r
+          && src[1] == slash<path_type>::value\r
+          && (size == 2\r
+            || src[2] != slash<path_type>::value) )\r
+        { \r
+          cur += 2;\r
+          element_size += 2;\r
+        }\r
+\r
+        // leading (not non-network) separator\r
+        else if ( src[0] == slash<path_type>::value )\r
+        {\r
+          ++element_size;\r
+          // bypass extra leading separators\r
+          while ( cur+1 < size\r
+            && src[cur+1] == slash<path_type>::value )\r
+          {\r
+            ++cur;\r
+            ++element_pos;\r
+          }\r
+          return;\r
+        }\r
+\r
+        // at this point, we have either a plain name, a network name,\r
+        // or (on Windows only) a device name\r
+\r
+        // find the end\r
+        while ( cur < size\r
+#         ifdef BOOST_WINDOWS_PATH\r
+          && src[cur] != colon<path_type>::value\r
+#         endif\r
+          && src[cur] != slash<path_type>::value )\r
+        {\r
+          ++cur;\r
+          ++element_size;\r
+        }\r
+\r
+#       ifdef BOOST_WINDOWS_PATH\r
+        if ( cur == size ) return;\r
+        // include device delimiter\r
+        if ( src[cur] == colon<path_type>::value )\r
+          { ++element_size; }\r
+#       endif\r
+\r
+        return;\r
+      }\r
+\r
+      // root_directory_start helper  ----------------------------------------//\r
+\r
+      template<class String, class Traits>\r
+      typename String::size_type root_directory_start(\r
+        const String & s, // precondition: portable generic path grammar\r
+        typename String::size_type size )\r
+      // return npos if no root_directory found\r
+      {\r
+        typedef typename boost::BOOST_FILESYSTEM_NAMESPACE::basic_path<String, Traits> path_type;\r
+\r
+#     ifdef BOOST_WINDOWS_PATH\r
+        // case "c:/"\r
+        if ( size > 2\r
+          && s[1] == colon<path_type>::value\r
+          && s[2] == slash<path_type>::value ) return 2;\r
+#     endif\r
+\r
+        // case "//"\r
+        if ( size == 2\r
+          && s[0] == slash<path_type>::value\r
+          && s[1] == slash<path_type>::value ) return String::npos;\r
+\r
+        // case "//net {/}"\r
+        if ( size > 3\r
+          && s[0] == slash<path_type>::value\r
+          && s[1] == slash<path_type>::value\r
+          && s[2] != slash<path_type>::value )\r
+        {\r
+          typename String::size_type pos(\r
+            s.find( slash<path_type>::value, 2 ) );\r
+          return pos < size ? pos : String::npos;\r
+        }\r
+        \r
+        // case "/"\r
+        if ( size > 0 && s[0] == slash<path_type>::value ) return 0;\r
+\r
+        return String::npos;\r
+      }\r
+\r
+      // is_non_root_slash helper  -------------------------------------------//\r
+\r
+      template<class String, class Traits>\r
+      bool is_non_root_slash( const String & str,\r
+        typename String::size_type pos ) // pos is position of the slash\r
+      {\r
+        typedef typename\r
+          boost::BOOST_FILESYSTEM_NAMESPACE::basic_path<String, Traits>\r
+            path_type;\r
+\r
+        assert( !str.empty() && str[pos] == slash<path_type>::value\r
+          && "precondition violation" );\r
+\r
+        // subsequent logic expects pos to be for leftmost slash of a set\r
+        while ( pos > 0 && str[pos-1] == slash<path_type>::value )\r
+          --pos;\r
+\r
+        return  pos != 0\r
+          && (pos <= 2 || str[1] != slash<path_type>::value\r
+            || str.find( slash<path_type>::value, 2 ) != pos)\r
+#       ifdef BOOST_WINDOWS_PATH\r
+          && (pos !=2 || str[1] != colon<path_type>::value)\r
+#       endif\r
+            ;\r
+      }\r
+    } // namespace detail\r
+\r
+    // decomposition functions  ----------------------------------------------//\r
+\r
+    template<class String, class Traits>\r
+    String basic_path<String, Traits>::filename() const\r
+    {\r
+      typename String::size_type end_pos(\r
+        detail::filename_pos<String, Traits>( m_path, m_path.size() ) );\r
+      return (m_path.size()\r
+                && end_pos\r
+                && m_path[end_pos] == slash<path_type>::value\r
+                && detail::is_non_root_slash< String, Traits >(m_path, end_pos))\r
+        ? String( 1, dot<path_type>::value )\r
+        : m_path.substr( end_pos );\r
+    }\r
+\r
+    template<class String, class Traits>\r
+    String basic_path<String, Traits>::stem() const\r
+    {\r
+      string_type name = filename();\r
+      typename string_type::size_type n = name.rfind(dot<path_type>::value);\r
+      return name.substr(0, n);\r
+    }\r
+\r
+    template<class String, class Traits>\r
+    String basic_path<String, Traits>::extension() const\r
+    {\r
+      string_type name = filename();\r
+      typename string_type::size_type n = name.rfind(dot<path_type>::value);\r
+      if (n != string_type::npos)\r
+        return name.substr(n);\r
+      else\r
+        return string_type();\r
+    }\r
+\r
+    template<class String, class Traits>\r
+    basic_path<String, Traits> basic_path<String, Traits>::parent_path() const\r
+    {\r
+      typename String::size_type end_pos(\r
+        detail::filename_pos<String, Traits>( m_path, m_path.size() ) );\r
+\r
+      bool filename_was_separator( m_path.size()\r
+        && m_path[end_pos] == slash<path_type>::value );\r
+\r
+      // skip separators unless root directory\r
+      typename string_type::size_type root_dir_pos( detail::root_directory_start\r
+        <string_type, traits_type>( m_path, end_pos ) );\r
+      for ( ; \r
+        end_pos > 0\r
+        && (end_pos-1) != root_dir_pos\r
+        && m_path[end_pos-1] == slash<path_type>::value\r
+        ;\r
+        --end_pos ) {}\r
+\r
+     return (end_pos == 1 && root_dir_pos == 0 && filename_was_separator)\r
+       ? path_type()\r
+       : path_type( m_path.substr( 0, end_pos ) );\r
+    }\r
+\r
+    template<class String, class Traits>\r
+    basic_path<String, Traits> basic_path<String, Traits>::relative_path() const\r
+    {\r
+      iterator itr( begin() );\r
+      for ( ; itr.m_pos != m_path.size()\r
+          && (itr.m_name[0] == slash<path_type>::value\r
+#     ifdef BOOST_WINDOWS_PATH\r
+          || itr.m_name[itr.m_name.size()-1]\r
+            == colon<path_type>::value\r
+#     endif\r
+             ); ++itr ) {}\r
+\r
+      return basic_path<String, Traits>( m_path.substr( itr.m_pos ) );\r
+    }\r
+\r
+    template<class String, class Traits>\r
+    String basic_path<String, Traits>::root_name() const\r
+    {\r
+      iterator itr( begin() );\r
+\r
+      return ( itr.m_pos != m_path.size()\r
+        && (\r
+            ( itr.m_name.size() > 1\r
+              && itr.m_name[0] == slash<path_type>::value\r
+              && itr.m_name[1] == slash<path_type>::value\r
+            )\r
+#     ifdef BOOST_WINDOWS_PATH\r
+          || itr.m_name[itr.m_name.size()-1]\r
+            == colon<path_type>::value\r
+#     endif\r
+           ) )\r
+        ? *itr\r
+        : String();\r
+    }\r
+\r
+    template<class String, class Traits>\r
+    String basic_path<String, Traits>::root_directory() const\r
+    {\r
+      typename string_type::size_type start(\r
+        detail::root_directory_start<String, Traits>( m_path, m_path.size() ) );\r
+\r
+      return start == string_type::npos\r
+        ? string_type()\r
+        : m_path.substr( start, 1 );\r
+    }\r
+\r
+    template<class String, class Traits>\r
+    basic_path<String, Traits> basic_path<String, Traits>::root_path() const\r
+    {\r
+      // even on POSIX, root_name() is non-empty() on network paths\r
+      return basic_path<String, Traits>( root_name() ) /= root_directory();\r
+    }\r
+\r
+    // path query functions  -------------------------------------------------//\r
+\r
+    template<class String, class Traits>\r
+    inline bool basic_path<String, Traits>::is_complete() const\r
+    {\r
+#   ifdef BOOST_WINDOWS_PATH\r
+      return has_root_name() && has_root_directory();\r
+#   else\r
+      return has_root_directory();\r
+#   endif\r
+    }\r
+\r
+    template<class String, class Traits>\r
+    inline bool basic_path<String, Traits>::has_root_path() const\r
+    {\r
+      return !root_path().empty();\r
+    }\r
+\r
+    template<class String, class Traits>\r
+    inline bool basic_path<String, Traits>::has_root_name() const\r
+    {\r
+      return !root_name().empty();\r
+    }\r
+\r
+    template<class String, class Traits>\r
+    inline bool basic_path<String, Traits>::has_root_directory() const\r
+    {\r
+      return !root_directory().empty();\r
+    }\r
+\r
+    // append  ---------------------------------------------------------------//\r
+\r
+    template<class String, class Traits>\r
+    void basic_path<String, Traits>::m_append_separator_if_needed()\r
+    // requires: !empty()\r
+    {\r
+      if (\r
+#       ifdef BOOST_WINDOWS_PATH\r
+        *(m_path.end()-1) != colon<path_type>::value && \r
+#       endif\r
+        *(m_path.end()-1) != slash<path_type>::value )\r
+      {\r
+        m_path += slash<path_type>::value;\r
+      }\r
+    }\r
+      \r
+    template<class String, class Traits>\r
+    void basic_path<String, Traits>::m_append( value_type value )\r
+    {\r
+#   ifdef BOOST_CYGWIN_PATH\r
+      if ( m_path.empty() ) m_cygwin_root = (value == slash<path_type>::value);\r
+#   endif\r
+\r
+#   ifdef BOOST_WINDOWS_PATH\r
+      // for BOOST_WINDOWS_PATH, convert alt_separator ('\') to separator ('/')\r
+      m_path += ( value == path_alt_separator<path_type>::value\r
+        ? slash<path_type>::value\r
+        : value );\r
+#   else\r
+      m_path += value;\r
+#   endif\r
+    }\r
+    \r
+    // except that it wouldn't work for BOOST_NO_MEMBER_TEMPLATES compilers,\r
+    // the append() member template could replace this code.\r
+    template<class String, class Traits>\r
+    basic_path<String, Traits> & basic_path<String, Traits>::operator /=\r
+      ( const value_type * next_p )\r
+    {\r
+      // ignore escape sequence on POSIX or Windows\r
+      if ( *next_p == slash<path_type>::value\r
+        && *(next_p+1) == slash<path_type>::value\r
+        && *(next_p+2) == colon<path_type>::value ) next_p += 3;\r
+      \r
+      // append slash<path_type>::value if needed\r
+      if ( !empty() && *next_p != 0\r
+        && !detail::is_separator<path_type>( *next_p ) )\r
+      { m_append_separator_if_needed(); }\r
+\r
+      for ( ; *next_p != 0; ++next_p ) m_append( *next_p );\r
+      return *this;\r
+    }\r
+\r
+# ifndef BOOST_NO_MEMBER_TEMPLATES\r
+    template<class String, class Traits> template <class InputIterator>\r
+      basic_path<String, Traits> & basic_path<String, Traits>::append(\r
+        InputIterator first, InputIterator last )\r
+    {\r
+      // append slash<path_type>::value if needed\r
+      if ( !empty() && first != last\r
+        && !detail::is_separator<path_type>( *first ) )\r
+      { m_append_separator_if_needed(); }\r
+\r
+      // song-and-dance to avoid violating InputIterator requirements\r
+      // (which prohibit lookahead) in detecting a possible escape sequence\r
+      // (escape sequences are simply ignored on POSIX and Windows)\r
+      bool was_escape_sequence(true);\r
+      std::size_t append_count(0);\r
+      typename String::size_type initial_pos( m_path.size() );\r
+\r
+      for ( ; first != last && *first; ++first )\r
+      {\r
+        if ( append_count == 0 && *first != slash<path_type>::value )\r
+          was_escape_sequence = false;\r
+        if ( append_count == 1 && *first != slash<path_type>::value )\r
+          was_escape_sequence = false;\r
+        if ( append_count == 2 && *first != colon<path_type>::value )\r
+          was_escape_sequence = false;\r
+        m_append( *first );\r
+        ++append_count;\r
+      }\r
+\r
+      // erase escape sequence if any\r
+      if ( was_escape_sequence && append_count >= 3 )\r
+        m_path.erase( initial_pos, 3 );\r
+\r
+      return *this;\r
+    }\r
+# endif\r
+\r
+# ifndef BOOST_FILESYSTEM_NO_DEPRECATED\r
+\r
+    // canonize  ------------------------------------------------------------//\r
+\r
+    template<class String, class Traits>\r
+    basic_path<String, Traits> & basic_path<String, Traits>::canonize()\r
+    {\r
+      static const typename string_type::value_type dot_str[]\r
+        = { dot<path_type>::value, 0 };\r
+\r
+      if ( m_path.empty() ) return *this;\r
+        \r
+      path_type temp;\r
+\r
+      for ( iterator itr( begin() ); itr != end(); ++itr )\r
+      {\r
+        temp /= *itr;\r
+      };\r
+\r
+      if ( temp.empty() ) temp /= dot_str;\r
+      m_path = temp.m_path;\r
+      return *this;\r
+    }\r
+\r
+    // normalize  ------------------------------------------------------------//\r
+\r
+    template<class String, class Traits>\r
+    basic_path<String, Traits> & basic_path<String, Traits>::normalize()\r
+    {\r
+      static const typename string_type::value_type dot_str[]\r
+        = { dot<path_type>::value, 0 };\r
+\r
+      if ( m_path.empty() ) return *this;\r
+        \r
+      path_type temp;\r
+      iterator start( begin() );\r
+      iterator last( end() );\r
+      iterator stop( last-- );\r
+      for ( iterator itr( start ); itr != stop; ++itr )\r
+      {\r
+        // ignore "." except at start and last\r
+        if ( itr->size() == 1\r
+          && (*itr)[0] == dot<path_type>::value\r
+          && itr != start\r
+          && itr != last ) continue;\r
+\r
+        // ignore a name and following ".."\r
+        if ( !temp.empty()\r
+          && itr->size() == 2\r
+          && (*itr)[0] == dot<path_type>::value\r
+          && (*itr)[1] == dot<path_type>::value ) // dot dot\r
+        {\r
+          string_type lf( temp.filename() );  \r
+          if ( lf.size() > 0  \r
+            && (lf.size() != 1\r
+              || (lf[0] != dot<path_type>::value\r
+                && lf[0] != slash<path_type>::value))\r
+            && (lf.size() != 2 \r
+              || (lf[0] != dot<path_type>::value\r
+                && lf[1] != dot<path_type>::value\r
+#             ifdef BOOST_WINDOWS_PATH\r
+                && lf[1] != colon<path_type>::value\r
+#             endif\r
+                 )\r
+               )\r
+            )\r
+          {\r
+            temp.remove_filename();\r
+            // if not root directory, must also remove "/" if any\r
+            if ( temp.m_path.size() > 0\r
+              && temp.m_path[temp.m_path.size()-1]\r
+                == slash<path_type>::value )\r
+            {\r
+              typename string_type::size_type rds(\r
+                detail::root_directory_start<String,Traits>( temp.m_path,\r
+                  temp.m_path.size() ) );\r
+              if ( rds == string_type::npos\r
+                || rds != temp.m_path.size()-1 ) \r
+                { temp.m_path.erase( temp.m_path.size()-1 ); }\r
+            }\r
+\r
+            iterator next( itr );\r
+            if ( temp.empty() && ++next != stop\r
+              && next == last && *last == dot_str ) temp /= dot_str;\r
+            continue;\r
+          }\r
+        }\r
+\r
+        temp /= *itr;\r
+      };\r
+\r
+      if ( temp.empty() ) temp /= dot_str;\r
+      m_path = temp.m_path;\r
+      return *this;\r
+    }\r
+\r
+# endif\r
+\r
+    // modifiers  ------------------------------------------------------------//\r
+\r
+    template<class String, class Traits>\r
+    basic_path<String, Traits> & basic_path<String, Traits>::remove_filename()\r
+    {\r
+      m_path.erase(\r
+        detail::filename_pos<String, Traits>( m_path, m_path.size() ) );\r
+      return *this;\r
+    }\r
+\r
+    template<class String, class Traits>\r
+    basic_path<String, Traits> &\r
+    basic_path<String, Traits>::replace_extension( const string_type & new_ext )\r
+    {\r
+      // erase existing extension if any\r
+      string_type old_ext = extension();\r
+      if ( !old_ext.empty() )\r
+        m_path.erase( m_path.size() - old_ext.size() );\r
+\r
+      if ( !new_ext.empty() && new_ext[0] != dot<path_type>::value )\r
+        m_path += dot<path_type>::value;\r
+\r
+      m_path += new_ext;\r
+\r
+      return *this;\r
+    }\r
+\r
+\r
+    // path conversion functions  --------------------------------------------//\r
+\r
+    template<class String, class Traits>\r
+    const String\r
+    basic_path<String, Traits>::file_string() const\r
+    {\r
+#   ifdef BOOST_WINDOWS_PATH\r
+      // for Windows, use the alternate separator, and bypass extra \r
+      // root separators\r
+\r
+      typename string_type::size_type root_dir_start(\r
+        detail::root_directory_start<String, Traits>( m_path, m_path.size() ) );\r
+      bool in_root( root_dir_start != string_type::npos );\r
+      String s;\r
+      for ( typename string_type::size_type pos( 0 );\r
+        pos != m_path.size(); ++pos )\r
+      {\r
+        // special case // [net]\r
+        if ( pos == 0 && m_path.size() > 1\r
+          && m_path[0] == slash<path_type>::value\r
+          && m_path[1] == slash<path_type>::value\r
+          && ( m_path.size() == 2 \r
+            || !detail::is_separator<path_type>( m_path[2] )\r
+             ) )\r
+        {\r
+          ++pos;\r
+          s += path_alt_separator<path_type>::value;\r
+          s += path_alt_separator<path_type>::value;\r
+          continue;\r
+        }   \r
+\r
+        // bypass extra root separators\r
+        if ( in_root )\r
+        { \r
+          if ( s.size() > 0\r
+            && s[s.size()-1] == path_alt_separator<path_type>::value\r
+            && m_path[pos] == slash<path_type>::value\r
+            ) continue;\r
+        }\r
+\r
+        if ( m_path[pos] == slash<path_type>::value )\r
+          s += path_alt_separator<path_type>::value;\r
+        else\r
+          s += m_path[pos];\r
+\r
+        if ( pos > root_dir_start\r
+          && m_path[pos] == slash<path_type>::value )\r
+          { in_root = false; }\r
+      }\r
+#   ifdef BOOST_CYGWIN_PATH\r
+      if ( m_cygwin_root ) s[0] = slash<path_type>::value;\r
+#   endif\r
+      return s;\r
+#   else\r
+      return m_path;\r
+#   endif\r
+    }\r
+\r
+    // iterator functions  ---------------------------------------------------//\r
+\r
+    template<class String, class Traits>\r
+    typename basic_path<String, Traits>::iterator basic_path<String, Traits>::begin() const\r
+    {\r
+      iterator itr;\r
+      itr.m_path_ptr = this;\r
+      typename string_type::size_type element_size;\r
+      detail::first_element<String, Traits>( m_path, itr.m_pos, element_size );\r
+      itr.m_name = m_path.substr( itr.m_pos, element_size );\r
+      return itr;\r
+    }\r
+\r
+    template<class String, class Traits>\r
+    typename basic_path<String, Traits>::iterator basic_path<String, Traits>::end() const\r
+      {\r
+        iterator itr;\r
+        itr.m_path_ptr = this;\r
+        itr.m_pos = m_path.size();\r
+        return itr;\r
+      }\r
+\r
+    namespace detail\r
+    {\r
+      //  do_increment  ------------------------------------------------------//\r
+\r
+      template<class Path>\r
+      void iterator_helper<Path>::do_increment( iterator & itr )\r
+      {\r
+        typedef typename Path::string_type string_type;\r
+        typedef typename Path::traits_type traits_type;\r
+\r
+        assert( itr.m_pos < itr.m_path_ptr->m_path.size() && "basic_path::iterator increment past end()" );\r
+\r
+        bool was_net( itr.m_name.size() > 2\r
+          && itr.m_name[0] == slash<Path>::value\r
+          && itr.m_name[1] == slash<Path>::value\r
+          && itr.m_name[2] != slash<Path>::value );\r
+\r
+        // increment to position past current element\r
+        itr.m_pos += itr.m_name.size();\r
+\r
+        // if end reached, create end iterator\r
+        if ( itr.m_pos == itr.m_path_ptr->m_path.size() )\r
+        {\r
+          itr.m_name.erase( itr.m_name.begin(), itr.m_name.end() ); // VC++ 6.0 lib didn't supply clear() \r
+          return;\r
+        }\r
+\r
+        // process separator (Windows drive spec is only case not a separator)\r
+        if ( itr.m_path_ptr->m_path[itr.m_pos] == slash<Path>::value )\r
+        {\r
+          // detect root directory\r
+          if ( was_net\r
+  #       ifdef BOOST_WINDOWS_PATH\r
+            // case "c:/"\r
+            || itr.m_name[itr.m_name.size()-1] == colon<Path>::value\r
+  #       endif\r
+             )\r
+          {\r
+            itr.m_name = slash<Path>::value;\r
+            return;\r
+          }\r
+\r
+          // bypass separators\r
+          while ( itr.m_pos != itr.m_path_ptr->m_path.size()\r
+            && itr.m_path_ptr->m_path[itr.m_pos] == slash<Path>::value )\r
+            { ++itr.m_pos; }\r
+\r
+          // detect trailing separator, and treat it as ".", per POSIX spec\r
+          if ( itr.m_pos == itr.m_path_ptr->m_path.size()\r
+            && detail::is_non_root_slash< string_type, traits_type >(\r
+                itr.m_path_ptr->m_path, itr.m_pos-1 ) ) \r
+          {\r
+            --itr.m_pos;\r
+            itr.m_name = dot<Path>::value;\r
+            return;\r
+          }\r
+        }\r
+\r
+        // get next element\r
+        typename string_type::size_type end_pos(\r
+          itr.m_path_ptr->m_path.find( slash<Path>::value, itr.m_pos ) );\r
+        itr.m_name = itr.m_path_ptr->m_path.substr( itr.m_pos, end_pos - itr.m_pos );\r
+      } \r
+\r
+      //  do_decrement  ------------------------------------------------------//\r
+\r
+      template<class Path>\r
+      void iterator_helper<Path>::do_decrement( iterator & itr )\r
+      {                                                                                \r
+        assert( itr.m_pos && "basic_path::iterator decrement past begin()"  );\r
+\r
+        typedef typename Path::string_type string_type;\r
+        typedef typename Path::traits_type traits_type;\r
+\r
+        typename string_type::size_type end_pos( itr.m_pos );\r
+\r
+        typename string_type::size_type root_dir_pos(\r
+          detail::root_directory_start<string_type, traits_type>(\r
+            itr.m_path_ptr->m_path, end_pos ) );\r
+\r
+        // if at end and there was a trailing non-root '/', return "."\r
+        if ( itr.m_pos == itr.m_path_ptr->m_path.size()\r
+          && itr.m_path_ptr->m_path.size() > 1\r
+          && itr.m_path_ptr->m_path[itr.m_pos-1] == slash<Path>::value\r
+          && detail::is_non_root_slash< string_type, traits_type >(\r
+               itr.m_path_ptr->m_path, itr.m_pos-1 ) \r
+           )\r
+        {\r
+          --itr.m_pos;\r
+            itr.m_name = dot<Path>::value;\r
+            return;\r
+        }\r
+\r
+        // skip separators unless root directory\r
+        for ( \r
+          ; \r
+          end_pos > 0\r
+          && (end_pos-1) != root_dir_pos\r
+          && itr.m_path_ptr->m_path[end_pos-1] == slash<Path>::value\r
+          ;\r
+          --end_pos ) {}\r
+\r
+        itr.m_pos = detail::filename_pos<string_type, traits_type>\r
+            ( itr.m_path_ptr->m_path, end_pos );\r
+        itr.m_name = itr.m_path_ptr->m_path.substr( itr.m_pos, end_pos - itr.m_pos );\r
+      }\r
+    } // namespace detail\r
+\r
+    //  basic_filesystem_error implementation --------------------------------//\r
+\r
+    template<class Path>\r
+    basic_filesystem_error<Path>::basic_filesystem_error(\r
+      const std::string & what_arg, system::error_code ec )\r
+      : system::system_error(ec, what_arg)\r
+    {\r
+      try\r
+      {\r
+        m_imp_ptr.reset( new m_imp );\r
+      }\r
+      catch (...) { m_imp_ptr.reset(); }\r
+    }\r
+\r
+    template<class Path>\r
+    basic_filesystem_error<Path>::basic_filesystem_error(\r
+      const std::string & what_arg, const path_type & path1_arg,\r
+      system::error_code ec )\r
+      : system::system_error(ec, what_arg)\r
+    {\r
+      try\r
+      {\r
+        m_imp_ptr.reset( new m_imp );\r
+        m_imp_ptr->m_path1 = path1_arg;\r
+      }\r
+      catch (...) { m_imp_ptr.reset(); }\r
+    }\r
+\r
+    template<class Path>\r
+    basic_filesystem_error<Path>::basic_filesystem_error(\r
+      const std::string & what_arg, const path_type & path1_arg,\r
+      const path_type & path2_arg, system::error_code ec )\r
+      : system::system_error(ec, what_arg)\r
+    {\r
+      try\r
+      {\r
+        m_imp_ptr.reset( new m_imp );\r
+        m_imp_ptr->m_path1 = path1_arg;\r
+        m_imp_ptr->m_path2 = path2_arg;\r
+      }\r
+      catch (...) { m_imp_ptr.reset(); }\r
+    }\r
+\r
+  } // namespace BOOST_FILESYSTEM_NAMESPACE\r
+} // namespace boost\r
+\r
+#include <boost/config/abi_suffix.hpp> // pops abi_prefix.hpp pragmas\r
+\r
+#endif // BOOST_FILESYSTEM_PATH_HPP\r
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 (file)
index 0000000..944ff83
--- /dev/null
@@ -0,0 +1,66 @@
+// Boost.Function library\r
+\r
+//  Copyright Douglas Gregor 2001-2003. Use, modification and\r
+//  distribution is subject to the Boost Software License, Version\r
+//  1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+// For more information, see http://www.boost.org/libs/function\r
+\r
+// William Kempf, Jesse Jones and Karl Nelson were all very helpful in the\r
+// design of this library.\r
+\r
+#include <functional> // unary_function, binary_function\r
+\r
+#include <boost/preprocessor/iterate.hpp>\r
+#include <boost/detail/workaround.hpp>\r
+\r
+#ifndef BOOST_FUNCTION_MAX_ARGS\r
+#  define BOOST_FUNCTION_MAX_ARGS 10\r
+#endif // BOOST_FUNCTION_MAX_ARGS\r
+\r
+// Include the prologue here so that the use of file-level iteration\r
+// in anything that may be included by function_template.hpp doesn't break\r
+#include <boost/function/detail/prologue.hpp>\r
+\r
+// Visual Age C++ doesn't handle the file iteration well\r
+#if BOOST_WORKAROUND(__IBMCPP__, >= 500)\r
+#  if BOOST_FUNCTION_MAX_ARGS >= 0\r
+#    include <boost/function/function0.hpp>\r
+#  endif\r
+#  if BOOST_FUNCTION_MAX_ARGS >= 1\r
+#    include <boost/function/function1.hpp>\r
+#  endif\r
+#  if BOOST_FUNCTION_MAX_ARGS >= 2\r
+#    include <boost/function/function2.hpp>\r
+#  endif\r
+#  if BOOST_FUNCTION_MAX_ARGS >= 3\r
+#    include <boost/function/function3.hpp>\r
+#  endif\r
+#  if BOOST_FUNCTION_MAX_ARGS >= 4\r
+#    include <boost/function/function4.hpp>\r
+#  endif\r
+#  if BOOST_FUNCTION_MAX_ARGS >= 5\r
+#    include <boost/function/function5.hpp>\r
+#  endif\r
+#  if BOOST_FUNCTION_MAX_ARGS >= 6\r
+#    include <boost/function/function6.hpp>\r
+#  endif\r
+#  if BOOST_FUNCTION_MAX_ARGS >= 7\r
+#    include <boost/function/function7.hpp>\r
+#  endif\r
+#  if BOOST_FUNCTION_MAX_ARGS >= 8\r
+#    include <boost/function/function8.hpp>\r
+#  endif\r
+#  if BOOST_FUNCTION_MAX_ARGS >= 9\r
+#    include <boost/function/function9.hpp>\r
+#  endif\r
+#  if BOOST_FUNCTION_MAX_ARGS >= 10\r
+#    include <boost/function/function10.hpp>\r
+#  endif\r
+#else\r
+// What is the '3' for?\r
+#  define BOOST_PP_ITERATION_PARAMS_1 (3,(0,BOOST_FUNCTION_MAX_ARGS,<boost/function/detail/function_iterate.hpp>))\r
+#  include BOOST_PP_ITERATE()\r
+#  undef BOOST_PP_ITERATION_PARAMS_1\r
+#endif\r
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 (file)
index 0000000..d068cb7
--- /dev/null
@@ -0,0 +1,16 @@
+// Boost.Function library\r
+\r
+//  Copyright Douglas Gregor 2003. Use, modification and\r
+//  distribution is subject to the Boost Software License, Version\r
+//  1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+// For more information, see http://www.boost.org\r
+#if !defined(BOOST_PP_IS_ITERATING)\r
+# error Boost.Function - do not include this file!\r
+#endif\r
+\r
+#define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()\r
+#include <boost/function/detail/maybe_include.hpp>\r
+#undef BOOST_FUNCTION_NUM_ARGS\r
+\r
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 (file)
index 0000000..1bfaab7
--- /dev/null
@@ -0,0 +1,37 @@
+#!/usr/bin/perl -w\r
+#\r
+# Boost.Function library\r
+#\r
+# Copyright (C) 2001-2003 Douglas Gregor (gregod@cs.rpi.edu)\r
+#\r
+# Permission to copy, use, sell and distribute this software is granted\r
+# provided this copyright notice appears in all copies.\r
+# Permission to modify the code and to distribute modified code is granted\r
+# provided this copyright notice appears in all copies, and a notice\r
+# that the code was modified is included with the copyright notice.\r
+#\r
+# This software is provided "as is" without express or implied warranty,\r
+# and with no claim as to its suitability for any purpose.\r
+#\r
+# For more information, see http://www.boost.org\r
+use English;\r
+\r
+$max_args = $ARGV[0];\r
+\r
+open (OUT, ">maybe_include.hpp") or die("Cannot write to maybe_include.hpp");\r
+for($on_arg = 0; $on_arg <= $max_args; ++$on_arg) {\r
+    if ($on_arg == 0) {\r
+       print OUT "#if";\r
+    }\r
+    else {\r
+       print OUT "#elif";\r
+    }\r
+    print OUT " BOOST_FUNCTION_NUM_ARGS == $on_arg\n";\r
+    print OUT "#  ifndef BOOST_FUNCTION_$on_arg\n";\r
+    print OUT "#    define BOOST_FUNCTION_$on_arg\n";\r
+    print OUT "#    include <boost/function/function_template.hpp>\n";\r
+    print OUT "#  endif\n";\r
+}\r
+print OUT "#else\n";\r
+print OUT "#  error Cannot handle Boost.Function objects that accept more than $max_args arguments!\n";\r
+print OUT "#endif\n";\r
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 (file)
index 0000000..10beac8
--- /dev/null
@@ -0,0 +1,267 @@
+// Boost.Function library\r
+\r
+//  Copyright Douglas Gregor 2003. Use, modification and\r
+//  distribution is subject to the Boost Software License, Version\r
+//  1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+// For more information, see http://www.boost.org\r
+\r
+#if BOOST_FUNCTION_NUM_ARGS == 0\r
+#  ifndef BOOST_FUNCTION_0\r
+#    define BOOST_FUNCTION_0\r
+#    include <boost/function/function_template.hpp>\r
+#  endif\r
+#elif BOOST_FUNCTION_NUM_ARGS == 1\r
+#  ifndef BOOST_FUNCTION_1\r
+#    define BOOST_FUNCTION_1\r
+#    include <boost/function/function_template.hpp>\r
+#  endif\r
+#elif BOOST_FUNCTION_NUM_ARGS == 2\r
+#  ifndef BOOST_FUNCTION_2\r
+#    define BOOST_FUNCTION_2\r
+#    include <boost/function/function_template.hpp>\r
+#  endif\r
+#elif BOOST_FUNCTION_NUM_ARGS == 3\r
+#  ifndef BOOST_FUNCTION_3\r
+#    define BOOST_FUNCTION_3\r
+#    include <boost/function/function_template.hpp>\r
+#  endif\r
+#elif BOOST_FUNCTION_NUM_ARGS == 4\r
+#  ifndef BOOST_FUNCTION_4\r
+#    define BOOST_FUNCTION_4\r
+#    include <boost/function/function_template.hpp>\r
+#  endif\r
+#elif BOOST_FUNCTION_NUM_ARGS == 5\r
+#  ifndef BOOST_FUNCTION_5\r
+#    define BOOST_FUNCTION_5\r
+#    include <boost/function/function_template.hpp>\r
+#  endif\r
+#elif BOOST_FUNCTION_NUM_ARGS == 6\r
+#  ifndef BOOST_FUNCTION_6\r
+#    define BOOST_FUNCTION_6\r
+#    include <boost/function/function_template.hpp>\r
+#  endif\r
+#elif BOOST_FUNCTION_NUM_ARGS == 7\r
+#  ifndef BOOST_FUNCTION_7\r
+#    define BOOST_FUNCTION_7\r
+#    include <boost/function/function_template.hpp>\r
+#  endif\r
+#elif BOOST_FUNCTION_NUM_ARGS == 8\r
+#  ifndef BOOST_FUNCTION_8\r
+#    define BOOST_FUNCTION_8\r
+#    include <boost/function/function_template.hpp>\r
+#  endif\r
+#elif BOOST_FUNCTION_NUM_ARGS == 9\r
+#  ifndef BOOST_FUNCTION_9\r
+#    define BOOST_FUNCTION_9\r
+#    include <boost/function/function_template.hpp>\r
+#  endif\r
+#elif BOOST_FUNCTION_NUM_ARGS == 10\r
+#  ifndef BOOST_FUNCTION_10\r
+#    define BOOST_FUNCTION_10\r
+#    include <boost/function/function_template.hpp>\r
+#  endif\r
+#elif BOOST_FUNCTION_NUM_ARGS == 11\r
+#  ifndef BOOST_FUNCTION_11\r
+#    define BOOST_FUNCTION_11\r
+#    include <boost/function/function_template.hpp>\r
+#  endif\r
+#elif BOOST_FUNCTION_NUM_ARGS == 12\r
+#  ifndef BOOST_FUNCTION_12\r
+#    define BOOST_FUNCTION_12\r
+#    include <boost/function/function_template.hpp>\r
+#  endif\r
+#elif BOOST_FUNCTION_NUM_ARGS == 13\r
+#  ifndef BOOST_FUNCTION_13\r
+#    define BOOST_FUNCTION_13\r
+#    include <boost/function/function_template.hpp>\r
+#  endif\r
+#elif BOOST_FUNCTION_NUM_ARGS == 14\r
+#  ifndef BOOST_FUNCTION_14\r
+#    define BOOST_FUNCTION_14\r
+#    include <boost/function/function_template.hpp>\r
+#  endif\r
+#elif BOOST_FUNCTION_NUM_ARGS == 15\r
+#  ifndef BOOST_FUNCTION_15\r
+#    define BOOST_FUNCTION_15\r
+#    include <boost/function/function_template.hpp>\r
+#  endif\r
+#elif BOOST_FUNCTION_NUM_ARGS == 16\r
+#  ifndef BOOST_FUNCTION_16\r
+#    define BOOST_FUNCTION_16\r
+#    include <boost/function/function_template.hpp>\r
+#  endif\r
+#elif BOOST_FUNCTION_NUM_ARGS == 17\r
+#  ifndef BOOST_FUNCTION_17\r
+#    define BOOST_FUNCTION_17\r
+#    include <boost/function/function_template.hpp>\r
+#  endif\r
+#elif BOOST_FUNCTION_NUM_ARGS == 18\r
+#  ifndef BOOST_FUNCTION_18\r
+#    define BOOST_FUNCTION_18\r
+#    include <boost/function/function_template.hpp>\r
+#  endif\r
+#elif BOOST_FUNCTION_NUM_ARGS == 19\r
+#  ifndef BOOST_FUNCTION_19\r
+#    define BOOST_FUNCTION_19\r
+#    include <boost/function/function_template.hpp>\r
+#  endif\r
+#elif BOOST_FUNCTION_NUM_ARGS == 20\r
+#  ifndef BOOST_FUNCTION_20\r
+#    define BOOST_FUNCTION_20\r
+#    include <boost/function/function_template.hpp>\r
+#  endif\r
+#elif BOOST_FUNCTION_NUM_ARGS == 21\r
+#  ifndef BOOST_FUNCTION_21\r
+#    define BOOST_FUNCTION_21\r
+#    include <boost/function/function_template.hpp>\r
+#  endif\r
+#elif BOOST_FUNCTION_NUM_ARGS == 22\r
+#  ifndef BOOST_FUNCTION_22\r
+#    define BOOST_FUNCTION_22\r
+#    include <boost/function/function_template.hpp>\r
+#  endif\r
+#elif BOOST_FUNCTION_NUM_ARGS == 23\r
+#  ifndef BOOST_FUNCTION_23\r
+#    define BOOST_FUNCTION_23\r
+#    include <boost/function/function_template.hpp>\r
+#  endif\r
+#elif BOOST_FUNCTION_NUM_ARGS == 24\r
+#  ifndef BOOST_FUNCTION_24\r
+#    define BOOST_FUNCTION_24\r
+#    include <boost/function/function_template.hpp>\r
+#  endif\r
+#elif BOOST_FUNCTION_NUM_ARGS == 25\r
+#  ifndef BOOST_FUNCTION_25\r
+#    define BOOST_FUNCTION_25\r
+#    include <boost/function/function_template.hpp>\r
+#  endif\r
+#elif BOOST_FUNCTION_NUM_ARGS == 26\r
+#  ifndef BOOST_FUNCTION_26\r
+#    define BOOST_FUNCTION_26\r
+#    include <boost/function/function_template.hpp>\r
+#  endif\r
+#elif BOOST_FUNCTION_NUM_ARGS == 27\r
+#  ifndef BOOST_FUNCTION_27\r
+#    define BOOST_FUNCTION_27\r
+#    include <boost/function/function_template.hpp>\r
+#  endif\r
+#elif BOOST_FUNCTION_NUM_ARGS == 28\r
+#  ifndef BOOST_FUNCTION_28\r
+#    define BOOST_FUNCTION_28\r
+#    include <boost/function/function_template.hpp>\r
+#  endif\r
+#elif BOOST_FUNCTION_NUM_ARGS == 29\r
+#  ifndef BOOST_FUNCTION_29\r
+#    define BOOST_FUNCTION_29\r
+#    include <boost/function/function_template.hpp>\r
+#  endif\r
+#elif BOOST_FUNCTION_NUM_ARGS == 30\r
+#  ifndef BOOST_FUNCTION_30\r
+#    define BOOST_FUNCTION_30\r
+#    include <boost/function/function_template.hpp>\r
+#  endif\r
+#elif BOOST_FUNCTION_NUM_ARGS == 31\r
+#  ifndef BOOST_FUNCTION_31\r
+#    define BOOST_FUNCTION_31\r
+#    include <boost/function/function_template.hpp>\r
+#  endif\r
+#elif BOOST_FUNCTION_NUM_ARGS == 32\r
+#  ifndef BOOST_FUNCTION_32\r
+#    define BOOST_FUNCTION_32\r
+#    include <boost/function/function_template.hpp>\r
+#  endif\r
+#elif BOOST_FUNCTION_NUM_ARGS == 33\r
+#  ifndef BOOST_FUNCTION_33\r
+#    define BOOST_FUNCTION_33\r
+#    include <boost/function/function_template.hpp>\r
+#  endif\r
+#elif BOOST_FUNCTION_NUM_ARGS == 34\r
+#  ifndef BOOST_FUNCTION_34\r
+#    define BOOST_FUNCTION_34\r
+#    include <boost/function/function_template.hpp>\r
+#  endif\r
+#elif BOOST_FUNCTION_NUM_ARGS == 35\r
+#  ifndef BOOST_FUNCTION_35\r
+#    define BOOST_FUNCTION_35\r
+#    include <boost/function/function_template.hpp>\r
+#  endif\r
+#elif BOOST_FUNCTION_NUM_ARGS == 36\r
+#  ifndef BOOST_FUNCTION_36\r
+#    define BOOST_FUNCTION_36\r
+#    include <boost/function/function_template.hpp>\r
+#  endif\r
+#elif BOOST_FUNCTION_NUM_ARGS == 37\r
+#  ifndef BOOST_FUNCTION_37\r
+#    define BOOST_FUNCTION_37\r
+#    include <boost/function/function_template.hpp>\r
+#  endif\r
+#elif BOOST_FUNCTION_NUM_ARGS == 38\r
+#  ifndef BOOST_FUNCTION_38\r
+#    define BOOST_FUNCTION_38\r
+#    include <boost/function/function_template.hpp>\r
+#  endif\r
+#elif BOOST_FUNCTION_NUM_ARGS == 39\r
+#  ifndef BOOST_FUNCTION_39\r
+#    define BOOST_FUNCTION_39\r
+#    include <boost/function/function_template.hpp>\r
+#  endif\r
+#elif BOOST_FUNCTION_NUM_ARGS == 40\r
+#  ifndef BOOST_FUNCTION_40\r
+#    define BOOST_FUNCTION_40\r
+#    include <boost/function/function_template.hpp>\r
+#  endif\r
+#elif BOOST_FUNCTION_NUM_ARGS == 41\r
+#  ifndef BOOST_FUNCTION_41\r
+#    define BOOST_FUNCTION_41\r
+#    include <boost/function/function_template.hpp>\r
+#  endif\r
+#elif BOOST_FUNCTION_NUM_ARGS == 42\r
+#  ifndef BOOST_FUNCTION_42\r
+#    define BOOST_FUNCTION_42\r
+#    include <boost/function/function_template.hpp>\r
+#  endif\r
+#elif BOOST_FUNCTION_NUM_ARGS == 43\r
+#  ifndef BOOST_FUNCTION_43\r
+#    define BOOST_FUNCTION_43\r
+#    include <boost/function/function_template.hpp>\r
+#  endif\r
+#elif BOOST_FUNCTION_NUM_ARGS == 44\r
+#  ifndef BOOST_FUNCTION_44\r
+#    define BOOST_FUNCTION_44\r
+#    include <boost/function/function_template.hpp>\r
+#  endif\r
+#elif BOOST_FUNCTION_NUM_ARGS == 45\r
+#  ifndef BOOST_FUNCTION_45\r
+#    define BOOST_FUNCTION_45\r
+#    include <boost/function/function_template.hpp>\r
+#  endif\r
+#elif BOOST_FUNCTION_NUM_ARGS == 46\r
+#  ifndef BOOST_FUNCTION_46\r
+#    define BOOST_FUNCTION_46\r
+#    include <boost/function/function_template.hpp>\r
+#  endif\r
+#elif BOOST_FUNCTION_NUM_ARGS == 47\r
+#  ifndef BOOST_FUNCTION_47\r
+#    define BOOST_FUNCTION_47\r
+#    include <boost/function/function_template.hpp>\r
+#  endif\r
+#elif BOOST_FUNCTION_NUM_ARGS == 48\r
+#  ifndef BOOST_FUNCTION_48\r
+#    define BOOST_FUNCTION_48\r
+#    include <boost/function/function_template.hpp>\r
+#  endif\r
+#elif BOOST_FUNCTION_NUM_ARGS == 49\r
+#  ifndef BOOST_FUNCTION_49\r
+#    define BOOST_FUNCTION_49\r
+#    include <boost/function/function_template.hpp>\r
+#  endif\r
+#elif BOOST_FUNCTION_NUM_ARGS == 50\r
+#  ifndef BOOST_FUNCTION_50\r
+#    define BOOST_FUNCTION_50\r
+#    include <boost/function/function_template.hpp>\r
+#  endif\r
+#else\r
+#  error Cannot handle Boost.Function objects that accept more than 50 arguments!\r
+#endif\r
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 (file)
index 0000000..ba1ce88
--- /dev/null
@@ -0,0 +1,26 @@
+// Boost.Function library\r
+\r
+//  Copyright Douglas Gregor 2002-2003. Use, modification and\r
+//  distribution is subject to the Boost Software License, Version\r
+//  1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+// For more information, see http://www.boost.org\r
+\r
+#ifndef BOOST_FUNCTION_PROLOGUE_HPP\r
+#define BOOST_FUNCTION_PROLOGUE_HPP\r
+#  include <cassert>\r
+#  include <algorithm>\r
+#  include <boost/config/no_tr1/functional.hpp> // unary_function, binary_function\r
+#  include <boost/throw_exception.hpp>\r
+#  include <boost/config.hpp>\r
+#  include <boost/function/function_base.hpp>\r
+#  include <boost/mem_fn.hpp>\r
+#  include <boost/type_traits/is_integral.hpp>\r
+#  include <boost/preprocessor/enum.hpp>\r
+#  include <boost/preprocessor/enum_params.hpp>\r
+#  include <boost/preprocessor/cat.hpp>\r
+#  include <boost/preprocessor/repeat.hpp>\r
+#  include <boost/preprocessor/inc.hpp>\r
+#  include <boost/type_traits/is_void.hpp>\r
+#endif // BOOST_FUNCTION_PROLOGUE_HPP\r
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 (file)
index 0000000..e510889
--- /dev/null
@@ -0,0 +1,12 @@
+// Boost.Function library\r
+\r
+//  Copyright Douglas Gregor 2002-2003. Use, modification and\r
+//  distribution is subject to the Boost Software License, Version\r
+//  1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+// For more information, see http://www.boost.org\r
+\r
+#define BOOST_FUNCTION_NUM_ARGS 0\r
+#include <boost/function/detail/maybe_include.hpp>\r
+#undef BOOST_FUNCTION_NUM_ARGS\r
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 (file)
index 0000000..3109f50
--- /dev/null
@@ -0,0 +1,12 @@
+// Boost.Function library\r
+\r
+//  Copyright Douglas Gregor 2002-2003. Use, modification and\r
+//  distribution is subject to the Boost Software License, Version\r
+//  1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+// For more information, see http://www.boost.org\r
+\r
+#define BOOST_FUNCTION_NUM_ARGS 1\r
+#include <boost/function/detail/maybe_include.hpp>\r
+#undef BOOST_FUNCTION_NUM_ARGS\r
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 (file)
index 0000000..0818f67
--- /dev/null
@@ -0,0 +1,12 @@
+// Boost.Function library\r
+\r
+//  Copyright Douglas Gregor 2002-2003. Use, modification and\r
+//  distribution is subject to the Boost Software License, Version\r
+//  1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+// For more information, see http://www.boost.org\r
+\r
+#define BOOST_FUNCTION_NUM_ARGS 10\r
+#include <boost/function/detail/maybe_include.hpp>\r
+#undef BOOST_FUNCTION_NUM_ARGS\r
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 (file)
index 0000000..76e3b8c
--- /dev/null
@@ -0,0 +1,12 @@
+// Boost.Function library\r
+\r
+//  Copyright Douglas Gregor 2002-2003. Use, modification and\r
+//  distribution is subject to the Boost Software License, Version\r
+//  1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+// For more information, see http://www.boost.org\r
+\r
+#define BOOST_FUNCTION_NUM_ARGS 2\r
+#include <boost/function/detail/maybe_include.hpp>\r
+#undef BOOST_FUNCTION_NUM_ARGS\r
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 (file)
index 0000000..dd4f8cf
--- /dev/null
@@ -0,0 +1,12 @@
+// Boost.Function library\r
+\r
+//  Copyright Douglas Gregor 2002-2003. Use, modification and\r
+//  distribution is subject to the Boost Software License, Version\r
+//  1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+// For more information, see http://www.boost.org\r
+\r
+#define BOOST_FUNCTION_NUM_ARGS 3\r
+#include <boost/function/detail/maybe_include.hpp>\r
+#undef BOOST_FUNCTION_NUM_ARGS\r
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 (file)
index 0000000..32357e7
--- /dev/null
@@ -0,0 +1,12 @@
+// Boost.Function library\r
+\r
+//  Copyright Douglas Gregor 2002-2003. Use, modification and\r
+//  distribution is subject to the Boost Software License, Version\r
+//  1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+// For more information, see http://www.boost.org\r
+\r
+#define BOOST_FUNCTION_NUM_ARGS 4\r
+#include <boost/function/detail/maybe_include.hpp>\r
+#undef BOOST_FUNCTION_NUM_ARGS\r
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 (file)
index 0000000..72f1479
--- /dev/null
@@ -0,0 +1,12 @@
+// Boost.Function library\r
+\r
+//  Copyright Douglas Gregor 2002-2003. Use, modification and\r
+//  distribution is subject to the Boost Software License, Version\r
+//  1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+// For more information, see http://www.boost.org\r
+\r
+#define BOOST_FUNCTION_NUM_ARGS 5\r
+#include <boost/function/detail/maybe_include.hpp>\r
+#undef BOOST_FUNCTION_NUM_ARGS\r
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 (file)
index 0000000..1f82528
--- /dev/null
@@ -0,0 +1,12 @@
+// Boost.Function library\r
+\r
+//  Copyright Douglas Gregor 2002-2003. Use, modification and\r
+//  distribution is subject to the Boost Software License, Version\r
+//  1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+// For more information, see http://www.boost.org\r
+\r
+#define BOOST_FUNCTION_NUM_ARGS 6\r
+#include <boost/function/detail/maybe_include.hpp>\r
+#undef BOOST_FUNCTION_NUM_ARGS\r
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 (file)
index 0000000..bf827b3
--- /dev/null
@@ -0,0 +1,12 @@
+// Boost.Function library\r
+\r
+//  Copyright Douglas Gregor 2002-2003. Use, modification and\r
+//  distribution is subject to the Boost Software License, Version\r
+//  1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+// For more information, see http://www.boost.org\r
+\r
+#define BOOST_FUNCTION_NUM_ARGS 7\r
+#include <boost/function/detail/maybe_include.hpp>\r
+#undef BOOST_FUNCTION_NUM_ARGS\r
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 (file)
index 0000000..4511bc4
--- /dev/null
@@ -0,0 +1,12 @@
+// Boost.Function library\r
+\r
+//  Copyright Douglas Gregor 2002-2003. Use, modification and\r
+//  distribution is subject to the Boost Software License, Version\r
+//  1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+// For more information, see http://www.boost.org\r
+\r
+#define BOOST_FUNCTION_NUM_ARGS 8\r
+#include <boost/function/detail/maybe_include.hpp>\r
+#undef BOOST_FUNCTION_NUM_ARGS\r
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 (file)
index 0000000..05725d5
--- /dev/null
@@ -0,0 +1,12 @@
+// Boost.Function library\r
+\r
+//  Copyright Douglas Gregor 2002-2003. Use, modification and\r
+//  distribution is subject to the Boost Software License, Version\r
+//  1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+// For more information, see http://www.boost.org\r
+\r
+#define BOOST_FUNCTION_NUM_ARGS 9\r
+#include <boost/function/detail/maybe_include.hpp>\r
+#undef BOOST_FUNCTION_NUM_ARGS\r
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 (file)
index 0000000..d528ea2
--- /dev/null
@@ -0,0 +1,904 @@
+// Boost.Function library\r
+\r
+//  Copyright Douglas Gregor 2001-2006\r
+//  Copyright Emil Dotchevski 2007\r
+//  Use, modification and distribution is subject to the Boost Software License, Version 1.0.\r
+//  (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+// For more information, see http://www.boost.org\r
+\r
+#ifndef BOOST_FUNCTION_BASE_HEADER\r
+#define BOOST_FUNCTION_BASE_HEADER\r
+\r
+#include <stdexcept>\r
+#include <string>\r
+#include <memory>\r
+#include <new>\r
+#include <boost/config.hpp>\r
+#include <boost/detail/sp_typeinfo.hpp>\r
+#include <boost/assert.hpp>\r
+#include <boost/integer.hpp>\r
+#include <boost/type_traits/has_trivial_copy.hpp>\r
+#include <boost/type_traits/has_trivial_destructor.hpp>\r
+#include <boost/type_traits/is_const.hpp>\r
+#include <boost/type_traits/is_integral.hpp>\r
+#include <boost/type_traits/is_volatile.hpp>\r
+#include <boost/type_traits/composite_traits.hpp>\r
+#include <boost/type_traits/ice.hpp>\r
+#include <boost/ref.hpp>\r
+#include <boost/mpl/if.hpp>\r
+#include <boost/detail/workaround.hpp>\r
+#include <boost/type_traits/alignment_of.hpp>\r
+#ifndef BOOST_NO_SFINAE\r
+#  include "boost/utility/enable_if.hpp"\r
+#else\r
+#  include "boost/mpl/bool.hpp"\r
+#endif\r
+#include <boost/function_equal.hpp>\r
+#include <boost/function/function_fwd.hpp>\r
+\r
+#if defined(BOOST_MSVC)\r
+#   pragma warning( push )\r
+#   pragma warning( disable : 4793 ) // complaint about native code generation\r
+#   pragma warning( disable : 4127 ) // "conditional expression is constant"\r
+#endif       \r
+\r
+// Define BOOST_FUNCTION_STD_NS to the namespace that contains type_info.\r
+#ifdef BOOST_NO_STD_TYPEINFO\r
+// Embedded VC++ does not have type_info in namespace std\r
+#  define BOOST_FUNCTION_STD_NS\r
+#else\r
+#  define BOOST_FUNCTION_STD_NS std\r
+#endif\r
+\r
+// Borrowed from Boost.Python library: determines the cases where we\r
+// need to use std::type_info::name to compare instead of operator==.\r
+#if defined( BOOST_NO_TYPEID )\r
+#  define BOOST_FUNCTION_COMPARE_TYPE_ID(X,Y) ((X)==(Y))\r
+#elif (defined(__GNUC__) && __GNUC__ >= 3) \\r
+ || defined(_AIX) \\r
+ || (   defined(__sgi) && defined(__host_mips))\r
+#  include <cstring>\r
+#  define BOOST_FUNCTION_COMPARE_TYPE_ID(X,Y) \\r
+     (std::strcmp((X).name(),(Y).name()) == 0)\r
+# else\r
+#  define BOOST_FUNCTION_COMPARE_TYPE_ID(X,Y) ((X)==(Y))\r
+#endif\r
+\r
+#if defined(BOOST_MSVC) && BOOST_MSVC <= 1300 || defined(__ICL) && __ICL <= 600 || defined(__MWERKS__) && __MWERKS__ < 0x2406 && !defined(BOOST_STRICT_CONFIG)\r
+#  define BOOST_FUNCTION_TARGET_FIX(x) x\r
+#else\r
+#  define BOOST_FUNCTION_TARGET_FIX(x)\r
+#endif // not MSVC\r
+\r
+#if !BOOST_WORKAROUND(__BORLANDC__, < 0x5A0)\r
+#  define BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor,Type)              \\r
+      typename ::boost::enable_if_c<(::boost::type_traits::ice_not<          \\r
+                            (::boost::is_integral<Functor>::value)>::value), \\r
+                           Type>::type\r
+#else\r
+// BCC doesn't recognize this depends on a template argument and complains\r
+// about the use of 'typename'\r
+#  define BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor,Type)     \\r
+      ::boost::enable_if_c<(::boost::type_traits::ice_not<          \\r
+                   (::boost::is_integral<Functor>::value)>::value), \\r
+                       Type>::type\r
+#endif\r
+\r
+namespace boost {\r
+  namespace detail {\r
+    namespace function {\r
+      class X;\r
+\r
+      /**\r
+       * A buffer used to store small function objects in\r
+       * boost::function. It is a union containing function pointers,\r
+       * object pointers, and a structure that resembles a bound\r
+       * member function pointer.\r
+       */\r
+      union function_buffer\r
+      {\r
+        // For pointers to function objects\r
+        mutable void* obj_ptr;\r
+\r
+        // For pointers to std::type_info objects\r
+        struct type_t {\r
+          // (get_functor_type_tag, check_functor_type_tag).\r
+          const detail::sp_typeinfo* type;\r
+\r
+          // Whether the type is const-qualified.\r
+          bool const_qualified;\r
+          // Whether the type is volatile-qualified.\r
+          bool volatile_qualified;\r
+        } type;\r
+\r
+        // For function pointers of all kinds\r
+        mutable void (*func_ptr)();\r
+\r
+        // For bound member pointers\r
+        struct bound_memfunc_ptr_t {\r
+          void (X::*memfunc_ptr)(int);\r
+          void* obj_ptr;\r
+        } bound_memfunc_ptr;\r
+\r
+        // For references to function objects. We explicitly keep\r
+        // track of the cv-qualifiers on the object referenced.\r
+        struct obj_ref_t {\r
+          mutable void* obj_ptr;\r
+          bool is_const_qualified;\r
+          bool is_volatile_qualified;\r
+        } obj_ref;\r
+\r
+        // To relax aliasing constraints\r
+        mutable char data;\r
+      };\r
+\r
+      /**\r
+       * The unusable class is a placeholder for unused function arguments\r
+       * It is also completely unusable except that it constructable from\r
+       * anything. This helps compilers without partial specialization to\r
+       * handle Boost.Function objects returning void.\r
+       */\r
+      struct unusable\r
+      {\r
+        unusable() {}\r
+        template<typename T> unusable(const T&) {}\r
+      };\r
+\r
+      /* Determine the return type. This supports compilers that do not support\r
+       * void returns or partial specialization by silently changing the return\r
+       * type to "unusable".\r
+       */\r
+      template<typename T> struct function_return_type { typedef T type; };\r
+\r
+      template<>\r
+      struct function_return_type<void>\r
+      {\r
+        typedef unusable type;\r
+      };\r
+\r
+      // The operation type to perform on the given functor/function pointer\r
+      enum functor_manager_operation_type {\r
+        clone_functor_tag,\r
+        move_functor_tag,\r
+        destroy_functor_tag,\r
+        check_functor_type_tag,\r
+        get_functor_type_tag\r
+      };\r
+\r
+      // Tags used to decide between different types of functions\r
+      struct function_ptr_tag {};\r
+      struct function_obj_tag {};\r
+      struct member_ptr_tag {};\r
+      struct function_obj_ref_tag {};\r
+\r
+      template<typename F>\r
+      class get_function_tag\r
+      {\r
+        typedef typename mpl::if_c<(is_pointer<F>::value),\r
+                                   function_ptr_tag,\r
+                                   function_obj_tag>::type ptr_or_obj_tag;\r
+\r
+        typedef typename mpl::if_c<(is_member_pointer<F>::value),\r
+                                   member_ptr_tag,\r
+                                   ptr_or_obj_tag>::type ptr_or_obj_or_mem_tag;\r
+\r
+        typedef typename mpl::if_c<(is_reference_wrapper<F>::value),\r
+                                   function_obj_ref_tag,\r
+                                   ptr_or_obj_or_mem_tag>::type or_ref_tag;\r
+\r
+      public:\r
+        typedef or_ref_tag type;\r
+      };\r
+\r
+      // The trivial manager does nothing but return the same pointer (if we\r
+      // are cloning) or return the null pointer (if we are deleting).\r
+      template<typename F>\r
+      struct reference_manager\r
+      {\r
+        static inline void\r
+        manage(const function_buffer& in_buffer, function_buffer& out_buffer, \r
+               functor_manager_operation_type op)\r
+        {\r
+          switch (op) {\r
+          case clone_functor_tag: \r
+            out_buffer.obj_ref.obj_ptr = in_buffer.obj_ref.obj_ptr;\r
+            return;\r
+\r
+          case move_functor_tag:\r
+            out_buffer.obj_ref.obj_ptr = in_buffer.obj_ref.obj_ptr;\r
+            in_buffer.obj_ref.obj_ptr = 0;\r
+            return;\r
+\r
+          case destroy_functor_tag:\r
+            out_buffer.obj_ref.obj_ptr = 0;\r
+            return;\r
+\r
+          case check_functor_type_tag:\r
+            {\r
+              const detail::sp_typeinfo& check_type \r
+                = *out_buffer.type.type;\r
+\r
+              // Check whether we have the same type. We can add\r
+              // cv-qualifiers, but we can't take them away.\r
+              if (BOOST_FUNCTION_COMPARE_TYPE_ID(check_type, BOOST_SP_TYPEID(F))\r
+                  && (!in_buffer.obj_ref.is_const_qualified \r
+                      || out_buffer.type.const_qualified)\r
+                  && (!in_buffer.obj_ref.is_volatile_qualified\r
+                      || out_buffer.type.volatile_qualified))\r
+                out_buffer.obj_ptr = in_buffer.obj_ref.obj_ptr;\r
+              else\r
+                out_buffer.obj_ptr = 0;\r
+            }\r
+            return;\r
+\r
+          case get_functor_type_tag:\r
+            out_buffer.type.type = &BOOST_SP_TYPEID(F);\r
+            out_buffer.type.const_qualified = in_buffer.obj_ref.is_const_qualified;\r
+            out_buffer.type.volatile_qualified = in_buffer.obj_ref.is_volatile_qualified;\r
+            return;\r
+          }\r
+        }\r
+      };\r
+\r
+      /**\r
+       * Determine if boost::function can use the small-object\r
+       * optimization with the function object type F.\r
+       */\r
+      template<typename F>\r
+      struct function_allows_small_object_optimization\r
+      {\r
+        BOOST_STATIC_CONSTANT\r
+          (bool, \r
+           value = ((sizeof(F) <= sizeof(function_buffer) &&\r
+                     (alignment_of<function_buffer>::value \r
+                      % alignment_of<F>::value == 0))));\r
+      };\r
+\r
+      template <typename F,typename A>\r
+      struct functor_wrapper: public F, public A\r
+      {\r
+        functor_wrapper( F f, A a ):\r
+          F(f),\r
+          A(a)\r
+        {\r
+        }\r
+       \r
+       functor_wrapper(const functor_wrapper& f) :\r
+          F(static_cast<const F&>(f)),\r
+          A(static_cast<const A&>(f))\r
+       {\r
+       }\r
+      };\r
+\r
+      /**\r
+       * The functor_manager class contains a static function "manage" which\r
+       * can clone or destroy the given function/function object pointer.\r
+       */\r
+      template<typename Functor>\r
+      struct functor_manager_common\r
+      {\r
+        typedef Functor functor_type;\r
+\r
+        // Function pointers\r
+        static inline void\r
+        manage_ptr(const function_buffer& in_buffer, function_buffer& out_buffer, \r
+                functor_manager_operation_type op)\r
+        {\r
+          if (op == clone_functor_tag)\r
+            out_buffer.func_ptr = in_buffer.func_ptr;\r
+          else if (op == move_functor_tag) {\r
+            out_buffer.func_ptr = in_buffer.func_ptr;\r
+            in_buffer.func_ptr = 0;\r
+          } else if (op == destroy_functor_tag)\r
+            out_buffer.func_ptr = 0;\r
+          else if (op == check_functor_type_tag) {\r
+            const detail::sp_typeinfo& check_type \r
+              = *out_buffer.type.type;\r
+            if (BOOST_FUNCTION_COMPARE_TYPE_ID(check_type, BOOST_SP_TYPEID(Functor)))\r
+              out_buffer.obj_ptr = &in_buffer.func_ptr;\r
+            else\r
+              out_buffer.obj_ptr = 0;\r
+          } else /* op == get_functor_type_tag */ {\r
+            out_buffer.type.type = &BOOST_SP_TYPEID(Functor);\r
+            out_buffer.type.const_qualified = false;\r
+            out_buffer.type.volatile_qualified = false;\r
+          }\r
+        }\r
+\r
+        // Function objects that fit in the small-object buffer.\r
+        static inline void\r
+        manage_small(const function_buffer& in_buffer, function_buffer& out_buffer, \r
+                functor_manager_operation_type op)\r
+        {\r
+          if (op == clone_functor_tag || op == move_functor_tag) {\r
+            const functor_type* in_functor = \r
+              reinterpret_cast<const functor_type*>(&in_buffer.data);\r
+            new ((void*)&out_buffer.data) functor_type(*in_functor);\r
+\r
+            if (op == move_functor_tag) {\r
+              reinterpret_cast<functor_type*>(&in_buffer.data)->~Functor();\r
+            }\r
+          } else if (op == destroy_functor_tag) {\r
+            // Some compilers (Borland, vc6, ...) are unhappy with ~functor_type.\r
+            reinterpret_cast<functor_type*>(&out_buffer.data)->~Functor();\r
+          } else if (op == check_functor_type_tag) {\r
+            const detail::sp_typeinfo& check_type \r
+              = *out_buffer.type.type;\r
+            if (BOOST_FUNCTION_COMPARE_TYPE_ID(check_type, BOOST_SP_TYPEID(Functor)))\r
+              out_buffer.obj_ptr = &in_buffer.data;\r
+            else\r
+              out_buffer.obj_ptr = 0;\r
+          } else /* op == get_functor_type_tag */ {\r
+            out_buffer.type.type = &BOOST_SP_TYPEID(Functor);\r
+            out_buffer.type.const_qualified = false;\r
+            out_buffer.type.volatile_qualified = false;            \r
+          }\r
+        }\r
+      };\r
+\r
+      template<typename Functor>\r
+      struct functor_manager\r
+      {\r
+      private:\r
+        typedef Functor functor_type;\r
+\r
+        // Function pointers\r
+        static inline void\r
+        manager(const function_buffer& in_buffer, function_buffer& out_buffer, \r
+                functor_manager_operation_type op, function_ptr_tag)\r
+        {\r
+          functor_manager_common<Functor>::manage_ptr(in_buffer,out_buffer,op);\r
+        }\r
+\r
+        // Function objects that fit in the small-object buffer.\r
+        static inline void\r
+        manager(const function_buffer& in_buffer, function_buffer& out_buffer, \r
+                functor_manager_operation_type op, mpl::true_)\r
+        {\r
+          functor_manager_common<Functor>::manage_small(in_buffer,out_buffer,op);\r
+        }\r
+        \r
+        // Function objects that require heap allocation\r
+        static inline void\r
+        manager(const function_buffer& in_buffer, function_buffer& out_buffer, \r
+                functor_manager_operation_type op, mpl::false_)\r
+        {\r
+          if (op == clone_functor_tag) {\r
+            // Clone the functor\r
+            // GCC 2.95.3 gets the CV qualifiers wrong here, so we\r
+            // can't do the static_cast that we should do.\r
+            const functor_type* f =\r
+              (const functor_type*)(in_buffer.obj_ptr);\r
+            functor_type* new_f = new functor_type(*f);\r
+            out_buffer.obj_ptr = new_f;\r
+          } else if (op == move_functor_tag) {\r
+            out_buffer.obj_ptr = in_buffer.obj_ptr;\r
+            in_buffer.obj_ptr = 0;\r
+          } else if (op == destroy_functor_tag) {\r
+            /* Cast from the void pointer to the functor pointer type */\r
+            functor_type* f =\r
+              static_cast<functor_type*>(out_buffer.obj_ptr);\r
+            delete f;\r
+            out_buffer.obj_ptr = 0;\r
+          } else if (op == check_functor_type_tag) {\r
+            const detail::sp_typeinfo& check_type\r
+              = *out_buffer.type.type;\r
+            if (BOOST_FUNCTION_COMPARE_TYPE_ID(check_type, BOOST_SP_TYPEID(Functor)))\r
+              out_buffer.obj_ptr = in_buffer.obj_ptr;\r
+            else\r
+              out_buffer.obj_ptr = 0;\r
+          } else /* op == get_functor_type_tag */ {\r
+            out_buffer.type.type = &BOOST_SP_TYPEID(Functor);\r
+            out_buffer.type.const_qualified = false;\r
+            out_buffer.type.volatile_qualified = false;\r
+          }\r
+        }\r
+\r
+        // For function objects, we determine whether the function\r
+        // object can use the small-object optimization buffer or\r
+        // whether we need to allocate it on the heap.\r
+        static inline void\r
+        manager(const function_buffer& in_buffer, function_buffer& out_buffer, \r
+                functor_manager_operation_type op, function_obj_tag)\r
+        {\r
+          manager(in_buffer, out_buffer, op,\r
+                  mpl::bool_<(function_allows_small_object_optimization<functor_type>::value)>());\r
+        }\r
+\r
+        // For member pointers, we use the small-object optimization buffer.\r
+        static inline void\r
+        manager(const function_buffer& in_buffer, function_buffer& out_buffer, \r
+                functor_manager_operation_type op, member_ptr_tag)\r
+        {\r
+          manager(in_buffer, out_buffer, op, mpl::true_());\r
+        }\r
+\r
+      public:\r
+        /* Dispatch to an appropriate manager based on whether we have a\r
+           function pointer or a function object pointer. */\r
+        static inline void\r
+        manage(const function_buffer& in_buffer, function_buffer& out_buffer, \r
+               functor_manager_operation_type op)\r
+        {\r
+          typedef typename get_function_tag<functor_type>::type tag_type;\r
+          switch (op) {\r
+          case get_functor_type_tag:\r
+            out_buffer.type.type = &BOOST_SP_TYPEID(functor_type);\r
+            out_buffer.type.const_qualified = false;\r
+            out_buffer.type.volatile_qualified = false;\r
+            return;\r
+\r
+          default:\r
+            manager(in_buffer, out_buffer, op, tag_type());\r
+            return;\r
+          }\r
+        }\r
+      };\r
+\r
+      template<typename Functor, typename Allocator>\r
+      struct functor_manager_a\r
+      {\r
+      private:\r
+        typedef Functor functor_type;\r
+\r
+        // Function pointers\r
+        static inline void\r
+        manager(const function_buffer& in_buffer, function_buffer& out_buffer, \r
+                functor_manager_operation_type op, function_ptr_tag)\r
+        {\r
+          functor_manager_common<Functor>::manage_ptr(in_buffer,out_buffer,op);\r
+        }\r
+\r
+        // Function objects that fit in the small-object buffer.\r
+        static inline void\r
+        manager(const function_buffer& in_buffer, function_buffer& out_buffer, \r
+                functor_manager_operation_type op, mpl::true_)\r
+        {\r
+          functor_manager_common<Functor>::manage_small(in_buffer,out_buffer,op);\r
+        }\r
+        \r
+        // Function objects that require heap allocation\r
+        static inline void\r
+        manager(const function_buffer& in_buffer, function_buffer& out_buffer, \r
+                functor_manager_operation_type op, mpl::false_)\r
+        {\r
+          typedef functor_wrapper<Functor,Allocator> functor_wrapper_type;\r
+          typedef typename Allocator::template rebind<functor_wrapper_type>::other\r
+            wrapper_allocator_type;\r
+          typedef typename wrapper_allocator_type::pointer wrapper_allocator_pointer_type;\r
+\r
+          if (op == clone_functor_tag) {\r
+            // Clone the functor\r
+            // GCC 2.95.3 gets the CV qualifiers wrong here, so we\r
+            // can't do the static_cast that we should do.\r
+            const functor_wrapper_type* f =\r
+              (const functor_wrapper_type*)(in_buffer.obj_ptr);\r
+            wrapper_allocator_type wrapper_allocator(static_cast<Allocator const &>(*f));\r
+            wrapper_allocator_pointer_type copy = wrapper_allocator.allocate(1);\r
+            wrapper_allocator.construct(copy, *f);\r
+\r
+            // Get back to the original pointer type\r
+            functor_wrapper_type* new_f = static_cast<functor_wrapper_type*>(copy);\r
+            out_buffer.obj_ptr = new_f;\r
+          } else if (op == move_functor_tag) {\r
+            out_buffer.obj_ptr = in_buffer.obj_ptr;\r
+            in_buffer.obj_ptr = 0;\r
+          } else if (op == destroy_functor_tag) {\r
+            /* Cast from the void pointer to the functor_wrapper_type */\r
+            functor_wrapper_type* victim =\r
+              static_cast<functor_wrapper_type*>(in_buffer.obj_ptr);\r
+            wrapper_allocator_type wrapper_allocator(static_cast<Allocator const &>(*victim));\r
+            wrapper_allocator.destroy(victim);\r
+            wrapper_allocator.deallocate(victim,1);\r
+            out_buffer.obj_ptr = 0;\r
+          } else if (op == check_functor_type_tag) {\r
+            const detail::sp_typeinfo& check_type \r
+              = *out_buffer.type.type;\r
+            if (BOOST_FUNCTION_COMPARE_TYPE_ID(check_type, BOOST_SP_TYPEID(Functor)))\r
+              out_buffer.obj_ptr = in_buffer.obj_ptr;\r
+            else\r
+              out_buffer.obj_ptr = 0;\r
+          } else /* op == get_functor_type_tag */ {\r
+            out_buffer.type.type = &BOOST_SP_TYPEID(Functor);\r
+            out_buffer.type.const_qualified = false;\r
+            out_buffer.type.volatile_qualified = false;\r
+          }\r
+        }\r
+\r
+        // For function objects, we determine whether the function\r
+        // object can use the small-object optimization buffer or\r
+        // whether we need to allocate it on the heap.\r
+        static inline void\r
+        manager(const function_buffer& in_buffer, function_buffer& out_buffer, \r
+                functor_manager_operation_type op, function_obj_tag)\r
+        {\r
+          manager(in_buffer, out_buffer, op,\r
+                  mpl::bool_<(function_allows_small_object_optimization<functor_type>::value)>());\r
+        }\r
+\r
+      public:\r
+        /* Dispatch to an appropriate manager based on whether we have a\r
+           function pointer or a function object pointer. */\r
+        static inline void\r
+        manage(const function_buffer& in_buffer, function_buffer& out_buffer, \r
+               functor_manager_operation_type op)\r
+        {\r
+          typedef typename get_function_tag<functor_type>::type tag_type;\r
+          switch (op) {\r
+          case get_functor_type_tag:\r
+            out_buffer.type.type = &BOOST_SP_TYPEID(functor_type);\r
+            out_buffer.type.const_qualified = false;\r
+            out_buffer.type.volatile_qualified = false;\r
+            return;\r
+\r
+          default:\r
+            manager(in_buffer, out_buffer, op, tag_type());\r
+            return;\r
+          }\r
+        }\r
+      };\r
+\r
+      // A type that is only used for comparisons against zero\r
+      struct useless_clear_type {};\r
+\r
+#ifdef BOOST_NO_SFINAE\r
+      // These routines perform comparisons between a Boost.Function\r
+      // object and an arbitrary function object (when the last\r
+      // parameter is mpl::bool_<false>) or against zero (when the\r
+      // last parameter is mpl::bool_<true>). They are only necessary\r
+      // for compilers that don't support SFINAE.\r
+      template<typename Function, typename Functor>\r
+        bool\r
+        compare_equal(const Function& f, const Functor&, int, mpl::bool_<true>)\r
+        { return f.empty(); }\r
+\r
+      template<typename Function, typename Functor>\r
+        bool\r
+        compare_not_equal(const Function& f, const Functor&, int,\r
+                          mpl::bool_<true>)\r
+        { return !f.empty(); }\r
+\r
+      template<typename Function, typename Functor>\r
+        bool\r
+        compare_equal(const Function& f, const Functor& g, long,\r
+                      mpl::bool_<false>)\r
+        {\r
+          if (const Functor* fp = f.template target<Functor>())\r
+            return function_equal(*fp, g);\r
+          else return false;\r
+        }\r
+\r
+      template<typename Function, typename Functor>\r
+        bool\r
+        compare_equal(const Function& f, const reference_wrapper<Functor>& g,\r
+                      int, mpl::bool_<false>)\r
+        {\r
+          if (const Functor* fp = f.template target<Functor>())\r
+            return fp == g.get_pointer();\r
+          else return false;\r
+        }\r
+\r
+      template<typename Function, typename Functor>\r
+        bool\r
+        compare_not_equal(const Function& f, const Functor& g, long,\r
+                          mpl::bool_<false>)\r
+        {\r
+          if (const Functor* fp = f.template target<Functor>())\r
+            return !function_equal(*fp, g);\r
+          else return true;\r
+        }\r
+\r
+      template<typename Function, typename Functor>\r
+        bool\r
+        compare_not_equal(const Function& f,\r
+                          const reference_wrapper<Functor>& g, int,\r
+                          mpl::bool_<false>)\r
+        {\r
+          if (const Functor* fp = f.template target<Functor>())\r
+            return fp != g.get_pointer();\r
+          else return true;\r
+        }\r
+#endif // BOOST_NO_SFINAE\r
+\r
+      /**\r
+       * Stores the "manager" portion of the vtable for a\r
+       * boost::function object.\r
+       */\r
+      struct vtable_base\r
+      {\r
+        void (*manager)(const function_buffer& in_buffer, \r
+                        function_buffer& out_buffer, \r
+                        functor_manager_operation_type op);\r
+      };\r
+    } // end namespace function\r
+  } // end namespace detail\r
+\r
+/**\r
+ * The function_base class contains the basic elements needed for the\r
+ * function1, function2, function3, etc. classes. It is common to all\r
+ * functions (and as such can be used to tell if we have one of the\r
+ * functionN objects).\r
+ */\r
+class function_base\r
+{\r
+public:\r
+  function_base() : vtable(0) { }\r
+\r
+  /** Determine if the function is empty (i.e., has no target). */\r
+  bool empty() const { return !vtable; }\r
+\r
+  /** Retrieve the type of the stored function object, or BOOST_SP_TYPEID(void)\r
+      if this is empty. */\r
+  const detail::sp_typeinfo& target_type() const\r
+  {\r
+    if (!vtable) return BOOST_SP_TYPEID(void);\r
+\r
+    detail::function::function_buffer type;\r
+    get_vtable()->manager(functor, type, detail::function::get_functor_type_tag);\r
+    return *type.type.type;\r
+  }\r
+\r
+  template<typename Functor>\r
+    Functor* target()\r
+    {\r
+      if (!vtable) return 0;\r
+\r
+      detail::function::function_buffer type_result;\r
+      type_result.type.type = &BOOST_SP_TYPEID(Functor);\r
+      type_result.type.const_qualified = is_const<Functor>::value;\r
+      type_result.type.volatile_qualified = is_volatile<Functor>::value;\r
+      get_vtable()->manager(functor, type_result, \r
+                      detail::function::check_functor_type_tag);\r
+      return static_cast<Functor*>(type_result.obj_ptr);\r
+    }\r
+\r
+  template<typename Functor>\r
+#if defined(BOOST_MSVC) && BOOST_WORKAROUND(BOOST_MSVC, < 1300)\r
+    const Functor* target( Functor * = 0 ) const\r
+#else\r
+    const Functor* target() const\r
+#endif\r
+    {\r
+      if (!vtable) return 0;\r
+\r
+      detail::function::function_buffer type_result;\r
+      type_result.type.type = &BOOST_SP_TYPEID(Functor);\r
+      type_result.type.const_qualified = true;\r
+      type_result.type.volatile_qualified = is_volatile<Functor>::value;\r
+      get_vtable()->manager(functor, type_result, \r
+                      detail::function::check_functor_type_tag);\r
+      // GCC 2.95.3 gets the CV qualifiers wrong here, so we\r
+      // can't do the static_cast that we should do.\r
+      return (const Functor*)(type_result.obj_ptr);\r
+    }\r
+\r
+  template<typename F>\r
+    bool contains(const F& f) const\r
+    {\r
+#if defined(BOOST_MSVC) && BOOST_WORKAROUND(BOOST_MSVC, < 1300)\r
+      if (const F* fp = this->target( (F*)0 ))\r
+#else\r
+      if (const F* fp = this->template target<F>())\r
+#endif\r
+      {\r
+        return function_equal(*fp, f);\r
+      } else {\r
+        return false;\r
+      }\r
+    }\r
+\r
+#if defined(__GNUC__) && __GNUC__ == 3 && __GNUC_MINOR__ <= 3\r
+  // GCC 3.3 and newer cannot copy with the global operator==, due to\r
+  // problems with instantiation of function return types before it\r
+  // has been verified that the argument types match up.\r
+  template<typename Functor>\r
+    BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor, bool)\r
+    operator==(Functor g) const\r
+    {\r
+      if (const Functor* fp = target<Functor>())\r
+        return function_equal(*fp, g);\r
+      else return false;\r
+    }\r
+\r
+  template<typename Functor>\r
+    BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor, bool)\r
+    operator!=(Functor g) const\r
+    {\r
+      if (const Functor* fp = target<Functor>())\r
+        return !function_equal(*fp, g);\r
+      else return true;\r
+    }\r
+#endif\r
+\r
+public: // should be protected, but GCC 2.95.3 will fail to allow access\r
+  detail::function::vtable_base* get_vtable() const {\r
+    return reinterpret_cast<detail::function::vtable_base*>(\r
+             reinterpret_cast<std::size_t>(vtable) & ~(std::size_t)0x01);\r
+  }\r
+\r
+  bool has_trivial_copy_and_destroy() const {\r
+    return reinterpret_cast<std::size_t>(vtable) & 0x01;\r
+  }\r
+\r
+  detail::function::vtable_base* vtable;\r
+  mutable detail::function::function_buffer functor;\r
+};\r
+\r
+/**\r
+ * The bad_function_call exception class is thrown when a boost::function\r
+ * object is invoked\r
+ */\r
+class bad_function_call : public std::runtime_error\r
+{\r
+public:\r
+  bad_function_call() : std::runtime_error("call to empty boost::function") {}\r
+};\r
+\r
+#ifndef BOOST_NO_SFINAE\r
+inline bool operator==(const function_base& f,\r
+                       detail::function::useless_clear_type*)\r
+{\r
+  return f.empty();\r
+}\r
+\r
+inline bool operator!=(const function_base& f,\r
+                       detail::function::useless_clear_type*)\r
+{\r
+  return !f.empty();\r
+}\r
+\r
+inline bool operator==(detail::function::useless_clear_type*,\r
+                       const function_base& f)\r
+{\r
+  return f.empty();\r
+}\r
+\r
+inline bool operator!=(detail::function::useless_clear_type*,\r
+                       const function_base& f)\r
+{\r
+  return !f.empty();\r
+}\r
+#endif\r
+\r
+#ifdef BOOST_NO_SFINAE\r
+// Comparisons between boost::function objects and arbitrary function objects\r
+template<typename Functor>\r
+  inline bool operator==(const function_base& f, Functor g)\r
+  {\r
+    typedef mpl::bool_<(is_integral<Functor>::value)> integral;\r
+    return detail::function::compare_equal(f, g, 0, integral());\r
+  }\r
+\r
+template<typename Functor>\r
+  inline bool operator==(Functor g, const function_base& f)\r
+  {\r
+    typedef mpl::bool_<(is_integral<Functor>::value)> integral;\r
+    return detail::function::compare_equal(f, g, 0, integral());\r
+  }\r
+\r
+template<typename Functor>\r
+  inline bool operator!=(const function_base& f, Functor g)\r
+  {\r
+    typedef mpl::bool_<(is_integral<Functor>::value)> integral;\r
+    return detail::function::compare_not_equal(f, g, 0, integral());\r
+  }\r
+\r
+template<typename Functor>\r
+  inline bool operator!=(Functor g, const function_base& f)\r
+  {\r
+    typedef mpl::bool_<(is_integral<Functor>::value)> integral;\r
+    return detail::function::compare_not_equal(f, g, 0, integral());\r
+  }\r
+#else\r
+\r
+#  if !(defined(__GNUC__) && __GNUC__ == 3 && __GNUC_MINOR__ <= 3)\r
+// Comparisons between boost::function objects and arbitrary function\r
+// objects. GCC 3.3 and before has an obnoxious bug that prevents this\r
+// from working.\r
+template<typename Functor>\r
+  BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor, bool)\r
+  operator==(const function_base& f, Functor g)\r
+  {\r
+    if (const Functor* fp = f.template target<Functor>())\r
+      return function_equal(*fp, g);\r
+    else return false;\r
+  }\r
+\r
+template<typename Functor>\r
+  BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor, bool)\r
+  operator==(Functor g, const function_base& f)\r
+  {\r
+    if (const Functor* fp = f.template target<Functor>())\r
+      return function_equal(g, *fp);\r
+    else return false;\r
+  }\r
+\r
+template<typename Functor>\r
+  BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor, bool)\r
+  operator!=(const function_base& f, Functor g)\r
+  {\r
+    if (const Functor* fp = f.template target<Functor>())\r
+      return !function_equal(*fp, g);\r
+    else return true;\r
+  }\r
+\r
+template<typename Functor>\r
+  BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor, bool)\r
+  operator!=(Functor g, const function_base& f)\r
+  {\r
+    if (const Functor* fp = f.template target<Functor>())\r
+      return !function_equal(g, *fp);\r
+    else return true;\r
+  }\r
+#  endif\r
+\r
+template<typename Functor>\r
+  BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor, bool)\r
+  operator==(const function_base& f, reference_wrapper<Functor> g)\r
+  {\r
+    if (const Functor* fp = f.template target<Functor>())\r
+      return fp == g.get_pointer();\r
+    else return false;\r
+  }\r
+\r
+template<typename Functor>\r
+  BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor, bool)\r
+  operator==(reference_wrapper<Functor> g, const function_base& f)\r
+  {\r
+    if (const Functor* fp = f.template target<Functor>())\r
+      return g.get_pointer() == fp;\r
+    else return false;\r
+  }\r
+\r
+template<typename Functor>\r
+  BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor, bool)\r
+  operator!=(const function_base& f, reference_wrapper<Functor> g)\r
+  {\r
+    if (const Functor* fp = f.template target<Functor>())\r
+      return fp != g.get_pointer();\r
+    else return true;\r
+  }\r
+\r
+template<typename Functor>\r
+  BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor, bool)\r
+  operator!=(reference_wrapper<Functor> g, const function_base& f)\r
+  {\r
+    if (const Functor* fp = f.template target<Functor>())\r
+      return g.get_pointer() != fp;\r
+    else return true;\r
+  }\r
+\r
+#endif // Compiler supporting SFINAE\r
+\r
+namespace detail {\r
+  namespace function {\r
+    inline bool has_empty_target(const function_base* f)\r
+    {\r
+      return f->empty();\r
+    }\r
+\r
+#if BOOST_WORKAROUND(BOOST_MSVC, <= 1310)\r
+    inline bool has_empty_target(const void*)\r
+    {\r
+      return false;\r
+    }\r
+#else\r
+    inline bool has_empty_target(...)\r
+    {\r
+      return false;\r
+    }\r
+#endif\r
+  } // end namespace function\r
+} // end namespace detail\r
+} // end namespace boost\r
+\r
+#undef BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL\r
+#undef BOOST_FUNCTION_COMPARE_TYPE_ID\r
+\r
+#if defined(BOOST_MSVC)\r
+#   pragma warning( pop )\r
+#endif       \r
+\r
+#endif // BOOST_FUNCTION_BASE_HEADER\r
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 (file)
index 0000000..cc09283
--- /dev/null
@@ -0,0 +1,70 @@
+// Boost.Function library\r
+//  Copyright (C) Douglas Gregor 2008\r
+//\r
+//  Use, modification and distribution is subject to the Boost\r
+//  Software License, Version 1.0.  (See accompanying file\r
+//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// For more information, see http://www.boost.org\r
+#ifndef BOOST_FUNCTION_FWD_HPP\r
+#define BOOST_FUNCTION_FWD_HPP\r
+#include <boost/config.hpp>\r
+\r
+#if defined(__sgi) && defined(_COMPILER_VERSION) && _COMPILER_VERSION <= 730 && !defined(BOOST_STRICT_CONFIG)\r
+// Work around a compiler bug.\r
+// boost::python::objects::function has to be seen by the compiler before the\r
+// boost::function class template.\r
+namespace boost { namespace python { namespace objects {\r
+  class function;\r
+}}}\r
+#endif\r
+\r
+#if defined (BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)                    \\r
+ || defined(BOOST_BCB_PARTIAL_SPECIALIZATION_BUG)                         \\r
+ || !(defined(BOOST_STRICT_CONFIG) || !defined(__SUNPRO_CC) || __SUNPRO_CC > 0x540)\r
+#  define BOOST_FUNCTION_NO_FUNCTION_TYPE_SYNTAX\r
+#endif\r
+\r
+namespace boost {\r
+  class bad_function_call;\r
+\r
+#if !defined(BOOST_FUNCTION_NO_FUNCTION_TYPE_SYNTAX)\r
+  // Preferred syntax\r
+  template<typename Signature> class function;\r
+\r
+  template<typename Signature>\r
+  inline void swap(function<Signature>& f1, function<Signature>& f2)\r
+  {\r
+    f1.swap(f2);\r
+  }\r
+#endif // have partial specialization\r
+\r
+  // Portable syntax\r
+  template<typename R> class function0;\r
+  template<typename R, typename T1> class function1;\r
+  template<typename R, typename T1, typename T2> class function2;\r
+  template<typename R, typename T1, typename T2, typename T3> class function3;\r
+  template<typename R, typename T1, typename T2, typename T3, typename T4> \r
+    class function4;\r
+  template<typename R, typename T1, typename T2, typename T3, typename T4,\r
+           typename T5> \r
+    class function5;\r
+  template<typename R, typename T1, typename T2, typename T3, typename T4,\r
+           typename T5, typename T6> \r
+    class function6;\r
+  template<typename R, typename T1, typename T2, typename T3, typename T4,\r
+           typename T5, typename T6, typename T7> \r
+    class function7;\r
+  template<typename R, typename T1, typename T2, typename T3, typename T4,\r
+           typename T5, typename T6, typename T7, typename T8> \r
+    class function8;\r
+  template<typename R, typename T1, typename T2, typename T3, typename T4,\r
+           typename T5, typename T6, typename T7, typename T8, typename T9> \r
+    class function9;\r
+  template<typename R, typename T1, typename T2, typename T3, typename T4,\r
+           typename T5, typename T6, typename T7, typename T8, typename T9,\r
+           typename T10> \r
+    class function10;\r
+}\r
+\r
+#endif\r
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 (file)
index 0000000..f8f60ff
--- /dev/null
@@ -0,0 +1,1158 @@
+// Boost.Function library\r
+\r
+//  Copyright Douglas Gregor 2001-2006\r
+//  Copyright Emil Dotchevski 2007\r
+//  Use, modification and distribution is subject to the Boost Software License, Version 1.0.\r
+//  (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+// For more information, see http://www.boost.org\r
+\r
+// Note: this header is a header template and must NOT have multiple-inclusion\r
+// protection.\r
+#include <boost/function/detail/prologue.hpp>\r
+#include <boost/detail/no_exceptions_support.hpp>\r
+\r
+#if defined(BOOST_MSVC)\r
+#   pragma warning( push )\r
+#   pragma warning( disable : 4127 ) // "conditional expression is constant"\r
+#endif       \r
+\r
+#define BOOST_FUNCTION_TEMPLATE_PARMS BOOST_PP_ENUM_PARAMS(BOOST_FUNCTION_NUM_ARGS, typename T)\r
+\r
+#define BOOST_FUNCTION_TEMPLATE_ARGS BOOST_PP_ENUM_PARAMS(BOOST_FUNCTION_NUM_ARGS, T)\r
+\r
+#define BOOST_FUNCTION_PARM(J,I,D) BOOST_PP_CAT(T,I) BOOST_PP_CAT(a,I)\r
+\r
+#define BOOST_FUNCTION_PARMS BOOST_PP_ENUM(BOOST_FUNCTION_NUM_ARGS,BOOST_FUNCTION_PARM,BOOST_PP_EMPTY)\r
+\r
+#define BOOST_FUNCTION_ARGS BOOST_PP_ENUM_PARAMS(BOOST_FUNCTION_NUM_ARGS, a)\r
+\r
+#define BOOST_FUNCTION_ARG_TYPE(J,I,D) \\r
+  typedef BOOST_PP_CAT(T,I) BOOST_PP_CAT(BOOST_PP_CAT(arg, BOOST_PP_INC(I)),_type);\r
+\r
+#define BOOST_FUNCTION_ARG_TYPES BOOST_PP_REPEAT(BOOST_FUNCTION_NUM_ARGS,BOOST_FUNCTION_ARG_TYPE,BOOST_PP_EMPTY)\r
+\r
+// Comma if nonzero number of arguments\r
+#if BOOST_FUNCTION_NUM_ARGS == 0\r
+#  define BOOST_FUNCTION_COMMA\r
+#else\r
+#  define BOOST_FUNCTION_COMMA ,\r
+#endif // BOOST_FUNCTION_NUM_ARGS > 0\r
+\r
+// Class names used in this version of the code\r
+#define BOOST_FUNCTION_FUNCTION BOOST_JOIN(function,BOOST_FUNCTION_NUM_ARGS)\r
+#define BOOST_FUNCTION_FUNCTION_INVOKER \\r
+  BOOST_JOIN(function_invoker,BOOST_FUNCTION_NUM_ARGS)\r
+#define BOOST_FUNCTION_VOID_FUNCTION_INVOKER \\r
+  BOOST_JOIN(void_function_invoker,BOOST_FUNCTION_NUM_ARGS)\r
+#define BOOST_FUNCTION_FUNCTION_OBJ_INVOKER \\r
+  BOOST_JOIN(function_obj_invoker,BOOST_FUNCTION_NUM_ARGS)\r
+#define BOOST_FUNCTION_VOID_FUNCTION_OBJ_INVOKER \\r
+  BOOST_JOIN(void_function_obj_invoker,BOOST_FUNCTION_NUM_ARGS)\r
+#define BOOST_FUNCTION_FUNCTION_REF_INVOKER \\r
+  BOOST_JOIN(function_ref_invoker,BOOST_FUNCTION_NUM_ARGS)\r
+#define BOOST_FUNCTION_VOID_FUNCTION_REF_INVOKER \\r
+  BOOST_JOIN(void_function_ref_invoker,BOOST_FUNCTION_NUM_ARGS)\r
+#define BOOST_FUNCTION_MEMBER_INVOKER \\r
+  BOOST_JOIN(function_mem_invoker,BOOST_FUNCTION_NUM_ARGS)\r
+#define BOOST_FUNCTION_VOID_MEMBER_INVOKER \\r
+  BOOST_JOIN(function_void_mem_invoker,BOOST_FUNCTION_NUM_ARGS)\r
+#define BOOST_FUNCTION_GET_FUNCTION_INVOKER \\r
+  BOOST_JOIN(get_function_invoker,BOOST_FUNCTION_NUM_ARGS)\r
+#define BOOST_FUNCTION_GET_FUNCTION_OBJ_INVOKER \\r
+  BOOST_JOIN(get_function_obj_invoker,BOOST_FUNCTION_NUM_ARGS)\r
+#define BOOST_FUNCTION_GET_FUNCTION_REF_INVOKER \\r
+  BOOST_JOIN(get_function_ref_invoker,BOOST_FUNCTION_NUM_ARGS)\r
+#define BOOST_FUNCTION_GET_MEMBER_INVOKER \\r
+  BOOST_JOIN(get_member_invoker,BOOST_FUNCTION_NUM_ARGS)\r
+#define BOOST_FUNCTION_GET_INVOKER \\r
+  BOOST_JOIN(get_invoker,BOOST_FUNCTION_NUM_ARGS)\r
+#define BOOST_FUNCTION_VTABLE BOOST_JOIN(basic_vtable,BOOST_FUNCTION_NUM_ARGS)\r
+\r
+#ifndef BOOST_NO_VOID_RETURNS\r
+#  define BOOST_FUNCTION_VOID_RETURN_TYPE void\r
+#  define BOOST_FUNCTION_RETURN(X) X\r
+#else\r
+#  define BOOST_FUNCTION_VOID_RETURN_TYPE boost::detail::function::unusable\r
+#  define BOOST_FUNCTION_RETURN(X) X; return BOOST_FUNCTION_VOID_RETURN_TYPE ()\r
+#endif\r
+\r
+namespace boost {\r
+  namespace detail {\r
+    namespace function {\r
+      template<\r
+        typename FunctionPtr,\r
+        typename R BOOST_FUNCTION_COMMA\r
+        BOOST_FUNCTION_TEMPLATE_PARMS\r
+        >\r
+      struct BOOST_FUNCTION_FUNCTION_INVOKER\r
+      {\r
+        static R invoke(function_buffer& function_ptr BOOST_FUNCTION_COMMA\r
+                        BOOST_FUNCTION_PARMS)\r
+        {\r
+          FunctionPtr f = reinterpret_cast<FunctionPtr>(function_ptr.func_ptr);\r
+          return f(BOOST_FUNCTION_ARGS);\r
+        }\r
+      };\r
+\r
+      template<\r
+        typename FunctionPtr,\r
+        typename R BOOST_FUNCTION_COMMA\r
+        BOOST_FUNCTION_TEMPLATE_PARMS\r
+        >\r
+      struct BOOST_FUNCTION_VOID_FUNCTION_INVOKER\r
+      {\r
+        static BOOST_FUNCTION_VOID_RETURN_TYPE\r
+        invoke(function_buffer& function_ptr BOOST_FUNCTION_COMMA\r
+               BOOST_FUNCTION_PARMS)\r
+\r
+        {\r
+          FunctionPtr f = reinterpret_cast<FunctionPtr>(function_ptr.func_ptr);\r
+          BOOST_FUNCTION_RETURN(f(BOOST_FUNCTION_ARGS));\r
+        }\r
+      };\r
+\r
+      template<\r
+        typename FunctionObj,\r
+        typename R BOOST_FUNCTION_COMMA\r
+        BOOST_FUNCTION_TEMPLATE_PARMS\r
+      >\r
+      struct BOOST_FUNCTION_FUNCTION_OBJ_INVOKER\r
+      {\r
+        static R invoke(function_buffer& function_obj_ptr BOOST_FUNCTION_COMMA\r
+                        BOOST_FUNCTION_PARMS)\r
+\r
+        {\r
+          FunctionObj* f;\r
+          if (function_allows_small_object_optimization<FunctionObj>::value)\r
+            f = reinterpret_cast<FunctionObj*>(&function_obj_ptr.data);\r
+          else\r
+            f = reinterpret_cast<FunctionObj*>(function_obj_ptr.obj_ptr);\r
+          return (*f)(BOOST_FUNCTION_ARGS);\r
+        }\r
+      };\r
+\r
+      template<\r
+        typename FunctionObj,\r
+        typename R BOOST_FUNCTION_COMMA\r
+        BOOST_FUNCTION_TEMPLATE_PARMS\r
+      >\r
+      struct BOOST_FUNCTION_VOID_FUNCTION_OBJ_INVOKER\r
+      {\r
+        static BOOST_FUNCTION_VOID_RETURN_TYPE\r
+        invoke(function_buffer& function_obj_ptr BOOST_FUNCTION_COMMA\r
+               BOOST_FUNCTION_PARMS)\r
+\r
+        {\r
+          FunctionObj* f;\r
+          if (function_allows_small_object_optimization<FunctionObj>::value)\r
+            f = reinterpret_cast<FunctionObj*>(&function_obj_ptr.data);\r
+          else\r
+            f = reinterpret_cast<FunctionObj*>(function_obj_ptr.obj_ptr);\r
+          BOOST_FUNCTION_RETURN((*f)(BOOST_FUNCTION_ARGS));\r
+        }\r
+      };\r
+\r
+      template<\r
+        typename FunctionObj,\r
+        typename R BOOST_FUNCTION_COMMA\r
+        BOOST_FUNCTION_TEMPLATE_PARMS\r
+      >\r
+      struct BOOST_FUNCTION_FUNCTION_REF_INVOKER\r
+      {\r
+        static R invoke(function_buffer& function_obj_ptr BOOST_FUNCTION_COMMA\r
+                        BOOST_FUNCTION_PARMS)\r
+\r
+        {\r
+          FunctionObj* f = \r
+            reinterpret_cast<FunctionObj*>(function_obj_ptr.obj_ptr);\r
+          return (*f)(BOOST_FUNCTION_ARGS);\r
+        }\r
+      };\r
+\r
+      template<\r
+        typename FunctionObj,\r
+        typename R BOOST_FUNCTION_COMMA\r
+        BOOST_FUNCTION_TEMPLATE_PARMS\r
+      >\r
+      struct BOOST_FUNCTION_VOID_FUNCTION_REF_INVOKER\r
+      {\r
+        static BOOST_FUNCTION_VOID_RETURN_TYPE\r
+        invoke(function_buffer& function_obj_ptr BOOST_FUNCTION_COMMA\r
+               BOOST_FUNCTION_PARMS)\r
+\r
+        {\r
+          FunctionObj* f = \r
+            reinterpret_cast<FunctionObj*>(function_obj_ptr.obj_ptr);\r
+          BOOST_FUNCTION_RETURN((*f)(BOOST_FUNCTION_ARGS));\r
+        }\r
+      };\r
+\r
+#if BOOST_FUNCTION_NUM_ARGS > 0\r
+      /* Handle invocation of member pointers. */\r
+      template<\r
+        typename MemberPtr,\r
+        typename R BOOST_FUNCTION_COMMA\r
+        BOOST_FUNCTION_TEMPLATE_PARMS\r
+      >\r
+      struct BOOST_FUNCTION_MEMBER_INVOKER\r
+      {\r
+        static R invoke(function_buffer& function_obj_ptr BOOST_FUNCTION_COMMA\r
+                        BOOST_FUNCTION_PARMS)\r
+\r
+        {\r
+          MemberPtr* f = \r
+            reinterpret_cast<MemberPtr*>(&function_obj_ptr.data);\r
+          return boost::mem_fn(*f)(BOOST_FUNCTION_ARGS);\r
+        }\r
+      };\r
+\r
+      template<\r
+        typename MemberPtr,\r
+        typename R BOOST_FUNCTION_COMMA\r
+        BOOST_FUNCTION_TEMPLATE_PARMS\r
+      >\r
+      struct BOOST_FUNCTION_VOID_MEMBER_INVOKER\r
+      {\r
+        static BOOST_FUNCTION_VOID_RETURN_TYPE\r
+        invoke(function_buffer& function_obj_ptr BOOST_FUNCTION_COMMA\r
+               BOOST_FUNCTION_PARMS)\r
+\r
+        {\r
+          MemberPtr* f = \r
+            reinterpret_cast<MemberPtr*>(&function_obj_ptr.data);\r
+          BOOST_FUNCTION_RETURN(boost::mem_fn(*f)(BOOST_FUNCTION_ARGS));\r
+        }\r
+      };\r
+#endif\r
+\r
+      template<\r
+        typename FunctionPtr,\r
+        typename R BOOST_FUNCTION_COMMA\r
+        BOOST_FUNCTION_TEMPLATE_PARMS\r
+      >\r
+      struct BOOST_FUNCTION_GET_FUNCTION_INVOKER\r
+      {\r
+        typedef typename mpl::if_c<(is_void<R>::value),\r
+                            BOOST_FUNCTION_VOID_FUNCTION_INVOKER<\r
+                            FunctionPtr,\r
+                            R BOOST_FUNCTION_COMMA\r
+                            BOOST_FUNCTION_TEMPLATE_ARGS\r
+                          >,\r
+                          BOOST_FUNCTION_FUNCTION_INVOKER<\r
+                            FunctionPtr,\r
+                            R BOOST_FUNCTION_COMMA\r
+                            BOOST_FUNCTION_TEMPLATE_ARGS\r
+                          >\r
+                       >::type type;\r
+      };\r
+\r
+      template<\r
+        typename FunctionObj,\r
+        typename R BOOST_FUNCTION_COMMA\r
+        BOOST_FUNCTION_TEMPLATE_PARMS\r
+       >\r
+      struct BOOST_FUNCTION_GET_FUNCTION_OBJ_INVOKER\r
+      {\r
+        typedef typename mpl::if_c<(is_void<R>::value),\r
+                            BOOST_FUNCTION_VOID_FUNCTION_OBJ_INVOKER<\r
+                            FunctionObj,\r
+                            R BOOST_FUNCTION_COMMA\r
+                            BOOST_FUNCTION_TEMPLATE_ARGS\r
+                          >,\r
+                          BOOST_FUNCTION_FUNCTION_OBJ_INVOKER<\r
+                            FunctionObj,\r
+                            R BOOST_FUNCTION_COMMA\r
+                            BOOST_FUNCTION_TEMPLATE_ARGS\r
+                          >\r
+                       >::type type;\r
+      };\r
+\r
+      template<\r
+        typename FunctionObj,\r
+        typename R BOOST_FUNCTION_COMMA\r
+        BOOST_FUNCTION_TEMPLATE_PARMS\r
+       >\r
+      struct BOOST_FUNCTION_GET_FUNCTION_REF_INVOKER\r
+      {\r
+        typedef typename mpl::if_c<(is_void<R>::value),\r
+                            BOOST_FUNCTION_VOID_FUNCTION_REF_INVOKER<\r
+                            FunctionObj,\r
+                            R BOOST_FUNCTION_COMMA\r
+                            BOOST_FUNCTION_TEMPLATE_ARGS\r
+                          >,\r
+                          BOOST_FUNCTION_FUNCTION_REF_INVOKER<\r
+                            FunctionObj,\r
+                            R BOOST_FUNCTION_COMMA\r
+                            BOOST_FUNCTION_TEMPLATE_ARGS\r
+                          >\r
+                       >::type type;\r
+      };\r
+\r
+#if BOOST_FUNCTION_NUM_ARGS > 0\r
+      /* Retrieve the appropriate invoker for a member pointer.  */\r
+      template<\r
+        typename MemberPtr,\r
+        typename R BOOST_FUNCTION_COMMA\r
+        BOOST_FUNCTION_TEMPLATE_PARMS\r
+       >\r
+      struct BOOST_FUNCTION_GET_MEMBER_INVOKER\r
+      {\r
+        typedef typename mpl::if_c<(is_void<R>::value),\r
+                            BOOST_FUNCTION_VOID_MEMBER_INVOKER<\r
+                            MemberPtr,\r
+                            R BOOST_FUNCTION_COMMA\r
+                            BOOST_FUNCTION_TEMPLATE_ARGS\r
+                          >,\r
+                          BOOST_FUNCTION_MEMBER_INVOKER<\r
+                            MemberPtr,\r
+                            R BOOST_FUNCTION_COMMA\r
+                            BOOST_FUNCTION_TEMPLATE_ARGS\r
+                          >\r
+                       >::type type;\r
+      };\r
+#endif\r
+\r
+      /* Given the tag returned by get_function_tag, retrieve the\r
+         actual invoker that will be used for the given function\r
+         object. \r
+\r
+         Each specialization contains an "apply" nested class template\r
+         that accepts the function object, return type, function\r
+         argument types, and allocator. The resulting "apply" class\r
+         contains two typedefs, "invoker_type" and "manager_type",\r
+         which correspond to the invoker and manager types. */\r
+      template<typename Tag>\r
+      struct BOOST_FUNCTION_GET_INVOKER { };\r
+\r
+      /* Retrieve the invoker for a function pointer. */\r
+      template<>\r
+      struct BOOST_FUNCTION_GET_INVOKER<function_ptr_tag>\r
+      {\r
+        template<typename FunctionPtr,\r
+                 typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS>\r
+        struct apply\r
+        {\r
+          typedef typename BOOST_FUNCTION_GET_FUNCTION_INVOKER<\r
+                             FunctionPtr,\r
+                             R BOOST_FUNCTION_COMMA\r
+                             BOOST_FUNCTION_TEMPLATE_ARGS\r
+                           >::type\r
+            invoker_type;\r
+\r
+          typedef functor_manager<FunctionPtr> manager_type;\r
+        };\r
+\r
+        template<typename FunctionPtr,\r
+                 typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS,\r
+                 typename Allocator>\r
+        struct apply_a\r
+        {\r
+          typedef typename BOOST_FUNCTION_GET_FUNCTION_INVOKER<\r
+                             FunctionPtr,\r
+                             R BOOST_FUNCTION_COMMA\r
+                             BOOST_FUNCTION_TEMPLATE_ARGS\r
+                           >::type\r
+            invoker_type;\r
+\r
+          typedef functor_manager<FunctionPtr> manager_type;\r
+        };\r
+      };\r
+\r
+#if BOOST_FUNCTION_NUM_ARGS > 0\r
+      /* Retrieve the invoker for a member pointer. */\r
+      template<>\r
+      struct BOOST_FUNCTION_GET_INVOKER<member_ptr_tag>\r
+      {\r
+        template<typename MemberPtr,\r
+                 typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS>\r
+        struct apply\r
+        {\r
+          typedef typename BOOST_FUNCTION_GET_MEMBER_INVOKER<\r
+                             MemberPtr,\r
+                             R BOOST_FUNCTION_COMMA\r
+                             BOOST_FUNCTION_TEMPLATE_ARGS\r
+                           >::type\r
+            invoker_type;\r
+\r
+          typedef functor_manager<MemberPtr> manager_type;\r
+        };\r
+\r
+        template<typename MemberPtr,\r
+                 typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS,\r
+                 typename Allocator>\r
+        struct apply_a\r
+        {\r
+          typedef typename BOOST_FUNCTION_GET_MEMBER_INVOKER<\r
+                             MemberPtr,\r
+                             R BOOST_FUNCTION_COMMA\r
+                             BOOST_FUNCTION_TEMPLATE_ARGS\r
+                           >::type\r
+            invoker_type;\r
+\r
+          typedef functor_manager<MemberPtr> manager_type;\r
+        };\r
+      };\r
+#endif\r
+\r
+      /* Retrieve the invoker for a function object. */\r
+      template<>\r
+      struct BOOST_FUNCTION_GET_INVOKER<function_obj_tag>\r
+      {\r
+        template<typename FunctionObj,\r
+                 typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS>\r
+        struct apply\r
+        {\r
+          typedef typename BOOST_FUNCTION_GET_FUNCTION_OBJ_INVOKER<\r
+                             FunctionObj,\r
+                             R BOOST_FUNCTION_COMMA\r
+                             BOOST_FUNCTION_TEMPLATE_ARGS\r
+                           >::type\r
+            invoker_type;\r
+\r
+          typedef functor_manager<FunctionObj> manager_type;\r
+        };\r
+\r
+        template<typename FunctionObj,\r
+                 typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS,\r
+                 typename Allocator>\r
+        struct apply_a\r
+        {\r
+          typedef typename BOOST_FUNCTION_GET_FUNCTION_OBJ_INVOKER<\r
+                             FunctionObj,\r
+                             R BOOST_FUNCTION_COMMA\r
+                             BOOST_FUNCTION_TEMPLATE_ARGS\r
+                           >::type\r
+            invoker_type;\r
+\r
+          typedef functor_manager_a<FunctionObj, Allocator> manager_type;\r
+        };\r
+      };\r
+\r
+      /* Retrieve the invoker for a reference to a function object. */\r
+      template<>\r
+      struct BOOST_FUNCTION_GET_INVOKER<function_obj_ref_tag>\r
+      {\r
+        template<typename RefWrapper,\r
+                 typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS>\r
+        struct apply\r
+        {\r
+          typedef typename BOOST_FUNCTION_GET_FUNCTION_REF_INVOKER<\r
+                             typename RefWrapper::type,\r
+                             R BOOST_FUNCTION_COMMA\r
+                             BOOST_FUNCTION_TEMPLATE_ARGS\r
+                           >::type\r
+            invoker_type;\r
+\r
+          typedef reference_manager<typename RefWrapper::type> manager_type;\r
+        };\r
+\r
+        template<typename RefWrapper,\r
+                 typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS,\r
+                 typename Allocator>\r
+        struct apply_a\r
+        {\r
+          typedef typename BOOST_FUNCTION_GET_FUNCTION_REF_INVOKER<\r
+                             typename RefWrapper::type,\r
+                             R BOOST_FUNCTION_COMMA\r
+                             BOOST_FUNCTION_TEMPLATE_ARGS\r
+                           >::type\r
+            invoker_type;\r
+\r
+          typedef reference_manager<typename RefWrapper::type> manager_type;\r
+        };\r
+      };\r
+\r
+\r
+      /**\r
+       * vtable for a specific boost::function instance. This\r
+       * structure must be an aggregate so that we can use static\r
+       * initialization in boost::function's assign_to and assign_to_a\r
+       * members. It therefore cannot have any constructors,\r
+       * destructors, base classes, etc.\r
+       */\r
+      template<typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS>\r
+      struct BOOST_FUNCTION_VTABLE\r
+      {\r
+#ifndef BOOST_NO_VOID_RETURNS\r
+        typedef R         result_type;\r
+#else\r
+        typedef typename function_return_type<R>::type result_type;\r
+#endif // BOOST_NO_VOID_RETURNS\r
+\r
+        typedef result_type (*invoker_type)(function_buffer&\r
+                                            BOOST_FUNCTION_COMMA\r
+                                            BOOST_FUNCTION_TEMPLATE_ARGS);\r
+\r
+        template<typename F>\r
+        bool assign_to(F f, function_buffer& functor)\r
+        {\r
+          typedef typename get_function_tag<F>::type tag;\r
+          return assign_to(f, functor, tag());\r
+        }\r
+        template<typename F,typename Allocator>\r
+        bool assign_to_a(F f, function_buffer& functor, Allocator a)\r
+        {\r
+          typedef typename get_function_tag<F>::type tag;\r
+          return assign_to_a(f, functor, a, tag());\r
+        }\r
+\r
+        void clear(function_buffer& functor)\r
+        {\r
+          if (base.manager)\r
+            base.manager(functor, functor, destroy_functor_tag);\r
+        }\r
+\r
+      private:\r
+        // Function pointers\r
+        template<typename FunctionPtr>\r
+        bool \r
+        assign_to(FunctionPtr f, function_buffer& functor, function_ptr_tag)\r
+        {\r
+          this->clear(functor);\r
+          if (f) {\r
+            // should be a reinterpret cast, but some compilers insist\r
+            // on giving cv-qualifiers to free functions\r
+            functor.func_ptr = (void (*)())(f);\r
+            return true;\r
+          } else {\r
+            return false;\r
+          }\r
+        }\r
+        template<typename FunctionPtr,typename Allocator>\r
+        bool \r
+        assign_to_a(FunctionPtr f, function_buffer& functor, Allocator, function_ptr_tag)\r
+        {\r
+          return assign_to(f,functor,function_ptr_tag());\r
+        }\r
+\r
+        // Member pointers\r
+#if BOOST_FUNCTION_NUM_ARGS > 0\r
+        template<typename MemberPtr>\r
+        bool assign_to(MemberPtr f, function_buffer& functor, member_ptr_tag)\r
+        {\r
+          // DPG TBD: Add explicit support for member function\r
+          // objects, so we invoke through mem_fn() but we retain the\r
+          // right target_type() values.\r
+          if (f) {\r
+            this->assign_to(mem_fn(f), functor);\r
+            return true;\r
+          } else {\r
+            return false;\r
+          }\r
+        }\r
+        template<typename MemberPtr,typename Allocator>\r
+        bool assign_to_a(MemberPtr f, function_buffer& functor, Allocator a, member_ptr_tag)\r
+        {\r
+          // DPG TBD: Add explicit support for member function\r
+          // objects, so we invoke through mem_fn() but we retain the\r
+          // right target_type() values.\r
+          if (f) {\r
+            this->assign_to_a(mem_fn(f), functor, a);\r
+            return true;\r
+          } else {\r
+            return false;\r
+          }\r
+        }\r
+#endif // BOOST_FUNCTION_NUM_ARGS > 0\r
+\r
+        // Function objects\r
+        // Assign to a function object using the small object optimization\r
+        template<typename FunctionObj>\r
+        void \r
+        assign_functor(FunctionObj f, function_buffer& functor, mpl::true_)\r
+        {\r
+          new ((void*)&functor.data) FunctionObj(f);\r
+        }\r
+        template<typename FunctionObj,typename Allocator>\r
+        void \r
+        assign_functor_a(FunctionObj f, function_buffer& functor, Allocator, mpl::true_)\r
+        {\r
+          assign_functor(f,functor,mpl::true_());\r
+        }\r
+\r
+        // Assign to a function object allocated on the heap.\r
+        template<typename FunctionObj>\r
+        void \r
+        assign_functor(FunctionObj f, function_buffer& functor, mpl::false_)\r
+        {\r
+          functor.obj_ptr = new FunctionObj(f);\r
+        }\r
+        template<typename FunctionObj,typename Allocator>\r
+        void \r
+        assign_functor_a(FunctionObj f, function_buffer& functor, Allocator a, mpl::false_)\r
+        {\r
+          typedef functor_wrapper<FunctionObj,Allocator> functor_wrapper_type;\r
+          typedef typename Allocator::template rebind<functor_wrapper_type>::other\r
+            wrapper_allocator_type;\r
+          typedef typename wrapper_allocator_type::pointer wrapper_allocator_pointer_type;\r
+          wrapper_allocator_type wrapper_allocator(a);\r
+          wrapper_allocator_pointer_type copy = wrapper_allocator.allocate(1);\r
+          wrapper_allocator.construct(copy, functor_wrapper_type(f,a));\r
+          functor_wrapper_type* new_f = static_cast<functor_wrapper_type*>(copy);\r
+          functor.obj_ptr = new_f;\r
+        }\r
+\r
+        template<typename FunctionObj>\r
+        bool \r
+        assign_to(FunctionObj f, function_buffer& functor, function_obj_tag)\r
+        {\r
+          if (!boost::detail::function::has_empty_target(boost::addressof(f))) {\r
+            assign_functor(f, functor, \r
+                           mpl::bool_<(function_allows_small_object_optimization<FunctionObj>::value)>());\r
+            return true;\r
+          } else {\r
+            return false;\r
+          }\r
+        }\r
+        template<typename FunctionObj,typename Allocator>\r
+        bool \r
+        assign_to_a(FunctionObj f, function_buffer& functor, Allocator a, function_obj_tag)\r
+        {\r
+          if (!boost::detail::function::has_empty_target(boost::addressof(f))) {\r
+            assign_functor_a(f, functor, a,\r
+                           mpl::bool_<(function_allows_small_object_optimization<FunctionObj>::value)>());\r
+            return true;\r
+          } else {\r
+            return false;\r
+          }\r
+        }\r
+\r
+        // Reference to a function object\r
+        template<typename FunctionObj>\r
+        bool \r
+        assign_to(const reference_wrapper<FunctionObj>& f, \r
+                  function_buffer& functor, function_obj_ref_tag)\r
+        {\r
+          functor.obj_ref.obj_ptr = (void *)f.get_pointer();\r
+          functor.obj_ref.is_const_qualified = is_const<FunctionObj>::value;\r
+          functor.obj_ref.is_volatile_qualified = is_volatile<FunctionObj>::value;\r
+          return true;\r
+        }\r
+        template<typename FunctionObj,typename Allocator>\r
+        bool \r
+        assign_to_a(const reference_wrapper<FunctionObj>& f, \r
+                  function_buffer& functor, Allocator, function_obj_ref_tag)\r
+        {\r
+          return assign_to(f,functor,function_obj_ref_tag());\r
+        }\r
+\r
+      public:\r
+        vtable_base base;\r
+        invoker_type invoker;\r
+      };\r
+    } // end namespace function\r
+  } // end namespace detail\r
+\r
+  template<\r
+    typename R BOOST_FUNCTION_COMMA\r
+    BOOST_FUNCTION_TEMPLATE_PARMS\r
+  >\r
+  class BOOST_FUNCTION_FUNCTION : public function_base\r
+\r
+#if BOOST_FUNCTION_NUM_ARGS == 1\r
+\r
+    , public std::unary_function<T0,R>\r
+\r
+#elif BOOST_FUNCTION_NUM_ARGS == 2\r
+\r
+    , public std::binary_function<T0,T1,R>\r
+\r
+#endif\r
+\r
+  {\r
+  public:\r
+#ifndef BOOST_NO_VOID_RETURNS\r
+    typedef R         result_type;\r
+#else\r
+    typedef  typename boost::detail::function::function_return_type<R>::type\r
+      result_type;\r
+#endif // BOOST_NO_VOID_RETURNS\r
+\r
+  private:\r
+    typedef boost::detail::function::BOOST_FUNCTION_VTABLE<\r
+              R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_ARGS>\r
+      vtable_type;\r
+\r
+    vtable_type* get_vtable() const {\r
+      return reinterpret_cast<vtable_type*>(\r
+               reinterpret_cast<std::size_t>(vtable) & ~(std::size_t)0x01);\r
+    }\r
+\r
+    struct clear_type {};\r
+\r
+  public:\r
+    BOOST_STATIC_CONSTANT(int, args = BOOST_FUNCTION_NUM_ARGS);\r
+\r
+    // add signature for boost::lambda\r
+    template<typename Args>\r
+    struct sig\r
+    {\r
+      typedef result_type type;\r
+    };\r
+\r
+#if BOOST_FUNCTION_NUM_ARGS == 1\r
+    typedef T0 argument_type;\r
+#elif BOOST_FUNCTION_NUM_ARGS == 2\r
+    typedef T0 first_argument_type;\r
+    typedef T1 second_argument_type;\r
+#endif\r
+\r
+    BOOST_STATIC_CONSTANT(int, arity = BOOST_FUNCTION_NUM_ARGS);\r
+    BOOST_FUNCTION_ARG_TYPES\r
+\r
+    typedef BOOST_FUNCTION_FUNCTION self_type;\r
+\r
+    BOOST_FUNCTION_FUNCTION() : function_base() { }\r
+\r
+    // MSVC chokes if the following two constructors are collapsed into\r
+    // one with a default parameter.\r
+    template<typename Functor>\r
+    BOOST_FUNCTION_FUNCTION(Functor BOOST_FUNCTION_TARGET_FIX(const &) f\r
+#ifndef BOOST_NO_SFINAE\r
+                            ,typename enable_if_c<\r
+                            (boost::type_traits::ice_not<\r
+                             (is_integral<Functor>::value)>::value),\r
+                                        int>::type = 0\r
+#endif // BOOST_NO_SFINAE\r
+                            ) :\r
+      function_base()\r
+    {\r
+      this->assign_to(f);\r
+    }\r
+    template<typename Functor,typename Allocator>\r
+    BOOST_FUNCTION_FUNCTION(Functor BOOST_FUNCTION_TARGET_FIX(const &) f, Allocator a\r
+#ifndef BOOST_NO_SFINAE\r
+                            ,typename enable_if_c<\r
+                            (boost::type_traits::ice_not<\r
+                             (is_integral<Functor>::value)>::value),\r
+                                        int>::type = 0\r
+#endif // BOOST_NO_SFINAE\r
+                            ) :\r
+      function_base()\r
+    {\r
+      this->assign_to_a(f,a);\r
+    }\r
+\r
+#ifndef BOOST_NO_SFINAE\r
+    BOOST_FUNCTION_FUNCTION(clear_type*) : function_base() { }\r
+#else\r
+    BOOST_FUNCTION_FUNCTION(int zero) : function_base()\r
+    {\r
+      BOOST_ASSERT(zero == 0);\r
+    }\r
+#endif\r
+\r
+    BOOST_FUNCTION_FUNCTION(const BOOST_FUNCTION_FUNCTION& f) : function_base()\r
+    {\r
+      this->assign_to_own(f);\r
+    }\r
+\r
+    ~BOOST_FUNCTION_FUNCTION() { clear(); }\r
+\r
+#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)\r
+    // MSVC 6.0 and prior require all definitions to be inline, but\r
+    // these definitions can become very costly.\r
+    result_type operator()(BOOST_FUNCTION_PARMS) const\r
+    {\r
+      if (this->empty())\r
+        boost::throw_exception(bad_function_call());\r
+\r
+      return get_vtable()->invoker\r
+               (this->functor BOOST_FUNCTION_COMMA BOOST_FUNCTION_ARGS);\r
+    }\r
+#else\r
+    result_type operator()(BOOST_FUNCTION_PARMS) const;\r
+#endif\r
+\r
+    // The distinction between when to use BOOST_FUNCTION_FUNCTION and\r
+    // when to use self_type is obnoxious. MSVC cannot handle self_type as\r
+    // the return type of these assignment operators, but Borland C++ cannot\r
+    // handle BOOST_FUNCTION_FUNCTION as the type of the temporary to\r
+    // construct.\r
+    template<typename Functor>\r
+#ifndef BOOST_NO_SFINAE\r
+    typename enable_if_c<\r
+               (boost::type_traits::ice_not<\r
+                 (is_integral<Functor>::value)>::value),\r
+               BOOST_FUNCTION_FUNCTION&>::type\r
+#else\r
+    BOOST_FUNCTION_FUNCTION&\r
+#endif\r
+    operator=(Functor BOOST_FUNCTION_TARGET_FIX(const &) f)\r
+    {\r
+      this->clear();\r
+      BOOST_TRY  {\r
+        this->assign_to(f);\r
+      } BOOST_CATCH (...) {\r
+        vtable = 0;\r
+        BOOST_RETHROW;\r
+      }\r
+      BOOST_CATCH_END\r
+      return *this;\r
+    }\r
+    template<typename Functor,typename Allocator>\r
+    void assign(Functor BOOST_FUNCTION_TARGET_FIX(const &) f, Allocator a)\r
+    {\r
+      this->clear();\r
+      BOOST_TRY{\r
+        this->assign_to_a(f,a);\r
+      } BOOST_CATCH (...) {\r
+        vtable = 0;\r
+        BOOST_RETHROW;\r
+      }\r
+      BOOST_CATCH_END\r
+    }\r
+\r
+#ifndef BOOST_NO_SFINAE\r
+    BOOST_FUNCTION_FUNCTION& operator=(clear_type*)\r
+    {\r
+      this->clear();\r
+      return *this;\r
+    }\r
+#else\r
+    BOOST_FUNCTION_FUNCTION& operator=(int zero)\r
+    {\r
+      BOOST_ASSERT(zero == 0);\r
+      this->clear();\r
+      return *this;\r
+    }\r
+#endif\r
+\r
+    // Assignment from another BOOST_FUNCTION_FUNCTION\r
+    BOOST_FUNCTION_FUNCTION& operator=(const BOOST_FUNCTION_FUNCTION& f)\r
+    {\r
+      if (&f == this)\r
+        return *this;\r
+\r
+      this->clear();\r
+      BOOST_TRY {\r
+        this->assign_to_own(f);\r
+      } BOOST_CATCH (...) {\r
+        vtable = 0;\r
+        BOOST_RETHROW;\r
+      }\r
+      BOOST_CATCH_END\r
+      return *this;\r
+    }\r
+\r
+    void swap(BOOST_FUNCTION_FUNCTION& other)\r
+    {\r
+      if (&other == this)\r
+        return;\r
+\r
+      BOOST_FUNCTION_FUNCTION tmp;\r
+      tmp.move_assign(*this);\r
+      this->move_assign(other);\r
+      other.move_assign(tmp);\r
+    }\r
+\r
+    // Clear out a target, if there is one\r
+    void clear()\r
+    {\r
+      if (vtable) {\r
+        if (!this->has_trivial_copy_and_destroy())\r
+          get_vtable()->clear(this->functor);\r
+        vtable = 0;\r
+      }\r
+    }\r
+\r
+#if (defined __SUNPRO_CC) && (__SUNPRO_CC <= 0x530) && !(defined BOOST_NO_COMPILER_CONFIG)\r
+    // Sun C++ 5.3 can't handle the safe_bool idiom, so don't use it\r
+    operator bool () const { return !this->empty(); }\r
+#else\r
+  private:\r
+    struct dummy {\r
+      void nonnull() {};\r
+    };\r
+\r
+    typedef void (dummy::*safe_bool)();\r
+\r
+  public:\r
+    operator safe_bool () const\r
+      { return (this->empty())? 0 : &dummy::nonnull; }\r
+\r
+    bool operator!() const\r
+      { return this->empty(); }\r
+#endif\r
+\r
+  private:\r
+    void assign_to_own(const BOOST_FUNCTION_FUNCTION& f)\r
+    {\r
+      if (!f.empty()) {\r
+        this->vtable = f.vtable;\r
+        if (this->has_trivial_copy_and_destroy())\r
+          this->functor = f.functor;\r
+        else\r
+          get_vtable()->base.manager(f.functor, this->functor,\r
+                                     boost::detail::function::clone_functor_tag);\r
+      }\r
+    }\r
+\r
+    template<typename Functor>\r
+    void assign_to(Functor f)\r
+    {\r
+      using detail::function::vtable_base;\r
+\r
+      typedef typename detail::function::get_function_tag<Functor>::type tag;\r
+      typedef detail::function::BOOST_FUNCTION_GET_INVOKER<tag> get_invoker;\r
+      typedef typename get_invoker::\r
+                         template apply<Functor, R BOOST_FUNCTION_COMMA \r
+                        BOOST_FUNCTION_TEMPLATE_ARGS>\r
+        handler_type;\r
+      \r
+      typedef typename handler_type::invoker_type invoker_type;\r
+      typedef typename handler_type::manager_type manager_type;\r
+\r
+      // Note: it is extremely important that this initialization use\r
+      // static initialization. Otherwise, we will have a race\r
+      // condition here in multi-threaded code. See\r
+      // http://thread.gmane.org/gmane.comp.lib.boost.devel/164902/.\r
+      static vtable_type stored_vtable = \r
+        { { &manager_type::manage }, &invoker_type::invoke };\r
+\r
+      if (stored_vtable.assign_to(f, functor)) {\r
+        std::size_t value = reinterpret_cast<std::size_t>(&stored_vtable.base);\r
+        if (boost::has_trivial_copy_constructor<Functor>::value &&\r
+            boost::has_trivial_destructor<Functor>::value &&\r
+            detail::function::function_allows_small_object_optimization<Functor>::value)\r
+          value |= (std::size_t)0x01;\r
+        vtable = reinterpret_cast<detail::function::vtable_base *>(value);\r
+      } else \r
+        vtable = 0;\r
+    }\r
+\r
+    template<typename Functor,typename Allocator>\r
+    void assign_to_a(Functor f,Allocator a)\r
+    {\r
+      using detail::function::vtable_base;\r
+\r
+      typedef typename detail::function::get_function_tag<Functor>::type tag;\r
+      typedef detail::function::BOOST_FUNCTION_GET_INVOKER<tag> get_invoker;\r
+      typedef typename get_invoker::\r
+                         template apply_a<Functor, R BOOST_FUNCTION_COMMA \r
+                         BOOST_FUNCTION_TEMPLATE_ARGS,\r
+                         Allocator>\r
+        handler_type;\r
+      \r
+      typedef typename handler_type::invoker_type invoker_type;\r
+      typedef typename handler_type::manager_type manager_type;\r
+\r
+      // Note: it is extremely important that this initialization use\r
+      // static initialization. Otherwise, we will have a race\r
+      // condition here in multi-threaded code. See\r
+      // http://thread.gmane.org/gmane.comp.lib.boost.devel/164902/.\r
+      static vtable_type stored_vtable =\r
+        { { &manager_type::manage }, &invoker_type::invoke };\r
+\r
+      if (stored_vtable.assign_to_a(f, functor, a)) { \r
+        std::size_t value = reinterpret_cast<std::size_t>(&stored_vtable.base);\r
+        if (boost::has_trivial_copy_constructor<Functor>::value &&\r
+            boost::has_trivial_destructor<Functor>::value &&\r
+            detail::function::function_allows_small_object_optimization<Functor>::value)\r
+          value |= (std::size_t)0x01;\r
+        vtable = reinterpret_cast<detail::function::vtable_base *>(value);\r
+      } else \r
+        vtable = 0;\r
+    }\r
+\r
+    // Moves the value from the specified argument to *this. If the argument \r
+    // has its function object allocated on the heap, move_assign will pass \r
+    // its buffer to *this, and set the argument's buffer pointer to NULL. \r
+    void move_assign(BOOST_FUNCTION_FUNCTION& f) \r
+    { \r
+      if (&f == this)\r
+        return;\r
+\r
+      BOOST_TRY {\r
+        if (!f.empty()) {\r
+          this->vtable = f.vtable;\r
+          if (this->has_trivial_copy_and_destroy())\r
+            this->functor = f.functor;\r
+          else\r
+            get_vtable()->base.manager(f.functor, this->functor,\r
+                                     boost::detail::function::move_functor_tag);\r
+          f.vtable = 0;\r
+        } else {\r
+          clear();\r
+        }\r
+      } BOOST_CATCH (...) {\r
+        vtable = 0;\r
+        BOOST_RETHROW;\r
+      }\r
+      BOOST_CATCH_END\r
+    }\r
+  };\r
+\r
+  template<typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS>\r
+  inline void swap(BOOST_FUNCTION_FUNCTION<\r
+                     R BOOST_FUNCTION_COMMA\r
+                     BOOST_FUNCTION_TEMPLATE_ARGS\r
+                   >& f1,\r
+                   BOOST_FUNCTION_FUNCTION<\r
+                     R BOOST_FUNCTION_COMMA\r
+                     BOOST_FUNCTION_TEMPLATE_ARGS\r
+                   >& f2)\r
+  {\r
+    f1.swap(f2);\r
+  }\r
+\r
+#if !BOOST_WORKAROUND(BOOST_MSVC, < 1300)\r
+  template<typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS>\r
+  typename BOOST_FUNCTION_FUNCTION<\r
+      R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_ARGS>::result_type\r
+  inline \r
+  BOOST_FUNCTION_FUNCTION<R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_ARGS>\r
+  ::operator()(BOOST_FUNCTION_PARMS) const\r
+  {\r
+    if (this->empty())\r
+      boost::throw_exception(bad_function_call());\r
+\r
+    return get_vtable()->invoker\r
+             (this->functor BOOST_FUNCTION_COMMA BOOST_FUNCTION_ARGS);\r
+  }\r
+#endif\r
+\r
+// Poison comparisons between boost::function objects of the same type.\r
+template<typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS>\r
+  void operator==(const BOOST_FUNCTION_FUNCTION<\r
+                          R BOOST_FUNCTION_COMMA\r
+                          BOOST_FUNCTION_TEMPLATE_ARGS>&,\r
+                  const BOOST_FUNCTION_FUNCTION<\r
+                          R BOOST_FUNCTION_COMMA\r
+                          BOOST_FUNCTION_TEMPLATE_ARGS>&);\r
+template<typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS>\r
+  void operator!=(const BOOST_FUNCTION_FUNCTION<\r
+                          R BOOST_FUNCTION_COMMA\r
+                          BOOST_FUNCTION_TEMPLATE_ARGS>&,\r
+                  const BOOST_FUNCTION_FUNCTION<\r
+                          R BOOST_FUNCTION_COMMA\r
+                          BOOST_FUNCTION_TEMPLATE_ARGS>& );\r
+\r
+#if !defined(BOOST_FUNCTION_NO_FUNCTION_TYPE_SYNTAX)\r
+\r
+#if BOOST_FUNCTION_NUM_ARGS == 0\r
+#define BOOST_FUNCTION_PARTIAL_SPEC R (void)\r
+#else\r
+#define BOOST_FUNCTION_PARTIAL_SPEC R (BOOST_PP_ENUM_PARAMS(BOOST_FUNCTION_NUM_ARGS,T))\r
+#endif\r
+\r
+template<typename R BOOST_FUNCTION_COMMA\r
+         BOOST_FUNCTION_TEMPLATE_PARMS>\r
+class function<BOOST_FUNCTION_PARTIAL_SPEC>\r
+  : public BOOST_FUNCTION_FUNCTION<R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_ARGS>\r
+{\r
+  typedef BOOST_FUNCTION_FUNCTION<R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_ARGS> base_type;\r
+  typedef function self_type;\r
+\r
+  struct clear_type {};\r
+\r
+public:\r
+\r
+  function() : base_type() {}\r
+\r
+  template<typename Functor>\r
+  function(Functor f\r
+#ifndef BOOST_NO_SFINAE\r
+           ,typename enable_if_c<\r
+                            (boost::type_traits::ice_not<\r
+                          (is_integral<Functor>::value)>::value),\r
+                       int>::type = 0\r
+#endif\r
+           ) :\r
+    base_type(f)\r
+  {\r
+  }\r
+  template<typename Functor,typename Allocator>\r
+  function(Functor f, Allocator a\r
+#ifndef BOOST_NO_SFINAE\r
+           ,typename enable_if_c<\r
+                            (boost::type_traits::ice_not<\r
+                          (is_integral<Functor>::value)>::value),\r
+                       int>::type = 0\r
+#endif\r
+           ) :\r
+    base_type(f,a)\r
+  {\r
+  }\r
+\r
+#ifndef BOOST_NO_SFINAE\r
+  function(clear_type*) : base_type() {}\r
+#endif\r
+\r
+  function(const self_type& f) : base_type(static_cast<const base_type&>(f)){}\r
+\r
+  function(const base_type& f) : base_type(static_cast<const base_type&>(f)){}\r
+\r
+  self_type& operator=(const self_type& f)\r
+  {\r
+    self_type(f).swap(*this);\r
+    return *this;\r
+  }\r
+\r
+  template<typename Functor>\r
+#ifndef BOOST_NO_SFINAE\r
+  typename enable_if_c<\r
+                            (boost::type_traits::ice_not<\r
+                         (is_integral<Functor>::value)>::value),\r
+                      self_type&>::type\r
+#else\r
+  self_type&\r
+#endif\r
+  operator=(Functor f)\r
+  {\r
+    self_type(f).swap(*this);\r
+    return *this;\r
+  }\r
+\r
+#ifndef BOOST_NO_SFINAE\r
+  self_type& operator=(clear_type*)\r
+  {\r
+    this->clear();\r
+    return *this;\r
+  }\r
+#endif\r
+\r
+  self_type& operator=(const base_type& f)\r
+  {\r
+    self_type(f).swap(*this);\r
+    return *this;\r
+  }\r
+};\r
+\r
+#undef BOOST_FUNCTION_PARTIAL_SPEC\r
+#endif // have partial specialization\r
+\r
+} // end namespace boost\r
+\r
+// Cleanup after ourselves...\r
+#undef BOOST_FUNCTION_VTABLE\r
+#undef BOOST_FUNCTION_COMMA\r
+#undef BOOST_FUNCTION_FUNCTION\r
+#undef BOOST_FUNCTION_FUNCTION_INVOKER\r
+#undef BOOST_FUNCTION_VOID_FUNCTION_INVOKER\r
+#undef BOOST_FUNCTION_FUNCTION_OBJ_INVOKER\r
+#undef BOOST_FUNCTION_VOID_FUNCTION_OBJ_INVOKER\r
+#undef BOOST_FUNCTION_FUNCTION_REF_INVOKER\r
+#undef BOOST_FUNCTION_VOID_FUNCTION_REF_INVOKER\r
+#undef BOOST_FUNCTION_MEMBER_INVOKER\r
+#undef BOOST_FUNCTION_VOID_MEMBER_INVOKER\r
+#undef BOOST_FUNCTION_GET_FUNCTION_INVOKER\r
+#undef BOOST_FUNCTION_GET_FUNCTION_OBJ_INVOKER\r
+#undef BOOST_FUNCTION_GET_FUNCTION_REF_INVOKER\r
+#undef BOOST_FUNCTION_GET_MEM_FUNCTION_INVOKER\r
+#undef BOOST_FUNCTION_GET_INVOKER\r
+#undef BOOST_FUNCTION_TEMPLATE_PARMS\r
+#undef BOOST_FUNCTION_TEMPLATE_ARGS\r
+#undef BOOST_FUNCTION_PARMS\r
+#undef BOOST_FUNCTION_PARM\r
+#undef BOOST_FUNCTION_ARGS\r
+#undef BOOST_FUNCTION_ARG_TYPE\r
+#undef BOOST_FUNCTION_ARG_TYPES\r
+#undef BOOST_FUNCTION_VOID_RETURN_TYPE\r
+#undef BOOST_FUNCTION_RETURN\r
+\r
+#if defined(BOOST_MSVC)\r
+#   pragma warning( pop )\r
+#endif       \r
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 (file)
index 0000000..b2c1255
--- /dev/null
@@ -0,0 +1,45 @@
+// Boost.Function library - Typeof support\r
+//  Copyright (C) Douglas Gregor 2008\r
+//\r
+//  Use, modification and distribution is subject to the Boost\r
+//  Software License, Version 1.0.  (See accompanying file\r
+//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// For more information, see http://www.boost.org\r
+#ifndef BOOST_FUNCTION_TYPEOF_HPP\r
+#define BOOST_FUNCTION_TYPEOF_HPP\r
+#include <boost/function/function_fwd.hpp>\r
+#include <boost/typeof/typeof.hpp>\r
+\r
+#include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()\r
+\r
+BOOST_TYPEOF_REGISTER_TYPE(boost::bad_function_call)\r
+\r
+#if !defined(BOOST_FUNCTION_NO_FUNCTION_TYPE_SYNTAX)\r
+BOOST_TYPEOF_REGISTER_TEMPLATE(boost::function, (typename))\r
+#endif\r
+\r
+BOOST_TYPEOF_REGISTER_TEMPLATE(boost::function0, (typename))\r
+BOOST_TYPEOF_REGISTER_TEMPLATE(boost::function1, (typename)(typename))\r
+BOOST_TYPEOF_REGISTER_TEMPLATE(boost::function2, (typename)(typename)(typename))\r
+BOOST_TYPEOF_REGISTER_TEMPLATE(boost::function3, \r
+  (typename)(typename)(typename)(typename))\r
+BOOST_TYPEOF_REGISTER_TEMPLATE(boost::function4, \r
+  (typename)(typename)(typename)(typename)(typename))\r
+BOOST_TYPEOF_REGISTER_TEMPLATE(boost::function5, \r
+  (typename)(typename)(typename)(typename)(typename)(typename))\r
+BOOST_TYPEOF_REGISTER_TEMPLATE(boost::function6, \r
+  (typename)(typename)(typename)(typename)(typename)(typename)(typename))\r
+BOOST_TYPEOF_REGISTER_TEMPLATE(boost::function7, \r
+  (typename)(typename)(typename)(typename)(typename)(typename)(typename)\r
+  (typename))\r
+BOOST_TYPEOF_REGISTER_TEMPLATE(boost::function8, \r
+  (typename)(typename)(typename)(typename)(typename)(typename)(typename)\r
+  (typename)(typename))\r
+BOOST_TYPEOF_REGISTER_TEMPLATE(boost::function9, \r
+  (typename)(typename)(typename)(typename)(typename)(typename)(typename)\r
+  (typename)(typename)(typename))\r
+BOOST_TYPEOF_REGISTER_TEMPLATE(boost::function10, \r
+  (typename)(typename)(typename)(typename)(typename)(typename)(typename)\r
+  (typename)(typename)(typename)(typename))\r
+#endif\r
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 (file)
index 0000000..6d1ca2f
--- /dev/null
@@ -0,0 +1,26 @@
+#!/usr/bin/perl -w\r
+#\r
+# Boost.Function library\r
+#\r
+# Copyright Douglas Gregor 2001-2003. Use, modification and\r
+# distribution is subject to the Boost Software License, Version\r
+# 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+# http://www.boost.org/LICENSE_1_0.txt)\r
+#\r
+# For more information, see http://www.boost.org\r
+use English;\r
+\r
+if ($#ARGV < 0) {\r
+  print "Usage: perl gen_function_N <number of arguments>\n";\r
+  exit;\r
+}\r
+\r
+\r
+$totalNumArgs = $ARGV[0];\r
+for ($numArgs = 0; $numArgs <= $totalNumArgs; ++$numArgs) {\r
+  open OUT, ">function$numArgs.hpp";\r
+  print OUT "#define BOOST_FUNCTION_NUM_ARGS $numArgs\n";\r
+  print OUT "#include <boost/function/detail/maybe_include.hpp>\n";\r
+  print OUT "#undef BOOST_FUNCTION_NUM_ARGS\n";\r
+  close OUT;\r
+}\r
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 (file)
index 0000000..35e6642
--- /dev/null
@@ -0,0 +1,28 @@
+//  Copyright Douglas Gregor 2004.\r
+//  Copyright 2005 Peter Dimov\r
+\r
+//  Use, modification and distribution is subject to\r
+//  the Boost Software License, Version 1.0.\r
+//  (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+// For more information, see http://www.boost.org\r
+#ifndef BOOST_FUNCTION_EQUAL_HPP\r
+#define BOOST_FUNCTION_EQUAL_HPP\r
+\r
+namespace boost {\r
+\r
+template<typename F, typename G>\r
+  bool function_equal_impl(const F& f, const G& g, long)\r
+  { return f == g; }\r
+\r
+// function_equal_impl needs to be unqualified to pick\r
+// user overloads on two-phase compilers\r
+\r
+template<typename F, typename G>\r
+  bool function_equal(const F& f, const G& g)\r
+  { return function_equal_impl(f, g, 0); }\r
+\r
+} // end namespace boost\r
+\r
+#endif // BOOST_FUNCTION_EQUAL_HPP\r
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 (file)
index 0000000..1a34671
--- /dev/null
@@ -0,0 +1,33 @@
+// Copyright Peter Dimov and David Abrahams 2002.\r
+// Distributed under the Boost Software License, Version 1.0. (See\r
+// accompanying file LICENSE_1_0.txt or copy at\r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+#ifndef GET_POINTER_DWA20021219_HPP\r
+# define GET_POINTER_DWA20021219_HPP\r
+\r
+// In order to avoid circular dependencies with Boost.TR1\r
+// we make sure that our include of <memory> doesn't try to\r
+// pull in the TR1 headers: that's why we use this header \r
+// rather than including <memory> directly:\r
+# include <boost/config/no_tr1/memory.hpp>  // std::auto_ptr\r
+\r
+namespace boost { \r
+\r
+// get_pointer(p) extracts a ->* capable pointer from p\r
+\r
+template<class T> T * get_pointer(T * p)\r
+{\r
+    return p;\r
+}\r
+\r
+// get_pointer(shared_ptr<T> const & p) has been moved to shared_ptr.hpp\r
+\r
+template<class T> T * get_pointer(std::auto_ptr<T> const& p)\r
+{\r
+    return p.get();\r
+}\r
+\r
+\r
+} // namespace boost\r
+\r
+#endif // GET_POINTER_DWA20021219_HPP\r
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 (file)
index 0000000..b0ff30a
--- /dev/null
@@ -0,0 +1,29 @@
+// Copyright David Abrahams 2003.\r
+// Distributed under the Boost Software License, Version 1.0. (See\r
+// accompanying file LICENSE_1_0.txt or copy at\r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+#ifndef IMPLICIT_CAST_DWA200356_HPP\r
+# define IMPLICIT_CAST_DWA200356_HPP\r
+\r
+# include <boost/mpl/identity.hpp>\r
+\r
+namespace boost {\r
+\r
+// implementation originally suggested by C. Green in\r
+// http://lists.boost.org/MailArchives/boost/msg00886.php\r
+\r
+// The use of identity creates a non-deduced form, so that the\r
+// explicit template argument must be supplied\r
+template <typename T>\r
+inline T implicit_cast (typename mpl::identity<T>::type x) {\r
+    return x;\r
+}\r
+\r
+// incomplete return type now is here\r
+//template <typename T>\r
+//void implicit_cast (...);\r
+\r
+} // namespace boost\r
+\r
+\r
+#endif // IMPLICIT_CAST_DWA200356_HPP\r
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 (file)
index 0000000..28a1325
--- /dev/null
@@ -0,0 +1,253 @@
+//  boost integer.hpp header file  -------------------------------------------//\r
+\r
+//  Copyright Beman Dawes and Daryle Walker 1999.  Distributed under the Boost\r
+//  Software License, Version 1.0. (See accompanying file\r
+//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+//  See http://www.boost.org/libs/integer for documentation.\r
+\r
+//  Revision History\r
+//   22 Sep 01  Added value-based integer templates. (Daryle Walker)\r
+//   01 Apr 01  Modified to use new <boost/limits.hpp> header. (John Maddock)\r
+//   30 Jul 00  Add typename syntax fix (Jens Maurer)\r
+//   28 Aug 99  Initial version\r
+\r
+#ifndef BOOST_INTEGER_HPP\r
+#define BOOST_INTEGER_HPP\r
+\r
+#include <boost/integer_fwd.hpp>  // self include\r
+\r
+#include <boost/integer_traits.hpp>  // for boost::::boost::integer_traits\r
+#include <boost/limits.hpp>          // for ::std::numeric_limits\r
+#include <boost/cstdint.hpp>         // for boost::int64_t and BOOST_NO_INTEGRAL_INT64_T\r
+\r
+//\r
+// We simply cannot include this header on gcc without getting copious warnings of the kind:\r
+//\r
+// boost/integer.hpp:77:30: warning: use of C99 long long integer constant\r
+//\r
+// And yet there is no other reasonable implementation, so we declare this a system header\r
+// to suppress these warnings.\r
+//\r
+#if defined(__GNUC__) && (__GNUC__ >= 4)\r
+#pragma GCC system_header\r
+#endif\r
+\r
+namespace boost\r
+{\r
+\r
+  //  Helper templates  ------------------------------------------------------//\r
+\r
+  //  fast integers from least integers\r
+  //  int_fast_t<> works correctly for unsigned too, in spite of the name.\r
+  template< typename LeastInt >\r
+  struct int_fast_t \r
+  { \r
+     typedef LeastInt fast; \r
+     typedef fast     type;\r
+  }; // imps may specialize\r
+\r
+  namespace detail{\r
+\r
+  //  convert category to type \r
+  template< int Category > struct int_least_helper {}; // default is empty\r
+\r
+  //  specializatons: 1=long, 2=int, 3=short, 4=signed char,\r
+  //     6=unsigned long, 7=unsigned int, 8=unsigned short, 9=unsigned char\r
+  //  no specializations for 0 and 5: requests for a type > long are in error\r
+#ifdef BOOST_HAS_LONG_LONG\r
+  template<> struct int_least_helper<1> { typedef boost::long_long_type least; };\r
+#endif\r
+  template<> struct int_least_helper<2> { typedef long least; };\r
+  template<> struct int_least_helper<3> { typedef int least; };\r
+  template<> struct int_least_helper<4> { typedef short least; };\r
+  template<> struct int_least_helper<5> { typedef signed char least; };\r
+#ifdef BOOST_HAS_LONG_LONG\r
+  template<> struct int_least_helper<6> { typedef boost::ulong_long_type least; };\r
+#endif\r
+  template<> struct int_least_helper<7> { typedef unsigned long least; };\r
+  template<> struct int_least_helper<8> { typedef unsigned int least; };\r
+  template<> struct int_least_helper<9> { typedef unsigned short least; };\r
+  template<> struct int_least_helper<10> { typedef unsigned char least; };\r
+\r
+  template <int Bits>\r
+  struct exact_signed_base_helper{};\r
+  template <int Bits>\r
+  struct exact_unsigned_base_helper{};\r
+\r
+  template <> struct exact_signed_base_helper<sizeof(signed char)* CHAR_BIT> { typedef signed char exact; };\r
+  template <> struct exact_unsigned_base_helper<sizeof(unsigned char)* CHAR_BIT> { typedef unsigned char exact; };\r
+#if USHRT_MAX != UCHAR_MAX\r
+  template <> struct exact_signed_base_helper<sizeof(short)* CHAR_BIT> { typedef short exact; };\r
+  template <> struct exact_unsigned_base_helper<sizeof(unsigned short)* CHAR_BIT> { typedef unsigned short exact; };\r
+#endif\r
+#if UINT_MAX != USHRT_MAX\r
+  template <> struct exact_signed_base_helper<sizeof(int)* CHAR_BIT> { typedef int exact; };\r
+  template <> struct exact_unsigned_base_helper<sizeof(unsigned int)* CHAR_BIT> { typedef unsigned int exact; };\r
+#endif\r
+#if ULONG_MAX != UINT_MAX\r
+  template <> struct exact_signed_base_helper<sizeof(long)* CHAR_BIT> { typedef long exact; };\r
+  template <> struct exact_unsigned_base_helper<sizeof(unsigned long)* CHAR_BIT> { typedef unsigned long exact; };\r
+#endif\r
+#if defined(BOOST_HAS_LONG_LONG) &&\\r
+   ((defined(ULLONG_MAX) && (ULLONG_MAX != ULONG_MAX)) ||\\r
+    (defined(ULONG_LONG_MAX) && (ULONG_LONG_MAX != ULONG_MAX)) ||\\r
+    (defined(ULONGLONG_MAX) && (ULONGLONG_MAX != ULONG_MAX)) ||\\r
+    (defined(_ULLONG_MAX) && (_ULLONG_MAX != ULONG_MAX)))\r
+  template <> struct exact_signed_base_helper<sizeof(boost::long_long_type)* CHAR_BIT> { typedef boost::long_long_type exact; };\r
+  template <> struct exact_unsigned_base_helper<sizeof(boost::ulong_long_type)* CHAR_BIT> { typedef boost::ulong_long_type exact; };\r
+#endif\r
+\r
+\r
+  } // namespace detail\r
+\r
+  //  integer templates specifying number of bits  ---------------------------//\r
+\r
+  //  signed\r
+  template< int Bits >   // bits (including sign) required\r
+  struct int_t : public detail::exact_signed_base_helper<Bits>\r
+  {\r
+      typedef typename detail::int_least_helper\r
+        <\r
+#ifdef BOOST_HAS_LONG_LONG\r
+          (Bits-1 <= (int)(sizeof(boost::long_long_type) * CHAR_BIT)) +\r
+#else\r
+           1 +\r
+#endif\r
+          (Bits-1 <= ::std::numeric_limits<long>::digits) +\r
+          (Bits-1 <= ::std::numeric_limits<int>::digits) +\r
+          (Bits-1 <= ::std::numeric_limits<short>::digits) +\r
+          (Bits-1 <= ::std::numeric_limits<signed char>::digits)\r
+        >::least  least;\r
+      typedef typename int_fast_t<least>::type  fast;\r
+  };\r
+\r
+  //  unsigned\r
+  template< int Bits >   // bits required\r
+  struct uint_t : public detail::exact_unsigned_base_helper<Bits>\r
+  {\r
+#if (defined(__BORLANDC__) || defined(__CODEGEAR__)) && defined(BOOST_NO_INTEGRAL_INT64_T)\r
+     // It's really not clear why this workaround should be needed... shrug I guess!  JM\r
+     BOOST_STATIC_CONSTANT(int, s = \r
+           6 +\r
+          (Bits <= ::std::numeric_limits<unsigned long>::digits) +\r
+          (Bits <= ::std::numeric_limits<unsigned int>::digits) +\r
+          (Bits <= ::std::numeric_limits<unsigned short>::digits) +\r
+          (Bits <= ::std::numeric_limits<unsigned char>::digits));\r
+     typedef typename detail::int_least_helper< ::boost::uint_t<Bits>::s>::least least;\r
+#else\r
+      typedef typename detail::int_least_helper\r
+        < \r
+          5 +\r
+#ifdef BOOST_HAS_LONG_LONG\r
+          (Bits-1 <= (int)(sizeof(boost::long_long_type) * CHAR_BIT)) +\r
+#else\r
+           1 +\r
+#endif\r
+          (Bits <= ::std::numeric_limits<unsigned long>::digits) +\r
+          (Bits <= ::std::numeric_limits<unsigned int>::digits) +\r
+          (Bits <= ::std::numeric_limits<unsigned short>::digits) +\r
+          (Bits <= ::std::numeric_limits<unsigned char>::digits)\r
+        >::least  least;\r
+#endif\r
+      typedef typename int_fast_t<least>::type  fast;\r
+      // int_fast_t<> works correctly for unsigned too, in spite of the name.\r
+  };\r
+\r
+  //  integer templates specifying extreme value  ----------------------------//\r
+\r
+  //  signed\r
+#if !defined(BOOST_NO_INTEGRAL_INT64_T) && defined(BOOST_HAS_LONG_LONG)\r
+  template< boost::long_long_type MaxValue >   // maximum value to require support\r
+#else\r
+  template< long MaxValue >   // maximum value to require support\r
+#endif\r
+  struct int_max_value_t \r
+  {\r
+      typedef typename detail::int_least_helper\r
+        <\r
+#if !defined(BOOST_NO_INTEGRAL_INT64_T) && defined(BOOST_HAS_LONG_LONG)\r
+          (MaxValue <= ::boost::integer_traits<boost::long_long_type>::const_max) +\r
+#else\r
+           1 +\r
+#endif\r
+          (MaxValue <= ::boost::integer_traits<long>::const_max) +\r
+          (MaxValue <= ::boost::integer_traits<int>::const_max) +\r
+          (MaxValue <= ::boost::integer_traits<short>::const_max) +\r
+          (MaxValue <= ::boost::integer_traits<signed char>::const_max)\r
+        >::least  least;\r
+      typedef typename int_fast_t<least>::type  fast;\r
+  };\r
+\r
+#if !defined(BOOST_NO_INTEGRAL_INT64_T) && defined(BOOST_HAS_LONG_LONG)\r
+  template< boost::long_long_type MinValue >   // minimum value to require support\r
+#else\r
+  template< long MinValue >   // minimum value to require support\r
+#endif\r
+  struct int_min_value_t \r
+  {\r
+      typedef typename detail::int_least_helper\r
+        <\r
+#if !defined(BOOST_NO_INTEGRAL_INT64_T) && defined(BOOST_HAS_LONG_LONG)\r
+          (MinValue >= ::boost::integer_traits<boost::long_long_type>::const_min) +\r
+#else\r
+           1 +\r
+#endif\r
+          (MinValue >= ::boost::integer_traits<long>::const_min) +\r
+          (MinValue >= ::boost::integer_traits<int>::const_min) +\r
+          (MinValue >= ::boost::integer_traits<short>::const_min) +\r
+          (MinValue >= ::boost::integer_traits<signed char>::const_min)\r
+        >::least  least;\r
+      typedef typename int_fast_t<least>::type  fast;\r
+  };\r
+\r
+  //  unsigned\r
+#if !defined(BOOST_NO_INTEGRAL_INT64_T) && defined(BOOST_HAS_LONG_LONG)\r
+  template< boost::ulong_long_type MaxValue >   // minimum value to require support\r
+#else\r
+  template< unsigned long MaxValue >   // minimum value to require support\r
+#endif\r
+  struct uint_value_t \r
+  {\r
+#if (defined(__BORLANDC__) || defined(__CODEGEAR__))\r
+     // It's really not clear why this workaround should be needed... shrug I guess!  JM\r
+#if defined(BOOST_NO_INTEGRAL_INT64_T)\r
+      BOOST_STATIC_CONSTANT(unsigned, which = \r
+           6 +\r
+          (MaxValue <= ::boost::integer_traits<unsigned long>::const_max) +\r
+          (MaxValue <= ::boost::integer_traits<unsigned int>::const_max) +\r
+          (MaxValue <= ::boost::integer_traits<unsigned short>::const_max) +\r
+          (MaxValue <= ::boost::integer_traits<unsigned char>::const_max));\r
+      typedef typename detail::int_least_helper< ::boost::uint_value_t<MaxValue>::which>::least least;\r
+#else // BOOST_NO_INTEGRAL_INT64_T\r
+      BOOST_STATIC_CONSTANT(unsigned, which = \r
+           5 +\r
+          (MaxValue <= ::boost::integer_traits<boost::ulong_long_type>::const_max) +\r
+          (MaxValue <= ::boost::integer_traits<unsigned long>::const_max) +\r
+          (MaxValue <= ::boost::integer_traits<unsigned int>::const_max) +\r
+          (MaxValue <= ::boost::integer_traits<unsigned short>::const_max) +\r
+          (MaxValue <= ::boost::integer_traits<unsigned char>::const_max));\r
+      typedef typename detail::int_least_helper< ::boost::uint_value_t<MaxValue>::which>::least least;\r
+#endif // BOOST_NO_INTEGRAL_INT64_T\r
+#else\r
+      typedef typename detail::int_least_helper\r
+        < \r
+          5 +\r
+#if !defined(BOOST_NO_INTEGRAL_INT64_T) && defined(BOOST_HAS_LONG_LONG)\r
+          (MaxValue <= ::boost::integer_traits<boost::ulong_long_type>::const_max) +\r
+#else\r
+           1 +\r
+#endif\r
+          (MaxValue <= ::boost::integer_traits<unsigned long>::const_max) +\r
+          (MaxValue <= ::boost::integer_traits<unsigned int>::const_max) +\r
+          (MaxValue <= ::boost::integer_traits<unsigned short>::const_max) +\r
+          (MaxValue <= ::boost::integer_traits<unsigned char>::const_max)\r
+        >::least  least;\r
+#endif\r
+      typedef typename int_fast_t<least>::type  fast;\r
+  };\r
+\r
+\r
+} // namespace boost\r
+\r
+#endif  // BOOST_INTEGER_HPP\r
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 (file)
index 0000000..1c83c82
--- /dev/null
@@ -0,0 +1,102 @@
+//  Boost integer/integer_mask.hpp header file  ------------------------------//\r
+\r
+//  (C) Copyright Daryle Walker 2001.\r
+//  Distributed under the Boost Software License, Version 1.0. (See\r
+//  accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+//  See http://www.boost.org for updates, documentation, and revision history. \r
+\r
+#ifndef BOOST_INTEGER_INTEGER_MASK_HPP\r
+#define BOOST_INTEGER_INTEGER_MASK_HPP\r
+\r
+#include <boost/integer_fwd.hpp>  // self include\r
+\r
+#include <boost/config.hpp>   // for BOOST_STATIC_CONSTANT\r
+#include <boost/integer.hpp>  // for boost::uint_t\r
+\r
+#include <climits>  // for UCHAR_MAX, etc.\r
+#include <cstddef>  // for std::size_t\r
+\r
+#include <boost/limits.hpp>  // for std::numeric_limits\r
+\r
+\r
+namespace boost\r
+{\r
+\r
+\r
+//  Specified single-bit mask class declaration  -----------------------------//\r
+//  (Lowest bit starts counting at 0.)\r
+\r
+template < std::size_t Bit >\r
+struct high_bit_mask_t\r
+{\r
+    typedef typename uint_t<(Bit + 1)>::least  least;\r
+    typedef typename uint_t<(Bit + 1)>::fast   fast;\r
+\r
+    BOOST_STATIC_CONSTANT( least, high_bit = (least( 1u ) << Bit) );\r
+    BOOST_STATIC_CONSTANT( fast, high_bit_fast = (fast( 1u ) << Bit) );\r
+\r
+    BOOST_STATIC_CONSTANT( std::size_t, bit_position = Bit );\r
+\r
+};  // boost::high_bit_mask_t\r
+\r
+\r
+//  Specified bit-block mask class declaration  ------------------------------//\r
+//  Makes masks for the lowest N bits\r
+//  (Specializations are needed when N fills up a type.)\r
+\r
+template < std::size_t Bits >\r
+struct low_bits_mask_t\r
+{\r
+    typedef typename uint_t<Bits>::least  least;\r
+    typedef typename uint_t<Bits>::fast   fast;\r
+\r
+    BOOST_STATIC_CONSTANT( least, sig_bits = (~( ~(least( 0u )) << Bits )) );\r
+    BOOST_STATIC_CONSTANT( fast, sig_bits_fast = fast(sig_bits) );\r
+\r
+    BOOST_STATIC_CONSTANT( std::size_t, bit_count = Bits );\r
+\r
+};  // boost::low_bits_mask_t\r
+\r
+\r
+#define BOOST_LOW_BITS_MASK_SPECIALIZE( Type )                                  \\r
+  template <  >  struct low_bits_mask_t< std::numeric_limits<Type>::digits >  { \\r
+      typedef std::numeric_limits<Type>           limits_type;                  \\r
+      typedef uint_t<limits_type::digits>::least  least;                        \\r
+      typedef uint_t<limits_type::digits>::fast   fast;                         \\r
+      BOOST_STATIC_CONSTANT( least, sig_bits = (~( least(0u) )) );              \\r
+      BOOST_STATIC_CONSTANT( fast, sig_bits_fast = fast(sig_bits) );            \\r
+      BOOST_STATIC_CONSTANT( std::size_t, bit_count = limits_type::digits );    \\r
+  }\r
+\r
+#ifdef BOOST_MSVC\r
+#pragma warning(push)\r
+#pragma warning(disable:4245)  // 'initializing' : conversion from 'int' to 'const boost::low_bits_mask_t<8>::least', signed/unsigned mismatch\r
+#endif\r
+\r
+BOOST_LOW_BITS_MASK_SPECIALIZE( unsigned char );\r
+\r
+#if USHRT_MAX > UCHAR_MAX\r
+BOOST_LOW_BITS_MASK_SPECIALIZE( unsigned short );\r
+#endif\r
+\r
+#if UINT_MAX > USHRT_MAX\r
+BOOST_LOW_BITS_MASK_SPECIALIZE( unsigned int );\r
+#endif\r
+\r
+#if ULONG_MAX > UINT_MAX\r
+BOOST_LOW_BITS_MASK_SPECIALIZE( unsigned long );\r
+#endif\r
+\r
+#ifdef BOOST_MSVC\r
+#pragma warning(pop)\r
+#endif\r
+\r
+#undef BOOST_LOW_BITS_MASK_SPECIALIZE\r
+\r
+\r
+}  // namespace boost\r
+\r
+\r
+#endif  // BOOST_INTEGER_INTEGER_MASK_HPP\r
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 (file)
index 0000000..2d3b8c0
--- /dev/null
@@ -0,0 +1,127 @@
+// -------------- Boost static_log2.hpp header file  ----------------------- //\r
+//\r
+//                 Copyright (C) 2001 Daryle Walker.\r
+//                 Copyright (C) 2003 Vesa Karvonen.\r
+//                 Copyright (C) 2003 Gennaro Prota.\r
+//\r
+//     Distributed under the Boost Software License, Version 1.0.\r
+//        (See accompanying file LICENSE_1_0.txt or copy at\r
+//              http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+//         ---------------------------------------------------\r
+//       See http://www.boost.org/libs/integer for documentation.\r
+// ------------------------------------------------------------------------- //\r
+\r
+\r
+#ifndef BOOST_INTEGER_STATIC_LOG2_HPP\r
+#define BOOST_INTEGER_STATIC_LOG2_HPP\r
+\r
+#include "boost/integer_fwd.hpp" // for boost::intmax_t\r
+\r
+namespace boost {\r
+\r
+ namespace detail {\r
+\r
+     namespace static_log2_impl {\r
+\r
+     // choose_initial_n<>\r
+     //\r
+     // Recursively doubles its integer argument, until it\r
+     // becomes >= of the "width" (C99, 6.2.6.2p4) of\r
+     // static_log2_argument_type.\r
+     //\r
+     // Used to get the maximum power of two less then the width.\r
+     //\r
+     // Example: if on your platform argument_type has 48 value\r
+     //          bits it yields n=32.\r
+     //\r
+     // It's easy to prove that, starting from such a value\r
+     // of n, the core algorithm works correctly for any width\r
+     // of static_log2_argument_type and that recursion always\r
+     // terminates with x = 1 and n = 0 (see the algorithm's\r
+     // invariant).\r
+\r
+     typedef boost::static_log2_argument_type argument_type;\r
+     typedef boost::static_log2_result_type result_type;\r
+\r
+     template <result_type n>\r
+     struct choose_initial_n {\r
+\r
+         BOOST_STATIC_CONSTANT(bool, c = (argument_type(1) << n << n) != 0);\r
+         BOOST_STATIC_CONSTANT(\r
+             result_type,\r
+             value = !c*n + choose_initial_n<2*c*n>::value\r
+         );\r
+\r
+     };\r
+\r
+     template <>\r
+     struct choose_initial_n<0> {\r
+         BOOST_STATIC_CONSTANT(result_type, value = 0);\r
+     };\r
+\r
+\r
+\r
+     // start computing from n_zero - must be a power of two\r
+     const result_type n_zero = 16;\r
+     const result_type initial_n = choose_initial_n<n_zero>::value;\r
+\r
+     // static_log2_impl<>\r
+     //\r
+     // * Invariant:\r
+     //                 2n\r
+     //  1 <= x && x < 2    at the start of each recursion\r
+     //                     (see also choose_initial_n<>)\r
+     //\r
+     // * Type requirements:\r
+     //\r
+     //   argument_type maybe any unsigned type with at least n_zero + 1\r
+     //   value bits. (Note: If larger types will be standardized -e.g.\r
+     //   unsigned long long- then the argument_type typedef can be\r
+     //   changed without affecting the rest of the code.)\r
+     //\r
+\r
+     template <argument_type x, result_type n = initial_n>\r
+     struct static_log2_impl {\r
+\r
+         BOOST_STATIC_CONSTANT(bool, c = (x >> n) > 0); // x >= 2**n ?\r
+         BOOST_STATIC_CONSTANT(\r
+             result_type,\r
+             value = c*n + (static_log2_impl< (x>>c*n), n/2 >::value)\r
+         );\r
+\r
+     };\r
+\r
+     template <>\r
+     struct static_log2_impl<1, 0> {\r
+        BOOST_STATIC_CONSTANT(result_type, value = 0);\r
+     };\r
+\r
+     }\r
+ } // detail\r
+\r
+\r
+\r
+ // --------------------------------------\r
+ // static_log2<x>\r
+ // ----------------------------------------\r
+\r
+ template <static_log2_argument_type x>\r
+ struct static_log2 {\r
+\r
+     BOOST_STATIC_CONSTANT(\r
+         static_log2_result_type,\r
+         value = detail::static_log2_impl::static_log2_impl<x>::value\r
+     );\r
+\r
+ };\r
+\r
+\r
+ template <>\r
+ struct static_log2<0> { };\r
+\r
+}\r
+\r
+\r
+\r
+#endif // include guard\r
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 (file)
index 0000000..036aa8e
--- /dev/null
@@ -0,0 +1,51 @@
+//  Boost integer/static_min_max.hpp header file  ----------------------------//\r
+\r
+//  (C) Copyright Daryle Walker 2001.\r
+//  Distributed under the Boost Software License, Version 1.0. (See\r
+//  accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+//  See http://www.boost.org for updates, documentation, and revision history. \r
+\r
+#ifndef BOOST_INTEGER_STATIC_MIN_MAX_HPP\r
+#define BOOST_INTEGER_STATIC_MIN_MAX_HPP\r
+\r
+#include <boost/integer_fwd.hpp>  // self include\r
+\r
+namespace boost\r
+{\r
+\r
+//  Compile-time extrema class declarations  ---------------------------------//\r
+//  Get the minimum or maximum of two values, signed or unsigned.\r
+\r
+template <static_min_max_signed_type Value1, static_min_max_signed_type Value2>\r
+struct static_signed_min\r
+{\r
+    BOOST_STATIC_CONSTANT(static_min_max_signed_type, value = (Value1 > Value2) ? Value2 : Value1 );\r
+};\r
+\r
+template <static_min_max_signed_type Value1, static_min_max_signed_type Value2>\r
+struct static_signed_max\r
+{\r
+    BOOST_STATIC_CONSTANT(static_min_max_signed_type, value = (Value1 < Value2) ? Value2 : Value1 );\r
+};\r
+\r
+template <static_min_max_unsigned_type Value1, static_min_max_unsigned_type Value2>\r
+struct static_unsigned_min\r
+{\r
+    BOOST_STATIC_CONSTANT(static_min_max_unsigned_type, value\r
+     = (Value1 > Value2) ? Value2 : Value1 );\r
+};\r
+\r
+template <static_min_max_unsigned_type Value1, static_min_max_unsigned_type Value2>\r
+struct static_unsigned_max\r
+{\r
+    BOOST_STATIC_CONSTANT(static_min_max_unsigned_type, value\r
+     = (Value1 < Value2) ? Value2 : Value1 );\r
+};\r
+\r
+\r
+}  // namespace boost\r
+\r
+\r
+#endif  // BOOST_INTEGER_STATIC_MIN_MAX_HPP\r
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 (file)
index 0000000..4198858
--- /dev/null
@@ -0,0 +1,174 @@
+//  Boost integer_fwd.hpp header file  ---------------------------------------//\r
+\r
+//  (C) Copyright Dave Abrahams and Daryle Walker 2001. Distributed under the Boost\r
+//  Software License, Version 1.0. (See accompanying file\r
+//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+//  See http://www.boost.org/libs/integer for documentation.\r
+\r
+#ifndef BOOST_INTEGER_FWD_HPP\r
+#define BOOST_INTEGER_FWD_HPP\r
+\r
+#include <climits>  // for UCHAR_MAX, etc.\r
+#include <cstddef>  // for std::size_t\r
+\r
+#include <boost/config.hpp>  // for BOOST_NO_INTRINSIC_WCHAR_T\r
+#include <boost/limits.hpp>  // for std::numeric_limits\r
+#include <boost/cstdint.hpp>  // For intmax_t\r
+\r
+\r
+namespace boost\r
+{\r
+\r
+#ifdef BOOST_NO_INTEGRAL_INT64_T\r
+     typedef unsigned long static_log2_argument_type;\r
+     typedef          int  static_log2_result_type;\r
+     typedef long          static_min_max_signed_type;\r
+     typedef unsigned long static_min_max_unsigned_type;\r
+#else\r
+     typedef boost::uintmax_t static_min_max_unsigned_type;\r
+     typedef boost::intmax_t  static_min_max_signed_type;\r
+     typedef boost::uintmax_t static_log2_argument_type;\r
+     typedef int              static_log2_result_type;\r
+#endif\r
+\r
+//  From <boost/cstdint.hpp>  ------------------------------------------------//\r
+\r
+// Only has typedefs or using statements, with #conditionals\r
+\r
+\r
+//  From <boost/integer_traits.hpp>  -----------------------------------------//\r
+\r
+template < class T >\r
+    class integer_traits;\r
+\r
+template <  >\r
+    class integer_traits< bool >;\r
+\r
+template <  >\r
+    class integer_traits< char >;\r
+\r
+template <  >\r
+    class integer_traits< signed char >;\r
+\r
+template <  >\r
+    class integer_traits< unsigned char >;\r
+\r
+#ifndef BOOST_NO_INTRINSIC_WCHAR_T\r
+template <  >\r
+    class integer_traits< wchar_t >;\r
+#endif\r
+\r
+template <  >\r
+    class integer_traits< short >;\r
+\r
+template <  >\r
+    class integer_traits< unsigned short >;\r
+\r
+template <  >\r
+    class integer_traits< int >;\r
+\r
+template <  >\r
+    class integer_traits< unsigned int >;\r
+\r
+template <  >\r
+    class integer_traits< long >;\r
+\r
+template <  >\r
+    class integer_traits< unsigned long >;\r
+\r
+#if !defined(BOOST_NO_INTEGRAL_INT64_T) && !defined(BOOST_NO_INT64_T) && (defined(BOOST_HAS_LONG_LONG) || defined(BOOST_HAS_MS_INT64))\r
+template <  >\r
+    class integer_traits<  ::boost::long_long_type>;\r
+\r
+template <  >\r
+    class integer_traits<  ::boost::ulong_long_type >;\r
+#endif\r
+\r
+\r
+//  From <boost/integer.hpp>  ------------------------------------------------//\r
+\r
+template < typename LeastInt >\r
+    struct int_fast_t;\r
+\r
+template< int Bits >\r
+    struct int_t;\r
+\r
+template< int Bits >\r
+    struct uint_t;\r
+\r
+#if !defined(BOOST_NO_INTEGRAL_INT64_T) && defined(BOOST_HAS_LONG_LONG)\r
+    template< boost::long_long_type MaxValue >   // maximum value to require support\r
+#else\r
+  template< long MaxValue >   // maximum value to require support\r
+#endif\r
+    struct int_max_value_t;\r
+\r
+#if !defined(BOOST_NO_INTEGRAL_INT64_T) && defined(BOOST_HAS_LONG_LONG)\r
+  template< boost::long_long_type MinValue >   // minimum value to require support\r
+#else\r
+  template< long MinValue >   // minimum value to require support\r
+#endif\r
+    struct int_min_value_t;\r
+\r
+#if !defined(BOOST_NO_INTEGRAL_INT64_T) && defined(BOOST_HAS_LONG_LONG)\r
+  template< boost::ulong_long_type MaxValue >   // maximum value to require support\r
+#else\r
+  template< unsigned long MaxValue >   // maximum value to require support\r
+#endif\r
+    struct uint_value_t;\r
+\r
+\r
+//  From <boost/integer/integer_mask.hpp>  -----------------------------------//\r
+\r
+template < std::size_t Bit >\r
+    struct high_bit_mask_t;\r
+\r
+template < std::size_t Bits >\r
+    struct low_bits_mask_t;\r
+\r
+template <  >\r
+    struct low_bits_mask_t< ::std::numeric_limits<unsigned char>::digits >;\r
+\r
+#if USHRT_MAX > UCHAR_MAX\r
+template <  >\r
+    struct low_bits_mask_t< ::std::numeric_limits<unsigned short>::digits >;\r
+#endif\r
+\r
+#if UINT_MAX > USHRT_MAX\r
+template <  >\r
+    struct low_bits_mask_t< ::std::numeric_limits<unsigned int>::digits >;\r
+#endif\r
+\r
+#if ULONG_MAX > UINT_MAX\r
+template <  >\r
+    struct low_bits_mask_t< ::std::numeric_limits<unsigned long>::digits >;\r
+#endif\r
+\r
+\r
+//  From <boost/integer/static_log2.hpp>  ------------------------------------//\r
+\r
+template <static_log2_argument_type Value >\r
+    struct static_log2;\r
+\r
+template <> struct static_log2<0u>;\r
+\r
+\r
+//  From <boost/integer/static_min_max.hpp>  ---------------------------------//\r
+\r
+template <static_min_max_signed_type Value1, static_min_max_signed_type Value2>\r
+    struct static_signed_min;\r
+\r
+template <static_min_max_signed_type Value1, static_min_max_signed_type Value2>\r
+    struct static_signed_max;\r
+\r
+template <static_min_max_unsigned_type Value1, static_min_max_unsigned_type Value2>\r
+    struct static_unsigned_min;\r
+\r
+template <static_min_max_unsigned_type Value1, static_min_max_unsigned_type Value2>\r
+    struct static_unsigned_max;\r
+\r
+}  // namespace boost\r
+\r
+\r
+#endif  // BOOST_INTEGER_FWD_HPP\r
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 (file)
index 0000000..09ff230
--- /dev/null
@@ -0,0 +1,261 @@
+/* boost integer_traits.hpp header file\r
+ *\r
+ * Copyright Jens Maurer 2000\r
+ * Distributed under the Boost Software License, Version 1.0. (See\r
+ * accompanying file LICENSE_1_0.txt or copy at\r
+ * http://www.boost.org/LICENSE_1_0.txt)\r
+ *\r
+ * $Id: integer_traits.hpp 58381 2009-12-14 18:14:48Z johnmaddock $\r
+ *\r
+ * Idea by Beman Dawes, Ed Brey, Steve Cleary, and Nathan Myers\r
+ */\r
+\r
+//  See http://www.boost.org/libs/integer for documentation.\r
+\r
+\r
+#ifndef BOOST_INTEGER_TRAITS_HPP\r
+#define BOOST_INTEGER_TRAITS_HPP\r
+\r
+#include <boost/config.hpp>\r
+#include <boost/limits.hpp>\r
+\r
+// These are an implementation detail and not part of the interface\r
+#include <limits.h>\r
+// we need wchar.h for WCHAR_MAX/MIN but not all platforms provide it,\r
+// and some may have <wchar.h> but not <cwchar> ...\r
+#if !defined(BOOST_NO_INTRINSIC_WCHAR_T) && (!defined(BOOST_NO_CWCHAR) || defined(sun) || defined(__sun) || defined(__QNX__))\r
+#include <wchar.h>\r
+#endif\r
+\r
+//\r
+// We simply cannot include this header on gcc without getting copious warnings of the kind:\r
+//\r
+// ../../../boost/integer_traits.hpp:164:66: warning: use of C99 long long integer constant\r
+//\r
+// And yet there is no other reasonable implementation, so we declare this a system header\r
+// to suppress these warnings.\r
+//\r
+#if defined(__GNUC__) && (__GNUC__ >= 4)\r
+#pragma GCC system_header\r
+#endif\r
+\r
+namespace boost {\r
+template<class T>\r
+class integer_traits : public std::numeric_limits<T>\r
+{\r
+public:\r
+  BOOST_STATIC_CONSTANT(bool, is_integral = false);\r
+};\r
+\r
+namespace detail {\r
+template<class T, T min_val, T max_val>\r
+class integer_traits_base\r
+{\r
+public:\r
+  BOOST_STATIC_CONSTANT(bool, is_integral = true);\r
+  BOOST_STATIC_CONSTANT(T, const_min = min_val);\r
+  BOOST_STATIC_CONSTANT(T, const_max = max_val);\r
+};\r
+\r
+#ifndef BOOST_NO_INCLASS_MEMBER_INITIALIZATION\r
+//  A definition is required even for integral static constants\r
+template<class T, T min_val, T max_val>\r
+const bool integer_traits_base<T, min_val, max_val>::is_integral;\r
+\r
+template<class T, T min_val, T max_val>\r
+const T integer_traits_base<T, min_val, max_val>::const_min;\r
+\r
+template<class T, T min_val, T max_val>\r
+const T integer_traits_base<T, min_val, max_val>::const_max;\r
+#endif\r
+\r
+} // namespace detail\r
+\r
+template<>\r
+class integer_traits<bool>\r
+  : public std::numeric_limits<bool>,\r
+    public detail::integer_traits_base<bool, false, true>\r
+{ };\r
+\r
+template<>\r
+class integer_traits<char>\r
+  : public std::numeric_limits<char>,\r
+    public detail::integer_traits_base<char, CHAR_MIN, CHAR_MAX>\r
+{ };\r
+\r
+template<>\r
+class integer_traits<signed char>\r
+  : public std::numeric_limits<signed char>,\r
+    public detail::integer_traits_base<signed char, SCHAR_MIN, SCHAR_MAX>\r
+{ };\r
+\r
+template<>\r
+class integer_traits<unsigned char>\r
+  : public std::numeric_limits<unsigned char>,\r
+    public detail::integer_traits_base<unsigned char, 0, UCHAR_MAX>\r
+{ };\r
+\r
+#ifndef BOOST_NO_INTRINSIC_WCHAR_T\r
+template<>\r
+class integer_traits<wchar_t>\r
+  : public std::numeric_limits<wchar_t>,\r
+    // Don't trust WCHAR_MIN and WCHAR_MAX with Mac OS X's native\r
+    // library: they are wrong!\r
+#if defined(WCHAR_MIN) && defined(WCHAR_MAX) && !defined(__APPLE__)\r
+    public detail::integer_traits_base<wchar_t, WCHAR_MIN, WCHAR_MAX>\r
+#elif defined(__BORLANDC__) || defined(__CYGWIN__) || defined(__MINGW32__) || (defined(__BEOS__) && defined(__GNUC__))\r
+    // No WCHAR_MIN and WCHAR_MAX, whar_t is short and unsigned:\r
+    public detail::integer_traits_base<wchar_t, 0, 0xffff>\r
+#elif (defined(__sgi) && (!defined(__SGI_STL_PORT) || __SGI_STL_PORT < 0x400))\\r
+    || (defined __APPLE__)\\r
+    || (defined(__OpenBSD__) && defined(__GNUC__))\\r
+    || (defined(__NetBSD__) && defined(__GNUC__))\\r
+    || (defined(__FreeBSD__) && defined(__GNUC__))\\r
+    || (defined(__DragonFly__) && defined(__GNUC__))\\r
+    || (defined(__hpux) && defined(__GNUC__) && (__GNUC__ == 3) && !defined(__SGI_STL_PORT))\r
+    // No WCHAR_MIN and WCHAR_MAX, wchar_t has the same range as int.\r
+    //  - SGI MIPSpro with native library\r
+    //  - gcc 3.x on HP-UX\r
+    //  - Mac OS X with native library\r
+    //  - gcc on FreeBSD, OpenBSD and NetBSD\r
+    public detail::integer_traits_base<wchar_t, INT_MIN, INT_MAX>\r
+#elif defined(__hpux) && defined(__GNUC__) && (__GNUC__ == 2) && !defined(__SGI_STL_PORT)\r
+    // No WCHAR_MIN and WCHAR_MAX, wchar_t has the same range as unsigned int.\r
+    //  - gcc 2.95.x on HP-UX\r
+    // (also, std::numeric_limits<wchar_t> appears to return the wrong values).\r
+    public detail::integer_traits_base<wchar_t, 0, UINT_MAX>\r
+#else\r
+#error No WCHAR_MIN and WCHAR_MAX present, please adjust integer_traits<> for your compiler.\r
+#endif\r
+{ };\r
+#endif // BOOST_NO_INTRINSIC_WCHAR_T\r
+\r
+template<>\r
+class integer_traits<short>\r
+  : public std::numeric_limits<short>,\r
+    public detail::integer_traits_base<short, SHRT_MIN, SHRT_MAX>\r
+{ };\r
+\r
+template<>\r
+class integer_traits<unsigned short>\r
+  : public std::numeric_limits<unsigned short>,\r
+    public detail::integer_traits_base<unsigned short, 0, USHRT_MAX>\r
+{ };\r
+\r
+template<>\r
+class integer_traits<int>\r
+  : public std::numeric_limits<int>,\r
+    public detail::integer_traits_base<int, INT_MIN, INT_MAX>\r
+{ };\r
+\r
+template<>\r
+class integer_traits<unsigned int>\r
+  : public std::numeric_limits<unsigned int>,\r
+    public detail::integer_traits_base<unsigned int, 0, UINT_MAX>\r
+{ };\r
+\r
+template<>\r
+class integer_traits<long>\r
+  : public std::numeric_limits<long>,\r
+    public detail::integer_traits_base<long, LONG_MIN, LONG_MAX>\r
+{ };\r
+\r
+template<>\r
+class integer_traits<unsigned long>\r
+  : public std::numeric_limits<unsigned long>,\r
+    public detail::integer_traits_base<unsigned long, 0, ULONG_MAX>\r
+{ };\r
+\r
+#if !defined(BOOST_NO_INTEGRAL_INT64_T) && !defined(BOOST_NO_INT64_T)\r
+#if defined(ULLONG_MAX) && defined(BOOST_HAS_LONG_LONG)\r
+\r
+template<>\r
+class integer_traits< ::boost::long_long_type>\r
+  : public std::numeric_limits< ::boost::long_long_type>,\r
+    public detail::integer_traits_base< ::boost::long_long_type, LLONG_MIN, LLONG_MAX>\r
+{ };\r
+\r
+template<>\r
+class integer_traits< ::boost::ulong_long_type>\r
+  : public std::numeric_limits< ::boost::ulong_long_type>,\r
+    public detail::integer_traits_base< ::boost::ulong_long_type, 0, ULLONG_MAX>\r
+{ };\r
+\r
+#elif defined(ULONG_LONG_MAX) && defined(BOOST_HAS_LONG_LONG)\r
+\r
+template<>\r
+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>{ };\r
+template<>\r
+class integer_traits< ::boost::ulong_long_type>\r
+  : public std::numeric_limits< ::boost::ulong_long_type>,\r
+    public detail::integer_traits_base< ::boost::ulong_long_type, 0, ULONG_LONG_MAX>\r
+{ };\r
+\r
+#elif defined(ULONGLONG_MAX) && defined(BOOST_HAS_LONG_LONG)\r
+\r
+template<>\r
+class integer_traits< ::boost::long_long_type>\r
+  : public std::numeric_limits< ::boost::long_long_type>,\r
+    public detail::integer_traits_base< ::boost::long_long_type, LONGLONG_MIN, LONGLONG_MAX>\r
+{ };\r
+\r
+template<>\r
+class integer_traits< ::boost::ulong_long_type>\r
+  : public std::numeric_limits< ::boost::ulong_long_type>,\r
+    public detail::integer_traits_base< ::boost::ulong_long_type, 0, ULONGLONG_MAX>\r
+{ };\r
+\r
+#elif defined(_LLONG_MAX) && defined(_C2) && defined(BOOST_HAS_LONG_LONG)\r
+\r
+template<>\r
+class integer_traits< ::boost::long_long_type>\r
+  : public std::numeric_limits< ::boost::long_long_type>,\r
+    public detail::integer_traits_base< ::boost::long_long_type, -_LLONG_MAX - _C2, _LLONG_MAX>\r
+{ };\r
+\r
+template<>\r
+class integer_traits< ::boost::ulong_long_type>\r
+  : public std::numeric_limits< ::boost::ulong_long_type>,\r
+    public detail::integer_traits_base< ::boost::ulong_long_type, 0, _ULLONG_MAX>\r
+{ };\r
+\r
+#elif defined(BOOST_HAS_LONG_LONG)\r
+//\r
+// we have long long but no constants, this happens for example with gcc in -ansi mode,\r
+// we'll just have to work out the values for ourselves (assumes 2's compliment representation):\r
+//\r
+template<>\r
+class integer_traits< ::boost::long_long_type>\r
+  : public std::numeric_limits< ::boost::long_long_type>,\r
+    public detail::integer_traits_base< ::boost::long_long_type, (1LL << (sizeof(::boost::long_long_type) - 1)), ~(1LL << (sizeof(::boost::long_long_type) - 1))>\r
+{ };\r
+\r
+template<>\r
+class integer_traits< ::boost::ulong_long_type>\r
+  : public std::numeric_limits< ::boost::ulong_long_type>,\r
+    public detail::integer_traits_base< ::boost::ulong_long_type, 0, ~0uLL>\r
+{ };\r
+\r
+#elif defined(BOOST_HAS_MS_INT64)\r
+\r
+template<>\r
+class integer_traits< __int64>\r
+  : public std::numeric_limits< __int64>,\r
+    public detail::integer_traits_base< __int64, _I64_MIN, _I64_MAX>\r
+{ };\r
+\r
+template<>\r
+class integer_traits< unsigned __int64>\r
+  : public std::numeric_limits< unsigned __int64>,\r
+    public detail::integer_traits_base< unsigned __int64, 0, _UI64_MAX>\r
+{ };\r
+\r
+#endif\r
+#endif\r
+\r
+} // namespace boost\r
+\r
+#endif /* BOOST_INTEGER_TRAITS_HPP */\r
+\r
+\r
+\r
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 (file)
index 0000000..8d54784
--- /dev/null
@@ -0,0 +1,59 @@
+//  interator.hpp workarounds for non-conforming standard libraries  ---------//\r
+\r
+//  (C) Copyright Beman Dawes 2000. Distributed under the Boost\r
+//  Software License, Version 1.0. (See accompanying file\r
+//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+//  See http://www.boost.org/libs/utility for documentation.\r
+\r
+//  Revision History\r
+//  12 Jan 01 added <cstddef> for std::ptrdiff_t (Jens Maurer)\r
+//  28 Jun 00 Workarounds to deal with known MSVC bugs (David Abrahams)\r
+//  26 Jun 00 Initial version (Jeremy Siek)\r
+\r
+#ifndef BOOST_ITERATOR_HPP\r
+#define BOOST_ITERATOR_HPP\r
+\r
+#include <iterator>\r
+#include <cstddef>           // std::ptrdiff_t\r
+#include <boost/config.hpp>\r
+\r
+namespace boost\r
+{\r
+# if defined(BOOST_NO_STD_ITERATOR) && !defined(BOOST_MSVC_STD_ITERATOR)\r
+  template <class Category, class T,\r
+    class Distance = std::ptrdiff_t,\r
+    class Pointer = T*, class Reference = T&>\r
+  struct iterator\r
+  {\r
+    typedef T         value_type;\r
+    typedef Distance  difference_type;\r
+    typedef Pointer   pointer;\r
+    typedef Reference reference;\r
+    typedef Category  iterator_category;\r
+  };\r
+# else\r
+\r
+  // declare iterator_base in namespace detail to work around MSVC bugs which\r
+  // prevent derivation from an identically-named class in a different namespace.\r
+  namespace detail {\r
+   template <class Category, class T, class Distance, class Pointer, class Reference>\r
+#  if !defined(BOOST_MSVC_STD_ITERATOR)\r
+   struct iterator_base : std::iterator<Category, T, Distance, Pointer, Reference> {};\r
+#  else\r
+   struct iterator_base : std::iterator<Category, T, Distance>\r
+   {\r
+     typedef Reference reference;\r
+     typedef Pointer pointer;\r
+     typedef Distance difference_type;\r
+   };\r
+#  endif\r
+  }\r
+\r
+  template <class Category, class T, class Distance = std::ptrdiff_t,\r
+            class Pointer = T*, class Reference = T&>\r
+  struct iterator : boost::detail::iterator_base<Category, T, Distance, Pointer, Reference> {};\r
+# endif\r
+} // namespace boost\r
+\r
+#endif // BOOST_ITERATOR_HPP\r
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 (file)
index 0000000..09fc5a7
--- /dev/null
@@ -0,0 +1,215 @@
+// Copyright David Abrahams 2003.\r
+// Distributed under the Boost Software License, Version 1.0. (See\r
+// accompanying file LICENSE_1_0.txt or copy at\r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+#ifndef COUNTING_ITERATOR_DWA200348_HPP\r
+# define COUNTING_ITERATOR_DWA200348_HPP\r
+\r
+# include <boost/iterator/iterator_adaptor.hpp>\r
+# include <boost/detail/numeric_traits.hpp>\r
+# include <boost/mpl/bool.hpp>\r
+# include <boost/mpl/if.hpp>\r
+# include <boost/mpl/identity.hpp>\r
+# include <boost/mpl/eval_if.hpp>\r
+\r
+namespace boost {\r
+\r
+template <\r
+    class Incrementable\r
+  , class CategoryOrTraversal\r
+  , class Difference\r
+>\r
+class counting_iterator;\r
+\r
+namespace detail\r
+{\r
+  // Try to detect numeric types at compile time in ways compatible\r
+  // with the limitations of the compiler and library.\r
+  template <class T>\r
+  struct is_numeric_impl\r
+  {\r
+      // For a while, this wasn't true, but we rely on it below. This is a regression assert.\r
+      BOOST_STATIC_ASSERT(::boost::is_integral<char>::value);\r
+      \r
+# ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS\r
+      \r
+      BOOST_STATIC_CONSTANT(bool, value = std::numeric_limits<T>::is_specialized);\r
+      \r
+# else\r
+      \r
+#  if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x551))\r
+      BOOST_STATIC_CONSTANT(\r
+          bool, value = (\r
+              boost::is_convertible<int,T>::value\r
+           && boost::is_convertible<T,int>::value\r
+      ));\r
+#  else\r
+    BOOST_STATIC_CONSTANT(bool, value = ::boost::is_arithmetic<T>::value);\r
+#  endif\r
+      \r
+# endif\r
+  };\r
+\r
+  template <class T>\r
+  struct is_numeric\r
+    : mpl::bool_<(::boost::detail::is_numeric_impl<T>::value)>\r
+  {};\r
+\r
+#  if defined(BOOST_HAS_LONG_LONG)\r
+  template <>\r
+  struct is_numeric< ::boost::long_long_type>\r
+    : mpl::true_ {};\r
+  \r
+  template <>\r
+  struct is_numeric< ::boost::ulong_long_type>\r
+    : mpl::true_ {};\r
+#  endif\r
+\r
+  // Some compilers fail to have a numeric_limits specialization\r
+  template <>\r
+  struct is_numeric<wchar_t>\r
+    : mpl::true_ {};\r
+  \r
+  template <class T>\r
+  struct numeric_difference\r
+  {\r
+      typedef typename boost::detail::numeric_traits<T>::difference_type type;\r
+  };\r
+\r
+  BOOST_STATIC_ASSERT(is_numeric<int>::value);\r
+  \r
+  template <class Incrementable, class CategoryOrTraversal, class Difference>\r
+  struct counting_iterator_base\r
+  {\r
+      typedef typename detail::ia_dflt_help<\r
+          CategoryOrTraversal\r
+        , mpl::eval_if<\r
+              is_numeric<Incrementable>\r
+            , mpl::identity<random_access_traversal_tag>\r
+            , iterator_traversal<Incrementable>\r
+          >\r
+      >::type traversal;\r
+      \r
+      typedef typename detail::ia_dflt_help<\r
+          Difference\r
+        , mpl::eval_if<\r
+              is_numeric<Incrementable>\r
+            , numeric_difference<Incrementable>\r
+            , iterator_difference<Incrementable>\r
+          >\r
+      >::type difference;\r
+      \r
+      typedef iterator_adaptor<\r
+          counting_iterator<Incrementable, CategoryOrTraversal, Difference> // self\r
+        , Incrementable                                           // Base\r
+        , Incrementable                                           // Value\r
+# ifndef BOOST_ITERATOR_REF_CONSTNESS_KILLS_WRITABILITY\r
+          const  // MSVC won't strip this.  Instead we enable Thomas'\r
+                 // criterion (see boost/iterator/detail/facade_iterator_category.hpp)\r
+# endif \r
+        , traversal\r
+        , Incrementable const&                                    // reference\r
+        , difference\r
+      > type;\r
+  };\r
+\r
+  // Template class distance_policy_select -- choose a policy for computing the\r
+  // distance between counting_iterators at compile-time based on whether or not\r
+  // the iterator wraps an integer or an iterator, using "poor man's partial\r
+  // specialization".\r
+\r
+  template <bool is_integer> struct distance_policy_select;\r
+\r
+  // A policy for wrapped iterators\r
+  template <class Difference, class Incrementable1, class Incrementable2>\r
+  struct iterator_distance\r
+  {\r
+      static Difference distance(Incrementable1 x, Incrementable2 y)\r
+      {\r
+          return y - x;\r
+      }\r
+  };\r
+\r
+  // A policy for wrapped numbers\r
+  template <class Difference, class Incrementable1, class Incrementable2>\r
+  struct number_distance\r
+  {\r
+      static Difference distance(Incrementable1 x, Incrementable2 y)\r
+      {\r
+          return numeric_distance(x, y);\r
+      }\r
+  };\r
+}\r
+\r
+template <\r
+    class Incrementable\r
+  , class CategoryOrTraversal = use_default\r
+  , class Difference = use_default\r
+>\r
+class counting_iterator\r
+  : public detail::counting_iterator_base<\r
+        Incrementable, CategoryOrTraversal, Difference\r
+    >::type\r
+{\r
+    typedef typename detail::counting_iterator_base<\r
+        Incrementable, CategoryOrTraversal, Difference\r
+    >::type super_t;\r
+    \r
+    friend class iterator_core_access;\r
+\r
+ public:\r
+    typedef typename super_t::difference_type difference_type;\r
+\r
+    counting_iterator() { }\r
+    \r
+    counting_iterator(counting_iterator const& rhs) : super_t(rhs.base()) {}\r
+\r
+    counting_iterator(Incrementable x)\r
+      : super_t(x)\r
+    {\r
+    }\r
+\r
+# if 0\r
+    template<class OtherIncrementable>\r
+    counting_iterator(\r
+        counting_iterator<OtherIncrementable, CategoryOrTraversal, Difference> const& t\r
+      , typename enable_if_convertible<OtherIncrementable, Incrementable>::type* = 0\r
+    )\r
+      : super_t(t.base())\r
+    {}\r
+# endif \r
+\r
+ private:\r
+    \r
+    typename super_t::reference dereference() const\r
+    {\r
+        return this->base_reference();\r
+    }\r
+\r
+    template <class OtherIncrementable>\r
+    difference_type\r
+    distance_to(counting_iterator<OtherIncrementable, CategoryOrTraversal, Difference> const& y) const\r
+    {\r
+      typedef typename mpl::if_<\r
+          detail::is_numeric<Incrementable>\r
+        , detail::number_distance<difference_type, Incrementable, OtherIncrementable>\r
+        , detail::iterator_distance<difference_type, Incrementable, OtherIncrementable>\r
+      >::type d;\r
+\r
+      return d::distance(this->base(), y.base());\r
+    }\r
+};\r
+\r
+// Manufacture a counting iterator for an arbitrary incrementable type\r
+template <class Incrementable>\r
+inline counting_iterator<Incrementable>\r
+make_counting_iterator(Incrementable x)\r
+{\r
+  typedef counting_iterator<Incrementable> result_t;\r
+  return result_t(x);\r
+}\r
+\r
+\r
+} // namespace boost::iterator\r
+\r
+#endif // COUNTING_ITERATOR_DWA200348_HPP\r
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 (file)
index 0000000..ce9e043
--- /dev/null
@@ -0,0 +1,19 @@
+// Copyright David Abrahams 2003. Use, modification and distribution is\r
+// subject to the Boost Software License, Version 1.0. (See accompanying\r
+// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+#ifndef ANY_CONVERSION_EATER_DWA20031117_HPP\r
+# define ANY_CONVERSION_EATER_DWA20031117_HPP\r
+\r
+namespace boost { namespace detail {\r
+\r
+// This type can be used in traits to "eat" up the one user-defined\r
+// implicit conversion allowed.\r
+struct any_conversion_eater\r
+{\r
+    template <class T>\r
+    any_conversion_eater(T const&);\r
+};\r
+\r
+}} // namespace boost::detail\r
+\r
+#endif // ANY_CONVERSION_EATER_DWA20031117_HPP\r
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 (file)
index 0000000..e1ccf3f
--- /dev/null
@@ -0,0 +1,137 @@
+// (C) Copyright David Abrahams 2002.\r
+// (C) Copyright Jeremy Siek    2002.\r
+// (C) Copyright Thomas Witt    2002.\r
+// Distributed under the Boost Software License, Version 1.0. (See\r
+// accompanying file LICENSE_1_0.txt or copy at\r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+// no include guard multiple inclusion intended\r
+\r
+//\r
+// This is a temporary workaround until the bulk of this is\r
+// available in boost config.\r
+// 23/02/03 thw\r
+//\r
+\r
+#include <boost/config.hpp> // for prior\r
+#include <boost/detail/workaround.hpp>\r
+\r
+#ifdef BOOST_ITERATOR_CONFIG_DEF\r
+# error you have nested config_def #inclusion.\r
+#else \r
+# define BOOST_ITERATOR_CONFIG_DEF\r
+#endif \r
+\r
+// We enable this always now.  Otherwise, the simple case in\r
+// libs/iterator/test/constant_iterator_arrow.cpp fails to compile\r
+// because the operator-> return is improperly deduced as a non-const\r
+// pointer.\r
+#if 1 || defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)           \\r
+    || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x531))\r
+\r
+// Recall that in general, compilers without partial specialization\r
+// can't strip constness.  Consider counting_iterator, which normally\r
+// passes a const Value to iterator_facade.  As a result, any code\r
+// which makes a std::vector of the iterator's value_type will fail\r
+// when its allocator declares functions overloaded on reference and\r
+// const_reference (the same type).\r
+//\r
+// Furthermore, Borland 5.5.1 drops constness in enough ways that we\r
+// end up using a proxy for operator[] when we otherwise shouldn't.\r
+// Using reference constness gives it an extra hint that it can\r
+// return the value_type from operator[] directly, but is not\r
+// strictly necessary.  Not sure how best to resolve this one.\r
+\r
+# define BOOST_ITERATOR_REF_CONSTNESS_KILLS_WRITABILITY 1\r
+\r
+#endif\r
+\r
+#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)                                       \\r
+    || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x5A0))                   \\r
+    || (BOOST_WORKAROUND(BOOST_INTEL_CXX_VERSION, <= 700) && defined(_MSC_VER)) \\r
+    || BOOST_WORKAROUND(__DECCXX_VER, BOOST_TESTED_AT(60590042))                \\r
+    || BOOST_WORKAROUND(__SUNPRO_CC, BOOST_TESTED_AT(0x590))\r
+    \r
+# define BOOST_NO_LVALUE_RETURN_DETECTION\r
+\r
+# if 0 // test code\r
+  struct v  {};\r
+\r
+  typedef  char (&no)[3];\r
+\r
+  template <class T>\r
+  no foo(T const&, ...);\r
+\r
+  template <class T>\r
+  char foo(T&, int);\r
+\r
+\r
+  struct value_iterator\r
+  {\r
+      v operator*() const;\r
+  };\r
+\r
+  template <class T>\r
+  struct lvalue_deref_helper\r
+  {\r
+      static T& x;\r
+      enum { value = (sizeof(foo(*x,0)) == 1) };\r
+  };\r
+\r
+  int z2[(lvalue_deref_helper<v*>::value == 1) ? 1 : -1];\r
+  int z[(lvalue_deref_helper<value_iterator>::value) == 1 ? -1 : 1 ];\r
+# endif \r
+\r
+#endif\r
+\r
+#if BOOST_WORKAROUND(__MWERKS__, <=0x2407)\r
+#  define BOOST_NO_IS_CONVERTIBLE // "is_convertible doesn't work for simple types"\r
+#endif\r
+\r
+#if BOOST_WORKAROUND(__GNUC__, == 2)                                                                            \\r
+    || BOOST_WORKAROUND(__GNUC__, == 3) && BOOST_WORKAROUND(__GNUC_MINOR__, < 4) && !defined(__EDG_VERSION__)   \\r
+    || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x551))\r
+#  define BOOST_NO_IS_CONVERTIBLE_TEMPLATE // The following program fails to compile:\r
+\r
+#  if 0 // test code\r
+    #include <boost/type_traits/is_convertible.hpp>\r
+    template <class T>\r
+    struct foo\r
+    {\r
+        foo(T);\r
+\r
+        template <class U>\r
+        foo(foo<U> const& other) : p(other.p) { }\r
+\r
+        T p;\r
+    };\r
+\r
+    bool x = boost::is_convertible<foo<int const*>, foo<int*> >::value;\r
+#  endif\r
+\r
+#endif\r
+\r
+\r
+#if !defined(BOOST_MSVC) && (defined(BOOST_NO_SFINAE) || defined(BOOST_NO_IS_CONVERTIBLE) || defined(BOOST_NO_IS_CONVERTIBLE_TEMPLATE))\r
+# define BOOST_NO_STRICT_ITERATOR_INTEROPERABILITY\r
+#endif \r
+\r
+# if !BOOST_WORKAROUND(BOOST_MSVC, <= 1300)\r
+#  define BOOST_ARG_DEPENDENT_TYPENAME typename\r
+# else\r
+#  define BOOST_ARG_DEPENDENT_TYPENAME\r
+# endif\r
+\r
+# if BOOST_WORKAROUND(__GNUC__, == 2) && BOOST_WORKAROUND(__GNUC_MINOR__, BOOST_TESTED_AT(95)) \\r
+    || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))\r
+\r
+// GCC-2.95 eagerly instantiates templated constructors and conversion\r
+// operators in convertibility checks, causing premature errors.\r
+//\r
+// Borland's problems are harder to diagnose due to lack of an\r
+// instantiation stack backtrace.  They may be due in part to the fact\r
+// that it drops cv-qualification willy-nilly in templates.\r
+#  define BOOST_NO_ONE_WAY_ITERATOR_INTEROP\r
+# endif \r
+\r
+// no include guard; multiple inclusion intended\r
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 (file)
index 0000000..9b04775
--- /dev/null
@@ -0,0 +1,25 @@
+// (C) Copyright Thomas Witt    2002.\r
+// Distributed under the Boost Software License, Version 1.0. (See\r
+// accompanying file LICENSE_1_0.txt or copy at\r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+// no include guard multiple inclusion intended\r
+\r
+//\r
+// This is a temporary workaround until the bulk of this is\r
+// available in boost config.\r
+// 23/02/03 thw\r
+//\r
+\r
+#undef BOOST_NO_IS_CONVERTIBLE\r
+#undef BOOST_NO_IS_CONVERTIBLE_TEMPLATE\r
+#undef BOOST_NO_STRICT_ITERATOR_INTEROPERABILITY\r
+#undef BOOST_ARG_DEPENDENT_TYPENAME\r
+#undef BOOST_NO_LVALUE_RETURN_DETECTION\r
+#undef BOOST_NO_ONE_WAY_ITERATOR_INTEROP\r
+\r
+#ifdef BOOST_ITERATOR_CONFIG_DEF\r
+# undef BOOST_ITERATOR_CONFIG_DEF\r
+#else\r
+# error missing or nested #include config_def\r
+#endif \r
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 (file)
index 0000000..2c261f8
--- /dev/null
@@ -0,0 +1,86 @@
+// (C) Copyright David Abrahams 2002.\r
+// (C) Copyright Jeremy Siek    2002.\r
+// (C) Copyright Thomas Witt    2002.\r
+// Distributed under the Boost Software License, Version 1.0. (See\r
+// accompanying file LICENSE_1_0.txt or copy at\r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+#ifndef BOOST_ENABLE_IF_23022003THW_HPP\r
+#define BOOST_ENABLE_IF_23022003THW_HPP\r
+\r
+#include <boost/detail/workaround.hpp>\r
+#include <boost/mpl/identity.hpp>\r
+\r
+#include <boost/iterator/detail/config_def.hpp>\r
+\r
+//\r
+// Boost iterators uses its own enable_if cause we need\r
+// special semantics for deficient compilers.\r
+// 23/02/03 thw\r
+//\r
+\r
+namespace boost\r
+{\r
+\r
+  namespace iterators\r
+  {\r
+    //\r
+    // Base machinery for all kinds of enable if\r
+    //\r
+    template<bool>\r
+    struct enabled\r
+    {\r
+      template<typename T>\r
+      struct base\r
+      {\r
+        typedef T type;\r
+      };\r
+    };\r
+    \r
+    //\r
+    // For compilers that don't support "Substitution Failure Is Not An Error"\r
+    // enable_if falls back to always enabled. See comments\r
+    // on operator implementation for consequences.\r
+    //\r
+    template<>\r
+    struct enabled<false>\r
+    {\r
+      template<typename T>\r
+      struct base\r
+      {\r
+#ifdef BOOST_NO_SFINAE\r
+\r
+        typedef T type;\r
+\r
+        // This way to do it would give a nice error message containing\r
+        // invalid overload, but has the big disadvantage that\r
+        // there is no reference to user code in the error message.\r
+        //\r
+        // struct invalid_overload;\r
+        // typedef invalid_overload type;\r
+        //\r
+#endif\r
+      };\r
+    };\r
+\r
+\r
+    template <class Cond,\r
+              class Return>\r
+    struct enable_if\r
+# if !defined(BOOST_NO_SFINAE) && !defined(BOOST_NO_IS_CONVERTIBLE)\r
+      : enabled<(Cond::value)>::template base<Return>\r
+# else\r
+      : mpl::identity<Return>\r
+# endif \r
+    {\r
+# if BOOST_WORKAROUND(BOOST_MSVC, < 1300)\r
+        typedef Return type;\r
+# endif \r
+    };\r
+\r
+  } // namespace iterators\r
+\r
+} // namespace boost\r
+\r
+#include <boost/iterator/detail/config_undef.hpp>\r
+\r
+#endif // BOOST_ENABLE_IF_23022003THW_HPP\r
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 (file)
index 0000000..2c528d8
--- /dev/null
@@ -0,0 +1,200 @@
+// Copyright David Abrahams 2003. Use, modification and distribution is\r
+// subject to the Boost Software License, Version 1.0. (See accompanying\r
+// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+#ifndef FACADE_ITERATOR_CATEGORY_DWA20031118_HPP\r
+# define FACADE_ITERATOR_CATEGORY_DWA20031118_HPP\r
+\r
+# include <boost/iterator/iterator_categories.hpp>\r
+\r
+# include <boost/mpl/or.hpp>  // used in iterator_tag inheritance logic\r
+# include <boost/mpl/and.hpp>\r
+# include <boost/mpl/if.hpp>\r
+# include <boost/mpl/eval_if.hpp>\r
+# include <boost/mpl/identity.hpp>\r
+# include <boost/mpl/assert.hpp>\r
+\r
+# include <boost/type_traits/is_same.hpp>\r
+# include <boost/type_traits/is_const.hpp>\r
+# include <boost/type_traits/is_reference.hpp>\r
+# include <boost/type_traits/is_convertible.hpp>\r
+\r
+# include <boost/type_traits/is_same.hpp>\r
+\r
+# include <boost/iterator/detail/config_def.hpp> // try to keep this last\r
+\r
+# ifdef BOOST_ITERATOR_REF_CONSTNESS_KILLS_WRITABILITY\r
+#  include <boost/detail/indirect_traits.hpp>\r
+# endif\r
+\r
+//\r
+// iterator_category deduction for iterator_facade\r
+//\r
+\r
+// forward declaration\r
+namespace boost { struct use_default; }\r
+\r
+namespace boost { namespace detail  {\r
+\r
+struct input_output_iterator_tag\r
+  : std::input_iterator_tag\r
+{\r
+    // Using inheritance for only input_iterator_tag helps to avoid\r
+    // ambiguities when a stdlib implementation dispatches on a\r
+    // function which is overloaded on both input_iterator_tag and\r
+    // output_iterator_tag, as STLPort does, in its __valid_range\r
+    // function.  I claim it's better to avoid the ambiguity in these\r
+    // cases.\r
+    operator std::output_iterator_tag() const\r
+    {\r
+        return std::output_iterator_tag();\r
+    }\r
+};\r
+\r
+//\r
+// True iff the user has explicitly disabled writability of this\r
+// iterator.  Pass the iterator_facade's Value parameter and its\r
+// nested ::reference type.\r
+//\r
+template <class ValueParam, class Reference>\r
+struct iterator_writability_disabled\r
+# ifdef BOOST_ITERATOR_REF_CONSTNESS_KILLS_WRITABILITY // Adding Thomas' logic?\r
+  : mpl::or_<\r
+        is_const<Reference>\r
+      , boost::detail::indirect_traits::is_reference_to_const<Reference>\r
+      , is_const<ValueParam>\r
+    >\r
+# else \r
+  : is_const<ValueParam>\r
+# endif \r
+{};\r
+\r
+\r
+//\r
+// Convert an iterator_facade's traversal category, Value parameter,\r
+// and ::reference type to an appropriate old-style category.\r
+//\r
+// If writability has been disabled per the above metafunction, the\r
+// result will not be convertible to output_iterator_tag.\r
+//\r
+// Otherwise, if Traversal == single_pass_traversal_tag, the following\r
+// conditions will result in a tag that is convertible both to\r
+// input_iterator_tag and output_iterator_tag:\r
+//\r
+//    1. Reference is a reference to non-const\r
+//    2. Reference is not a reference and is convertible to Value\r
+//\r
+template <class Traversal, class ValueParam, class Reference>\r
+struct iterator_facade_default_category\r
+  : mpl::eval_if<\r
+        mpl::and_<\r
+            is_reference<Reference>\r
+          , is_convertible<Traversal,forward_traversal_tag>\r
+        >\r
+      , mpl::eval_if<\r
+            is_convertible<Traversal,random_access_traversal_tag>\r
+          , mpl::identity<std::random_access_iterator_tag>\r
+          , mpl::if_<\r
+                is_convertible<Traversal,bidirectional_traversal_tag>\r
+              , std::bidirectional_iterator_tag\r
+              , std::forward_iterator_tag\r
+            >\r
+        >\r
+      , typename mpl::eval_if<\r
+            mpl::and_<\r
+                is_convertible<Traversal, single_pass_traversal_tag>\r
+                \r
+                // check for readability\r
+              , is_convertible<Reference, ValueParam>\r
+            >\r
+          , mpl::identity<std::input_iterator_tag>\r
+          , mpl::identity<Traversal>\r
+        >\r
+    >\r
+{\r
+};\r
+\r
+// True iff T is convertible to an old-style iterator category.\r
+template <class T>\r
+struct is_iterator_category\r
+  : mpl::or_<\r
+        is_convertible<T,std::input_iterator_tag>\r
+      , is_convertible<T,std::output_iterator_tag>\r
+    >\r
+{\r
+};\r
+\r
+template <class T>\r
+struct is_iterator_traversal\r
+  : is_convertible<T,incrementable_traversal_tag>\r
+{};\r
+\r
+//\r
+// A composite iterator_category tag convertible to Category (a pure\r
+// old-style category) and Traversal (a pure traversal tag).\r
+// Traversal must be a strict increase of the traversal power given by\r
+// Category.\r
+//\r
+template <class Category, class Traversal>\r
+struct iterator_category_with_traversal\r
+  : Category, Traversal\r
+{\r
+# if !BOOST_WORKAROUND(BOOST_MSVC, <= 1300)\r
+    // Make sure this isn't used to build any categories where\r
+    // convertibility to Traversal is redundant.  Should just use the\r
+    // Category element in that case.\r
+    BOOST_MPL_ASSERT_NOT((\r
+        is_convertible<\r
+              typename iterator_category_to_traversal<Category>::type\r
+            , Traversal\r
+          >));\r
+\r
+    BOOST_MPL_ASSERT((is_iterator_category<Category>));\r
+    BOOST_MPL_ASSERT_NOT((is_iterator_category<Traversal>));\r
+    BOOST_MPL_ASSERT_NOT((is_iterator_traversal<Category>));\r
+#  if !BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1310))\r
+    BOOST_MPL_ASSERT((is_iterator_traversal<Traversal>));\r
+#  endif \r
+# endif \r
+};\r
+\r
+// Computes an iterator_category tag whose traversal is Traversal and\r
+// which is appropriate for an iterator\r
+template <class Traversal, class ValueParam, class Reference>\r
+struct facade_iterator_category_impl\r
+{\r
+# if !BOOST_WORKAROUND(BOOST_MSVC, <= 1300)\r
+    BOOST_MPL_ASSERT_NOT((is_iterator_category<Traversal>));\r
+# endif \r
+    \r
+    typedef typename iterator_facade_default_category<\r
+        Traversal,ValueParam,Reference\r
+    >::type category;\r
+    \r
+    typedef typename mpl::if_<\r
+        is_same<\r
+            Traversal\r
+          , typename iterator_category_to_traversal<category>::type\r
+        >\r
+      , category\r
+      , iterator_category_with_traversal<category,Traversal>\r
+    >::type type;\r
+};\r
+\r
+//\r
+// Compute an iterator_category for iterator_facade\r
+//\r
+template <class CategoryOrTraversal, class ValueParam, class Reference>\r
+struct facade_iterator_category\r
+  : mpl::eval_if<\r
+        is_iterator_category<CategoryOrTraversal>\r
+      , mpl::identity<CategoryOrTraversal> // old-style categories are fine as-is\r
+      , facade_iterator_category_impl<CategoryOrTraversal,ValueParam,Reference>\r
+    >\r
+{\r
+};\r
+\r
+}} // namespace boost::detail\r
+\r
+# include <boost/iterator/detail/config_undef.hpp>\r
+\r
+#endif // FACADE_ITERATOR_CATEGORY_DWA20031118_HPP\r
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 (file)
index 0000000..804f918
--- /dev/null
@@ -0,0 +1,116 @@
+// Copyright David Abrahams 2003. Use, modification and distribution is\r
+// subject to the Boost Software License, Version 1.0. (See accompanying\r
+// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+#ifndef MINIMUM_CATEGORY_DWA20031119_HPP\r
+# define MINIMUM_CATEGORY_DWA20031119_HPP\r
+\r
+# include <boost/type_traits/is_convertible.hpp>\r
+# include <boost/type_traits/is_same.hpp>\r
+\r
+# include <boost/mpl/aux_/lambda_support.hpp>\r
+\r
+namespace boost { namespace detail { \r
+//\r
+// Returns the minimum category type or error_type\r
+// if T1 and T2 are unrelated.\r
+//\r
+// For compilers not supporting is_convertible this only\r
+// works with the new boost return and traversal category\r
+// types. The exact boost _types_ are required. No derived types\r
+// will work. \r
+//\r
+//\r
+template <bool GreaterEqual, bool LessEqual>\r
+struct minimum_category_impl\r
+# if BOOST_WORKAROUND(BOOST_MSVC, < 1300)\r
+{\r
+    template <class T1, class T2> struct apply\r
+    {\r
+        typedef T2 type;\r
+    };\r
+    typedef void type;\r
+}\r
+# endif \r
+;\r
+\r
+template <class T1, class T2>\r
+struct error_not_related_by_convertibility;\r
+  \r
+template <>\r
+struct minimum_category_impl<true,false>\r
+{\r
+    template <class T1, class T2> struct apply\r
+    {\r
+        typedef T2 type;\r
+    };\r
+};\r
+\r
+template <>\r
+struct minimum_category_impl<false,true>\r
+{\r
+    template <class T1, class T2> struct apply\r
+    {\r
+        typedef T1 type;\r
+    };\r
+};\r
+\r
+template <>\r
+struct minimum_category_impl<true,true>\r
+{\r
+    template <class T1, class T2> struct apply\r
+    {\r
+        BOOST_STATIC_ASSERT((is_same<T1,T2>::value));\r
+        typedef T1 type;\r
+    };\r
+};\r
+\r
+template <>\r
+struct minimum_category_impl<false,false>\r
+{\r
+    template <class T1, class T2> struct apply\r
+    : error_not_related_by_convertibility<T1,T2>\r
+    {\r
+    };\r
+};\r
+\r
+template <class T1 = mpl::_1, class T2 = mpl::_2>\r
+struct minimum_category\r
+{\r
+    typedef minimum_category_impl< \r
+# if BOOST_WORKAROUND(BOOST_MSVC, < 1300) // ETI workaround\r
+        is_same<T2,int>::value ||\r
+# endif \r
+        ::boost::is_convertible<T1,T2>::value\r
+      , ::boost::is_convertible<T2,T1>::value\r
+# if BOOST_WORKAROUND(BOOST_MSVC, < 1300) // ETI workaround\r
+        || is_same<T1,int>::value\r
+# endif \r
+    > outer;\r
+\r
+    typedef typename outer::template apply<T1,T2> inner;\r
+    typedef typename inner::type type;\r
+      \r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2,minimum_category,(T1,T2))\r
+};\r
+    \r
+template <>\r
+struct minimum_category<mpl::_1,mpl::_2>\r
+{\r
+    template <class T1, class T2>\r
+    struct apply : minimum_category<T1,T2>\r
+    {};\r
+\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,minimum_category,(mpl::_1,mpl::_2))\r
+};\r
+\r
+# if BOOST_WORKAROUND(BOOST_MSVC, < 1300) // ETI workaround\r
+template <>\r
+struct minimum_category<int,int>\r
+{\r
+    typedef int type;\r
+};\r
+# endif\r
+    \r
+}} // namespace boost::detail\r
+\r
+#endif // MINIMUM_CATEGORY_DWA20031119_HPP\r
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 (file)
index 0000000..84bd054
--- /dev/null
@@ -0,0 +1,135 @@
+// (C) Copyright David Abrahams 2002.\r
+// (C) Copyright Jeremy Siek    2002.\r
+// (C) Copyright Thomas Witt    2002.\r
+// Distributed under the Boost Software License, Version 1.0. (See\r
+// accompanying file LICENSE_1_0.txt or copy at\r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+#ifndef BOOST_FILTER_ITERATOR_23022003THW_HPP\r
+#define BOOST_FILTER_ITERATOR_23022003THW_HPP\r
+\r
+#include <boost/iterator.hpp>\r
+#include <boost/iterator/iterator_adaptor.hpp>\r
+#include <boost/iterator/iterator_categories.hpp>\r
+\r
+#include <boost/type_traits/is_class.hpp>\r
+#include <boost/static_assert.hpp>\r
+\r
+namespace boost\r
+{\r
+  template <class Predicate, class Iterator>\r
+  class filter_iterator;\r
+\r
+  namespace detail\r
+  {\r
+    template <class Predicate, class Iterator>\r
+    struct filter_iterator_base\r
+    {\r
+        typedef iterator_adaptor<\r
+            filter_iterator<Predicate, Iterator>\r
+          , Iterator\r
+          , use_default\r
+          , typename mpl::if_<\r
+                is_convertible<\r
+                    typename iterator_traversal<Iterator>::type\r
+                  , random_access_traversal_tag\r
+                >\r
+              , bidirectional_traversal_tag\r
+              , use_default\r
+            >::type\r
+        > type;\r
+    };\r
+  }\r
+  \r
+  template <class Predicate, class Iterator>\r
+  class filter_iterator\r
+    : public detail::filter_iterator_base<Predicate, Iterator>::type\r
+  {\r
+      typedef typename detail::filter_iterator_base<\r
+          Predicate, Iterator\r
+      >::type super_t;\r
+\r
+      friend class iterator_core_access;\r
+\r
+   public:\r
+      filter_iterator() { }\r
+\r
+      filter_iterator(Predicate f, Iterator x, Iterator end_ = Iterator())\r
+          : super_t(x), m_predicate(f), m_end(end_)\r
+      {\r
+          satisfy_predicate();\r
+      }\r
+\r
+      filter_iterator(Iterator x, Iterator end_ = Iterator())\r
+        : super_t(x), m_predicate(), m_end(end_)\r
+      {\r
+        // Pro8 is a little too aggressive about instantiating the\r
+        // body of this function.\r
+#if !BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3003))\r
+          // Don't allow use of this constructor if Predicate is a\r
+          // function pointer type, since it will be 0.\r
+          BOOST_STATIC_ASSERT(is_class<Predicate>::value);\r
+#endif \r
+          satisfy_predicate();\r
+      }\r
+\r
+      template<class OtherIterator>\r
+      filter_iterator(\r
+          filter_iterator<Predicate, OtherIterator> const& t\r
+          , typename enable_if_convertible<OtherIterator, Iterator>::type* = 0\r
+          )\r
+          : super_t(t.base()), m_predicate(t.predicate()), m_end(t.end()) {}\r
+\r
+      Predicate predicate() const { return m_predicate; }\r
+\r
+      Iterator end() const { return m_end; }\r
+\r
+   private:\r
+      void increment()\r
+      {\r
+          ++(this->base_reference());\r
+          satisfy_predicate();\r
+      }\r
+\r
+      void decrement()\r
+      {\r
+        while(!this->m_predicate(*--(this->base_reference()))){};\r
+      }\r
+\r
+      void satisfy_predicate()\r
+      {\r
+          while (this->base() != this->m_end && !this->m_predicate(*this->base()))\r
+              ++(this->base_reference());\r
+      }\r
+\r
+      // Probably should be the initial base class so it can be\r
+      // optimized away via EBO if it is an empty class.\r
+      Predicate m_predicate;\r
+      Iterator m_end;\r
+  };\r
+\r
+  template <class Predicate, class Iterator>\r
+  filter_iterator<Predicate,Iterator>\r
+  make_filter_iterator(Predicate f, Iterator x, Iterator end = Iterator())\r
+  {\r
+      return filter_iterator<Predicate,Iterator>(f,x,end);\r
+  }\r
+\r
+  template <class Predicate, class Iterator>\r
+  filter_iterator<Predicate,Iterator>\r
+  make_filter_iterator(\r
+      typename iterators::enable_if<\r
+          is_class<Predicate>\r
+        , Iterator\r
+      >::type x\r
+    , Iterator end = Iterator()\r
+#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)\r
+    , Predicate* = 0\r
+#endif \r
+  )\r
+  {\r
+      return filter_iterator<Predicate,Iterator>(x,end);\r
+  }\r
+\r
+} // namespace boost\r
+\r
+#endif // BOOST_FILTER_ITERATOR_23022003THW_HPP\r
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 (file)
index 0000000..64dde30
--- /dev/null
@@ -0,0 +1,139 @@
+// (C) Copyright David Abrahams 2002.\r
+// (C) Copyright Jeremy Siek    2002.\r
+// (C) Copyright Thomas Witt    2002.\r
+// Distributed under the Boost Software License, Version 1.0. (See\r
+// accompanying file LICENSE_1_0.txt or copy at\r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+#ifndef BOOST_INDIRECT_ITERATOR_23022003THW_HPP\r
+#define BOOST_INDIRECT_ITERATOR_23022003THW_HPP\r
+\r
+#include <boost/iterator.hpp>\r
+#include <boost/iterator/iterator_adaptor.hpp>\r
+\r
+#include <boost/pointee.hpp>\r
+#include <boost/indirect_reference.hpp>\r
+#include <boost/detail/iterator.hpp>\r
+\r
+#include <boost/detail/indirect_traits.hpp>\r
+\r
+#include <boost/type_traits/is_same.hpp>\r
+#include <boost/type_traits/add_reference.hpp>\r
+\r
+#include <boost/mpl/bool.hpp>\r
+#include <boost/mpl/identity.hpp>\r
+#include <boost/mpl/eval_if.hpp>\r
+#include <boost/mpl/not.hpp>\r
+#include <boost/mpl/has_xxx.hpp>\r
+\r
+#ifdef BOOST_MPL_CFG_NO_HAS_XXX\r
+# include <boost/shared_ptr.hpp>\r
+# include <boost/scoped_ptr.hpp>\r
+# include <boost/mpl/bool.hpp>\r
+# include <memory>\r
+#endif \r
+\r
+#include <boost/iterator/detail/config_def.hpp> // must be last #include\r
+\r
+namespace boost\r
+{\r
+  template <class Iter, class Value, class Category, class Reference, class Difference>\r
+  class indirect_iterator;\r
+\r
+  namespace detail\r
+  {\r
+    template <class Iter, class Value, class Category, class Reference, class Difference>\r
+    struct indirect_base\r
+    {\r
+        typedef typename iterator_traits<Iter>::value_type dereferenceable;\r
+        \r
+        typedef iterator_adaptor<\r
+            indirect_iterator<Iter, Value, Category, Reference, Difference>\r
+          , Iter\r
+          , typename ia_dflt_help<\r
+                Value, pointee<dereferenceable>\r
+            >::type\r
+          , Category\r
+          , typename ia_dflt_help<\r
+                Reference\r
+              , mpl::eval_if<\r
+                    is_same<Value,use_default>\r
+                  , indirect_reference<dereferenceable>\r
+                  , add_reference<Value>\r
+                >\r
+            >::type\r
+          , Difference\r
+        > type;\r
+    };\r
+\r
+    template <>\r
+    struct indirect_base<int, int, int, int, int> {};\r
+  } // namespace detail\r
+\r
+    \r
+  template <\r
+      class Iterator\r
+    , class Value = use_default\r
+    , class Category = use_default\r
+    , class Reference = use_default\r
+    , class Difference = use_default\r
+  >\r
+  class indirect_iterator\r
+    : public detail::indirect_base<\r
+        Iterator, Value, Category, Reference, Difference\r
+      >::type\r
+  {\r
+      typedef typename detail::indirect_base<\r
+          Iterator, Value, Category, Reference, Difference\r
+      >::type super_t;\r
+\r
+      friend class iterator_core_access;\r
+\r
+   public:\r
+      indirect_iterator() {}\r
+\r
+      indirect_iterator(Iterator iter)\r
+        : super_t(iter) {}\r
+\r
+      template <\r
+          class Iterator2, class Value2, class Category2\r
+        , class Reference2, class Difference2\r
+      >\r
+      indirect_iterator(\r
+          indirect_iterator<\r
+               Iterator2, Value2, Category2, Reference2, Difference2\r
+          > const& y\r
+        , typename enable_if_convertible<Iterator2, Iterator>::type* = 0\r
+      )\r
+        : super_t(y.base())\r
+      {}\r
+\r
+  private:    \r
+      typename super_t::reference dereference() const\r
+      {\r
+# if BOOST_WORKAROUND(__BORLANDC__, < 0x5A0 )\r
+          return const_cast<super_t::reference>(**this->base());\r
+# else\r
+          return **this->base();\r
+# endif \r
+      }\r
+  };\r
+\r
+  template <class Iter>\r
+  inline\r
+  indirect_iterator<Iter> make_indirect_iterator(Iter x)\r
+  {\r
+    return indirect_iterator<Iter>(x);\r
+  }\r
+\r
+  template <class Traits, class Iter>\r
+  inline\r
+  indirect_iterator<Iter,Traits> make_indirect_iterator(Iter x, Traits* = 0)\r
+  {\r
+    return indirect_iterator<Iter, Traits>(x);\r
+  }\r
+\r
+} // namespace boost\r
+\r
+#include <boost/iterator/detail/config_undef.hpp>\r
+\r
+#endif // BOOST_INDIRECT_ITERATOR_23022003THW_HPP\r
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 (file)
index 0000000..08b29c3
--- /dev/null
@@ -0,0 +1,50 @@
+// (C) Copyright David Abrahams 2002.\r
+// (C) Copyright Jeremy Siek    2002.\r
+// (C) Copyright Thomas Witt    2002.\r
+// Distributed under the Boost Software License, Version 1.0. (See\r
+// accompanying file LICENSE_1_0.txt or copy at\r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+#ifndef BOOST_INTEROPERABLE_23022003THW_HPP\r
+# define BOOST_INTEROPERABLE_23022003THW_HPP\r
+\r
+# include <boost/mpl/bool.hpp>\r
+# include <boost/mpl/or.hpp>\r
+\r
+# include <boost/type_traits/is_convertible.hpp>\r
+\r
+# include <boost/iterator/detail/config_def.hpp> // must appear last\r
+\r
+namespace boost\r
+{\r
+\r
+  //\r
+  // Meta function that determines whether two\r
+  // iterator types are considered interoperable.\r
+  //\r
+  // Two iterator types A,B are considered interoperable if either\r
+  // A is convertible to B or vice versa.\r
+  // This interoperability definition is in sync with the\r
+  // standards requirements on constant/mutable container\r
+  // iterators (23.1 [lib.container.requirements]).\r
+  //\r
+  // For compilers that don't support is_convertible \r
+  // is_interoperable gives false positives. See comments\r
+  // on operator implementation for consequences.\r
+  //\r
+  template <typename A, typename B>\r
+  struct is_interoperable\r
+# ifdef BOOST_NO_STRICT_ITERATOR_INTEROPERABILITY\r
+    : mpl::true_\r
+# else\r
+    : mpl::or_<\r
+          is_convertible< A, B >\r
+        , is_convertible< B, A > >\r
+# endif\r
+  { \r
+  };\r
+\r
+} // namespace boost\r
+\r
+# include <boost/iterator/detail/config_undef.hpp>\r
+\r
+#endif // BOOST_INTEROPERABLE_23022003THW_HPP\r
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 (file)
index 0000000..1db6ee4
--- /dev/null
@@ -0,0 +1,150 @@
+// Copyright David Abrahams 2003. Use, modification and distribution is\r
+// subject to the Boost Software License, Version 1.0. (See accompanying\r
+// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+#ifndef IS_LVALUE_ITERATOR_DWA2003112_HPP\r
+# define IS_LVALUE_ITERATOR_DWA2003112_HPP\r
+\r
+#include <boost/iterator.hpp>\r
+\r
+#include <boost/detail/workaround.hpp>\r
+#include <boost/detail/iterator.hpp>\r
+\r
+#include <boost/iterator/detail/any_conversion_eater.hpp>\r
+\r
+// should be the last #includes\r
+#include <boost/type_traits/detail/bool_trait_def.hpp>\r
+#include <boost/iterator/detail/config_def.hpp>\r
+\r
+#ifndef BOOST_NO_IS_CONVERTIBLE\r
+\r
+namespace boost {\r
\r
+namespace detail\r
+{\r
+#ifndef BOOST_NO_LVALUE_RETURN_DETECTION\r
+  // Calling lvalue_preserver( <expression>, 0 ) returns a reference\r
+  // to the expression's result if <expression> is an lvalue, or\r
+  // not_an_lvalue() otherwise.\r
+  struct not_an_lvalue {};\r
+  \r
+  template <class T>\r
+  T& lvalue_preserver(T&, int);\r
+  \r
+  template <class U>\r
+  not_an_lvalue lvalue_preserver(U const&, ...);\r
+  \r
+# define BOOST_LVALUE_PRESERVER(expr) detail::lvalue_preserver(expr,0)\r
+  \r
+#else\r
+  \r
+# define BOOST_LVALUE_PRESERVER(expr) expr\r
+  \r
+#endif \r
+\r
+  // Guts of is_lvalue_iterator.  Value is the iterator's value_type\r
+  // and the result is computed in the nested rebind template.\r
+  template <class Value>\r
+  struct is_lvalue_iterator_impl\r
+  {\r
+      // Eat implicit conversions so we don't report true for things\r
+      // convertible to Value const&\r
+      struct conversion_eater\r
+      {\r
+          conversion_eater(Value&);\r
+      };\r
+\r
+      static char tester(conversion_eater, int);\r
+      static char (& tester(any_conversion_eater, ...) )[2];\r
+    \r
+      template <class It>\r
+      struct rebind\r
+      {\r
+          static It& x;\r
+          \r
+          BOOST_STATIC_CONSTANT(\r
+              bool\r
+            , value = (\r
+                sizeof(\r
+                    is_lvalue_iterator_impl<Value>::tester(\r
+                        BOOST_LVALUE_PRESERVER(*x), 0\r
+                    )\r
+                ) == 1\r
+            )\r
+          );\r
+      };\r
+  };\r
+\r
+#undef BOOST_LVALUE_PRESERVER\r
+  \r
+  //\r
+  // void specializations to handle std input and output iterators\r
+  //\r
+  template <>\r
+  struct is_lvalue_iterator_impl<void>\r
+  {\r
+      template <class It>\r
+      struct rebind : boost::mpl::false_\r
+      {};\r
+  };\r
+\r
+#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS\r
+  template <>\r
+  struct is_lvalue_iterator_impl<const void>\r
+  {\r
+      template <class It>\r
+      struct rebind : boost::mpl::false_\r
+      {};\r
+  };\r
+\r
+  template <>\r
+  struct is_lvalue_iterator_impl<volatile void>\r
+  {\r
+      template <class It>\r
+      struct rebind : boost::mpl::false_\r
+      {};\r
+  };\r
+\r
+  template <>\r
+  struct is_lvalue_iterator_impl<const volatile void>\r
+  {\r
+      template <class It>\r
+      struct rebind : boost::mpl::false_\r
+      {};\r
+  };\r
+#endif\r
+\r
+  //\r
+  // This level of dispatching is required for Borland.  We might save\r
+  // an instantiation by removing it for others.\r
+  //\r
+  template <class It>\r
+  struct is_readable_lvalue_iterator_impl\r
+    : is_lvalue_iterator_impl<\r
+          BOOST_DEDUCED_TYPENAME boost::detail::iterator_traits<It>::value_type const\r
+      >::template rebind<It>\r
+  {};\r
+\r
+  template <class It>\r
+  struct is_non_const_lvalue_iterator_impl\r
+    : is_lvalue_iterator_impl<\r
+          BOOST_DEDUCED_TYPENAME boost::detail::iterator_traits<It>::value_type\r
+      >::template rebind<It>\r
+  {};\r
+} // namespace detail\r
+\r
+// Define the trait with full mpl lambda capability and various broken\r
+// compiler workarounds\r
+BOOST_TT_AUX_BOOL_TRAIT_DEF1(\r
+    is_lvalue_iterator,T,::boost::detail::is_readable_lvalue_iterator_impl<T>::value)\r
+    \r
+BOOST_TT_AUX_BOOL_TRAIT_DEF1(\r
+    is_non_const_lvalue_iterator,T,::boost::detail::is_non_const_lvalue_iterator_impl<T>::value)\r
+    \r
+} // namespace boost\r
+\r
+#endif\r
+\r
+#include <boost/iterator/detail/config_undef.hpp>\r
+#include <boost/type_traits/detail/bool_trait_undef.hpp>\r
+\r
+#endif // IS_LVALUE_ITERATOR_DWA2003112_HPP\r
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 (file)
index 0000000..036585e
--- /dev/null
@@ -0,0 +1,108 @@
+// Copyright David Abrahams 2003. Use, modification and distribution is\r
+// subject to the Boost Software License, Version 1.0. (See accompanying\r
+// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+#ifndef IS_READABLE_ITERATOR_DWA2003112_HPP\r
+# define IS_READABLE_ITERATOR_DWA2003112_HPP\r
+\r
+#include <boost/mpl/bool.hpp>\r
+#include <boost/detail/iterator.hpp>\r
+\r
+#include <boost/type_traits/detail/bool_trait_def.hpp>\r
+#include <boost/iterator/detail/any_conversion_eater.hpp>\r
+\r
+// should be the last #include\r
+#include <boost/iterator/detail/config_def.hpp>\r
+\r
+#ifndef BOOST_NO_IS_CONVERTIBLE\r
+\r
+namespace boost {\r
\r
+namespace detail\r
+{\r
+  // Guts of is_readable_iterator.  Value is the iterator's value_type\r
+  // and the result is computed in the nested rebind template.\r
+  template <class Value>\r
+  struct is_readable_iterator_impl\r
+  {\r
+      static char tester(Value&, int);\r
+      static char (& tester(any_conversion_eater, ...) )[2];\r
+    \r
+      template <class It>\r
+      struct rebind\r
+      {\r
+          static It& x;\r
+          \r
+          BOOST_STATIC_CONSTANT(\r
+              bool\r
+            , value = (\r
+                sizeof(\r
+                    is_readable_iterator_impl<Value>::tester(*x, 1)\r
+                ) == 1\r
+            )\r
+          );\r
+      };\r
+  };\r
+\r
+#undef BOOST_READABLE_PRESERVER\r
+  \r
+  //\r
+  // void specializations to handle std input and output iterators\r
+  //\r
+  template <>\r
+  struct is_readable_iterator_impl<void>\r
+  {\r
+      template <class It>\r
+      struct rebind : boost::mpl::false_\r
+      {};\r
+  };\r
+\r
+#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS\r
+  template <>\r
+  struct is_readable_iterator_impl<const void>\r
+  {\r
+      template <class It>\r
+      struct rebind : boost::mpl::false_\r
+      {};\r
+  };\r
+\r
+  template <>\r
+  struct is_readable_iterator_impl<volatile void>\r
+  {\r
+      template <class It>\r
+      struct rebind : boost::mpl::false_\r
+      {};\r
+  };\r
+\r
+  template <>\r
+  struct is_readable_iterator_impl<const volatile void>\r
+  {\r
+      template <class It>\r
+      struct rebind : boost::mpl::false_\r
+      {};\r
+  };\r
+#endif\r
+\r
+  //\r
+  // This level of dispatching is required for Borland.  We might save\r
+  // an instantiation by removing it for others.\r
+  //\r
+  template <class It>\r
+  struct is_readable_iterator_impl2\r
+    : is_readable_iterator_impl<\r
+          BOOST_DEDUCED_TYPENAME boost::detail::iterator_traits<It>::value_type const\r
+      >::template rebind<It>\r
+  {};\r
+} // namespace detail\r
+\r
+// Define the trait with full mpl lambda capability and various broken\r
+// compiler workarounds\r
+BOOST_TT_AUX_BOOL_TRAIT_DEF1(\r
+    is_readable_iterator,T,::boost::detail::is_readable_iterator_impl2<T>::value)\r
+    \r
+} // namespace boost\r
+\r
+#endif\r
+\r
+#include <boost/iterator/detail/config_undef.hpp>\r
+\r
+#endif // IS_READABLE_ITERATOR_DWA2003112_HPP\r
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 (file)
index 0000000..66b6907
--- /dev/null
@@ -0,0 +1,371 @@
+// (C) Copyright David Abrahams 2002.\r
+// (C) Copyright Jeremy Siek    2002.\r
+// (C) Copyright Thomas Witt    2002.\r
+// Distributed under the Boost Software License, Version 1.0. (See\r
+// accompanying file LICENSE_1_0.txt or copy at\r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+#ifndef BOOST_ITERATOR_ADAPTOR_23022003THW_HPP\r
+#define BOOST_ITERATOR_ADAPTOR_23022003THW_HPP\r
+\r
+#include <boost/static_assert.hpp>\r
+#include <boost/iterator.hpp>\r
+#include <boost/detail/iterator.hpp>\r
+\r
+#include <boost/iterator/iterator_categories.hpp>\r
+#include <boost/iterator/iterator_facade.hpp>\r
+#include <boost/iterator/detail/enable_if.hpp>\r
+\r
+#include <boost/mpl/and.hpp>\r
+#include <boost/mpl/not.hpp>\r
+#include <boost/mpl/or.hpp>\r
+\r
+#include <boost/type_traits/is_same.hpp>\r
+#include <boost/type_traits/is_convertible.hpp>\r
+\r
+#ifdef BOOST_ITERATOR_REF_CONSTNESS_KILLS_WRITABILITY\r
+# include <boost/type_traits/remove_reference.hpp>\r
+\r
+# if BOOST_WORKAROUND(__CODEGEARC__, BOOST_TESTED_AT(0x610))\r
+#   include <boost/type_traits/add_reference.hpp>\r
+# endif\r
+\r
+#else\r
+# include <boost/type_traits/add_reference.hpp>\r
+#endif\r
+\r
+#include <boost/iterator/detail/config_def.hpp>\r
+\r
+#include <boost/iterator/iterator_traits.hpp>\r
+\r
+namespace boost\r
+{\r
+  // Used as a default template argument internally, merely to\r
+  // indicate "use the default", this can also be passed by users\r
+  // explicitly in order to specify that the default should be used.\r
+  struct use_default;\r
+  \r
+# ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+  // the incompleteness of use_default causes massive problems for\r
+  // is_convertible (naturally).  This workaround is fortunately not\r
+  // needed for vc6/vc7.\r
+  template<class To>\r
+  struct is_convertible<use_default,To>\r
+    : mpl::false_ {};\r
+# endif \r
+  \r
+  namespace detail\r
+  {\r
+\r
+    // \r
+    // Result type used in enable_if_convertible meta function.\r
+    // This can be an incomplete type, as only pointers to \r
+    // enable_if_convertible< ... >::type are used.\r
+    // We could have used void for this, but conversion to\r
+    // void* is just to easy.\r
+    //\r
+    struct enable_type;\r
+  }\r
+\r
+\r
+  //\r
+  // enable_if for use in adapted iterators constructors.\r
+  //\r
+  // In order to provide interoperability between adapted constant and\r
+  // mutable iterators, adapted iterators will usually provide templated\r
+  // conversion constructors of the following form\r
+  //\r
+  // template <class BaseIterator>\r
+  // class adapted_iterator :\r
+  //   public iterator_adaptor< adapted_iterator<Iterator>, Iterator >\r
+  // {\r
+  // public:\r
+  //   \r
+  //   ...\r
+  //\r
+  //   template <class OtherIterator>\r
+  //   adapted_iterator(\r
+  //       OtherIterator const& it\r
+  //     , typename enable_if_convertible<OtherIterator, Iterator>::type* = 0);\r
+  //\r
+  //   ...\r
+  // };\r
+  //\r
+  // enable_if_convertible is used to remove those overloads from the overload\r
+  // set that cannot be instantiated. For all practical purposes only overloads\r
+  // for constant/mutable interaction will remain. This has the advantage that\r
+  // meta functions like boost::is_convertible do not return false positives,\r
+  // as they can only look at the signature of the conversion constructor\r
+  // and not at the actual instantiation.\r
+  //\r
+  // enable_if_interoperable can be safely used in user code. It falls back to\r
+  // always enabled for compilers that don't support enable_if or is_convertible. \r
+  // There is no need for compiler specific workarounds in user code. \r
+  //\r
+  // The operators implementation relies on boost::is_convertible not returning\r
+  // false positives for user/library defined iterator types. See comments\r
+  // on operator implementation for consequences.\r
+  //\r
+#  if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)\r
+  \r
+  template<typename From, typename To>\r
+  struct enable_if_convertible\r
+  {\r
+     typedef typename mpl::if_<\r
+         mpl::or_<\r
+             is_same<From,To>\r
+           , is_convertible<From, To>\r
+         >\r
+      , boost::detail::enable_type\r
+      , int&\r
+     >::type type;\r
+  };\r
+  \r
+#  elif defined(BOOST_NO_IS_CONVERTIBLE) || defined(BOOST_NO_SFINAE)\r
+  \r
+  template <class From, class To>\r
+  struct enable_if_convertible\r
+  {\r
+      typedef boost::detail::enable_type type;\r
+  };\r
+  \r
+#  elif BOOST_WORKAROUND(_MSC_FULL_VER, BOOST_TESTED_AT(13102292)) && BOOST_MSVC > 1300\r
+  \r
+  // For some reason vc7.1 needs us to "cut off" instantiation\r
+  // of is_convertible in a few cases.\r
+  template<typename From, typename To>\r
+  struct enable_if_convertible\r
+    : iterators::enable_if<\r
+        mpl::or_<\r
+            is_same<From,To>\r
+          , is_convertible<From, To>\r
+        >\r
+      , boost::detail::enable_type\r
+    >\r
+  {};\r
+  \r
+#  else \r
+  \r
+  template<typename From, typename To>\r
+  struct enable_if_convertible\r
+    : iterators::enable_if<\r
+          is_convertible<From, To>\r
+        , boost::detail::enable_type\r
+      >\r
+  {};\r
+      \r
+# endif\r
+  \r
+  //\r
+  // Default template argument handling for iterator_adaptor\r
+  //\r
+  namespace detail\r
+  {\r
+    // If T is use_default, return the result of invoking\r
+    // DefaultNullaryFn, otherwise return T.\r
+    template <class T, class DefaultNullaryFn>\r
+    struct ia_dflt_help\r
+      : mpl::eval_if<\r
+            is_same<T, use_default>\r
+          , DefaultNullaryFn\r
+          , mpl::identity<T>\r
+        >\r
+    {\r
+    };\r
+\r
+    // A metafunction which computes an iterator_adaptor's base class,\r
+    // a specialization of iterator_facade.\r
+    template <\r
+        class Derived\r
+      , class Base\r
+      , class Value\r
+      , class Traversal\r
+      , class Reference\r
+      , class Difference\r
+    >\r
+    struct iterator_adaptor_base\r
+    {\r
+        typedef iterator_facade<\r
+            Derived\r
+            \r
+# ifdef BOOST_ITERATOR_REF_CONSTNESS_KILLS_WRITABILITY\r
+          , typename boost::detail::ia_dflt_help<\r
+                Value\r
+              , mpl::eval_if<\r
+                    is_same<Reference,use_default>\r
+                  , iterator_value<Base>\r
+                  , remove_reference<Reference>\r
+                >\r
+            >::type\r
+# else\r
+          , typename boost::detail::ia_dflt_help<\r
+                Value, iterator_value<Base>\r
+            >::type\r
+# endif\r
+            \r
+          , typename boost::detail::ia_dflt_help<\r
+                Traversal\r
+              , iterator_traversal<Base>\r
+            >::type\r
+\r
+          , typename boost::detail::ia_dflt_help<\r
+                Reference\r
+              , mpl::eval_if<\r
+                    is_same<Value,use_default>\r
+                  , iterator_reference<Base>\r
+                  , add_reference<Value>\r
+                >\r
+            >::type\r
+\r
+          , typename boost::detail::ia_dflt_help<\r
+                Difference, iterator_difference<Base>\r
+            >::type\r
+        >\r
+        type;\r
+    };\r
+  \r
+    // workaround for aC++ CR JAGaf33512\r
+    template <class Tr1, class Tr2>\r
+    inline void iterator_adaptor_assert_traversal ()\r
+    {\r
+      BOOST_STATIC_ASSERT((is_convertible<Tr1, Tr2>::value));\r
+    }\r
+  }\r
+  \r
+  //\r
+  // Iterator Adaptor\r
+  //\r
+  // The parameter ordering changed slightly with respect to former\r
+  // versions of iterator_adaptor The idea is that when the user needs\r
+  // to fiddle with the reference type it is highly likely that the\r
+  // iterator category has to be adjusted as well.  Any of the\r
+  // following four template arguments may be ommitted or explicitly\r
+  // replaced by use_default.\r
+  //\r
+  //   Value - if supplied, the value_type of the resulting iterator, unless\r
+  //      const. If const, a conforming compiler strips constness for the\r
+  //      value_type. If not supplied, iterator_traits<Base>::value_type is used\r
+  //\r
+  //   Category - the traversal category of the resulting iterator. If not\r
+  //      supplied, iterator_traversal<Base>::type is used.\r
+  //\r
+  //   Reference - the reference type of the resulting iterator, and in\r
+  //      particular, the result type of operator*(). If not supplied but\r
+  //      Value is supplied, Value& is used. Otherwise\r
+  //      iterator_traits<Base>::reference is used.\r
+  //\r
+  //   Difference - the difference_type of the resulting iterator. If not\r
+  //      supplied, iterator_traits<Base>::difference_type is used.\r
+  //\r
+  template <\r
+      class Derived\r
+    , class Base\r
+    , class Value        = use_default\r
+    , class Traversal    = use_default\r
+    , class Reference    = use_default\r
+    , class Difference   = use_default\r
+  >\r
+  class iterator_adaptor\r
+    : public boost::detail::iterator_adaptor_base<\r
+        Derived, Base, Value, Traversal, Reference, Difference\r
+      >::type\r
+  {\r
+      friend class iterator_core_access;\r
+\r
+   protected:\r
+      typedef typename boost::detail::iterator_adaptor_base<\r
+          Derived, Base, Value, Traversal, Reference, Difference\r
+      >::type super_t;\r
+   public:\r
+      iterator_adaptor() {}\r
+\r
+      explicit iterator_adaptor(Base const &iter)\r
+          : m_iterator(iter)\r
+      {\r
+      }\r
+\r
+      typedef Base base_type;\r
+\r
+      Base const& base() const\r
+        { return m_iterator; }\r
+\r
+   protected:\r
+      // for convenience in derived classes\r
+      typedef iterator_adaptor<Derived,Base,Value,Traversal,Reference,Difference> iterator_adaptor_;\r
+      \r
+      //\r
+      // lvalue access to the Base object for Derived\r
+      //\r
+      Base const& base_reference() const\r
+        { return m_iterator; }\r
+\r
+      Base& base_reference()\r
+        { return m_iterator; }\r
+\r
+   private:\r
+      //\r
+      // Core iterator interface for iterator_facade.  This is private\r
+      // to prevent temptation for Derived classes to use it, which\r
+      // will often result in an error.  Derived classes should use\r
+      // base_reference(), above, to get direct access to m_iterator.\r
+      // \r
+      typename super_t::reference dereference() const\r
+        { return *m_iterator; }\r
+\r
+      template <\r
+      class OtherDerived, class OtherIterator, class V, class C, class R, class D\r
+      >   \r
+      bool equal(iterator_adaptor<OtherDerived, OtherIterator, V, C, R, D> const& x) const\r
+      {\r
+        // Maybe readd with same_distance\r
+        //           BOOST_STATIC_ASSERT(\r
+        //               (detail::same_category_and_difference<Derived,OtherDerived>::value)\r
+        //               );\r
+          return m_iterator == x.base();\r
+      }\r
+\r
+      typedef typename iterator_category_to_traversal<\r
+          typename super_t::iterator_category\r
+      >::type my_traversal;\r
+\r
+# define BOOST_ITERATOR_ADAPTOR_ASSERT_TRAVERSAL(cat) \\r
+      boost::detail::iterator_adaptor_assert_traversal<my_traversal, cat>();\r
+\r
+      void advance(typename super_t::difference_type n)\r
+      {\r
+          BOOST_ITERATOR_ADAPTOR_ASSERT_TRAVERSAL(random_access_traversal_tag)\r
+          m_iterator += n;\r
+      }\r
+  \r
+      void increment() { ++m_iterator; }\r
+\r
+      void decrement() \r
+      {\r
+          BOOST_ITERATOR_ADAPTOR_ASSERT_TRAVERSAL(bidirectional_traversal_tag)\r
+           --m_iterator;\r
+      }\r
+\r
+      template <\r
+          class OtherDerived, class OtherIterator, class V, class C, class R, class D\r
+      >   \r
+      typename super_t::difference_type distance_to(\r
+          iterator_adaptor<OtherDerived, OtherIterator, V, C, R, D> const& y) const\r
+      {\r
+          BOOST_ITERATOR_ADAPTOR_ASSERT_TRAVERSAL(random_access_traversal_tag)\r
+          // Maybe readd with same_distance\r
+          //           BOOST_STATIC_ASSERT(\r
+          //               (detail::same_category_and_difference<Derived,OtherDerived>::value)\r
+          //               );\r
+          return y.base() - m_iterator;\r
+      }\r
+\r
+# undef BOOST_ITERATOR_ADAPTOR_ASSERT_TRAVERSAL\r
+      \r
+   private: // data members\r
+      Base m_iterator;\r
+  };\r
+\r
+} // namespace boost\r
+\r
+#include <boost/iterator/detail/config_undef.hpp>\r
+\r
+#endif // BOOST_ITERATOR_ADAPTOR_23022003THW_HPP\r
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 (file)
index 0000000..74b250b
--- /dev/null
@@ -0,0 +1,515 @@
+// (C) Copyright Jeremy Siek 2002.\r
+// Distributed under the Boost Software License, Version 1.0. (See\r
+// accompanying file LICENSE_1_0.txt or copy at\r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+#ifndef BOOST_ITERATOR_ARCHETYPES_HPP\r
+#define BOOST_ITERATOR_ARCHETYPES_HPP\r
+\r
+#include <boost/iterator/iterator_categories.hpp>\r
+#include <boost/operators.hpp>\r
+#include <boost/static_assert.hpp>\r
+#include <boost/iterator.hpp>\r
+\r
+#include <boost/iterator/detail/facade_iterator_category.hpp>\r
+\r
+#include <boost/type_traits/is_const.hpp>\r
+#include <boost/type_traits/add_const.hpp>\r
+#include <boost/type_traits/remove_const.hpp>\r
+#include <boost/type_traits/remove_cv.hpp>\r
+\r
+#include <boost/concept_archetype.hpp>\r
+\r
+#include <boost/mpl/aux_/msvc_eti_base.hpp>\r
+#include <boost/mpl/bitand.hpp>\r
+#include <boost/mpl/int.hpp>\r
+#include <boost/mpl/equal_to.hpp>\r
+#include <boost/mpl/if.hpp>\r
+#include <boost/mpl/eval_if.hpp>\r
+#include <boost/mpl/and.hpp>\r
+#include <boost/mpl/identity.hpp>\r
+\r
+#include <cstddef>\r
+\r
+namespace boost {\r
+\r
+template <class Value, class AccessCategory>\r
+struct access_archetype;\r
+\r
+template <class Derived, class Value, class AccessCategory, class TraversalCategory>\r
+struct traversal_archetype;\r
+\r
+namespace iterator_archetypes\r
+{\r
+  enum {\r
+      readable_iterator_bit = 1\r
+    , writable_iterator_bit = 2\r
+    , swappable_iterator_bit = 4\r
+    , lvalue_iterator_bit = 8\r
+  };\r
+\r
+  // Not quite tags, since dispatching wouldn't work.\r
+  typedef mpl::int_<readable_iterator_bit>::type readable_iterator_t;\r
+  typedef mpl::int_<writable_iterator_bit>::type writable_iterator_t;\r
+  \r
+  typedef mpl::int_<\r
+      (readable_iterator_bit|writable_iterator_bit)\r
+          >::type readable_writable_iterator_t;\r
+  \r
+  typedef mpl::int_<\r
+      (readable_iterator_bit|lvalue_iterator_bit)\r
+          >::type readable_lvalue_iterator_t;\r
+  \r
+  typedef mpl::int_<\r
+      (lvalue_iterator_bit|writable_iterator_bit)\r
+          >::type writable_lvalue_iterator_t;\r
+  \r
+  typedef mpl::int_<swappable_iterator_bit>::type swappable_iterator_t;\r
+  typedef mpl::int_<lvalue_iterator_bit>::type lvalue_iterator_t;\r
+\r
+  template <class Derived, class Base>\r
+  struct has_access\r
+    : mpl::equal_to<\r
+          mpl::bitand_<Derived,Base>\r
+        , Base\r
+      >\r
+  {};\r
+}\r
+\r
+namespace detail\r
+{\r
+  template <class T>\r
+  struct assign_proxy\r
+  {\r
+      assign_proxy& operator=(T) { return *this; }\r
+  };\r
+\r
+  template <class T>\r
+  struct read_proxy\r
+  {\r
+      operator T() { return static_object<T>::get(); }\r
+  };\r
+\r
+  template <class T>\r
+  struct read_write_proxy\r
+    : read_proxy<T> // Use to inherit from assign_proxy, but that doesn't work. -JGS\r
+  {\r
+      read_write_proxy& operator=(T) { return *this; }\r
+  };\r
+\r
+  template <class T>\r
+  struct arrow_proxy\r
+  {\r
+      T const* operator->() const { return 0; }\r
+  };\r
+\r
+  struct no_operator_brackets {};\r
+\r
+  template <class ValueType>\r
+  struct readable_operator_brackets\r
+  {\r
+      read_proxy<ValueType> operator[](std::ptrdiff_t n) const { return read_proxy<ValueType>(); }\r
+  };\r
+\r
+  template <class ValueType>\r
+  struct writable_operator_brackets\r
+  {\r
+      read_write_proxy<ValueType> operator[](std::ptrdiff_t n) const { return read_write_proxy<ValueType>(); }\r
+  };\r
+\r
+  template <class Value, class AccessCategory, class TraversalCategory>\r
+  struct operator_brackets\r
+    : mpl::aux::msvc_eti_base<\r
+          typename mpl::eval_if<\r
+              is_convertible<TraversalCategory, random_access_traversal_tag>\r
+            , mpl::eval_if<\r
+                  iterator_archetypes::has_access<\r
+                      AccessCategory\r
+                    , iterator_archetypes::writable_iterator_t\r
+                  >\r
+                , mpl::identity<writable_operator_brackets<Value> >\r
+                , mpl::if_<\r
+                      iterator_archetypes::has_access<\r
+                          AccessCategory\r
+                        , iterator_archetypes::readable_iterator_t\r
+                      >\r
+                    , readable_operator_brackets<Value>\r
+                    , no_operator_brackets\r
+                  >\r
+              >\r
+            , mpl::identity<no_operator_brackets>\r
+          >::type\r
+      >::type\r
+  {};\r
+  \r
+  template <class TraversalCategory>\r
+  struct traversal_archetype_impl\r
+  {\r
+      template <class Derived,class Value> struct archetype;\r
+  };\r
+\r
+  // Constructor argument for those iterators that\r
+  // are not default constructible\r
+  struct ctor_arg {};\r
+\r
+  template <class Derived, class Value, class TraversalCategory>\r
+  struct traversal_archetype_\r
+    : mpl::aux::msvc_eti_base<\r
+          typename traversal_archetype_impl<TraversalCategory>::template archetype<Derived,Value>\r
+      >::type\r
+  {\r
+      typedef typename\r
+        traversal_archetype_impl<TraversalCategory>::template archetype<Derived,Value>\r
+      base;\r
+      \r
+      traversal_archetype_() {}\r
+\r
+      traversal_archetype_(ctor_arg arg)\r
+        : base(arg) \r
+      {}\r
+  };\r
+\r
+  template <>\r
+  struct traversal_archetype_impl<incrementable_traversal_tag>\r
+  {\r
+      template<class Derived, class Value>\r
+      struct archetype\r
+      {\r
+          explicit archetype(ctor_arg) {}\r
+\r
+          struct bogus { }; // This use to be void, but that causes trouble for iterator_facade. Need more research. -JGS\r
+          typedef bogus difference_type;\r
+\r
+          Derived& operator++() { return (Derived&)static_object<Derived>::get(); }\r
+          Derived  operator++(int) const { return (Derived&)static_object<Derived>::get(); }\r
+      };\r
+  };\r
+\r
+  template <>\r
+  struct traversal_archetype_impl<single_pass_traversal_tag>\r
+  {\r
+      template<class Derived, class Value>\r
+      struct archetype\r
+        : public equality_comparable< traversal_archetype_<Derived, Value, single_pass_traversal_tag> >,\r
+          public traversal_archetype_<Derived, Value, incrementable_traversal_tag>\r
+      {\r
+          explicit archetype(ctor_arg arg)\r
+            : traversal_archetype_<Derived, Value, incrementable_traversal_tag>(arg)\r
+          {}\r
+          \r
+          typedef std::ptrdiff_t difference_type;\r
+      };\r
+  };\r
+\r
+  template <class Derived, class Value>\r
+  bool operator==(traversal_archetype_<Derived, Value, single_pass_traversal_tag> const&,\r
+                  traversal_archetype_<Derived, Value, single_pass_traversal_tag> const&) { return true; }\r
+  \r
+#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)\r
+  // doesn't seem to pick up != from equality_comparable\r
+  template <class Derived, class Value>\r
+  bool operator!=(traversal_archetype_<Derived, Value, single_pass_traversal_tag> const&,\r
+                  traversal_archetype_<Derived, Value, single_pass_traversal_tag> const&) { return true; }\r
+#endif \r
+  template <>\r
+  struct traversal_archetype_impl<forward_traversal_tag>\r
+  {\r
+      template<class Derived, class Value>\r
+      struct archetype\r
+        : public traversal_archetype_<Derived, Value, single_pass_traversal_tag>\r
+      {\r
+          archetype() \r
+            : traversal_archetype_<Derived, Value, single_pass_traversal_tag>(ctor_arg())\r
+          {}\r
+      };\r
+  };\r
+\r
+  template <>\r
+  struct traversal_archetype_impl<bidirectional_traversal_tag>\r
+  {\r
+      template<class Derived, class Value>\r
+      struct archetype\r
+        : public traversal_archetype_<Derived, Value, forward_traversal_tag>\r
+      {\r
+          Derived& operator--() { return static_object<Derived>::get(); }\r
+          Derived  operator--(int) const { return static_object<Derived>::get(); }\r
+      };\r
+  };\r
+\r
+  template <>\r
+  struct traversal_archetype_impl<random_access_traversal_tag>\r
+  {\r
+      template<class Derived, class Value>\r
+      struct archetype\r
+        : public traversal_archetype_<Derived, Value, bidirectional_traversal_tag> \r
+      {\r
+          Derived& operator+=(std::ptrdiff_t) { return static_object<Derived>::get(); }\r
+          Derived& operator-=(std::ptrdiff_t) { return static_object<Derived>::get(); }\r
+      };\r
+  };\r
+\r
+  template <class Derived, class Value>\r
+  Derived& operator+(traversal_archetype_<Derived, Value, random_access_traversal_tag> const&,\r
+                     std::ptrdiff_t) { return static_object<Derived>::get(); }\r
+\r
+  template <class Derived, class Value>\r
+  Derived& operator+(std::ptrdiff_t,\r
+                     traversal_archetype_<Derived, Value, random_access_traversal_tag> const&)\r
+      { return static_object<Derived>::get(); }\r
+\r
+  template <class Derived, class Value>\r
+  Derived& operator-(traversal_archetype_<Derived, Value, random_access_traversal_tag> const&,\r
+                     std::ptrdiff_t)\r
+      { return static_object<Derived>::get(); }\r
+\r
+  template <class Derived, class Value>\r
+  std::ptrdiff_t operator-(traversal_archetype_<Derived, Value, random_access_traversal_tag> const&,\r
+                           traversal_archetype_<Derived, Value, random_access_traversal_tag> const&)\r
+      { return 0; }\r
+\r
+  template <class Derived, class Value>\r
+  bool operator<(traversal_archetype_<Derived, Value, random_access_traversal_tag> const&,\r
+                 traversal_archetype_<Derived, Value, random_access_traversal_tag> const&)\r
+      { return true; }\r
+\r
+  template <class Derived, class Value>\r
+  bool operator>(traversal_archetype_<Derived, Value, random_access_traversal_tag> const&,\r
+                 traversal_archetype_<Derived, Value, random_access_traversal_tag> const&)\r
+      { return true; }\r
+\r
+  template <class Derived, class Value>\r
+  bool operator<=(traversal_archetype_<Derived, Value, random_access_traversal_tag> const&,\r
+                 traversal_archetype_<Derived, Value, random_access_traversal_tag> const&)\r
+      { return true; }\r
+\r
+  template <class Derived, class Value>\r
+  bool operator>=(traversal_archetype_<Derived, Value, random_access_traversal_tag> const&,\r
+                 traversal_archetype_<Derived, Value, random_access_traversal_tag> const&)\r
+      { return true; }\r
+\r
+  struct bogus_type;\r
+\r
+  template <class Value>\r
+  struct convertible_type\r
+    : mpl::if_< is_const<Value>,\r
+                typename remove_const<Value>::type,\r
+                bogus_type >\r
+  {};\r
+\r
+} // namespace detail\r
+\r
+\r
+template <class> struct undefined;\r
+  \r
+template <class AccessCategory>\r
+struct iterator_access_archetype_impl\r
+{\r
+    template <class Value> struct archetype;\r
+};\r
+\r
+template <class Value, class AccessCategory>\r
+struct iterator_access_archetype\r
+  : mpl::aux::msvc_eti_base<\r
+        typename iterator_access_archetype_impl<\r
+            AccessCategory\r
+        >::template archetype<Value>\r
+    >::type\r
+{\r
+};\r
+\r
+template <>\r
+struct iterator_access_archetype_impl<\r
+    iterator_archetypes::readable_iterator_t\r
+>\r
+{\r
+    template <class Value>\r
+    struct archetype\r
+    {\r
+        typedef typename remove_cv<Value>::type value_type;\r
+        typedef Value                           reference;\r
+        typedef Value*                          pointer;\r
+\r
+        value_type operator*() const { return static_object<value_type>::get(); }\r
+\r
+        detail::arrow_proxy<Value> operator->() const { return detail::arrow_proxy<Value>(); }\r
+    };\r
+};\r
+\r
+template <>\r
+struct iterator_access_archetype_impl<\r
+    iterator_archetypes::writable_iterator_t\r
+>\r
+{\r
+    template <class Value>\r
+    struct archetype\r
+    {\r
+# if !BOOST_WORKAROUND(BOOST_MSVC, <= 1300)\r
+        BOOST_STATIC_ASSERT(!is_const<Value>::value);\r
+# endif \r
+        typedef void value_type;\r
+        typedef void reference;\r
+        typedef void pointer;\r
+\r
+        detail::assign_proxy<Value> operator*() const { return detail::assign_proxy<Value>(); }\r
+    };\r
+};\r
+\r
+template <>\r
+struct iterator_access_archetype_impl<\r
+    iterator_archetypes::readable_writable_iterator_t\r
+>\r
+{\r
+    template <class Value>\r
+    struct archetype\r
+      : public virtual iterator_access_archetype<\r
+            Value, iterator_archetypes::readable_iterator_t\r
+        >\r
+    {\r
+        typedef detail::read_write_proxy<Value>    reference;\r
+\r
+        detail::read_write_proxy<Value> operator*() const { return detail::read_write_proxy<Value>(); }\r
+    };\r
+};\r
+\r
+template <>\r
+struct iterator_access_archetype_impl<iterator_archetypes::readable_lvalue_iterator_t>\r
+{\r
+    template <class Value>\r
+    struct archetype\r
+      : public virtual iterator_access_archetype<\r
+            Value, iterator_archetypes::readable_iterator_t\r
+        >\r
+    {\r
+        typedef Value&    reference;\r
+\r
+        Value& operator*() const { return static_object<Value>::get(); }\r
+        Value* operator->() const { return 0; }\r
+    };\r
+};\r
+  \r
+template <>\r
+struct iterator_access_archetype_impl<iterator_archetypes::writable_lvalue_iterator_t>\r
+{\r
+    template <class Value>\r
+    struct archetype\r
+      : public virtual iterator_access_archetype<\r
+            Value, iterator_archetypes::readable_lvalue_iterator_t\r
+        >\r
+    {\r
+# if !BOOST_WORKAROUND(BOOST_MSVC, <= 1300)\r
+        BOOST_STATIC_ASSERT((!is_const<Value>::value));\r
+# endif \r
+    };\r
+};\r
+  \r
+\r
+template <class Value, class AccessCategory, class TraversalCategory>\r
+struct iterator_archetype;\r
+  \r
+template <class Value, class AccessCategory, class TraversalCategory>\r
+struct traversal_archetype_base \r
+  : detail::operator_brackets<\r
+        typename remove_cv<Value>::type\r
+      , AccessCategory\r
+      , TraversalCategory\r
+    >\r
+  , detail::traversal_archetype_<\r
+        iterator_archetype<Value, AccessCategory, TraversalCategory>\r
+      , Value\r
+      , TraversalCategory\r
+    >\r
+{\r
+};\r
+\r
+namespace detail\r
+{\r
+  template <class Value, class AccessCategory, class TraversalCategory>\r
+  struct iterator_archetype_base\r
+    : iterator_access_archetype<Value, AccessCategory>\r
+    , traversal_archetype_base<Value, AccessCategory, TraversalCategory>\r
+  {\r
+      typedef iterator_access_archetype<Value, AccessCategory> access;\r
+      \r
+      typedef typename detail::facade_iterator_category<\r
+          TraversalCategory\r
+        , typename mpl::eval_if<\r
+              iterator_archetypes::has_access<\r
+                  AccessCategory, iterator_archetypes::writable_iterator_t\r
+              >\r
+            , remove_const<Value>\r
+            , add_const<Value>\r
+          >::type\r
+        , typename access::reference\r
+      >::type iterator_category;\r
+\r
+      // Needed for some broken libraries (see below)\r
+      typedef boost::iterator<\r
+          iterator_category\r
+        , Value\r
+        , typename traversal_archetype_base<\r
+              Value, AccessCategory, TraversalCategory\r
+          >::difference_type\r
+        , typename access::pointer\r
+        , typename access::reference\r
+      > workaround_iterator_base;\r
+  };\r
+}\r
+\r
+template <class Value, class AccessCategory, class TraversalCategory>\r
+struct iterator_archetype\r
+  : public detail::iterator_archetype_base<Value, AccessCategory, TraversalCategory>\r
+\r
+    // These broken libraries require derivation from std::iterator\r
+    // (or related magic) in order to handle iter_swap and other\r
+    // iterator operations\r
+# if BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, < 310)           \\r
+    || BOOST_WORKAROUND(_RWSTD_VER, BOOST_TESTED_AT(0x20101))\r
+  , public detail::iterator_archetype_base<\r
+        Value, AccessCategory, TraversalCategory\r
+    >::workaround_iterator_base\r
+# endif \r
+{\r
+    // Derivation from std::iterator above caused references to nested\r
+    // types to be ambiguous, so now we have to redeclare them all\r
+    // here.\r
+# if BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, < 310)           \\r
+    || BOOST_WORKAROUND(_RWSTD_VER, BOOST_TESTED_AT(0x20101))\r
+    \r
+    typedef detail::iterator_archetype_base<\r
+        Value,AccessCategory,TraversalCategory\r
+    > base;\r
+    \r
+    typedef typename base::value_type value_type;\r
+    typedef typename base::reference reference;\r
+    typedef typename base::pointer pointer;\r
+    typedef typename base::difference_type difference_type;\r
+    typedef typename base::iterator_category iterator_category;\r
+# endif\r
+\r
+    iterator_archetype() { }\r
+    iterator_archetype(iterator_archetype const& x)\r
+      : detail::iterator_archetype_base<\r
+            Value\r
+          , AccessCategory\r
+          , TraversalCategory\r
+        >(x)\r
+    {}\r
+\r
+    iterator_archetype& operator=(iterator_archetype const&)\r
+        { return *this; }\r
+\r
+# if 0\r
+    // Optional conversion from mutable\r
+    iterator_archetype(\r
+        iterator_archetype<\r
+        typename detail::convertible_type<Value>::type\r
+      , AccessCategory\r
+      , TraversalCategory> const&\r
+    );\r
+# endif\r
+};\r
+\r
+} // namespace boost\r
+\r
+\r
+#endif // BOOST_ITERATOR_ARCHETYPES_HPP\r
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 (file)
index 0000000..9a0be36
--- /dev/null
@@ -0,0 +1,188 @@
+// (C) Copyright Jeremy Siek 2002.\r
+// Distributed under the Boost Software License, Version 1.0. (See\r
+// accompanying file LICENSE_1_0.txt or copy at\r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+#ifndef BOOST_ITERATOR_CATEGORIES_HPP\r
+# define BOOST_ITERATOR_CATEGORIES_HPP\r
+\r
+# include <boost/config.hpp>\r
+# include <boost/detail/iterator.hpp>\r
+# include <boost/iterator/detail/config_def.hpp>\r
+\r
+# include <boost/detail/workaround.hpp>\r
+\r
+# include <boost/mpl/eval_if.hpp>\r
+# include <boost/mpl/identity.hpp>\r
+# include <boost/mpl/placeholders.hpp>\r
+# include <boost/mpl/aux_/lambda_support.hpp>\r
+\r
+# include <boost/type_traits/is_convertible.hpp>\r
+\r
+# include <boost/static_assert.hpp>\r
+\r
+namespace boost {\r
+\r
+//\r
+// Traversal Categories\r
+//\r
+\r
+struct no_traversal_tag {};\r
+\r
+struct incrementable_traversal_tag \r
+  : no_traversal_tag\r
+{\r
+//     incrementable_traversal_tag() {}\r
+//     incrementable_traversal_tag(std::output_iterator_tag const&) {};\r
+};\r
+  \r
+struct single_pass_traversal_tag\r
+  : incrementable_traversal_tag\r
+{\r
+//     single_pass_traversal_tag() {}\r
+//     single_pass_traversal_tag(std::input_iterator_tag const&) {};\r
+};\r
+  \r
+struct forward_traversal_tag\r
+  : single_pass_traversal_tag\r
+{\r
+//     forward_traversal_tag() {}\r
+//     forward_traversal_tag(std::forward_iterator_tag const&) {};\r
+};\r
+  \r
+struct bidirectional_traversal_tag\r
+  : forward_traversal_tag\r
+{\r
+//     bidirectional_traversal_tag() {};\r
+//     bidirectional_traversal_tag(std::bidirectional_iterator_tag const&) {};\r
+};\r
+  \r
+struct random_access_traversal_tag\r
+  : bidirectional_traversal_tag\r
+{\r
+//     random_access_traversal_tag() {};\r
+//     random_access_traversal_tag(std::random_access_iterator_tag const&) {};\r
+};\r
+\r
+namespace detail\r
+{  \r
+  //\r
+  // Convert a "strictly old-style" iterator category to a traversal\r
+  // tag.  This is broken out into a separate metafunction to reduce\r
+  // the cost of instantiating iterator_category_to_traversal, below,\r
+  // for new-style types.\r
+  //\r
+  template <class Cat>\r
+  struct old_category_to_traversal\r
+    : mpl::eval_if<\r
+          is_convertible<Cat,std::random_access_iterator_tag>\r
+        , mpl::identity<random_access_traversal_tag>\r
+        , mpl::eval_if<\r
+              is_convertible<Cat,std::bidirectional_iterator_tag>\r
+            , mpl::identity<bidirectional_traversal_tag>\r
+            , mpl::eval_if<\r
+                  is_convertible<Cat,std::forward_iterator_tag>\r
+                , mpl::identity<forward_traversal_tag>\r
+                , mpl::eval_if<\r
+                      is_convertible<Cat,std::input_iterator_tag>\r
+                    , mpl::identity<single_pass_traversal_tag>\r
+                    , mpl::eval_if<\r
+                          is_convertible<Cat,std::output_iterator_tag>\r
+                        , mpl::identity<incrementable_traversal_tag>\r
+                        , void\r
+                      >\r
+                  >\r
+              >\r
+          >\r
+      >\r
+  {};\r
+\r
+# if BOOST_WORKAROUND(BOOST_MSVC, < 1300)\r
+  template <>\r
+  struct old_category_to_traversal<int>\r
+  {\r
+      typedef int type;\r
+  };\r
+# endif\r
+\r
+  template <class Traversal>\r
+  struct pure_traversal_tag\r
+    : mpl::eval_if<\r
+          is_convertible<Traversal,random_access_traversal_tag>\r
+        , mpl::identity<random_access_traversal_tag>\r
+        , mpl::eval_if<\r
+              is_convertible<Traversal,bidirectional_traversal_tag>\r
+            , mpl::identity<bidirectional_traversal_tag>\r
+            , mpl::eval_if<\r
+                  is_convertible<Traversal,forward_traversal_tag>\r
+                , mpl::identity<forward_traversal_tag>\r
+                , mpl::eval_if<\r
+                      is_convertible<Traversal,single_pass_traversal_tag>\r
+                    , mpl::identity<single_pass_traversal_tag>\r
+                    , mpl::eval_if<\r
+                          is_convertible<Traversal,incrementable_traversal_tag>\r
+                        , mpl::identity<incrementable_traversal_tag>\r
+                        , void\r
+                      >\r
+                  >\r
+              >\r
+          >\r
+      >\r
+  {\r
+  };\r
+  \r
+# if BOOST_WORKAROUND(BOOST_MSVC, < 1300)\r
+  template <>\r
+  struct pure_traversal_tag<int>\r
+  {\r
+      typedef int type;\r
+  };\r
+# endif\r
+\r
+} // namespace detail\r
+\r
+\r
+//\r
+// Convert an iterator category into a traversal tag\r
+//\r
+template <class Cat>\r
+struct iterator_category_to_traversal\r
+  : mpl::eval_if< // if already convertible to a traversal tag, we're done.\r
+        is_convertible<Cat,incrementable_traversal_tag>\r
+      , mpl::identity<Cat>\r
+      , boost::detail::old_category_to_traversal<Cat>\r
+    >\r
+{};\r
+\r
+// Trait to get an iterator's traversal category\r
+template <class Iterator = mpl::_1>\r
+struct iterator_traversal\r
+  : iterator_category_to_traversal<\r
+        typename boost::detail::iterator_traits<Iterator>::iterator_category\r
+    >\r
+{};\r
+\r
+# ifdef BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT\r
+// Hack because BOOST_MPL_AUX_LAMBDA_SUPPORT doesn't seem to work\r
+// out well.  Instantiating the nested apply template also\r
+// requires instantiating iterator_traits on the\r
+// placeholder. Instead we just specialize it as a metafunction\r
+// class.\r
+template <>\r
+struct iterator_traversal<mpl::_1>\r
+{\r
+    template <class T>\r
+    struct apply : iterator_traversal<T>\r
+    {};\r
+};\r
+template <>\r
+struct iterator_traversal<mpl::_>\r
+  : iterator_traversal<mpl::_1>\r
+{};\r
+# endif\r
+\r
+} // namespace boost\r
+\r
+#include <boost/iterator/detail/config_undef.hpp>\r
+\r
+#endif // BOOST_ITERATOR_CATEGORIES_HPP\r
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 (file)
index 0000000..732ad88
--- /dev/null
@@ -0,0 +1,284 @@
+// (C) Copyright Jeremy Siek 2002.\r
+// Distributed under the Boost Software License, Version 1.0. (See\r
+// accompanying file LICENSE_1_0.txt or copy at\r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+#ifndef BOOST_ITERATOR_CONCEPTS_HPP\r
+#define BOOST_ITERATOR_CONCEPTS_HPP\r
+\r
+#include <boost/concept_check.hpp>\r
+#include <boost/iterator/iterator_categories.hpp>\r
+\r
+// Use boost::detail::iterator_traits to work around some MSVC/Dinkumware problems.\r
+#include <boost/detail/iterator.hpp>\r
+\r
+#include <boost/type_traits/is_same.hpp>\r
+#include <boost/type_traits/is_integral.hpp>\r
+\r
+#include <boost/mpl/bool.hpp>\r
+#include <boost/mpl/if.hpp>\r
+#include <boost/mpl/and.hpp>\r
+#include <boost/mpl/or.hpp>\r
+\r
+#include <boost/static_assert.hpp>\r
+\r
+// Use boost/limits to work around missing limits headers on some compilers\r
+#include <boost/limits.hpp>\r
+#include <boost/config.hpp>\r
+\r
+#include <algorithm>\r
+\r
+#include <boost/concept/detail/concept_def.hpp>\r
+\r
+namespace boost_concepts\r
+{\r
+  // Used a different namespace here (instead of "boost") so that the\r
+  // concept descriptions do not take for granted the names in\r
+  // namespace boost.\r
+\r
+  //===========================================================================\r
+  // Iterator Access Concepts\r
+\r
+  BOOST_concept(ReadableIterator,(Iterator))\r
+    : boost::Assignable<Iterator>\r
+    , boost::CopyConstructible<Iterator>\r
+\r
+  {\r
+      typedef BOOST_DEDUCED_TYPENAME boost::detail::iterator_traits<Iterator>::value_type value_type;\r
+      typedef BOOST_DEDUCED_TYPENAME boost::detail::iterator_traits<Iterator>::reference reference;\r
+\r
+      BOOST_CONCEPT_USAGE(ReadableIterator)\r
+      {\r
+\r
+          value_type v = *i;\r
+          boost::ignore_unused_variable_warning(v);\r
+      }\r
+  private:\r
+      Iterator i;\r
+  };\r
+  \r
+  template <\r
+      typename Iterator\r
+    , typename ValueType = BOOST_DEDUCED_TYPENAME boost::detail::iterator_traits<Iterator>::value_type\r
+  >\r
+  struct WritableIterator\r
+    : boost::CopyConstructible<Iterator>\r
+  {\r
+      BOOST_CONCEPT_USAGE(WritableIterator)\r
+      {\r
+          *i = v;\r
+      }\r
+  private:\r
+      ValueType v;\r
+      Iterator i;\r
+  };\r
+\r
+  template <\r
+      typename Iterator\r
+    , typename ValueType = BOOST_DEDUCED_TYPENAME boost::detail::iterator_traits<Iterator>::value_type\r
+  >\r
+  struct WritableIteratorConcept : WritableIterator<Iterator,ValueType> {};\r
+  \r
+  BOOST_concept(SwappableIterator,(Iterator))\r
+  {\r
+      BOOST_CONCEPT_USAGE(SwappableIterator)\r
+      {\r
+          std::iter_swap(i1, i2);\r
+      }\r
+  private:\r
+      Iterator i1;\r
+      Iterator i2;\r
+  };\r
+\r
+  BOOST_concept(LvalueIterator,(Iterator))\r
+  {\r
+      typedef typename boost::detail::iterator_traits<Iterator>::value_type value_type;\r
+      \r
+      BOOST_CONCEPT_USAGE(LvalueIterator)\r
+      {\r
+        value_type& r = const_cast<value_type&>(*i);\r
+        boost::ignore_unused_variable_warning(r);\r
+      }\r
+  private:\r
+      Iterator i;\r
+  };\r
+\r
+  \r
+  //===========================================================================\r
+  // Iterator Traversal Concepts\r
+\r
+  BOOST_concept(IncrementableIterator,(Iterator))\r
+    : boost::Assignable<Iterator>\r
+    , boost::CopyConstructible<Iterator>\r
+  {\r
+      typedef typename boost::iterator_traversal<Iterator>::type traversal_category;\r
+\r
+      BOOST_CONCEPT_ASSERT((\r
+        boost::Convertible<\r
+            traversal_category\r
+          , boost::incrementable_traversal_tag\r
+        >));\r
+\r
+      BOOST_CONCEPT_USAGE(IncrementableIterator)\r
+      {\r
+          ++i;\r
+          (void)i++;\r
+      }\r
+  private:\r
+      Iterator i;\r
+  };\r
+\r
+  BOOST_concept(SinglePassIterator,(Iterator))\r
+    : IncrementableIterator<Iterator>\r
+    , boost::EqualityComparable<Iterator>\r
+\r
+  {\r
+      BOOST_CONCEPT_ASSERT((\r
+          boost::Convertible<\r
+             BOOST_DEDUCED_TYPENAME SinglePassIterator::traversal_category\r
+           , boost::single_pass_traversal_tag\r
+          > ));\r
+  };\r
+\r
+  BOOST_concept(ForwardTraversal,(Iterator))\r
+    : SinglePassIterator<Iterator>\r
+    , boost::DefaultConstructible<Iterator>\r
+  {\r
+      typedef typename boost::detail::iterator_traits<Iterator>::difference_type difference_type;\r
+      \r
+      BOOST_MPL_ASSERT((boost::is_integral<difference_type>));\r
+      BOOST_MPL_ASSERT_RELATION(std::numeric_limits<difference_type>::is_signed, ==, true);\r
+\r
+      BOOST_CONCEPT_ASSERT((\r
+          boost::Convertible<\r
+             BOOST_DEDUCED_TYPENAME ForwardTraversal::traversal_category\r
+           , boost::forward_traversal_tag\r
+          > ));\r
+  };\r
+  \r
+  BOOST_concept(BidirectionalTraversal,(Iterator))\r
+    : ForwardTraversal<Iterator>\r
+  {\r
+      BOOST_CONCEPT_ASSERT((\r
+          boost::Convertible<\r
+             BOOST_DEDUCED_TYPENAME BidirectionalTraversal::traversal_category\r
+           , boost::bidirectional_traversal_tag\r
+          > ));\r
+\r
+      BOOST_CONCEPT_USAGE(BidirectionalTraversal)\r
+      {\r
+          --i;\r
+          (void)i--;\r
+      }\r
+   private:\r
+      Iterator i;\r
+  };\r
+\r
+  BOOST_concept(RandomAccessTraversal,(Iterator))\r
+    : BidirectionalTraversal<Iterator>\r
+  {\r
+      BOOST_CONCEPT_ASSERT((\r
+          boost::Convertible<\r
+             BOOST_DEDUCED_TYPENAME RandomAccessTraversal::traversal_category\r
+           , boost::random_access_traversal_tag\r
+          > ));\r
+\r
+      BOOST_CONCEPT_USAGE(RandomAccessTraversal)\r
+      {\r
+          i += n;\r
+          i = i + n;\r
+          i = n + i;\r
+          i -= n;\r
+          i = i - n;\r
+          n = i - j;\r
+      }\r
+      \r
+   private:\r
+      typename BidirectionalTraversal<Iterator>::difference_type n;\r
+      Iterator i, j;\r
+  };\r
+\r
+  //===========================================================================\r
+  // Iterator Interoperability \r
+\r
+  namespace detail\r
+  {\r
+    template <typename Iterator1, typename Iterator2>\r
+    void interop_single_pass_constraints(Iterator1 const& i1, Iterator2 const& i2)\r
+    {\r
+        bool b;\r
+        b = i1 == i2;\r
+        b = i1 != i2;\r
+\r
+        b = i2 == i1;\r
+        b = i2 != i1;\r
+        boost::ignore_unused_variable_warning(b);\r
+    }\r
+\r
+    template <typename Iterator1, typename Iterator2>\r
+    void interop_rand_access_constraints(\r
+        Iterator1 const& i1, Iterator2 const& i2,\r
+        boost::random_access_traversal_tag, boost::random_access_traversal_tag)\r
+    {\r
+        bool b;\r
+        typename boost::detail::iterator_traits<Iterator2>::difference_type n;\r
+        b = i1 <  i2;\r
+        b = i1 <= i2;\r
+        b = i1 >  i2;\r
+        b = i1 >= i2;\r
+        n = i1 -  i2;\r
+\r
+        b = i2 <  i1;\r
+        b = i2 <= i1;\r
+        b = i2 >  i1;\r
+        b = i2 >= i1;\r
+        n = i2 -  i1;\r
+        boost::ignore_unused_variable_warning(b);\r
+        boost::ignore_unused_variable_warning(n);\r
+    }\r
+\r
+    template <typename Iterator1, typename Iterator2>\r
+    void interop_rand_access_constraints(\r
+        Iterator1 const&, Iterator2 const&,\r
+        boost::single_pass_traversal_tag, boost::single_pass_traversal_tag)\r
+    { }\r
+\r
+  } // namespace detail\r
+\r
+  BOOST_concept(InteroperableIterator,(Iterator)(ConstIterator))\r
+  {\r
+   private:\r
+      typedef typename boost::detail::pure_traversal_tag<\r
+          typename boost::iterator_traversal<\r
+              Iterator\r
+          >::type\r
+      >::type traversal_category;\r
+\r
+      typedef typename boost::detail::pure_traversal_tag<\r
+          typename boost::iterator_traversal<\r
+              ConstIterator\r
+          >::type\r
+      >::type const_traversal_category;\r
+      \r
+  public:\r
+      BOOST_CONCEPT_ASSERT((SinglePassIterator<Iterator>));\r
+      BOOST_CONCEPT_ASSERT((SinglePassIterator<ConstIterator>));\r
+\r
+      BOOST_CONCEPT_USAGE(InteroperableIterator)\r
+      {\r
+          detail::interop_single_pass_constraints(i, ci);\r
+          detail::interop_rand_access_constraints(i, ci, traversal_category(), const_traversal_category());\r
+\r
+          ci = i;\r
+      }\r
+      \r
+   private:\r
+      Iterator      i;\r
+      ConstIterator ci;\r
+  };\r
+\r
+} // namespace boost_concepts\r
+\r
+#include <boost/concept/detail/concept_undef.hpp>\r
+\r
+#endif // BOOST_ITERATOR_CONCEPTS_HPP\r
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 (file)
index 0000000..917f05f
--- /dev/null
@@ -0,0 +1,878 @@
+// (C) Copyright David Abrahams 2002.\r
+// (C) Copyright Jeremy Siek    2002.\r
+// (C) Copyright Thomas Witt    2002.\r
+// Distributed under the Boost Software License, Version 1.0. (See\r
+// accompanying file LICENSE_1_0.txt or copy at\r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+#ifndef BOOST_ITERATOR_FACADE_23022003THW_HPP\r
+#define BOOST_ITERATOR_FACADE_23022003THW_HPP\r
+\r
+#include <boost/iterator.hpp>\r
+#include <boost/iterator/interoperable.hpp>\r
+#include <boost/iterator/iterator_traits.hpp>\r
+\r
+#include <boost/iterator/detail/facade_iterator_category.hpp>\r
+#include <boost/iterator/detail/enable_if.hpp>\r
+\r
+#include <boost/implicit_cast.hpp>\r
+#include <boost/static_assert.hpp>\r
+\r
+#include <boost/type_traits/is_same.hpp>\r
+#include <boost/type_traits/add_const.hpp>\r
+#include <boost/type_traits/add_pointer.hpp>\r
+#include <boost/type_traits/remove_const.hpp>\r
+#include <boost/type_traits/remove_reference.hpp>\r
+#include <boost/type_traits/is_convertible.hpp>\r
+#include <boost/type_traits/is_pod.hpp>\r
+\r
+#include <boost/mpl/eval_if.hpp>\r
+#include <boost/mpl/if.hpp>\r
+#include <boost/mpl/or.hpp>\r
+#include <boost/mpl/and.hpp>\r
+#include <boost/mpl/not.hpp>\r
+#include <boost/mpl/always.hpp>\r
+#include <boost/mpl/apply.hpp>\r
+#include <boost/mpl/identity.hpp>\r
+\r
+#include <boost/iterator/detail/config_def.hpp> // this goes last\r
+\r
+namespace boost\r
+{\r
+  // This forward declaration is required for the friend declaration\r
+  // in iterator_core_access\r
+  template <class I, class V, class TC, class R, class D> class iterator_facade;\r
+\r
+  namespace detail\r
+  {\r
+    // A binary metafunction class that always returns bool.  VC6\r
+    // ICEs on mpl::always<bool>, probably because of the default\r
+    // parameters.\r
+    struct always_bool2\r
+    {\r
+        template <class T, class U>\r
+        struct apply\r
+        {\r
+            typedef bool type;\r
+        };\r
+    };\r
+\r
+    //\r
+    // enable if for use in operator implementation.\r
+    //\r
+    template <\r
+        class Facade1\r
+      , class Facade2\r
+      , class Return\r
+    >\r
+    struct enable_if_interoperable\r
+#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)\r
+    {\r
+        typedef typename mpl::if_<\r
+            mpl::or_<\r
+                is_convertible<Facade1, Facade2>\r
+              , is_convertible<Facade2, Facade1>\r
+            >\r
+          , Return\r
+          , int[3]\r
+        >::type type;\r
+    };        \r
+#else\r
+      : ::boost::iterators::enable_if<\r
+           mpl::or_<\r
+               is_convertible<Facade1, Facade2>\r
+             , is_convertible<Facade2, Facade1>\r
+           >\r
+         , Return\r
+        >\r
+    {};\r
+#endif \r
+\r
+    //\r
+    // Generates associated types for an iterator_facade with the\r
+    // given parameters.\r
+    //\r
+    template <\r
+        class ValueParam\r
+      , class CategoryOrTraversal\r
+      , class Reference \r
+      , class Difference\r
+    >\r
+    struct iterator_facade_types\r
+    {\r
+        typedef typename facade_iterator_category<\r
+            CategoryOrTraversal, ValueParam, Reference\r
+        >::type iterator_category;\r
+        \r
+        typedef typename remove_const<ValueParam>::type value_type;\r
+        \r
+        typedef typename mpl::eval_if<\r
+            boost::detail::iterator_writability_disabled<ValueParam,Reference>\r
+          , add_pointer<const value_type>\r
+          , add_pointer<value_type>\r
+        >::type pointer;\r
+      \r
+# if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)                          \\r
+    && (BOOST_WORKAROUND(_STLPORT_VERSION, BOOST_TESTED_AT(0x452))              \\r
+        || BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, BOOST_TESTED_AT(310)))     \\r
+    || BOOST_WORKAROUND(BOOST_RWSTD_VER, BOOST_TESTED_AT(0x20101))              \\r
+    || BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, <= 310)\r
+\r
+        // To interoperate with some broken library/compiler\r
+        // combinations, user-defined iterators must be derived from\r
+        // std::iterator.  It is possible to implement a standard\r
+        // library for broken compilers without this limitation.\r
+#  define BOOST_ITERATOR_FACADE_NEEDS_ITERATOR_BASE 1\r
+\r
+        typedef\r
+           iterator<iterator_category, value_type, Difference, pointer, Reference>\r
+        base;\r
+# endif\r
+    };\r
+\r
+    // iterators whose dereference operators reference the same value\r
+    // for all iterators into the same sequence (like many input\r
+    // iterators) need help with their postfix ++: the referenced\r
+    // value must be read and stored away before the increment occurs\r
+    // so that *a++ yields the originally referenced element and not\r
+    // the next one.\r
+    template <class Iterator>\r
+    class postfix_increment_proxy\r
+    {\r
+        typedef typename iterator_value<Iterator>::type value_type;\r
+     public:\r
+        explicit postfix_increment_proxy(Iterator const& x)\r
+          : stored_value(*x)\r
+        {}\r
+\r
+        // Returning a mutable reference allows nonsense like\r
+        // (*r++).mutate(), but it imposes fewer assumptions about the\r
+        // behavior of the value_type.  In particular, recall taht\r
+        // (*r).mutate() is legal if operator* returns by value.\r
+        value_type&\r
+        operator*() const\r
+        {\r
+            return this->stored_value;\r
+        }\r
+     private:\r
+        mutable value_type stored_value;\r
+    };\r
+    \r
+    //\r
+    // In general, we can't determine that such an iterator isn't\r
+    // writable -- we also need to store a copy of the old iterator so\r
+    // that it can be written into.\r
+    template <class Iterator>\r
+    class writable_postfix_increment_proxy\r
+    {\r
+        typedef typename iterator_value<Iterator>::type value_type;\r
+     public:\r
+        explicit writable_postfix_increment_proxy(Iterator const& x)\r
+          : stored_value(*x)\r
+          , stored_iterator(x)\r
+        {}\r
+\r
+        // Dereferencing must return a proxy so that both *r++ = o and\r
+        // value_type(*r++) can work.  In this case, *r is the same as\r
+        // *r++, and the conversion operator below is used to ensure\r
+        // readability.\r
+        writable_postfix_increment_proxy const&\r
+        operator*() const\r
+        {\r
+            return *this;\r
+        }\r
+\r
+        // Provides readability of *r++\r
+        operator value_type&() const\r
+        {\r
+            return stored_value;\r
+        }\r
+\r
+        // Provides writability of *r++\r
+        template <class T>\r
+        T const& operator=(T const& x) const\r
+        {\r
+            *this->stored_iterator = x;\r
+            return x;\r
+        }\r
+\r
+        // This overload just in case only non-const objects are writable\r
+        template <class T>\r
+        T& operator=(T& x) const\r
+        {\r
+            *this->stored_iterator = x;\r
+            return x;\r
+        }\r
+\r
+        // Provides X(r++)\r
+        operator Iterator const&() const\r
+        {\r
+            return stored_iterator;\r
+        }\r
+        \r
+     private:\r
+        mutable value_type stored_value;\r
+        Iterator stored_iterator;\r
+    };\r
+\r
+# ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+\r
+    template <class Reference, class Value>\r
+    struct is_non_proxy_reference_impl\r
+    {\r
+        static Reference r;\r
+        \r
+        template <class R>\r
+        static typename mpl::if_<\r
+            is_convertible<\r
+                R const volatile*\r
+              , Value const volatile*\r
+            >\r
+          , char[1]\r
+          , char[2]\r
+        >::type& helper(R const&);\r
+        \r
+        BOOST_STATIC_CONSTANT(bool, value = sizeof(helper(r)) == 1);\r
+    };\r
+        \r
+    template <class Reference, class Value>\r
+    struct is_non_proxy_reference\r
+      : mpl::bool_<\r
+            is_non_proxy_reference_impl<Reference, Value>::value\r
+        >\r
+    {};\r
+# else \r
+    template <class Reference, class Value>\r
+    struct is_non_proxy_reference\r
+      : is_convertible<\r
+            typename remove_reference<Reference>::type\r
+            const volatile*\r
+          , Value const volatile*\r
+        >\r
+    {};\r
+# endif \r
+        \r
+    // A metafunction to choose the result type of postfix ++\r
+    //\r
+    // Because the C++98 input iterator requirements say that *r++ has\r
+    // type T (value_type), implementations of some standard\r
+    // algorithms like lexicographical_compare may use constructions\r
+    // like:\r
+    //\r
+    //          *r++ < *s++\r
+    //\r
+    // If *r++ returns a proxy (as required if r is writable but not\r
+    // multipass), this sort of expression will fail unless the proxy\r
+    // supports the operator<.  Since there are any number of such\r
+    // operations, we're not going to try to support them.  Therefore,\r
+    // even if r++ returns a proxy, *r++ will only return a proxy if\r
+    // *r also returns a proxy.\r
+    template <class Iterator, class Value, class Reference, class CategoryOrTraversal>\r
+    struct postfix_increment_result\r
+      : mpl::eval_if<\r
+            mpl::and_<\r
+                // A proxy is only needed for readable iterators\r
+                is_convertible<Reference,Value const&>\r
+                \r
+                // No multipass iterator can have values that disappear\r
+                // before positions can be re-visited\r
+              , mpl::not_<\r
+                    is_convertible<\r
+                        typename iterator_category_to_traversal<CategoryOrTraversal>::type\r
+                      , forward_traversal_tag\r
+                    >\r
+                >\r
+            >\r
+          , mpl::if_<\r
+                is_non_proxy_reference<Reference,Value>\r
+              , postfix_increment_proxy<Iterator>\r
+              , writable_postfix_increment_proxy<Iterator>\r
+            >\r
+          , mpl::identity<Iterator>\r
+        >\r
+    {};\r
+\r
+    // operator->() needs special support for input iterators to strictly meet the\r
+    // standard's requirements. If *i is not a reference type, we must still\r
+    // produce a lvalue to which a pointer can be formed. We do that by\r
+    // returning an instantiation of this special proxy class template.\r
+    template <class T>\r
+    struct operator_arrow_proxy\r
+    {\r
+        operator_arrow_proxy(T const* px) : m_value(*px) {}\r
+        T* operator->() const { return &m_value; }\r
+        // This function is needed for MWCW and BCC, which won't call operator->\r
+        // again automatically per 13.3.1.2 para 8\r
+        operator T*() const { return &m_value; }\r
+        mutable T m_value;\r
+    };\r
+\r
+    // A metafunction that gets the result type for operator->.  Also\r
+    // has a static function make() which builds the result from a\r
+    // Reference\r
+    template <class ValueType, class Reference, class Pointer>\r
+    struct operator_arrow_result\r
+    {\r
+        // CWPro8.3 won't accept "operator_arrow_result::type", and we\r
+        // need that type below, so metafunction forwarding would be a\r
+        // losing proposition here.\r
+        typedef typename mpl::if_<\r
+            is_reference<Reference>\r
+          , Pointer\r
+          , operator_arrow_proxy<ValueType>\r
+        >::type type;\r
+\r
+        static type make(Reference x)\r
+        {\r
+            return implicit_cast<type>(&x);\r
+        }\r
+    };\r
+\r
+# if BOOST_WORKAROUND(BOOST_MSVC, < 1300)\r
+    // Deal with ETI\r
+    template<>\r
+    struct operator_arrow_result<int, int, int>\r
+    {\r
+        typedef int type;\r
+    };\r
+# endif\r
+\r
+    // A proxy return type for operator[], needed to deal with\r
+    // iterators that may invalidate referents upon destruction.\r
+    // Consider the temporary iterator in *(a + n)\r
+    template <class Iterator>\r
+    class operator_brackets_proxy\r
+    {\r
+        // Iterator is actually an iterator_facade, so we do not have to\r
+        // go through iterator_traits to access the traits.\r
+        typedef typename Iterator::reference  reference;\r
+        typedef typename Iterator::value_type value_type;\r
+\r
+     public:\r
+        operator_brackets_proxy(Iterator const& iter)\r
+          : m_iter(iter)\r
+        {}\r
+\r
+        operator reference() const\r
+        {\r
+            return *m_iter;\r
+        }\r
+\r
+        operator_brackets_proxy& operator=(value_type const& val)\r
+        {\r
+            *m_iter = val;\r
+            return *this;\r
+        }\r
+\r
+     private:\r
+        Iterator m_iter;\r
+    };\r
+\r
+    // A metafunction that determines whether operator[] must return a\r
+    // proxy, or whether it can simply return a copy of the value_type.\r
+    template <class ValueType, class Reference>\r
+    struct use_operator_brackets_proxy\r
+      : mpl::not_<\r
+            mpl::and_<\r
+                // Really we want an is_copy_constructible trait here,\r
+                // but is_POD will have to suffice in the meantime.\r
+                boost::is_POD<ValueType>\r
+              , iterator_writability_disabled<ValueType,Reference>\r
+            >\r
+        >\r
+    {};\r
+        \r
+    template <class Iterator, class Value, class Reference>\r
+    struct operator_brackets_result\r
+    {\r
+        typedef typename mpl::if_<\r
+            use_operator_brackets_proxy<Value,Reference>\r
+          , operator_brackets_proxy<Iterator>\r
+          , Value\r
+        >::type type;\r
+    };\r
+\r
+    template <class Iterator>\r
+    operator_brackets_proxy<Iterator> make_operator_brackets_result(Iterator const& iter, mpl::true_)\r
+    {\r
+        return operator_brackets_proxy<Iterator>(iter);\r
+    }\r
+\r
+    template <class Iterator>\r
+    typename Iterator::value_type make_operator_brackets_result(Iterator const& iter, mpl::false_)\r
+    {\r
+      return *iter;\r
+    }\r
+\r
+    struct choose_difference_type\r
+    {\r
+        template <class I1, class I2>\r
+        struct apply\r
+          :\r
+# ifdef BOOST_NO_ONE_WAY_ITERATOR_INTEROP\r
+          iterator_difference<I1>\r
+# elif BOOST_WORKAROUND(BOOST_MSVC, < 1300)\r
+          mpl::if_<\r
+              is_convertible<I2,I1>\r
+            , typename I1::difference_type\r
+            , typename I2::difference_type\r
+          >\r
+# else \r
+          mpl::eval_if<\r
+              is_convertible<I2,I1>\r
+            , iterator_difference<I1>\r
+            , iterator_difference<I2>\r
+          >\r
+# endif \r
+        {};\r
+\r
+    };\r
+  } // namespace detail\r
+\r
+\r
+  // Macros which describe the declarations of binary operators\r
+# ifdef BOOST_NO_STRICT_ITERATOR_INTEROPERABILITY\r
+#  define BOOST_ITERATOR_FACADE_INTEROP_HEAD(prefix, op, result_type)       \\r
+    template <                                                              \\r
+        class Derived1, class V1, class TC1, class Reference1, class Difference1 \\r
+      , class Derived2, class V2, class TC2, class Reference2, class Difference2 \\r
+    >                                                                       \\r
+    prefix typename mpl::apply2<result_type,Derived1,Derived2>::type \\r
+    operator op(                                                            \\r
+        iterator_facade<Derived1, V1, TC1, Reference1, Difference1> const& lhs   \\r
+      , iterator_facade<Derived2, V2, TC2, Reference2, Difference2> const& rhs)\r
+# else \r
+#  define BOOST_ITERATOR_FACADE_INTEROP_HEAD(prefix, op, result_type)   \\r
+    template <                                                          \\r
+        class Derived1, class V1, class TC1, class Reference1, class Difference1 \\r
+      , class Derived2, class V2, class TC2, class Reference2, class Difference2 \\r
+    >                                                                   \\r
+    prefix typename boost::detail::enable_if_interoperable<             \\r
+        Derived1, Derived2                                              \\r
+      , typename mpl::apply2<result_type,Derived1,Derived2>::type       \\r
+    >::type                                                             \\r
+    operator op(                                                        \\r
+        iterator_facade<Derived1, V1, TC1, Reference1, Difference1> const& lhs   \\r
+      , iterator_facade<Derived2, V2, TC2, Reference2, Difference2> const& rhs)\r
+# endif \r
+\r
+#  define BOOST_ITERATOR_FACADE_PLUS_HEAD(prefix,args)              \\r
+    template <class Derived, class V, class TC, class R, class D>   \\r
+    prefix Derived operator+ args\r
+\r
+  //\r
+  // Helper class for granting access to the iterator core interface.\r
+  //\r
+  // The simple core interface is used by iterator_facade. The core\r
+  // interface of a user/library defined iterator type should not be made public\r
+  // so that it does not clutter the public interface. Instead iterator_core_access\r
+  // should be made friend so that iterator_facade can access the core\r
+  // interface through iterator_core_access.\r
+  //\r
+  class iterator_core_access\r
+  {\r
+# if defined(BOOST_NO_MEMBER_TEMPLATE_FRIENDS)                  \r
+      // Tasteless as this may seem, making all members public allows member templates\r
+      // to work in the absence of member template friends.\r
+   public:\r
+# else\r
+      \r
+      template <class I, class V, class TC, class R, class D> friend class iterator_facade;\r
+\r
+#  define BOOST_ITERATOR_FACADE_RELATION(op)                                \\r
+      BOOST_ITERATOR_FACADE_INTEROP_HEAD(friend,op, boost::detail::always_bool2);\r
+\r
+      BOOST_ITERATOR_FACADE_RELATION(==)\r
+      BOOST_ITERATOR_FACADE_RELATION(!=)\r
+\r
+      BOOST_ITERATOR_FACADE_RELATION(<)\r
+      BOOST_ITERATOR_FACADE_RELATION(>)\r
+      BOOST_ITERATOR_FACADE_RELATION(<=)\r
+      BOOST_ITERATOR_FACADE_RELATION(>=)\r
+#  undef BOOST_ITERATOR_FACADE_RELATION\r
+\r
+      BOOST_ITERATOR_FACADE_INTEROP_HEAD(\r
+          friend, -, boost::detail::choose_difference_type)\r
+      ;\r
+\r
+      BOOST_ITERATOR_FACADE_PLUS_HEAD(\r
+          friend inline\r
+          , (iterator_facade<Derived, V, TC, R, D> const&\r
+           , typename Derived::difference_type)\r
+      )\r
+      ;\r
+\r
+      BOOST_ITERATOR_FACADE_PLUS_HEAD(\r
+          friend inline\r
+        , (typename Derived::difference_type\r
+           , iterator_facade<Derived, V, TC, R, D> const&)\r
+      )\r
+      ;\r
+\r
+# endif\r
+\r
+      template <class Facade>\r
+      static typename Facade::reference dereference(Facade const& f)\r
+      {\r
+          return f.dereference();\r
+      }\r
+\r
+      template <class Facade>\r
+      static void increment(Facade& f)\r
+      {\r
+          f.increment();\r
+      }\r
+\r
+      template <class Facade>\r
+      static void decrement(Facade& f)\r
+      {\r
+          f.decrement();\r
+      }\r
+\r
+      template <class Facade1, class Facade2>\r
+      static bool equal(Facade1 const& f1, Facade2 const& f2, mpl::true_)\r
+      {\r
+          return f1.equal(f2);\r
+      }\r
+\r
+      template <class Facade1, class Facade2>\r
+      static bool equal(Facade1 const& f1, Facade2 const& f2, mpl::false_)\r
+      {\r
+          return f2.equal(f1);\r
+      }\r
+\r
+      template <class Facade>\r
+      static void advance(Facade& f, typename Facade::difference_type n)\r
+      {\r
+          f.advance(n);\r
+      }\r
+\r
+      template <class Facade1, class Facade2>\r
+      static typename Facade1::difference_type distance_from(\r
+          Facade1 const& f1, Facade2 const& f2, mpl::true_)\r
+      {\r
+          return -f1.distance_to(f2);\r
+      }\r
+\r
+      template <class Facade1, class Facade2>\r
+      static typename Facade2::difference_type distance_from(\r
+          Facade1 const& f1, Facade2 const& f2, mpl::false_)\r
+      {\r
+          return f2.distance_to(f1);\r
+      }\r
+\r
+      //\r
+      // Curiously Recurring Template interface.\r
+      //\r
+      template <class I, class V, class TC, class R, class D>\r
+      static I& derived(iterator_facade<I,V,TC,R,D>& facade)\r
+      {\r
+          return *static_cast<I*>(&facade);\r
+      }\r
+\r
+      template <class I, class V, class TC, class R, class D>\r
+      static I const& derived(iterator_facade<I,V,TC,R,D> const& facade)\r
+      {\r
+          return *static_cast<I const*>(&facade);\r
+      }\r
+\r
+   private:\r
+      // objects of this class are useless\r
+      iterator_core_access(); //undefined\r
+  };\r
+\r
+  //\r
+  // iterator_facade - use as a public base class for defining new\r
+  // standard-conforming iterators.\r
+  //\r
+  template <\r
+      class Derived             // The derived iterator type being constructed\r
+    , class Value\r
+    , class CategoryOrTraversal\r
+    , class Reference   = Value&\r
+    , class Difference  = std::ptrdiff_t\r
+  >\r
+  class iterator_facade\r
+# ifdef BOOST_ITERATOR_FACADE_NEEDS_ITERATOR_BASE\r
+    : public boost::detail::iterator_facade_types<\r
+         Value, CategoryOrTraversal, Reference, Difference\r
+      >::base\r
+#  undef BOOST_ITERATOR_FACADE_NEEDS_ITERATOR_BASE\r
+# endif\r
+  {\r
+   private:\r
+      //\r
+      // Curiously Recurring Template interface.\r
+      //\r
+      Derived& derived()\r
+      {\r
+          return *static_cast<Derived*>(this);\r
+      }\r
+\r
+      Derived const& derived() const\r
+      {\r
+          return *static_cast<Derived const*>(this);\r
+      }\r
+\r
+      typedef boost::detail::iterator_facade_types<\r
+         Value, CategoryOrTraversal, Reference, Difference\r
+      > associated_types;\r
+\r
+   protected:\r
+      // For use by derived classes\r
+      typedef iterator_facade<Derived,Value,CategoryOrTraversal,Reference,Difference> iterator_facade_;\r
+      \r
+   public:\r
+\r
+      typedef typename associated_types::value_type value_type;\r
+      typedef Reference reference;\r
+      typedef Difference difference_type;\r
+      typedef typename associated_types::pointer pointer;\r
+      typedef typename associated_types::iterator_category iterator_category;\r
+\r
+      reference operator*() const\r
+      {\r
+          return iterator_core_access::dereference(this->derived());\r
+      }\r
+\r
+      typename boost::detail::operator_arrow_result<\r
+          value_type\r
+        , reference\r
+        , pointer\r
+      >::type\r
+      operator->() const\r
+      {\r
+          return boost::detail::operator_arrow_result<\r
+              value_type\r
+            , reference\r
+            , pointer\r
+          >::make(*this->derived());\r
+      }\r
+        \r
+      typename boost::detail::operator_brackets_result<Derived,Value,reference>::type\r
+      operator[](difference_type n) const\r
+      {\r
+          typedef boost::detail::use_operator_brackets_proxy<Value,Reference> use_proxy;\r
+          \r
+          return boost::detail::make_operator_brackets_result<Derived>(\r
+              this->derived() + n\r
+            , use_proxy()\r
+          );\r
+      }\r
+\r
+      Derived& operator++()\r
+      {\r
+          iterator_core_access::increment(this->derived());\r
+          return this->derived();\r
+      }\r
+\r
+# if BOOST_WORKAROUND(BOOST_MSVC, < 1300)\r
+      typename boost::detail::postfix_increment_result<Derived,Value,Reference,CategoryOrTraversal>::type\r
+      operator++(int)\r
+      {\r
+          typename boost::detail::postfix_increment_result<Derived,Value,Reference,CategoryOrTraversal>::type\r
+          tmp(this->derived());\r
+          ++*this;\r
+          return tmp;\r
+      }\r
+# endif\r
+      \r
+      Derived& operator--()\r
+      {\r
+          iterator_core_access::decrement(this->derived());\r
+          return this->derived();\r
+      }\r
+\r
+      Derived operator--(int)\r
+      {\r
+          Derived tmp(this->derived());\r
+          --*this;\r
+          return tmp;\r
+      }\r
+\r
+      Derived& operator+=(difference_type n)\r
+      {\r
+          iterator_core_access::advance(this->derived(), n);\r
+          return this->derived();\r
+      }\r
+\r
+      Derived& operator-=(difference_type n)\r
+      {\r
+          iterator_core_access::advance(this->derived(), -n);\r
+          return this->derived();\r
+      }\r
+\r
+      Derived operator-(difference_type x) const\r
+      {\r
+          Derived result(this->derived());\r
+          return result -= x;\r
+      }\r
+\r
+# if BOOST_WORKAROUND(BOOST_MSVC, < 1300)\r
+      // There appears to be a bug which trashes the data of classes\r
+      // derived from iterator_facade when they are assigned unless we\r
+      // define this assignment operator.  This bug is only revealed\r
+      // (so far) in STLPort debug mode, but it's clearly a codegen\r
+      // problem so we apply the workaround for all MSVC6.\r
+      iterator_facade& operator=(iterator_facade const&)\r
+      {\r
+          return *this;\r
+      }\r
+# endif\r
+  };\r
+\r
+# if !BOOST_WORKAROUND(BOOST_MSVC, < 1300)\r
+  template <class I, class V, class TC, class R, class D>\r
+  inline typename boost::detail::postfix_increment_result<I,V,R,TC>::type\r
+  operator++(\r
+      iterator_facade<I,V,TC,R,D>& i\r
+    , int\r
+  )\r
+  {\r
+      typename boost::detail::postfix_increment_result<I,V,R,TC>::type\r
+          tmp(*static_cast<I*>(&i));\r
+      \r
+      ++i;\r
+      \r
+      return tmp;\r
+  }\r
+# endif \r
+\r
+  \r
+  //\r
+  // Comparison operator implementation. The library supplied operators\r
+  // enables the user to provide fully interoperable constant/mutable\r
+  // iterator types. I.e. the library provides all operators\r
+  // for all mutable/constant iterator combinations.\r
+  //\r
+  // Note though that this kind of interoperability for constant/mutable\r
+  // iterators is not required by the standard for container iterators.\r
+  // All the standard asks for is a conversion mutable -> constant.\r
+  // Most standard library implementations nowadays provide fully interoperable\r
+  // iterator implementations, but there are still heavily used implementations\r
+  // that do not provide them. (Actually it's even worse, they do not provide\r
+  // them for only a few iterators.)\r
+  //\r
+  // ?? Maybe a BOOST_ITERATOR_NO_FULL_INTEROPERABILITY macro should\r
+  //    enable the user to turn off mixed type operators\r
+  //\r
+  // The library takes care to provide only the right operator overloads.\r
+  // I.e.\r
+  //\r
+  // bool operator==(Iterator,      Iterator);\r
+  // bool operator==(ConstIterator, Iterator);\r
+  // bool operator==(Iterator,      ConstIterator);\r
+  // bool operator==(ConstIterator, ConstIterator);\r
+  //\r
+  //   ...\r
+  //\r
+  // In order to do so it uses c++ idioms that are not yet widely supported\r
+  // by current compiler releases. The library is designed to degrade gracefully\r
+  // in the face of compiler deficiencies. In general compiler\r
+  // deficiencies result in less strict error checking and more obscure\r
+  // error messages, functionality is not affected.\r
+  //\r
+  // For full operation compiler support for "Substitution Failure Is Not An Error"\r
+  // (aka. enable_if) and boost::is_convertible is required.\r
+  //\r
+  // The following problems occur if support is lacking.\r
+  //\r
+  // Pseudo code\r
+  //\r
+  // ---------------\r
+  // AdaptorA<Iterator1> a1;\r
+  // AdaptorA<Iterator2> a2;\r
+  //\r
+  // // This will result in a no such overload error in full operation\r
+  // // If enable_if or is_convertible is not supported\r
+  // // The instantiation will fail with an error hopefully indicating that\r
+  // // there is no operator== for Iterator1, Iterator2\r
+  // // The same will happen if no enable_if is used to remove\r
+  // // false overloads from the templated conversion constructor\r
+  // // of AdaptorA.\r
+  //\r
+  // a1 == a2;\r
+  // ----------------\r
+  //\r
+  // AdaptorA<Iterator> a;\r
+  // AdaptorB<Iterator> b;\r
+  //\r
+  // // This will result in a no such overload error in full operation\r
+  // // If enable_if is not supported the static assert used\r
+  // // in the operator implementation will fail.\r
+  // // This will accidently work if is_convertible is not supported.\r
+  //\r
+  // a == b;\r
+  // ----------------\r
+  //\r
+\r
+# ifdef BOOST_NO_ONE_WAY_ITERATOR_INTEROP\r
+#  define BOOST_ITERATOR_CONVERTIBLE(a,b) mpl::true_()\r
+# else\r
+#  define BOOST_ITERATOR_CONVERTIBLE(a,b) is_convertible<a,b>()\r
+# endif\r
+\r
+# define BOOST_ITERATOR_FACADE_INTEROP(op, result_type, return_prefix, base_op) \\r
+  BOOST_ITERATOR_FACADE_INTEROP_HEAD(inline, op, result_type)                   \\r
+  {                                                                             \\r
+      /* For those compilers that do not support enable_if */                   \\r
+      BOOST_STATIC_ASSERT((                                                     \\r
+          is_interoperable< Derived1, Derived2 >::value                         \\r
+      ));                                                                       \\r
+      return_prefix iterator_core_access::base_op(                              \\r
+          *static_cast<Derived1 const*>(&lhs)                                   \\r
+        , *static_cast<Derived2 const*>(&rhs)                                   \\r
+        , BOOST_ITERATOR_CONVERTIBLE(Derived2,Derived1)                         \\r
+      );                                                                        \\r
+  }\r
+\r
+# define BOOST_ITERATOR_FACADE_RELATION(op, return_prefix, base_op) \\r
+  BOOST_ITERATOR_FACADE_INTEROP(                                    \\r
+      op                                                            \\r
+    , boost::detail::always_bool2                                   \\r
+    , return_prefix                                                 \\r
+    , base_op                                                       \\r
+  )\r
+\r
+  BOOST_ITERATOR_FACADE_RELATION(==, return, equal)\r
+  BOOST_ITERATOR_FACADE_RELATION(!=, return !, equal)\r
+\r
+  BOOST_ITERATOR_FACADE_RELATION(<, return 0 >, distance_from)\r
+  BOOST_ITERATOR_FACADE_RELATION(>, return 0 <, distance_from)\r
+  BOOST_ITERATOR_FACADE_RELATION(<=, return 0 >=, distance_from)\r
+  BOOST_ITERATOR_FACADE_RELATION(>=, return 0 <=, distance_from)\r
+# undef BOOST_ITERATOR_FACADE_RELATION\r
+\r
+  // operator- requires an additional part in the static assertion\r
+  BOOST_ITERATOR_FACADE_INTEROP(\r
+      -\r
+    , boost::detail::choose_difference_type\r
+    , return\r
+    , distance_from\r
+  )\r
+# undef BOOST_ITERATOR_FACADE_INTEROP\r
+# undef BOOST_ITERATOR_FACADE_INTEROP_HEAD\r
+\r
+# define BOOST_ITERATOR_FACADE_PLUS(args)           \\r
+  BOOST_ITERATOR_FACADE_PLUS_HEAD(inline, args)     \\r
+  {                                                 \\r
+      Derived tmp(static_cast<Derived const&>(i));  \\r
+      return tmp += n;                              \\r
+  }\r
+\r
+BOOST_ITERATOR_FACADE_PLUS((\r
+  iterator_facade<Derived, V, TC, R, D> const& i\r
+  , typename Derived::difference_type n\r
+))\r
+\r
+BOOST_ITERATOR_FACADE_PLUS((\r
+    typename Derived::difference_type n\r
+    , iterator_facade<Derived, V, TC, R, D> const& i\r
+))\r
+# undef BOOST_ITERATOR_FACADE_PLUS\r
+# undef BOOST_ITERATOR_FACADE_PLUS_HEAD\r
+\r
+} // namespace boost\r
+\r
+#include <boost/iterator/detail/config_undef.hpp>\r
+\r
+#endif // BOOST_ITERATOR_FACADE_23022003THW_HPP\r
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 (file)
index 0000000..986b08f
--- /dev/null
@@ -0,0 +1,92 @@
+// Copyright David Abrahams 2003.\r
+// Distributed under the Boost Software License, Version 1.0. (See\r
+// accompanying file LICENSE_1_0.txt or copy at\r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+#ifndef ITERATOR_TRAITS_DWA200347_HPP\r
+# define ITERATOR_TRAITS_DWA200347_HPP\r
+\r
+# include <boost/detail/iterator.hpp>\r
+# include <boost/detail/workaround.hpp>\r
+\r
+namespace boost { \r
+\r
+// Unfortunately, g++ 2.95.x chokes when we define a class template\r
+// iterator_category which has the same name as its\r
+// std::iterator_category() function, probably due in part to the\r
+// "std:: is visible globally" hack it uses.  Use\r
+// BOOST_ITERATOR_CATEGORY to write code that's portable to older\r
+// GCCs.\r
+\r
+# if BOOST_WORKAROUND(__GNUC__, <= 2)\r
+#  define BOOST_ITERATOR_CATEGORY iterator_category_\r
+# else\r
+#  define BOOST_ITERATOR_CATEGORY iterator_category\r
+# endif\r
+\r
+\r
+template <class Iterator>\r
+struct iterator_value\r
+{\r
+    typedef typename boost::detail::iterator_traits<Iterator>::value_type type;\r
+};\r
+  \r
+template <class Iterator>\r
+struct iterator_reference\r
+{\r
+    typedef typename boost::detail::iterator_traits<Iterator>::reference type;\r
+};\r
+  \r
+  \r
+template <class Iterator>\r
+struct iterator_pointer\r
+{\r
+    typedef typename boost::detail::iterator_traits<Iterator>::pointer type;\r
+};\r
+  \r
+template <class Iterator>\r
+struct iterator_difference\r
+{\r
+    typedef typename boost::detail::iterator_traits<Iterator>::difference_type type;\r
+};\r
+\r
+template <class Iterator>\r
+struct BOOST_ITERATOR_CATEGORY\r
+{\r
+    typedef typename boost::detail::iterator_traits<Iterator>::iterator_category type;\r
+};\r
+\r
+# if BOOST_WORKAROUND(BOOST_MSVC, < 1300)\r
+template <>\r
+struct iterator_value<int>\r
+{\r
+    typedef void type;\r
+};\r
+  \r
+template <>\r
+struct iterator_reference<int>\r
+{\r
+    typedef void type;\r
+};\r
+\r
+template <>\r
+struct iterator_pointer<int>\r
+{\r
+    typedef void type;\r
+};\r
+  \r
+template <>\r
+struct iterator_difference<int>\r
+{\r
+    typedef void type;\r
+};\r
+  \r
+template <>\r
+struct BOOST_ITERATOR_CATEGORY<int>\r
+{\r
+    typedef void type;\r
+};\r
+# endif\r
+\r
+} // namespace boost::iterator\r
+\r
+#endif // ITERATOR_TRAITS_DWA200347_HPP\r
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 (file)
index 0000000..a6a95eb
--- /dev/null
@@ -0,0 +1,264 @@
+#ifndef BOOST_NEW_ITERATOR_TESTS_HPP\r
+# define BOOST_NEW_ITERATOR_TESTS_HPP\r
+\r
+//\r
+// Copyright (c) David Abrahams 2001.\r
+// Copyright (c) Jeremy Siek 2001-2003.\r
+// Copyright (c) Thomas Witt 2002.\r
+//\r
+// Use, modification and distribution is subject to the\r
+// Boost Software License, Version 1.0.\r
+// (See accompanying file LICENSE_1_0.txt or copy at\r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// This is meant to be the beginnings of a comprehensive, generic\r
+// test suite for STL concepts such as iterators and containers.\r
+//\r
+// Revision History:\r
+// 28 Oct 2002  Started update for new iterator categories\r
+//              (Jeremy Siek)\r
+// 28 Apr 2002  Fixed input iterator requirements.\r
+//              For a == b a++ == b++ is no longer required.\r
+//              See 24.1.1/3 for details.\r
+//              (Thomas Witt)\r
+// 08 Feb 2001  Fixed bidirectional iterator test so that\r
+//              --i is no longer a precondition.\r
+//              (Jeremy Siek)\r
+// 04 Feb 2001  Added lvalue test, corrected preconditions\r
+//              (David Abrahams)\r
+\r
+# include <iterator>\r
+# include <boost/type_traits.hpp>\r
+# include <boost/static_assert.hpp>\r
+# include <boost/concept_archetype.hpp> // for detail::dummy_constructor\r
+# include <boost/detail/iterator.hpp>\r
+# include <boost/pending/iterator_tests.hpp>\r
+# include <boost/iterator/is_readable_iterator.hpp>\r
+# include <boost/iterator/is_lvalue_iterator.hpp>\r
+\r
+# include <boost/iterator/detail/config_def.hpp>\r
+# include <boost/detail/is_incrementable.hpp>\r
+# include <boost/detail/lightweight_test.hpp>\r
+\r
+namespace boost {\r
+\r
+\r
+// Do separate tests for *i++ so we can treat, e.g., smart pointers,\r
+// as readable and/or writable iterators.\r
+template <class Iterator, class T>\r
+void readable_iterator_traversal_test(Iterator i1, T v, mpl::true_)\r
+{\r
+    T v2(*i1++);\r
+    BOOST_TEST(v == v2);\r
+}\r
+\r
+template <class Iterator, class T>\r
+void readable_iterator_traversal_test(const Iterator i1, T v, mpl::false_)\r
+{}\r
+\r
+template <class Iterator, class T>\r
+void writable_iterator_traversal_test(Iterator i1, T v, mpl::true_)\r
+{\r
+    ++i1;  // we just wrote into that position\r
+    *i1++ = v;\r
+    Iterator x(i1++);\r
+    (void)x;\r
+}\r
+\r
+template <class Iterator, class T>\r
+void writable_iterator_traversal_test(const Iterator i1, T v, mpl::false_)\r
+{}\r
+\r
+\r
+// Preconditions: *i == v\r
+template <class Iterator, class T>\r
+void readable_iterator_test(const Iterator i1, T v)\r
+{\r
+  Iterator i2(i1); // Copy Constructible\r
+  typedef typename detail::iterator_traits<Iterator>::reference ref_t;\r
+  ref_t r1 = *i1;\r
+  ref_t r2 = *i2;\r
+  T v1 = r1;\r
+  T v2 = r2;\r
+  BOOST_TEST(v1 == v);\r
+  BOOST_TEST(v2 == v);\r
+\r
+# if !BOOST_WORKAROUND(__MWERKS__, <= 0x2407)\r
+  readable_iterator_traversal_test(i1, v, detail::is_postfix_incrementable<Iterator>());\r
+      \r
+  // I think we don't really need this as it checks the same things as\r
+  // the above code.\r
+  BOOST_STATIC_ASSERT(is_readable_iterator<Iterator>::value);\r
+# endif \r
+}\r
+\r
+template <class Iterator, class T>\r
+void writable_iterator_test(Iterator i, T v, T v2)\r
+{\r
+  Iterator i2(i); // Copy Constructible\r
+  *i2 = v;\r
+\r
+# if !BOOST_WORKAROUND(__MWERKS__, <= 0x2407)\r
+  writable_iterator_traversal_test(\r
+      i, v2, mpl::and_<\r
+          detail::is_incrementable<Iterator>\r
+        , detail::is_postfix_incrementable<Iterator>\r
+      >());\r
+# endif \r
+}\r
+\r
+template <class Iterator>\r
+void swappable_iterator_test(Iterator i, Iterator j)\r
+{\r
+  Iterator i2(i), j2(j);\r
+  typename detail::iterator_traits<Iterator>::value_type bi = *i, bj = *j;\r
+  iter_swap(i2, j2);\r
+  typename detail::iterator_traits<Iterator>::value_type ai = *i, aj = *j;\r
+  BOOST_TEST(bi == aj && bj == ai);\r
+}\r
+\r
+template <class Iterator, class T>\r
+void constant_lvalue_iterator_test(Iterator i, T v1)\r
+{\r
+  Iterator i2(i);\r
+  typedef typename detail::iterator_traits<Iterator>::value_type value_type;\r
+  typedef typename detail::iterator_traits<Iterator>::reference reference;\r
+  BOOST_STATIC_ASSERT((is_same<const value_type&, reference>::value));\r
+  const T& v2 = *i2;\r
+  BOOST_TEST(v1 == v2);\r
+# ifndef BOOST_NO_LVALUE_RETURN_DETECTION\r
+  BOOST_STATIC_ASSERT(is_lvalue_iterator<Iterator>::value);\r
+  BOOST_STATIC_ASSERT(!is_non_const_lvalue_iterator<Iterator>::value);\r
+# endif \r
+}\r
+\r
+template <class Iterator, class T>\r
+void non_const_lvalue_iterator_test(Iterator i, T v1, T v2)\r
+{\r
+  Iterator i2(i);\r
+  typedef typename detail::iterator_traits<Iterator>::value_type value_type;\r
+  typedef typename detail::iterator_traits<Iterator>::reference reference;\r
+  BOOST_STATIC_ASSERT((is_same<value_type&, reference>::value));\r
+  T& v3 = *i2;\r
+  BOOST_TEST(v1 == v3);\r
+  \r
+  // A non-const lvalue iterator is not neccessarily writable, but we\r
+  // are assuming the value_type is assignable here\r
+  *i = v2;\r
+  \r
+  T& v4 = *i2;\r
+  BOOST_TEST(v2 == v4);\r
+# ifndef BOOST_NO_LVALUE_RETURN_DETECTION\r
+  BOOST_STATIC_ASSERT(is_lvalue_iterator<Iterator>::value);\r
+  BOOST_STATIC_ASSERT(is_non_const_lvalue_iterator<Iterator>::value);\r
+# endif \r
+}\r
+\r
+template <class Iterator, class T>\r
+void forward_readable_iterator_test(Iterator i, Iterator j, T val1, T val2)\r
+{\r
+  Iterator i2;\r
+  Iterator i3(i);\r
+  i2 = i;\r
+  BOOST_TEST(i2 == i3);\r
+  BOOST_TEST(i != j);\r
+  BOOST_TEST(i2 != j);\r
+  readable_iterator_test(i, val1);\r
+  readable_iterator_test(i2, val1);\r
+  readable_iterator_test(i3, val1);\r
+\r
+  BOOST_TEST(i == i2++);\r
+  BOOST_TEST(i != ++i3);\r
+\r
+  readable_iterator_test(i2, val2);\r
+  readable_iterator_test(i3, val2);\r
+\r
+  readable_iterator_test(i, val1);\r
+}\r
+\r
+template <class Iterator, class T>\r
+void forward_swappable_iterator_test(Iterator i, Iterator j, T val1, T val2)\r
+{\r
+  forward_readable_iterator_test(i, j, val1, val2);\r
+  Iterator i2 = i;\r
+  ++i2;\r
+  swappable_iterator_test(i, i2);\r
+}\r
+\r
+// bidirectional\r
+// Preconditions: *i == v1, *++i == v2\r
+template <class Iterator, class T>\r
+void bidirectional_readable_iterator_test(Iterator i, T v1, T v2)\r
+{\r
+  Iterator j(i);\r
+  ++j;\r
+  forward_readable_iterator_test(i, j, v1, v2);\r
+  ++i;\r
+\r
+  Iterator i1 = i, i2 = i;\r
+\r
+  BOOST_TEST(i == i1--);\r
+  BOOST_TEST(i != --i2);\r
+\r
+  readable_iterator_test(i, v2);\r
+  readable_iterator_test(i1, v1);\r
+  readable_iterator_test(i2, v1);\r
+\r
+  --i;\r
+  BOOST_TEST(i == i1);\r
+  BOOST_TEST(i == i2);\r
+  ++i1;\r
+  ++i2;\r
+\r
+  readable_iterator_test(i, v1);\r
+  readable_iterator_test(i1, v2);\r
+  readable_iterator_test(i2, v2);\r
+}\r
+\r
+// random access\r
+// Preconditions: [i,i+N) is a valid range\r
+template <class Iterator, class TrueVals>\r
+void random_access_readable_iterator_test(Iterator i, int N, TrueVals vals)\r
+{\r
+  bidirectional_readable_iterator_test(i, vals[0], vals[1]);\r
+  const Iterator j = i;\r
+  int c;\r
+\r
+  for (c = 0; c < N-1; ++c)\r
+  {\r
+    BOOST_TEST(i == j + c);\r
+    BOOST_TEST(*i == vals[c]);\r
+    typename detail::iterator_traits<Iterator>::value_type x = j[c];\r
+    BOOST_TEST(*i == x);\r
+    BOOST_TEST(*i == *(j + c));\r
+    BOOST_TEST(*i == *(c + j));\r
+    ++i;\r
+    BOOST_TEST(i > j);\r
+    BOOST_TEST(i >= j);\r
+    BOOST_TEST(j <= i);\r
+    BOOST_TEST(j < i);\r
+  }\r
+\r
+  Iterator k = j + N - 1;\r
+  for (c = 0; c < N-1; ++c)\r
+  {\r
+    BOOST_TEST(i == k - c);\r
+    BOOST_TEST(*i == vals[N - 1 - c]);\r
+    typename detail::iterator_traits<Iterator>::value_type x = j[N - 1 - c];\r
+    BOOST_TEST(*i == x);\r
+    Iterator q = k - c; \r
+    BOOST_TEST(*i == *q);\r
+    BOOST_TEST(i > j);\r
+    BOOST_TEST(i >= j);\r
+    BOOST_TEST(j <= i);\r
+    BOOST_TEST(j < i);\r
+    --i;\r
+  }\r
+}\r
+\r
+} // namespace boost\r
+\r
+# include <boost/iterator/detail/config_undef.hpp>\r
+\r
+#endif // BOOST_NEW_ITERATOR_TESTS_HPP\r
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 (file)
index 0000000..05c740d
--- /dev/null
@@ -0,0 +1,72 @@
+// (C) Copyright Toon Knapen    2001.\r
+// (C) Copyright David Abrahams 2003.\r
+// (C) Copyright Roland Richter 2003.\r
+// Distributed under the Boost Software License, Version 1.0. (See\r
+// accompanying file LICENSE_1_0.txt or copy at\r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+#ifndef BOOST_PERMUTATION_ITERATOR_HPP\r
+#define BOOST_PERMUTATION_ITERATOR_HPP\r
+\r
+#include <iterator>\r
+\r
+#include <boost/iterator/iterator_adaptor.hpp>\r
+\r
+\r
+namespace boost\r
+{\r
+\r
+template< class ElementIterator\r
+        , class IndexIterator>\r
+class permutation_iterator\r
+  : public iterator_adaptor< \r
+             permutation_iterator<ElementIterator, IndexIterator>\r
+           , IndexIterator, typename detail::iterator_traits<ElementIterator>::value_type\r
+           , use_default, typename detail::iterator_traits<ElementIterator>::reference>\r
+{\r
+  typedef iterator_adaptor< \r
+            permutation_iterator<ElementIterator, IndexIterator>\r
+          , IndexIterator, typename detail::iterator_traits<ElementIterator>::value_type\r
+          , use_default, typename detail::iterator_traits<ElementIterator>::reference> super_t;\r
+\r
+  friend class iterator_core_access;\r
+\r
+public:\r
+  permutation_iterator() : m_elt_iter() {}\r
+\r
+  explicit permutation_iterator(ElementIterator x, IndexIterator y) \r
+      : super_t(y), m_elt_iter(x) {}\r
+\r
+  template<class OtherElementIterator, class OtherIndexIterator>\r
+  permutation_iterator(\r
+      permutation_iterator<OtherElementIterator, OtherIndexIterator> const& r\r
+      , typename enable_if_convertible<OtherElementIterator, ElementIterator>::type* = 0\r
+      , typename enable_if_convertible<OtherIndexIterator, IndexIterator>::type* = 0\r
+      )\r
+    : super_t(r.base()), m_elt_iter(r.m_elt_iter)\r
+  {}\r
+\r
+private:\r
+    typename super_t::reference dereference() const\r
+        { return *(m_elt_iter + *this->base()); }\r
+\r
+#ifndef BOOST_NO_MEMBER_TEMPLATE_FRIENDS\r
+    template <class,class> friend class permutation_iterator;\r
+#else\r
+ public:\r
+#endif \r
+    ElementIterator m_elt_iter;\r
+};\r
+\r
+\r
+template <class ElementIterator, class IndexIterator>\r
+permutation_iterator<ElementIterator, IndexIterator> \r
+make_permutation_iterator( ElementIterator e, IndexIterator i )\r
+{\r
+    return permutation_iterator<ElementIterator, IndexIterator>( e, i );\r
+}\r
+\r
+\r
+} // namespace boost\r
+\r
+#endif\r
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 (file)
index 0000000..59bbbc0
--- /dev/null
@@ -0,0 +1,69 @@
+// (C) Copyright David Abrahams 2002.\r
+// (C) Copyright Jeremy Siek    2002.\r
+// (C) Copyright Thomas Witt    2002.\r
+// Distributed under the Boost Software License, Version 1.0. (See\r
+// accompanying file LICENSE_1_0.txt or copy at\r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+#ifndef BOOST_REVERSE_ITERATOR_23022003THW_HPP\r
+#define BOOST_REVERSE_ITERATOR_23022003THW_HPP\r
+\r
+#include <boost/iterator.hpp>\r
+#include <boost/utility.hpp>\r
+#include <boost/iterator/iterator_adaptor.hpp>\r
+\r
+namespace boost\r
+{\r
+\r
+  //\r
+  //\r
+  //\r
+  template <class Iterator>\r
+  class reverse_iterator\r
+      : public iterator_adaptor< reverse_iterator<Iterator>, Iterator >\r
+  {\r
+      typedef iterator_adaptor< reverse_iterator<Iterator>, Iterator > super_t;\r
+\r
+      friend class iterator_core_access;\r
+\r
+   public:\r
+      reverse_iterator() {}\r
+\r
+      explicit reverse_iterator(Iterator x) \r
+          : super_t(x) {}\r
+\r
+      template<class OtherIterator>\r
+      reverse_iterator(\r
+          reverse_iterator<OtherIterator> const& r\r
+          , typename enable_if_convertible<OtherIterator, Iterator>::type* = 0\r
+          )\r
+          : super_t(r.base())\r
+      {}\r
+\r
+   private:\r
+      typename super_t::reference dereference() const { return *boost::prior(this->base()); }\r
+    \r
+      void increment() { --this->base_reference(); }\r
+      void decrement() { ++this->base_reference(); }\r
+\r
+      void advance(typename super_t::difference_type n)\r
+      {\r
+          this->base_reference() += -n;\r
+      }\r
+\r
+      template <class OtherIterator>\r
+      typename super_t::difference_type\r
+      distance_to(reverse_iterator<OtherIterator> const& y) const\r
+      {\r
+          return this->base_reference() - y.base();\r
+      }\r
+  };\r
+\r
+  template <class BidirectionalIterator>\r
+  reverse_iterator<BidirectionalIterator> make_reverse_iterator(BidirectionalIterator x)\r
+  {\r
+      return reverse_iterator<BidirectionalIterator>(x);\r
+  }\r
+\r
+} // namespace boost\r
+\r
+#endif // BOOST_REVERSE_ITERATOR_23022003THW_HPP\r
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 (file)
index 0000000..ce168cd
--- /dev/null
@@ -0,0 +1,188 @@
+// (C) Copyright David Abrahams 2002.\r
+// (C) Copyright Jeremy Siek    2002.\r
+// (C) Copyright Thomas Witt    2002.\r
+// Distributed under the Boost Software License, Version 1.0. (See\r
+// accompanying file LICENSE_1_0.txt or copy at\r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+#ifndef BOOST_TRANSFORM_ITERATOR_23022003THW_HPP\r
+#define BOOST_TRANSFORM_ITERATOR_23022003THW_HPP\r
+\r
+#include <boost/function.hpp>\r
+#include <boost/iterator.hpp>\r
+#include <boost/iterator/detail/enable_if.hpp>\r
+#include <boost/iterator/iterator_adaptor.hpp>\r
+#include <boost/iterator/iterator_categories.hpp>\r
+#include <boost/mpl/not.hpp>\r
+#include <boost/mpl/bool.hpp>\r
+#include <boost/type_traits/function_traits.hpp>\r
+#include <boost/type_traits/is_const.hpp>\r
+#include <boost/type_traits/is_class.hpp>\r
+#include <boost/type_traits/is_function.hpp>\r
+#include <boost/type_traits/is_reference.hpp>\r
+#include <boost/type_traits/remove_const.hpp>\r
+#include <boost/type_traits/remove_reference.hpp>\r
+\r
+#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1310))\r
+# include <boost/type_traits/is_base_and_derived.hpp>\r
+\r
+#endif \r
+#include <boost/iterator/detail/config_def.hpp>\r
+\r
+\r
+namespace boost\r
+{\r
+  template <class UnaryFunction, class Iterator, class Reference = use_default, class Value = use_default>\r
+  class transform_iterator;\r
+\r
+  namespace detail \r
+  {\r
+\r
+    template <class UnaryFunc>\r
+    struct function_object_result\r
+    {\r
+      typedef typename UnaryFunc::result_type type;\r
+    };\r
+\r
+#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+    template <class Return, class Argument>\r
+    struct function_object_result<Return(*)(Argument)>\r
+    {\r
+      typedef Return type;\r
+    };\r
+#endif\r
+\r
+    // Compute the iterator_adaptor instantiation to be used for transform_iterator\r
+    template <class UnaryFunc, class Iterator, class Reference, class Value>\r
+    struct transform_iterator_base\r
+    {\r
+     private:\r
+        // By default, dereferencing the iterator yields the same as\r
+        // the function.  Do we need to adjust the way\r
+        // function_object_result is computed for the standard\r
+        // proposal (e.g. using Doug's result_of)?\r
+        typedef typename ia_dflt_help<\r
+            Reference\r
+          , function_object_result<UnaryFunc>\r
+        >::type reference;\r
+\r
+        // To get the default for Value: remove any reference on the\r
+        // result type, but retain any constness to signal\r
+        // non-writability.  Note that if we adopt Thomas' suggestion\r
+        // to key non-writability *only* on the Reference argument,\r
+        // we'd need to strip constness here as well.\r
+        typedef typename ia_dflt_help<\r
+            Value\r
+          , remove_reference<reference>\r
+        >::type cv_value_type;\r
+\r
+     public:\r
+        typedef iterator_adaptor<\r
+            transform_iterator<UnaryFunc, Iterator, Reference, Value>\r
+          , Iterator\r
+          , cv_value_type\r
+          , use_default    // Leave the traversal category alone\r
+          , reference\r
+        > type;\r
+    };\r
+  }\r
+\r
+  template <class UnaryFunc, class Iterator, class Reference, class Value>\r
+  class transform_iterator\r
+    : public boost::detail::transform_iterator_base<UnaryFunc, Iterator, Reference, Value>::type\r
+  {\r
+    typedef typename\r
+    boost::detail::transform_iterator_base<UnaryFunc, Iterator, Reference, Value>::type\r
+    super_t;\r
+\r
+    friend class iterator_core_access;\r
+\r
+  public:\r
+    transform_iterator() { }\r
+\r
+    transform_iterator(Iterator const& x, UnaryFunc f)\r
+      : super_t(x), m_f(f) { }\r
+\r
+    explicit transform_iterator(Iterator const& x)\r
+      : super_t(x)\r
+    {\r
+        // Pro8 is a little too aggressive about instantiating the\r
+        // body of this function.\r
+#if !BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3003))\r
+        // don't provide this constructor if UnaryFunc is a\r
+        // function pointer type, since it will be 0.  Too dangerous.\r
+        BOOST_STATIC_ASSERT(is_class<UnaryFunc>::value);\r
+#endif \r
+    }\r
+\r
+    template<\r
+        class OtherUnaryFunction\r
+      , class OtherIterator\r
+      , class OtherReference\r
+      , class OtherValue>\r
+    transform_iterator(\r
+         transform_iterator<OtherUnaryFunction, OtherIterator, OtherReference, OtherValue> const& t\r
+       , typename enable_if_convertible<OtherIterator, Iterator>::type* = 0\r
+#if !BOOST_WORKAROUND(BOOST_MSVC, == 1310)\r
+       , typename enable_if_convertible<OtherUnaryFunction, UnaryFunc>::type* = 0\r
+#endif \r
+    )\r
+      : super_t(t.base()), m_f(t.functor())\r
+   {}\r
+\r
+    UnaryFunc functor() const\r
+      { return m_f; }\r
+\r
+  private:\r
+    typename super_t::reference dereference() const\r
+    { return m_f(*this->base()); }\r
+\r
+    // Probably should be the initial base class so it can be\r
+    // optimized away via EBO if it is an empty class.\r
+    UnaryFunc m_f;\r
+  };\r
+\r
+  template <class UnaryFunc, class Iterator>\r
+  transform_iterator<UnaryFunc, Iterator>\r
+  make_transform_iterator(Iterator it, UnaryFunc fun)\r
+  {\r
+      return transform_iterator<UnaryFunc, Iterator>(it, fun);\r
+  }\r
+\r
+  // Version which allows explicit specification of the UnaryFunc\r
+  // type.\r
+  //\r
+  // This generator is not provided if UnaryFunc is a function\r
+  // pointer type, because it's too dangerous: the default-constructed\r
+  // function pointer in the iterator be 0, leading to a runtime\r
+  // crash.\r
+  template <class UnaryFunc, class Iterator>\r
+#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)\r
+  typename mpl::if_<\r
+#else \r
+  typename iterators::enable_if<\r
+#endif \r
+      is_class<UnaryFunc>   // We should probably find a cheaper test than is_class<>\r
+    , transform_iterator<UnaryFunc, Iterator>\r
+#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)\r
+    , int[3]\r
+#endif \r
+  >::type\r
+  make_transform_iterator(Iterator it)\r
+  {\r
+      return transform_iterator<UnaryFunc, Iterator>(it, UnaryFunc());\r
+  }\r
+\r
+#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION ) && !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING)\r
+  template <class Return, class Argument, class Iterator>\r
+  transform_iterator< Return (*)(Argument), Iterator, Return>\r
+  make_transform_iterator(Iterator it, Return (*fun)(Argument))\r
+  {\r
+    return transform_iterator<Return (*)(Argument), Iterator, Return>(it, fun);\r
+  }\r
+#endif\r
+\r
+} // namespace boost\r
+\r
+#include <boost/iterator/detail/config_undef.hpp>\r
+\r
+#endif // BOOST_TRANSFORM_ITERATOR_23022003THW_HPP\r
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 (file)
index 0000000..edc7e09
--- /dev/null
@@ -0,0 +1,585 @@
+// Copyright David Abrahams and Thomas Becker 2000-2006. Distributed\r
+// under the Boost Software License, Version 1.0. (See accompanying\r
+// file LICENSE_1_0.txt or copy at\r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+#ifndef BOOST_ZIP_ITERATOR_TMB_07_13_2003_HPP_\r
+# define BOOST_ZIP_ITERATOR_TMB_07_13_2003_HPP_\r
+\r
+#include <stddef.h>\r
+#include <boost/iterator.hpp>\r
+#include <boost/iterator/iterator_traits.hpp>\r
+#include <boost/iterator/iterator_facade.hpp>\r
+#include <boost/iterator/iterator_adaptor.hpp> // for enable_if_convertible\r
+#include <boost/iterator/iterator_categories.hpp>\r
+#include <boost/detail/iterator.hpp>\r
+\r
+#include <boost/iterator/detail/minimum_category.hpp>\r
+\r
+#include <boost/tuple/tuple.hpp>\r
+\r
+#include <boost/type_traits/is_same.hpp>\r
+#include <boost/mpl/and.hpp>\r
+#include <boost/mpl/apply.hpp>\r
+#include <boost/mpl/eval_if.hpp>\r
+#include <boost/mpl/lambda.hpp>\r
+#include <boost/mpl/placeholders.hpp>\r
+#include <boost/mpl/aux_/lambda_support.hpp>\r
+\r
+namespace boost {\r
+\r
+  // Zip iterator forward declaration for zip_iterator_base\r
+  template<typename IteratorTuple>\r
+  class zip_iterator;\r
+\r
+  // One important design goal of the zip_iterator is to isolate all\r
+  // functionality whose implementation relies on the current tuple\r
+  // implementation. This goal has been achieved as follows: Inside\r
+  // the namespace detail there is a namespace tuple_impl_specific.\r
+  // This namespace encapsulates all functionality that is specific\r
+  // to the current Boost tuple implementation. More precisely, the\r
+  // namespace tuple_impl_specific provides the following tuple\r
+  // algorithms and meta-algorithms for the current Boost tuple\r
+  // implementation:\r
+  //\r
+  // tuple_meta_transform\r
+  // tuple_meta_accumulate\r
+  // tuple_transform\r
+  // tuple_for_each\r
+  //\r
+  // If the tuple implementation changes, all that needs to be\r
+  // replaced is the implementation of these four (meta-)algorithms.\r
+\r
+  namespace detail\r
+  {\r
+\r
+    // Functors to be used with tuple algorithms\r
+    //\r
+    template<typename DiffType>\r
+    class advance_iterator\r
+    {\r
+    public:\r
+      advance_iterator(DiffType step) : m_step(step) {}\r
+      \r
+      template<typename Iterator>\r
+      void operator()(Iterator& it) const\r
+      { it += m_step; }\r
+\r
+    private:\r
+      DiffType m_step;\r
+    };\r
+    //\r
+    struct increment_iterator\r
+    {\r
+      template<typename Iterator>\r
+      void operator()(Iterator& it)\r
+      { ++it; }\r
+    };\r
+    //\r
+    struct decrement_iterator\r
+    {\r
+      template<typename Iterator>\r
+      void operator()(Iterator& it)\r
+      { --it; }\r
+    };\r
+    //\r
+    struct dereference_iterator\r
+    {\r
+      template<typename Iterator>\r
+      struct apply\r
+      { \r
+        typedef typename\r
+          iterator_traits<Iterator>::reference\r
+        type;\r
+      };\r
+\r
+      template<typename Iterator>\r
+        typename apply<Iterator>::type operator()(Iterator const& it)\r
+      { return *it; }\r
+    };\r
+           \r
+\r
+    // The namespace tuple_impl_specific provides two meta-\r
+    // algorithms and two algorithms for tuples.\r
+    //\r
+    namespace tuple_impl_specific\r
+    {\r
+      // Meta-transform algorithm for tuples\r
+      //\r
+      template<typename Tuple, class UnaryMetaFun>\r
+      struct tuple_meta_transform;\r
+      \r
+      template<typename Tuple, class UnaryMetaFun>\r
+      struct tuple_meta_transform_impl\r
+      {\r
+          typedef tuples::cons<\r
+              typename mpl::apply1<\r
+                  typename mpl::lambda<UnaryMetaFun>::type\r
+                , typename Tuple::head_type\r
+              >::type\r
+            , typename tuple_meta_transform<\r
+                  typename Tuple::tail_type\r
+                , UnaryMetaFun \r
+              >::type\r
+          > type;\r
+      };\r
+\r
+      template<typename Tuple, class UnaryMetaFun>\r
+      struct tuple_meta_transform\r
+        : mpl::eval_if<\r
+              boost::is_same<Tuple, tuples::null_type>\r
+            , mpl::identity<tuples::null_type>\r
+            , tuple_meta_transform_impl<Tuple, UnaryMetaFun>\r
+        >\r
+      {\r
+      };\r
+      \r
+      // Meta-accumulate algorithm for tuples. Note: The template \r
+      // parameter StartType corresponds to the initial value in \r
+      // ordinary accumulation.\r
+      //\r
+      template<class Tuple, class BinaryMetaFun, class StartType>\r
+      struct tuple_meta_accumulate;\r
+      \r
+      template<\r
+          typename Tuple\r
+        , class BinaryMetaFun\r
+        , typename StartType\r
+      >\r
+      struct tuple_meta_accumulate_impl\r
+      {\r
+         typedef typename mpl::apply2<\r
+             typename mpl::lambda<BinaryMetaFun>::type\r
+           , typename Tuple::head_type\r
+           , typename tuple_meta_accumulate<\r
+                 typename Tuple::tail_type\r
+               , BinaryMetaFun\r
+               , StartType \r
+             >::type\r
+         >::type type;\r
+      };\r
+\r
+      template<\r
+          typename Tuple\r
+        , class BinaryMetaFun\r
+        , typename StartType\r
+      >\r
+      struct tuple_meta_accumulate\r
+        : mpl::eval_if<\r
+#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)\r
+              mpl::or_<\r
+#endif \r
+                  boost::is_same<Tuple, tuples::null_type>\r
+#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)\r
+                , boost::is_same<Tuple,int>\r
+              >\r
+#endif \r
+            , mpl::identity<StartType>\r
+            , tuple_meta_accumulate_impl<\r
+                  Tuple\r
+                , BinaryMetaFun\r
+                , StartType\r
+              >\r
+          >\r
+      {\r
+      };  \r
+\r
+#if defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING)                            \\r
+    || (                                                                    \\r
+      BOOST_WORKAROUND(BOOST_INTEL_CXX_VERSION, != 0) && defined(_MSC_VER)  \\r
+    )\r
+// Not sure why intel's partial ordering fails in this case, but I'm\r
+// assuming int's an MSVC bug-compatibility feature.\r
+      \r
+# define BOOST_TUPLE_ALGO_DISPATCH\r
+# define BOOST_TUPLE_ALGO(algo) algo##_impl\r
+# define BOOST_TUPLE_ALGO_TERMINATOR , int\r
+# define BOOST_TUPLE_ALGO_RECURSE , ...\r
+#else \r
+# define BOOST_TUPLE_ALGO(algo) algo\r
+# define BOOST_TUPLE_ALGO_TERMINATOR\r
+# define BOOST_TUPLE_ALGO_RECURSE\r
+#endif\r
+      \r
+      // transform algorithm for tuples. The template parameter Fun\r
+      // must be a unary functor which is also a unary metafunction\r
+      // class that computes its return type based on its argument\r
+      // type. For example:\r
+      //\r
+      // struct to_ptr\r
+      // {\r
+      //     template <class Arg>\r
+      //     struct apply\r
+      //     {\r
+      //          typedef Arg* type;\r
+      //     }\r
+      //\r
+      //     template <class Arg>\r
+      //     Arg* operator()(Arg x);\r
+      // };\r
+      template<typename Fun>\r
+      tuples::null_type BOOST_TUPLE_ALGO(tuple_transform)\r
+          (tuples::null_type const&, Fun BOOST_TUPLE_ALGO_TERMINATOR)\r
+      { return tuples::null_type(); }\r
+\r
+      template<typename Tuple, typename Fun>\r
+      typename tuple_meta_transform<\r
+          Tuple\r
+        , Fun\r
+      >::type\r
+      \r
+      BOOST_TUPLE_ALGO(tuple_transform)(\r
+        const Tuple& t, \r
+        Fun f\r
+        BOOST_TUPLE_ALGO_RECURSE\r
+      )\r
+      { \r
+          typedef typename tuple_meta_transform<\r
+              BOOST_DEDUCED_TYPENAME Tuple::tail_type\r
+            , Fun\r
+          >::type transformed_tail_type;\r
+\r
+        return tuples::cons<\r
+            BOOST_DEDUCED_TYPENAME mpl::apply1<\r
+                Fun, BOOST_DEDUCED_TYPENAME Tuple::head_type\r
+             >::type\r
+           , transformed_tail_type\r
+        >( \r
+            f(boost::tuples::get<0>(t)), tuple_transform(t.get_tail(), f)\r
+        );\r
+      }\r
+\r
+#ifdef BOOST_TUPLE_ALGO_DISPATCH\r
+      template<typename Tuple, typename Fun>\r
+      typename tuple_meta_transform<\r
+          Tuple\r
+        , Fun\r
+      >::type\r
+      \r
+      tuple_transform(\r
+        const Tuple& t, \r
+        Fun f\r
+      )\r
+      {\r
+          return tuple_transform_impl(t, f, 1);\r
+      }\r
+#endif\r
+      \r
+      // for_each algorithm for tuples.\r
+      //\r
+      template<typename Fun>\r
+      Fun BOOST_TUPLE_ALGO(tuple_for_each)(\r
+          tuples::null_type\r
+        , Fun f BOOST_TUPLE_ALGO_TERMINATOR\r
+      )\r
+      { return f; }\r
+\r
+      \r
+      template<typename Tuple, typename Fun>\r
+      Fun BOOST_TUPLE_ALGO(tuple_for_each)(\r
+          Tuple& t\r
+        , Fun f BOOST_TUPLE_ALGO_RECURSE)\r
+      { \r
+          f( t.get_head() );\r
+          return tuple_for_each(t.get_tail(), f);\r
+      }\r
+      \r
+#ifdef BOOST_TUPLE_ALGO_DISPATCH\r
+      template<typename Tuple, typename Fun>\r
+      Fun\r
+      tuple_for_each(\r
+        Tuple& t, \r
+        Fun f\r
+      )\r
+      {\r
+          return tuple_for_each_impl(t, f, 1);\r
+      }\r
+#endif\r
+      \r
+      // Equality of tuples. NOTE: "==" for tuples currently (7/2003)\r
+      // has problems under some compilers, so I just do my own.\r
+      // No point in bringing in a bunch of #ifdefs here. This is\r
+      // going to go away with the next tuple implementation anyway.\r
+      //\r
+      inline bool tuple_equal(tuples::null_type, tuples::null_type)\r
+      { return true; }\r
+\r
+      template<typename Tuple1, typename Tuple2>\r
+        bool tuple_equal(\r
+            Tuple1 const& t1, \r
+            Tuple2 const& t2\r
+        )\r
+      { \r
+          return t1.get_head() == t2.get_head() && \r
+          tuple_equal(t1.get_tail(), t2.get_tail());\r
+      }\r
+    }\r
+    //\r
+    // end namespace tuple_impl_specific\r
+\r
+    template<typename Iterator>\r
+    struct iterator_reference\r
+    {\r
+        typedef typename iterator_traits<Iterator>::reference type;\r
+    };\r
+\r
+#ifdef BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT\r
+    // Hack because BOOST_MPL_AUX_LAMBDA_SUPPORT doesn't seem to work\r
+    // out well.  Instantiating the nested apply template also\r
+    // requires instantiating iterator_traits on the\r
+    // placeholder. Instead we just specialize it as a metafunction\r
+    // class.\r
+    template<>\r
+    struct iterator_reference<mpl::_1>\r
+    {\r
+        template <class T>\r
+        struct apply : iterator_reference<T> {};\r
+    };\r
+#endif\r
+    \r
+    // Metafunction to obtain the type of the tuple whose element types\r
+    // are the reference types of an iterator tuple.\r
+    //\r
+    template<typename IteratorTuple>\r
+    struct tuple_of_references\r
+      : tuple_impl_specific::tuple_meta_transform<\r
+            IteratorTuple, \r
+            iterator_reference<mpl::_1>\r
+          >\r
+    {\r
+    };\r
+\r
+    // Metafunction to obtain the minimal traversal tag in a tuple\r
+    // of iterators.\r
+    //\r
+    template<typename IteratorTuple>\r
+    struct minimum_traversal_category_in_iterator_tuple\r
+    {\r
+      typedef typename tuple_impl_specific::tuple_meta_transform<\r
+          IteratorTuple\r
+        , iterator_traversal<>\r
+      >::type tuple_of_traversal_tags;\r
+          \r
+      typedef typename tuple_impl_specific::tuple_meta_accumulate<\r
+          tuple_of_traversal_tags\r
+        , minimum_category<>\r
+        , random_access_traversal_tag\r
+      >::type type;\r
+    };\r
+\r
+#if BOOST_WORKAROUND(BOOST_MSVC, < 1300) // ETI workaround\r
+      template <>\r
+      struct minimum_traversal_category_in_iterator_tuple<int>\r
+      {\r
+          typedef int type;\r
+      };\r
+#endif\r
+      \r
+      // We need to call tuple_meta_accumulate with mpl::and_ as the\r
+      // accumulating functor. To this end, we need to wrap it into\r
+      // a struct that has exactly two arguments (that is, template\r
+      // parameters) and not five, like mpl::and_ does.\r
+      //\r
+      template<typename Arg1, typename Arg2>\r
+      struct and_with_two_args\r
+        : mpl::and_<Arg1, Arg2>\r
+      {\r
+      };\r
+    \r
+# ifdef BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT\r
+  // Hack because BOOST_MPL_AUX_LAMBDA_SUPPORT doesn't seem to work\r
+  // out well.  In this case I think it's an MPL bug\r
+      template<>\r
+      struct and_with_two_args<mpl::_1,mpl::_2>\r
+      {\r
+          template <class A1, class A2>\r
+          struct apply : mpl::and_<A1,A2>\r
+          {};\r
+      };\r
+# endif \r
+\r
+    ///////////////////////////////////////////////////////////////////\r
+    //\r
+    // Class zip_iterator_base\r
+    //\r
+    // Builds and exposes the iterator facade type from which the zip \r
+    // iterator will be derived.\r
+    //\r
+    template<typename IteratorTuple>\r
+    struct zip_iterator_base\r
+    {\r
+     private:\r
+        // Reference type is the type of the tuple obtained from the\r
+        // iterators' reference types.\r
+        typedef typename \r
+        detail::tuple_of_references<IteratorTuple>::type reference;\r
+      \r
+        // Value type is the same as reference type.\r
+        typedef reference value_type;\r
+      \r
+        // Difference type is the first iterator's difference type\r
+        typedef typename iterator_traits<\r
+            typename tuples::element<0, IteratorTuple>::type\r
+            >::difference_type difference_type;\r
+      \r
+        // Traversal catetgory is the minimum traversal category in the \r
+        // iterator tuple.\r
+        typedef typename \r
+        detail::minimum_traversal_category_in_iterator_tuple<\r
+            IteratorTuple\r
+        >::type traversal_category;\r
+     public:\r
+      \r
+        // The iterator facade type from which the zip iterator will\r
+        // be derived.\r
+        typedef iterator_facade<\r
+            zip_iterator<IteratorTuple>,\r
+            value_type,  \r
+            traversal_category,\r
+            reference,\r
+            difference_type\r
+        > type;\r
+    };\r
+\r
+    template <>\r
+    struct zip_iterator_base<int>\r
+    {\r
+        typedef int type;\r
+    };\r
+  }\r
+  \r
+  /////////////////////////////////////////////////////////////////////\r
+  //\r
+  // zip_iterator class definition\r
+  //\r
+  template<typename IteratorTuple>\r
+  class zip_iterator : \r
+    public detail::zip_iterator_base<IteratorTuple>::type\r
+  {  \r
+\r
+   // Typedef super_t as our base class. \r
+   typedef typename \r
+     detail::zip_iterator_base<IteratorTuple>::type super_t;\r
+\r
+   // iterator_core_access is the iterator's best friend.\r
+   friend class iterator_core_access;\r
+\r
+  public:\r
+    \r
+    // Construction\r
+    // ============\r
+    \r
+    // Default constructor\r
+    zip_iterator() { }\r
+\r
+    // Constructor from iterator tuple\r
+    zip_iterator(IteratorTuple iterator_tuple) \r
+      : m_iterator_tuple(iterator_tuple) \r
+    { }\r
+\r
+    // Copy constructor\r
+    template<typename OtherIteratorTuple>\r
+    zip_iterator(\r
+       const zip_iterator<OtherIteratorTuple>& other,\r
+       typename enable_if_convertible<\r
+         OtherIteratorTuple,\r
+         IteratorTuple\r
+         >::type* = 0\r
+    ) : m_iterator_tuple(other.get_iterator_tuple())\r
+    {}\r
+\r
+    // Get method for the iterator tuple.\r
+    const IteratorTuple& get_iterator_tuple() const\r
+    { return m_iterator_tuple; }\r
+\r
+  private:\r
+    \r
+    // Implementation of Iterator Operations\r
+    // =====================================\r
+    \r
+    // Dereferencing returns a tuple built from the dereferenced\r
+    // iterators in the iterator tuple.\r
+    typename super_t::reference dereference() const\r
+    { \r
+      return detail::tuple_impl_specific::tuple_transform( \r
+        get_iterator_tuple(),\r
+        detail::dereference_iterator()\r
+       );\r
+    }\r
+\r
+    // Two zip iterators are equal if all iterators in the iterator\r
+    // tuple are equal. NOTE: It should be possible to implement this\r
+    // as\r
+    //\r
+    // return get_iterator_tuple() == other.get_iterator_tuple();\r
+    //\r
+    // but equality of tuples currently (7/2003) does not compile\r
+    // under several compilers. No point in bringing in a bunch\r
+    // of #ifdefs here.\r
+    //\r
+    template<typename OtherIteratorTuple>   \r
+    bool equal(const zip_iterator<OtherIteratorTuple>& other) const\r
+    {\r
+      return detail::tuple_impl_specific::tuple_equal(\r
+        get_iterator_tuple(),\r
+        other.get_iterator_tuple()\r
+        );\r
+    }\r
+\r
+    // Advancing a zip iterator means to advance all iterators in the\r
+    // iterator tuple.\r
+    void advance(typename super_t::difference_type n)\r
+    { \r
+      detail::tuple_impl_specific::tuple_for_each(\r
+          m_iterator_tuple,\r
+          detail::advance_iterator<BOOST_DEDUCED_TYPENAME super_t::difference_type>(n)\r
+          );\r
+    }\r
+    // Incrementing a zip iterator means to increment all iterators in\r
+    // the iterator tuple.\r
+    void increment()\r
+    { \r
+      detail::tuple_impl_specific::tuple_for_each(\r
+        m_iterator_tuple,\r
+        detail::increment_iterator()\r
+        );\r
+    }\r
+    \r
+    // Decrementing a zip iterator means to decrement all iterators in\r
+    // the iterator tuple.\r
+    void decrement()\r
+    { \r
+      detail::tuple_impl_specific::tuple_for_each(\r
+        m_iterator_tuple,\r
+        detail::decrement_iterator()\r
+        );\r
+    }\r
+    \r
+    // Distance is calculated using the first iterator in the tuple.\r
+    template<typename OtherIteratorTuple>\r
+      typename super_t::difference_type distance_to(\r
+        const zip_iterator<OtherIteratorTuple>& other\r
+        ) const\r
+    { \r
+        return boost::tuples::get<0>(other.get_iterator_tuple()) - \r
+            boost::tuples::get<0>(this->get_iterator_tuple());\r
+    }\r
+  \r
+    // Data Members\r
+    // ============\r
+    \r
+    // The iterator tuple.\r
+    IteratorTuple m_iterator_tuple;\r
\r
+  };\r
+\r
+  // Make function for zip iterator\r
+  //\r
+  template<typename IteratorTuple> \r
+  zip_iterator<IteratorTuple> \r
+  make_zip_iterator(IteratorTuple t)\r
+  { return zip_iterator<IteratorTuple>(t); }\r
+\r
+}\r
+\r
+#endif\r
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 (file)
index 0000000..bf41894
--- /dev/null
@@ -0,0 +1,1213 @@
+#ifndef BOOST_LEXICAL_CAST_INCLUDED\r
+#define BOOST_LEXICAL_CAST_INCLUDED\r
+\r
+// Boost lexical_cast.hpp header  -------------------------------------------//\r
+//\r
+// See http://www.boost.org/libs/conversion for documentation.\r
+// See end of this header for rights and permissions.\r
+//\r
+// what:  lexical_cast custom keyword cast\r
+// who:   contributed by Kevlin Henney,\r
+//        enhanced with contributions from Terje Slettebo,\r
+//        with additional fixes and suggestions from Gennaro Prota,\r
+//        Beman Dawes, Dave Abrahams, Daryle Walker, Peter Dimov,\r
+//        Alexander Nasonov and other Boosters\r
+// when:  November 2000, March 2003, June 2005, June 2006\r
+\r
+#include <climits>\r
+#include <cstddef>\r
+#include <istream>\r
+#include <string>\r
+#include <typeinfo>\r
+#include <exception>\r
+#include <boost/config.hpp>\r
+#include <boost/limits.hpp>\r
+#include <boost/mpl/if.hpp>\r
+#include <boost/throw_exception.hpp>\r
+#include <boost/type_traits/is_pointer.hpp>\r
+#include <boost/type_traits/make_unsigned.hpp>\r
+#include <boost/call_traits.hpp>\r
+#include <boost/static_assert.hpp>\r
+#include <boost/detail/lcast_precision.hpp>\r
+#include <boost/detail/workaround.hpp>\r
+\r
+#ifndef BOOST_NO_STD_LOCALE\r
+#include <locale>\r
+#endif\r
+\r
+#ifdef BOOST_NO_STRINGSTREAM\r
+#include <strstream>\r
+#else\r
+#include <sstream>\r
+#endif\r
+\r
+#if defined(BOOST_NO_STRINGSTREAM) || defined(BOOST_NO_STD_WSTRING)\r
+#define BOOST_LCAST_NO_WCHAR_T\r
+#endif\r
+\r
+#ifdef BOOST_NO_TYPEID\r
+#define BOOST_LCAST_THROW_BAD_CAST(S, T) throw_exception(bad_lexical_cast())\r
+#else\r
+#define BOOST_LCAST_THROW_BAD_CAST(Source, Target) \\r
+    throw_exception(bad_lexical_cast(typeid(Source), typeid(Target)))\r
+#endif\r
+\r
+namespace boost\r
+{\r
+    // exception used to indicate runtime lexical_cast failure\r
+    class bad_lexical_cast : public std::bad_cast\r
+\r
+#if defined(__BORLANDC__) && BOOST_WORKAROUND( __BORLANDC__, < 0x560 )\r
+        // under bcc32 5.5.1 bad_cast doesn't derive from exception\r
+        , public std::exception\r
+#endif\r
+\r
+    {\r
+    public:\r
+        bad_lexical_cast() :\r
+#ifndef BOOST_NO_TYPEID\r
+          source(&typeid(void)), target(&typeid(void))\r
+#else\r
+          source(0), target(0) // this breaks getters\r
+#endif\r
+        {\r
+        }\r
+\r
+        bad_lexical_cast(\r
+            const std::type_info &source_type_arg,\r
+            const std::type_info &target_type_arg) :\r
+            source(&source_type_arg), target(&target_type_arg)\r
+        {\r
+        }\r
+\r
+        const std::type_info &source_type() const\r
+        {\r
+            return *source;\r
+        }\r
+        const std::type_info &target_type() const\r
+        {\r
+            return *target;\r
+        }\r
+\r
+        virtual const char *what() const throw()\r
+        {\r
+            return "bad lexical cast: "\r
+                   "source type value could not be interpreted as target";\r
+        }\r
+        virtual ~bad_lexical_cast() throw()\r
+        {\r
+        }\r
+    private:\r
+        const std::type_info *source;\r
+        const std::type_info *target;\r
+    };\r
+\r
+    namespace detail // selectors for choosing stream character type\r
+    {\r
+        template<typename Type>\r
+        struct stream_char\r
+        {\r
+            typedef char type;\r
+        };\r
+\r
+#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+        template<class CharT, class Traits, class Alloc>\r
+        struct stream_char< std::basic_string<CharT,Traits,Alloc> >\r
+        {\r
+            typedef CharT type;\r
+        };\r
+#endif\r
+\r
+#ifndef BOOST_LCAST_NO_WCHAR_T\r
+#ifndef BOOST_NO_INTRINSIC_WCHAR_T\r
+        template<>\r
+        struct stream_char<wchar_t>\r
+        {\r
+            typedef wchar_t type;\r
+        };\r
+#endif\r
+\r
+        template<>\r
+        struct stream_char<wchar_t *>\r
+        {\r
+            typedef wchar_t type;\r
+        };\r
+\r
+        template<>\r
+        struct stream_char<const wchar_t *>\r
+        {\r
+            typedef wchar_t type;\r
+        };\r
+\r
+#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+        template<>\r
+        struct stream_char<std::wstring>\r
+        {\r
+            typedef wchar_t type;\r
+        };\r
+#endif\r
+#endif\r
+\r
+        template<typename TargetChar, typename SourceChar>\r
+        struct widest_char\r
+        {\r
+            typedef TargetChar type;\r
+        };\r
+\r
+        template<>\r
+        struct widest_char<char, wchar_t>\r
+        {\r
+            typedef wchar_t type;\r
+        };\r
+    }\r
+\r
+    namespace detail // deduce_char_traits template\r
+    {\r
+#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+        template<class CharT, class Target, class Source>\r
+        struct deduce_char_traits\r
+        {\r
+            typedef std::char_traits<CharT> type;\r
+        };\r
+\r
+        template<class CharT, class Traits, class Alloc, class Source>\r
+        struct deduce_char_traits< CharT\r
+                                 , std::basic_string<CharT,Traits,Alloc>\r
+                                 , Source\r
+                                 >\r
+        {\r
+            typedef Traits type;\r
+        };\r
+\r
+        template<class CharT, class Target, class Traits, class Alloc>\r
+        struct deduce_char_traits< CharT\r
+                                 , Target\r
+                                 , std::basic_string<CharT,Traits,Alloc>\r
+                                 >\r
+        {\r
+            typedef Traits type;\r
+        };\r
+\r
+        template<class CharT, class Traits, class Alloc1, class Alloc2>\r
+        struct deduce_char_traits< CharT\r
+                                 , std::basic_string<CharT,Traits,Alloc1>\r
+                                 , std::basic_string<CharT,Traits,Alloc2>\r
+                                 >\r
+        {\r
+            typedef Traits type;\r
+        };\r
+#endif\r
+    }\r
+\r
+    namespace detail // lcast_src_length\r
+    {\r
+        // Return max. length of string representation of Source;\r
+        // 0 if unlimited (with exceptions for some types, see below).\r
+        // Values with limited string representation are placed to\r
+        // the buffer locally defined in lexical_cast function.\r
+        // 1 is returned for few types such as CharT const* or\r
+        // std::basic_string<CharT> that already have an internal\r
+        // buffer ready to be reused by lexical_stream_limited_src.\r
+        // Each specialization should have a correspondent operator<<\r
+        // defined in lexical_stream_limited_src.\r
+        template< class CharT  // A result of widest_char transformation.\r
+                , class Source // Source type of lexical_cast.\r
+                >\r
+        struct lcast_src_length\r
+        {\r
+            BOOST_STATIC_CONSTANT(std::size_t, value = 0);\r
+            // To check coverage, build the test with\r
+            // bjam --v2 profile optimization=off\r
+            static void check_coverage() {}\r
+        };\r
+\r
+        template<>\r
+        struct lcast_src_length<char, bool>\r
+        {\r
+            BOOST_STATIC_CONSTANT(std::size_t, value = 1);\r
+            static void check_coverage() {}\r
+        };\r
+\r
+        template<>\r
+        struct lcast_src_length<char, char>\r
+        {\r
+            BOOST_STATIC_CONSTANT(std::size_t, value = 1);\r
+            static void check_coverage() {}\r
+        };\r
+\r
+        // No specializations for:\r
+        // lcast_src_length<char, signed char>\r
+        // lcast_src_length<char, unsigned char>\r
+        // lcast_src_length<char, signed char*>\r
+        // lcast_src_length<char, unsigned char*>\r
+        // lcast_src_length<char, signed char const*>\r
+        // lcast_src_length<char, unsigned char const*>\r
+\r
+#ifndef BOOST_LCAST_NO_WCHAR_T\r
+        template<>\r
+        struct lcast_src_length<wchar_t, bool>\r
+        {\r
+            BOOST_STATIC_CONSTANT(std::size_t, value = 1);\r
+            static void check_coverage() {}\r
+        };\r
+\r
+        template<>\r
+        struct lcast_src_length<wchar_t, char>\r
+        {\r
+            BOOST_STATIC_CONSTANT(std::size_t, value = 1);\r
+            static void check_coverage() {}\r
+        };\r
+\r
+#ifndef BOOST_NO_INTRINSIC_WCHAR_T\r
+        template<>\r
+        struct lcast_src_length<wchar_t, wchar_t>\r
+        {\r
+            BOOST_STATIC_CONSTANT(std::size_t, value = 1);\r
+            static void check_coverage() {}\r
+        };\r
+#endif\r
+#endif\r
+\r
+        template<>\r
+        struct lcast_src_length<char, char const*>\r
+        {\r
+            BOOST_STATIC_CONSTANT(std::size_t, value = 1);\r
+            static void check_coverage() {}\r
+        };\r
+\r
+        template<>\r
+        struct lcast_src_length<char, char*>\r
+        {\r
+            BOOST_STATIC_CONSTANT(std::size_t, value = 1);\r
+            static void check_coverage() {}\r
+        };\r
+\r
+#ifndef BOOST_LCAST_NO_WCHAR_T\r
+        template<>\r
+        struct lcast_src_length<wchar_t, wchar_t const*>\r
+        {\r
+            BOOST_STATIC_CONSTANT(std::size_t, value = 1);\r
+            static void check_coverage() {}\r
+        };\r
+\r
+        template<>\r
+        struct lcast_src_length<wchar_t, wchar_t*>\r
+        {\r
+            BOOST_STATIC_CONSTANT(std::size_t, value = 1);\r
+            static void check_coverage() {}\r
+        };\r
+#endif\r
+\r
+#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+        template<class CharT, class Traits, class Alloc>\r
+        struct lcast_src_length< CharT, std::basic_string<CharT,Traits,Alloc> >\r
+        {\r
+            BOOST_STATIC_CONSTANT(std::size_t, value = 1);\r
+            static void check_coverage() {}\r
+        };\r
+#else\r
+        template<>\r
+        struct lcast_src_length< char, std::basic_string<char> >\r
+        {\r
+            BOOST_STATIC_CONSTANT(std::size_t, value = 1);\r
+            static void check_coverage() {}\r
+        };\r
+\r
+#ifndef BOOST_LCAST_NO_WCHAR_T\r
+        template<>\r
+        struct lcast_src_length< wchar_t, std::basic_string<wchar_t> >\r
+        {\r
+            BOOST_STATIC_CONSTANT(std::size_t, value = 1);\r
+            static void check_coverage() {}\r
+        };\r
+#endif\r
+#endif\r
+\r
+        // Helper for integral types.\r
+        // Notes on length calculation:\r
+        // Max length for 32bit int with grouping "\1" and thousands_sep ',':\r
+        // "-2,1,4,7,4,8,3,6,4,7"\r
+        //  ^                    - is_signed\r
+        //   ^                   - 1 digit not counted by digits10\r
+        //    ^^^^^^^^^^^^^^^^^^ - digits10 * 2\r
+        //\r
+        // Constant is_specialized is used instead of constant 1\r
+        // to prevent buffer overflow in a rare case when\r
+        // <boost/limits.hpp> doesn't add missing specialization for\r
+        // numeric_limits<T> for some integral type T.\r
+        // When is_specialized is false, the whole expression is 0.\r
+        template<class Source>\r
+        struct lcast_src_length_integral\r
+        {\r
+#ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS\r
+            BOOST_STATIC_CONSTANT(std::size_t, value =\r
+                  std::numeric_limits<Source>::is_signed +\r
+                  std::numeric_limits<Source>::is_specialized + // == 1\r
+                  std::numeric_limits<Source>::digits10 * 2\r
+              );\r
+#else\r
+            BOOST_STATIC_CONSTANT(std::size_t, value = 156);\r
+            BOOST_STATIC_ASSERT(sizeof(Source) * CHAR_BIT <= 256);\r
+#endif\r
+        };\r
+\r
+#define BOOST_LCAST_DEF1(CharT, T)               \\r
+    template<> struct lcast_src_length<CharT, T> \\r
+        : lcast_src_length_integral<T>           \\r
+    { static void check_coverage() {} };\r
+\r
+#ifdef BOOST_LCAST_NO_WCHAR_T\r
+#define BOOST_LCAST_DEF(T) BOOST_LCAST_DEF1(char, T)\r
+#else\r
+#define BOOST_LCAST_DEF(T)          \\r
+        BOOST_LCAST_DEF1(char, T)   \\r
+        BOOST_LCAST_DEF1(wchar_t, T)\r
+#endif\r
+\r
+        BOOST_LCAST_DEF(short)\r
+        BOOST_LCAST_DEF(unsigned short)\r
+        BOOST_LCAST_DEF(int)\r
+        BOOST_LCAST_DEF(unsigned int)\r
+        BOOST_LCAST_DEF(long)\r
+        BOOST_LCAST_DEF(unsigned long)\r
+#if defined(BOOST_HAS_LONG_LONG)\r
+        BOOST_LCAST_DEF(boost::ulong_long_type)\r
+        BOOST_LCAST_DEF(boost::long_long_type )\r
+#elif defined(BOOST_HAS_MS_INT64)\r
+        BOOST_LCAST_DEF(unsigned __int64)\r
+        BOOST_LCAST_DEF(         __int64)\r
+#endif\r
+\r
+#undef BOOST_LCAST_DEF\r
+#undef BOOST_LCAST_DEF1\r
+\r
+#ifndef BOOST_LCAST_NO_COMPILE_TIME_PRECISION\r
+        // Helper for floating point types.\r
+        // -1.23456789e-123456\r
+        // ^                   sign\r
+        //  ^                  leading digit\r
+        //   ^                 decimal point \r
+        //    ^^^^^^^^         lcast_precision<Source>::value\r
+        //            ^        "e"\r
+        //             ^       exponent sign\r
+        //              ^^^^^^ exponent (assumed 6 or less digits)\r
+        // sign + leading digit + decimal point + "e" + exponent sign == 5\r
+        template<class Source>\r
+        struct lcast_src_length_floating\r
+        {\r
+            BOOST_STATIC_ASSERT(\r
+                    std::numeric_limits<Source>::max_exponent10 <=  999999L &&\r
+                    std::numeric_limits<Source>::min_exponent10 >= -999999L\r
+                );\r
+            BOOST_STATIC_CONSTANT(std::size_t, value =\r
+                    5 + lcast_precision<Source>::value + 6\r
+                );\r
+        };\r
+\r
+        template<>\r
+        struct lcast_src_length<char,float>\r
+          : lcast_src_length_floating<float>\r
+        {\r
+            static void check_coverage() {}\r
+        };\r
+\r
+        template<>\r
+        struct lcast_src_length<char,double>\r
+          : lcast_src_length_floating<double>\r
+        {\r
+            static void check_coverage() {}\r
+        };\r
+\r
+        template<>\r
+        struct lcast_src_length<char,long double>\r
+          : lcast_src_length_floating<long double>\r
+        {\r
+            static void check_coverage() {}\r
+        };\r
+\r
+#ifndef BOOST_LCAST_NO_WCHAR_T\r
+    template<>\r
+    struct lcast_src_length<wchar_t,float>\r
+      : lcast_src_length_floating<float>\r
+    {\r
+        static void check_coverage() {}\r
+    };\r
+\r
+    template<>\r
+    struct lcast_src_length<wchar_t,double>\r
+      : lcast_src_length_floating<double>\r
+    {\r
+        static void check_coverage() {}\r
+    };\r
+\r
+    template<>\r
+    struct lcast_src_length<wchar_t,long double>\r
+      : lcast_src_length_floating<long double>\r
+    {\r
+        static void check_coverage() {}\r
+    };\r
+\r
+#endif // #ifndef BOOST_LCAST_NO_WCHAR_T\r
+#endif // #ifndef BOOST_LCAST_NO_COMPILE_TIME_PRECISION\r
+    }\r
+\r
+    namespace detail // '0' and '-' constants\r
+    {\r
+        template<typename CharT> struct lcast_char_constants;\r
+\r
+        template<>\r
+        struct lcast_char_constants<char>\r
+        {\r
+            BOOST_STATIC_CONSTANT(char, zero  = '0');\r
+            BOOST_STATIC_CONSTANT(char, minus = '-');\r
+        };\r
+\r
+#ifndef BOOST_LCAST_NO_WCHAR_T\r
+        template<>\r
+        struct lcast_char_constants<wchar_t>\r
+        {\r
+            BOOST_STATIC_CONSTANT(wchar_t, zero  = L'0');\r
+            BOOST_STATIC_CONSTANT(wchar_t, minus = L'-');\r
+        };\r
+#endif\r
+    }\r
+\r
+    namespace detail // lexical_streambuf_fake\r
+    {\r
+        struct lexical_streambuf_fake\r
+        {\r
+        };\r
+    }\r
+\r
+    namespace detail // lcast_to_unsigned\r
+    {\r
+#if (defined _MSC_VER)\r
+# pragma warning( push )\r
+// C4146: unary minus operator applied to unsigned type, result still unsigned\r
+# pragma warning( disable : 4146 )\r
+#elif defined( __BORLANDC__ )\r
+# pragma option push -w-8041\r
+#endif\r
+        template<class T>\r
+        inline\r
+        BOOST_DEDUCED_TYPENAME make_unsigned<T>::type lcast_to_unsigned(T value)\r
+        {\r
+            typedef BOOST_DEDUCED_TYPENAME make_unsigned<T>::type result_type;\r
+            result_type uvalue = static_cast<result_type>(value);\r
+            return value < 0 ? -uvalue : uvalue;\r
+        }\r
+#if (defined _MSC_VER)\r
+# pragma warning( pop )\r
+#elif defined( __BORLANDC__ )\r
+# pragma option pop\r
+#endif\r
+    }\r
+\r
+    namespace detail // lcast_put_unsigned\r
+    {\r
+        template<class Traits, class T, class CharT>\r
+        CharT* lcast_put_unsigned(T n, CharT* finish)\r
+        {\r
+#ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS\r
+            BOOST_STATIC_ASSERT(!std::numeric_limits<T>::is_signed);\r
+#endif\r
+\r
+#ifndef BOOST_LEXICAL_CAST_ASSUME_C_LOCALE\r
+            // TODO: use BOOST_NO_STD_LOCALE\r
+            std::locale loc;\r
+            typedef std::numpunct<CharT> numpunct;\r
+            numpunct const& np = BOOST_USE_FACET(numpunct, loc);\r
+            std::string const& grouping = np.grouping();\r
+            std::string::size_type const grouping_size = grouping.size();\r
+            CharT thousands_sep = grouping_size ? np.thousands_sep() : 0;\r
+            std::string::size_type group = 0; // current group number\r
+            char last_grp_size = grouping[0] <= 0 ? CHAR_MAX : grouping[0];\r
+            // a) Since grouping is const, grouping[grouping.size()] returns 0.\r
+            // b) It's safe to assume here and below that CHAR_MAX\r
+            //    is equivalent to unlimited grouping:\r
+#ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS\r
+            BOOST_STATIC_ASSERT(std::numeric_limits<T>::digits10 < CHAR_MAX);\r
+#endif\r
+\r
+            char left = last_grp_size;\r
+#endif\r
+\r
+            typedef typename Traits::int_type int_type;\r
+            CharT const czero = lcast_char_constants<CharT>::zero;\r
+            int_type const zero = Traits::to_int_type(czero);\r
+\r
+            do\r
+            {\r
+#ifndef BOOST_LEXICAL_CAST_ASSUME_C_LOCALE\r
+                if(left == 0)\r
+                {\r
+                    ++group;\r
+                    if(group < grouping_size)\r
+                    {\r
+                        char const grp_size = grouping[group];\r
+                        last_grp_size = grp_size <= 0 ? CHAR_MAX : grp_size;\r
+                    }\r
+\r
+                    left = last_grp_size;\r
+                    --finish;\r
+                    Traits::assign(*finish, thousands_sep);\r
+                }\r
+\r
+                --left;\r
+#endif\r
+\r
+                --finish;\r
+                int_type const digit = static_cast<int_type>(n % 10U);\r
+                Traits::assign(*finish, Traits::to_char_type(zero + digit));\r
+                n /= 10;\r
+            } while(n);\r
+\r
+            return finish;\r
+        }\r
+    }\r
+\r
+    namespace detail // stream wrapper for handling lexical conversions\r
+    {\r
+        template<typename Target, typename Source, typename Traits>\r
+        class lexical_stream\r
+        {\r
+        private:\r
+            typedef typename widest_char<\r
+                typename stream_char<Target>::type,\r
+                typename stream_char<Source>::type>::type char_type;\r
+\r
+            typedef Traits traits_type;\r
+\r
+        public:\r
+            lexical_stream(char_type* = 0, char_type* = 0)\r
+            {\r
+                stream.unsetf(std::ios::skipws);\r
+                lcast_set_precision(stream, static_cast<Source*>(0), static_cast<Target*>(0) );\r
+            }\r
+            ~lexical_stream()\r
+            {\r
+                #if defined(BOOST_NO_STRINGSTREAM)\r
+                stream.freeze(false);\r
+                #endif\r
+            }\r
+            bool operator<<(const Source &input)\r
+            {\r
+                return !(stream << input).fail();\r
+            }\r
+            template<typename InputStreamable>\r
+            bool operator>>(InputStreamable &output)\r
+            {\r
+                return !is_pointer<InputStreamable>::value &&\r
+                       stream >> output &&\r
+                       stream.get() ==\r
+#if defined(__GNUC__) && (__GNUC__<3) && defined(BOOST_NO_STD_WSTRING)\r
+// GCC 2.9x lacks std::char_traits<>::eof().\r
+// We use BOOST_NO_STD_WSTRING to filter out STLport and libstdc++-v3\r
+// configurations, which do provide std::char_traits<>::eof().\r
+    \r
+                           EOF;\r
+#else\r
+                           traits_type::eof();\r
+#endif\r
+            }\r
+\r
+#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+\r
+            bool operator>>(std::string &output)\r
+            {\r
+                #if defined(BOOST_NO_STRINGSTREAM)\r
+                stream << '\0';\r
+                #endif\r
+                stream.str().swap(output);\r
+                return true;\r
+            }\r
+            #ifndef BOOST_LCAST_NO_WCHAR_T\r
+            bool operator>>(std::wstring &output)\r
+            {\r
+                stream.str().swap(output);\r
+                return true;\r
+            }\r
+            #endif\r
+\r
+#else\r
+            bool operator>>(std::basic_string<char_type,traits_type>& output)\r
+            {\r
+                stream.str().swap(output);\r
+                return true;\r
+            }\r
+\r
+            template<class Alloc>\r
+            bool operator>>(std::basic_string<char_type,traits_type,Alloc>& out)\r
+            {\r
+                std::basic_string<char_type,traits_type> str(stream.str());\r
+                out.assign(str.begin(), str.end());\r
+                return true;\r
+            }\r
+#endif\r
+        private:\r
+            #if defined(BOOST_NO_STRINGSTREAM)\r
+            std::strstream stream;\r
+            #elif defined(BOOST_NO_STD_LOCALE)\r
+            std::stringstream stream;\r
+            #else\r
+            std::basic_stringstream<char_type,traits_type> stream;\r
+            #endif\r
+        };\r
+    }\r
+\r
+    namespace detail // optimized stream wrapper\r
+    {\r
+        // String representation of Source has an upper limit.\r
+        template< class CharT // a result of widest_char transformation\r
+                , class Base // lexical_streambuf_fake or basic_streambuf<CharT>\r
+                , class Traits // usually char_traits<CharT>\r
+                >\r
+        class lexical_stream_limited_src : public Base\r
+        {\r
+            // A string representation of Source is written to [start, finish).\r
+            // Currently, it is assumed that [start, finish) is big enough\r
+            // to hold a string representation of any Source value.\r
+            CharT* start;\r
+            CharT* finish;\r
+\r
+        private:\r
+\r
+            static void widen_and_assign(char*p, char ch)\r
+            {\r
+                Traits::assign(*p, ch);\r
+            }\r
+\r
+#ifndef BOOST_LCAST_NO_WCHAR_T\r
+            static void widen_and_assign(wchar_t* p, char ch)\r
+            {\r
+                // TODO: use BOOST_NO_STD_LOCALE\r
+                std::locale loc;\r
+                wchar_t w = BOOST_USE_FACET(std::ctype<wchar_t>, loc).widen(ch);\r
+                Traits::assign(*p, w);\r
+            }\r
+\r
+            static void widen_and_assign(wchar_t* p, wchar_t ch)\r
+            {\r
+                Traits::assign(*p, ch);\r
+            }\r
+\r
+            static void widen_and_assign(char*, wchar_t ch); // undefined\r
+#endif\r
+\r
+            template<class OutputStreamable>\r
+            bool lcast_put(const OutputStreamable& input)\r
+            {\r
+                this->setp(start, finish);\r
+                std::basic_ostream<CharT> stream(static_cast<Base*>(this));\r
+                lcast_set_precision(stream, static_cast<OutputStreamable*>(0));\r
+                bool const result = !(stream << input).fail();\r
+                finish = this->pptr();\r
+                return result;\r
+            }\r
+\r
+            // Undefined:\r
+            lexical_stream_limited_src(lexical_stream_limited_src const&);\r
+            void operator=(lexical_stream_limited_src const&);\r
+\r
+        public:\r
+\r
+            lexical_stream_limited_src(CharT* sta, CharT* fin)\r
+              : start(sta)\r
+              , finish(fin)\r
+            {}\r
+\r
+        public: // output\r
+\r
+            template<class Alloc>\r
+            bool operator<<(std::basic_string<CharT,Traits,Alloc> const& str)\r
+            {\r
+                start = const_cast<CharT*>(str.data());\r
+                finish = start + str.length();\r
+                return true;\r
+            }\r
+\r
+            bool operator<<(bool);\r
+            bool operator<<(char);\r
+#if !defined(BOOST_LCAST_NO_WCHAR_T) && !defined(BOOST_NO_INTRINSIC_WCHAR_T)\r
+            bool operator<<(wchar_t);\r
+#endif\r
+            bool operator<<(CharT const*);\r
+            bool operator<<(short);\r
+            bool operator<<(int);\r
+            bool operator<<(long);\r
+            bool operator<<(unsigned short);\r
+            bool operator<<(unsigned int);\r
+            bool operator<<(unsigned long);\r
+#if defined(BOOST_HAS_LONG_LONG)\r
+            bool operator<<(boost::ulong_long_type);\r
+            bool operator<<(boost::long_long_type );\r
+#elif defined(BOOST_HAS_MS_INT64)\r
+            bool operator<<(unsigned __int64);\r
+            bool operator<<(         __int64);\r
+#endif\r
+            // These three operators use ostream and streambuf.\r
+            // lcast_streambuf_for_source<T>::value is true.\r
+            bool operator<<(float);\r
+            bool operator<<(double);\r
+            bool operator<<(long double);\r
+\r
+        public: // input\r
+\r
+            // Generic istream-based algorithm.\r
+            // lcast_streambuf_for_target<InputStreamable>::value is true.\r
+            template<typename InputStreamable>\r
+            bool operator>>(InputStreamable& output)\r
+            {\r
+#if (defined _MSC_VER)\r
+# pragma warning( push )\r
+  // conditional expression is constant\r
+# pragma warning( disable : 4127 )\r
+#endif\r
+                if(is_pointer<InputStreamable>::value)\r
+                    return false;\r
+\r
+                this->setg(start, start, finish);\r
+                std::basic_istream<CharT> stream(static_cast<Base*>(this));\r
+                stream.unsetf(std::ios::skipws);\r
+                lcast_set_precision(stream, static_cast<InputStreamable*>(0));\r
+#if (defined _MSC_VER)\r
+# pragma warning( pop )\r
+#endif\r
+                return stream >> output &&\r
+                    stream.get() ==\r
+#if defined(__GNUC__) && (__GNUC__<3) && defined(BOOST_NO_STD_WSTRING)\r
+        // GCC 2.9x lacks std::char_traits<>::eof().\r
+        // We use BOOST_NO_STD_WSTRING to filter out STLport and libstdc++-v3\r
+        // configurations, which do provide std::char_traits<>::eof().\r
+\r
+                    EOF;\r
+#else\r
+                Traits::eof();\r
+#endif\r
+            }\r
+\r
+            bool operator>>(CharT&);\r
+\r
+#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+// This #if is in sync with lcast_streambuf_for_target\r
+\r
+            bool operator>>(std::string&);\r
+\r
+#ifndef BOOST_LCAST_NO_WCHAR_T\r
+            bool operator>>(std::wstring&);\r
+#endif\r
+\r
+#else\r
+            template<class Alloc>\r
+            bool operator>>(std::basic_string<CharT,Traits,Alloc>& str)\r
+            {\r
+                str.assign(start, finish);\r
+                return true;\r
+            }\r
+#endif\r
+        };\r
+\r
+        template<typename CharT, class Base, class Traits>\r
+        inline bool lexical_stream_limited_src<CharT,Base,Traits>::operator<<(\r
+                bool value)\r
+        {\r
+            typedef typename Traits::int_type int_type;\r
+            CharT const czero = lcast_char_constants<CharT>::zero;\r
+            int_type const zero = Traits::to_int_type(czero);\r
+            Traits::assign(*start, Traits::to_char_type(zero + value));\r
+            finish = start + 1;\r
+            return true;\r
+        }\r
+\r
+        template<typename CharT, class Base, class Traits>\r
+        inline bool lexical_stream_limited_src<CharT,Base,Traits>::operator<<(\r
+                char ch)\r
+        {\r
+            widen_and_assign(start, ch);\r
+            finish = start + 1;\r
+            return true;\r
+        }\r
+\r
+#if !defined(BOOST_LCAST_NO_WCHAR_T) && !defined(BOOST_NO_INTRINSIC_WCHAR_T)\r
+        template<typename CharT, class Base, class Traits>\r
+        inline bool lexical_stream_limited_src<CharT,Base,Traits>::operator<<(\r
+                wchar_t ch)\r
+        {\r
+            widen_and_assign(start, ch);\r
+            finish = start + 1;\r
+            return true;\r
+        }\r
+#endif\r
+\r
+        template<typename CharT, class Base, class Traits>\r
+        inline bool lexical_stream_limited_src<CharT,Base,Traits>::operator<<(\r
+                short n)\r
+        {\r
+            start = lcast_put_unsigned<Traits>(lcast_to_unsigned(n), finish);\r
+            if(n < 0)\r
+            {\r
+                --start;\r
+                CharT const minus = lcast_char_constants<CharT>::minus;\r
+                Traits::assign(*start, minus);\r
+            }\r
+            return true;\r
+        }\r
+\r
+        template<typename CharT, class Base, class Traits>\r
+        inline bool lexical_stream_limited_src<CharT,Base,Traits>::operator<<(\r
+                int n)\r
+        {\r
+            start = lcast_put_unsigned<Traits>(lcast_to_unsigned(n), finish);\r
+            if(n < 0)\r
+            {\r
+                --start;\r
+                CharT const minus = lcast_char_constants<CharT>::minus;\r
+                Traits::assign(*start, minus);\r
+            }\r
+            return true;\r
+        }\r
+\r
+        template<typename CharT, class Base, class Traits>\r
+        inline bool lexical_stream_limited_src<CharT,Base,Traits>::operator<<(\r
+                long n)\r
+        {\r
+            start = lcast_put_unsigned<Traits>(lcast_to_unsigned(n), finish);\r
+            if(n < 0)\r
+            {\r
+                --start;\r
+                CharT const minus = lcast_char_constants<CharT>::minus;\r
+                Traits::assign(*start, minus);\r
+            }\r
+            return true;\r
+        }\r
+\r
+#if defined(BOOST_HAS_LONG_LONG)\r
+        template<typename CharT, class Base, class Traits>\r
+        inline bool lexical_stream_limited_src<CharT,Base,Traits>::operator<<(\r
+                boost::long_long_type n)\r
+        {\r
+            start = lcast_put_unsigned<Traits>(lcast_to_unsigned(n), finish);\r
+            if(n < 0)\r
+            {\r
+                --start;\r
+                CharT const minus = lcast_char_constants<CharT>::minus;\r
+                Traits::assign(*start, minus);\r
+            }\r
+            return true;\r
+        }\r
+#elif defined(BOOST_HAS_MS_INT64)\r
+        template<typename CharT, class Base, class Traits>\r
+        inline bool lexical_stream_limited_src<CharT,Base,Traits>::operator<<(\r
+                __int64 n)\r
+        {\r
+            start = lcast_put_unsigned<Traits>(lcast_to_unsigned(n), finish);\r
+            if(n < 0)\r
+            {\r
+                --start;\r
+                CharT const minus = lcast_char_constants<CharT>::minus;\r
+                Traits::assign(*start, minus);\r
+            }\r
+            return true;\r
+        }\r
+#endif\r
+\r
+        template<typename CharT, class Base, class Traits>\r
+        inline bool lexical_stream_limited_src<CharT,Base,Traits>::operator<<(\r
+                unsigned short n)\r
+        {\r
+            start = lcast_put_unsigned<Traits>(n, finish);\r
+            return true;\r
+        }\r
+\r
+        template<typename CharT, class Base, class Traits>\r
+        inline bool lexical_stream_limited_src<CharT,Base,Traits>::operator<<(\r
+                unsigned int n)\r
+        {\r
+            start = lcast_put_unsigned<Traits>(n, finish);\r
+            return true;\r
+        }\r
+\r
+        template<typename CharT, class Base, class Traits>\r
+        inline bool lexical_stream_limited_src<CharT,Base,Traits>::operator<<(\r
+                unsigned long n)\r
+        {\r
+            start = lcast_put_unsigned<Traits>(n, finish);\r
+            return true;\r
+        }\r
+\r
+#if defined(BOOST_HAS_LONG_LONG)\r
+        template<typename CharT, class Base, class Traits>\r
+        inline bool lexical_stream_limited_src<CharT,Base,Traits>::operator<<(\r
+                boost::ulong_long_type n)\r
+        {\r
+            start = lcast_put_unsigned<Traits>(n, finish);\r
+            return true;\r
+        }\r
+#elif defined(BOOST_HAS_MS_INT64)\r
+        template<typename CharT, class Base, class Traits>\r
+        inline bool lexical_stream_limited_src<CharT,Base,Traits>::operator<<(\r
+                unsigned __int64 n)\r
+        {\r
+            start = lcast_put_unsigned<Traits>(n, finish);\r
+            return true;\r
+        }\r
+#endif\r
+\r
+        template<typename CharT, class Base, class Traits>\r
+        inline bool lexical_stream_limited_src<CharT,Base,Traits>::operator<<(\r
+                float val)\r
+        {\r
+            return this->lcast_put(val);\r
+        }\r
+\r
+        template<typename CharT, class Base, class Traits>\r
+        inline bool lexical_stream_limited_src<CharT,Base,Traits>::operator<<(\r
+                double val)\r
+        {\r
+            return this->lcast_put(val);\r
+        }\r
+\r
+        template<typename CharT, class Base, class Traits>\r
+        inline bool lexical_stream_limited_src<CharT,Base,Traits>::operator<<(\r
+                long double val)\r
+        {\r
+            return this->lcast_put(val);\r
+        }\r
+\r
+        template<typename CharT, class Base, class Traits>\r
+        inline bool lexical_stream_limited_src<CharT,Base,Traits>::operator<<(\r
+                CharT const* str)\r
+        {\r
+            start = const_cast<CharT*>(str);\r
+            finish = start + Traits::length(str);\r
+            return true;\r
+        }\r
+\r
+        template<typename CharT, class Base, class Traits>\r
+        inline bool lexical_stream_limited_src<CharT,Base,Traits>::operator>>(\r
+                CharT& output)\r
+        {\r
+            bool const ok = (finish - start == 1);\r
+            if(ok)\r
+                Traits::assign(output, *start);\r
+            return ok;\r
+        }\r
+\r
+#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+        template<typename CharT, class Base, class Traits>\r
+        inline bool lexical_stream_limited_src<CharT,Base,Traits>::operator>>(\r
+                std::string& str)\r
+        {\r
+            str.assign(start, finish);\r
+            return true;\r
+        }\r
+\r
+#ifndef BOOST_LCAST_NO_WCHAR_T\r
+        template<typename CharT, class Base, class Traits>\r
+        inline bool lexical_stream_limited_src<CharT,Base,Traits>::operator>>(\r
+                std::wstring& str)\r
+        {\r
+            str.assign(start, finish);\r
+            return true;\r
+        }\r
+#endif\r
+#endif\r
+    }\r
+\r
+    namespace detail // lcast_streambuf_for_source\r
+    {\r
+        // Returns true if optimized stream wrapper needs ostream for writing.\r
+        template<class Source>\r
+        struct lcast_streambuf_for_source\r
+        {\r
+            BOOST_STATIC_CONSTANT(bool, value = false);\r
+        };\r
+\r
+        template<>\r
+        struct lcast_streambuf_for_source<float>\r
+        {\r
+            BOOST_STATIC_CONSTANT(bool, value = true);\r
+        };\r
\r
+        template<>\r
+        struct lcast_streambuf_for_source<double>\r
+        {\r
+            BOOST_STATIC_CONSTANT(bool, value = true);\r
+        };\r
+  \r
+        template<>\r
+        struct lcast_streambuf_for_source<long double>\r
+        {\r
+            BOOST_STATIC_CONSTANT(bool, value = true);\r
+        };\r
+    }\r
+\r
+    namespace detail // lcast_streambuf_for_target\r
+    {\r
+        // Returns true if optimized stream wrapper needs istream for reading.\r
+        template<class Target>\r
+        struct lcast_streambuf_for_target\r
+        {\r
+            BOOST_STATIC_CONSTANT(bool, value = true);\r
+        };\r
+\r
+        template<>\r
+        struct lcast_streambuf_for_target<char>\r
+        {\r
+            BOOST_STATIC_CONSTANT(bool, value = false);\r
+        };\r
+\r
+#if !defined(BOOST_LCAST_NO_WCHAR_T) && !defined(BOOST_NO_INTRINSIC_WCHAR_T)\r
+        template<>\r
+        struct lcast_streambuf_for_target<wchar_t>\r
+        {\r
+            BOOST_STATIC_CONSTANT(bool, value = false);\r
+        };\r
+#endif\r
+\r
+#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+        template<class Traits, class Alloc>\r
+        struct lcast_streambuf_for_target<\r
+                    std::basic_string<char,Traits,Alloc> >\r
+        {\r
+            BOOST_STATIC_CONSTANT(bool, value = false);\r
+        };\r
+\r
+#ifndef BOOST_LCAST_NO_WCHAR_T\r
+        template<class Traits, class Alloc>\r
+        struct lcast_streambuf_for_target<\r
+                    std::basic_string<wchar_t,Traits,Alloc> >\r
+        {\r
+            BOOST_STATIC_CONSTANT(bool, value = false);\r
+        };\r
+#endif\r
+#else\r
+        template<>\r
+        struct lcast_streambuf_for_target<std::string>\r
+        {\r
+            BOOST_STATIC_CONSTANT(bool, value = false);\r
+        };\r
+\r
+#ifndef BOOST_LCAST_NO_WCHAR_T\r
+        template<>\r
+        struct lcast_streambuf_for_target<std::wstring>\r
+        {\r
+            BOOST_STATIC_CONSTANT(bool, value = false);\r
+        };\r
+#endif\r
+#endif\r
+    }\r
+\r
+    #ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+\r
+    // call-by-const reference version\r
+\r
+    namespace detail\r
+    {\r
+        template<class T>\r
+        struct array_to_pointer_decay\r
+        {\r
+            typedef T type;\r
+        };\r
+\r
+        template<class T, std::size_t N>\r
+        struct array_to_pointer_decay<T[N]>\r
+        {\r
+            typedef const T * type;\r
+        };\r
+\r
+#if (defined _MSC_VER)\r
+# pragma warning( push )\r
+# pragma warning( disable : 4701 ) // possible use of ... before initialization\r
+# pragma warning( disable : 4702 ) // unreachable code\r
+#endif\r
+\r
+        template< typename Target\r
+                , typename Source\r
+                , bool Unlimited // string representation of Source is unlimited\r
+                , typename CharT\r
+                >\r
+        Target lexical_cast(\r
+            BOOST_DEDUCED_TYPENAME boost::call_traits<Source>::param_type arg,\r
+            CharT* buf, std::size_t src_len)\r
+        {\r
+            typedef BOOST_DEDUCED_TYPENAME\r
+                deduce_char_traits<CharT,Target,Source>::type traits;\r
+\r
+            typedef BOOST_DEDUCED_TYPENAME boost::mpl::if_c<\r
+                lcast_streambuf_for_target<Target>::value ||\r
+                lcast_streambuf_for_source<Source>::value\r
+              , std::basic_streambuf<CharT>\r
+              , lexical_streambuf_fake\r
+              >::type base;\r
+\r
+            BOOST_DEDUCED_TYPENAME boost::mpl::if_c<\r
+                Unlimited\r
+              , detail::lexical_stream<Target,Source,traits>\r
+              , detail::lexical_stream_limited_src<CharT,base,traits>\r
+              >::type interpreter(buf, buf + src_len);\r
+\r
+            Target result;\r
+            if(!(interpreter << arg && interpreter >> result))\r
+                BOOST_LCAST_THROW_BAD_CAST(Source, Target);\r
+            return result;\r
+        }\r
+#if (defined _MSC_VER)\r
+# pragma warning( pop )\r
+#endif\r
+    }\r
+\r
+    template<typename Target, typename Source>\r
+    inline Target lexical_cast(const Source &arg)\r
+    {\r
+        typedef typename detail::array_to_pointer_decay<Source>::type src;\r
+\r
+        typedef typename detail::widest_char<\r
+            typename detail::stream_char<Target>::type\r
+          , typename detail::stream_char<src>::type\r
+          >::type char_type;\r
+\r
+        typedef detail::lcast_src_length<char_type, src> lcast_src_length;\r
+        std::size_t const src_len = lcast_src_length::value;\r
+        char_type buf[src_len + 1];\r
+        lcast_src_length::check_coverage();\r
+        return detail::lexical_cast<Target, src, !src_len>(arg, buf, src_len);\r
+    }\r
+\r
+    #else\r
+\r
+    // call-by-value fallback version (deprecated)\r
+\r
+    template<typename Target, typename Source>\r
+    Target lexical_cast(Source arg)\r
+    {\r
+        typedef typename detail::widest_char< \r
+            BOOST_DEDUCED_TYPENAME detail::stream_char<Target>::type \r
+          , BOOST_DEDUCED_TYPENAME detail::stream_char<Source>::type \r
+        >::type char_type; \r
+\r
+        typedef std::char_traits<char_type> traits;\r
+        detail::lexical_stream<Target, Source, traits> interpreter;\r
+        Target result;\r
+\r
+        if(!(interpreter << arg && interpreter >> result))\r
+#ifndef BOOST_NO_TYPEID\r
+            throw_exception(bad_lexical_cast(typeid(Source), typeid(Target)));\r
+#else\r
+            throw_exception(bad_lexical_cast());\r
+#endif\r
+        return result;\r
+    }\r
+\r
+    #endif\r
+}\r
+\r
+// Copyright Kevlin Henney, 2000-2005.\r
+// Copyright Alexander Nasonov, 2006-2007.\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. (See\r
+// accompanying file LICENSE_1_0.txt or copy at\r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+#undef BOOST_LCAST_NO_WCHAR_T\r
+#endif\r
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 (file)
index 0000000..37f7217
--- /dev/null
@@ -0,0 +1,146 @@
+\r
+//  (C) Copyright John maddock 1999. \r
+//  (C) David Abrahams 2002.  Distributed under the Boost\r
+//  Software License, Version 1.0. (See accompanying file\r
+//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// use this header as a workaround for missing <limits>\r
+\r
+//  See http://www.boost.org/libs/compatibility/index.html for documentation.\r
+\r
+#ifndef BOOST_LIMITS\r
+#define BOOST_LIMITS\r
+\r
+#include <boost/config.hpp>\r
+\r
+#ifdef BOOST_NO_LIMITS\r
+# include <boost/detail/limits.hpp>\r
+#else\r
+# include <limits>\r
+#endif\r
+\r
+#if (defined(BOOST_HAS_LONG_LONG) && defined(BOOST_NO_LONG_LONG_NUMERIC_LIMITS)) \\r
+      || (defined(BOOST_HAS_MS_INT64) && defined(BOOST_NO_MS_INT64_NUMERIC_LIMITS))\r
+// Add missing specializations for numeric_limits:\r
+#ifdef BOOST_HAS_MS_INT64\r
+#  define BOOST_LLT __int64\r
+#  define BOOST_ULLT unsigned __int64\r
+#else\r
+#  define BOOST_LLT  ::boost::long_long_type\r
+#  define BOOST_ULLT  ::boost::ulong_long_type\r
+#endif\r
+\r
+#include <climits>  // for CHAR_BIT\r
+\r
+namespace std\r
+{\r
+  template<>\r
+  class numeric_limits<BOOST_LLT> \r
+  {\r
+   public:\r
+\r
+      BOOST_STATIC_CONSTANT(bool, is_specialized = true);\r
+#ifdef BOOST_HAS_MS_INT64\r
+      static BOOST_LLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return 0x8000000000000000i64; }\r
+      static BOOST_LLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return 0x7FFFFFFFFFFFFFFFi64; }\r
+#elif defined(LLONG_MAX)\r
+      static BOOST_LLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return LLONG_MIN; }\r
+      static BOOST_LLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return LLONG_MAX; }\r
+#elif defined(LONGLONG_MAX)\r
+      static BOOST_LLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return LONGLONG_MIN; }\r
+      static BOOST_LLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return LONGLONG_MAX; }\r
+#else\r
+      static BOOST_LLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return 1LL << (sizeof(BOOST_LLT) * CHAR_BIT - 1); }\r
+      static BOOST_LLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return ~(min)(); }\r
+#endif\r
+      BOOST_STATIC_CONSTANT(int, digits = sizeof(BOOST_LLT) * CHAR_BIT -1);\r
+      BOOST_STATIC_CONSTANT(int, digits10 = (CHAR_BIT * sizeof (BOOST_LLT) - 1) * 301L / 1000);\r
+      BOOST_STATIC_CONSTANT(bool, is_signed = true);\r
+      BOOST_STATIC_CONSTANT(bool, is_integer = true);\r
+      BOOST_STATIC_CONSTANT(bool, is_exact = true);\r
+      BOOST_STATIC_CONSTANT(int, radix = 2);\r
+      static BOOST_LLT epsilon() throw() { return 0; };\r
+      static BOOST_LLT round_error() throw() { return 0; };\r
+\r
+      BOOST_STATIC_CONSTANT(int, min_exponent = 0);\r
+      BOOST_STATIC_CONSTANT(int, min_exponent10 = 0);\r
+      BOOST_STATIC_CONSTANT(int, max_exponent = 0);\r
+      BOOST_STATIC_CONSTANT(int, max_exponent10 = 0);\r
+\r
+      BOOST_STATIC_CONSTANT(bool, has_infinity = false);\r
+      BOOST_STATIC_CONSTANT(bool, has_quiet_NaN = false);\r
+      BOOST_STATIC_CONSTANT(bool, has_signaling_NaN = false);\r
+      BOOST_STATIC_CONSTANT(bool, has_denorm = false);\r
+      BOOST_STATIC_CONSTANT(bool, has_denorm_loss = false);\r
+      static BOOST_LLT infinity() throw() { return 0; };\r
+      static BOOST_LLT quiet_NaN() throw() { return 0; };\r
+      static BOOST_LLT signaling_NaN() throw() { return 0; };\r
+      static BOOST_LLT denorm_min() throw() { return 0; };\r
+\r
+      BOOST_STATIC_CONSTANT(bool, is_iec559 = false);\r
+      BOOST_STATIC_CONSTANT(bool, is_bounded = true);\r
+      BOOST_STATIC_CONSTANT(bool, is_modulo = true);\r
+\r
+      BOOST_STATIC_CONSTANT(bool, traps = false);\r
+      BOOST_STATIC_CONSTANT(bool, tinyness_before = false);\r
+      BOOST_STATIC_CONSTANT(float_round_style, round_style = round_toward_zero);\r
+      \r
+  };\r
+\r
+  template<>\r
+  class numeric_limits<BOOST_ULLT> \r
+  {\r
+   public:\r
+\r
+      BOOST_STATIC_CONSTANT(bool, is_specialized = true);\r
+#ifdef BOOST_HAS_MS_INT64\r
+      static BOOST_ULLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return 0ui64; }\r
+      static BOOST_ULLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return 0xFFFFFFFFFFFFFFFFui64; }\r
+#elif defined(ULLONG_MAX) && defined(ULLONG_MIN)\r
+      static BOOST_ULLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return ULLONG_MIN; }\r
+      static BOOST_ULLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return ULLONG_MAX; }\r
+#elif defined(ULONGLONG_MAX) && defined(ULONGLONG_MIN)\r
+      static BOOST_ULLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return ULONGLONG_MIN; }\r
+      static BOOST_ULLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return ULONGLONG_MAX; }\r
+#else\r
+      static BOOST_ULLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return 0uLL; }\r
+      static BOOST_ULLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return ~0uLL; }\r
+#endif\r
+      BOOST_STATIC_CONSTANT(int, digits = sizeof(BOOST_LLT) * CHAR_BIT);\r
+      BOOST_STATIC_CONSTANT(int, digits10 = (CHAR_BIT * sizeof (BOOST_LLT)) * 301L / 1000);\r
+      BOOST_STATIC_CONSTANT(bool, is_signed = false);\r
+      BOOST_STATIC_CONSTANT(bool, is_integer = true);\r
+      BOOST_STATIC_CONSTANT(bool, is_exact = true);\r
+      BOOST_STATIC_CONSTANT(int, radix = 2);\r
+      static BOOST_ULLT epsilon() throw() { return 0; };\r
+      static BOOST_ULLT round_error() throw() { return 0; };\r
+\r
+      BOOST_STATIC_CONSTANT(int, min_exponent = 0);\r
+      BOOST_STATIC_CONSTANT(int, min_exponent10 = 0);\r
+      BOOST_STATIC_CONSTANT(int, max_exponent = 0);\r
+      BOOST_STATIC_CONSTANT(int, max_exponent10 = 0);\r
+\r
+      BOOST_STATIC_CONSTANT(bool, has_infinity = false);\r
+      BOOST_STATIC_CONSTANT(bool, has_quiet_NaN = false);\r
+      BOOST_STATIC_CONSTANT(bool, has_signaling_NaN = false);\r
+      BOOST_STATIC_CONSTANT(bool, has_denorm = false);\r
+      BOOST_STATIC_CONSTANT(bool, has_denorm_loss = false);\r
+      static BOOST_ULLT infinity() throw() { return 0; };\r
+      static BOOST_ULLT quiet_NaN() throw() { return 0; };\r
+      static BOOST_ULLT signaling_NaN() throw() { return 0; };\r
+      static BOOST_ULLT denorm_min() throw() { return 0; };\r
+\r
+      BOOST_STATIC_CONSTANT(bool, is_iec559 = false);\r
+      BOOST_STATIC_CONSTANT(bool, is_bounded = true);\r
+      BOOST_STATIC_CONSTANT(bool, is_modulo = true);\r
+\r
+      BOOST_STATIC_CONSTANT(bool, traps = false);\r
+      BOOST_STATIC_CONSTANT(bool, tinyness_before = false);\r
+      BOOST_STATIC_CONSTANT(float_round_style, round_style = round_toward_zero);\r
+      \r
+  };\r
+}\r
+#endif \r
+\r
+#endif\r
+\r
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 (file)
index 0000000..7f307c7
--- /dev/null
@@ -0,0 +1,24 @@
+#ifndef BOOST_MEM_FN_HPP_INCLUDED\r
+#define BOOST_MEM_FN_HPP_INCLUDED\r
+\r
+// MS compatible compilers support #pragma once\r
+\r
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)\r
+# pragma once\r
+#endif\r
+\r
+//\r
+//  mem_fn.hpp - a generalization of std::mem_fun[_ref]\r
+//\r
+//  Copyright (c) 2009 Peter Dimov\r
+//\r
+//  Distributed under the Boost Software License, Version 1.0.\r
+//  See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt\r
+//\r
+//  See http://www.boost.org/libs/bind/mem_fn.html for documentation.\r
+//\r
+\r
+#include <boost/bind/mem_fn.hpp>\r
+\r
+#endif // #ifndef BOOST_MEM_FN_HPP_INCLUDED\r
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 (file)
index 0000000..1c8bdc6
--- /dev/null
@@ -0,0 +1,53 @@
+#ifndef BOOST_MEMORY_ORDER_HPP_INCLUDED\r
+#define BOOST_MEMORY_ORDER_HPP_INCLUDED\r
+\r
+// MS compatible compilers support #pragma once\r
+\r
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)\r
+# pragma once\r
+#endif\r
+\r
+//  boost/memory_order.hpp\r
+//\r
+//  Defines enum boost::memory_order per the C++0x working draft\r
+//\r
+//  Copyright (c) 2008, 2009 Peter Dimov\r
+//\r
+//  Distributed under the Boost Software License, Version 1.0.\r
+//  See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+\r
+namespace boost\r
+{\r
+\r
+//\r
+// Enum values are chosen so that code that needs to insert\r
+// a trailing fence for acquire semantics can use a single\r
+// test such as:\r
+//\r
+// if( mo & memory_order_acquire ) { ...fence... }\r
+//\r
+// For leading fences one can use:\r
+//\r
+// if( mo & memory_order_release ) { ...fence... }\r
+//\r
+// Architectures such as Alpha that need a fence on consume\r
+// can use:\r
+//\r
+// if( mo & ( memory_order_acquire | memory_order_consume ) ) { ...fence... }\r
+//\r
+\r
+enum memory_order\r
+{\r
+    memory_order_relaxed = 0,\r
+    memory_order_acquire = 1,\r
+    memory_order_release = 2,\r
+    memory_order_acq_rel = 3, // acquire | release\r
+    memory_order_seq_cst = 7, // acq_rel | 4\r
+    memory_order_consume = 8\r
+};\r
+\r
+} // namespace boost\r
+\r
+#endif // #ifndef BOOST_MEMORY_ORDER_HPP_INCLUDED\r
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 (file)
index 0000000..42731c5
--- /dev/null
@@ -0,0 +1,40 @@
+\r
+#ifndef BOOST_MPL_O1_SIZE_HPP_INCLUDED\r
+#define BOOST_MPL_O1_SIZE_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: O1_size.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/O1_size_fwd.hpp>\r
+#include <boost/mpl/sequence_tag.hpp>\r
+#include <boost/mpl/aux_/O1_size_impl.hpp>\r
+#include <boost/mpl/aux_/na_spec.hpp>\r
+#include <boost/mpl/aux_/lambda_support.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+// returns sequence size if it's an O(1) operation; otherwise returns -1\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(Sequence)\r
+    >\r
+struct O1_size\r
+    : O1_size_impl< typename sequence_tag<Sequence>::type >\r
+        ::template apply< Sequence >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(1, O1_size, (Sequence))\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(1, O1_size)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_O1_SIZE_HPP_INCLUDED\r
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 (file)
index 0000000..c6ae231
--- /dev/null
@@ -0,0 +1,24 @@
+\r
+#ifndef BOOST_MPL_O1_SIZE_FWD_HPP_INCLUDED\r
+#define BOOST_MPL_O1_SIZE_FWD_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: O1_size_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template< typename Tag > struct O1_size_impl;\r
+template< typename Sequence > struct O1_size;\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_O1_SIZE_FWD_HPP_INCLUDED\r
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 (file)
index 0000000..1841b52
--- /dev/null
@@ -0,0 +1,39 @@
+\r
+#ifndef BOOST_MPL_ACCUMULATE_HPP_INCLUDED\r
+#define BOOST_MPL_ACCUMULATE_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+// Copyright David Abrahams 2001-2002\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: accumulate.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/fold.hpp>\r
+#include <boost/mpl/aux_/na_spec.hpp>\r
+#include <boost/mpl/aux_/lambda_support.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(Sequence)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(State)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(ForwardOp)\r
+    >\r
+struct accumulate\r
+    : fold<Sequence,State,ForwardOp>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(3,accumulate,(Sequence,State,ForwardOp))\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(3, accumulate)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_ACCUMULATE_HPP_INCLUDED\r
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 (file)
index 0000000..8d9913d
--- /dev/null
@@ -0,0 +1,76 @@
+\r
+#ifndef BOOST_MPL_ADVANCE_HPP_INCLUDED\r
+#define BOOST_MPL_ADVANCE_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: advance.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/advance_fwd.hpp>\r
+#include <boost/mpl/less.hpp>\r
+#include <boost/mpl/negate.hpp>\r
+#include <boost/mpl/long.hpp>\r
+#include <boost/mpl/if.hpp>\r
+#include <boost/mpl/tag.hpp>\r
+#include <boost/mpl/apply_wrap.hpp>\r
+#include <boost/mpl/aux_/advance_forward.hpp>\r
+#include <boost/mpl/aux_/advance_backward.hpp>\r
+#include <boost/mpl/aux_/value_wknd.hpp>\r
+#include <boost/mpl/aux_/na_spec.hpp>\r
+#include <boost/mpl/aux_/nttp_decl.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+// default implementation for forward/bidirectional iterators\r
+template< typename Tag >\r
+struct advance_impl\r
+{\r
+    template< typename Iterator, typename N > struct apply\r
+    {\r
+        typedef typename less< N,long_<0> >::type backward_;\r
+        typedef typename if_< backward_, negate<N>, N >::type offset_;\r
+\r
+        typedef typename if_<\r
+              backward_\r
+            , aux::advance_backward< BOOST_MPL_AUX_VALUE_WKND(offset_)::value >\r
+            , aux::advance_forward< BOOST_MPL_AUX_VALUE_WKND(offset_)::value >\r
+            >::type f_;\r
+\r
+        typedef typename apply_wrap1<f_,Iterator>::type type;\r
+    };\r
+};\r
+\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(Iterator)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N)\r
+    >\r
+struct advance\r
+    : advance_impl< typename tag<Iterator>::type >\r
+        ::template apply<Iterator,N>\r
+{\r
+};\r
+\r
+template<\r
+      typename Iterator\r
+    , BOOST_MPL_AUX_NTTP_DECL(long, N)\r
+    >\r
+struct advance_c\r
+    : advance_impl< typename tag<Iterator>::type >\r
+        ::template apply<Iterator,long_<N> >\r
+{\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(2, advance)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_ADVANCE_HPP_INCLUDED\r
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 (file)
index 0000000..10b3e0c
--- /dev/null
@@ -0,0 +1,28 @@
+\r
+#ifndef BOOST_MPL_ADVANCE_FWD_HPP_INCLUDED\r
+#define BOOST_MPL_ADVANCE_FWD_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: advance_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/aux_/common_name_wknd.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+BOOST_MPL_AUX_COMMON_NAME_WKND(advance)\r
+\r
+template< typename Tag > struct advance_impl;\r
+template< typename Iterator, typename N > struct advance;\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_ADVANCE_FWD_HPP_INCLUDED\r
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 (file)
index 0000000..e801eaa
--- /dev/null
@@ -0,0 +1,21 @@
+\r
+#ifndef BOOST_MPL_ALIAS_HPP_INCLUDED\r
+#define BOOST_MPL_ALIAS_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: alias.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+namespace {\r
+namespace mpl = boost::mpl;\r
+}\r
+\r
+#endif // BOOST_MPL_ALIAS_HPP_INCLUDED\r
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 (file)
index 0000000..21432e9
--- /dev/null
@@ -0,0 +1,39 @@
+\r
+#ifndef BOOST_MPL_ALWAYS_HPP_INCLUDED\r
+#define BOOST_MPL_ALWAYS_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: always.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/aux_/preprocessor/def_params_tail.hpp>\r
+#include <boost/mpl/aux_/na.hpp>\r
+#include <boost/mpl/aux_/arity_spec.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template< typename Value > struct always\r
+{\r
+    template<\r
+          typename T\r
+        BOOST_MPL_PP_NESTED_DEF_PARAMS_TAIL(1, typename T, na)\r
+        >\r
+    struct apply\r
+    {\r
+        typedef Value type;\r
+    };\r
+};\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(1, always)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_ALWAYS_HPP_INCLUDED\r
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 (file)
index 0000000..bda8b63
--- /dev/null
@@ -0,0 +1,60 @@
+\r
+#ifndef BOOST_MPL_AND_HPP_INCLUDED\r
+#define BOOST_MPL_AND_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: and.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/aux_/config/use_preprocessed.hpp>\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \\r
+    && !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+\r
+#   include <boost/mpl/bool.hpp>\r
+#   include <boost/mpl/aux_/nested_type_wknd.hpp>\r
+#   include <boost/mpl/aux_/na_spec.hpp>\r
+#   include <boost/mpl/aux_/lambda_support.hpp>\r
+\r
+// agurt, 19/may/04: workaround a conflict with <iso646.h> header's \r
+// 'or' and 'and' macros, see http://tinyurl.com/3et69; 'defined(and)'\r
+// has to be checked in a separate condition, otherwise GCC complains \r
+// about 'and' being an alternative token\r
+#if defined(_MSC_VER) \r
+#ifndef __GCCXML__\r
+#if defined(and) \r
+#   pragma push_macro("and")\r
+#   undef and\r
+#   define and(x)\r
+#endif\r
+#endif\r
+#endif\r
+\r
+#   define BOOST_MPL_PREPROCESSED_HEADER and.hpp\r
+#   include <boost/mpl/aux_/include_preprocessed.hpp>\r
+\r
+#if defined(_MSC_VER)\r
+#ifndef __GCCXML__\r
+#if defined(and) \r
+#   pragma pop_macro("and")\r
+#endif\r
+#endif\r
+#endif\r
+\r
+#else\r
+\r
+#   define AUX778076_OP_NAME and_\r
+#   define AUX778076_OP_VALUE1 false\r
+#   define AUX778076_OP_VALUE2 true\r
+#   include <boost/mpl/aux_/logical_op.hpp>\r
+\r
+#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS\r
+#endif // BOOST_MPL_AND_HPP_INCLUDED\r
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 (file)
index 0000000..600bdd7
--- /dev/null
@@ -0,0 +1,229 @@
+\r
+#if !defined(BOOST_PP_IS_ITERATING)\r
+\r
+///// header body\r
+\r
+#ifndef BOOST_MPL_APPLY_HPP_INCLUDED\r
+#define BOOST_MPL_APPLY_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: apply.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#if !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+#   include <boost/mpl/apply_fwd.hpp>\r
+#   include <boost/mpl/apply_wrap.hpp>\r
+#   include <boost/mpl/placeholders.hpp>\r
+#   include <boost/mpl/lambda.hpp>\r
+#   include <boost/mpl/aux_/na.hpp>\r
+#   include <boost/mpl/aux_/lambda_support.hpp>\r
+#endif\r
+\r
+#include <boost/mpl/aux_/config/use_preprocessed.hpp>\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \\r
+    && !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+\r
+#   define BOOST_MPL_PREPROCESSED_HEADER apply.hpp\r
+#   include <boost/mpl/aux_/include_preprocessed.hpp>\r
+\r
+#else\r
+\r
+#   include <boost/mpl/limits/arity.hpp>\r
+#   include <boost/mpl/aux_/preprocessor/params.hpp>\r
+#   include <boost/mpl/aux_/preprocessor/default_params.hpp>\r
+#   include <boost/mpl/aux_/preprocessor/partial_spec_params.hpp>\r
+#   include <boost/mpl/aux_/preprocessor/enum.hpp>\r
+#   include <boost/mpl/aux_/config/lambda.hpp>\r
+#   include <boost/mpl/aux_/config/dtp.hpp>\r
+#   include <boost/mpl/aux_/nttp_decl.hpp>\r
+#   include <boost/mpl/aux_/config/eti.hpp>\r
+#   include <boost/mpl/aux_/config/msvc.hpp>\r
+#   include <boost/mpl/aux_/config/workaround.hpp>\r
+\r
+#   include <boost/preprocessor/comma_if.hpp>\r
+#   include <boost/preprocessor/inc.hpp>\r
+#   include <boost/preprocessor/iterate.hpp>\r
+#   include <boost/preprocessor/cat.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+// local macros, #undef-ined at the end of the header\r
+#   define AUX778076_APPLY_PARAMS(param) \\r
+    BOOST_MPL_PP_PARAMS( \\r
+          BOOST_MPL_LIMIT_METAFUNCTION_ARITY \\r
+        , param \\r
+        ) \\r
+    /**/\r
+\r
+#   define AUX778076_APPLY_DEF_PARAMS(param, value) \\r
+    BOOST_MPL_PP_DEFAULT_PARAMS( \\r
+          BOOST_MPL_LIMIT_METAFUNCTION_ARITY \\r
+        , param \\r
+        , value \\r
+        ) \\r
+    /**/\r
+\r
+#   define AUX778076_APPLY_N_PARAMS(n, param) \\r
+    BOOST_MPL_PP_PARAMS(n, param) \\r
+    /**/\r
+\r
+#   define AUX778076_APPLY_N_COMMA_PARAMS(n, param) \\r
+    BOOST_PP_COMMA_IF(n) \\r
+    BOOST_MPL_PP_PARAMS(n, param) \\r
+    /**/\r
+\r
+#   define AUX778076_APPLY_N_PARTIAL_SPEC_PARAMS(n, param, def) \\r
+    BOOST_PP_COMMA_IF(n) \\r
+    BOOST_MPL_PP_PARTIAL_SPEC_PARAMS(n, param, def) \\r
+    /**/\r
+    \r
+#   define AUX778076_APPLY_N_SPEC_PARAMS(n, param) \\r
+    BOOST_MPL_PP_ENUM(BOOST_PP_INC(n), param) \\r
+    /**/\r
+\r
+\r
+#define BOOST_PP_ITERATION_PARAMS_1 \\r
+    (3,(0, BOOST_MPL_LIMIT_METAFUNCTION_ARITY, <boost/mpl/apply.hpp>))\r
+#include BOOST_PP_ITERATE()\r
+\r
+#   if !defined(BOOST_MPL_CFG_NO_APPLY_TEMPLATE)\r
+// real C++ version is already taken care of\r
+#   if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)\r
+\r
+namespace aux {\r
+// apply_count_args\r
+#define AUX778076_COUNT_ARGS_PREFIX apply\r
+#define AUX778076_COUNT_ARGS_DEFAULT na\r
+#define AUX778076_COUNT_ARGS_ARITY BOOST_MPL_LIMIT_METAFUNCTION_ARITY\r
+#include <boost/mpl/aux_/count_args.hpp>\r
+}\r
+\r
+\r
+template<\r
+      typename F, AUX778076_APPLY_DEF_PARAMS(typename T, na)\r
+    >\r
+struct apply\r
+    : aux::apply_chooser< \r
+          aux::apply_count_args< AUX778076_APPLY_PARAMS(T) >::value\r
+        >::template result_< F, AUX778076_APPLY_PARAMS(T) >::type\r
+{\r
+};\r
+\r
+#   endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+#   endif // BOOST_MPL_CFG_NO_APPLY_TEMPLATE\r
+\r
+#   undef AUX778076_APPLY_N_SPEC_PARAMS\r
+#   undef AUX778076_APPLY_N_PARTIAL_SPEC_PARAMS\r
+#   undef AUX778076_APPLY_N_COMMA_PARAMS\r
+#   undef AUX778076_APPLY_N_PARAMS\r
+#   undef AUX778076_APPLY_DEF_PARAMS\r
+#   undef AUX778076_APPLY_PARAMS\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS\r
+#endif // BOOST_MPL_APPLY_HPP_INCLUDED\r
+\r
+///// iteration, depth == 1\r
+\r
+// For gcc 4.4 compatability, we must include the\r
+// BOOST_PP_ITERATION_DEPTH test inside an #else clause.\r
+#else // BOOST_PP_IS_ITERATING\r
+#if BOOST_PP_ITERATION_DEPTH() == 1\r
+\r
+#   define i_ BOOST_PP_FRAME_ITERATION(1)\r
+\r
+template<\r
+      typename F AUX778076_APPLY_N_COMMA_PARAMS(i_, typename T)\r
+    >\r
+struct BOOST_PP_CAT(apply,i_)\r
+#if !BOOST_WORKAROUND(BOOST_MSVC, < 1300)\r
+    : BOOST_PP_CAT(apply_wrap,i_)< \r
+          typename lambda<F>::type\r
+        AUX778076_APPLY_N_COMMA_PARAMS(i_, T)\r
+        >\r
+{\r
+#else\r
+{\r
+    typedef typename BOOST_PP_CAT(apply_wrap,i_)< \r
+          typename lambda<F>::type\r
+        AUX778076_APPLY_N_COMMA_PARAMS(i_, T)\r
+        >::type type;\r
+#endif\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          BOOST_PP_INC(i_)\r
+        , BOOST_PP_CAT(apply,i_)\r
+        , (F AUX778076_APPLY_N_COMMA_PARAMS(i_,T))\r
+        )\r
+};\r
+\r
+\r
+#if defined(BOOST_MPL_CFG_MSVC_ETI_BUG)\r
+/// workaround for ETI bug\r
+template<>\r
+struct BOOST_PP_CAT(apply,i_)<AUX778076_APPLY_N_SPEC_PARAMS(i_, int)>\r
+{\r
+    typedef int type;\r
+};\r
+#endif\r
+\r
+#   if !defined(BOOST_MPL_CFG_NO_APPLY_TEMPLATE)\r
+#   if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)\r
+\r
+#if i_ == BOOST_MPL_LIMIT_METAFUNCTION_ARITY\r
+/// primary template (not a specialization!)\r
+template<\r
+      typename F AUX778076_APPLY_N_COMMA_PARAMS(i_, typename T)\r
+    >\r
+struct apply\r
+    : BOOST_PP_CAT(apply,i_)< F AUX778076_APPLY_N_COMMA_PARAMS(i_, T) >\r
+{\r
+};\r
+#else\r
+template<\r
+      typename F AUX778076_APPLY_N_COMMA_PARAMS(i_, typename T)\r
+    >\r
+struct apply< F AUX778076_APPLY_N_PARTIAL_SPEC_PARAMS(i_, T, na) >\r
+    : BOOST_PP_CAT(apply,i_)< F AUX778076_APPLY_N_COMMA_PARAMS(i_, T) >\r
+{\r
+};\r
+#endif\r
+\r
+#   else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_APPLY_TEMPLATE)\r
+namespace aux {\r
+\r
+template<>\r
+struct apply_chooser<i_>\r
+{\r
+    template<\r
+          typename F, AUX778076_APPLY_PARAMS(typename T)\r
+        >\r
+    struct result_\r
+    {\r
+        typedef BOOST_PP_CAT(apply,i_)<\r
+              F AUX778076_APPLY_N_COMMA_PARAMS(i_, T)\r
+            > type;\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+#endif\r
+\r
+#   endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+#   endif // BOOST_MPL_CFG_NO_APPLY_TEMPLATE\r
+\r
+#   undef i_\r
+\r
+#endif // BOOST_PP_ITERATION_DEPTH()\r
+#endif // BOOST_PP_IS_ITERATING\r
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 (file)
index 0000000..4b30c9a
--- /dev/null
@@ -0,0 +1,107 @@
+\r
+#if !defined(BOOST_PP_IS_ITERATING)\r
+\r
+///// header body\r
+\r
+#ifndef BOOST_MPL_APPLY_FWD_HPP_INCLUDED\r
+#define BOOST_MPL_APPLY_FWD_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: apply_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#if !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+#   include <boost/mpl/aux_/na.hpp>\r
+#endif\r
+\r
+#include <boost/mpl/aux_/config/use_preprocessed.hpp>\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \\r
+    && !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+\r
+#   define BOOST_MPL_PREPROCESSED_HEADER apply_fwd.hpp\r
+#   include <boost/mpl/aux_/include_preprocessed.hpp>\r
+\r
+#else\r
+\r
+#   include <boost/mpl/limits/arity.hpp>\r
+#   include <boost/mpl/aux_/preprocessor/params.hpp>\r
+#   include <boost/mpl/aux_/preprocessor/default_params.hpp>\r
+#   include <boost/mpl/aux_/config/ctps.hpp>\r
+#   include <boost/mpl/aux_/nttp_decl.hpp>\r
+\r
+#   include <boost/preprocessor/comma_if.hpp>\r
+#   include <boost/preprocessor/iterate.hpp>\r
+#   include <boost/preprocessor/cat.hpp>\r
+\r
+// agurt, 15/jan/02: top-level 'apply' template gives an ICE on MSVC\r
+// (for known reasons)\r
+#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)\r
+#   define BOOST_MPL_CFG_NO_APPLY_TEMPLATE\r
+#endif\r
+\r
+namespace boost { namespace mpl {\r
+\r
+// local macro, #undef-ined at the end of the header\r
+#   define AUX778076_APPLY_DEF_PARAMS(param, value) \\r
+    BOOST_MPL_PP_DEFAULT_PARAMS( \\r
+          BOOST_MPL_LIMIT_METAFUNCTION_ARITY \\r
+        , param \\r
+        , value \\r
+        ) \\r
+    /**/\r
+\r
+#   define AUX778076_APPLY_N_COMMA_PARAMS(n, param) \\r
+    BOOST_PP_COMMA_IF(n) \\r
+    BOOST_MPL_PP_PARAMS(n, param) \\r
+    /**/\r
+\r
+#   if !defined(BOOST_MPL_CFG_NO_APPLY_TEMPLATE)\r
+\r
+#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)\r
+// forward declaration\r
+template<\r
+      typename F, AUX778076_APPLY_DEF_PARAMS(typename T, na)\r
+    >\r
+struct apply;\r
+#else\r
+namespace aux {\r
+template< BOOST_AUX_NTTP_DECL(int, arity_) > struct apply_chooser;\r
+}\r
+#endif\r
+\r
+#   endif // BOOST_MPL_CFG_NO_APPLY_TEMPLATE\r
+\r
+#define BOOST_PP_ITERATION_PARAMS_1 \\r
+    (3,(0, BOOST_MPL_LIMIT_METAFUNCTION_ARITY, <boost/mpl/apply_fwd.hpp>))\r
+#include BOOST_PP_ITERATE()\r
+\r
+\r
+#   undef AUX778076_APPLY_N_COMMA_PARAMS\r
+#   undef AUX778076_APPLY_DEF_PARAMS\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS\r
+#endif // BOOST_MPL_APPLY_FWD_HPP_INCLUDED\r
+\r
+///// iteration\r
+\r
+#else\r
+#define i_ BOOST_PP_FRAME_ITERATION(1)\r
+\r
+template<\r
+      typename F AUX778076_APPLY_N_COMMA_PARAMS(i_, typename T)\r
+    >\r
+struct BOOST_PP_CAT(apply,i_);\r
+\r
+#undef i_\r
+#endif // BOOST_PP_IS_ITERATING\r
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 (file)
index 0000000..6afd6cd
--- /dev/null
@@ -0,0 +1,234 @@
+\r
+#if !defined(BOOST_PP_IS_ITERATING)\r
+\r
+///// header body\r
+\r
+#ifndef BOOST_MPL_APPLY_WRAP_HPP_INCLUDED\r
+#define BOOST_MPL_APPLY_WRAP_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2008\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: apply_wrap.hpp 49272 2008-10-11 06:50:46Z agurtovoy $\r
+// $Date: 2008-10-11 02:50:46 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49272 $\r
+\r
+#if !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+#   include <boost/mpl/aux_/arity.hpp>\r
+#   include <boost/mpl/aux_/has_apply.hpp>\r
+#   include <boost/mpl/aux_/na.hpp>\r
+#   include <boost/mpl/aux_/msvc_never_true.hpp>\r
+#endif\r
+\r
+#include <boost/mpl/aux_/config/use_preprocessed.hpp>\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \\r
+    && !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+\r
+#   define BOOST_MPL_PREPROCESSED_HEADER apply_wrap.hpp\r
+#   include <boost/mpl/aux_/include_preprocessed.hpp>\r
+\r
+#else\r
+\r
+#   include <boost/mpl/limits/arity.hpp>\r
+#   include <boost/mpl/aux_/preprocessor/params.hpp>\r
+#   include <boost/mpl/aux_/preprocessor/enum.hpp>\r
+#   include <boost/mpl/aux_/preprocessor/add.hpp>\r
+#   include <boost/mpl/aux_/config/bcc.hpp>\r
+#   include <boost/mpl/aux_/config/ctps.hpp>\r
+#   include <boost/mpl/aux_/config/dtp.hpp>\r
+#   include <boost/mpl/aux_/config/eti.hpp>\r
+#   include <boost/mpl/aux_/config/msvc.hpp>\r
+#   include <boost/mpl/aux_/config/workaround.hpp>\r
+\r
+#   include <boost/preprocessor/comma_if.hpp>\r
+#   include <boost/preprocessor/logical/and.hpp>\r
+#   include <boost/preprocessor/inc.hpp>\r
+#   include <boost/preprocessor/iterate.hpp>\r
+\r
+\r
+namespace boost { namespace mpl {\r
+\r
+// local macros, #undef-ined at the end of the header\r
+#   define AUX778076_APPLY_WRAP_PARAMS(n, param) \\r
+    BOOST_MPL_PP_PARAMS(n, param) \\r
+    /**/\r
+\r
+#   define AUX778076_APPLY_WRAP_SPEC_PARAMS(n, param) \\r
+    BOOST_MPL_PP_ENUM(BOOST_PP_INC(n), param) \\r
+    /**/\r
+\r
+\r
+#define BOOST_PP_ITERATION_PARAMS_1 \\r
+    (3,(0, BOOST_MPL_LIMIT_METAFUNCTION_ARITY, <boost/mpl/apply_wrap.hpp>))\r
+#include BOOST_PP_ITERATE()\r
+\r
+\r
+#   undef AUX778076_APPLY_WRAP_SPEC_PARAMS\r
+#   undef AUX778076_APPLY_WRAP_PARAMS\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS\r
+#endif // BOOST_MPL_APPLY_WRAP_HPP_INCLUDED\r
+\r
+///// iteration, depth == 1\r
+\r
+// For gcc 4.4 compatability, we must include the\r
+// BOOST_PP_ITERATION_DEPTH test inside an #else clause.\r
+#else // BOOST_PP_IS_ITERATING\r
+#if BOOST_PP_ITERATION_DEPTH() == 1\r
+\r
+#   define i_ BOOST_PP_FRAME_ITERATION(1)\r
+\r
+#   if BOOST_WORKAROUND(BOOST_MSVC, < 1300)\r
+// MSVC version\r
+\r
+#define AUX778076_MSVC_DTW_NAME BOOST_PP_CAT(msvc_apply,i_)\r
+#define AUX778076_MSVC_DTW_ORIGINAL_NAME apply\r
+#define AUX778076_MSVC_DTW_ARITY i_\r
+#include <boost/mpl/aux_/msvc_dtw.hpp>\r
+\r
+template<\r
+      typename F BOOST_PP_COMMA_IF(i_) AUX778076_APPLY_WRAP_PARAMS(i_, typename T)\r
+    >\r
+struct BOOST_PP_CAT(apply_wrap,i_)\r
+{\r
+    // Metafunction forwarding confuses vc6\r
+    typedef typename BOOST_PP_CAT(msvc_apply,i_)<F>::template result_<\r
+          AUX778076_APPLY_WRAP_PARAMS(i_, T)\r
+        >::type type;\r
+};\r
+\r
+#   elif defined(BOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES)\r
+// MWCW/Borland version\r
+\r
+template<\r
+      int N, typename F BOOST_PP_COMMA_IF(i_) AUX778076_APPLY_WRAP_PARAMS(i_, typename T)\r
+    >\r
+struct BOOST_PP_CAT(apply_wrap_impl,i_);\r
+\r
+#define BOOST_PP_ITERATION_PARAMS_2 \\r
+    (3,(0, BOOST_MPL_LIMIT_METAFUNCTION_ARITY - i_, <boost/mpl/apply_wrap.hpp>))\r
+#include BOOST_PP_ITERATE()\r
+\r
+template<\r
+      typename F BOOST_PP_COMMA_IF(i_) AUX778076_APPLY_WRAP_PARAMS(i_, typename T)\r
+    >\r
+struct BOOST_PP_CAT(apply_wrap,i_)\r
+    : BOOST_PP_CAT(apply_wrap_impl,i_)<\r
+          ::boost::mpl::aux::arity<F,i_>::value\r
+        , F\r
+        BOOST_PP_COMMA_IF(i_) AUX778076_APPLY_WRAP_PARAMS(i_, T)\r
+        >::type\r
+{\r
+};\r
+\r
+#   else\r
+// ISO98 C++, with minor concession to vc7\r
+\r
+template<\r
+      typename F BOOST_PP_COMMA_IF(i_) AUX778076_APPLY_WRAP_PARAMS(i_, typename T)\r
+#if i_ == 0\r
+    , typename has_apply_ = typename aux::has_apply<F>::type\r
+#endif\r
+    >\r
+struct BOOST_PP_CAT(apply_wrap,i_)\r
+// metafunction forwarding confuses MSVC 7.0\r
+#if !BOOST_WORKAROUND(BOOST_MSVC, == 1300)\r
+    : F::template apply< AUX778076_APPLY_WRAP_PARAMS(i_, T) >\r
+{\r
+#else\r
+{    \r
+    typedef typename F::template apply<\r
+         AUX778076_APPLY_WRAP_PARAMS(i_, T)\r
+        >::type type;\r
+#endif\r
+};\r
+\r
+#if i_ == 0 && !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)\r
+template< typename F >\r
+struct BOOST_PP_CAT(apply_wrap,i_)<F,true_>\r
+    : F::apply\r
+{\r
+};\r
+#endif\r
+\r
+#   endif // workarounds\r
+\r
+#if defined(BOOST_MPL_CFG_MSVC_ETI_BUG)\r
+/// workaround for ETI bug\r
+template<>\r
+struct BOOST_PP_CAT(apply_wrap,i_)<AUX778076_APPLY_WRAP_SPEC_PARAMS(i_, int)>\r
+{\r
+    typedef int type;\r
+};\r
+#endif\r
+\r
+#   undef i_\r
+\r
+///// iteration, depth == 2\r
+\r
+#elif BOOST_PP_ITERATION_DEPTH() == 2\r
+\r
+#   define j_ BOOST_PP_FRAME_ITERATION(2)\r
+\r
+#if i_ == 0 && j_ == 0 \\r
+    && defined(BOOST_MPL_CFG_BCC590_WORKAROUNDS) \\r
+    && !defined(BOOST_MPL_CFG_NO_HAS_APPLY)\r
+\r
+template< typename F, bool F_has_apply >\r
+struct apply_wrap_impl0_bcb {\r
+    typedef typename F::template apply< na > type;\r
+};\r
+\r
+template< typename F >\r
+struct apply_wrap_impl0_bcb< F, true > {\r
+    typedef typename F::apply type;\r
+};\r
+\r
+template<\r
+      typename F BOOST_PP_COMMA_IF(i_) AUX778076_APPLY_WRAP_PARAMS(i_, typename T)\r
+    >\r
+struct BOOST_PP_CAT(apply_wrap_impl,i_)<\r
+          BOOST_MPL_PP_ADD(i_, j_)\r
+        , F\r
+        BOOST_PP_COMMA_IF(i_) AUX778076_APPLY_WRAP_PARAMS(i_, T)\r
+        >\r
+{\r
+    typedef apply_wrap_impl0_bcb< F, aux::has_apply< F >::value >::type type;\r
+};\r
+#else\r
+\r
+template<\r
+      typename F BOOST_PP_COMMA_IF(i_) AUX778076_APPLY_WRAP_PARAMS(i_, typename T)\r
+    >\r
+struct BOOST_PP_CAT(apply_wrap_impl,i_)<\r
+          BOOST_MPL_PP_ADD(i_, j_)\r
+        , F\r
+        BOOST_PP_COMMA_IF(i_) AUX778076_APPLY_WRAP_PARAMS(i_, T)\r
+        >\r
+{\r
+    typedef typename F::template apply<\r
+          AUX778076_APPLY_WRAP_PARAMS(i_, T)\r
+#if i_ == 0 && j_ == 0\r
+/// since the defaults are "lost", we have to pass *something* even for nullary\r
+/// metafunction classes\r
+        na\r
+#else\r
+        BOOST_PP_COMMA_IF(BOOST_PP_AND(i_, j_)) BOOST_MPL_PP_ENUM(j_, na)\r
+#endif\r
+        > type;\r
+};\r
+\r
+#endif\r
+\r
+#   undef j_\r
+\r
+#endif // BOOST_PP_ITERATION_DEPTH()\r
+#endif // BOOST_PP_IS_ITERATING\r
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 (file)
index 0000000..79b8a43
--- /dev/null
@@ -0,0 +1,131 @@
+\r
+#if !defined(BOOST_PP_IS_ITERATING)\r
+\r
+///// header body\r
+\r
+#ifndef BOOST_MPL_ARG_HPP_INCLUDED\r
+#define BOOST_MPL_ARG_HPP_INCLUDED\r
+\r
+// Copyright Peter Dimov 2001-2002\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: arg.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#if !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+#   include <boost/mpl/arg_fwd.hpp>\r
+#   include <boost/mpl/aux_/na.hpp>\r
+#   include <boost/mpl/aux_/na_assert.hpp>\r
+#   include <boost/mpl/aux_/arity_spec.hpp>\r
+#   include <boost/mpl/aux_/arg_typedef.hpp>\r
+#endif\r
+\r
+#include <boost/mpl/aux_/config/static_constant.hpp>\r
+#include <boost/mpl/aux_/config/use_preprocessed.hpp>\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \\r
+    && !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+\r
+#   define BOOST_MPL_PREPROCESSED_HEADER arg.hpp\r
+#   include <boost/mpl/aux_/include_preprocessed.hpp>\r
+\r
+#else\r
+\r
+#   include <boost/mpl/limits/arity.hpp>\r
+#   include <boost/mpl/aux_/preprocessor/default_params.hpp>\r
+#   include <boost/mpl/aux_/preprocessor/params.hpp>\r
+#   include <boost/mpl/aux_/config/lambda.hpp>\r
+#   include <boost/mpl/aux_/config/dtp.hpp>\r
+#   include <boost/mpl/aux_/nttp_decl.hpp>\r
+\r
+#   include <boost/preprocessor/iterate.hpp>\r
+#   include <boost/preprocessor/inc.hpp>\r
+#   include <boost/preprocessor/cat.hpp>\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+\r
+// local macro, #undef-ined at the end of the header\r
+#if !defined(BOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES)\r
+#   define AUX778076_ARG_N_DEFAULT_PARAMS(param,value) \\r
+    BOOST_MPL_PP_DEFAULT_PARAMS( \\r
+          BOOST_MPL_LIMIT_METAFUNCTION_ARITY \\r
+        , param \\r
+        , value \\r
+        ) \\r
+    /**/\r
+#else\r
+#   define AUX778076_ARG_N_DEFAULT_PARAMS(param,value) \\r
+    BOOST_MPL_PP_PARAMS( \\r
+          BOOST_MPL_LIMIT_METAFUNCTION_ARITY \\r
+        , param \\r
+        ) \\r
+    /**/\r
+#endif\r
+\r
+#define BOOST_PP_ITERATION_PARAMS_1 \\r
+    (3,(0, BOOST_MPL_LIMIT_METAFUNCTION_ARITY, <boost/mpl/arg.hpp>))\r
+#include BOOST_PP_ITERATE()\r
+\r
+\r
+#   undef AUX778076_ARG_N_DEFAULT_PARAMS\r
+\r
+BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int,arg)\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+\r
+#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS\r
+#endif // BOOST_MPL_ARG_HPP_INCLUDED\r
+\r
+///// iteration\r
+\r
+#else\r
+#define i_ BOOST_PP_FRAME_ITERATION(1)\r
+\r
+#if i_ > 0\r
+\r
+template<> struct arg<i_>\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value = i_);\r
+    typedef arg<BOOST_PP_INC(i_)> next;\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)\r
+\r
+    template<\r
+          AUX778076_ARG_N_DEFAULT_PARAMS(typename U, na)\r
+        >\r
+    struct apply\r
+    {\r
+        typedef BOOST_PP_CAT(U,i_) type;\r
+        BOOST_MPL_AUX_ASSERT_NOT_NA(type);\r
+    };\r
+};\r
+\r
+#else\r
+\r
+template<> struct arg<-1>\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value = -1);\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)\r
+\r
+    template<\r
+          AUX778076_ARG_N_DEFAULT_PARAMS(typename U, na)\r
+        >\r
+    struct apply\r
+    {\r
+        typedef U1 type;\r
+        BOOST_MPL_AUX_ASSERT_NOT_NA(type);\r
+    };\r
+};\r
+\r
+#endif // i_ > 0\r
+\r
+#undef i_\r
+#endif // BOOST_PP_IS_ITERATING\r
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 (file)
index 0000000..8fae048
--- /dev/null
@@ -0,0 +1,28 @@
+\r
+#ifndef BOOST_MPL_ARG_FWD_HPP_INCLUDED\r
+#define BOOST_MPL_ARG_FWD_HPP_INCLUDED\r
+\r
+// Copyright Peter Dimov 2001-2002\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: arg_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/aux_/adl_barrier.hpp>\r
+#include <boost/mpl/aux_/nttp_decl.hpp>\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+\r
+template< BOOST_MPL_AUX_NTTP_DECL(int, N) > struct arg;\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+BOOST_MPL_AUX_ADL_BARRIER_DECL(arg)\r
+\r
+#endif // BOOST_MPL_ARG_FWD_HPP_INCLUDED\r
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 (file)
index 0000000..835b6d8
--- /dev/null
@@ -0,0 +1,25 @@
+\r
+#ifndef BOOST_MPL_ARITHMETIC_HPP_INCLUDED\r
+#define BOOST_MPL_ARITHMETIC_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: arithmetic.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/plus.hpp>\r
+#include <boost/mpl/minus.hpp>\r
+#include <boost/mpl/times.hpp>\r
+#include <boost/mpl/divides.hpp>\r
+#include <boost/mpl/modulus.hpp>\r
+#include <boost/mpl/negate.hpp>\r
+#include <boost/mpl/multiplies.hpp> // deprecated\r
+\r
+#endif // BOOST_MPL_ARITHMETIC_HPP_INCLUDED\r
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 (file)
index 0000000..04856a0
--- /dev/null
@@ -0,0 +1,38 @@
+\r
+#ifndef BOOST_MPL_AS_SEQUENCE_HPP_INCLUDED\r
+#define BOOST_MPL_AS_SEQUENCE_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2002-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: as_sequence.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/is_sequence.hpp>\r
+#include <boost/mpl/single_view.hpp>\r
+#include <boost/mpl/if.hpp>\r
+#include <boost/mpl/aux_/na_spec.hpp>\r
+#include <boost/mpl/aux_/lambda_support.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(T)\r
+    >\r
+struct as_sequence\r
+    : if_< is_sequence<T>, T, single_view<T> >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,as_sequence,(T))\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC_NO_ETI(1, as_sequence)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_AS_SEQUENCE_HPP_INCLUDED\r
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 (file)
index 0000000..a20b232
--- /dev/null
@@ -0,0 +1,370 @@
+\r
+#ifndef BOOST_MPL_ASSERT_HPP_INCLUDED\r
+#define BOOST_MPL_ASSERT_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2006\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: assert.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/not.hpp>\r
+#include <boost/mpl/aux_/value_wknd.hpp>\r
+#include <boost/mpl/aux_/nested_type_wknd.hpp>\r
+#include <boost/mpl/aux_/yes_no.hpp>\r
+#include <boost/mpl/aux_/na.hpp>\r
+#include <boost/mpl/aux_/adl_barrier.hpp>\r
+\r
+#include <boost/mpl/aux_/config/nttp.hpp>\r
+#include <boost/mpl/aux_/config/dtp.hpp>\r
+#include <boost/mpl/aux_/config/gcc.hpp>\r
+#include <boost/mpl/aux_/config/msvc.hpp>\r
+#include <boost/mpl/aux_/config/static_constant.hpp>\r
+#include <boost/mpl/aux_/config/pp_counter.hpp>\r
+#include <boost/mpl/aux_/config/workaround.hpp>\r
+\r
+#include <boost/preprocessor/cat.hpp>\r
+\r
+#include <boost/config.hpp> // make sure 'size_t' is placed into 'std'\r
+#include <cstddef>\r
+\r
+\r
+#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) \\r
+    || (BOOST_MPL_CFG_GCC != 0) \\r
+    || BOOST_WORKAROUND(__IBMCPP__, <= 600)\r
+#   define BOOST_MPL_CFG_ASSERT_USE_RELATION_NAMES\r
+#endif\r
+\r
+#if BOOST_WORKAROUND(__MWERKS__, < 0x3202) \\r
+    || BOOST_WORKAROUND(__EDG_VERSION__, <= 238) \\r
+    || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) \\r
+    || BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840))\r
+#   define BOOST_MPL_CFG_ASSERT_BROKEN_POINTER_TO_POINTER_TO_MEMBER\r
+#endif\r
+\r
+// agurt, 10/nov/06: use enums for Borland (which cannot cope with static constants) \r
+// and GCC (which issues "unused variable" warnings when static constants are used \r
+// at a function scope)\r
+#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) \\r
+    || (BOOST_MPL_CFG_GCC != 0)\r
+#   define BOOST_MPL_AUX_ASSERT_CONSTANT(T, expr) enum { expr }\r
+#else\r
+#   define BOOST_MPL_AUX_ASSERT_CONSTANT(T, expr) BOOST_STATIC_CONSTANT(T, expr)\r
+#endif\r
+\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+\r
+struct failed {};\r
+\r
+// agurt, 24/aug/04: MSVC 7.1 workaround here and below: return/accept \r
+// 'assert<false>' by reference; can't apply it unconditionally -- apparently it\r
+// degrades the quality of GCC diagnostics\r
+#if BOOST_WORKAROUND(BOOST_MSVC, == 1310)\r
+#   define AUX778076_ASSERT_ARG(x) x&\r
+#else\r
+#   define AUX778076_ASSERT_ARG(x) x\r
+#endif\r
+\r
+template< bool C >  struct assert        { typedef void* type; };\r
+template<>          struct assert<false> { typedef AUX778076_ASSERT_ARG(assert) type; };\r
+\r
+template< bool C >\r
+int assertion_failed( typename assert<C>::type );\r
+\r
+template< bool C >\r
+struct assertion\r
+{\r
+    static int failed( assert<false> );\r
+};\r
+\r
+template<>\r
+struct assertion<true>\r
+{\r
+    static int failed( void* );\r
+};\r
+\r
+struct assert_\r
+{\r
+#if !defined(BOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES)\r
+    template< typename T1, typename T2 = na, typename T3 = na, typename T4 = na > struct types {};\r
+#endif\r
+    static assert_ const arg;\r
+    enum relations { equal = 1, not_equal, greater, greater_equal, less, less_equal };\r
+};\r
+\r
+\r
+#if !defined(BOOST_MPL_CFG_ASSERT_USE_RELATION_NAMES)\r
+\r
+bool operator==( failed, failed );\r
+bool operator!=( failed, failed );\r
+bool operator>( failed, failed );\r
+bool operator>=( failed, failed );\r
+bool operator<( failed, failed );\r
+bool operator<=( failed, failed );\r
+\r
+#if defined(__EDG_VERSION__)\r
+template< bool (*)(failed, failed), long x, long y > struct assert_relation {};\r
+#   define BOOST_MPL_AUX_ASSERT_RELATION(x, y, r) assert_relation<r,x,y>\r
+#else\r
+template< BOOST_MPL_AUX_NTTP_DECL(long, x), BOOST_MPL_AUX_NTTP_DECL(long, y), bool (*)(failed, failed) > \r
+struct assert_relation {};\r
+#   define BOOST_MPL_AUX_ASSERT_RELATION(x, y, r) assert_relation<x,y,r>\r
+#endif\r
+\r
+#else // BOOST_MPL_CFG_ASSERT_USE_RELATION_NAMES\r
+\r
+boost::mpl::aux::weighted_tag<1>::type operator==( assert_, assert_ );\r
+boost::mpl::aux::weighted_tag<2>::type operator!=( assert_, assert_ );\r
+boost::mpl::aux::weighted_tag<3>::type operator>(  assert_, assert_ );\r
+boost::mpl::aux::weighted_tag<4>::type operator>=( assert_, assert_ );\r
+boost::mpl::aux::weighted_tag<5>::type operator<( assert_, assert_ );\r
+boost::mpl::aux::weighted_tag<6>::type operator<=( assert_, assert_ );\r
+\r
+template< assert_::relations r, long x, long y > struct assert_relation {};\r
+\r
+#endif \r
+\r
+\r
+#if !defined(BOOST_MPL_CFG_ASSERT_BROKEN_POINTER_TO_POINTER_TO_MEMBER)\r
+\r
+template< bool > struct assert_arg_pred_impl { typedef int type; };\r
+template<> struct assert_arg_pred_impl<true> { typedef void* type; };\r
+\r
+template< typename P > struct assert_arg_pred\r
+{\r
+    typedef typename P::type p_type;\r
+    typedef typename assert_arg_pred_impl< p_type::value >::type type;\r
+};\r
+\r
+template< typename P > struct assert_arg_pred_not\r
+{\r
+    typedef typename P::type p_type;\r
+    BOOST_MPL_AUX_ASSERT_CONSTANT( bool, p = !p_type::value );\r
+    typedef typename assert_arg_pred_impl<p>::type type;\r
+};\r
+\r
+template< typename Pred >\r
+failed ************ (Pred::************ \r
+      assert_arg( void (*)(Pred), typename assert_arg_pred<Pred>::type )\r
+    );\r
+\r
+template< typename Pred >\r
+failed ************ (boost::mpl::not_<Pred>::************ \r
+      assert_not_arg( void (*)(Pred), typename assert_arg_pred_not<Pred>::type )\r
+    );\r
+\r
+template< typename Pred >\r
+AUX778076_ASSERT_ARG(assert<false>)\r
+assert_arg( void (*)(Pred), typename assert_arg_pred_not<Pred>::type );\r
+\r
+template< typename Pred >\r
+AUX778076_ASSERT_ARG(assert<false>)\r
+assert_not_arg( void (*)(Pred), typename assert_arg_pred<Pred>::type );\r
+\r
+\r
+#else // BOOST_MPL_CFG_ASSERT_BROKEN_POINTER_TO_POINTER_TO_MEMBER\r
+        \r
+template< bool c, typename Pred > struct assert_arg_type_impl\r
+{\r
+    typedef failed      ************ Pred::* mwcw83_wknd;\r
+    typedef mwcw83_wknd ************* type;\r
+};\r
+\r
+template< typename Pred > struct assert_arg_type_impl<true,Pred>\r
+{\r
+    typedef AUX778076_ASSERT_ARG(assert<false>) type;\r
+};\r
+\r
+template< typename Pred > struct assert_arg_type\r
+    : assert_arg_type_impl< BOOST_MPL_AUX_VALUE_WKND(BOOST_MPL_AUX_NESTED_TYPE_WKND(Pred))::value, Pred >\r
+{\r
+};\r
+\r
+template< typename Pred >\r
+typename assert_arg_type<Pred>::type \r
+assert_arg(void (*)(Pred), int);\r
+\r
+template< typename Pred >\r
+typename assert_arg_type< boost::mpl::not_<Pred> >::type \r
+assert_not_arg(void (*)(Pred), int);\r
+\r
+#   if !defined(BOOST_MPL_CFG_ASSERT_USE_RELATION_NAMES)\r
+template< long x, long y, bool (*r)(failed, failed) >\r
+typename assert_arg_type_impl< false,BOOST_MPL_AUX_ASSERT_RELATION(x,y,r) >::type\r
+assert_rel_arg( BOOST_MPL_AUX_ASSERT_RELATION(x,y,r) );\r
+#   else\r
+template< assert_::relations r, long x, long y >\r
+typename assert_arg_type_impl< false,assert_relation<r,x,y> >::type\r
+assert_rel_arg( assert_relation<r,x,y> );\r
+#   endif\r
+\r
+#endif // BOOST_MPL_CFG_ASSERT_BROKEN_POINTER_TO_POINTER_TO_MEMBER\r
+\r
+#undef AUX778076_ASSERT_ARG\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+\r
+\r
+// BOOST_MPL_ASSERT((pred<x,...>))\r
+\r
+#define BOOST_MPL_ASSERT(pred) \\r
+BOOST_MPL_AUX_ASSERT_CONSTANT( \\r
+      std::size_t \\r
+    , BOOST_PP_CAT(mpl_assertion_in_line_,BOOST_MPL_AUX_PP_COUNTER()) = sizeof( \\r
+          boost::mpl::assertion_failed<false>( \\r
+              boost::mpl::assert_arg( (void (*) pred)0, 1 ) \\r
+            ) \\r
+        ) \\r
+    ) \\r
+/**/\r
+\r
+// BOOST_MPL_ASSERT_NOT((pred<x,...>))\r
+\r
+#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)\r
+#   define BOOST_MPL_ASSERT_NOT(pred) \\r
+enum { \\r
+      BOOST_PP_CAT(mpl_assertion_in_line_,BOOST_MPL_AUX_PP_COUNTER()) = sizeof( \\r
+          boost::mpl::assertion<false>::failed( \\r
+              boost::mpl::assert_not_arg( (void (*) pred)0, 1 ) \\r
+            ) \\r
+        ) \\r
+}\\r
+/**/\r
+#else\r
+#   define BOOST_MPL_ASSERT_NOT(pred) \\r
+BOOST_MPL_AUX_ASSERT_CONSTANT( \\r
+      std::size_t \\r
+    , BOOST_PP_CAT(mpl_assertion_in_line_,BOOST_MPL_AUX_PP_COUNTER()) = sizeof( \\r
+          boost::mpl::assertion_failed<false>( \\r
+              boost::mpl::assert_not_arg( (void (*) pred)0, 1 ) \\r
+            ) \\r
+        ) \\r
+   ) \\r
+/**/\r
+#endif\r
+\r
+// BOOST_MPL_ASSERT_RELATION(x, ==|!=|<=|<|>=|>, y)\r
+\r
+#if defined(BOOST_MPL_CFG_ASSERT_USE_RELATION_NAMES)\r
+\r
+#   if !defined(BOOST_MPL_CFG_ASSERT_BROKEN_POINTER_TO_POINTER_TO_MEMBER)\r
+// agurt, 9/nov/06: 'enum' below is a workaround for gcc 4.0.4/4.1.1 bugs #29522 and #29518\r
+#   define BOOST_MPL_ASSERT_RELATION_IMPL(counter, x, rel, y)      \\r
+enum { BOOST_PP_CAT(mpl_assert_rel_value,counter) = (x rel y) }; \\r
+BOOST_MPL_AUX_ASSERT_CONSTANT( \\r
+      std::size_t \\r
+    , BOOST_PP_CAT(mpl_assertion_in_line_,counter) = sizeof( \\r
+        boost::mpl::assertion_failed<BOOST_PP_CAT(mpl_assert_rel_value,counter)>( \\r
+            (boost::mpl::failed ************ ( boost::mpl::assert_relation< \\r
+                  boost::mpl::assert_::relations( sizeof( \\r
+                      boost::mpl::assert_::arg rel boost::mpl::assert_::arg \\r
+                    ) ) \\r
+                , x \\r
+                , y \\r
+                >::************)) 0 ) \\r
+        ) \\r
+    ) \\r
+/**/\r
+#   else\r
+#   define BOOST_MPL_ASSERT_RELATION_IMPL(counter, x, rel, y)    \\r
+BOOST_MPL_AUX_ASSERT_CONSTANT( \\r
+      std::size_t \\r
+    , BOOST_PP_CAT(mpl_assert_rel,counter) = sizeof( \\r
+          boost::mpl::assert_::arg rel boost::mpl::assert_::arg \\r
+        ) \\r
+    ); \\r
+BOOST_MPL_AUX_ASSERT_CONSTANT( bool, BOOST_PP_CAT(mpl_assert_rel_value,counter) = (x rel y) ); \\r
+BOOST_MPL_AUX_ASSERT_CONSTANT( \\r
+      std::size_t \\r
+    , BOOST_PP_CAT(mpl_assertion_in_line_,counter) = sizeof( \\r
+        boost::mpl::assertion_failed<BOOST_PP_CAT(mpl_assert_rel_value,counter)>( \\r
+              boost::mpl::assert_rel_arg( boost::mpl::assert_relation< \\r
+                  boost::mpl::assert_::relations(BOOST_PP_CAT(mpl_assert_rel,counter)) \\r
+                , x \\r
+                , y \\r
+                >() ) \\r
+            ) \\r
+        ) \\r
+    ) \\r
+/**/\r
+#   endif\r
+\r
+#   define BOOST_MPL_ASSERT_RELATION(x, rel, y) \\r
+BOOST_MPL_ASSERT_RELATION_IMPL(BOOST_MPL_AUX_PP_COUNTER(), x, rel, y) \\r
+/**/\r
+\r
+#else // !BOOST_MPL_CFG_ASSERT_USE_RELATION_NAMES\r
+\r
+#   if defined(BOOST_MPL_CFG_ASSERT_BROKEN_POINTER_TO_POINTER_TO_MEMBER)\r
+#   define BOOST_MPL_ASSERT_RELATION(x, rel, y) \\r
+BOOST_MPL_AUX_ASSERT_CONSTANT( \\r
+      std::size_t \\r
+    , BOOST_PP_CAT(mpl_assertion_in_line_,BOOST_MPL_AUX_PP_COUNTER()) = sizeof( \\r
+        boost::mpl::assertion_failed<(x rel y)>( boost::mpl::assert_rel_arg( \\r
+              boost::mpl::BOOST_MPL_AUX_ASSERT_RELATION(x,y,(&boost::mpl::operator rel))() \\r
+            ) ) \\r
+        ) \\r
+    ) \\r
+/**/\r
+#   else\r
+#   define BOOST_MPL_ASSERT_RELATION(x, rel, y) \\r
+BOOST_MPL_AUX_ASSERT_CONSTANT( \\r
+      std::size_t \\r
+    , BOOST_PP_CAT(mpl_assertion_in_line_,BOOST_MPL_AUX_PP_COUNTER()) = sizeof( \\r
+        boost::mpl::assertion_failed<(x rel y)>( (boost::mpl::failed ************ ( \\r
+            boost::mpl::BOOST_MPL_AUX_ASSERT_RELATION(x,y,(&boost::mpl::operator rel))::************))0 ) \\r
+        ) \\r
+    ) \\r
+/**/\r
+#   endif\r
+\r
+#endif\r
+\r
+\r
+// BOOST_MPL_ASSERT_MSG( (pred<x,...>::value), USER_PROVIDED_MESSAGE, (types<x,...>) ) \r
+\r
+#if BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3202))\r
+#   define BOOST_MPL_ASSERT_MSG_IMPL( counter, c, msg, types_ ) \\r
+struct msg; \\r
+typedef struct BOOST_PP_CAT(msg,counter) : boost::mpl::assert_ \\r
+{ \\r
+    using boost::mpl::assert_::types; \\r
+    static boost::mpl::failed ************ (msg::************ assert_arg()) types_ \\r
+    { return 0; } \\r
+} BOOST_PP_CAT(mpl_assert_arg,counter); \\r
+BOOST_MPL_AUX_ASSERT_CONSTANT( \\r
+      std::size_t \\r
+    , BOOST_PP_CAT(mpl_assertion_in_line_,counter) = sizeof( \\r
+        boost::mpl::assertion<(c)>::failed( BOOST_PP_CAT(mpl_assert_arg,counter)::assert_arg() ) \\r
+        ) \\r
+    ) \\r
+/**/\r
+#else\r
+#   define BOOST_MPL_ASSERT_MSG_IMPL( counter, c, msg, types_ )  \\r
+struct msg; \\r
+typedef struct BOOST_PP_CAT(msg,counter) : boost::mpl::assert_ \\r
+{ \\r
+    static boost::mpl::failed ************ (msg::************ assert_arg()) types_ \\r
+    { return 0; } \\r
+} BOOST_PP_CAT(mpl_assert_arg,counter); \\r
+BOOST_MPL_AUX_ASSERT_CONSTANT( \\r
+      std::size_t \\r
+    , BOOST_PP_CAT(mpl_assertion_in_line_,counter) = sizeof( \\r
+        boost::mpl::assertion_failed<(c)>( BOOST_PP_CAT(mpl_assert_arg,counter)::assert_arg() ) \\r
+        ) \\r
+    ) \\r
+/**/\r
+#endif\r
+\r
+#define BOOST_MPL_ASSERT_MSG( c, msg, types_ ) \\r
+BOOST_MPL_ASSERT_MSG_IMPL( BOOST_MPL_AUX_PP_COUNTER(), c, msg, types_ ) \\r
+/**/\r
+\r
+#endif // BOOST_MPL_ASSERT_HPP_INCLUDED\r
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 (file)
index 0000000..a371439
--- /dev/null
@@ -0,0 +1,52 @@
+\r
+#ifndef BOOST_MPL_AT_HPP_INCLUDED\r
+#define BOOST_MPL_AT_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: at.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/at_fwd.hpp>\r
+#include <boost/mpl/aux_/at_impl.hpp>\r
+#include <boost/mpl/long.hpp>\r
+#include <boost/mpl/sequence_tag.hpp>\r
+#include <boost/mpl/aux_/na_spec.hpp>\r
+#include <boost/mpl/aux_/lambda_support.hpp>\r
+#include <boost/mpl/aux_/nttp_decl.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(Sequence)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N)\r
+    >\r
+struct at\r
+    : at_impl< typename sequence_tag<Sequence>::type >\r
+        ::template apply< Sequence,N >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2,at,(Sequence,N))\r
+};\r
+\r
+template<\r
+      typename Sequence\r
+    , BOOST_MPL_AUX_NTTP_DECL(long, N)\r
+    >\r
+struct at_c\r
+    : at_impl< typename sequence_tag<Sequence>::type >\r
+        ::template apply< Sequence,mpl::long_<N> >\r
+{\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(2, at)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_AT_HPP_INCLUDED\r
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 (file)
index 0000000..325293b
--- /dev/null
@@ -0,0 +1,24 @@
+\r
+#ifndef BOOST_MPL_AT_FWD_HPP_INCLUDED\r
+#define BOOST_MPL_AT_FWD_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: at_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template< typename Tag > struct at_impl;\r
+template< typename Sequence, typename N > struct at;\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_AT_FWD_HPP_INCLUDED\r
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 (file)
index 0000000..28b5f66
--- /dev/null
@@ -0,0 +1,87 @@
+\r
+#ifndef BOOST_MPL_O1_SIZE_IMPL_HPP_INCLUDED\r
+#define BOOST_MPL_O1_SIZE_IMPL_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: O1_size_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/O1_size_fwd.hpp>\r
+#include <boost/mpl/long.hpp>\r
+#include <boost/mpl/if.hpp>\r
+#include <boost/mpl/aux_/has_size.hpp>\r
+#include <boost/mpl/aux_/config/forwarding.hpp>\r
+#include <boost/mpl/aux_/config/static_constant.hpp>\r
+#include <boost/mpl/aux_/config/msvc.hpp>\r
+#include <boost/mpl/aux_/config/workaround.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+// default implementation - returns 'Sequence::size' if sequence has a 'size'\r
+// member, and -1 otherwise; conrete sequences might override it by \r
+// specializing either the 'O1_size_impl' or the primary 'O1_size' template\r
+\r
+#   if !BOOST_WORKAROUND(BOOST_MSVC, < 1300) \\r
+    && !BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3003))\r
+\r
+namespace aux {\r
+template< typename Sequence > struct O1_size_impl\r
+    : Sequence::size\r
+{\r
+};\r
+}\r
+\r
+template< typename Tag >\r
+struct O1_size_impl\r
+{\r
+    template< typename Sequence > struct apply\r
+#if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING)\r
+        : if_<\r
+              aux::has_size<Sequence>\r
+            , aux::O1_size_impl<Sequence>\r
+            , long_<-1>\r
+            >::type\r
+    {\r
+#else\r
+    {\r
+        typedef typename if_<\r
+              aux::has_size<Sequence>\r
+            , aux::O1_size_impl<Sequence>\r
+            , long_<-1>\r
+            >::type type;\r
+\r
+        BOOST_STATIC_CONSTANT(long, value =\r
+              (if_<\r
+                  aux::has_size<Sequence>\r
+                , aux::O1_size_impl<Sequence>\r
+                , long_<-1>\r
+                >::type::value)\r
+            );\r
+#endif\r
+    };\r
+};\r
+\r
+#   else // BOOST_MSVC\r
+\r
+template< typename Tag >\r
+struct O1_size_impl\r
+{\r
+    template< typename Sequence > struct apply\r
+        : long_<-1>\r
+        {\r
+        };\r
+};\r
+\r
+#   endif\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_O1_SIZE_IMPL_HPP_INCLUDED\r
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 (file)
index 0000000..eaf32e6
--- /dev/null
@@ -0,0 +1,48 @@
+\r
+#ifndef BOOST_MPL_AUX_ADL_BARRIER_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_ADL_BARRIER_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2002-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: adl_barrier.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/aux_/config/adl.hpp>\r
+#include <boost/mpl/aux_/config/gcc.hpp>\r
+#include <boost/mpl/aux_/config/workaround.hpp>\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_ADL_BARRIER_NAMESPACE)\r
+\r
+#   define BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE mpl_\r
+#   define BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN namespace mpl_ {\r
+#   define BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE }\r
+#   define BOOST_MPL_AUX_ADL_BARRIER_DECL(type) \\r
+    namespace boost { namespace mpl { \\r
+    using ::BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::type; \\r
+    } } \\r
+/**/\r
+\r
+#if !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+namespace BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE { namespace aux {} }\r
+namespace boost { namespace mpl { using namespace BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE; \r
+namespace aux { using namespace BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::aux; }\r
+}}\r
+#endif\r
+\r
+#else // BOOST_MPL_CFG_NO_ADL_BARRIER_NAMESPACE\r
+\r
+#   define BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE boost::mpl\r
+#   define BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN namespace boost { namespace mpl {\r
+#   define BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE }}\r
+#   define BOOST_MPL_AUX_ADL_BARRIER_DECL(type) /**/\r
+\r
+#endif\r
+\r
+#endif // BOOST_MPL_AUX_ADL_BARRIER_HPP_INCLUDED\r
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 (file)
index 0000000..cebf5a7
--- /dev/null
@@ -0,0 +1,128 @@
+\r
+#if !defined(BOOST_PP_IS_ITERATING)\r
+\r
+///// header body\r
+\r
+#ifndef BOOST_MPL_AUX778076_ADVANCE_BACKWARD_HPP_INCLUDED\r
+#define BOOST_MPL_AUX778076_ADVANCE_BACKWARD_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: advance_backward.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#if !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+#   include <boost/mpl/prior.hpp>\r
+#   include <boost/mpl/apply_wrap.hpp>\r
+#endif\r
+\r
+#include <boost/mpl/aux_/config/use_preprocessed.hpp>\r
+\r
+#if    !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \\r
+    && !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+\r
+#   define BOOST_MPL_PREPROCESSED_HEADER advance_backward.hpp\r
+#   include <boost/mpl/aux_/include_preprocessed.hpp>\r
+\r
+#else\r
+\r
+#   include <boost/mpl/limits/unrolling.hpp>\r
+#   include <boost/mpl/aux_/nttp_decl.hpp>\r
+#   include <boost/mpl/aux_/config/eti.hpp>\r
+\r
+#   include <boost/preprocessor/iterate.hpp>\r
+#   include <boost/preprocessor/cat.hpp>\r
+#   include <boost/preprocessor/inc.hpp>\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+// forward declaration\r
+template< BOOST_MPL_AUX_NTTP_DECL(long, N) > struct advance_backward;\r
+\r
+#   define BOOST_PP_ITERATION_PARAMS_1 \\r
+    (3,(0, BOOST_MPL_LIMIT_UNROLLING, <boost/mpl/aux_/advance_backward.hpp>))\r
+#   include BOOST_PP_ITERATE()\r
+\r
+// implementation for N that exceeds BOOST_MPL_LIMIT_UNROLLING\r
+template< BOOST_MPL_AUX_NTTP_DECL(long, N) >\r
+struct advance_backward\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef typename apply_wrap1<\r
+              advance_backward<BOOST_MPL_LIMIT_UNROLLING>\r
+            , Iterator\r
+            >::type chunk_result_;\r
+\r
+        typedef typename apply_wrap1<\r
+              advance_backward<(\r
+                (N - BOOST_MPL_LIMIT_UNROLLING) < 0\r
+                    ? 0\r
+                    : N - BOOST_MPL_LIMIT_UNROLLING\r
+                    )>\r
+            , chunk_result_\r
+            >::type type;\r
+    };\r
+};\r
+\r
+}}}\r
+\r
+#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS\r
+#endif // BOOST_MPL_AUX778076_ADVANCE_BACKWARD_HPP_INCLUDED\r
+\r
+///// iteration, depth == 1\r
+\r
+// For gcc 4.4 compatability, we must include the\r
+// BOOST_PP_ITERATION_DEPTH test inside an #else clause.\r
+#else // BOOST_PP_IS_ITERATING\r
+#if BOOST_PP_ITERATION_DEPTH() == 1\r
+#define i_ BOOST_PP_FRAME_ITERATION(1)\r
+\r
+template<>\r
+struct advance_backward< BOOST_PP_FRAME_ITERATION(1) >\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+\r
+#if i_ > 0\r
+#   define BOOST_PP_ITERATION_PARAMS_2 \\r
+    (3,(1, BOOST_PP_FRAME_ITERATION(1), <boost/mpl/aux_/advance_backward.hpp>))\r
+#   include BOOST_PP_ITERATE()\r
+#endif\r
+\r
+        typedef BOOST_PP_CAT(iter,BOOST_PP_FRAME_ITERATION(1)) type;\r
+    };\r
+\r
+#if defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG)\r
+    /// ETI workaround\r
+    template<> struct apply<int>\r
+    {\r
+        typedef int type;\r
+    };\r
+#endif\r
+};\r
+\r
+#undef i_\r
+\r
+///// iteration, depth == 2\r
+\r
+#elif BOOST_PP_ITERATION_DEPTH() == 2\r
+\r
+#   define AUX778076_ITER_0 BOOST_PP_CAT(iter,BOOST_PP_DEC(BOOST_PP_FRAME_ITERATION(2)))\r
+#   define AUX778076_ITER_1 BOOST_PP_CAT(iter,BOOST_PP_FRAME_ITERATION(2))\r
+\r
+        typedef typename prior<AUX778076_ITER_0>::type AUX778076_ITER_1;\r
+        \r
+#   undef AUX778076_ITER_1\r
+#   undef AUX778076_ITER_0\r
+\r
+#endif // BOOST_PP_ITERATION_DEPTH()\r
+#endif // BOOST_PP_IS_ITERATING\r
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 (file)
index 0000000..58b2a76
--- /dev/null
@@ -0,0 +1,127 @@
+\r
+#if !defined(BOOST_PP_IS_ITERATING)\r
+\r
+///// header body\r
+\r
+#ifndef BOOST_MPL_AUX_ADVANCE_FORWARD_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_ADVANCE_FORWARD_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: advance_forward.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#if !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+#   include <boost/mpl/next.hpp>\r
+#   include <boost/mpl/apply_wrap.hpp>\r
+#endif\r
+\r
+#include <boost/mpl/aux_/config/use_preprocessed.hpp>\r
+\r
+#if    !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \\r
+    && !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+\r
+#   define BOOST_MPL_PREPROCESSED_HEADER advance_forward.hpp\r
+#   include <boost/mpl/aux_/include_preprocessed.hpp>\r
+\r
+#else\r
+\r
+#   include <boost/mpl/limits/unrolling.hpp>\r
+#   include <boost/mpl/aux_/nttp_decl.hpp>\r
+#   include <boost/mpl/aux_/config/eti.hpp>\r
+\r
+#   include <boost/preprocessor/iterate.hpp>\r
+#   include <boost/preprocessor/cat.hpp>\r
+#   include <boost/preprocessor/inc.hpp>\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+// forward declaration\r
+template< BOOST_MPL_AUX_NTTP_DECL(long, N) > struct advance_forward;\r
+\r
+#   define BOOST_PP_ITERATION_PARAMS_1 \\r
+    (3,(0, BOOST_MPL_LIMIT_UNROLLING, <boost/mpl/aux_/advance_forward.hpp>))\r
+#   include BOOST_PP_ITERATE()\r
+\r
+// implementation for N that exceeds BOOST_MPL_LIMIT_UNROLLING\r
+template< BOOST_MPL_AUX_NTTP_DECL(long, N) > \r
+struct advance_forward\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef typename apply_wrap1<\r
+              advance_forward<BOOST_MPL_LIMIT_UNROLLING>\r
+            , Iterator\r
+            >::type chunk_result_;\r
+\r
+        typedef typename apply_wrap1<\r
+              advance_forward<(\r
+                (N - BOOST_MPL_LIMIT_UNROLLING) < 0\r
+                    ? 0\r
+                    : N - BOOST_MPL_LIMIT_UNROLLING\r
+                    )>\r
+            , chunk_result_\r
+            >::type type;\r
+    };\r
+};\r
+\r
+}}}\r
+\r
+#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS\r
+#endif // BOOST_MPL_AUX_ADVANCE_FORWARD_HPP_INCLUDED\r
+\r
+///// iteration, depth == 1\r
+\r
+// For gcc 4.4 compatability, we must include the\r
+// BOOST_PP_ITERATION_DEPTH test inside an #else clause.\r
+#else // BOOST_PP_IS_ITERATING\r
+#if BOOST_PP_ITERATION_DEPTH() == 1\r
+#define i_ BOOST_PP_FRAME_ITERATION(1)\r
+\r
+template<>\r
+struct advance_forward< BOOST_PP_FRAME_ITERATION(1) >\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+\r
+#if i_ > 0\r
+#   define BOOST_PP_ITERATION_PARAMS_2 \\r
+    (3,(1, i_, <boost/mpl/aux_/advance_forward.hpp>))\r
+#   include BOOST_PP_ITERATE()\r
+#endif\r
+        typedef BOOST_PP_CAT(iter,i_) type;\r
+    };\r
+\r
+#if defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG)\r
+    /// ETI workaround\r
+    template<> struct apply<int>\r
+    {\r
+        typedef int type;\r
+    };\r
+#endif\r
+};\r
+\r
+#undef i_\r
+\r
+///// iteration, depth == 2\r
+\r
+#elif BOOST_PP_ITERATION_DEPTH() == 2\r
+\r
+#   define AUX778076_ITER_0 BOOST_PP_CAT(iter,BOOST_PP_DEC(BOOST_PP_FRAME_ITERATION(2)))\r
+#   define AUX778076_ITER_1 BOOST_PP_CAT(iter,BOOST_PP_FRAME_ITERATION(2))\r
+\r
+        typedef typename next<AUX778076_ITER_0>::type AUX778076_ITER_1;\r
+        \r
+#   undef AUX778076_ITER_1\r
+#   undef AUX778076_ITER_0\r
+\r
+#endif // BOOST_PP_ITERATION_DEPTH()\r
+#endif // BOOST_PP_IS_ITERATING\r
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 (file)
index 0000000..9aae2cb
--- /dev/null
@@ -0,0 +1,35 @@
+\r
+#ifndef BOOST_MPL_AUX_APPLY_1ST_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_APPLY_1ST_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2002-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: apply_1st.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/apply.hpp>\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+struct apply_1st\r
+{\r
+    template< typename Pair, typename T > struct apply\r
+        : apply2<\r
+              typename Pair::first\r
+            , typename Pair::second\r
+            , T\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}}}\r
+\r
+#endif // BOOST_MPL_AUX_APPLY_1ST_HPP_INCLUDED\r
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 (file)
index 0000000..cd460af
--- /dev/null
@@ -0,0 +1,31 @@
+\r
+#ifndef BOOST_MPL_AUX_ARG_TYPEDEF_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_ARG_TYPEDEF_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: arg_typedef.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/aux_/config/lambda.hpp>\r
+#include <boost/mpl/aux_/config/workaround.hpp>\r
+\r
+#if defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT) \\r
+    || BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840))\r
+    \r
+#   define BOOST_MPL_AUX_ARG_TYPEDEF(T, name) typedef T name;\r
+\r
+#else\r
+\r
+#   define BOOST_MPL_AUX_ARG_TYPEDEF(T, name) /**/\r
+\r
+#endif\r
+\r
+#endif // BOOST_MPL_AUX_ARG_TYPEDEF_HPP_INCLUDED\r
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 (file)
index 0000000..b7cf52f
--- /dev/null
@@ -0,0 +1,92 @@
+\r
+// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: arithmetic_op.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#if !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+#   include <boost/mpl/integral_c.hpp>\r
+#   include <boost/mpl/aux_/largest_int.hpp>\r
+#   include <boost/mpl/aux_/value_wknd.hpp>\r
+#endif\r
+\r
+#if !defined(AUX778076_OP_PREFIX)\r
+#   define AUX778076_OP_PREFIX AUX778076_OP_NAME\r
+#endif\r
+\r
+#include <boost/mpl/aux_/numeric_op.hpp>\r
+#include <boost/mpl/aux_/config/static_constant.hpp>\r
+#include <boost/mpl/aux_/config/use_preprocessed.hpp>\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \\r
+    && !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+\r
+#   define BOOST_MPL_PREPROCESSED_HEADER AUX778076_OP_PREFIX.hpp\r
+#   include <boost/mpl/aux_/include_preprocessed.hpp>\r
+\r
+#else\r
+\r
+#   include <boost/mpl/aux_/config/workaround.hpp>\r
+#   include <boost/preprocessor/cat.hpp>\r
+\r
+\r
+namespace boost { namespace mpl {\r
+\r
+#if defined(BOOST_MPL_CFG_NO_NESTED_VALUE_ARITHMETIC)\r
+namespace aux {\r
+template< typename T, T n1, T n2 >\r
+struct BOOST_PP_CAT(AUX778076_OP_PREFIX,_wknd)\r
+{\r
+    BOOST_STATIC_CONSTANT(T, value = (n1 AUX778076_OP_TOKEN n2));\r
+    typedef integral_c<T,value> type;\r
+};\r
+}\r
+#endif\r
+\r
+template<>\r
+struct AUX778076_OP_IMPL_NAME<integral_c_tag,integral_c_tag>\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+#if !defined(BOOST_MPL_CFG_NO_NESTED_VALUE_ARITHMETIC)\r
+        : integral_c<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value\r
+                  AUX778076_OP_TOKEN BOOST_MPL_AUX_VALUE_WKND(N2)::value\r
+                )\r
+            >\r
+#else\r
+        : aux::BOOST_PP_CAT(AUX778076_OP_PREFIX,_wknd)<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , N1::value\r
+            , N2::value\r
+            >::type\r
+#endif\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS\r
+\r
+#undef AUX778076_OP_TAG_NAME\r
+#undef AUX778076_OP_IMPL_NAME\r
+#undef AUX778076_OP_ARITY\r
+#undef AUX778076_OP_PREFIX\r
+#undef AUX778076_OP_NAME\r
+#undef AUX778076_OP_TOKEN\r
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 (file)
index 0000000..5a284a2
--- /dev/null
@@ -0,0 +1,39 @@
+\r
+#ifndef BOOST_MPL_AUX_ARITY_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_ARITY_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: arity.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/aux_/config/dtp.hpp>\r
+\r
+#if defined(BOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES)\r
+\r
+#   include <boost/mpl/aux_/nttp_decl.hpp>\r
+#   include <boost/mpl/aux_/config/static_constant.hpp>\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+// agurt, 15/mar/02: it's possible to implement the template so that it will \r
+// "just work" and do not require any specialization, but not on the compilers\r
+// that require the arity workaround in the first place\r
+template< typename F, BOOST_MPL_AUX_NTTP_DECL(int, N) >\r
+struct arity\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value = N);\r
+};\r
+\r
+}}}\r
+\r
+#endif // BOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES\r
+\r
+#endif // BOOST_MPL_AUX_ARITY_HPP_INCLUDED\r
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 (file)
index 0000000..4853629
--- /dev/null
@@ -0,0 +1,67 @@
+\r
+#ifndef BOOST_MPL_AUX_ARITY_SPEC_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_ARITY_SPEC_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: arity_spec.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/int.hpp>\r
+#include <boost/mpl/limits/arity.hpp>\r
+#include <boost/mpl/aux_/config/dtp.hpp>\r
+#include <boost/mpl/aux_/preprocessor/params.hpp>\r
+#include <boost/mpl/aux_/arity.hpp>\r
+#include <boost/mpl/aux_/template_arity_fwd.hpp>\r
+#include <boost/mpl/aux_/config/ttp.hpp>\r
+#include <boost/mpl/aux_/config/lambda.hpp>\r
+#include <boost/mpl/aux_/config/static_constant.hpp>\r
+\r
+#if defined(BOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES)\r
+#   define BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(i,type,name) \\r
+namespace aux { \\r
+template< BOOST_MPL_AUX_NTTP_DECL(int, N), BOOST_MPL_PP_PARAMS(i,type T) > \\r
+struct arity< \\r
+      name< BOOST_MPL_PP_PARAMS(i,T) > \\r
+    , N \\r
+    > \\r
+{ \\r
+    BOOST_STATIC_CONSTANT(int \\r
+        , value = BOOST_MPL_LIMIT_METAFUNCTION_ARITY \\r
+        ); \\r
+}; \\r
+} \\r
+/**/\r
+#else\r
+#   define BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(i,type,name) /**/\r
+#endif\r
+\r
+#   define BOOST_MPL_AUX_ARITY_SPEC(i,name) \\r
+    BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(i,typename,name) \\r
+/**/\r
+\r
+\r
+#if defined(BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING) \\r
+    && !defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT)\r
+#   define BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(i, name) \\r
+namespace aux { \\r
+template< BOOST_MPL_PP_PARAMS(i,typename T) > \\r
+struct template_arity< name<BOOST_MPL_PP_PARAMS(i,T)> > \\r
+    : int_<i> \\r
+{ \\r
+}; \\r
+} \\r
+/**/\r
+#else\r
+#   define BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(i, name) /**/\r
+#endif\r
+\r
+\r
+#endif // BOOST_MPL_AUX_ARITY_SPEC_HPP_INCLUDED\r
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 (file)
index 0000000..cf97107
--- /dev/null
@@ -0,0 +1,45 @@
+\r
+#ifndef BOOST_MPL_AUX_AT_IMPL_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_AT_IMPL_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: at_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/begin_end.hpp>\r
+#include <boost/mpl/advance.hpp>\r
+#include <boost/mpl/deref.hpp>\r
+#include <boost/mpl/aux_/traits_lambda_spec.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+// default implementation; conrete sequences might override it by \r
+// specializing either the 'at_impl' or the primary 'at' template\r
+\r
+template< typename Tag >\r
+struct at_impl\r
+{\r
+    template< typename Sequence, typename N > struct apply\r
+    {\r
+        typedef typename advance<\r
+              typename begin<Sequence>::type\r
+            , N\r
+            >::type iter_;\r
+\r
+        typedef typename deref<iter_>::type type;\r
+    };\r
+};\r
+\r
+BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(2, at_impl)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_AUX_AT_IMPL_HPP_INCLUDED\r
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 (file)
index 0000000..066d5dc
--- /dev/null
@@ -0,0 +1,43 @@
+\r
+#ifndef BOOST_MPL_AUX_BACK_IMPL_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_BACK_IMPL_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: back_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/begin_end.hpp>\r
+#include <boost/mpl/next_prior.hpp>\r
+#include <boost/mpl/deref.hpp>\r
+#include <boost/mpl/aux_/traits_lambda_spec.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+// default implementation, requires at least bi-directional iterators;\r
+// conrete sequences might override it by specializing either the \r
+// 'back_impl' or the primary 'back' template\r
+\r
+template< typename Tag >\r
+struct back_impl\r
+{\r
+    template< typename Sequence > struct apply\r
+    {\r
+        typedef typename end<Sequence>::type end_;\r
+        typedef typename prior<end_>::type last_;\r
+        typedef typename deref<last_>::type type;\r
+    };\r
+};\r
+\r
+BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(1, back_impl)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_AUX_BACK_IMPL_HPP_INCLUDED\r
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 (file)
index 0000000..44307ed
--- /dev/null
@@ -0,0 +1,21 @@
+\r
+#ifndef BOOST_MPL_AUX_BASIC_BIND_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_BASIC_BIND_HPP_INCLUDED\r
+\r
+// Copyright Peter Dimov 2001\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: basic_bind.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#define BOOST_MPL_CFG_NO_UNNAMED_PLACEHOLDER_SUPPORT\r
+#include <boost/mpl/bind.hpp>\r
+\r
+#endif // BOOST_MPL_AUX_BASIC_BIND_HPP_INCLUDED\r
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 (file)
index 0000000..638312b
--- /dev/null
@@ -0,0 +1,101 @@
+\r
+#ifndef BOOST_MPL_AUX_BEGIN_END_IMPL_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_BEGIN_END_IMPL_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0.\r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: begin_end_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/begin_end_fwd.hpp>\r
+#include <boost/mpl/sequence_tag_fwd.hpp>\r
+#include <boost/mpl/void.hpp>\r
+#include <boost/mpl/eval_if.hpp>\r
+#include <boost/mpl/aux_/has_begin.hpp>\r
+#include <boost/mpl/aux_/na.hpp>\r
+#include <boost/mpl/aux_/traits_lambda_spec.hpp>\r
+#include <boost/mpl/aux_/config/eti.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+\r
+namespace aux { \r
+\r
+template< typename Sequence > \r
+struct begin_type \r
+{ \r
+    typedef typename Sequence::begin type; \r
+};\r
+template< typename Sequence > \r
+struct end_type\r
+{ \r
+    typedef typename Sequence::end type; \r
+};\r
+\r
+}\r
+\r
+// default implementation; conrete sequences might override it by \r
+// specializing either the 'begin_impl/end_impl' or the primary \r
+// 'begin/end' templates\r
+\r
+template< typename Tag >\r
+struct begin_impl\r
+{\r
+    template< typename Sequence > struct apply\r
+    {\r
+        typedef typename eval_if<aux::has_begin<Sequence, true_>,\r
+                                 aux::begin_type<Sequence>, void_>::type type;\r
+    };\r
+};\r
+\r
+template< typename Tag >\r
+struct end_impl\r
+{\r
+    template< typename Sequence > struct apply\r
+    {\r
+        typedef typename eval_if<aux::has_begin<Sequence, true_>,\r
+                                 aux::end_type<Sequence>, void_>::type type;\r
+    };\r
+};\r
+\r
+// specialize 'begin_trait/end_trait' for two pre-defined tags\r
+\r
+#   define AUX778076_IMPL_SPEC(name, tag, result) \\r
+template<> \\r
+struct name##_impl<tag> \\r
+{ \\r
+    template< typename Sequence > struct apply \\r
+    { \\r
+        typedef result type; \\r
+    }; \\r
+}; \\r
+/**/\r
+\r
+// a sequence with nested 'begin/end' typedefs; just query them\r
+AUX778076_IMPL_SPEC(begin, nested_begin_end_tag, typename Sequence::begin)\r
+AUX778076_IMPL_SPEC(end, nested_begin_end_tag, typename Sequence::end)\r
+\r
+// if a type 'T' does not contain 'begin/end' or 'tag' members \r
+// and doesn't specialize either 'begin/end' or 'begin_impl/end_impl' \r
+// templates, then we end up here\r
+AUX778076_IMPL_SPEC(begin, non_sequence_tag, void_)\r
+AUX778076_IMPL_SPEC(end, non_sequence_tag, void_)\r
+AUX778076_IMPL_SPEC(begin, na, void_)\r
+AUX778076_IMPL_SPEC(end, na, void_)\r
+\r
+#   undef AUX778076_IMPL_SPEC\r
+\r
+\r
+BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC_IMPL(1,begin_impl)\r
+BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC_IMPL(1,end_impl)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_AUX_BEGIN_END_IMPL_HPP_INCLUDED\r
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 (file)
index 0000000..e523d10
--- /dev/null
@@ -0,0 +1,35 @@
+\r
+#ifndef BOOST_MPL_AUX_CLEAR_IMPL_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_CLEAR_IMPL_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: clear_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/clear_fwd.hpp>\r
+#include <boost/mpl/aux_/traits_lambda_spec.hpp>\r
+#include <boost/mpl/aux_/config/eti.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+// no default implementation; the definition is needed to make MSVC happy\r
+\r
+template< typename Tag >\r
+struct clear_impl\r
+{\r
+    template< typename Sequence > struct apply;\r
+};\r
+\r
+BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(1, clear_impl)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_AUX_CLEAR_IMPL_HPP_INCLUDED\r
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 (file)
index 0000000..f19c4b8
--- /dev/null
@@ -0,0 +1,34 @@
+\r
+#ifndef BOOST_MPL_AUX_COMMON_NAME_WKND_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_COMMON_NAME_WKND_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2002-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: common_name_wknd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/aux_/config/workaround.hpp>\r
+\r
+#if BOOST_WORKAROUND(__BORLANDC__, < 0x561)\r
+// agurt, 12/nov/02: to suppress the bogus "Cannot have both a template class \r
+// and function named 'xxx'" diagnostic\r
+#   define BOOST_MPL_AUX_COMMON_NAME_WKND(name) \\r
+namespace name_##wknd { \\r
+template< typename > void name(); \\r
+} \\r
+/**/\r
+\r
+#else\r
+\r
+#   define BOOST_MPL_AUX_COMMON_NAME_WKND(name) /**/\r
+\r
+#endif // __BORLANDC__\r
+\r
+#endif // BOOST_MPL_AUX_COMMON_NAME_WKND_HPP_INCLUDED\r
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 (file)
index 0000000..11c0684
--- /dev/null
@@ -0,0 +1,83 @@
+\r
+// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: comparison_op.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#if !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+#   include <boost/mpl/bool.hpp>\r
+#   include <boost/mpl/aux_/value_wknd.hpp>\r
+#endif\r
+\r
+#if !defined(AUX778076_OP_PREFIX)\r
+#   define AUX778076_OP_PREFIX AUX778076_OP_NAME\r
+#endif\r
+\r
+#define AUX778076_OP_ARITY 2\r
+\r
+#include <boost/mpl/aux_/numeric_op.hpp>\r
+#include <boost/mpl/aux_/config/static_constant.hpp>\r
+#include <boost/mpl/aux_/config/use_preprocessed.hpp>\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \\r
+    && !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+\r
+#   define BOOST_MPL_PREPROCESSED_HEADER AUX778076_OP_PREFIX.hpp\r
+#   include <boost/mpl/aux_/include_preprocessed.hpp>\r
+\r
+#else\r
+\r
+#   include <boost/mpl/aux_/config/integral.hpp>\r
+#   include <boost/preprocessor/cat.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+// MSVC workaround: implement less in terms of greater\r
+#if 0 AUX778076_OP_TOKEN 1 && !(1 AUX778076_OP_TOKEN 0) && !(0 AUX778076_OP_TOKEN 0)\r
+#   define AUX778076_OP(N1, N2) \\r
+    ( BOOST_MPL_AUX_VALUE_WKND(N2)::value > BOOST_MPL_AUX_VALUE_WKND(N1)::value ) \\r
+/**/\r
+#else\r
+#   define AUX778076_OP(N1, N2) \\r
+    ( BOOST_MPL_AUX_VALUE_WKND(N1)::value \\r
+          AUX778076_OP_TOKEN BOOST_MPL_AUX_VALUE_WKND(N2)::value \\r
+        ) \\r
+/**/\r
+#endif\r
+\r
+template<>\r
+struct AUX778076_OP_IMPL_NAME<integral_c_tag,integral_c_tag>\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+#if !defined(BOOST_MPL_CFG_NO_NESTED_VALUE_ARITHMETIC)\r
+        : bool_< AUX778076_OP(N1, N2) >\r
+    {\r
+#else\r
+    {\r
+        BOOST_STATIC_CONSTANT(bool, value = AUX778076_OP(N1, N2));\r
+        typedef bool_<value> type;\r
+#endif\r
+    };\r
+};\r
+\r
+#undef AUX778076_OP\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS\r
+\r
+#undef AUX778076_OP_TAG_NAME\r
+#undef AUX778076_OP_IMPL_NAME\r
+#undef AUX778076_OP_ARITY\r
+#undef AUX778076_OP_PREFIX\r
+#undef AUX778076_OP_NAME\r
+#undef AUX778076_OP_TOKEN\r
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 (file)
index 0000000..86631be
--- /dev/null
@@ -0,0 +1,40 @@
+\r
+#ifndef BOOST_MPL_AUX_CONFIG_ADL_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_CONFIG_ADL_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2002-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: adl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/aux_/config/msvc.hpp>\r
+#include <boost/mpl/aux_/config/intel.hpp>\r
+#include <boost/mpl/aux_/config/gcc.hpp>\r
+#include <boost/mpl/aux_/config/workaround.hpp>\r
+\r
+// agurt, 25/apr/04: technically, the ADL workaround is only needed for GCC,\r
+// but putting everything expect public, user-specializable metafunctions into\r
+// a separate global namespace has a nice side effect of reducing the length \r
+// of template instantiation symbols, so we apply the workaround on all \r
+// platforms that can handle it\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_ADL_BARRIER_NAMESPACE) \\r
+    && (   BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1400)) \\r
+        || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) \\r
+        || BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840)) \\r
+        || BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3202)) \\r
+        || BOOST_WORKAROUND(BOOST_INTEL_CXX_VERSION, BOOST_TESTED_AT(810)) \\r
+        )\r
+\r
+#   define BOOST_MPL_CFG_NO_ADL_BARRIER_NAMESPACE\r
+\r
+#endif\r
+\r
+#endif // BOOST_MPL_AUX_CONFIG_ADL_HPP_INCLUDED\r
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 (file)
index 0000000..45ca4ea
--- /dev/null
@@ -0,0 +1,30 @@
+\r
+#ifndef BOOST_MPL_AUX_CONFIG_ARRAYS_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_CONFIG_ARRAYS_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: arrays.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/aux_/config/msvc.hpp>\r
+#include <boost/mpl/aux_/config/workaround.hpp>\r
+\r
+#if    !defined(BOOST_MPL_CFG_NO_DEPENDENT_ARRAY_TYPES) \\r
+    && !defined(BOOST_MPL_PREPROCESSING_MODE) \\r
+    && ( BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) \\r
+        || BOOST_WORKAROUND(BOOST_MSVC, <= 1300) \\r
+        )\r
+\r
+#   define BOOST_MPL_CFG_NO_DEPENDENT_ARRAY_TYPES\r
+\r
+#endif\r
+\r
+#endif // BOOST_MPL_AUX_CONFIG_ARRAYS_HPP_INCLUDED\r
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 (file)
index 0000000..9f09902
--- /dev/null
@@ -0,0 +1,28 @@
+\r
+#ifndef BOOST_MPL_AUX_CONFIG_BCC_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_CONFIG_BCC_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2008\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: bcc.hpp 49272 2008-10-11 06:50:46Z agurtovoy $\r
+// $Date: 2004-09-02 10:41:37 -0500 (Thu, 02 Sep 2004) $\r
+// $Revision: 24874 $\r
+\r
+#include <boost/mpl/aux_/config/workaround.hpp>\r
+\r
+#if    !defined(BOOST_MPL_CFG_BCC590_WORKAROUNDS) \\r
+    && !defined(BOOST_MPL_PREPROCESSING_MODE) \\r
+    && BOOST_WORKAROUND(__BORLANDC__, >= 0x590) \\r
+    && BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610))\r
+\r
+#   define BOOST_MPL_CFG_BCC590_WORKAROUNDS\r
+\r
+#endif\r
+\r
+#endif // BOOST_MPL_AUX_CONFIG_BCC_HPP_INCLUDED\r
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 (file)
index 0000000..6dbd595
--- /dev/null
@@ -0,0 +1,33 @@
+\r
+#ifndef BOOST_MPL_AUX_CONFIG_BIND_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_CONFIG_BIND_HPP_INCLUDED\r
+\r
+// Copyright David Abrahams 2002\r
+// Copyright Aleksey Gurtovoy 2002-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: bind.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/aux_/config/msvc.hpp>\r
+#include <boost/mpl/aux_/config/workaround.hpp>\r
+\r
+#if    !defined(BOOST_MPL_CFG_NO_BIND_TEMPLATE) \\r
+    && !defined(BOOST_MPL_PREPROCESSING_MODE) \\r
+    && (   BOOST_WORKAROUND(BOOST_MSVC, <= 1300) \\r
+        || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) \\r
+        )\r
+\r
+#   define BOOST_MPL_CFG_NO_BIND_TEMPLATE\r
+\r
+#endif\r
+\r
+//#define BOOST_MPL_CFG_NO_UNNAMED_PLACEHOLDER_SUPPORT\r
+\r
+#endif // BOOST_MPL_AUX_CONFIG_BIND_HPP_INCLUDED\r
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 (file)
index 0000000..7f55b1d
--- /dev/null
@@ -0,0 +1,66 @@
+\r
+#ifndef BOOST_MPL_AUX_CONFIG_COMPILER_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_CONFIG_COMPILER_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2001-2008\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: compiler.hpp 53189 2009-05-22 20:07:55Z hkaiser $\r
+// $Date: 2009-05-22 16:07:55 -0400 (Fri, 22 May 2009) $\r
+// $Revision: 53189 $\r
+\r
+#if !defined(BOOST_MPL_CFG_COMPILER_DIR)\r
+\r
+#   include <boost/mpl/aux_/config/dtp.hpp>\r
+#   include <boost/mpl/aux_/config/ttp.hpp>\r
+#   include <boost/mpl/aux_/config/ctps.hpp>\r
+#   include <boost/mpl/aux_/config/msvc.hpp>\r
+#   include <boost/mpl/aux_/config/gcc.hpp>\r
+#   include <boost/mpl/aux_/config/workaround.hpp>\r
+\r
+#   if BOOST_WORKAROUND(BOOST_MSVC, < 1300)\r
+#       define BOOST_MPL_CFG_COMPILER_DIR msvc60\r
+\r
+#   elif BOOST_WORKAROUND(BOOST_MSVC, == 1300)\r
+#       define BOOST_MPL_CFG_COMPILER_DIR msvc70\r
+\r
+#   elif BOOST_WORKAROUND(BOOST_MPL_CFG_GCC, BOOST_TESTED_AT(0x0304))\r
+#       define BOOST_MPL_CFG_COMPILER_DIR gcc\r
+\r
+#   elif BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610))\r
+#       if !defined(BOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES)\r
+#           define BOOST_MPL_CFG_COMPILER_DIR bcc551\r
+#       elif BOOST_WORKAROUND(__BORLANDC__, >= 0x590)\r
+#           define BOOST_MPL_CFG_COMPILER_DIR bcc\r
+#       else\r
+#           define BOOST_MPL_CFG_COMPILER_DIR bcc_pre590\r
+#       endif\r
+\r
+#   elif BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840))\r
+#       define BOOST_MPL_CFG_COMPILER_DIR dmc\r
+\r
+#   elif defined(__MWERKS__)\r
+#       if defined(BOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES)\r
+#           define BOOST_MPL_CFG_COMPILER_DIR mwcw\r
+#       else\r
+#           define BOOST_MPL_CFG_COMPILER_DIR plain\r
+#       endif\r
+\r
+#   elif defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)\r
+#       define BOOST_MPL_CFG_COMPILER_DIR no_ctps\r
+\r
+#   elif defined(BOOST_MPL_CFG_NO_TEMPLATE_TEMPLATE_PARAMETERS)\r
+#       define BOOST_MPL_CFG_COMPILER_DIR no_ttp\r
+\r
+#   else\r
+#       define BOOST_MPL_CFG_COMPILER_DIR plain\r
+#   endif\r
+\r
+#endif // BOOST_MPL_CFG_COMPILER_DIR\r
+\r
+#endif // BOOST_MPL_AUX_CONFIG_COMPILER_HPP_INCLUDED\r
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 (file)
index 0000000..be7e680
--- /dev/null
@@ -0,0 +1,30 @@
+\r
+#ifndef BOOST_MPL_AUX_CONFIG_CTPS_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_CONFIG_CTPS_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: ctps.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/aux_/config/workaround.hpp>\r
+#include <boost/config.hpp>\r
+\r
+#if    !defined(BOOST_MPL_CFG_NO_NONTYPE_TEMPLATE_PARTIAL_SPEC) \\r
+    && !defined(BOOST_MPL_PREPROCESSING_MODE) \\r
+    && BOOST_WORKAROUND(__BORLANDC__, < 0x582)\r
+\r
+#   define BOOST_MPL_CFG_NO_NONTYPE_TEMPLATE_PARTIAL_SPEC\r
+\r
+#endif\r
+\r
+// BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION is defined in <boost/config.hpp>\r
+\r
+#endif // BOOST_MPL_AUX_CONFIG_CTPS_HPP_INCLUDED\r
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 (file)
index 0000000..676ead1
--- /dev/null
@@ -0,0 +1,35 @@
+\r
+#ifndef BOOST_MPL_AUX_CONFIG_DEPENDENT_NTTP_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_CONFIG_DEPENDENT_NTTP_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2002-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: dependent_nttp.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/aux_/config/gcc.hpp>\r
+#include <boost/mpl/aux_/config/workaround.hpp>\r
+\r
+// GCC and EDG-based compilers incorrectly reject the following code:\r
+//   template< typename T, T n > struct a;\r
+//   template< typename T > struct b;\r
+//   template< typename T, T n > struct b< a<T,n> > {};\r
+\r
+#if    !defined(BOOST_MPL_CFG_NO_DEPENDENT_NONTYPE_PARAMETER_IN_PARTIAL_SPEC) \\r
+    && !defined(BOOST_MPL_PREPROCESSING_MODE) \\r
+    && (   BOOST_WORKAROUND(__EDG_VERSION__, BOOST_TESTED_AT(300)) \\r
+        || BOOST_WORKAROUND(BOOST_MPL_CFG_GCC, BOOST_TESTED_AT(0x0302)) \\r
+        )\r
+\r
+#   define BOOST_MPL_CFG_NO_DEPENDENT_NONTYPE_PARAMETER_IN_PARTIAL_SPEC\r
+\r
+#endif\r
+\r
+#endif // BOOST_MPL_AUX_CONFIG_DEPENDENT_NTTP_HPP_INCLUDED\r
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 (file)
index 0000000..d24f70f
--- /dev/null
@@ -0,0 +1,27 @@
+\r
+#ifndef BOOST_MPL_AUX_CONFIG_DMC_AMBIGUOUS_CTPS_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_CONFIG_DMC_AMBIGUOUS_CTPS_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: dmc_ambiguous_ctps.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/aux_/config/workaround.hpp>\r
+\r
+#if    !defined(BOOST_MPL_CFG_DMC_AMBIGUOUS_CTPS) \\r
+    && !defined(BOOST_MPL_PREPROCESSING_MODE) \\r
+    && BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840))\r
+\r
+#   define BOOST_MPL_CFG_DMC_AMBIGUOUS_CTPS\r
+\r
+#endif\r
+\r
+#endif // BOOST_MPL_AUX_CONFIG_DMC_AMBIGUOUS_CTPS_HPP_INCLUDED\r
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 (file)
index 0000000..1fcd513
--- /dev/null
@@ -0,0 +1,46 @@
+\r
+#ifndef BOOST_MPL_AUX_CONFIG_DTP_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_CONFIG_DTP_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: dtp.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/aux_/config/workaround.hpp>\r
+\r
+// MWCW 7.x-8.0 "losts" default template parameters of nested class \r
+// templates when their owner classes are passed as arguments to other \r
+// templates; Borland 5.5.1 "forgets" them from the very beginning (if \r
+// the owner class is a class template), and Borland 5.6 isn't even\r
+// able to compile a definition of nested class template with DTP\r
+\r
+#if    !defined(BOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES) \\r
+    && !defined(BOOST_MPL_PREPROCESSING_MODE) \\r
+    && BOOST_WORKAROUND(__BORLANDC__, >= 0x560) \\r
+    && BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610))\r
+\r
+#   define BOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES\r
+\r
+#endif\r
+\r
+\r
+#if    !defined(BOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES) \\r
+    && !defined(BOOST_MPL_PREPROCESSING_MODE) \\r
+    && (   BOOST_WORKAROUND(__MWERKS__, <= 0x3001) \\r
+        || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) \\r
+        || defined(BOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES) \\r
+        )\r
+        \r
+#   define BOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES\r
+\r
+#endif\r
+\r
+#endif // BOOST_MPL_AUX_CONFIG_DTP_HPP_INCLUDED\r
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 (file)
index 0000000..4b20d14
--- /dev/null
@@ -0,0 +1,47 @@
+\r
+#ifndef BOOST_MPL_AUX_CONFIG_ETI_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_CONFIG_ETI_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: eti.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/aux_/config/msvc.hpp>\r
+#include <boost/mpl/aux_/config/workaround.hpp>\r
+\r
+// flags for MSVC 6.5's so-called "early template instantiation bug"\r
+#if    !defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG) \\r
+    && !defined(BOOST_MPL_PREPROCESSING_MODE) \\r
+    && BOOST_WORKAROUND(BOOST_MSVC, < 1300)\r
+\r
+#   define BOOST_MPL_CFG_MSVC_60_ETI_BUG\r
+\r
+#endif\r
+\r
+#if    !defined(BOOST_MPL_CFG_MSVC_70_ETI_BUG) \\r
+    && !defined(BOOST_MPL_PREPROCESSING_MODE) \\r
+    && BOOST_WORKAROUND(BOOST_MSVC, == 1300)\r
+\r
+#   define BOOST_MPL_CFG_MSVC_70_ETI_BUG\r
+\r
+#endif\r
+\r
+#if    !defined(BOOST_MPL_CFG_MSVC_ETI_BUG) \\r
+    && !defined(BOOST_MPL_PREPROCESSING_MODE) \\r
+    && ( defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG) \\r
+        || defined(BOOST_MPL_CFG_MSVC_70_ETI_BUG) \\r
+        )\r
+\r
+#   define BOOST_MPL_CFG_MSVC_ETI_BUG\r
+\r
+#endif\r
+\r
+#endif // BOOST_MPL_AUX_CONFIG_ETI_HPP_INCLUDED\r
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 (file)
index 0000000..c9b6242
--- /dev/null
@@ -0,0 +1,27 @@
+\r
+#ifndef BOOST_MPL_AUX_CONFIG_FORWARDING_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_CONFIG_FORWARDING_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: forwarding.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/aux_/config/workaround.hpp>\r
+\r
+#if    !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING) \\r
+    && !defined(BOOST_MPL_PREPROCESSING_MODE) \\r
+    && BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610))\r
+\r
+#   define BOOST_MPL_CFG_NO_NESTED_FORWARDING\r
+\r
+#endif\r
+\r
+#endif // BOOST_MPL_AUX_CONFIG_FORWARDING_HPP_INCLUDED\r
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 (file)
index 0000000..a564b2a
--- /dev/null
@@ -0,0 +1,23 @@
+\r
+#ifndef BOOST_MPL_AUX_CONFIG_GCC_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_CONFIG_GCC_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: gcc.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#if defined(__GNUC__) && !defined(__EDG_VERSION__)\r
+#   define BOOST_MPL_CFG_GCC ((__GNUC__ << 8) | __GNUC_MINOR__)\r
+#else\r
+#   define BOOST_MPL_CFG_GCC 0\r
+#endif\r
+\r
+#endif // BOOST_MPL_AUX_CONFIG_GCC_HPP_INCLUDED\r
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 (file)
index 0000000..7f8f526
--- /dev/null
@@ -0,0 +1,32 @@
+\r
+#ifndef BOOST_MPL_AUX_CONFIG_HAS_APPLY_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_CONFIG_HAS_APPLY_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: has_apply.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/aux_/config/has_xxx.hpp>\r
+#include <boost/mpl/aux_/config/msvc.hpp>\r
+#include <boost/mpl/aux_/config/workaround.hpp>\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_HAS_APPLY) \\r
+    && (   defined(BOOST_MPL_CFG_NO_HAS_XXX) \\r
+        || BOOST_WORKAROUND(__EDG_VERSION__, < 300) \\r
+        || BOOST_WORKAROUND(BOOST_MSVC, <= 1300) \\r
+        || BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3202)) \\r
+        )\r
+\r
+#   define BOOST_MPL_CFG_NO_HAS_APPLY\r
+\r
+#endif\r
+\r
+#endif // BOOST_MPL_AUX_CONFIG_HAS_APPLY_HPP_INCLUDED\r
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 (file)
index 0000000..4193b0e
--- /dev/null
@@ -0,0 +1,33 @@
+\r
+#ifndef BOOST_MPL_AUX_CONFIG_HAS_XXX_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_CONFIG_HAS_XXX_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2002-2004\r
+// Copyright David Abrahams 2002-2003\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: has_xxx.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/aux_/config/overload_resolution.hpp>\r
+#include <boost/mpl/aux_/config/workaround.hpp>\r
+\r
+// agurt, 11/jan/03: signals a stub-only 'has_xxx' implementation\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_HAS_XXX) \\r
+    && (   defined(BOOST_MPL_CFG_BROKEN_OVERLOAD_RESOLUTION) \\r
+        || BOOST_WORKAROUND(__GNUC__, <= 2) \\r
+        || BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840)) \\r
+        )\r
+\r
+#   define BOOST_MPL_CFG_NO_HAS_XXX\r
+\r
+#endif\r
+\r
+#endif // BOOST_MPL_AUX_CONFIG_HAS_XXX_HPP_INCLUDED\r
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 (file)
index 0000000..7b5fcfc
--- /dev/null
@@ -0,0 +1,38 @@
+\r
+#ifndef BOOST_MPL_AUX_CONFIG_INTEGRAL_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_CONFIG_INTEGRAL_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: integral.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/aux_/config/msvc.hpp>\r
+#include <boost/mpl/aux_/config/workaround.hpp>\r
+\r
+#if    !defined(BOOST_MPL_CFG_BCC_INTEGRAL_CONSTANTS) \\r
+    && !defined(BOOST_MPL_PREPROCESSING_MODE) \\r
+    && BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610))\r
+\r
+#   define BOOST_MPL_CFG_BCC_INTEGRAL_CONSTANTS\r
+\r
+#endif\r
+\r
+#if    !defined(BOOST_MPL_CFG_NO_NESTED_VALUE_ARITHMETIC) \\r
+    && !defined(BOOST_MPL_PREPROCESSING_MODE) \\r
+    && ( BOOST_WORKAROUND(BOOST_MSVC, <= 1300) \\r
+        || BOOST_WORKAROUND(__EDG_VERSION__, <= 238) \\r
+        )\r
+\r
+#   define BOOST_MPL_CFG_NO_NESTED_VALUE_ARITHMETIC\r
+\r
+#endif\r
+\r
+#endif // BOOST_MPL_AUX_CONFIG_INTEGRAL_HPP_INCLUDED\r
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 (file)
index 0000000..62d4f2e
--- /dev/null
@@ -0,0 +1,21 @@
+\r
+#ifndef BOOST_MPL_AUX_CONFIG_INTEL_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_CONFIG_INTEL_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: intel.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+\r
+// BOOST_INTEL_CXX_VERSION is defined here:\r
+#include <boost/config.hpp>\r
+\r
+#endif // BOOST_MPL_AUX_CONFIG_INTEL_HPP_INCLUDED\r
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 (file)
index 0000000..97bd76b
--- /dev/null
@@ -0,0 +1,32 @@
+\r
+#ifndef BOOST_MPL_AUX_CONFIG_LAMBDA_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_CONFIG_LAMBDA_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2002-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: lambda.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/aux_/config/ttp.hpp>\r
+#include <boost/mpl/aux_/config/ctps.hpp>\r
+\r
+// agurt, 15/jan/02: full-fledged implementation requires both \r
+// template template parameters _and_ partial specialization\r
+\r
+#if    !defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT) \\r
+    && (   defined(BOOST_MPL_CFG_NO_TEMPLATE_TEMPLATE_PARAMETERS) \\r
+        || defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \\r
+        )\r
+\r
+#   define BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT\r
+\r
+#endif\r
+\r
+#endif // BOOST_MPL_AUX_CONFIG_LAMBDA_HPP_INCLUDED\r
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 (file)
index 0000000..93cbe46
--- /dev/null
@@ -0,0 +1,21 @@
+\r
+#ifndef BOOST_MPL_AUX_CONFIG_MSVC_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_CONFIG_MSVC_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2002-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: msvc.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+\r
+// BOOST_MSVC is defined here:\r
+#include <boost/config.hpp>\r
+\r
+#endif // BOOST_MPL_AUX_CONFIG_MSVC_HPP_INCLUDED\r
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 (file)
index 0000000..37d38dc
--- /dev/null
@@ -0,0 +1,26 @@
+\r
+#ifndef BOOST_MPL_AUX_CONFIG_MSVC_TYPENAME_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_CONFIG_MSVC_TYPENAME_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: msvc_typename.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/aux_/config/msvc.hpp>\r
+#include <boost/mpl/aux_/config/workaround.hpp>\r
+\r
+#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)\r
+#   define BOOST_MSVC_TYPENAME\r
+#else\r
+#   define BOOST_MSVC_TYPENAME typename\r
+#endif\r
+\r
+#endif // BOOST_MPL_AUX_CONFIG_MSVC_TYPENAME_HPP_INCLUDED\r
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 (file)
index 0000000..13d0c9d
--- /dev/null
@@ -0,0 +1,41 @@
+\r
+#ifndef BOOST_MPL_AUX_CONFIG_NTTP_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_CONFIG_NTTP_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: nttp.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/aux_/config/msvc.hpp>\r
+#include <boost/mpl/aux_/config/workaround.hpp>\r
+\r
+// MSVC 6.5 ICE-s on the code as simple as this (see "aux_/nttp_decl.hpp"\r
+// for a workaround):\r
+//\r
+//    namespace std {\r
+//    template< typename Char > struct string;\r
+//    }\r
+//\r
+//    void foo(std::string<char>);\r
+//\r
+//    namespace boost { namespace mpl {\r
+//    template< int > struct arg;\r
+//    }}\r
+\r
+#if    !defined(BOOST_MPL_CFG_NTTP_BUG) \\r
+    && !defined(BOOST_MPL_PREPROCESSING_MODE) \\r
+    && BOOST_WORKAROUND(BOOST_MSVC, < 1300)\r
+\r
+#   define BOOST_MPL_CFG_NTTP_BUG\r
+\r
+#endif\r
+\r
+#endif // BOOST_MPL_AUX_CONFIG_NTTP_HPP_INCLUDED\r
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 (file)
index 0000000..08693b2
--- /dev/null
@@ -0,0 +1,33 @@
+\r
+#ifndef BOOST_MPL_AUX_CONFIG_OPERATORS_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_CONFIG_OPERATORS_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: operators.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/aux_/config/gcc.hpp>\r
+#include <boost/mpl/aux_/config/msvc.hpp>\r
+#include <boost/mpl/aux_/config/workaround.hpp>\r
+\r
+#if !defined(BOOST_MPL_CFG_USE_OPERATORS_OVERLOADING) \\r
+    && ( BOOST_WORKAROUND(BOOST_MSVC, <= 1300) \\r
+        || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) \\r
+        || BOOST_WORKAROUND(__EDG_VERSION__, <= 245) \\r
+        || BOOST_WORKAROUND(BOOST_MPL_CFG_GCC, <= 0x0295) \\r
+        || BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(600)) \\r
+        )\r
+\r
+#   define BOOST_MPL_CFG_USE_OPERATORS_OVERLOADING\r
+\r
+#endif\r
+\r
+#endif // BOOST_MPL_AUX_CONFIG_OPERATORS_HPP_INCLUDED\r
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 (file)
index 0000000..1c58351
--- /dev/null
@@ -0,0 +1,29 @@
+\r
+#ifndef BOOST_MPL_AUX_CONFIG_OVERLOAD_RESOLUTION_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_CONFIG_OVERLOAD_RESOLUTION_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2002-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: overload_resolution.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/aux_/config/workaround.hpp>\r
+\r
+#if    !defined(BOOST_MPL_CFG_BROKEN_OVERLOAD_RESOLUTION) \\r
+    && !defined(BOOST_MPL_PREPROCESSING_MODE) \\r
+    && (   BOOST_WORKAROUND(__BORLANDC__, < 0x590) \\r
+        || BOOST_WORKAROUND(__MWERKS__, < 0x3001) \\r
+        )\r
+\r
+#   define BOOST_MPL_CFG_BROKEN_OVERLOAD_RESOLUTION\r
+\r
+#endif\r
+\r
+#endif // BOOST_MPL_AUX_CONFIG_OVERLOAD_RESOLUTION_HPP_INCLUDED\r
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 (file)
index 0000000..7fe204d
--- /dev/null
@@ -0,0 +1,26 @@
+\r
+#ifndef BOOST_MPL_AUX_CONFIG_PP_COUNTER_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_CONFIG_PP_COUNTER_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2006\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: pp_counter.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#if !defined(BOOST_MPL_AUX_PP_COUNTER)\r
+#   include <boost/mpl/aux_/config/msvc.hpp>\r
+#   if BOOST_WORKAROUND(BOOST_MSVC, >= 1300)\r
+#       define BOOST_MPL_AUX_PP_COUNTER() __COUNTER__\r
+#   else\r
+#       define BOOST_MPL_AUX_PP_COUNTER() __LINE__\r
+#   endif\r
+#endif\r
+\r
+#endif // BOOST_MPL_AUX_CONFIG_PP_COUNTER_HPP_INCLUDED\r
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 (file)
index 0000000..a837876
--- /dev/null
@@ -0,0 +1,39 @@
+\r
+#ifndef BOOST_MPL_AUX_CONFIG_PREPROCESSOR_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_CONFIG_PREPROCESSOR_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: preprocessor.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/aux_/config/workaround.hpp>\r
+\r
+#if !defined(BOOST_MPL_CFG_BROKEN_PP_MACRO_EXPANSION) \\r
+    && (   BOOST_WORKAROUND(__MWERKS__, <= 0x3003) \\r
+        || BOOST_WORKAROUND(__BORLANDC__, < 0x582) \\r
+        || BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(502)) \\r
+        )\r
+\r
+#   define BOOST_MPL_CFG_BROKEN_PP_MACRO_EXPANSION\r
+\r
+#endif\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES)\r
+#   define BOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES\r
+#endif\r
+\r
+#if !defined(BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING) \\r
+    && BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840))\r
+#   define BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING\r
+#endif\r
+\r
+\r
+#endif // BOOST_MPL_AUX_CONFIG_PREPROCESSOR_HPP_INCLUDED\r
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 (file)
index 0000000..86bf20a
--- /dev/null
@@ -0,0 +1,25 @@
+\r
+#ifndef BOOST_MPL_AUX_CONFIG_STATIC_CONSTANT_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_CONFIG_STATIC_CONSTANT_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: static_constant.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#if !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+// BOOST_STATIC_CONSTANT is defined here:\r
+#   include <boost/config.hpp>\r
+#else\r
+// undef the macro for the preprocessing mode\r
+#   undef BOOST_STATIC_CONSTANT\r
+#endif\r
+\r
+#endif // BOOST_MPL_AUX_CONFIG_STATIC_CONSTANT_HPP_INCLUDED\r
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 (file)
index 0000000..eacd6ab
--- /dev/null
@@ -0,0 +1,41 @@
+\r
+#ifndef BOOST_MPL_AUX_CONFIG_TTP_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_CONFIG_TTP_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: ttp.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/aux_/config/msvc.hpp>\r
+#include <boost/mpl/aux_/config/gcc.hpp>\r
+#include <boost/mpl/aux_/config/workaround.hpp>\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_TEMPLATE_TEMPLATE_PARAMETERS) \\r
+    && ( defined(BOOST_NO_TEMPLATE_TEMPLATES) \\r
+      || BOOST_WORKAROUND( __BORLANDC__, BOOST_TESTED_AT( 0x590) ) \\r
+       )\r
+\r
+#   define BOOST_MPL_CFG_NO_TEMPLATE_TEMPLATE_PARAMETERS\r
+\r
+#endif\r
+\r
+\r
+#if    !defined(BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING) \\r
+    && !defined(BOOST_MPL_PREPROCESSING_MODE) \\r
+    && (   BOOST_WORKAROUND(BOOST_MPL_CFG_GCC, BOOST_TESTED_AT(0x0302)) \\r
+        || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) \\r
+        )\r
+\r
+#   define BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING\r
+\r
+#endif\r
+\r
+#endif // BOOST_MPL_AUX_CONFIG_TTP_HPP_INCLUDED\r
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 (file)
index 0000000..79c8150
--- /dev/null
@@ -0,0 +1,38 @@
+\r
+#ifndef BOOST_MPL_AUX_CONFIG_TYPEOF_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_CONFIG_TYPEOF_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: typeof.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/aux_/config/gcc.hpp>\r
+\r
+#if !defined(BOOST_MPL_CFG_HAS_TYPEOF) \\r
+    && !defined(BOOST_MPL_PREPROCESSING_MODE) \\r
+    && (   defined(BOOST_MPL_CFG_GCC) && BOOST_MPL_CFG_GCC >= 0x0302 \\r
+        || defined(__MWERKS__) && __MWERKS__ >= 0x3000 \\r
+        )\r
+\r
+#   define BOOST_MPL_CFG_HAS_TYPEOF\r
+\r
+#endif\r
+\r
+\r
+#if !defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES) \\r
+    && !defined(BOOST_MPL_PREPROCESSING_MODE) \\r
+    && defined(BOOST_MPL_CFG_HAS_TYPEOF)\r
+\r
+#   define BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES\r
+\r
+#endif\r
+\r
+#endif // BOOST_MPL_AUX_CONFIG_TYPEOF_HPP_INCLUDED\r
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 (file)
index 0000000..dd7cfb2
--- /dev/null
@@ -0,0 +1,19 @@
+\r
+#ifndef BOOST_MPL_AUX_CONFIG_USE_PREPROCESSED_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_CONFIG_USE_PREPROCESSED_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: use_preprocessed.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+// #define BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS\r
+\r
+#endif // BOOST_MPL_AUX_CONFIG_USE_PREPROCESSED_HPP_INCLUDED\r
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 (file)
index 0000000..a75a213
--- /dev/null
@@ -0,0 +1,19 @@
+\r
+#ifndef BOOST_MPL_AUX_CONFIG_WORKAROUND_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_CONFIG_WORKAROUND_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2002-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: workaround.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/detail/workaround.hpp>\r
+\r
+#endif // BOOST_MPL_AUX_CONFIG_WORKAROUND_HPP_INCLUDED\r
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 (file)
index 0000000..3457a94
--- /dev/null
@@ -0,0 +1,61 @@
+\r
+#ifndef BOOST_MPL_AUX_CONTAINS_IMPL_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_CONTAINS_IMPL_HPP_INCLUDED\r
+\r
+// Copyright Eric Friedman 2002\r
+// Copyright Aleksey Gurtovoy 2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: contains_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/contains_fwd.hpp>\r
+#include <boost/mpl/begin_end.hpp>\r
+#include <boost/mpl/find.hpp>\r
+#include <boost/mpl/not.hpp>\r
+#include <boost/mpl/aux_/traits_lambda_spec.hpp>\r
+#include <boost/mpl/aux_/config/forwarding.hpp>\r
+#include <boost/mpl/aux_/config/static_constant.hpp>\r
+\r
+#include <boost/type_traits/is_same.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template< typename Tag >\r
+struct contains_impl\r
+{\r
+    template< typename Sequence, typename T > struct apply\r
+#if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING)\r
+        : not_< is_same<\r
+              typename find<Sequence,T>::type\r
+            , typename end<Sequence>::type\r
+            > >\r
+    {\r
+#else\r
+    {\r
+        typedef not_< is_same<\r
+              typename find<Sequence,T>::type\r
+            , typename end<Sequence>::type\r
+            > > type;\r
+\r
+        BOOST_STATIC_CONSTANT(bool, value = \r
+              (not_< is_same<\r
+                  typename find<Sequence,T>::type\r
+                , typename end<Sequence>::type\r
+                > >::value)\r
+            );\r
+#endif\r
+    };\r
+};\r
+\r
+BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(2,contains_impl)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_AUX_CONTAINS_IMPL_HPP_INCLUDED\r
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 (file)
index 0000000..ad4a228
--- /dev/null
@@ -0,0 +1,105 @@
+\r
+// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: count_args.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/preprocessor/expr_if.hpp>\r
+#include <boost/preprocessor/inc.hpp>\r
+#include <boost/preprocessor/cat.hpp>\r
+\r
+#if !defined(AUX778076_COUNT_ARGS_PARAM_NAME)\r
+#   define AUX778076_COUNT_ARGS_PARAM_NAME T\r
+#endif\r
+\r
+#if !defined(AUX778076_COUNT_ARGS_TEMPLATE_PARAM)\r
+#   define AUX778076_COUNT_ARGS_TEMPLATE_PARAM typename AUX778076_COUNT_ARGS_PARAM_NAME\r
+#endif\r
+\r
+// local macros, #undef-ined at the end of the header\r
+\r
+#if !defined(AUX778076_COUNT_ARGS_USE_STANDARD_PP_PRIMITIVES)\r
+\r
+#   include <boost/mpl/aux_/preprocessor/repeat.hpp>\r
+#   include <boost/mpl/aux_/preprocessor/params.hpp>\r
+\r
+#   define AUX778076_COUNT_ARGS_REPEAT BOOST_MPL_PP_REPEAT\r
+#   define AUX778076_COUNT_ARGS_PARAMS(param) \\r
+    BOOST_MPL_PP_PARAMS( \\r
+          AUX778076_COUNT_ARGS_ARITY \\r
+        , param \\r
+        ) \\r
+    /**/\r
+\r
+#else\r
+\r
+#   include <boost/preprocessor/enum_shifted_params.hpp>\r
+#   include <boost/preprocessor/repeat.hpp>\r
+#   include <boost/preprocessor/inc.hpp>\r
+\r
+#   define AUX778076_COUNT_ARGS_REPEAT BOOST_PP_REPEAT\r
+#   define AUX778076_COUNT_ARGS_PARAMS(param) \\r
+    BOOST_PP_ENUM_SHIFTED_PARAMS( \\r
+          BOOST_PP_INC(AUX778076_COUNT_ARGS_ARITY) \\r
+        , param \\r
+        ) \\r
+    /**/\r
+\r
+#endif // AUX778076_COUNT_ARGS_USE_STANDARD_PP_PRIMITIVES\r
+\r
+\r
+#define AUX778076_IS_ARG_TEMPLATE_NAME \\r
+    BOOST_PP_CAT(is_,BOOST_PP_CAT(AUX778076_COUNT_ARGS_PREFIX,_arg)) \\r
+/**/\r
+\r
+#define AUX778076_COUNT_ARGS_FUNC(unused, i, param) \\r
+    BOOST_PP_EXPR_IF(i, +) \\r
+    AUX778076_IS_ARG_TEMPLATE_NAME<BOOST_PP_CAT(param,BOOST_PP_INC(i))>::value \\r
+/**/\r
+\r
+// is_<xxx>_arg\r
+template< AUX778076_COUNT_ARGS_TEMPLATE_PARAM >\r
+struct AUX778076_IS_ARG_TEMPLATE_NAME\r
+{\r
+    BOOST_STATIC_CONSTANT(bool, value = true);\r
+};\r
+\r
+template<>\r
+struct AUX778076_IS_ARG_TEMPLATE_NAME<AUX778076_COUNT_ARGS_DEFAULT>\r
+{\r
+    BOOST_STATIC_CONSTANT(bool, value = false);\r
+};\r
+\r
+// <xxx>_count_args\r
+template<\r
+      AUX778076_COUNT_ARGS_PARAMS(AUX778076_COUNT_ARGS_TEMPLATE_PARAM)\r
+    >\r
+struct BOOST_PP_CAT(AUX778076_COUNT_ARGS_PREFIX,_count_args)\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value = AUX778076_COUNT_ARGS_REPEAT(\r
+          AUX778076_COUNT_ARGS_ARITY\r
+        , AUX778076_COUNT_ARGS_FUNC\r
+        , AUX778076_COUNT_ARGS_PARAM_NAME\r
+        ));\r
+};\r
+\r
+#undef AUX778076_COUNT_ARGS_FUNC\r
+#undef AUX778076_IS_ARG_TEMPLATE_NAME\r
+#undef AUX778076_COUNT_ARGS_PARAMS\r
+#undef AUX778076_COUNT_ARGS_REPEAT\r
+\r
+#undef AUX778076_COUNT_ARGS_ARITY\r
+#undef AUX778076_COUNT_ARGS_DEFAULT\r
+#undef AUX778076_COUNT_ARGS_PREFIX\r
+#undef AUX778076_COUNT_ARGS_USE_STANDARD_PP_PRIMITIVES\r
+#undef AUX778076_COUNT_ARGS_TEMPLATE_PARAM\r
+#undef AUX778076_COUNT_ARGS_PARAM_NAME\r
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 (file)
index 0000000..908ef26
--- /dev/null
@@ -0,0 +1,44 @@
+\r
+#ifndef BOOST_MPL_AUX_COUNT_IMPL_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_COUNT_IMPL_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: count_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/count_fwd.hpp>\r
+#include <boost/mpl/count_if.hpp>\r
+#include <boost/mpl/same_as.hpp>\r
+#include <boost/mpl/aux_/config/static_constant.hpp>\r
+#include <boost/mpl/aux_/config/workaround.hpp>\r
+#include <boost/mpl/aux_/traits_lambda_spec.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template< typename Tag > struct count_impl\r
+{\r
+    template< typename Sequence, typename T > struct apply\r
+#if BOOST_WORKAROUND(__BORLANDC__,BOOST_TESTED_AT(0x561))\r
+    {\r
+        typedef typename count_if< Sequence,same_as<T> >::type type;\r
+        BOOST_STATIC_CONSTANT(int, value = BOOST_MPL_AUX_VALUE_WKND(type)::value);\r
+#else\r
+        : count_if< Sequence,same_as<T> >\r
+    {\r
+#endif\r
+    };\r
+};\r
+\r
+BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(2,count_impl)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_AUX_COUNT_IMPL_HPP_INCLUDED\r
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 (file)
index 0000000..3cbad60
--- /dev/null
@@ -0,0 +1,43 @@
+\r
+#ifndef BOOST_MPL_AUX_EMPTY_IMPL_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_EMPTY_IMPL_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: empty_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/empty_fwd.hpp>\r
+#include <boost/mpl/begin_end.hpp>\r
+#include <boost/mpl/aux_/traits_lambda_spec.hpp>\r
+#include <boost/type_traits/is_same.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+// default implementation; conrete sequences might override it by \r
+// specializing either the 'empty_impl' or the primary 'empty' template\r
+\r
+template< typename Tag >\r
+struct empty_impl\r
+{\r
+    template< typename Sequence > struct apply\r
+        : is_same<\r
+              typename begin<Sequence>::type\r
+            , typename end<Sequence>::type\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(1,empty_impl)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_AUX_EMPTY_IMPL_HPP_INCLUDED\r
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 (file)
index 0000000..2404656
--- /dev/null
@@ -0,0 +1,69 @@
+\r
+#ifndef BOOST_MPL_AUX_ERASE_IMPL_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_ERASE_IMPL_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: erase_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/clear.hpp>\r
+#include <boost/mpl/push_front.hpp>\r
+#include <boost/mpl/reverse_fold.hpp>\r
+#include <boost/mpl/iterator_range.hpp>\r
+#include <boost/mpl/next.hpp>\r
+#include <boost/mpl/aux_/na.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+// default implementation; conrete sequences might override it by \r
+// specializing either the 'erase_impl' or the primary 'erase' template\r
+\r
+template< typename Tag >\r
+struct erase_impl\r
+{\r
+    template<\r
+          typename Sequence\r
+        , typename First\r
+        , typename Last\r
+        >\r
+    struct apply\r
+    {\r
+        typedef typename if_na< Last,typename next<First>::type >::type last_;\r
+        \r
+        // 1st half: [begin, first)\r
+        typedef iterator_range<\r
+              typename begin<Sequence>::type\r
+            , First\r
+            > first_half_;\r
+\r
+        // 2nd half: [last, end) ... that is, [last + 1, end)\r
+        typedef iterator_range<\r
+              last_\r
+            , typename end<Sequence>::type\r
+            > second_half_;\r
+\r
+        typedef typename reverse_fold<\r
+              second_half_\r
+            , typename clear<Sequence>::type\r
+            , push_front<_,_>\r
+            >::type half_sequence_;\r
+\r
+        typedef typename reverse_fold<\r
+              first_half_\r
+            , half_sequence_\r
+            , push_front<_,_>\r
+            >::type type;\r
+    };\r
+};\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_AUX_ERASE_IMPL_HPP_INCLUDED\r
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 (file)
index 0000000..da4bf71
--- /dev/null
@@ -0,0 +1,32 @@
+\r
+#ifndef BOOST_MPL_AUX_ERASE_KEY_IMPL_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_ERASE_KEY_IMPL_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: erase_key_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/erase_key_fwd.hpp>\r
+#include <boost/mpl/aux_/traits_lambda_spec.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template< typename Tag >\r
+struct erase_key_impl\r
+{\r
+    template< typename Sequence, typename Key > struct apply;\r
+};\r
+\r
+BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(2, erase_key_impl)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_AUX_ERASE_KEY_IMPL_HPP_INCLUDED\r
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 (file)
index 0000000..ab87ee4
--- /dev/null
@@ -0,0 +1,140 @@
+\r
+#ifndef BOOST_MPL_AUX_FILTER_ITER_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_FILTER_ITER_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: filter_iter.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/find_if.hpp>\r
+#include <boost/mpl/iterator_range.hpp>\r
+#include <boost/mpl/iterator_tags.hpp>\r
+#include <boost/mpl/deref.hpp>\r
+#include <boost/mpl/aux_/lambda_spec.hpp>\r
+#include <boost/mpl/aux_/config/ctps.hpp>\r
+#include <boost/type_traits/is_same.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename Iterator\r
+    , typename LastIterator\r
+    , typename Predicate\r
+    > \r
+struct filter_iter;\r
+\r
+template<\r
+      typename Iterator\r
+    , typename LastIterator\r
+    , typename Predicate\r
+    >\r
+struct next_filter_iter\r
+{\r
+    typedef typename find_if<\r
+          iterator_range<Iterator,LastIterator>\r
+        , Predicate\r
+        >::type base_iter_;\r
\r
+    typedef filter_iter<base_iter_,LastIterator,Predicate> type;\r
+};\r
+\r
+#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)\r
+\r
+template<\r
+      typename Iterator\r
+    , typename LastIterator\r
+    , typename Predicate\r
+    >\r
+struct filter_iter\r
+{\r
+    typedef Iterator base;\r
+    typedef forward_iterator_tag category;\r
+    typedef typename aux::next_filter_iter<\r
+          typename mpl::next<base>::type\r
+        , LastIterator\r
+        , Predicate\r
+        >::type next;\r
+    \r
+    typedef typename deref<base>::type type;\r
+};\r
+\r
+template<\r
+      typename LastIterator\r
+    , typename Predicate\r
+    >\r
+struct filter_iter< LastIterator,LastIterator,Predicate >\r
+{\r
+    typedef LastIterator base;\r
+    typedef forward_iterator_tag category;\r
+};\r
+\r
+#else\r
+\r
+template< bool >\r
+struct filter_iter_impl\r
+{\r
+    template<\r
+          typename Iterator\r
+        , typename LastIterator\r
+        , typename Predicate\r
+        >\r
+    struct result_\r
+    {\r
+        typedef Iterator base;\r
+        typedef forward_iterator_tag category;\r
+        typedef typename next_filter_iter<\r
+              typename mpl::next<Iterator>::type\r
+            , LastIterator\r
+            , Predicate\r
+            >::type next;\r
+        \r
+        typedef typename deref<base>::type type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct filter_iter_impl< true >\r
+{\r
+    template<\r
+          typename Iterator\r
+        , typename LastIterator\r
+        , typename Predicate\r
+        >\r
+    struct result_\r
+    {\r
+        typedef Iterator base;\r
+        typedef forward_iterator_tag category;\r
+    };\r
+};\r
+\r
+template<\r
+      typename Iterator\r
+    , typename LastIterator\r
+    , typename Predicate\r
+    >\r
+struct filter_iter\r
+    : filter_iter_impl<\r
+          ::boost::is_same<Iterator,LastIterator>::value\r
+        >::template result_< Iterator,LastIterator,Predicate >\r
+{\r
+};\r
+\r
+#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(3, aux::filter_iter)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_AUX_FILTER_ITER_HPP_INCLUDED\r
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 (file)
index 0000000..42eef19
--- /dev/null
@@ -0,0 +1,31 @@
+\r
+#ifndef BOOST_MPL_AUX_FIND_IF_PRED_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_FIND_IF_PRED_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright Eric Friedman 2002\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+#include <boost/mpl/aux_/iter_apply.hpp>\r
+#include <boost/mpl/not.hpp>\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+template< typename Predicate >\r
+struct find_if_pred\r
+{\r
+    template< typename Iterator >\r
+    struct apply\r
+    {\r
+        typedef not_< aux::iter_apply1<Predicate,Iterator> > type;\r
+    };\r
+};\r
+\r
+}}}\r
+\r
+#endif // BOOST_MPL_AUX_FIND_IF_PRED_HPP_INCLUDED\r
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 (file)
index 0000000..71bd386
--- /dev/null
@@ -0,0 +1,43 @@
+\r
+#ifndef BOOST_MPL_AUX_FOLD_IMPL_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_FOLD_IMPL_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: fold_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#if !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+#   include <boost/mpl/next_prior.hpp>\r
+#   include <boost/mpl/apply.hpp>\r
+#   include <boost/mpl/deref.hpp>\r
+#   include <boost/mpl/aux_/config/ctps.hpp>\r
+#   if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)\r
+#       include <boost/mpl/if.hpp>\r
+#       include <boost/type_traits/is_same.hpp>\r
+#   endif\r
+#endif\r
+\r
+#include <boost/mpl/aux_/config/use_preprocessed.hpp>\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \\r
+    && !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+\r
+#   define BOOST_MPL_PREPROCESSED_HEADER fold_impl.hpp\r
+#   include <boost/mpl/aux_/include_preprocessed.hpp>\r
+\r
+#else\r
+\r
+#   define AUX778076_FOLD_IMPL_OP(iter) typename deref<iter>::type\r
+#   define AUX778076_FOLD_IMPL_NAME_PREFIX fold\r
+#   include <boost/mpl/aux_/fold_impl_body.hpp>\r
+\r
+#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS\r
+#endif // BOOST_MPL_AUX_FOLD_IMPL_HPP_INCLUDED\r
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 (file)
index 0000000..28ea749
--- /dev/null
@@ -0,0 +1,365 @@
+\r
+// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION\r
+\r
+#if !defined(BOOST_PP_IS_ITERATING)\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: fold_impl_body.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#   include <boost/mpl/limits/unrolling.hpp>\r
+#   include <boost/mpl/aux_/preprocessor/repeat.hpp>\r
+#   include <boost/mpl/aux_/config/workaround.hpp>\r
+#   include <boost/mpl/aux_/config/ctps.hpp>\r
+#   include <boost/mpl/aux_/nttp_decl.hpp>\r
+#   include <boost/mpl/aux_/config/eti.hpp>\r
+\r
+#   include <boost/preprocessor/iterate.hpp>\r
+#   include <boost/preprocessor/dec.hpp>\r
+#   include <boost/preprocessor/cat.hpp>\r
+\r
+// local macros, #undef-ined at the end of the header\r
+\r
+#   define AUX778076_ITER_FOLD_STEP(unused, i, unused2) \\r
+    typedef typename apply2< \\r
+          ForwardOp \\r
+        , BOOST_PP_CAT(state,i) \\r
+        , AUX778076_FOLD_IMPL_OP(BOOST_PP_CAT(iter,i)) \\r
+        >::type BOOST_PP_CAT(state,BOOST_PP_INC(i)); \\r
+    typedef typename mpl::next<BOOST_PP_CAT(iter,i)>::type \\r
+        BOOST_PP_CAT(iter,BOOST_PP_INC(i)); \\r
+    /**/\r
+\r
+#   define AUX778076_FOLD_IMPL_NAME \\r
+    BOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_impl) \\r
+    /**/\r
+\r
+#   define AUX778076_FOLD_CHUNK_NAME \\r
+    BOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_chunk) \\r
+    /**/\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+/// forward declaration\r
+template<\r
+      BOOST_MPL_AUX_NTTP_DECL(int, N)\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    > \r
+struct AUX778076_FOLD_IMPL_NAME;\r
+\r
+#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)\r
+\r
+#   if !BOOST_WORKAROUND(__BORLANDC__, < 0x600)\r
+\r
+#   define BOOST_PP_ITERATION_PARAMS_1 \\r
+    (3,(0, BOOST_MPL_LIMIT_UNROLLING, <boost/mpl/aux_/fold_impl_body.hpp>))\r
+#   include BOOST_PP_ITERATE()\r
+\r
+// implementation for N that exceeds BOOST_MPL_LIMIT_UNROLLING\r
+template<\r
+      BOOST_MPL_AUX_NTTP_DECL(int, N)\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    > \r
+struct AUX778076_FOLD_IMPL_NAME\r
+{\r
+    typedef AUX778076_FOLD_IMPL_NAME<\r
+          BOOST_MPL_LIMIT_UNROLLING\r
+        , First\r
+        , Last\r
+        , State\r
+        , ForwardOp\r
+        > chunk_;\r
+\r
+    typedef AUX778076_FOLD_IMPL_NAME<\r
+          ( (N - BOOST_MPL_LIMIT_UNROLLING) < 0 ? 0 : N - BOOST_MPL_LIMIT_UNROLLING )\r
+        , typename chunk_::iterator\r
+        , Last\r
+        , typename chunk_::state\r
+        , ForwardOp\r
+        > res_;\r
+        \r
+    typedef typename res_::state state;\r
+    typedef typename res_::iterator iterator;\r
+};\r
+\r
+// fallback implementation for sequences of unknown size\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    > \r
+struct AUX778076_FOLD_IMPL_NAME<-1,First,Last,State,ForwardOp>\r
+    : AUX778076_FOLD_IMPL_NAME<\r
+          -1\r
+        , typename mpl::next<First>::type\r
+        , Last\r
+        , typename apply2<ForwardOp,State,AUX778076_FOLD_IMPL_OP(First)>::type\r
+        , ForwardOp\r
+        >\r
+{\r
+};\r
+\r
+template<\r
+      typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    > \r
+struct AUX778076_FOLD_IMPL_NAME<-1,Last,Last,State,ForwardOp>\r
+{\r
+    typedef State state;\r
+    typedef Last iterator;\r
+};\r
+\r
+#   else // BOOST_WORKAROUND(__BORLANDC__, < 0x600)\r
+\r
+// Borland have some serious problems with the unrolled version, so\r
+// we always use a basic implementation\r
+template<\r
+      BOOST_MPL_AUX_NTTP_DECL(int, N)\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    > \r
+struct AUX778076_FOLD_IMPL_NAME\r
+{\r
+    typedef AUX778076_FOLD_IMPL_NAME<\r
+          -1\r
+        , typename mpl::next<First>::type\r
+        , Last\r
+        , typename apply2<ForwardOp,State,AUX778076_FOLD_IMPL_OP(First)>::type\r
+        , ForwardOp\r
+        > res_;\r
+\r
+    typedef typename res_::state state;\r
+    typedef typename res_::iterator iterator;\r
+    typedef state type;\r
+};\r
+\r
+template<\r
+      BOOST_MPL_AUX_NTTP_DECL(int, N)\r
+     , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    > \r
+struct AUX778076_FOLD_IMPL_NAME<N,Last,Last,State,ForwardOp >\r
+{\r
+    typedef State state;\r
+    typedef Last iterator;\r
+    typedef state type;\r
+};\r
+\r
+#   endif // BOOST_WORKAROUND(__BORLANDC__, < 0x600)\r
\r
+#else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+\r
+template< BOOST_MPL_AUX_NTTP_DECL(int, N) >\r
+struct AUX778076_FOLD_CHUNK_NAME;\r
+\r
+#   define BOOST_PP_ITERATION_PARAMS_1 \\r
+    (3,(0, BOOST_MPL_LIMIT_UNROLLING, <boost/mpl/aux_/fold_impl_body.hpp>))\r
+#   include BOOST_PP_ITERATE()\r
+\r
+// implementation for N that exceeds BOOST_MPL_LIMIT_UNROLLING\r
+template< BOOST_MPL_AUX_NTTP_DECL(int, N) > \r
+struct AUX778076_FOLD_CHUNK_NAME\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename ForwardOp\r
+        > \r
+    struct result_\r
+    {\r
+        typedef AUX778076_FOLD_IMPL_NAME<\r
+              BOOST_MPL_LIMIT_UNROLLING\r
+            , First\r
+            , Last\r
+            , State\r
+            , ForwardOp\r
+            > chunk_;\r
+\r
+        typedef AUX778076_FOLD_IMPL_NAME<\r
+              ( (N - BOOST_MPL_LIMIT_UNROLLING) < 0 ? 0 : N - BOOST_MPL_LIMIT_UNROLLING )\r
+            , typename chunk_::iterator\r
+            , Last\r
+            , typename chunk_::state\r
+            , ForwardOp\r
+            > res_;\r
+\r
+        typedef typename res_::state state;\r
+        typedef typename res_::iterator iterator;\r
+    };\r
+};\r
+\r
+// fallback implementation for sequences of unknown size\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    > \r
+struct BOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_step);\r
+\r
+template<\r
+      typename Last\r
+    , typename State\r
+    >\r
+struct BOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_null_step)\r
+{\r
+    typedef Last iterator;\r
+    typedef State state;\r
+};\r
+\r
+template<> \r
+struct AUX778076_FOLD_CHUNK_NAME<-1>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename ForwardOp\r
+        > \r
+    struct result_\r
+    {\r
+        typedef typename if_<\r
+              typename is_same<First,Last>::type\r
+            , BOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_null_step)<Last,State>\r
+            , BOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_step)<First,Last,State,ForwardOp>\r
+            >::type res_;\r
+\r
+        typedef typename res_::state state;\r
+        typedef typename res_::iterator iterator;\r
+    };\r
+\r
+#if defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG)\r
+    /// ETI workaround\r
+    template<> struct result_<int,int,int,int>\r
+    {\r
+        typedef int state;\r
+        typedef int iterator;\r
+    };\r
+#endif\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    > \r
+struct BOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_step)\r
+{\r
+    // can't inherit here - it breaks MSVC 7.0\r
+    typedef AUX778076_FOLD_CHUNK_NAME<-1>::template result_<\r
+          typename mpl::next<First>::type\r
+        , Last\r
+        , typename apply2<ForwardOp,State,AUX778076_FOLD_IMPL_OP(First)>::type\r
+        , ForwardOp\r
+        > chunk_;\r
+\r
+    typedef typename chunk_::state state;\r
+    typedef typename chunk_::iterator iterator;\r
+};\r
+\r
+template<\r
+      BOOST_MPL_AUX_NTTP_DECL(int, N)\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    > \r
+struct AUX778076_FOLD_IMPL_NAME\r
+    : AUX778076_FOLD_CHUNK_NAME<N>\r
+        ::template result_<First,Last,State,ForwardOp>\r
+{\r
+};\r
+\r
+#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+\r
+}}}\r
+\r
+#   undef AUX778076_FOLD_IMPL_NAME\r
+#   undef AUX778076_FOLD_CHUNK_NAME\r
+#   undef AUX778076_ITER_FOLD_STEP\r
+\r
+#undef AUX778076_FOLD_IMPL_OP\r
+#undef AUX778076_FOLD_IMPL_NAME_PREFIX\r
+\r
+///// iteration\r
+\r
+#else\r
+\r
+#   define n_ BOOST_PP_FRAME_ITERATION(1)\r
+\r
+#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct AUX778076_FOLD_IMPL_NAME<n_,First,Last,State,ForwardOp>\r
+{\r
+    typedef First iter0;\r
+    typedef State state0;\r
+\r
+    BOOST_MPL_PP_REPEAT(n_, AUX778076_ITER_FOLD_STEP, unused)\r
+\r
+    typedef BOOST_PP_CAT(state,n_) state;\r
+    typedef BOOST_PP_CAT(iter,n_) iterator;\r
+};\r
+\r
+#else\r
+\r
+template<> struct AUX778076_FOLD_CHUNK_NAME<n_>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State state0;\r
+\r
+        BOOST_MPL_PP_REPEAT(n_, AUX778076_ITER_FOLD_STEP, unused)\r
+\r
+        typedef BOOST_PP_CAT(state,n_) state;\r
+        typedef BOOST_PP_CAT(iter,n_) iterator;\r
+    };\r
+\r
+#if defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG)\r
+    /// ETI workaround\r
+    template<> struct result_<int,int,int,int>\r
+    {\r
+        typedef int state;\r
+        typedef int iterator;\r
+    };\r
+#endif\r
+};\r
+\r
+#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+\r
+#   undef n_\r
+\r
+#endif // BOOST_PP_IS_ITERATING\r
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 (file)
index 0000000..62cc01b
--- /dev/null
@@ -0,0 +1,37 @@
+\r
+#ifndef BOOST_MPL_AUX_FOLD_OP_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_FOLD_OP_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: fold_op.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/apply.hpp>\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+// hand-written version is more efficient than bind/lambda expression\r
+template< typename Op >\r
+struct fold_op\r
+{\r
+    template< typename T1, typename T2 > struct apply\r
+    {\r
+        typedef typename apply2<\r
+              Op\r
+            , T1\r
+            , typename T2::type\r
+            >::type type;\r
+    };\r
+};\r
+\r
+}}}\r
+\r
+#endif // BOOST_MPL_AUX_FOLD_OP_HPP_INCLUDED\r
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 (file)
index 0000000..f5ce263
--- /dev/null
@@ -0,0 +1,37 @@
+\r
+#ifndef BOOST_MPL_AUX_FOLD_PRED_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_FOLD_PRED_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: fold_pred.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/same_as.hpp>\r
+#include <boost/mpl/apply.hpp>\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+template< typename Last >\r
+struct fold_pred\r
+{\r
+    template<\r
+          typename State\r
+        , typename Iterator\r
+        >\r
+    struct apply\r
+        : not_same_as<Last>::template apply<Iterator>\r
+    {\r
+    };\r
+};\r
+\r
+}}}\r
+\r
+#endif // BOOST_MPL_AUX_FOLD_PRED_HPP_INCLUDED\r
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 (file)
index 0000000..1561fd2
--- /dev/null
@@ -0,0 +1,41 @@
+\r
+#ifndef BOOST_MPL_AUX_FRONT_IMPL_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_FRONT_IMPL_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: front_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/front_fwd.hpp>\r
+#include <boost/mpl/begin_end.hpp>\r
+#include <boost/mpl/deref.hpp>\r
+#include <boost/mpl/aux_/traits_lambda_spec.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+// default implementation; conrete sequences might override it by \r
+// specializing either the 'front_impl' or the primary 'front' template\r
+\r
+template< typename Tag >\r
+struct front_impl\r
+{\r
+    template< typename Sequence > struct apply\r
+    {\r
+        typedef typename begin<Sequence>::type iter_;\r
+        typedef typename deref<iter_>::type type;\r
+    };\r
+};\r
+\r
+BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(1,front_impl)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_AUX_FRONT_IMPL_HPP_INCLUDED\r
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 (file)
index 0000000..fe498ac
--- /dev/null
@@ -0,0 +1,354 @@
+\r
+#if !defined(BOOST_PP_IS_ITERATING)\r
+\r
+///// header body\r
+\r
+#ifndef BOOST_MPL_AUX_FULL_LAMBDA_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_FULL_LAMBDA_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: full_lambda.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#if !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+#   include <boost/mpl/lambda_fwd.hpp>\r
+#   include <boost/mpl/bind_fwd.hpp>\r
+#   include <boost/mpl/protect.hpp>\r
+#   include <boost/mpl/quote.hpp>\r
+#   include <boost/mpl/arg.hpp>\r
+#   include <boost/mpl/bool.hpp>\r
+#   include <boost/mpl/int_fwd.hpp>\r
+#   include <boost/mpl/aux_/template_arity.hpp>\r
+#   include <boost/mpl/aux_/na_spec.hpp>\r
+#   include <boost/mpl/aux_/config/ttp.hpp>\r
+#   if defined(BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING)\r
+#       include <boost/mpl/if.hpp>\r
+#   endif\r
+#endif\r
+\r
+#include <boost/mpl/aux_/lambda_arity_param.hpp>\r
+#include <boost/mpl/aux_/config/use_preprocessed.hpp>\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \\r
+    && !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+\r
+#   define BOOST_MPL_PREPROCESSED_HEADER full_lambda.hpp\r
+#   include <boost/mpl/aux_/include_preprocessed.hpp>\r
+\r
+#else\r
+\r
+#   include <boost/mpl/limits/arity.hpp>\r
+#   include <boost/mpl/aux_/preprocessor/default_params.hpp>\r
+#   include <boost/mpl/aux_/preprocessor/params.hpp>\r
+#   include <boost/mpl/aux_/preprocessor/enum.hpp>\r
+#   include <boost/mpl/aux_/preprocessor/repeat.hpp>\r
+#   include <boost/mpl/aux_/config/dmc_ambiguous_ctps.hpp>\r
+\r
+#   include <boost/preprocessor/iterate.hpp>\r
+#   include <boost/preprocessor/comma_if.hpp>\r
+#   include <boost/preprocessor/inc.hpp>\r
+#   include <boost/preprocessor/cat.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+// local macros, #undef-ined at the end of the header\r
+#   define AUX778076_LAMBDA_PARAMS(i_, param) \\r
+    BOOST_MPL_PP_PARAMS(i_, param) \\r
+    /**/\r
+\r
+#   define AUX778076_BIND_PARAMS(param) \\r
+    BOOST_MPL_PP_PARAMS( \\r
+          BOOST_MPL_LIMIT_METAFUNCTION_ARITY \\r
+        , param \\r
+        ) \\r
+    /**/\r
+\r
+#   define AUX778076_BIND_N_PARAMS(i_, param) \\r
+    BOOST_PP_COMMA_IF(i_) \\r
+    BOOST_MPL_PP_PARAMS(i_, param) \\r
+    /**/\r
+\r
+#   define AUX778076_ARITY_PARAM(param) \\r
+    BOOST_MPL_AUX_LAMBDA_ARITY_PARAM(param) \\r
+    /**/\r
+\r
+\r
+#define n_ BOOST_MPL_LIMIT_METAFUNCTION_ARITY\r
+namespace aux {\r
+\r
+template<\r
+      BOOST_MPL_PP_DEFAULT_PARAMS(n_,bool C,false)\r
+    >\r
+struct lambda_or\r
+    : true_\r
+{\r
+};\r
+\r
+template<>\r
+struct lambda_or< BOOST_MPL_PP_ENUM(n_,false) >\r
+    : false_\r
+{\r
+};\r
+\r
+} // namespace aux\r
+#undef n_\r
+\r
+template<\r
+      typename T\r
+    , typename Tag\r
+    AUX778076_ARITY_PARAM(typename Arity)\r
+    >\r
+struct lambda\r
+{\r
+    typedef false_ is_le;\r
+    typedef T result_;\r
+    typedef T type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    >\r
+struct is_lambda_expression\r
+    : lambda<T>::is_le\r
+{\r
+};\r
+\r
+\r
+template< int N, typename Tag >\r
+struct lambda< arg<N>,Tag AUX778076_ARITY_PARAM(int_<-1>) >\r
+{\r
+    typedef true_ is_le;\r
+    typedef mpl::arg<N> result_; // qualified for the sake of MIPSpro 7.41\r
+    typedef mpl::protect<result_> type; \r
+};\r
+\r
+\r
+#define BOOST_PP_ITERATION_PARAMS_1 \\r
+    (3,(0, BOOST_MPL_LIMIT_METAFUNCTION_ARITY, <boost/mpl/aux_/full_lambda.hpp>))\r
+#include BOOST_PP_ITERATE()\r
+\r
+/// special case for 'protect'\r
+template< typename T, typename Tag >\r
+struct lambda< mpl::protect<T>,Tag AUX778076_ARITY_PARAM(int_<1>) >\r
+{\r
+    typedef false_ is_le;\r
+    typedef mpl::protect<T> result_;\r
+    typedef result_ type;\r
+};\r
+\r
+/// specializations for the main 'bind' form\r
+template<\r
+      typename F, AUX778076_BIND_PARAMS(typename T)\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          bind<F,AUX778076_BIND_PARAMS(T)>\r
+        , Tag\r
+        AUX778076_ARITY_PARAM(int_<BOOST_PP_INC(BOOST_MPL_LIMIT_METAFUNCTION_ARITY)>)\r
+        >\r
+{\r
+    typedef false_ is_le;\r
+    typedef bind<F, AUX778076_BIND_PARAMS(T)> result_;\r
+    typedef result_ type;\r
+};\r
+\r
+\r
+#if defined(BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING)\r
+\r
+template<\r
+      typename F\r
+    , typename Tag1\r
+    , typename Tag2\r
+    , typename Arity\r
+    >\r
+struct lambda<\r
+          lambda<F,Tag1,Arity>\r
+        , Tag2\r
+        , int_<3>\r
+        >\r
+{\r
+    typedef lambda< F,Tag2 > l1;\r
+    typedef lambda< Tag1,Tag2 > l2;\r
+\r
+    typedef typename l1::is_le is_le;\r
+    typedef bind1< quote1<aux::template_arity>, typename l1::result_ > arity_;\r
+    typedef lambda< typename if_<is_le,arity_,Arity>::type,Tag2 > l3;\r
+    \r
+    typedef aux::le_result3<is_le, Tag2, mpl::lambda, l1, l2, l3> le_result_;\r
+    typedef typename le_result_::result_ result_;\r
+    typedef typename le_result_::type type;\r
+};\r
+\r
+#elif !defined(BOOST_MPL_CFG_DMC_AMBIGUOUS_CTPS)\r
+\r
+/// workaround for MWCW 8.3+/EDG < 303, leads to ambiguity on Digital Mars\r
+template<\r
+      typename F, typename Tag1, typename Tag2\r
+    >\r
+struct lambda<\r
+          lambda< F,Tag1 >\r
+        , Tag2\r
+        >\r
+{\r
+    typedef lambda< F,Tag2 > l1;\r
+    typedef lambda< Tag1,Tag2 > l2;\r
+    \r
+    typedef typename l1::is_le is_le;\r
+    typedef aux::le_result2<is_le, Tag2, mpl::lambda, l1, l2> le_result_;\r
+    typedef typename le_result_::result_ result_;\r
+    typedef typename le_result_::type type;\r
+};\r
+\r
+#endif\r
+\r
+#   undef AUX778076_ARITY_PARAM\r
+#   undef AUX778076_BIND_N_PARAMS\r
+#   undef AUX778076_BIND_PARAMS\r
+#   undef AUX778076_LAMBDA_PARAMS\r
+\r
+#if !defined(BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING)\r
+BOOST_MPL_AUX_NA_SPEC(2, lambda)\r
+#else\r
+BOOST_MPL_AUX_NA_SPEC2(2, 3, lambda)\r
+#endif\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS\r
+#endif // BOOST_MPL_AUX_FULL_LAMBDA_HPP_INCLUDED\r
+\r
+///// iteration, depth == 1\r
+\r
+// For gcc 4.4 compatability, we must include the\r
+// BOOST_PP_ITERATION_DEPTH test inside an #else clause.\r
+#else // BOOST_PP_IS_ITERATING\r
+#if BOOST_PP_ITERATION_DEPTH() == 1\r
+#define i_ BOOST_PP_FRAME_ITERATION(1)\r
+\r
+#if i_ > 0\r
+\r
+namespace aux {\r
+\r
+#   define AUX778076_RESULT(unused, i_, T) \\r
+    BOOST_PP_COMMA_IF(i_) \\r
+    typename BOOST_PP_CAT(T, BOOST_PP_INC(i_))::result_ \\r
+    /**/\r
+\r
+#   define AUX778076_TYPE(unused, i_, T) \\r
+    BOOST_PP_COMMA_IF(i_) \\r
+    typename BOOST_PP_CAT(T, BOOST_PP_INC(i_))::type \\r
+    /**/\r
+\r
+template<\r
+      typename IsLE, typename Tag\r
+    , template< AUX778076_LAMBDA_PARAMS(i_, typename P) > class F\r
+    , AUX778076_LAMBDA_PARAMS(i_, typename L)\r
+    >\r
+struct BOOST_PP_CAT(le_result,i_)\r
+{\r
+    typedef F<\r
+          BOOST_MPL_PP_REPEAT(i_, AUX778076_TYPE, L)\r
+        > result_;\r
+    \r
+    typedef result_ type;\r
+};\r
+\r
+template<\r
+      typename Tag\r
+    , template< AUX778076_LAMBDA_PARAMS(i_, typename P) > class F\r
+    , AUX778076_LAMBDA_PARAMS(i_, typename L)\r
+    >\r
+struct BOOST_PP_CAT(le_result,i_)< true_,Tag,F,AUX778076_LAMBDA_PARAMS(i_, L) >\r
+{\r
+    typedef BOOST_PP_CAT(bind,i_)<\r
+          BOOST_PP_CAT(quote,i_)<F,Tag>\r
+        , BOOST_MPL_PP_REPEAT(i_, AUX778076_RESULT, L)\r
+        > result_;\r
+\r
+    typedef mpl::protect<result_> type;\r
+};\r
+\r
+#   undef AUX778076_TYPE\r
+#   undef AUX778076_RESULT\r
+\r
+} // namespace aux\r
+\r
+\r
+#   define AUX778076_LAMBDA_TYPEDEF(unused, i_, T) \\r
+    typedef lambda< BOOST_PP_CAT(T, BOOST_PP_INC(i_)), Tag > \\r
+        BOOST_PP_CAT(l,BOOST_PP_INC(i_)); \\r
+/**/\r
+\r
+#   define AUX778076_IS_LE_TYPEDEF(unused, i_, unused2) \\r
+    typedef typename BOOST_PP_CAT(l,BOOST_PP_INC(i_))::is_le \\r
+        BOOST_PP_CAT(is_le,BOOST_PP_INC(i_)); \\r
+/**/\r
+\r
+#   define AUX778076_IS_LAMBDA_EXPR(unused, i_, unused2) \\r
+    BOOST_PP_COMMA_IF(i_) \\r
+    BOOST_PP_CAT(is_le,BOOST_PP_INC(i_))::value \\r
+/**/\r
+\r
+template<\r
+      template< AUX778076_LAMBDA_PARAMS(i_, typename P) > class F\r
+    , AUX778076_LAMBDA_PARAMS(i_, typename T)\r
+    , typename Tag\r
+    >\r
+struct lambda< \r
+          F<AUX778076_LAMBDA_PARAMS(i_, T)>\r
+        , Tag\r
+        AUX778076_ARITY_PARAM(int_<i_>)\r
+        >\r
+{\r
+    BOOST_MPL_PP_REPEAT(i_, AUX778076_LAMBDA_TYPEDEF, T)\r
+    BOOST_MPL_PP_REPEAT(i_, AUX778076_IS_LE_TYPEDEF, unused)\r
+\r
+    typedef typename aux::lambda_or<\r
+          BOOST_MPL_PP_REPEAT(i_, AUX778076_IS_LAMBDA_EXPR, unused)\r
+        >::type is_le;\r
+\r
+    typedef aux::BOOST_PP_CAT(le_result,i_)<\r
+          is_le, Tag, F, AUX778076_LAMBDA_PARAMS(i_, l)\r
+        > le_result_;\r
+    \r
+    typedef typename le_result_::result_ result_;\r
+    typedef typename le_result_::type type;\r
+};\r
+\r
+\r
+#   undef AUX778076_IS_LAMBDA_EXPR\r
+#   undef AUX778076_IS_LE_TYPEDEF\r
+#   undef AUX778076_LAMBDA_TYPEDEF\r
+\r
+#endif // i_ > 0\r
+\r
+template<\r
+      typename F AUX778076_BIND_N_PARAMS(i_, typename T)\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          BOOST_PP_CAT(bind,i_)<F AUX778076_BIND_N_PARAMS(i_, T)>\r
+        , Tag\r
+        AUX778076_ARITY_PARAM(int_<BOOST_PP_INC(i_)>)\r
+        >\r
+{\r
+    typedef false_ is_le;\r
+    typedef BOOST_PP_CAT(bind,i_)<\r
+          F\r
+        AUX778076_BIND_N_PARAMS(i_, T)\r
+        > result_;\r
+        \r
+    typedef result_ type;\r
+};\r
+\r
+#undef i_\r
+#endif // BOOST_PP_ITERATION_DEPTH()\r
+#endif // BOOST_PP_IS_ITERATING\r
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 (file)
index 0000000..90cd128
--- /dev/null
@@ -0,0 +1,32 @@
+\r
+#ifndef BOOST_MPL_AUX_HAS_APPLY_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_HAS_APPLY_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: has_apply.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/has_xxx.hpp>\r
+#include <boost/mpl/aux_/config/has_apply.hpp>\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+#if !defined(BOOST_MPL_CFG_NO_HAS_APPLY)\r
+BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(has_apply, apply, false)\r
+#else\r
+template< typename T, typename fallback_ = false_ >\r
+struct has_apply\r
+    : fallback_\r
+{\r
+};\r
+#endif\r
+}}}\r
+\r
+#endif // BOOST_MPL_AUX_HAS_APPLY_HPP_INCLUDED\r
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 (file)
index 0000000..65de3e3
--- /dev/null
@@ -0,0 +1,23 @@
+\r
+#ifndef BOOST_MPL_AUX_HAS_BEGIN_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_HAS_BEGIN_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2002-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: has_begin.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/has_xxx.hpp>\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(has_begin, begin, true)\r
+}}}\r
+\r
+#endif // BOOST_MPL_AUX_HAS_BEGIN_HPP_INCLUDED\r
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 (file)
index 0000000..b4a6d96
--- /dev/null
@@ -0,0 +1,34 @@
+\r
+#ifndef BOOST_MPL_AUX_HAS_KEY_IMPL_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_HAS_KEY_IMPL_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2002-2004\r
+// Copyright David Abrahams 2003\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: has_key_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/has_key_fwd.hpp>\r
+#include <boost/mpl/aux_/traits_lambda_spec.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+// no default implementation; the definition is needed to make MSVC happy \r
+\r
+template< typename Tag > struct has_key_impl\r
+{\r
+    template< typename AssociativeSequence, typename Key > struct apply;\r
+};\r
+\r
+BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(2,has_key_impl)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_AUX_HAS_KEY_IMPL_HPP_INCLUDED\r
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 (file)
index 0000000..b2f6268
--- /dev/null
@@ -0,0 +1,99 @@
+\r
+#ifndef BOOST_MPL_AUX_HAS_REBIND_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_HAS_REBIND_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2002-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: has_rebind.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/aux_/config/msvc.hpp>\r
+#include <boost/mpl/aux_/config/intel.hpp>\r
+#include <boost/mpl/aux_/config/workaround.hpp>\r
+\r
+#if BOOST_WORKAROUND(__EDG_VERSION__, <= 244) && !defined(BOOST_INTEL_CXX_VERSION)\r
+#   include <boost/mpl/has_xxx.hpp>\r
+#elif BOOST_WORKAROUND(BOOST_MSVC, < 1300)\r
+#   include <boost/mpl/has_xxx.hpp>\r
+#   include <boost/mpl/if.hpp>\r
+#   include <boost/mpl/bool.hpp>\r
+#   include <boost/mpl/aux_/msvc_is_class.hpp>\r
+#elif BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610))\r
+#   include <boost/mpl/if.hpp>\r
+#   include <boost/mpl/bool.hpp>\r
+#   include <boost/mpl/aux_/yes_no.hpp>\r
+#   include <boost/mpl/aux_/config/static_constant.hpp>\r
+#   include <boost/type_traits/is_class.hpp>\r
+#else\r
+#   include <boost/mpl/aux_/type_wrapper.hpp>\r
+#   include <boost/mpl/aux_/yes_no.hpp>\r
+#   include <boost/mpl/aux_/config/static_constant.hpp>\r
+#endif\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+#if BOOST_WORKAROUND(__EDG_VERSION__, <= 244) && !defined(BOOST_INTEL_CXX_VERSION)\r
+\r
+BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(has_rebind, rebind, false)\r
+\r
+#elif BOOST_WORKAROUND(BOOST_MSVC, < 1300)\r
+\r
+BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(has_rebind_impl, rebind, false)\r
+\r
+template< typename T >\r
+struct has_rebind\r
+    : if_< \r
+          msvc_is_class<T>\r
+        , has_rebind_impl<T>\r
+        , bool_<false>\r
+        >::type\r
+{\r
+};\r
+\r
+#else // the rest\r
+\r
+template< typename T > struct has_rebind_tag {};\r
+no_tag operator|(has_rebind_tag<int>, void const volatile*);\r
+\r
+#   if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610))\r
+template< typename T >\r
+struct has_rebind\r
+{\r
+    static has_rebind_tag<T>* get();\r
+    BOOST_STATIC_CONSTANT(bool, value = \r
+          sizeof(has_rebind_tag<int>() | get()) == sizeof(yes_tag)\r
+        );\r
+};\r
+#   else // __BORLANDC__\r
+template< typename T >\r
+struct has_rebind_impl\r
+{\r
+    static T* get();\r
+    BOOST_STATIC_CONSTANT(bool, value = \r
+          sizeof(has_rebind_tag<int>() | get()) == sizeof(yes_tag)\r
+        );\r
+};\r
+\r
+template< typename T >\r
+struct has_rebind\r
+    : if_< \r
+          is_class<T>\r
+        , has_rebind_impl<T>\r
+        , bool_<false>\r
+        >::type\r
+{\r
+};\r
+#   endif // __BORLANDC__\r
+\r
+#endif\r
+\r
+}}}\r
+\r
+#endif // BOOST_MPL_AUX_HAS_REBIND_HPP_INCLUDED\r
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 (file)
index 0000000..2fbcd13
--- /dev/null
@@ -0,0 +1,23 @@
+\r
+#ifndef BOOST_MPL_AUX_HAS_SIZE_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_HAS_SIZE_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2002-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: has_size.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/has_xxx.hpp>\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+BOOST_MPL_HAS_XXX_TRAIT_DEF(size)\r
+}}}\r
+\r
+#endif // BOOST_MPL_AUX_HAS_SIZE_HPP_INCLUDED\r
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 (file)
index 0000000..927f2fd
--- /dev/null
@@ -0,0 +1,23 @@
+\r
+#ifndef BOOST_MPL_AUX_HAS_TAG_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_HAS_TAG_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2002-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: has_tag.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/has_xxx.hpp>\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(has_tag, tag, false)\r
+}}}\r
+\r
+#endif // BOOST_MPL_AUX_HAS_TAG_HPP_INCLUDED\r
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 (file)
index 0000000..a6066ad
--- /dev/null
@@ -0,0 +1,23 @@
+\r
+#ifndef BOOST_MPL_AUX_HAS_TYPE_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_HAS_TYPE_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2002-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: has_type.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/has_xxx.hpp>\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(has_type, type, true)\r
+}}}\r
+\r
+#endif // BOOST_MPL_AUX_HAS_TYPE_HPP_INCLUDED\r
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 (file)
index 0000000..a9ab945
--- /dev/null
@@ -0,0 +1,42 @@
+\r
+// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2006\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: include_preprocessed.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/aux_/config/compiler.hpp>\r
+#include <boost/mpl/aux_/config/preprocessor.hpp>\r
+#include <boost/mpl/aux_/config/workaround.hpp>\r
+#include <boost/preprocessor/cat.hpp>\r
+#include <boost/preprocessor/stringize.hpp>\r
+\r
+#if !defined(BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING)\r
+#   define AUX778076_PREPROCESSED_HEADER \\r
+    BOOST_MPL_CFG_COMPILER_DIR/BOOST_MPL_PREPROCESSED_HEADER \\r
+/**/\r
+#else\r
+#   define AUX778076_PREPROCESSED_HEADER \\r
+    BOOST_PP_CAT(BOOST_MPL_CFG_COMPILER_DIR,/)##BOOST_MPL_PREPROCESSED_HEADER \\r
+/**/\r
+#endif\r
+\r
+#if BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(700))\r
+#   define AUX778076_INCLUDE_STRING BOOST_PP_STRINGIZE(boost/mpl/aux_/preprocessed/AUX778076_PREPROCESSED_HEADER)\r
+#   include AUX778076_INCLUDE_STRING\r
+#   undef AUX778076_INCLUDE_STRING\r
+#else\r
+#   include BOOST_PP_STRINGIZE(boost/mpl/aux_/preprocessed/AUX778076_PREPROCESSED_HEADER)\r
+#endif\r
+\r
+#   undef AUX778076_PREPROCESSED_HEADER\r
+\r
+#undef BOOST_MPL_PREPROCESSED_HEADER\r
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 (file)
index 0000000..08a4041
--- /dev/null
@@ -0,0 +1,68 @@
+\r
+#ifndef BOOST_MPL_INSERT_IMPL_HPP_INCLUDED\r
+#define BOOST_MPL_INSERT_IMPL_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: insert_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/reverse_fold.hpp>\r
+#include <boost/mpl/iterator_range.hpp>\r
+#include <boost/mpl/clear.hpp>\r
+#include <boost/mpl/push_front.hpp>\r
+#include <boost/mpl/aux_/na_spec.hpp>\r
+#include <boost/mpl/aux_/traits_lambda_spec.hpp>\r
+#include <boost/type_traits/is_same.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+// default implementation; conrete sequences might override it by \r
+// specializing either the 'insert_impl' or the primary 'insert' template\r
+\r
+template< typename Tag >\r
+struct insert_impl\r
+{\r
+    template<\r
+          typename Sequence\r
+        , typename Pos\r
+        , typename T\r
+        >\r
+    struct apply\r
+    {\r
+        typedef iterator_range<\r
+              typename begin<Sequence>::type\r
+            , Pos\r
+            > first_half_;\r
+\r
+        typedef iterator_range<\r
+              Pos\r
+            , typename end<Sequence>::type\r
+            > second_half_;\r
+\r
+        typedef typename reverse_fold<\r
+              second_half_\r
+            , typename clear<Sequence>::type\r
+            , push_front<_,_>\r
+            >::type half_sequence_;\r
+\r
+        typedef typename reverse_fold<\r
+              first_half_\r
+            , typename push_front<half_sequence_,T>::type\r
+            , push_front<_,_>\r
+            >::type type;\r
+    };\r
+};\r
+\r
+BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(3,insert_impl)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_INSERT_IMPL_HPP_INCLUDED\r
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 (file)
index 0000000..a2ea060
--- /dev/null
@@ -0,0 +1,77 @@
+\r
+#ifndef BOOST_MPL_AUX_INSERT_RANGE_IMPL_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_INSERT_RANGE_IMPL_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: insert_range_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/copy.hpp>\r
+#include <boost/mpl/clear.hpp>\r
+#include <boost/mpl/front_inserter.hpp>\r
+#include <boost/mpl/joint_view.hpp>\r
+#include <boost/mpl/iterator_range.hpp>\r
+#include <boost/mpl/aux_/na_spec.hpp>\r
+#include <boost/mpl/aux_/iter_push_front.hpp>\r
+#include <boost/mpl/aux_/traits_lambda_spec.hpp>\r
+#include <boost/mpl/aux_/config/forwarding.hpp>\r
+\r
+#include <boost/type_traits/same_traits.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+// default implementation; conrete sequences might override it by \r
+// specializing either the 'insert_range_impl' or the primary \r
+// 'insert_range' template\r
+\r
+\r
+template< typename Tag >\r
+struct insert_range_impl\r
+{\r
+    template<\r
+          typename Sequence\r
+        , typename Pos\r
+        , typename Range\r
+        >\r
+    struct apply\r
+#if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING)\r
+        : reverse_copy<\r
+              joint_view< \r
+                  iterator_range<typename begin<Sequence>::type,Pos>\r
+                , joint_view< \r
+                      Range\r
+                    , iterator_range<Pos,typename end<Sequence>::type>\r
+                    >\r
+                >\r
+            , front_inserter< typename clear<Sequence>::type >\r
+            >\r
+    {\r
+#else\r
+    {\r
+        typedef typename reverse_copy<\r
+              joint_view< \r
+                  iterator_range<typename begin<Sequence>::type,Pos>\r
+                , joint_view< \r
+                      Range\r
+                    , iterator_range<Pos,typename end<Sequence>::type>\r
+                    >\r
+                >\r
+            , front_inserter< typename clear<Sequence>::type >\r
+            >::type type;\r
+#endif\r
+    };\r
+};\r
+\r
+BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(3,insert_range_impl)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_AUX_INSERT_RANGE_IMPL_HPP_INCLUDED\r
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 (file)
index 0000000..a27e32a
--- /dev/null
@@ -0,0 +1,159 @@
+\r
+#ifndef BOOST_MPL_AUX_INSERTER_ALGORITHM_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_INSERTER_ALGORITHM_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2003-2004\r
+// Copyright David Abrahams 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: inserter_algorithm.hpp 55648 2009-08-18 05:16:53Z agurtovoy $\r
+// $Date: 2009-08-18 01:16:53 -0400 (Tue, 18 Aug 2009) $\r
+// $Revision: 55648 $\r
+\r
+#include <boost/mpl/back_inserter.hpp>\r
+#include <boost/mpl/front_inserter.hpp>\r
+#include <boost/mpl/push_back.hpp>\r
+#include <boost/mpl/push_front.hpp>\r
+#include <boost/mpl/back_inserter.hpp>\r
+#include <boost/mpl/front_inserter.hpp>\r
+#include <boost/mpl/clear.hpp>\r
+#include <boost/mpl/eval_if.hpp>\r
+#include <boost/mpl/if.hpp>\r
+#include <boost/mpl/aux_/na.hpp>\r
+#include <boost/mpl/aux_/common_name_wknd.hpp>\r
+#include <boost/mpl/aux_/na_spec.hpp>\r
+#include <boost/mpl/aux_/preprocessor/params.hpp>\r
+#include <boost/mpl/aux_/preprocessor/default_params.hpp>\r
+#include <boost/mpl/aux_/config/ctps.hpp>\r
+\r
+#include <boost/preprocessor/arithmetic/dec.hpp>\r
+\r
+#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)\r
+\r
+#   define BOOST_MPL_AUX_INSERTER_ALGORITHM_DEF(arity, name) \\r
+BOOST_MPL_AUX_COMMON_NAME_WKND(name) \\r
+template< \\r
+      BOOST_MPL_PP_DEFAULT_PARAMS(arity, typename P, na) \\r
+    > \\r
+struct name \\r
+    : aux::name##_impl<BOOST_MPL_PP_PARAMS(arity, P)> \\r
+{ \\r
+}; \\r
+\\r
+template< \\r
+      BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), typename P) \\r
+    > \\r
+struct name< BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), P),na > \\r
+    : if_< has_push_back< typename clear<P1>::type> \\r
+        , aux::name##_impl< \\r
+              BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), P) \\r
+            , back_inserter< typename clear<P1>::type > \\r
+            > \\r
+        , aux::reverse_##name##_impl< \\r
+              BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), P) \\r
+            , front_inserter< typename clear<P1>::type > \\r
+            > \\r
+        >::type \\r
+{ \\r
+}; \\r
+\\r
+template< \\r
+      BOOST_MPL_PP_DEFAULT_PARAMS(arity, typename P, na) \\r
+    > \\r
+struct reverse_##name \\r
+    : aux::reverse_##name##_impl<BOOST_MPL_PP_PARAMS(arity, P)> \\r
+{ \\r
+}; \\r
+\\r
+template< \\r
+      BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), typename P) \\r
+    > \\r
+struct reverse_##name< BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), P),na > \\r
+    : if_< has_push_back<P1> \\r
+        , aux::reverse_##name##_impl< \\r
+              BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), P) \\r
+            , back_inserter< typename clear<P1>::type > \\r
+            > \\r
+        , aux::name##_impl< \\r
+              BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), P) \\r
+            , front_inserter< typename clear<P1>::type > \\r
+            > \\r
+        >::type \\r
+{ \\r
+}; \\r
+BOOST_MPL_AUX_NA_SPEC(arity, name) \\r
+BOOST_MPL_AUX_NA_SPEC(arity, reverse_##name) \\r
+/**/\r
+\r
+#else\r
+\r
+#   define BOOST_MPL_AUX_INSERTER_ALGORITHM_DEF(arity, name) \\r
+BOOST_MPL_AUX_COMMON_NAME_WKND(name) \\r
+template< \\r
+      BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), typename P) \\r
+    > \\r
+struct def_##name##_impl \\r
+    : if_< has_push_back<P1> \\r
+        , aux::name##_impl< \\r
+              BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), P) \\r
+            , back_inserter< typename clear<P1>::type > \\r
+            > \\r
+        , aux::reverse_##name##_impl< \\r
+              BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), P) \\r
+            , front_inserter< typename clear<P1>::type > \\r
+            > \\r
+        >::type \\r
+{ \\r
+}; \\r
+\\r
+template< \\r
+      BOOST_MPL_PP_DEFAULT_PARAMS(arity, typename P, na) \\r
+    > \\r
+struct name \\r
+{ \\r
+    typedef typename eval_if< \\r
+          is_na<BOOST_PP_CAT(P, arity)> \\r
+        , def_##name##_impl<BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), P)> \\r
+        , aux::name##_impl<BOOST_MPL_PP_PARAMS(arity, P)> \\r
+        >::type type; \\r
+}; \\r
+\\r
+template< \\r
+      BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), typename P) \\r
+    > \\r
+struct def_reverse_##name##_impl \\r
+    : if_< has_push_back<P1> \\r
+        , aux::reverse_##name##_impl< \\r
+              BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), P) \\r
+            , back_inserter< typename clear<P1>::type > \\r
+            > \\r
+        , aux::name##_impl< \\r
+              BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), P) \\r
+            , front_inserter< typename clear<P1>::type > \\r
+            > \\r
+        >::type \\r
+{ \\r
+}; \\r
+template< \\r
+      BOOST_MPL_PP_DEFAULT_PARAMS(arity, typename P, na) \\r
+    > \\r
+struct reverse_##name \\r
+{ \\r
+    typedef typename eval_if< \\r
+          is_na<BOOST_PP_CAT(P, arity)> \\r
+        , def_reverse_##name##_impl<BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), P)> \\r
+        , aux::reverse_##name##_impl<BOOST_MPL_PP_PARAMS(arity, P)> \\r
+        >::type type; \\r
+}; \\r
+BOOST_MPL_AUX_NA_SPEC(arity, name) \\r
+BOOST_MPL_AUX_NA_SPEC(arity, reverse_##name) \\r
+/**/\r
+\r
+#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+\r
+#endif // BOOST_MPL_AUX_INSERTER_ALGORITHM_HPP_INCLUDED\r
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 (file)
index 0000000..3c859d3
--- /dev/null
@@ -0,0 +1,93 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2006\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: integral_wrapper.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION!\r
+\r
+#include <boost/mpl/integral_c_tag.hpp>\r
+#include <boost/mpl/aux_/static_cast.hpp>\r
+#include <boost/mpl/aux_/nttp_decl.hpp>\r
+#include <boost/mpl/aux_/config/static_constant.hpp>\r
+#include <boost/mpl/aux_/config/workaround.hpp>\r
+\r
+#include <boost/preprocessor/cat.hpp>\r
+\r
+#if !defined(AUX_WRAPPER_NAME)\r
+#   define AUX_WRAPPER_NAME BOOST_PP_CAT(AUX_WRAPPER_VALUE_TYPE,_)\r
+#endif\r
+\r
+#if !defined(AUX_WRAPPER_PARAMS)\r
+#   define AUX_WRAPPER_PARAMS(N) BOOST_MPL_AUX_NTTP_DECL(AUX_WRAPPER_VALUE_TYPE, N)\r
+#endif\r
+\r
+#if !defined(AUX_WRAPPER_INST)\r
+#   if BOOST_WORKAROUND(__MWERKS__, <= 0x2407)\r
+#       define AUX_WRAPPER_INST(value) AUX_WRAPPER_NAME< value >\r
+#   else \r
+#       define AUX_WRAPPER_INST(value) BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::AUX_WRAPPER_NAME< value >\r
+#   endif\r
+#endif\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+\r
+template< AUX_WRAPPER_PARAMS(N) >\r
+struct AUX_WRAPPER_NAME\r
+{\r
+    BOOST_STATIC_CONSTANT(AUX_WRAPPER_VALUE_TYPE, value = N);\r
+// agurt, 08/mar/03: SGI MIPSpro C++ workaround, have to #ifdef because some \r
+// other compilers (e.g. MSVC) are not particulary happy about it\r
+#if BOOST_WORKAROUND(__EDG_VERSION__, <= 238)\r
+    typedef struct AUX_WRAPPER_NAME type;\r
+#else\r
+    typedef AUX_WRAPPER_NAME type;\r
+#endif\r
+    typedef AUX_WRAPPER_VALUE_TYPE value_type;\r
+    typedef integral_c_tag tag;\r
+\r
+// have to #ifdef here: some compilers don't like the 'N + 1' form (MSVC),\r
+// while some other don't like 'value + 1' (Borland), and some don't like\r
+// either\r
+#if BOOST_WORKAROUND(__EDG_VERSION__, <= 243)\r
+ private:\r
+    BOOST_STATIC_CONSTANT(AUX_WRAPPER_VALUE_TYPE, next_value = BOOST_MPL_AUX_STATIC_CAST(AUX_WRAPPER_VALUE_TYPE, (N + 1)));\r
+    BOOST_STATIC_CONSTANT(AUX_WRAPPER_VALUE_TYPE, prior_value = BOOST_MPL_AUX_STATIC_CAST(AUX_WRAPPER_VALUE_TYPE, (N - 1)));\r
+ public:\r
+    typedef AUX_WRAPPER_INST(next_value) next;\r
+    typedef AUX_WRAPPER_INST(prior_value) prior;\r
+#elif BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x561)) \\r
+    || BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(502)) \\r
+    || (BOOST_WORKAROUND(__HP_aCC, <= 53800) && (BOOST_WORKAROUND(__hpxstd98, != 1)))\r
+    typedef AUX_WRAPPER_INST( BOOST_MPL_AUX_STATIC_CAST(AUX_WRAPPER_VALUE_TYPE, (N + 1)) ) next;\r
+    typedef AUX_WRAPPER_INST( BOOST_MPL_AUX_STATIC_CAST(AUX_WRAPPER_VALUE_TYPE, (N - 1)) ) prior;\r
+#else\r
+    typedef AUX_WRAPPER_INST( BOOST_MPL_AUX_STATIC_CAST(AUX_WRAPPER_VALUE_TYPE, (value + 1)) ) next;\r
+    typedef AUX_WRAPPER_INST( BOOST_MPL_AUX_STATIC_CAST(AUX_WRAPPER_VALUE_TYPE, (value - 1)) ) prior;\r
+#endif\r
+\r
+    // enables uniform function call syntax for families of overloaded \r
+    // functions that return objects of both arithmetic ('int', 'long',\r
+    // 'double', etc.) and wrapped integral types (for an example, see \r
+    // "mpl/example/power.cpp")\r
+    operator AUX_WRAPPER_VALUE_TYPE() const { return static_cast<AUX_WRAPPER_VALUE_TYPE>(this->value); } \r
+};\r
+\r
+#if !defined(BOOST_NO_INCLASS_MEMBER_INITIALIZATION)\r
+template< AUX_WRAPPER_PARAMS(N) >\r
+AUX_WRAPPER_VALUE_TYPE const AUX_WRAPPER_INST(N)::value;\r
+#endif\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+\r
+#undef AUX_WRAPPER_NAME\r
+#undef AUX_WRAPPER_PARAMS\r
+#undef AUX_WRAPPER_INST\r
+#undef AUX_WRAPPER_VALUE_TYPE\r
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 (file)
index 0000000..db803e2
--- /dev/null
@@ -0,0 +1,64 @@
+\r
+#ifndef BOOST_MPL_AUX_IS_MSVC_ETI_ARG_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_IS_MSVC_ETI_ARG_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: is_msvc_eti_arg.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/aux_/yes_no.hpp>\r
+#include <boost/mpl/aux_/config/eti.hpp>\r
+#include <boost/mpl/aux_/config/static_constant.hpp>\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+#if defined(BOOST_MPL_CFG_MSVC_ETI_BUG)\r
+\r
+#if defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG)\r
+\r
+template< typename T >\r
+struct is_msvc_eti_arg\r
+{ \r
+    BOOST_STATIC_CONSTANT(bool, value = false);\r
+};\r
+\r
+#else // BOOST_MPL_CFG_MSVC_60_ETI_BUG\r
+\r
+struct eti_int_convertible\r
+{\r
+    eti_int_convertible(int);\r
+};\r
+\r
+template< typename T >\r
+struct is_msvc_eti_arg\r
+{ \r
+    static no_tag test(...);\r
+    static yes_tag test(eti_int_convertible);\r
+    static T& get();\r
+\r
+    BOOST_STATIC_CONSTANT(bool, value = \r
+          sizeof(test(get())) == sizeof(yes_tag)\r
+        );\r
+};\r
+\r
+#endif\r
+\r
+template<>\r
+struct is_msvc_eti_arg<int>\r
+{ \r
+    BOOST_STATIC_CONSTANT(bool, value = true);\r
+};\r
+\r
+#endif // BOOST_MPL_CFG_MSVC_ETI_BUG\r
+\r
+}}}\r
+\r
+#endif // BOOST_MPL_AUX_IS_MSVC_ETI_ARG_HPP_INCLUDED\r
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 (file)
index 0000000..9da7e16
--- /dev/null
@@ -0,0 +1,47 @@
+\r
+#ifndef BOOST_MPL_ITER_APPLY_HPP_INCLUDED\r
+#define BOOST_MPL_ITER_APPLY_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2002-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: iter_apply.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/apply.hpp>\r
+#include <boost/mpl/deref.hpp>\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+template<\r
+      typename F\r
+    , typename Iterator\r
+    >\r
+struct iter_apply1\r
+    : apply1< F,typename deref<Iterator>::type >\r
+{\r
+};\r
+\r
+template<\r
+      typename F\r
+    , typename Iterator1\r
+    , typename Iterator2\r
+    >\r
+struct iter_apply2\r
+    : apply2<\r
+          F\r
+        , typename deref<Iterator1>::type\r
+        , typename deref<Iterator2>::type\r
+        >\r
+{\r
+};\r
+\r
+}}}\r
+\r
+#endif // BOOST_MPL_ITER_APPLY_HPP_INCLUDED\r
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 (file)
index 0000000..c1ced94
--- /dev/null
@@ -0,0 +1,210 @@
+\r
+#ifndef BOOST_MPL_AUX_ITER_FOLD_IF_IMPL_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_ITER_FOLD_IF_IMPL_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+// Copyright David Abrahams 2001-2002\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: iter_fold_if_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#if !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+#   include <boost/mpl/identity.hpp>\r
+#   include <boost/mpl/next.hpp>\r
+#   include <boost/mpl/if.hpp>\r
+#   include <boost/mpl/apply.hpp>\r
+#   include <boost/mpl/aux_/value_wknd.hpp>\r
+#endif\r
+\r
+#include <boost/mpl/aux_/config/use_preprocessed.hpp>\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \\r
+    && !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+\r
+#   define BOOST_MPL_PREPROCESSED_HEADER iter_fold_if_impl.hpp\r
+#   include <boost/mpl/aux_/include_preprocessed.hpp>\r
+\r
+#else\r
+\r
+#   include <boost/mpl/limits/unrolling.hpp>\r
+#   include <boost/preprocessor/arithmetic/sub.hpp>\r
+#   include <boost/preprocessor/repeat.hpp>\r
+#   include <boost/preprocessor/inc.hpp>\r
+#   include <boost/preprocessor/dec.hpp>\r
+#   include <boost/preprocessor/cat.hpp>\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+template< typename Iterator, typename State >\r
+struct iter_fold_if_null_step\r
+{\r
+    typedef State state;\r
+    typedef Iterator iterator;\r
+};\r
+\r
+template< bool >\r
+struct iter_fold_if_step_impl\r
+{\r
+    template<\r
+          typename Iterator\r
+        , typename State\r
+        , typename StateOp\r
+        , typename IteratorOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename apply2<StateOp,State,Iterator>::type state;\r
+        typedef typename IteratorOp::type iterator;\r
+    };\r
+};\r
+\r
+template<>\r
+struct iter_fold_if_step_impl<false>\r
+{\r
+    template<\r
+          typename Iterator\r
+        , typename State\r
+        , typename StateOp\r
+        , typename IteratorOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef State state;\r
+        typedef Iterator iterator;\r
+    };\r
+};\r
+\r
+// agurt, 25/jun/02: MSVC 6.5 workaround, had to get rid of inheritance \r
+// here and in 'iter_fold_if_backward_step', because sometimes it interfered \r
+// with the "early template instantiation bug" in _really_ ugly ways\r
+template<\r
+      typename Iterator\r
+    , typename State\r
+    , typename ForwardOp\r
+    , typename Predicate\r
+    >\r
+struct iter_fold_if_forward_step\r
+{\r
+    typedef typename apply2<Predicate,State,Iterator>::type not_last;\r
+    typedef typename iter_fold_if_step_impl<\r
+          BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value\r
+        >::template result_< Iterator,State,ForwardOp,mpl::next<Iterator> > impl_;\r
+\r
+    typedef typename impl_::state state;\r
+    typedef typename impl_::iterator iterator;\r
+};\r
+\r
+template<\r
+      typename Iterator\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename Predicate\r
+    >\r
+struct iter_fold_if_backward_step\r
+{\r
+    typedef typename apply2<Predicate,State,Iterator>::type not_last;\r
+    typedef typename iter_fold_if_step_impl<\r
+          BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value\r
+        >::template result_< Iterator,State,BackwardOp,identity<Iterator> > impl_;\r
+\r
+    typedef typename impl_::state state;\r
+    typedef typename impl_::iterator iterator;\r
+};\r
+\r
+\r
+// local macros, #undef-ined at the end of the header\r
+\r
+#   define AUX_ITER_FOLD_FORWARD_STEP(unused, i, unused2) \\r
+    typedef iter_fold_if_forward_step< \\r
+          typename BOOST_PP_CAT(forward_step,i)::iterator \\r
+        , typename BOOST_PP_CAT(forward_step,i)::state \\r
+        , ForwardOp \\r
+        , ForwardPredicate \\r
+        > BOOST_PP_CAT(forward_step, BOOST_PP_INC(i)); \\r
+    /**/\r
+\r
+#   define AUX_ITER_FOLD_BACKWARD_STEP_FUNC(i) \\r
+    typedef iter_fold_if_backward_step< \\r
+          typename BOOST_PP_CAT(forward_step,BOOST_PP_DEC(i))::iterator \\r
+        , typename BOOST_PP_CAT(backward_step,i)::state \\r
+        , BackwardOp \\r
+        , BackwardPredicate \\r
+        > BOOST_PP_CAT(backward_step,BOOST_PP_DEC(i)); \\r
+    /**/\r
+\r
+#   define AUX_ITER_FOLD_BACKWARD_STEP(unused, i, unused2) \\r
+    AUX_ITER_FOLD_BACKWARD_STEP_FUNC( \\r
+        BOOST_PP_SUB_D(1,BOOST_MPL_LIMIT_UNROLLING,i) \\r
+        ) \\r
+    /**/\r
+\r
+#   define AUX_LAST_FORWARD_STEP \\r
+    BOOST_PP_CAT(forward_step, BOOST_MPL_LIMIT_UNROLLING) \\r
+    /**/\r
+\r
+#   define AUX_LAST_BACKWARD_STEP \\r
+    BOOST_PP_CAT(backward_step, BOOST_MPL_LIMIT_UNROLLING) \\r
+    /**/\r
+\r
+template<\r
+      typename Iterator\r
+    , typename State\r
+    , typename ForwardOp\r
+    , typename ForwardPredicate\r
+    , typename BackwardOp\r
+    , typename BackwardPredicate\r
+    >\r
+struct iter_fold_if_impl\r
+{\r
+ private:\r
+    typedef iter_fold_if_null_step<Iterator,State> forward_step0;\r
+    BOOST_PP_REPEAT(\r
+          BOOST_MPL_LIMIT_UNROLLING\r
+        , AUX_ITER_FOLD_FORWARD_STEP\r
+        , unused\r
+        )\r
+    \r
+    typedef typename if_<\r
+          typename AUX_LAST_FORWARD_STEP::not_last\r
+        , iter_fold_if_impl<\r
+              typename AUX_LAST_FORWARD_STEP::iterator\r
+            , typename AUX_LAST_FORWARD_STEP::state\r
+            , ForwardOp\r
+            , ForwardPredicate\r
+            , BackwardOp\r
+            , BackwardPredicate\r
+            >\r
+        , iter_fold_if_null_step<\r
+              typename AUX_LAST_FORWARD_STEP::iterator\r
+            , typename AUX_LAST_FORWARD_STEP::state\r
+            >\r
+        >::type AUX_LAST_BACKWARD_STEP;\r
+\r
+    BOOST_PP_REPEAT(\r
+          BOOST_MPL_LIMIT_UNROLLING\r
+        , AUX_ITER_FOLD_BACKWARD_STEP\r
+        , unused\r
+        )\r
+\r
+ public:\r
+    typedef typename backward_step0::state state;\r
+    typedef typename AUX_LAST_BACKWARD_STEP::iterator iterator;\r
+};\r
+\r
+#   undef AUX_LAST_BACKWARD_STEP\r
+#   undef AUX_LAST_FORWARD_STEP\r
+#   undef AUX_ITER_FOLD_BACKWARD_STEP\r
+#   undef AUX_ITER_FOLD_BACKWARD_STEP_FUNC\r
+#   undef AUX_ITER_FOLD_FORWARD_STEP\r
+\r
+}}}\r
+\r
+#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS\r
+#endif // BOOST_MPL_AUX_ITER_FOLD_IF_IMPL_HPP_INCLUDED\r
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 (file)
index 0000000..d4e9110
--- /dev/null
@@ -0,0 +1,42 @@
+\r
+#ifndef BOOST_MPL_AUX_ITER_FOLD_IMPL_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_ITER_FOLD_IMPL_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: iter_fold_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#if !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+#   include <boost/mpl/next_prior.hpp>\r
+#   include <boost/mpl/apply.hpp>\r
+#   include <boost/mpl/aux_/config/ctps.hpp>\r
+#   if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)\r
+#       include <boost/mpl/if.hpp>\r
+#       include <boost/type_traits/is_same.hpp>\r
+#   endif\r
+#endif\r
+\r
+#include <boost/mpl/aux_/config/use_preprocessed.hpp>\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \\r
+    && !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+\r
+#   define BOOST_MPL_PREPROCESSED_HEADER iter_fold_impl.hpp\r
+#   include <boost/mpl/aux_/include_preprocessed.hpp>\r
+\r
+#else\r
+\r
+#   define AUX778076_FOLD_IMPL_OP(iter) iter\r
+#   define AUX778076_FOLD_IMPL_NAME_PREFIX iter_fold\r
+#   include <boost/mpl/aux_/fold_impl_body.hpp>\r
+\r
+#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS\r
+#endif // BOOST_MPL_AUX_ITER_FOLD_IMPL_HPP_INCLUDED\r
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 (file)
index 0000000..339f6ae
--- /dev/null
@@ -0,0 +1,36 @@
+\r
+#ifndef BOOST_MPL_ITER_PUSH_FRONT_HPP_INCLUDED\r
+#define BOOST_MPL_ITER_PUSH_FRONT_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2002-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: iter_push_front.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/push_front.hpp>\r
+#include <boost/mpl/deref.hpp>\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+template<\r
+      typename Sequence\r
+    , typename Iterator\r
+    >\r
+struct iter_push_front\r
+{\r
+    typedef typename push_front<\r
+          Sequence\r
+        , typename deref<Iterator>::type\r
+        >::type type;\r
+};\r
+\r
+}}}\r
+\r
+#endif // BOOST_MPL_ITER_PUSH_FRONT_HPP_INCLUDED\r
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 (file)
index 0000000..eb14253
--- /dev/null
@@ -0,0 +1,120 @@
+\r
+#ifndef BOOST_MPL_AUX_JOINT_ITER_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_JOINT_ITER_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: joint_iter.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/next_prior.hpp>\r
+#include <boost/mpl/deref.hpp>\r
+#include <boost/mpl/iterator_tags.hpp>\r
+#include <boost/mpl/aux_/lambda_spec.hpp>\r
+#include <boost/mpl/aux_/config/ctps.hpp>\r
+\r
+#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)\r
+#   include <boost/type_traits/is_same.hpp>\r
+#endif\r
+\r
+namespace boost { namespace mpl {\r
+\r
+#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)\r
+\r
+template<\r
+      typename Iterator1\r
+    , typename LastIterator1\r
+    , typename Iterator2\r
+    >\r
+struct joint_iter\r
+{\r
+    typedef Iterator1 base;\r
+    typedef forward_iterator_tag category;\r
+};\r
+\r
+template<\r
+      typename LastIterator1\r
+    , typename Iterator2\r
+    >\r
+struct joint_iter<LastIterator1,LastIterator1,Iterator2>\r
+{\r
+    typedef Iterator2 base;\r
+    typedef forward_iterator_tag category;\r
+};\r
+\r
+\r
+template< typename I1, typename L1, typename I2 >\r
+struct deref< joint_iter<I1,L1,I2> >\r
+{\r
+    typedef typename joint_iter<I1,L1,I2>::base base_;\r
+    typedef typename deref<base_>::type type;\r
+};\r
+\r
+template< typename I1, typename L1, typename I2 >\r
+struct next< joint_iter<I1,L1,I2> >\r
+{\r
+    typedef joint_iter< typename mpl::next<I1>::type,L1,I2 > type;\r
+};\r
+\r
+template< typename L1, typename I2 >\r
+struct next< joint_iter<L1,L1,I2> >\r
+{\r
+    typedef joint_iter< L1,L1,typename mpl::next<I2>::type > type;\r
+};\r
+\r
+#else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+\r
+template<\r
+      typename Iterator1\r
+    , typename LastIterator1\r
+    , typename Iterator2\r
+    >\r
+struct joint_iter;\r
+\r
+template< bool > struct joint_iter_impl\r
+{\r
+    template< typename I1, typename L1, typename I2 > struct result_\r
+    {\r
+        typedef I1 base;\r
+        typedef forward_iterator_tag category;\r
+        typedef joint_iter< typename mpl::next<I1>::type,L1,I2 > next;\r
+        typedef typename deref<I1>::type type;\r
+    };\r
+};\r
+\r
+template<> struct joint_iter_impl<true>\r
+{\r
+    template< typename I1, typename L1, typename I2 > struct result_\r
+    {\r
+        typedef I2 base;\r
+        typedef forward_iterator_tag category;\r
+        typedef joint_iter< L1,L1,typename mpl::next<I2>::type > next;\r
+        typedef typename deref<I2>::type type;\r
+    };\r
+};\r
+\r
+template<\r
+      typename Iterator1\r
+    , typename LastIterator1\r
+    , typename Iterator2\r
+    >\r
+struct joint_iter\r
+    : joint_iter_impl< is_same<Iterator1,LastIterator1>::value >\r
+        ::template result_<Iterator1,LastIterator1,Iterator2>\r
+{\r
+};\r
+\r
+#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+\r
+BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(3, joint_iter)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_AUX_JOINT_ITER_HPP_INCLUDED\r
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 (file)
index 0000000..919184f
--- /dev/null
@@ -0,0 +1,25 @@
+\r
+#ifndef BOOST_MPL_AUX_LAMBDA_ARITY_PARAM_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_LAMBDA_ARITY_PARAM_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: lambda_arity_param.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/aux_/config/ttp.hpp>\r
+\r
+#if !defined(BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING)\r
+#   define BOOST_MPL_AUX_LAMBDA_ARITY_PARAM(param)    \r
+#else\r
+#   define BOOST_MPL_AUX_LAMBDA_ARITY_PARAM(param) , param\r
+#endif\r
+\r
+#endif // BOOST_MPL_AUX_LAMBDA_ARITY_PARAM_HPP_INCLUDED\r
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 (file)
index 0000000..bdf5452
--- /dev/null
@@ -0,0 +1,193 @@
+\r
+#if !defined(BOOST_PP_IS_ITERATING)\r
+\r
+///// header body\r
+\r
+#ifndef BOOST_MPL_AUX_LAMBDA_NO_CTPS_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_LAMBDA_NO_CTPS_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: lambda_no_ctps.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#if !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+#   include <boost/mpl/lambda_fwd.hpp>\r
+#   include <boost/mpl/bind_fwd.hpp>\r
+#   include <boost/mpl/protect.hpp>\r
+#   include <boost/mpl/is_placeholder.hpp>\r
+#   include <boost/mpl/if.hpp>\r
+#   include <boost/mpl/identity.hpp>\r
+#   include <boost/mpl/bool.hpp>\r
+#   include <boost/mpl/aux_/na_spec.hpp>\r
+#   include <boost/mpl/aux_/lambda_support.hpp>\r
+#   include <boost/mpl/aux_/template_arity.hpp>\r
+#   include <boost/mpl/aux_/value_wknd.hpp>\r
+#endif\r
+\r
+#include <boost/mpl/aux_/config/use_preprocessed.hpp>\r
+\r
+#if    !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \\r
+    && !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+\r
+#   define BOOST_MPL_PREPROCESSED_HEADER lambda_no_ctps.hpp\r
+#   include <boost/mpl/aux_/include_preprocessed.hpp>\r
+\r
+#else\r
+\r
+#   include <boost/mpl/limits/arity.hpp>\r
+#   include <boost/mpl/aux_/preprocessor/params.hpp>\r
+#   include <boost/mpl/aux_/preprocessor/default_params.hpp>\r
+#   include <boost/mpl/aux_/preprocessor/repeat.hpp>\r
+#   include <boost/mpl/aux_/preprocessor/enum.hpp>\r
+#   include <boost/mpl/aux_/config/msvc.hpp>\r
+#   include <boost/mpl/aux_/config/workaround.hpp>\r
+\r
+#   include <boost/preprocessor/comma_if.hpp>\r
+#   include <boost/preprocessor/iterate.hpp>\r
+#   include <boost/preprocessor/inc.hpp>\r
+#   include <boost/preprocessor/cat.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+#   define AUX778076_LAMBDA_PARAMS(i_, param) \\r
+    BOOST_MPL_PP_PARAMS(i_, param) \\r
+    /**/\r
+\r
+namespace aux {\r
+\r
+#define n_ BOOST_MPL_LIMIT_METAFUNCTION_ARITY\r
+template<\r
+      BOOST_MPL_PP_DEFAULT_PARAMS(n_,bool C,false)\r
+    >\r
+struct lambda_or\r
+    : true_\r
+{\r
+};\r
+\r
+template<>\r
+struct lambda_or< BOOST_MPL_PP_ENUM(n_,false) >\r
+    : false_\r
+{\r
+};\r
+#undef n_\r
+\r
+template< typename Arity > struct lambda_impl\r
+{\r
+    template< typename T, typename Tag, typename Protect > struct result_\r
+    {\r
+        typedef T type;\r
+        typedef is_placeholder<T> is_le;\r
+    };\r
+};\r
+\r
+#define BOOST_PP_ITERATION_PARAMS_1 \\r
+    (3,(1, BOOST_MPL_LIMIT_METAFUNCTION_ARITY, <boost/mpl/aux_/lambda_no_ctps.hpp>))\r
+#include BOOST_PP_ITERATE()\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename T\r
+    , typename Tag\r
+    , typename Protect\r
+    >\r
+struct lambda\r
+{\r
+    /// Metafunction forwarding confuses MSVC 6.x\r
+    typedef typename aux::template_arity<T>::type arity_;\r
+    typedef typename aux::lambda_impl<arity_>\r
+        ::template result_< T,Tag,Protect > l_;\r
+\r
+    typedef typename l_::type type;\r
+    typedef typename l_::is_le is_le;\r
+    \r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect))\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(1, 3, lambda)\r
+\r
+template<\r
+      typename T\r
+    >\r
+struct is_lambda_expression\r
+    : lambda<T>::is_le\r
+{\r
+};\r
+\r
+#   undef AUX778076_LAMBDA_PARAMS\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS\r
+#endif // BOOST_MPL_AUX_LAMBDA_NO_CTPS_HPP_INCLUDED\r
+\r
+///// iteration, depth == 1\r
+\r
+#else\r
+\r
+#define i_ BOOST_PP_FRAME_ITERATION(1)\r
+\r
+#   define AUX778076_LAMBDA_TYPEDEF(unused, i_, F) \\r
+    typedef lambda< \\r
+          typename F::BOOST_PP_CAT(arg,BOOST_PP_INC(i_)) \\r
+        , Tag \\r
+        , false_ \\r
+        > BOOST_PP_CAT(l,BOOST_PP_INC(i_)); \\r
+    /**/\r
+\r
+#   define AUX778076_IS_LE_TYPEDEF(unused, i_, unused2) \\r
+    typedef typename BOOST_PP_CAT(l,BOOST_PP_INC(i_))::is_le \\r
+        BOOST_PP_CAT(is_le,BOOST_PP_INC(i_)); \\r
+    /**/\r
+\r
+#   define AUX778076_IS_LAMBDA_EXPR(unused, i_, unused2) \\r
+    BOOST_PP_COMMA_IF(i_) \\r
+    BOOST_MPL_AUX_MSVC_VALUE_WKND(BOOST_PP_CAT(is_le,BOOST_PP_INC(i_)))::value \\r
+    /**/\r
+\r
+#   define AUX778076_LAMBDA_RESULT(unused, i_, unused2) \\r
+    , typename BOOST_PP_CAT(l,BOOST_PP_INC(i_))::type \\r
+    /**/\r
+\r
+template<> struct lambda_impl< int_<i_> >\r
+{\r
+    template< typename F, typename Tag, typename Protect > struct result_\r
+    {\r
+        BOOST_MPL_PP_REPEAT(i_, AUX778076_LAMBDA_TYPEDEF, F)\r
+        BOOST_MPL_PP_REPEAT(i_, AUX778076_IS_LE_TYPEDEF, unused)\r
+\r
+        typedef aux::lambda_or<\r
+              BOOST_MPL_PP_REPEAT(i_, AUX778076_IS_LAMBDA_EXPR, unused)\r
+            > is_le;\r
+\r
+        typedef BOOST_PP_CAT(bind,i_)<\r
+              typename F::rebind\r
+            BOOST_MPL_PP_REPEAT(i_, AUX778076_LAMBDA_RESULT, unused)\r
+            > bind_;\r
+\r
+        typedef typename if_<\r
+              is_le\r
+            , if_< Protect, mpl::protect<bind_>, bind_ >\r
+            , identity<F>\r
+            >::type type_;\r
+    \r
+        typedef typename type_::type type;\r
+    };\r
+};\r
+\r
+#   undef AUX778076_LAMBDA_RESULT\r
+#   undef AUX778076_IS_LAMBDA_EXPR\r
+#   undef AUX778076_IS_LE_TYPEDEF\r
+#   undef AUX778076_LAMBDA_TYPEDEF\r
+\r
+#undef i_\r
+\r
+#endif // BOOST_PP_IS_ITERATING\r
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 (file)
index 0000000..20bbc43
--- /dev/null
@@ -0,0 +1,49 @@
+\r
+#ifndef BOOST_MPL_AUX_LAMBDA_SPEC_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_LAMBDA_SPEC_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2001-2007\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: lambda_spec.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/void.hpp>\r
+#include <boost/mpl/lambda_fwd.hpp>\r
+#include <boost/mpl/int_fwd.hpp>\r
+#include <boost/mpl/aux_/preprocessor/params.hpp>\r
+#include <boost/mpl/aux_/lambda_arity_param.hpp>\r
+#include <boost/mpl/aux_/config/lambda.hpp>\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT)\r
+\r
+#   define BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(i, name) \\r
+template< \\r
+      BOOST_MPL_PP_PARAMS(i, typename T) \\r
+    , typename Tag \\r
+    > \\r
+struct lambda< \\r
+      name< BOOST_MPL_PP_PARAMS(i, T) > \\r
+    , Tag \\r
+    BOOST_MPL_AUX_LAMBDA_ARITY_PARAM(int_<i>) \\r
+    > \\r
+{ \\r
+    typedef false_ is_le; \\r
+    typedef name< BOOST_MPL_PP_PARAMS(i, T) > result_; \\r
+    typedef result_ type; \\r
+}; \\r
+/**/\r
+\r
+#else\r
+\r
+#   define BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(i, name) /**/\r
+\r
+#endif\r
+\r
+#endif // BOOST_MPL_AUX_LAMBDA_SPEC_HPP_INCLUDED\r
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 (file)
index 0000000..e0f36ac
--- /dev/null
@@ -0,0 +1,169 @@
+\r
+#ifndef BOOST_MPL_AUX_LAMBDA_SUPPORT_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_LAMBDA_SUPPORT_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: lambda_support.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/aux_/config/lambda.hpp>\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT)\r
+\r
+#   define BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(i, name, params) /**/\r
+#   define BOOST_MPL_AUX_LAMBDA_SUPPORT(i,name,params) /**/\r
+\r
+#else\r
+\r
+#   include <boost/mpl/int_fwd.hpp>\r
+#   include <boost/mpl/aux_/yes_no.hpp>\r
+#   include <boost/mpl/aux_/na_fwd.hpp>\r
+#   include <boost/mpl/aux_/preprocessor/params.hpp>\r
+#   include <boost/mpl/aux_/preprocessor/enum.hpp>\r
+#   include <boost/mpl/aux_/config/msvc.hpp>\r
+#   include <boost/mpl/aux_/config/workaround.hpp>\r
+\r
+#   include <boost/preprocessor/tuple/to_list.hpp>\r
+#   include <boost/preprocessor/list/for_each_i.hpp>\r
+#   include <boost/preprocessor/inc.hpp>\r
+#   include <boost/preprocessor/cat.hpp>\r
+\r
+#   define BOOST_MPL_AUX_LAMBDA_SUPPORT_ARG_TYPEDEF_FUNC(R,typedef_,i,param) \\r
+    typedef_ param BOOST_PP_CAT(arg,BOOST_PP_INC(i)); \\r
+    /**/\r
+\r
+// agurt, 07/mar/03: restore an old revision for the sake of SGI MIPSpro C++\r
+#if BOOST_WORKAROUND(__EDG_VERSION__, <= 238) \r
+\r
+#   define BOOST_MPL_AUX_LAMBDA_SUPPORT(i, name, params) \\r
+    typedef BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::int_<i> arity; \\r
+    BOOST_PP_LIST_FOR_EACH_I_R( \\r
+          1 \\r
+        , BOOST_MPL_AUX_LAMBDA_SUPPORT_ARG_TYPEDEF_FUNC \\r
+        , typedef \\r
+        , BOOST_PP_TUPLE_TO_LIST(i,params) \\r
+        ) \\r
+    struct rebind \\r
+    { \\r
+        template< BOOST_MPL_PP_PARAMS(i,typename U) > struct apply \\r
+            : name< BOOST_MPL_PP_PARAMS(i,U) > \\r
+        { \\r
+        }; \\r
+    }; \\r
+    /**/\r
+\r
+#   define BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(i, name, params) \\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(i, name, params) \\r
+    /**/\r
+\r
+#elif BOOST_WORKAROUND(__EDG_VERSION__, <= 244) && !defined(BOOST_INTEL_CXX_VERSION)\r
+// agurt, 18/jan/03: old EDG-based compilers actually enforce 11.4 para 9\r
+// (in strict mode), so we have to provide an alternative to the \r
+// MSVC-optimized implementation\r
+\r
+#   define BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(i, name, params) \\r
+    typedef BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::int_<i> arity; \\r
+    BOOST_PP_LIST_FOR_EACH_I_R( \\r
+          1 \\r
+        , BOOST_MPL_AUX_LAMBDA_SUPPORT_ARG_TYPEDEF_FUNC \\r
+        , typedef \\r
+        , BOOST_PP_TUPLE_TO_LIST(i,params) \\r
+        ) \\r
+    struct rebind; \\r
+/**/\r
+\r
+#   define BOOST_MPL_AUX_LAMBDA_SUPPORT(i, name, params) \\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(i, name, params) \\r
+}; \\r
+template< BOOST_MPL_PP_PARAMS(i,typename T) > \\r
+struct name<BOOST_MPL_PP_PARAMS(i,T)>::rebind \\r
+{ \\r
+    template< BOOST_MPL_PP_PARAMS(i,typename U) > struct apply \\r
+        : name< BOOST_MPL_PP_PARAMS(i,U) > \\r
+    { \\r
+    }; \\r
+/**/\r
+\r
+#else // __EDG_VERSION__\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+template< typename T > struct has_rebind_tag;\r
+}}}\r
+\r
+#   define BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(i, name, params) \\r
+    typedef BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::int_<i> arity; \\r
+    BOOST_PP_LIST_FOR_EACH_I_R( \\r
+          1 \\r
+        , BOOST_MPL_AUX_LAMBDA_SUPPORT_ARG_TYPEDEF_FUNC \\r
+        , typedef \\r
+        , BOOST_PP_TUPLE_TO_LIST(i,params) \\r
+        ) \\r
+    friend class BOOST_PP_CAT(name,_rebind); \\r
+    typedef BOOST_PP_CAT(name,_rebind) rebind; \\r
+/**/\r
+\r
+#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610))\r
+#   define BOOST_MPL_AUX_LAMBDA_SUPPORT_HAS_REBIND(i, name, params) \\r
+template< BOOST_MPL_PP_PARAMS(i,typename T) > \\r
+::boost::mpl::aux::yes_tag operator|( \\r
+      ::boost::mpl::aux::has_rebind_tag<int> \\r
+    , name<BOOST_MPL_PP_PARAMS(i,T)>* \\r
+    ); \\r
+::boost::mpl::aux::no_tag operator|( \\r
+      ::boost::mpl::aux::has_rebind_tag<int> \\r
+    , name< BOOST_MPL_PP_ENUM(i,::boost::mpl::na) >* \\r
+    ); \\r
+/**/\r
+#elif !BOOST_WORKAROUND(BOOST_MSVC, < 1300)\r
+#   define BOOST_MPL_AUX_LAMBDA_SUPPORT_HAS_REBIND(i, name, params) \\r
+template< BOOST_MPL_PP_PARAMS(i,typename T) > \\r
+::boost::mpl::aux::yes_tag operator|( \\r
+      ::boost::mpl::aux::has_rebind_tag<int> \\r
+    , ::boost::mpl::aux::has_rebind_tag< name<BOOST_MPL_PP_PARAMS(i,T)> >* \\r
+    ); \\r
+/**/\r
+#else\r
+#   define BOOST_MPL_AUX_LAMBDA_SUPPORT_HAS_REBIND(i, name, params) /**/\r
+#endif\r
+\r
+#   if !defined(__BORLANDC__)\r
+#   define BOOST_MPL_AUX_LAMBDA_SUPPORT(i, name, params) \\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(i, name, params) \\r
+}; \\r
+BOOST_MPL_AUX_LAMBDA_SUPPORT_HAS_REBIND(i, name, params) \\r
+class BOOST_PP_CAT(name,_rebind) \\r
+{ \\r
+ public: \\r
+    template< BOOST_MPL_PP_PARAMS(i,typename U) > struct apply \\r
+        : name< BOOST_MPL_PP_PARAMS(i,U) > \\r
+    { \\r
+    }; \\r
+/**/\r
+#   else\r
+#   define BOOST_MPL_AUX_LAMBDA_SUPPORT(i, name, params) \\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(i, name, params) \\r
+}; \\r
+BOOST_MPL_AUX_LAMBDA_SUPPORT_HAS_REBIND(i, name, params) \\r
+class BOOST_PP_CAT(name,_rebind) \\r
+{ \\r
+ public: \\r
+    template< BOOST_MPL_PP_PARAMS(i,typename U) > struct apply \\r
+    { \\r
+        typedef typename name< BOOST_MPL_PP_PARAMS(i,U) >::type type; \\r
+    }; \\r
+/**/\r
+#   endif // __BORLANDC__\r
+\r
+#endif // __EDG_VERSION__\r
+\r
+#endif // BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT\r
+\r
+#endif // BOOST_MPL_AUX_LAMBDA_SUPPORT_HPP_INCLUDED\r
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 (file)
index 0000000..0805371
--- /dev/null
@@ -0,0 +1,63 @@
+\r
+#ifndef BOOST_MPL_AUX_LARGEST_INT_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_LARGEST_INT_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: largest_int.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/if.hpp>\r
+#include <boost/mpl/int.hpp>\r
+#include <boost/mpl/aux_/config/integral.hpp>\r
+#include <boost/config.hpp>\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+template< typename T > struct integral_rank;\r
+\r
+template<> struct integral_rank<bool>           : int_<1> {};\r
+template<> struct integral_rank<signed char>    : int_<2> {};\r
+template<> struct integral_rank<char>           : int_<3> {};\r
+template<> struct integral_rank<unsigned char>  : int_<4> {};\r
+#if !defined(BOOST_NO_INTRINSIC_WCHAR_T)\r
+template<> struct integral_rank<wchar_t>        : int_<5> {};\r
+#endif\r
+template<> struct integral_rank<short>          : int_<6> {};\r
+template<> struct integral_rank<unsigned short> : int_<7> {};\r
+template<> struct integral_rank<int>            : int_<8> {};\r
+template<> struct integral_rank<unsigned int>   : int_<9> {};\r
+template<> struct integral_rank<long>           : int_<10> {};\r
+template<> struct integral_rank<unsigned long>  : int_<11> {};\r
+\r
+#if defined(BOOST_HAS_LONG_LONG)\r
+template<> struct integral_rank<long_long_type> : int_<12> {};\r
+template<> struct integral_rank<ulong_long_type>: int_<13> {};\r
+#endif\r
+\r
+template< typename T1, typename T2 > struct largest_int\r
+#if !defined(BOOST_MPL_CFG_NO_NESTED_VALUE_ARITHMETIC)\r
+    : if_c< \r
+          ( integral_rank<T1>::value >= integral_rank<T2>::value )\r
+        , T1\r
+        , T2\r
+        >\r
+{\r
+#else\r
+{\r
+    enum { rank1 = integral_rank<T1>::value };\r
+    enum { rank2 = integral_rank<T2>::value };\r
+    typedef typename if_c< (rank1 >= rank2),T1,T2 >::type type;\r
+#endif\r
+};\r
+\r
+}}}\r
+\r
+#endif // BOOST_MPL_AUX_LARGEST_INT_HPP_INCLUDED\r
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 (file)
index 0000000..ac38efa
--- /dev/null
@@ -0,0 +1,165 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: logical_op.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION!\r
+\r
+#if !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+#   include <boost/mpl/bool.hpp>\r
+#   include <boost/mpl/aux_/nested_type_wknd.hpp>\r
+#   include <boost/mpl/aux_/na_spec.hpp>\r
+#   include <boost/mpl/aux_/lambda_support.hpp>\r
+#endif\r
+\r
+#include <boost/mpl/limits/arity.hpp>\r
+#include <boost/mpl/aux_/preprocessor/params.hpp>\r
+#include <boost/mpl/aux_/preprocessor/ext_params.hpp>\r
+#include <boost/mpl/aux_/preprocessor/def_params_tail.hpp>\r
+#include <boost/mpl/aux_/preprocessor/enum.hpp>\r
+#include <boost/mpl/aux_/preprocessor/sub.hpp>\r
+#include <boost/mpl/aux_/config/ctps.hpp>\r
+#include <boost/mpl/aux_/config/workaround.hpp>\r
+\r
+#include <boost/preprocessor/dec.hpp>\r
+#include <boost/preprocessor/inc.hpp>\r
+#include <boost/preprocessor/cat.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+#   define AUX778076_PARAMS(param, sub) \\r
+    BOOST_MPL_PP_PARAMS( \\r
+          BOOST_MPL_PP_SUB(BOOST_MPL_LIMIT_METAFUNCTION_ARITY, sub) \\r
+        , param \\r
+        ) \\r
+    /**/\r
+\r
+#   define AUX778076_SHIFTED_PARAMS(param, sub) \\r
+    BOOST_MPL_PP_EXT_PARAMS( \\r
+          2, BOOST_MPL_PP_SUB(BOOST_PP_INC(BOOST_MPL_LIMIT_METAFUNCTION_ARITY), sub) \\r
+        , param \\r
+        ) \\r
+    /**/\r
+\r
+#   define AUX778076_SPEC_PARAMS(param) \\r
+    BOOST_MPL_PP_ENUM( \\r
+          BOOST_PP_DEC(BOOST_MPL_LIMIT_METAFUNCTION_ARITY) \\r
+        , param \\r
+        ) \\r
+    /**/\r
+\r
+namespace aux {\r
+\r
+#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)\r
+\r
+template< bool C_, AUX778076_PARAMS(typename T, 1) >\r
+struct BOOST_PP_CAT(AUX778076_OP_NAME,impl)\r
+    : BOOST_PP_CAT(AUX778076_OP_VALUE1,_)\r
+{\r
+};\r
+\r
+template< AUX778076_PARAMS(typename T, 1) >\r
+struct BOOST_PP_CAT(AUX778076_OP_NAME,impl)< AUX778076_OP_VALUE2,AUX778076_PARAMS(T, 1) >\r
+    : BOOST_PP_CAT(AUX778076_OP_NAME,impl)<\r
+          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value\r
+        , AUX778076_SHIFTED_PARAMS(T, 1)\r
+        , BOOST_PP_CAT(AUX778076_OP_VALUE2,_)\r
+        >\r
+{\r
+};\r
+\r
+template<>\r
+struct BOOST_PP_CAT(AUX778076_OP_NAME,impl)<\r
+          AUX778076_OP_VALUE2\r
+        , AUX778076_SPEC_PARAMS(BOOST_PP_CAT(AUX778076_OP_VALUE2,_))\r
+        >\r
+    : BOOST_PP_CAT(AUX778076_OP_VALUE2,_)\r
+{\r
+};\r
+\r
+#else\r
+\r
+template< bool C_ > struct BOOST_PP_CAT(AUX778076_OP_NAME,impl)\r
+{\r
+    template< AUX778076_PARAMS(typename T, 1) > struct result_\r
+        : BOOST_PP_CAT(AUX778076_OP_VALUE1,_)\r
+    {\r
+    };\r
+};\r
+\r
+template<> struct BOOST_PP_CAT(AUX778076_OP_NAME,impl)<AUX778076_OP_VALUE2>\r
+{\r
+    template< AUX778076_PARAMS(typename T, 1) > struct result_\r
+        : BOOST_PP_CAT(AUX778076_OP_NAME,impl)< \r
+              BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value\r
+            >::template result_< AUX778076_SHIFTED_PARAMS(T,1),BOOST_PP_CAT(AUX778076_OP_VALUE2,_) >\r
+    {\r
+    };\r
+\r
+#if BOOST_WORKAROUND(BOOST_MSVC, == 1300)\r
+    template<> struct result_<AUX778076_SPEC_PARAMS(BOOST_PP_CAT(AUX778076_OP_VALUE2,_))>\r
+        : BOOST_PP_CAT(AUX778076_OP_VALUE2,_)\r
+    {\r
+    };\r
+};\r
+#else\r
+};\r
+\r
+template<>\r
+struct BOOST_PP_CAT(AUX778076_OP_NAME,impl)<AUX778076_OP_VALUE2>\r
+    ::result_< AUX778076_SPEC_PARAMS(BOOST_PP_CAT(AUX778076_OP_VALUE2,_)) >\r
+        : BOOST_PP_CAT(AUX778076_OP_VALUE2,_)\r
+{\r
+};\r
+#endif // BOOST_MSVC == 1300\r
+\r
+#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(T1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(T2)\r
+    BOOST_MPL_PP_DEF_PARAMS_TAIL(2, typename T, BOOST_PP_CAT(AUX778076_OP_VALUE2,_))\r
+    >\r
+struct AUX778076_OP_NAME\r
+#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)\r
+    : aux::BOOST_PP_CAT(AUX778076_OP_NAME,impl)<\r
+          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value\r
+        , AUX778076_SHIFTED_PARAMS(T,0)\r
+        >\r
+#else\r
+    : aux::BOOST_PP_CAT(AUX778076_OP_NAME,impl)< \r
+          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value\r
+        >::template result_< AUX778076_SHIFTED_PARAMS(T,0) >\r
+#endif\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          BOOST_MPL_LIMIT_METAFUNCTION_ARITY\r
+        , AUX778076_OP_NAME\r
+        , (AUX778076_PARAMS(T, 0))\r
+        )\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(\r
+      2\r
+    , BOOST_MPL_LIMIT_METAFUNCTION_ARITY\r
+    , AUX778076_OP_NAME\r
+    )\r
+\r
+}}\r
+\r
+#undef AUX778076_SPEC_PARAMS\r
+#undef AUX778076_SHIFTED_PARAMS\r
+#undef AUX778076_PARAMS\r
+#undef AUX778076_OP_NAME\r
+#undef AUX778076_OP_VALUE1\r
+#undef AUX778076_OP_VALUE2\r
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 (file)
index 0000000..53f4208
--- /dev/null
@@ -0,0 +1,68 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: msvc_dtw.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION!\r
+\r
+#include <boost/mpl/aux_/preprocessor/params.hpp>\r
+\r
+// local macros, #undef-ined at the end of the header\r
+#define AUX778076_DTW_PARAMS(param) \\r
+    BOOST_MPL_PP_PARAMS(AUX778076_MSVC_DTW_ARITY, param) \\r
+/**/\r
+\r
+#define AUX778076_DTW_ORIGINAL_NAME \\r
+    AUX778076_MSVC_DTW_ORIGINAL_NAME \\r
+/**/\r
+\r
+// warning: not a well-formed C++\r
+// workaround for MSVC 6.5's "dependent template typedef bug"\r
+\r
+template< typename F>\r
+struct AUX778076_MSVC_DTW_NAME\r
+{\r
+    template< bool > struct f_ : F {};\r
+    template<> struct f_<true>\r
+    {\r
+#if AUX778076_MSVC_DTW_ARITY > 0\r
+        template< AUX778076_DTW_PARAMS(typename P) > struct AUX778076_DTW_ORIGINAL_NAME\r
+        {\r
+            typedef int type;\r
+        };\r
+    };\r
+\r
+    template< AUX778076_DTW_PARAMS(typename T) > struct result_\r
+        : f_< aux::msvc_never_true<F>::value >\r
+            ::template AUX778076_DTW_ORIGINAL_NAME< AUX778076_DTW_PARAMS(T) >\r
+    {\r
+    };\r
+#else\r
+        template< typename P = int > struct AUX778076_DTW_ORIGINAL_NAME\r
+        {\r
+            typedef int type;\r
+        };\r
+    };\r
+\r
+    template< typename T = int > struct result_\r
+        : f_< aux::msvc_never_true<F>::value >\r
+            ::template AUX778076_DTW_ORIGINAL_NAME<>\r
+    {\r
+    };\r
+#endif\r
+};\r
+\r
+#undef AUX778076_DTW_ORIGINAL_NAME\r
+#undef AUX778076_DTW_PARAMS\r
+\r
+#undef AUX778076_MSVC_DTW_NAME\r
+#undef AUX778076_MSVC_DTW_ORIGINAL_NAME\r
+#undef AUX778076_MSVC_DTW_ARITY\r
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 (file)
index 0000000..b2e1b9e
--- /dev/null
@@ -0,0 +1,77 @@
+\r
+#ifndef BOOST_MPL_AUX_MSVC_ETI_BASE_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_MSVC_ETI_BASE_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: msvc_eti_base.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/aux_/is_msvc_eti_arg.hpp>\r
+#include <boost/mpl/aux_/config/eti.hpp>\r
+#include <boost/mpl/aux_/config/gcc.hpp>\r
+#include <boost/mpl/aux_/config/workaround.hpp>\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+#if defined(BOOST_MPL_CFG_MSVC_70_ETI_BUG)\r
+\r
+template< bool > struct msvc_eti_base_impl\r
+{\r
+    template< typename T > struct result_\r
+        : T\r
+    {\r
+        typedef T type;\r
+    };\r
+};\r
+\r
+template<> struct msvc_eti_base_impl<true>\r
+{\r
+    template< typename T > struct result_\r
+    {\r
+        typedef result_ type;\r
+        typedef result_ first;\r
+        typedef result_ second;\r
+        typedef result_ tag;\r
+        enum { value = 0 };\r
+    };\r
+};\r
+\r
+template< typename T > struct msvc_eti_base\r
+    : msvc_eti_base_impl< is_msvc_eti_arg<T>::value >\r
+        ::template result_<T>\r
+{\r
+};\r
+\r
+#else // !BOOST_MPL_CFG_MSVC_70_ETI_BUG\r
+\r
+template< typename T > struct msvc_eti_base\r
+    : T\r
+{\r
+#if BOOST_WORKAROUND(BOOST_MPL_CFG_GCC, BOOST_TESTED_AT(0x0304))\r
+    msvc_eti_base();\r
+#endif\r
+    typedef T type;\r
+};\r
+\r
+#endif \r
+\r
+template<> struct msvc_eti_base<int>\r
+{\r
+    typedef msvc_eti_base type;\r
+    typedef msvc_eti_base first;\r
+    typedef msvc_eti_base second;\r
+    typedef msvc_eti_base tag;\r
+    enum { value = 0 };\r
+};\r
+\r
+}}}\r
+\r
+#endif // BOOST_MPL_AUX_MSVC_ETI_BASE_HPP_INCLUDED\r
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 (file)
index 0000000..838c87c
--- /dev/null
@@ -0,0 +1,58 @@
+\r
+#ifndef BOOST_MPL_AUX_MSVC_IS_CLASS_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_MSVC_IS_CLASS_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2002-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: msvc_is_class.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/if.hpp>\r
+#include <boost/mpl/bool.hpp>\r
+#include <boost/mpl/aux_/type_wrapper.hpp>\r
+#include <boost/mpl/aux_/yes_no.hpp>\r
+\r
+#include <boost/type_traits/is_reference.hpp>\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+template< typename T > struct is_class_helper\r
+{\r
+    typedef int (T::* type)();\r
+};\r
+\r
+// MSVC 6.x-specific lightweight 'is_class' implementation; \r
+// Distinguishing feature: does not instantiate the type being tested.\r
+template< typename T >\r
+struct msvc_is_class_impl\r
+{\r
+    template< typename U>\r
+    static yes_tag  test(type_wrapper<U>*, /*typename*/ is_class_helper<U>::type = 0);\r
+    static no_tag   test(void const volatile*, ...);\r
+\r
+    enum { value = sizeof(test((type_wrapper<T>*)0)) == sizeof(yes_tag) };\r
+    typedef bool_<value> type;\r
+};\r
+\r
+// agurt, 17/sep/04: have to check for 'is_reference' upfront to avoid ICEs in\r
+// complex metaprograms\r
+template< typename T >\r
+struct msvc_is_class\r
+    : if_<\r
+          is_reference<T>\r
+        , false_\r
+        , msvc_is_class_impl<T>\r
+        >::type\r
+{\r
+};\r
+\r
+}}}\r
+\r
+#endif // BOOST_MPL_AUX_MSVC_IS_CLASS_HPP_INCLUDED\r
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 (file)
index 0000000..265fbb9
--- /dev/null
@@ -0,0 +1,34 @@
+\r
+#ifndef BOOST_MPL_AUX_MSVC_NEVER_TRUE_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_MSVC_NEVER_TRUE_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: msvc_never_true.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/aux_/config/msvc.hpp>\r
+#include <boost/mpl/aux_/config/workaround.hpp>\r
+\r
+#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+template< typename T >\r
+struct msvc_never_true\r
+{\r
+    enum { value = false };\r
+};\r
+\r
+}}}\r
+\r
+#endif // BOOST_MSVC\r
+\r
+#endif // BOOST_MPL_AUX_MSVC_NEVER_TRUE_HPP_INCLUDED\r
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 (file)
index 0000000..6bec7fd
--- /dev/null
@@ -0,0 +1,62 @@
+\r
+#ifndef BOOST_MPL_AUX_MSVC_TYPE_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_MSVC_TYPE_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: msvc_type.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/aux_/config/eti.hpp>\r
+#include <boost/mpl/aux_/is_msvc_eti_arg.hpp>\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+#if defined(BOOST_MPL_CFG_MSVC_70_ETI_BUG)\r
+\r
+template< bool > struct msvc_type_impl\r
+{\r
+    template< typename T > struct result_\r
+    {\r
+        typedef typename T::type type;\r
+    };\r
+};\r
+\r
+template<> struct msvc_type_impl<true>\r
+{\r
+    template< typename T > struct result_\r
+    {\r
+        typedef result_ type;\r
+    };\r
+};\r
+\r
+template< typename T > struct msvc_type\r
+    : msvc_type_impl< is_msvc_eti_arg<T>::value >\r
+        ::template result_<T>\r
+{\r
+};\r
+\r
+#else // BOOST_MPL_CFG_MSVC_70_ETI_BUG\r
+\r
+template< typename T > struct msvc_type \r
+{\r
+    typedef typename T::type type;\r
+};\r
+\r
+template<> struct msvc_type<int>\r
+{\r
+    typedef int type;\r
+};\r
+\r
+#endif\r
+\r
+}}}\r
+\r
+#endif // BOOST_MPL_AUX_MSVC_TYPE_HPP_INCLUDED\r
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 (file)
index 0000000..b001113
--- /dev/null
@@ -0,0 +1,95 @@
+\r
+#ifndef BOOST_MPL_AUX_NA_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_NA_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: na.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/bool.hpp>\r
+#include <boost/mpl/aux_/na_fwd.hpp>\r
+#include <boost/mpl/aux_/config/msvc.hpp>\r
+#include <boost/mpl/aux_/config/ctps.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template< typename T >\r
+struct is_na\r
+    : false_\r
+{\r
+#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)\r
+    using false_::value;\r
+#endif\r
+};\r
+\r
+template<>\r
+struct is_na<na>\r
+    : true_\r
+{\r
+#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)\r
+    using true_::value;\r
+#endif\r
+};\r
+\r
+template< typename T >\r
+struct is_not_na\r
+    : true_\r
+{\r
+#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)\r
+    using true_::value;\r
+#endif\r
+};\r
+\r
+template<>\r
+struct is_not_na<na>\r
+    : false_\r
+{\r
+#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)\r
+    using false_::value;\r
+#endif\r
+};\r
+\r
+#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)\r
+template< typename T, typename U > struct if_na\r
+{\r
+    typedef T type;\r
+};\r
+\r
+template< typename U > struct if_na<na,U>\r
+{\r
+    typedef U type;\r
+};\r
+#else\r
+template< typename T > struct if_na_impl\r
+{\r
+    template< typename U > struct apply\r
+    {\r
+        typedef T type;\r
+    };\r
+};\r
+\r
+template<> struct if_na_impl<na>\r
+{\r
+    template< typename U > struct apply\r
+    {\r
+        typedef U type;\r
+    };\r
+};\r
+\r
+template< typename T, typename U > struct if_na\r
+    : if_na_impl<T>::template apply<U>\r
+{\r
+};\r
+#endif\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_AUX_NA_HPP_INCLUDED\r
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 (file)
index 0000000..2651a9e
--- /dev/null
@@ -0,0 +1,34 @@
+\r
+#ifndef BOOST_MPL_AUX_NA_ASSERT_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_NA_ASSERT_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: na_assert.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/aux_/na.hpp>\r
+#include <boost/mpl/aux_/config/msvc.hpp>\r
+#include <boost/mpl/aux_/config/workaround.hpp>\r
+\r
+#if !BOOST_WORKAROUND(_MSC_FULL_VER, <= 140050601)    \\r
+    && !BOOST_WORKAROUND(__EDG_VERSION__, <= 243)\r
+#   include <boost/mpl/assert.hpp>\r
+#   define BOOST_MPL_AUX_ASSERT_NOT_NA(x) \\r
+    BOOST_MPL_ASSERT_NOT((boost::mpl::is_na<type>)) \\r
+/**/\r
+#else\r
+#   include <boost/static_assert.hpp>\r
+#   define BOOST_MPL_AUX_ASSERT_NOT_NA(x) \\r
+    BOOST_STATIC_ASSERT(!boost::mpl::is_na<x>::value) \\r
+/**/\r
+#endif\r
+\r
+#endif // BOOST_MPL_AUX_NA_ASSERT_HPP_INCLUDED\r
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 (file)
index 0000000..f181b77
--- /dev/null
@@ -0,0 +1,31 @@
+\r
+#ifndef BOOST_MPL_AUX_NA_FWD_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_NA_FWD_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: na_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/aux_/adl_barrier.hpp>\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+\r
+// n.a. == not available\r
+struct na\r
+{\r
+    typedef na type;\r
+    enum { value = 0 };\r
+};\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+BOOST_MPL_AUX_ADL_BARRIER_DECL(na)\r
+\r
+#endif // BOOST_MPL_AUX_NA_FWD_HPP_INCLUDED\r
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 (file)
index 0000000..a3387b7
--- /dev/null
@@ -0,0 +1,175 @@
+\r
+#ifndef BOOST_MPL_AUX_NA_SPEC_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_NA_SPEC_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: na_spec.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#if !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+#   include <boost/mpl/lambda_fwd.hpp>\r
+#   include <boost/mpl/int.hpp>\r
+#   include <boost/mpl/bool.hpp>\r
+#   include <boost/mpl/aux_/na.hpp>\r
+#   include <boost/mpl/aux_/arity.hpp>\r
+#   include <boost/mpl/aux_/template_arity_fwd.hpp>\r
+#endif\r
+\r
+#include <boost/mpl/aux_/preprocessor/params.hpp>\r
+#include <boost/mpl/aux_/preprocessor/enum.hpp>\r
+#include <boost/mpl/aux_/preprocessor/def_params_tail.hpp>\r
+#include <boost/mpl/aux_/lambda_arity_param.hpp>\r
+#include <boost/mpl/aux_/config/dtp.hpp>\r
+#include <boost/mpl/aux_/config/eti.hpp>\r
+#include <boost/mpl/aux_/nttp_decl.hpp>\r
+#include <boost/mpl/aux_/config/ttp.hpp>\r
+#include <boost/mpl/aux_/config/lambda.hpp>\r
+#include <boost/mpl/aux_/config/overload_resolution.hpp>\r
+\r
+\r
+#define BOOST_MPL_AUX_NA_PARAMS(i) \\r
+    BOOST_MPL_PP_ENUM(i, na) \\r
+/**/\r
+\r
+#if defined(BOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES)\r
+#   define BOOST_MPL_AUX_NA_SPEC_ARITY(i, name) \\r
+namespace aux { \\r
+template< BOOST_MPL_AUX_NTTP_DECL(int, N) > \\r
+struct arity< \\r
+          name< BOOST_MPL_AUX_NA_PARAMS(i) > \\r
+        , N \\r
+        > \\r
+    : int_< BOOST_MPL_LIMIT_METAFUNCTION_ARITY > \\r
+{ \\r
+}; \\r
+} \\r
+/**/\r
+#else\r
+#   define BOOST_MPL_AUX_NA_SPEC_ARITY(i, name) /**/\r
+#endif\r
+\r
+#define BOOST_MPL_AUX_NA_SPEC_MAIN(i, name) \\r
+template<> \\r
+struct name< BOOST_MPL_AUX_NA_PARAMS(i) > \\r
+{ \\r
+    template< \\r
+          BOOST_MPL_PP_PARAMS(i, typename T) \\r
+        BOOST_MPL_PP_NESTED_DEF_PARAMS_TAIL(i, typename T, na) \\r
+        > \\r
+    struct apply \\r
+        : name< BOOST_MPL_PP_PARAMS(i, T) > \\r
+    { \\r
+    }; \\r
+}; \\r
+/**/\r
+\r
+#if defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT)\r
+#   define BOOST_MPL_AUX_NA_SPEC_LAMBDA(i, name) \\r
+template<> \\r
+struct lambda< \\r
+      name< BOOST_MPL_AUX_NA_PARAMS(i) > \\r
+    , void_ \\r
+    , true_ \\r
+    > \\r
+{ \\r
+    typedef false_ is_le; \\r
+    typedef name< BOOST_MPL_AUX_NA_PARAMS(i) > type; \\r
+}; \\r
+template<> \\r
+struct lambda< \\r
+      name< BOOST_MPL_AUX_NA_PARAMS(i) > \\r
+    , void_ \\r
+    , false_ \\r
+    > \\r
+{ \\r
+    typedef false_ is_le; \\r
+    typedef name< BOOST_MPL_AUX_NA_PARAMS(i) > type; \\r
+}; \\r
+/**/\r
+#else\r
+#   define BOOST_MPL_AUX_NA_SPEC_LAMBDA(i, name) \\r
+template< typename Tag > \\r
+struct lambda< \\r
+      name< BOOST_MPL_AUX_NA_PARAMS(i) > \\r
+    , Tag \\r
+    BOOST_MPL_AUX_LAMBDA_ARITY_PARAM(int_<-1>) \\r
+    > \\r
+{ \\r
+    typedef false_ is_le; \\r
+    typedef name< BOOST_MPL_AUX_NA_PARAMS(i) > result_; \\r
+    typedef name< BOOST_MPL_AUX_NA_PARAMS(i) > type; \\r
+}; \\r
+/**/\r
+#endif\r
+\r
+#if defined(BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING) \\r
+    || defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT) \\r
+        && defined(BOOST_MPL_CFG_BROKEN_OVERLOAD_RESOLUTION)\r
+#   define BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(i, j, name) \\r
+namespace aux { \\r
+template< BOOST_MPL_PP_PARAMS(j, typename T) > \\r
+struct template_arity< \\r
+          name< BOOST_MPL_PP_PARAMS(j, T) > \\r
+        > \\r
+    : int_<j> \\r
+{ \\r
+}; \\r
+\\r
+template<> \\r
+struct template_arity< \\r
+          name< BOOST_MPL_PP_ENUM(i, na) > \\r
+        > \\r
+    : int_<-1> \\r
+{ \\r
+}; \\r
+} \\r
+/**/\r
+#else\r
+#   define BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(i, j, name) /**/\r
+#endif\r
+\r
+#if defined(BOOST_MPL_CFG_MSVC_ETI_BUG)\r
+#   define BOOST_MPL_AUX_NA_SPEC_ETI(i, name) \\r
+template<> \\r
+struct name< BOOST_MPL_PP_ENUM(i, int) > \\r
+{ \\r
+    typedef int type; \\r
+    enum { value = 0 }; \\r
+}; \\r
+/**/\r
+#else\r
+#   define BOOST_MPL_AUX_NA_SPEC_ETI(i, name) /**/\r
+#endif\r
+\r
+#define BOOST_MPL_AUX_NA_PARAM(param) param = na\r
+\r
+#define BOOST_MPL_AUX_NA_SPEC_NO_ETI(i, name) \\r
+BOOST_MPL_AUX_NA_SPEC_MAIN(i, name) \\r
+BOOST_MPL_AUX_NA_SPEC_LAMBDA(i, name) \\r
+BOOST_MPL_AUX_NA_SPEC_ARITY(i, name) \\r
+BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(i, i, name) \\r
+/**/\r
+\r
+#define BOOST_MPL_AUX_NA_SPEC(i, name) \\r
+BOOST_MPL_AUX_NA_SPEC_NO_ETI(i, name) \\r
+BOOST_MPL_AUX_NA_SPEC_ETI(i, name) \\r
+/**/\r
+\r
+#define BOOST_MPL_AUX_NA_SPEC2(i, j, name) \\r
+BOOST_MPL_AUX_NA_SPEC_MAIN(i, name) \\r
+BOOST_MPL_AUX_NA_SPEC_ETI(i, name) \\r
+BOOST_MPL_AUX_NA_SPEC_LAMBDA(i, name) \\r
+BOOST_MPL_AUX_NA_SPEC_ARITY(i, name) \\r
+BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(i, j, name) \\r
+/**/\r
+\r
+\r
+#endif // BOOST_MPL_AUX_NA_SPEC_HPP_INCLUDED\r
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 (file)
index 0000000..9ab95da
--- /dev/null
@@ -0,0 +1,48 @@
+\r
+#ifndef BOOST_MPL_AUX_NESTED_TYPE_WKND_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_NESTED_TYPE_WKND_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: nested_type_wknd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/aux_/config/gcc.hpp>\r
+#include <boost/mpl/aux_/config/workaround.hpp>\r
+\r
+#if BOOST_WORKAROUND(BOOST_MPL_CFG_GCC, BOOST_TESTED_AT(0x0302)) \\r
+    || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x561)) \\r
+    || BOOST_WORKAROUND(__SUNPRO_CC, BOOST_TESTED_AT(0x530)) \\r
+    || BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840))\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+template< typename T > struct nested_type_wknd\r
+    : T::type\r
+{\r
+};\r
+}}}\r
+\r
+#if BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840))\r
+#   define BOOST_MPL_AUX_NESTED_TYPE_WKND(T) \\r
+    aux::nested_type_wknd<T> \\r
+/**/\r
+#else\r
+#   define BOOST_MPL_AUX_NESTED_TYPE_WKND(T) \\r
+    ::boost::mpl::aux::nested_type_wknd<T> \\r
+/**/\r
+#endif\r
+\r
+#else // !BOOST_MPL_CFG_GCC et al.\r
+\r
+#   define BOOST_MPL_AUX_NESTED_TYPE_WKND(T) T::type\r
+\r
+#endif \r
+\r
+#endif // BOOST_MPL_AUX_NESTED_TYPE_WKND_HPP_INCLUDED\r
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 (file)
index 0000000..8cdfcfd
--- /dev/null
@@ -0,0 +1,35 @@
+\r
+#ifndef BOOST_MPL_AUX_NTTP_DECL_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_NTTP_DECL_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: nttp_decl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/aux_/config/nttp.hpp>\r
+\r
+#if defined(BOOST_MPL_CFG_NTTP_BUG)\r
+\r
+typedef bool        _mpl_nttp_bool;\r
+typedef int         _mpl_nttp_int;\r
+typedef unsigned    _mpl_nttp_unsigned;\r
+typedef long        _mpl_nttp_long;\r
+\r
+#   include <boost/preprocessor/cat.hpp>\r
+#   define BOOST_MPL_AUX_NTTP_DECL(T, x) BOOST_PP_CAT(_mpl_nttp_,T) x /**/\r
+\r
+#else\r
+\r
+#   define BOOST_MPL_AUX_NTTP_DECL(T, x) T x /**/\r
+\r
+#endif\r
+\r
+#endif // BOOST_MPL_AUX_NTTP_DECL_HPP_INCLUDED\r
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 (file)
index 0000000..b0a6c7a
--- /dev/null
@@ -0,0 +1,77 @@
+\r
+#ifndef BOOST_MPL_AUX_NUMERIC_CAST_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_NUMERIC_CAST_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: numeric_cast_utils.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/numeric_cast.hpp>\r
+#include <boost/mpl/apply_wrap.hpp>\r
+#include <boost/mpl/aux_/config/forwarding.hpp>\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+template<\r
+      typename F\r
+    , typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct cast1st_impl\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+#if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING)\r
+        : apply_wrap2< \r
+              F\r
+            , typename apply_wrap1< BOOST_MPL_AUX_NUMERIC_CAST<Tag1,Tag2>,N1 >::type\r
+            , N2\r
+            >\r
+    {\r
+#else\r
+    {\r
+    typedef typename apply_wrap2< \r
+              F\r
+            , typename apply_wrap1< BOOST_MPL_AUX_NUMERIC_CAST<Tag1,Tag2>,N1 >::type\r
+            , N2\r
+            >::type type;\r
+#endif\r
+    };\r
+};\r
+\r
+template<\r
+      typename F\r
+    , typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct cast2nd_impl\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+#if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING)\r
+        : apply_wrap2< \r
+              F\r
+            , N1\r
+            , typename apply_wrap1< BOOST_MPL_AUX_NUMERIC_CAST<Tag2,Tag1>,N2 >::type\r
+            >\r
+    {\r
+#else\r
+    {\r
+        typedef typename apply_wrap2< \r
+              F\r
+            , N1\r
+            , typename apply_wrap1< BOOST_MPL_AUX_NUMERIC_CAST<Tag2,Tag1>,N2 >::type\r
+            >::type type;\r
+#endif\r
+    };\r
+};\r
+\r
+}}}\r
+\r
+#endif // BOOST_MPL_AUX_NUMERIC_CAST_HPP_INCLUDED\r
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 (file)
index 0000000..4653460
--- /dev/null
@@ -0,0 +1,315 @@
+\r
+#if !defined(BOOST_PP_IS_ITERATING)\r
+\r
+///// header body\r
+\r
+// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION!\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: numeric_op.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#if !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+#   include <boost/mpl/numeric_cast.hpp>\r
+#   include <boost/mpl/apply_wrap.hpp>\r
+#   include <boost/mpl/if.hpp>\r
+#   include <boost/mpl/tag.hpp>\r
+#   include <boost/mpl/aux_/numeric_cast_utils.hpp>\r
+#   include <boost/mpl/aux_/na.hpp>\r
+#   include <boost/mpl/aux_/na_spec.hpp>\r
+#   include <boost/mpl/aux_/lambda_support.hpp>\r
+#   include <boost/mpl/aux_/msvc_eti_base.hpp>\r
+#   include <boost/mpl/aux_/value_wknd.hpp>\r
+#   include <boost/mpl/aux_/config/eti.hpp>\r
+#   include <boost/mpl/aux_/nttp_decl.hpp>\r
+#endif\r
+\r
+#include <boost/mpl/aux_/config/static_constant.hpp>\r
+\r
+#if defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \\r
+    || defined(BOOST_MPL_PREPROCESSING_MODE)\r
+\r
+#   include <boost/mpl/limits/arity.hpp>\r
+#   include <boost/mpl/aux_/preprocessor/partial_spec_params.hpp>\r
+#   include <boost/mpl/aux_/preprocessor/def_params_tail.hpp>\r
+#   include <boost/mpl/aux_/preprocessor/repeat.hpp>\r
+#   include <boost/mpl/aux_/preprocessor/ext_params.hpp>\r
+#   include <boost/mpl/aux_/preprocessor/params.hpp>\r
+#   include <boost/mpl/aux_/preprocessor/enum.hpp>\r
+#   include <boost/mpl/aux_/preprocessor/add.hpp>\r
+#   include <boost/mpl/aux_/preprocessor/sub.hpp>\r
+#   include <boost/mpl/aux_/config/ctps.hpp>\r
+#   include <boost/mpl/aux_/config/eti.hpp>\r
+#   include <boost/mpl/aux_/config/msvc.hpp>\r
+#   include <boost/mpl/aux_/config/workaround.hpp>\r
+\r
+#   include <boost/preprocessor/dec.hpp>\r
+#   include <boost/preprocessor/inc.hpp>\r
+#   include <boost/preprocessor/iterate.hpp>\r
+#   include <boost/preprocessor/cat.hpp>\r
+\r
+\r
+#if !defined(AUX778076_OP_ARITY)\r
+#   define AUX778076_OP_ARITY BOOST_MPL_LIMIT_METAFUNCTION_ARITY\r
+#endif\r
+\r
+#if !defined(AUX778076_OP_IMPL_NAME)\r
+#   define AUX778076_OP_IMPL_NAME BOOST_PP_CAT(AUX778076_OP_PREFIX,_impl)\r
+#endif\r
+\r
+#if !defined(AUX778076_OP_TAG_NAME)\r
+#   define AUX778076_OP_TAG_NAME BOOST_PP_CAT(AUX778076_OP_PREFIX,_tag)\r
+#endif\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template< \r
+      typename Tag1\r
+    , typename Tag2\r
+#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)\r
+    , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value \r
+    , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value \r
+    >\r
+struct AUX778076_OP_IMPL_NAME\r
+    : if_c<\r
+          ( tag1_ > tag2_ )\r
+#else\r
+    >\r
+struct AUX778076_OP_IMPL_NAME\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+#endif\r
+        , aux::cast2nd_impl< AUX778076_OP_IMPL_NAME<Tag1,Tag1>,Tag1,Tag2 >\r
+        , aux::cast1st_impl< AUX778076_OP_IMPL_NAME<Tag2,Tag2>,Tag1,Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct AUX778076_OP_IMPL_NAME<na,na>\r
+{\r
+    template< typename U1, typename U2 > struct apply \r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value = 0);\r
+    };\r
+};\r
+\r
+#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)\r
+template< typename Tag > struct AUX778076_OP_IMPL_NAME<na,Tag>\r
+{\r
+    template< typename U1, typename U2 > struct apply \r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct AUX778076_OP_IMPL_NAME<Tag,na>\r
+{\r
+    template< typename U1, typename U2 > struct apply \r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value = 0);\r
+    };\r
+};\r
+#else\r
+template<> struct AUX778076_OP_IMPL_NAME<na,integral_c_tag>\r
+{\r
+    template< typename U1, typename U2 > struct apply \r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value = 0);\r
+    };\r
+};\r
+\r
+template<> struct AUX778076_OP_IMPL_NAME<integral_c_tag,na>\r
+{\r
+    template< typename U1, typename U2 > struct apply \r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value = 0);\r
+    };\r
+};\r
+#endif\r
+\r
+\r
+#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \\r
+    && BOOST_WORKAROUND(BOOST_MSVC, >= 1300)\r
+template< typename T > struct AUX778076_OP_TAG_NAME\r
+    : tag<T,na>\r
+{\r
+};\r
+#else\r
+template< typename T > struct AUX778076_OP_TAG_NAME\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+#endif\r
+\r
+\r
+#if AUX778076_OP_ARITY != 2\r
+\r
+#   if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)\r
+\r
+#   define AUX778076_OP_RIGHT_OPERAND(unused, i, N) , BOOST_PP_CAT(N, BOOST_MPL_PP_ADD(i, 2))>\r
+#   define AUX778076_OP_N_CALLS(i, N) \\r
+    BOOST_MPL_PP_REPEAT( BOOST_PP_DEC(i), BOOST_MPL_PP_REPEAT_IDENTITY_FUNC, AUX778076_OP_NAME< ) \\r
+    N1 BOOST_MPL_PP_REPEAT( BOOST_MPL_PP_SUB(i, 1), AUX778076_OP_RIGHT_OPERAND, N ) \\r
+/**/\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    BOOST_MPL_PP_DEF_PARAMS_TAIL(2, typename N, na)\r
+    >\r
+struct AUX778076_OP_NAME\r
+    : AUX778076_OP_N_CALLS(AUX778076_OP_ARITY, N)\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          AUX778076_OP_ARITY\r
+        , AUX778076_OP_NAME\r
+        , ( BOOST_MPL_PP_PARAMS(AUX778076_OP_ARITY, N) )\r
+        )\r
+};\r
+\r
+#define BOOST_PP_ITERATION_PARAMS_1 \\r
+    (3,( BOOST_PP_DEC(AUX778076_OP_ARITY), 2, <boost/mpl/aux_/numeric_op.hpp> ))\r
+#include BOOST_PP_ITERATE()\r
+\r
+#   undef AUX778076_OP_N_CALLS\r
+#   undef AUX778076_OP_RIGHT_OPERAND\r
+\r
+#   else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+\r
+/// forward declaration\r
+template< \r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct BOOST_PP_CAT(AUX778076_OP_NAME,2);\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    BOOST_MPL_PP_DEF_PARAMS_TAIL(2, typename N, na)\r
+    >\r
+struct AUX778076_OP_NAME\r
+#if BOOST_WORKAROUND(BOOST_MSVC, == 1300)\r
+    : aux::msvc_eti_base< typename if_<\r
+#else\r
+    : if_<\r
+#endif\r
+          is_na<N3>\r
+        , BOOST_PP_CAT(AUX778076_OP_NAME,2)<N1,N2>\r
+        , AUX778076_OP_NAME<\r
+              BOOST_PP_CAT(AUX778076_OP_NAME,2)<N1,N2>\r
+            , BOOST_MPL_PP_EXT_PARAMS(3, BOOST_PP_INC(AUX778076_OP_ARITY), N)\r
+            >\r
+        >::type\r
+#if BOOST_WORKAROUND(BOOST_MSVC, == 1300)\r
+    >\r
+#endif\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          AUX778076_OP_ARITY\r
+        , AUX778076_OP_NAME\r
+        , ( BOOST_MPL_PP_PARAMS(AUX778076_OP_ARITY, N) )\r
+        )\r
+};\r
+\r
+template< \r
+      typename N1\r
+    , typename N2\r
+    >\r
+struct BOOST_PP_CAT(AUX778076_OP_NAME,2)\r
+\r
+#endif\r
+\r
+#else // AUX778076_OP_ARITY == 2\r
+\r
+template< \r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct AUX778076_OP_NAME\r
+\r
+#endif\r
+\r
+#if !defined(BOOST_MPL_CFG_MSVC_ETI_BUG)\r
+    : AUX778076_OP_IMPL_NAME<\r
+          typename AUX778076_OP_TAG_NAME<N1>::type\r
+        , typename AUX778076_OP_TAG_NAME<N2>::type\r
+        >::template apply<N1,N2>::type\r
+#else\r
+    : aux::msvc_eti_base< typename apply_wrap2<\r
+          AUX778076_OP_IMPL_NAME<\r
+              typename AUX778076_OP_TAG_NAME<N1>::type\r
+            , typename AUX778076_OP_TAG_NAME<N2>::type\r
+            >\r
+        , N1\r
+        , N2\r
+        >::type >::type\r
+#endif\r
+{\r
+#if AUX778076_OP_ARITY != 2\r
+\r
+#   if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          AUX778076_OP_ARITY\r
+        , AUX778076_OP_NAME\r
+        , ( BOOST_MPL_PP_PARTIAL_SPEC_PARAMS(2, N, na) )\r
+        )\r
+#   else\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, BOOST_PP_CAT(AUX778076_OP_NAME,2), (N1, N2))\r
+#   endif\r
+\r
+#else\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, AUX778076_OP_NAME, (N1, N2))\r
+#endif\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, AUX778076_OP_ARITY, AUX778076_OP_NAME)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS\r
+\r
+///// iteration, depth == 1\r
+\r
+// For gcc 4.4 compatability, we must include the\r
+// BOOST_PP_ITERATION_DEPTH test inside an #else clause.\r
+#else // BOOST_PP_IS_ITERATING\r
+#if BOOST_PP_ITERATION_DEPTH() == 1\r
+\r
+#   define i_ BOOST_PP_FRAME_ITERATION(1)\r
+\r
+template<\r
+      BOOST_MPL_PP_PARAMS(i_, typename N)\r
+    >\r
+struct AUX778076_OP_NAME<BOOST_MPL_PP_PARTIAL_SPEC_PARAMS(i_, N, na)>\r
+#if i_ != 2\r
+    : AUX778076_OP_N_CALLS(i_, N)\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          AUX778076_OP_ARITY\r
+        , AUX778076_OP_NAME\r
+        , ( BOOST_MPL_PP_PARTIAL_SPEC_PARAMS(i_, N, na) )\r
+        )\r
+};\r
+#endif\r
+\r
+#   undef i_\r
+\r
+#endif // BOOST_PP_ITERATION_DEPTH()\r
+#endif // BOOST_PP_IS_ITERATING\r
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 (file)
index 0000000..968f293
--- /dev/null
@@ -0,0 +1,76 @@
+\r
+#ifndef BOOST_MPL_AUX_ORDER_IMPL_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_ORDER_IMPL_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2003-2004\r
+// Copyright David Abrahams 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: order_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/order_fwd.hpp>\r
+#include <boost/mpl/if.hpp>\r
+#include <boost/mpl/long.hpp>\r
+#include <boost/mpl/has_key.hpp>\r
+#include <boost/mpl/aux_/overload_names.hpp>\r
+#include <boost/mpl/aux_/static_cast.hpp>\r
+#include <boost/mpl/aux_/type_wrapper.hpp>\r
+#include <boost/mpl/aux_/traits_lambda_spec.hpp>\r
+#include <boost/mpl/aux_/config/msvc.hpp>\r
+#include <boost/mpl/aux_/config/static_constant.hpp>\r
+#include <boost/mpl/aux_/config/workaround.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+// default implementation; requires 'Seq' to provide corresponding overloads \r
+// of BOOST_MPL_AUX_OVERLOAD_ORDER_BY_KEY\r
+\r
+template< typename Seq, typename Key > struct x_order_impl\r
+#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1400)) \\r
+    || BOOST_WORKAROUND(__EDG_VERSION__, <= 245)\r
+{\r
+    BOOST_STATIC_CONSTANT(long, value = \r
+          sizeof( BOOST_MPL_AUX_OVERLOAD_CALL_ORDER_BY_KEY(\r
+              Seq\r
+            , BOOST_MPL_AUX_STATIC_CAST(aux::type_wrapper<Key>*, 0)\r
+            ) )\r
+        );\r
+\r
+    typedef long_<value> type;\r
+\r
+#else // ISO98 C++\r
+    : long_< \r
+          sizeof( BOOST_MPL_AUX_OVERLOAD_CALL_ORDER_BY_KEY(\r
+              Seq\r
+            , BOOST_MPL_AUX_STATIC_CAST(aux::type_wrapper<Key>*, 0)\r
+            ) )\r
+        >\r
+{\r
+#endif\r
+};\r
+\r
+template< typename Tag >\r
+struct order_impl\r
+{\r
+    template< typename Seq, typename Key > struct apply\r
+        : if_<\r
+              typename has_key_impl<Tag>::template apply<Seq,Key>\r
+            , x_order_impl<Seq,Key>\r
+            , void_\r
+            >::type\r
+    {\r
+    };\r
+};\r
+\r
+BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(2,order_impl)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_AUX_ORDER_IMPL_HPP_INCLUDED\r
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 (file)
index 0000000..ce93752
--- /dev/null
@@ -0,0 +1,48 @@
+\r
+#ifndef BOOST_MPL_AUX_OVERLOAD_NAMES_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_OVERLOAD_NAMES_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: overload_names.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/aux_/ptr_to_ref.hpp>\r
+#include <boost/mpl/aux_/config/operators.hpp>\r
+\r
+#if defined(BOOST_MPL_CFG_USE_OPERATORS_OVERLOADING)\r
+\r
+#   include <boost/mpl/aux_/static_cast.hpp>\r
+\r
+#   define BOOST_MPL_AUX_OVERLOAD_VALUE_BY_KEY  operator/\r
+#   define BOOST_MPL_AUX_OVERLOAD_ITEM_BY_ORDER operator|\r
+#   define BOOST_MPL_AUX_OVERLOAD_ORDER_BY_KEY  operator||\r
+#   define BOOST_MPL_AUX_OVERLOAD_IS_MASKED     operator%\r
+\r
+#   define BOOST_MPL_AUX_OVERLOAD_CALL_VALUE_BY_KEY(T, x)   BOOST_MPL_AUX_PTR_TO_REF(T) / x\r
+#   define BOOST_MPL_AUX_OVERLOAD_CALL_ITEM_BY_ORDER(T, x)  BOOST_MPL_AUX_PTR_TO_REF(T) | x\r
+#   define BOOST_MPL_AUX_OVERLOAD_CALL_ORDER_BY_KEY(T, x)   BOOST_MPL_AUX_PTR_TO_REF(T) || x\r
+#   define BOOST_MPL_AUX_OVERLOAD_CALL_IS_MASKED(T, x)      BOOST_MPL_AUX_PTR_TO_REF(T) % x\r
+\r
+#else\r
+\r
+#   define BOOST_MPL_AUX_OVERLOAD_VALUE_BY_KEY  value_by_key_\r
+#   define BOOST_MPL_AUX_OVERLOAD_ITEM_BY_ORDER item_by_order_\r
+#   define BOOST_MPL_AUX_OVERLOAD_ORDER_BY_KEY  order_by_key_\r
+#   define BOOST_MPL_AUX_OVERLOAD_IS_MASKED     is_masked_\r
+\r
+#   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 )\r
+#   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 )\r
+#   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 )\r
+#   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 )\r
+\r
+#endif\r
+\r
+#endif // BOOST_MPL_AUX_OVERLOAD_NAMES_HPP_INCLUDED\r
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 (file)
index 0000000..e672253
--- /dev/null
@@ -0,0 +1,58 @@
+\r
+#ifndef BOOST_MPL_AUX_PARTITION_OP_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_PARTITION_OP_HPP_INCLUDED\r
+\r
+// Copyright Eric Friedman 2003\r
+// Copyright Aleksey Gurtovoy 2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: partition_op.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/apply.hpp>\r
+#include <boost/mpl/eval_if.hpp>\r
+#include <boost/mpl/if.hpp>\r
+#include <boost/mpl/pair.hpp>\r
+#include <boost/mpl/aux_/lambda_spec.hpp>\r
+\r
+namespace boost { namespace mpl { \r
+\r
+namespace aux {\r
+\r
+template< typename Pred, typename In1Op, typename In2Op >\r
+struct partition_op\r
+{\r
+    template< typename State, typename T >\r
+    struct apply\r
+    {\r
+        typedef typename State::first first_;\r
+        typedef typename State::second second_;\r
+        typedef typename apply1< Pred,T >::type pred_;\r
+\r
+        typedef typename eval_if<\r
+              pred_\r
+            , apply2<In1Op,first_,T>\r
+            , apply2<In2Op,second_,T>\r
+            >::type result_;\r
+\r
+        typedef typename if_<\r
+              pred_\r
+            , pair< result_,second_ >\r
+            , pair< first_,result_ >\r
+            >::type type;\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(3, aux::partition_op)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_AUX_PARTITION_OP_HPP_INCLUDED\r
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 (file)
index 0000000..1743d74
--- /dev/null
@@ -0,0 +1,34 @@
+\r
+#ifndef BOOST_MPL_AUX_POP_BACK_IMPL_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_POP_BACK_IMPL_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: pop_back_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/pop_back_fwd.hpp>\r
+#include <boost/mpl/aux_/traits_lambda_spec.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+// no default implementation; the definition is needed to make MSVC happy\r
+\r
+template< typename Tag >\r
+struct pop_back_impl\r
+{\r
+    template< typename Sequence > struct apply;\r
+};\r
+\r
+BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(1, pop_back_impl)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_AUX_POP_BACK_IMPL_HPP_INCLUDED\r
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 (file)
index 0000000..6730f4d
--- /dev/null
@@ -0,0 +1,44 @@
+\r
+#ifndef BOOST_MPL_AUX_POP_FRONT_IMPL_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_POP_FRONT_IMPL_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: pop_front_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/pop_front_fwd.hpp>\r
+#include <boost/mpl/aux_/traits_lambda_spec.hpp>\r
+#include <boost/mpl/aux_/config/workaround.hpp>\r
+#include <boost/mpl/aux_/config/msvc.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+// no default implementation; the definition is needed to make MSVC happy\r
+\r
+template< typename Tag >\r
+struct pop_front_impl\r
+{\r
+    template< typename Sequence > struct apply\r
+    // conservatively placed, but maybe should go outside surrounding\r
+    // braces.\r
+#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) \r
+    {\r
+        typedef int type;\r
+    }\r
+#endif\r
+    ;\r
+};\r
+\r
+BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(1, pop_front_impl)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_AUX_POP_FRONT_IMPL_HPP_INCLUDED\r
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 (file)
index 0000000..d4666be
--- /dev/null
@@ -0,0 +1,97 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "advance_backward.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+template< long N > struct advance_backward;\r
+template<>\r
+struct advance_backward<0>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef iter0 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct advance_backward<1>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef typename prior<iter0>::type iter1;\r
+        typedef iter1 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct advance_backward<2>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef typename prior<iter0>::type iter1;\r
+        typedef typename prior<iter1>::type iter2;\r
+        typedef iter2 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct advance_backward<3>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef typename prior<iter0>::type iter1;\r
+        typedef typename prior<iter1>::type iter2;\r
+        typedef typename prior<iter2>::type iter3;\r
+        typedef iter3 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct advance_backward<4>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef typename prior<iter0>::type iter1;\r
+        typedef typename prior<iter1>::type iter2;\r
+        typedef typename prior<iter2>::type iter3;\r
+        typedef typename prior<iter3>::type iter4;\r
+        typedef iter4 type;\r
+    };\r
+};\r
+\r
+template< long N >\r
+struct advance_backward\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef typename apply_wrap1<\r
+              advance_backward<4>\r
+            , Iterator\r
+            >::type chunk_result_;\r
+\r
+        typedef typename apply_wrap1<\r
+              advance_backward<(\r
+                (N - 4) < 0\r
+                    ? 0\r
+                    : N - 4\r
+                    )>\r
+            , chunk_result_\r
+            >::type type;\r
+    };\r
+};\r
+\r
+}}}\r
+\r
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 (file)
index 0000000..1424fc1
--- /dev/null
@@ -0,0 +1,97 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "advance_forward.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+template< long N > struct advance_forward;\r
+template<>\r
+struct advance_forward<0>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef iter0 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct advance_forward<1>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef typename next<iter0>::type iter1;\r
+        typedef iter1 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct advance_forward<2>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef typename next<iter0>::type iter1;\r
+        typedef typename next<iter1>::type iter2;\r
+        typedef iter2 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct advance_forward<3>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef typename next<iter0>::type iter1;\r
+        typedef typename next<iter1>::type iter2;\r
+        typedef typename next<iter2>::type iter3;\r
+        typedef iter3 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct advance_forward<4>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef typename next<iter0>::type iter1;\r
+        typedef typename next<iter1>::type iter2;\r
+        typedef typename next<iter2>::type iter3;\r
+        typedef typename next<iter3>::type iter4;\r
+        typedef iter4 type;\r
+    };\r
+};\r
+\r
+template< long N >\r
+struct advance_forward\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef typename apply_wrap1<\r
+              advance_forward<4>\r
+            , Iterator\r
+            >::type chunk_result_;\r
+\r
+        typedef typename apply_wrap1<\r
+              advance_forward<(\r
+                (N - 4) < 0\r
+                    ? 0\r
+                    : N - 4\r
+                    )>\r
+            , chunk_result_\r
+            >::type type;\r
+    };\r
+};\r
+\r
+}}}\r
+\r
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 (file)
index 0000000..3ab3249
--- /dev/null
@@ -0,0 +1,69 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "and.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+\r
+template< bool C_, typename T1, typename T2, typename T3, typename T4 >\r
+struct and_impl\r
+    : false_\r
+{\r
+};\r
+\r
+template< typename T1, typename T2, typename T3, typename T4 >\r
+struct and_impl< true,T1,T2,T3,T4 >\r
+    : and_impl<\r
+          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value\r
+        , T2, T3, T4\r
+        , true_\r
+        >\r
+{\r
+};\r
+\r
+template<>\r
+struct and_impl<\r
+          true\r
+        , true_, true_, true_, true_\r
+        >\r
+    : true_\r
+{\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(T1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(T2)\r
+    , typename T3 = true_, typename T4 = true_, typename T5 = true_\r
+    >\r
+struct and_\r
+\r
+    : aux::and_impl<\r
+          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value\r
+        , T2, T3, T4, T5\r
+        >\r
+\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , and_\r
+        , ( T1, T2, T3, T4, T5)\r
+        )\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(\r
+      2\r
+    , 5\r
+    , and_\r
+    )\r
+\r
+}}\r
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 (file)
index 0000000..844db68
--- /dev/null
@@ -0,0 +1,169 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "apply.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct apply0\r
+\r
+    : apply_wrap0<\r
+          typename lambda<F>::type\r
+       \r
+        >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          1\r
+        , apply0\r
+        , (F )\r
+        )\r
+};\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct apply< F,na,na,na,na,na >\r
+    : apply0<F>\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct apply1\r
+\r
+    : apply_wrap1<\r
+          typename lambda<F>::type\r
+        , T1\r
+        >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          2\r
+        , apply1\r
+        , (F, T1)\r
+        )\r
+};\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct apply< F,T1,na,na,na,na >\r
+    : apply1< F,T1 >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+struct apply2\r
+\r
+    : apply_wrap2<\r
+          typename lambda<F>::type\r
+        , T1, T2\r
+        >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          3\r
+        , apply2\r
+        , (F, T1, T2)\r
+        )\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+struct apply< F,T1,T2,na,na,na >\r
+    : apply2< F,T1,T2 >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+struct apply3\r
+\r
+    : apply_wrap3<\r
+          typename lambda<F>::type\r
+        , T1, T2, T3\r
+        >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          4\r
+        , apply3\r
+        , (F, T1, T2, T3)\r
+        )\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+struct apply< F,T1,T2,T3,na,na >\r
+    : apply3< F,T1,T2,T3 >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct apply4\r
+\r
+    : apply_wrap4<\r
+          typename lambda<F>::type\r
+        , T1, T2, T3, T4\r
+        >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , apply4\r
+        , (F, T1, T2, T3, T4)\r
+        )\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct apply< F,T1,T2,T3,T4,na >\r
+    : apply4< F,T1,T2,T3,T4 >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct apply5\r
+\r
+    : apply_wrap5<\r
+          typename lambda<F>::type\r
+        , T1, T2, T3, T4, T5\r
+        >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          6\r
+        , apply5\r
+        , (F, T1, T2, T3, T4, T5)\r
+        )\r
+};\r
+\r
+/// primary template (not a specialization!)\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct apply\r
+    : apply5< F,T1,T2,T3,T4,T5 >\r
+{\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..80a2835
--- /dev/null
@@ -0,0 +1,52 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "apply_fwd.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename F, typename T1 = na, typename T2 = na, typename T3 = na\r
+    , typename T4 = na, typename T5 = na\r
+    >\r
+struct apply;\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct apply0;\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct apply1;\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+struct apply2;\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+struct apply3;\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct apply4;\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct apply5;\r
+\r
+}}\r
+\r
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 (file)
index 0000000..0efcb0e
--- /dev/null
@@ -0,0 +1,461 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2008\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "apply_wrap.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      int N, typename F\r
+    >\r
+struct apply_wrap_impl0;\r
+\r
+template< typename F, bool F_has_apply >\r
+struct apply_wrap_impl0_bcb {\r
+    typedef typename F::template apply<na> type;\r
+};\r
+\r
+template< typename F >\r
+struct apply_wrap_impl0_bcb< F,true > {\r
+    typedef typename F::apply type;\r
+};\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct apply_wrap_impl0<\r
+          0\r
+        , F\r
+       \r
+        >\r
+{\r
+    typedef apply_wrap_impl0_bcb< F, aux::has_apply<F>::value >::type type;\r
+};\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct apply_wrap_impl0<\r
+          1\r
+        , F\r
+       \r
+        >\r
+{\r
+    typedef typename F::template apply<\r
+         \r
+        na\r
+        > type;\r
+};\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct apply_wrap_impl0<\r
+          2\r
+        , F\r
+       \r
+        >\r
+{\r
+    typedef typename F::template apply<\r
+         \r
+        na, na\r
+\r
+        > type;\r
+};\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct apply_wrap_impl0<\r
+          3\r
+        , F\r
+       \r
+        >\r
+{\r
+    typedef typename F::template apply<\r
+         \r
+        na, na, na\r
+\r
+        > type;\r
+};\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct apply_wrap_impl0<\r
+          4\r
+        , F\r
+       \r
+        >\r
+{\r
+    typedef typename F::template apply<\r
+         \r
+        na, na, na, na\r
+\r
+        > type;\r
+};\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct apply_wrap_impl0<\r
+          5\r
+        , F\r
+       \r
+        >\r
+{\r
+    typedef typename F::template apply<\r
+         \r
+        na, na, na, na, na\r
+\r
+        > type;\r
+};\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct apply_wrap0\r
+    : apply_wrap_impl0<\r
+          ::boost::mpl::aux::arity< F,0 >::value\r
+        , F\r
+       \r
+        >::type\r
+{\r
+};\r
+\r
+template<\r
+      int N, typename F, typename T1\r
+    >\r
+struct apply_wrap_impl1;\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct apply_wrap_impl1<\r
+          1\r
+        , F\r
+        , T1\r
+        >\r
+{\r
+    typedef typename F::template apply<\r
+          T1\r
+        > type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct apply_wrap_impl1<\r
+          2\r
+        , F\r
+        , T1\r
+        >\r
+{\r
+    typedef typename F::template apply<\r
+          T1\r
+        , na\r
+\r
+        > type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct apply_wrap_impl1<\r
+          3\r
+        , F\r
+        , T1\r
+        >\r
+{\r
+    typedef typename F::template apply<\r
+          T1\r
+        , na, na\r
+\r
+        > type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct apply_wrap_impl1<\r
+          4\r
+        , F\r
+        , T1\r
+        >\r
+{\r
+    typedef typename F::template apply<\r
+          T1\r
+        , na, na, na\r
+\r
+        > type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct apply_wrap_impl1<\r
+          5\r
+        , F\r
+        , T1\r
+        >\r
+{\r
+    typedef typename F::template apply<\r
+          T1\r
+        , na, na, na, na\r
+\r
+        > type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct apply_wrap1\r
+    : apply_wrap_impl1<\r
+          ::boost::mpl::aux::arity< F,1 >::value\r
+        , F\r
+        , T1\r
+        >::type\r
+{\r
+};\r
+\r
+template<\r
+      int N, typename F, typename T1, typename T2\r
+    >\r
+struct apply_wrap_impl2;\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+struct apply_wrap_impl2<\r
+          2\r
+        , F\r
+        , T1, T2\r
+        >\r
+{\r
+    typedef typename F::template apply<\r
+          T1, T2\r
+\r
+        > type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+struct apply_wrap_impl2<\r
+          3\r
+        , F\r
+        , T1, T2\r
+        >\r
+{\r
+    typedef typename F::template apply<\r
+          T1, T2\r
+\r
+        , na\r
+\r
+        > type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+struct apply_wrap_impl2<\r
+          4\r
+        , F\r
+        , T1, T2\r
+        >\r
+{\r
+    typedef typename F::template apply<\r
+          T1, T2\r
+\r
+        , na, na\r
+\r
+        > type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+struct apply_wrap_impl2<\r
+          5\r
+        , F\r
+        , T1, T2\r
+        >\r
+{\r
+    typedef typename F::template apply<\r
+          T1, T2\r
+\r
+        , na, na, na\r
+\r
+        > type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+struct apply_wrap2\r
+    : apply_wrap_impl2<\r
+          ::boost::mpl::aux::arity< F,2 >::value\r
+        , F\r
+        , T1, T2\r
+        >::type\r
+{\r
+};\r
+\r
+template<\r
+      int N, typename F, typename T1, typename T2, typename T3\r
+    >\r
+struct apply_wrap_impl3;\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+struct apply_wrap_impl3<\r
+          3\r
+        , F\r
+        , T1, T2, T3\r
+        >\r
+{\r
+    typedef typename F::template apply<\r
+          T1, T2, T3\r
+\r
+        > type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+struct apply_wrap_impl3<\r
+          4\r
+        , F\r
+        , T1, T2, T3\r
+        >\r
+{\r
+    typedef typename F::template apply<\r
+          T1, T2, T3\r
+\r
+        , na\r
+\r
+        > type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+struct apply_wrap_impl3<\r
+          5\r
+        , F\r
+        , T1, T2, T3\r
+        >\r
+{\r
+    typedef typename F::template apply<\r
+          T1, T2, T3\r
+\r
+        , na, na\r
+\r
+        > type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+struct apply_wrap3\r
+    : apply_wrap_impl3<\r
+          ::boost::mpl::aux::arity< F,3 >::value\r
+        , F\r
+        , T1, T2, T3\r
+        >::type\r
+{\r
+};\r
+\r
+template<\r
+      int N, typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct apply_wrap_impl4;\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct apply_wrap_impl4<\r
+          4\r
+        , F\r
+        , T1, T2, T3, T4\r
+        >\r
+{\r
+    typedef typename F::template apply<\r
+          T1, T2, T3, T4\r
+\r
+        > type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct apply_wrap_impl4<\r
+          5\r
+        , F\r
+        , T1, T2, T3, T4\r
+        >\r
+{\r
+    typedef typename F::template apply<\r
+          T1, T2, T3, T4\r
+\r
+        , na\r
+\r
+        > type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct apply_wrap4\r
+    : apply_wrap_impl4<\r
+          ::boost::mpl::aux::arity< F,4 >::value\r
+        , F\r
+        , T1, T2, T3, T4\r
+        >::type\r
+{\r
+};\r
+\r
+template<\r
+      int N, typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct apply_wrap_impl5;\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct apply_wrap_impl5<\r
+          5\r
+        , F\r
+        , T1, T2, T3, T4, T5\r
+        >\r
+{\r
+    typedef typename F::template apply<\r
+          T1, T2, T3, T4, T5\r
+\r
+        > type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct apply_wrap5\r
+    : apply_wrap_impl5<\r
+          ::boost::mpl::aux::arity< F,5 >::value\r
+        , F\r
+        , T1, T2, T3, T4, T5\r
+        >::type\r
+{\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..c87ef00
--- /dev/null
@@ -0,0 +1,117 @@
+\r
+// Copyright Peter Dimov 2001-2002\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "arg.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+template<> struct arg< -1 >\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value  = -1);\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)\r
+\r
+    template<\r
+          typename U1, typename U2, typename U3, typename U4, typename U5\r
+        >\r
+    struct apply\r
+    {\r
+        typedef U1 type;\r
+        BOOST_MPL_AUX_ASSERT_NOT_NA(type);\r
+    };\r
+};\r
+\r
+template<> struct arg<1>\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value  = 1);\r
+    typedef arg<2> next;\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)\r
+\r
+    template<\r
+          typename U1, typename U2, typename U3, typename U4, typename U5\r
+        >\r
+    struct apply\r
+    {\r
+        typedef U1 type;\r
+        BOOST_MPL_AUX_ASSERT_NOT_NA(type);\r
+    };\r
+};\r
+\r
+template<> struct arg<2>\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value  = 2);\r
+    typedef arg<3> next;\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)\r
+\r
+    template<\r
+          typename U1, typename U2, typename U3, typename U4, typename U5\r
+        >\r
+    struct apply\r
+    {\r
+        typedef U2 type;\r
+        BOOST_MPL_AUX_ASSERT_NOT_NA(type);\r
+    };\r
+};\r
+\r
+template<> struct arg<3>\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value  = 3);\r
+    typedef arg<4> next;\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)\r
+\r
+    template<\r
+          typename U1, typename U2, typename U3, typename U4, typename U5\r
+        >\r
+    struct apply\r
+    {\r
+        typedef U3 type;\r
+        BOOST_MPL_AUX_ASSERT_NOT_NA(type);\r
+    };\r
+};\r
+\r
+template<> struct arg<4>\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value  = 4);\r
+    typedef arg<5> next;\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)\r
+\r
+    template<\r
+          typename U1, typename U2, typename U3, typename U4, typename U5\r
+        >\r
+    struct apply\r
+    {\r
+        typedef U4 type;\r
+        BOOST_MPL_AUX_ASSERT_NOT_NA(type);\r
+    };\r
+};\r
+\r
+template<> struct arg<5>\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value  = 5);\r
+    typedef arg<6> next;\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)\r
+\r
+    template<\r
+          typename U1, typename U2, typename U3, typename U4, typename U5\r
+        >\r
+    struct apply\r
+    {\r
+        typedef U5 type;\r
+        BOOST_MPL_AUX_ASSERT_NOT_NA(type);\r
+    };\r
+};\r
+\r
+BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg)\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
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 (file)
index 0000000..a525a9f
--- /dev/null
@@ -0,0 +1,300 @@
+\r
+// Copyright Peter Dimov 2001\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "basic_bind.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename T, typename U1, typename U2, typename U3, typename U4\r
+    , typename U5\r
+    >\r
+struct resolve_bind_arg\r
+{\r
+    typedef T type;\r
+};\r
+\r
+template<\r
+      int N, typename U1, typename U2, typename U3, typename U4, typename U5\r
+    >\r
+struct resolve_bind_arg< arg<N>, U1, U2, U3, U4, U5 >\r
+{\r
+    typedef typename apply_wrap5<mpl::arg<N>, U1, U2, U3, U4, U5>::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct bind0\r
+{\r
+    template<\r
+          typename U1, typename U2, typename U3, typename U4, typename U5\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;\r
+\r
+     public:\r
+        typedef typename apply_wrap0<\r
+              f_\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename U1, typename U2, typename U3, typename U4\r
+    , typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind0<F>, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind0<F> f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(1, bind0)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct bind1\r
+{\r
+    template<\r
+          typename U1, typename U2, typename U3, typename U4, typename U5\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;\r
+        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;\r
+\r
+     public:\r
+        typedef typename apply_wrap1<\r
+              f_\r
+            , typename t1::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename U1, typename U2, typename U3\r
+    , typename U4, typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind1< F,T1 >, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind1< F,T1 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(2, bind1)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+struct bind2\r
+{\r
+    template<\r
+          typename U1, typename U2, typename U3, typename U4, typename U5\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;\r
+        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;\r
+        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;\r
+\r
+     public:\r
+        typedef typename apply_wrap2<\r
+              f_\r
+            , typename t1::type, typename t2::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename U1, typename U2\r
+    , typename U3, typename U4, typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind2< F,T1,T2 >, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind2< F,T1,T2 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(3, bind2)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+struct bind3\r
+{\r
+    template<\r
+          typename U1, typename U2, typename U3, typename U4, typename U5\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;\r
+        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;\r
+        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;\r
+        typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;\r
+\r
+     public:\r
+        typedef typename apply_wrap3<\r
+              f_\r
+            , typename t1::type, typename t2::type, typename t3::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename U1\r
+    , typename U2, typename U3, typename U4, typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind3< F,T1,T2,T3 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(4, bind3)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct bind4\r
+{\r
+    template<\r
+          typename U1, typename U2, typename U3, typename U4, typename U5\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;\r
+        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;\r
+        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;\r
+        typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;\r
+        typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4;\r
+\r
+     public:\r
+        typedef typename apply_wrap4<\r
+              f_\r
+            , typename t1::type, typename t2::type, typename t3::type\r
+            , typename t4::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename U1, typename U2, typename U3, typename U4, typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind4< F,T1,T2,T3,T4 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(5, bind4)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct bind5\r
+{\r
+    template<\r
+          typename U1, typename U2, typename U3, typename U4, typename U5\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;\r
+        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;\r
+        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;\r
+        typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;\r
+        typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4;\r
+        typedef aux::resolve_bind_arg< T5,U1,U2,U3,U4,U5 > t5;\r
+\r
+     public:\r
+        typedef typename apply_wrap5<\r
+              f_\r
+            , typename t1::type, typename t2::type, typename t3::type\r
+            , typename t4::type, typename t5::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename U1, typename U2, typename U3, typename U4\r
+    , typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind5< F,T1,T2,T3,T4,T5 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(6, bind5)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)\r
+}}\r
+\r
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 (file)
index 0000000..e04f409
--- /dev/null
@@ -0,0 +1,397 @@
+\r
+// Copyright Peter Dimov 2001\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "bind.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename T, typename U1, typename U2, typename U3, typename U4\r
+    , typename U5\r
+    >\r
+struct resolve_bind_arg\r
+{\r
+    typedef T type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , typename Arg\r
+    >\r
+struct replace_unnamed_arg\r
+{\r
+    typedef Arg next;\r
+    typedef T type;\r
+};\r
+\r
+template<\r
+      typename Arg\r
+    >\r
+struct replace_unnamed_arg< arg< -1 >, Arg >\r
+{\r
+    typedef typename Arg::next next;\r
+    typedef Arg type;\r
+};\r
+\r
+template<\r
+      int N, typename U1, typename U2, typename U3, typename U4, typename U5\r
+    >\r
+struct resolve_bind_arg< arg<N>, U1, U2, U3, U4, U5 >\r
+{\r
+    typedef typename apply_wrap5<mpl::arg<N>, U1, U2, U3, U4, U5>::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct bind0\r
+{\r
+    template<\r
+          typename U1, typename U2, typename U3, typename U4, typename U5\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;\r
+        typedef typename r0::type a0;\r
+        typedef typename r0::next n1;\r
+        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;\r
+        ///\r
+     public:\r
+        typedef typename apply_wrap0<\r
+              f_\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename U1, typename U2, typename U3, typename U4\r
+    , typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind0<F>, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind0<F> f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(1, bind0)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct bind1\r
+{\r
+    template<\r
+          typename U1, typename U2, typename U3, typename U4, typename U5\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;\r
+        typedef typename r0::type a0;\r
+        typedef typename r0::next n1;\r
+        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T1,n1 > r1;\r
+        typedef typename r1::type a1;\r
+        typedef typename r1::next n2;\r
+        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;\r
+        ///\r
+     public:\r
+        typedef typename apply_wrap1<\r
+              f_\r
+            , typename t1::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename U1, typename U2, typename U3\r
+    , typename U4, typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind1< F,T1 >, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind1< F,T1 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(2, bind1)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+struct bind2\r
+{\r
+    template<\r
+          typename U1, typename U2, typename U3, typename U4, typename U5\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;\r
+        typedef typename r0::type a0;\r
+        typedef typename r0::next n1;\r
+        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T1,n1 > r1;\r
+        typedef typename r1::type a1;\r
+        typedef typename r1::next n2;\r
+        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T2,n2 > r2;\r
+        typedef typename r2::type a2;\r
+        typedef typename r2::next n3;\r
+        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;\r
+        ///\r
+     public:\r
+        typedef typename apply_wrap2<\r
+              f_\r
+            , typename t1::type, typename t2::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename U1, typename U2\r
+    , typename U3, typename U4, typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind2< F,T1,T2 >, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind2< F,T1,T2 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(3, bind2)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+struct bind3\r
+{\r
+    template<\r
+          typename U1, typename U2, typename U3, typename U4, typename U5\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;\r
+        typedef typename r0::type a0;\r
+        typedef typename r0::next n1;\r
+        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T1,n1 > r1;\r
+        typedef typename r1::type a1;\r
+        typedef typename r1::next n2;\r
+        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T2,n2 > r2;\r
+        typedef typename r2::type a2;\r
+        typedef typename r2::next n3;\r
+        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T3,n3 > r3;\r
+        typedef typename r3::type a3;\r
+        typedef typename r3::next n4;\r
+        typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;\r
+        ///\r
+     public:\r
+        typedef typename apply_wrap3<\r
+              f_\r
+            , typename t1::type, typename t2::type, typename t3::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename U1\r
+    , typename U2, typename U3, typename U4, typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind3< F,T1,T2,T3 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(4, bind3)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct bind4\r
+{\r
+    template<\r
+          typename U1, typename U2, typename U3, typename U4, typename U5\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;\r
+        typedef typename r0::type a0;\r
+        typedef typename r0::next n1;\r
+        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T1,n1 > r1;\r
+        typedef typename r1::type a1;\r
+        typedef typename r1::next n2;\r
+        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T2,n2 > r2;\r
+        typedef typename r2::type a2;\r
+        typedef typename r2::next n3;\r
+        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T3,n3 > r3;\r
+        typedef typename r3::type a3;\r
+        typedef typename r3::next n4;\r
+        typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T4,n4 > r4;\r
+        typedef typename r4::type a4;\r
+        typedef typename r4::next n5;\r
+        typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4;\r
+        ///\r
+     public:\r
+        typedef typename apply_wrap4<\r
+              f_\r
+            , typename t1::type, typename t2::type, typename t3::type\r
+            , typename t4::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename U1, typename U2, typename U3, typename U4, typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind4< F,T1,T2,T3,T4 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(5, bind4)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct bind5\r
+{\r
+    template<\r
+          typename U1, typename U2, typename U3, typename U4, typename U5\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;\r
+        typedef typename r0::type a0;\r
+        typedef typename r0::next n1;\r
+        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T1,n1 > r1;\r
+        typedef typename r1::type a1;\r
+        typedef typename r1::next n2;\r
+        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T2,n2 > r2;\r
+        typedef typename r2::type a2;\r
+        typedef typename r2::next n3;\r
+        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T3,n3 > r3;\r
+        typedef typename r3::type a3;\r
+        typedef typename r3::next n4;\r
+        typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T4,n4 > r4;\r
+        typedef typename r4::type a4;\r
+        typedef typename r4::next n5;\r
+        typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T5,n5 > r5;\r
+        typedef typename r5::type a5;\r
+        typedef typename r5::next n6;\r
+        typedef aux::resolve_bind_arg< a5,U1,U2,U3,U4,U5 > t5;\r
+        ///\r
+     public:\r
+        typedef typename apply_wrap5<\r
+              f_\r
+            , typename t1::type, typename t2::type, typename t3::type\r
+            , typename t4::type, typename t5::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename U1, typename U2, typename U3, typename U4\r
+    , typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind5< F,T1,T2,T3,T4,T5 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(6, bind5)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)\r
+}}\r
+\r
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 (file)
index 0000000..77802c5
--- /dev/null
@@ -0,0 +1,46 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "bind_fwd.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct bind0;\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct bind1;\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+struct bind2;\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+struct bind3;\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct bind4;\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct bind5;\r
+\r
+}}\r
+\r
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 (file)
index 0000000..da520a7
--- /dev/null
@@ -0,0 +1,147 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright Jaap Suter 2003\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "bitand.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct bitand_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< bitand_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< bitand_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct bitand_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct bitand_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct bitand_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct bitand_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    , typename N3 = na, typename N4 = na, typename N5 = na\r
+    >\r
+struct bitand_\r
+    : bitand_< bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>, N5>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , bitand_\r
+        , ( N1, N2, N3, N4, N5 )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3, typename N4\r
+    >\r
+struct bitand_< N1,N2,N3,N4,na >\r
+\r
+    : bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , bitand_\r
+        , ( N1, N2, N3, N4, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3\r
+    >\r
+struct bitand_< N1,N2,N3,na,na >\r
+\r
+    : bitand_< bitand_< N1,N2 >, N3>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , bitand_\r
+        , ( N1, N2, N3, na, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2\r
+    >\r
+struct bitand_< N1,N2,na,na,na >\r
+    : bitand_impl<\r
+          typename bitand_tag<N1>::type\r
+        , typename bitand_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , bitand_\r
+        , ( N1, N2, na, na, na )\r
+        )\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+template<>\r
+struct bitand_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : integral_c<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value\r
+                  & BOOST_MPL_AUX_VALUE_WKND(N2)::value\r
+                )\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..9c2e186
--- /dev/null
@@ -0,0 +1,147 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright Jaap Suter 2003\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "bitor.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct bitor_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< bitor_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< bitor_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct bitor_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct bitor_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct bitor_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct bitor_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    , typename N3 = na, typename N4 = na, typename N5 = na\r
+    >\r
+struct bitor_\r
+    : bitor_< bitor_< bitor_< bitor_< N1,N2 >, N3>, N4>, N5>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , bitor_\r
+        , ( N1, N2, N3, N4, N5 )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3, typename N4\r
+    >\r
+struct bitor_< N1,N2,N3,N4,na >\r
+\r
+    : bitor_< bitor_< bitor_< N1,N2 >, N3>, N4>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , bitor_\r
+        , ( N1, N2, N3, N4, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3\r
+    >\r
+struct bitor_< N1,N2,N3,na,na >\r
+\r
+    : bitor_< bitor_< N1,N2 >, N3>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , bitor_\r
+        , ( N1, N2, N3, na, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2\r
+    >\r
+struct bitor_< N1,N2,na,na,na >\r
+    : bitor_impl<\r
+          typename bitor_tag<N1>::type\r
+        , typename bitor_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , bitor_\r
+        , ( N1, N2, na, na, na )\r
+        )\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 5, bitor_)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+template<>\r
+struct bitor_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : integral_c<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value\r
+                  | BOOST_MPL_AUX_VALUE_WKND(N2)::value\r
+                )\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..b7f8ff4
--- /dev/null
@@ -0,0 +1,147 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright Jaap Suter 2003\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "bitxor.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct bitxor_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< bitxor_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< bitxor_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct bitxor_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct bitxor_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct bitxor_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct bitxor_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    , typename N3 = na, typename N4 = na, typename N5 = na\r
+    >\r
+struct bitxor_\r
+    : bitxor_< bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>, N5>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , bitxor_\r
+        , ( N1, N2, N3, N4, N5 )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3, typename N4\r
+    >\r
+struct bitxor_< N1,N2,N3,N4,na >\r
+\r
+    : bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , bitxor_\r
+        , ( N1, N2, N3, N4, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3\r
+    >\r
+struct bitxor_< N1,N2,N3,na,na >\r
+\r
+    : bitxor_< bitxor_< N1,N2 >, N3>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , bitxor_\r
+        , ( N1, N2, N3, na, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2\r
+    >\r
+struct bitxor_< N1,N2,na,na,na >\r
+    : bitxor_impl<\r
+          typename bitxor_tag<N1>::type\r
+        , typename bitxor_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , bitxor_\r
+        , ( N1, N2, na, na, na )\r
+        )\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+template<>\r
+struct bitxor_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : integral_c<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value\r
+                  ^ BOOST_MPL_AUX_VALUE_WKND(N2)::value\r
+                )\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..0b0de67
--- /dev/null
@@ -0,0 +1,323 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "deque.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na\r
+    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na\r
+    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na\r
+    , typename T12 = na, typename T13 = na, typename T14 = na\r
+    , typename T15 = na, typename T16 = na, typename T17 = na\r
+    , typename T18 = na, typename T19 = na\r
+    >\r
+struct deque;\r
+\r
+template<\r
+     \r
+    >\r
+struct deque<\r
+          na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector0<  >\r
+{\r
+    typedef vector0<  >::type type;\r
+};\r
+\r
+template<\r
+      typename T0\r
+    >\r
+struct deque<\r
+          T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector1<T0>\r
+{\r
+    typedef typename vector1<T0>::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1\r
+    >\r
+struct deque<\r
+          T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector2< T0,T1 >\r
+{\r
+    typedef typename vector2< T0,T1 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2\r
+    >\r
+struct deque<\r
+          T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector3< T0,T1,T2 >\r
+{\r
+    typedef typename vector3< T0,T1,T2 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector4< T0,T1,T2,T3 >\r
+{\r
+    typedef typename vector4< T0,T1,T2,T3 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector5< T0,T1,T2,T3,T4 >\r
+{\r
+    typedef typename vector5< T0,T1,T2,T3,T4 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector6< T0,T1,T2,T3,T4,T5 >\r
+{\r
+    typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector7< T0,T1,T2,T3,T4,T5,T6 >\r
+{\r
+    typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector8< T0,T1,T2,T3,T4,T5,T6,T7 >\r
+{\r
+    typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >\r
+{\r
+    typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >\r
+{\r
+    typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >\r
+{\r
+    typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na\r
+        , na, na, na, na\r
+        >\r
+    : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >\r
+{\r
+    typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na\r
+        , na, na, na, na\r
+        >\r
+    : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >\r
+{\r
+    typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na\r
+        , na, na, na, na\r
+        >\r
+    : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >\r
+{\r
+    typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na\r
+        , na, na, na, na\r
+        >\r
+    : vector15<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        >\r
+{\r
+    typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, na, na, na, na\r
+        >\r
+    : vector16<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15\r
+        >\r
+{\r
+    typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, na, na, na\r
+        >\r
+    : vector17<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16\r
+        >\r
+{\r
+    typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, na, na\r
+        >\r
+    : vector18<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17\r
+        >\r
+{\r
+    typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18, na\r
+        >\r
+    : vector19<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18\r
+        >\r
+{\r
+    typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;\r
+};\r
+\r
+/// primary template (not a specialization!)\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    >\r
+struct deque\r
+    : vector20<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18, T19\r
+        >\r
+{\r
+    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;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..74765f9
--- /dev/null
@@ -0,0 +1,146 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "divides.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct divides_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< divides_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< divides_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct divides_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct divides_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct divides_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct divides_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    , typename N3 = na, typename N4 = na, typename N5 = na\r
+    >\r
+struct divides\r
+    : divides< divides< divides< divides< N1,N2 >, N3>, N4>, N5>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , divides\r
+        , ( N1, N2, N3, N4, N5 )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3, typename N4\r
+    >\r
+struct divides< N1,N2,N3,N4,na >\r
+\r
+    : divides< divides< divides< N1,N2 >, N3>, N4>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , divides\r
+        , ( N1, N2, N3, N4, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3\r
+    >\r
+struct divides< N1,N2,N3,na,na >\r
+\r
+    : divides< divides< N1,N2 >, N3>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , divides\r
+        , ( N1, N2, N3, na, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2\r
+    >\r
+struct divides< N1,N2,na,na,na >\r
+    : divides_impl<\r
+          typename divides_tag<N1>::type\r
+        , typename divides_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , divides\r
+        , ( N1, N2, na, na, na )\r
+        )\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 5, divides)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+template<>\r
+struct divides_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : integral_c<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value\r
+                  / BOOST_MPL_AUX_VALUE_WKND(N2)::value\r
+                )\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..6933512
--- /dev/null
@@ -0,0 +1,94 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "equal_to.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct equal_to_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct equal_to_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct equal_to_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct equal_to_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct equal_to_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct equal_to\r
+\r
+    : equal_to_impl<\r
+          typename equal_to_tag<N1>::type\r
+        , typename equal_to_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, equal_to, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct equal_to_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value  == BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..6c5be57
--- /dev/null
@@ -0,0 +1,180 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "fold_impl.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+/// forward declaration\r
+\r
+template<\r
+      int N\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct fold_impl;\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct fold_impl< 0,First,Last,State,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State state0;\r
+    typedef state0 state;\r
+    typedef iter0 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct fold_impl< 1,First,Last,State,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State state0;\r
+    typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    \r
+\r
+    typedef state1 state;\r
+    typedef iter1 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct fold_impl< 2,First,Last,State,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State state0;\r
+    typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;\r
+    typedef typename mpl::next<iter1>::type iter2;\r
+    \r
+\r
+    typedef state2 state;\r
+    typedef iter2 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct fold_impl< 3,First,Last,State,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State state0;\r
+    typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;\r
+    typedef typename mpl::next<iter1>::type iter2;\r
+    typedef typename apply2< ForwardOp, state2, typename deref<iter2>::type >::type state3;\r
+    typedef typename mpl::next<iter2>::type iter3;\r
+    \r
+\r
+    typedef state3 state;\r
+    typedef iter3 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct fold_impl< 4,First,Last,State,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State state0;\r
+    typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;\r
+    typedef typename mpl::next<iter1>::type iter2;\r
+    typedef typename apply2< ForwardOp, state2, typename deref<iter2>::type >::type state3;\r
+    typedef typename mpl::next<iter2>::type iter3;\r
+    typedef typename apply2< ForwardOp, state3, typename deref<iter3>::type >::type state4;\r
+    typedef typename mpl::next<iter3>::type iter4;\r
+    \r
+\r
+    typedef state4 state;\r
+    typedef iter4 iterator;\r
+};\r
+\r
+template<\r
+      int N\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct fold_impl\r
+{\r
+    typedef fold_impl<\r
+          4\r
+        , First\r
+        , Last\r
+        , State\r
+        , ForwardOp\r
+        > chunk_;\r
+\r
+    typedef fold_impl<\r
+          ( (N - 4) < 0 ? 0 : N - 4 )\r
+        , typename chunk_::iterator\r
+        , Last\r
+        , typename chunk_::state\r
+        , ForwardOp\r
+        > res_;\r
+\r
+    typedef typename res_::state state;\r
+    typedef typename res_::iterator iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct fold_impl< -1,First,Last,State,ForwardOp >\r
+    : fold_impl<\r
+          -1\r
+        , typename mpl::next<First>::type\r
+        , Last\r
+        , typename apply2<ForwardOp,State, typename deref<First>::type>::type\r
+        , ForwardOp\r
+        >\r
+{\r
+};\r
+\r
+template<\r
+      typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct fold_impl< -1,Last,Last,State,ForwardOp >\r
+{\r
+    typedef State state;\r
+    typedef Last iterator;\r
+};\r
+\r
+}}}\r
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 (file)
index 0000000..d987a99
--- /dev/null
@@ -0,0 +1,558 @@
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "full_lambda.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+\r
+template<\r
+      bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false\r
+    , bool C5 = false\r
+    >\r
+struct lambda_or\r
+    : true_\r
+{\r
+};\r
+\r
+template<>\r
+struct lambda_or< false,false,false,false,false >\r
+    : false_\r
+{\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename T\r
+    , typename Tag\r
+    , typename Arity\r
+    >\r
+struct lambda\r
+{\r
+    typedef false_ is_le;\r
+    typedef T result_;\r
+    typedef T type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    >\r
+struct is_lambda_expression\r
+    : lambda<T>::is_le\r
+{\r
+};\r
+\r
+template< int N, typename Tag >\r
+struct lambda< arg<N>,Tag, int_< -1 > >\r
+{\r
+    typedef true_ is_le;\r
+    typedef mpl::arg<N> result_; // qualified for the sake of MIPSpro 7.41\r
+    typedef mpl::protect<result_> type;\r
+};\r
+\r
+template<\r
+      typename F\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          bind0<F>\r
+        , Tag\r
+        , int_<1>\r
+        >\r
+{\r
+    typedef false_ is_le;\r
+    typedef bind0<\r
+          F\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename IsLE, typename Tag\r
+    , template< typename P1 > class F\r
+    , typename L1\r
+    >\r
+struct le_result1\r
+{\r
+    typedef F<\r
+          typename L1::type\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+template<\r
+      typename Tag\r
+    , template< typename P1 > class F\r
+    , typename L1\r
+    >\r
+struct le_result1< true_,Tag,F,L1 >\r
+{\r
+    typedef bind1<\r
+          quote1< F,Tag >\r
+        , typename L1::result_\r
+        > result_;\r
+\r
+    typedef mpl::protect<result_> type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      template< typename P1 > class F\r
+    , typename T1\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          F<T1>\r
+        , Tag\r
+        , int_<1>\r
+        >\r
+{\r
+    typedef lambda< T1,Tag > l1;\r
+    typedef typename l1::is_le is_le1;\r
+    typedef typename aux::lambda_or<\r
+          is_le1::value\r
+        >::type is_le;\r
+\r
+    typedef aux::le_result1<\r
+          is_le, Tag, F, l1\r
+        > le_result_;\r
+\r
+    typedef typename le_result_::result_ result_;\r
+    typedef typename le_result_::type type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          bind1< F,T1 >\r
+        , Tag\r
+        , int_<2>\r
+        >\r
+{\r
+    typedef false_ is_le;\r
+    typedef bind1<\r
+          F\r
+        , T1\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename IsLE, typename Tag\r
+    , template< typename P1, typename P2 > class F\r
+    , typename L1, typename L2\r
+    >\r
+struct le_result2\r
+{\r
+    typedef F<\r
+          typename L1::type, typename L2::type\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+template<\r
+      typename Tag\r
+    , template< typename P1, typename P2 > class F\r
+    , typename L1, typename L2\r
+    >\r
+struct le_result2< true_,Tag,F,L1,L2 >\r
+{\r
+    typedef bind2<\r
+          quote2< F,Tag >\r
+        , typename L1::result_, typename L2::result_\r
+        > result_;\r
+\r
+    typedef mpl::protect<result_> type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      template< typename P1, typename P2 > class F\r
+    , typename T1, typename T2\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          F< T1,T2 >\r
+        , Tag\r
+        , int_<2>\r
+        >\r
+{\r
+    typedef lambda< T1,Tag > l1;\r
+    typedef lambda< T2,Tag > l2;\r
+    \r
+    typedef typename l1::is_le is_le1;\r
+    typedef typename l2::is_le is_le2;\r
+    \r
+\r
+    typedef typename aux::lambda_or<\r
+          is_le1::value, is_le2::value\r
+        >::type is_le;\r
+\r
+    typedef aux::le_result2<\r
+          is_le, Tag, F, l1, l2\r
+        > le_result_;\r
+\r
+    typedef typename le_result_::result_ result_;\r
+    typedef typename le_result_::type type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          bind2< F,T1,T2 >\r
+        , Tag\r
+        , int_<3>\r
+        >\r
+{\r
+    typedef false_ is_le;\r
+    typedef bind2<\r
+          F\r
+        , T1, T2\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename IsLE, typename Tag\r
+    , template< typename P1, typename P2, typename P3 > class F\r
+    , typename L1, typename L2, typename L3\r
+    >\r
+struct le_result3\r
+{\r
+    typedef F<\r
+          typename L1::type, typename L2::type, typename L3::type\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+template<\r
+      typename Tag\r
+    , template< typename P1, typename P2, typename P3 > class F\r
+    , typename L1, typename L2, typename L3\r
+    >\r
+struct le_result3< true_,Tag,F,L1,L2,L3 >\r
+{\r
+    typedef bind3<\r
+          quote3< F,Tag >\r
+        , typename L1::result_, typename L2::result_, typename L3::result_\r
+        > result_;\r
+\r
+    typedef mpl::protect<result_> type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      template< typename P1, typename P2, typename P3 > class F\r
+    , typename T1, typename T2, typename T3\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          F< T1,T2,T3 >\r
+        , Tag\r
+        , int_<3>\r
+        >\r
+{\r
+    typedef lambda< T1,Tag > l1;\r
+    typedef lambda< T2,Tag > l2;\r
+    typedef lambda< T3,Tag > l3;\r
+    \r
+    typedef typename l1::is_le is_le1;\r
+    typedef typename l2::is_le is_le2;\r
+    typedef typename l3::is_le is_le3;\r
+    \r
+\r
+    typedef typename aux::lambda_or<\r
+          is_le1::value, is_le2::value, is_le3::value\r
+        >::type is_le;\r
+\r
+    typedef aux::le_result3<\r
+          is_le, Tag, F, l1, l2, l3\r
+        > le_result_;\r
+\r
+    typedef typename le_result_::result_ result_;\r
+    typedef typename le_result_::type type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          bind3< F,T1,T2,T3 >\r
+        , Tag\r
+        , int_<4>\r
+        >\r
+{\r
+    typedef false_ is_le;\r
+    typedef bind3<\r
+          F\r
+        , T1, T2, T3\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename IsLE, typename Tag\r
+    , template< typename P1, typename P2, typename P3, typename P4 > class F\r
+    , typename L1, typename L2, typename L3, typename L4\r
+    >\r
+struct le_result4\r
+{\r
+    typedef F<\r
+          typename L1::type, typename L2::type, typename L3::type\r
+        , typename L4::type\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+template<\r
+      typename Tag\r
+    , template< typename P1, typename P2, typename P3, typename P4 > class F\r
+    , typename L1, typename L2, typename L3, typename L4\r
+    >\r
+struct le_result4< true_,Tag,F,L1,L2,L3,L4 >\r
+{\r
+    typedef bind4<\r
+          quote4< F,Tag >\r
+        , typename L1::result_, typename L2::result_, typename L3::result_\r
+        , typename L4::result_\r
+        > result_;\r
+\r
+    typedef mpl::protect<result_> type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      template< typename P1, typename P2, typename P3, typename P4 > class F\r
+    , typename T1, typename T2, typename T3, typename T4\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          F< T1,T2,T3,T4 >\r
+        , Tag\r
+        , int_<4>\r
+        >\r
+{\r
+    typedef lambda< T1,Tag > l1;\r
+    typedef lambda< T2,Tag > l2;\r
+    typedef lambda< T3,Tag > l3;\r
+    typedef lambda< T4,Tag > l4;\r
+    \r
+    typedef typename l1::is_le is_le1;\r
+    typedef typename l2::is_le is_le2;\r
+    typedef typename l3::is_le is_le3;\r
+    typedef typename l4::is_le is_le4;\r
+    \r
+\r
+    typedef typename aux::lambda_or<\r
+          is_le1::value, is_le2::value, is_le3::value, is_le4::value\r
+        >::type is_le;\r
+\r
+    typedef aux::le_result4<\r
+          is_le, Tag, F, l1, l2, l3, l4\r
+        > le_result_;\r
+\r
+    typedef typename le_result_::result_ result_;\r
+    typedef typename le_result_::type type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          bind4< F,T1,T2,T3,T4 >\r
+        , Tag\r
+        , int_<5>\r
+        >\r
+{\r
+    typedef false_ is_le;\r
+    typedef bind4<\r
+          F\r
+        , T1, T2, T3, T4\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename IsLE, typename Tag\r
+    , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F\r
+    , typename L1, typename L2, typename L3, typename L4, typename L5\r
+    >\r
+struct le_result5\r
+{\r
+    typedef F<\r
+          typename L1::type, typename L2::type, typename L3::type\r
+        , typename L4::type, typename L5::type\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+template<\r
+      typename Tag\r
+    , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F\r
+    , typename L1, typename L2, typename L3, typename L4, typename L5\r
+    >\r
+struct le_result5< true_,Tag,F,L1,L2,L3,L4,L5 >\r
+{\r
+    typedef bind5<\r
+          quote5< F,Tag >\r
+        , typename L1::result_, typename L2::result_, typename L3::result_\r
+        , typename L4::result_, typename L5::result_\r
+        > result_;\r
+\r
+    typedef mpl::protect<result_> type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      template<\r
+          typename P1, typename P2, typename P3, typename P4\r
+        , typename P5\r
+        >\r
+      class F\r
+    , typename T1, typename T2, typename T3, typename T4, typename T5\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          F< T1,T2,T3,T4,T5 >\r
+        , Tag\r
+        , int_<5>\r
+        >\r
+{\r
+    typedef lambda< T1,Tag > l1;\r
+    typedef lambda< T2,Tag > l2;\r
+    typedef lambda< T3,Tag > l3;\r
+    typedef lambda< T4,Tag > l4;\r
+    typedef lambda< T5,Tag > l5;\r
+    \r
+    typedef typename l1::is_le is_le1;\r
+    typedef typename l2::is_le is_le2;\r
+    typedef typename l3::is_le is_le3;\r
+    typedef typename l4::is_le is_le4;\r
+    typedef typename l5::is_le is_le5;\r
+    \r
+\r
+    typedef typename aux::lambda_or<\r
+          is_le1::value, is_le2::value, is_le3::value, is_le4::value\r
+        , is_le5::value\r
+        >::type is_le;\r
+\r
+    typedef aux::le_result5<\r
+          is_le, Tag, F, l1, l2, l3, l4, l5\r
+        > le_result_;\r
+\r
+    typedef typename le_result_::result_ result_;\r
+    typedef typename le_result_::type type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          bind5< F,T1,T2,T3,T4,T5 >\r
+        , Tag\r
+        , int_<6>\r
+        >\r
+{\r
+    typedef false_ is_le;\r
+    typedef bind5<\r
+          F\r
+        , T1, T2, T3, T4, T5\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+/// special case for 'protect'\r
+template< typename T, typename Tag >\r
+struct lambda< mpl::protect<T>,Tag, int_<1> >\r
+{\r
+    typedef false_ is_le;\r
+    typedef mpl::protect<T> result_;\r
+    typedef result_ type;\r
+};\r
+\r
+/// specializations for the main 'bind' form\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          bind< F,T1,T2,T3,T4,T5 >\r
+        , Tag\r
+        , int_<6>\r
+        >\r
+{\r
+    typedef false_ is_le;\r
+    typedef bind< F,T1,T2,T3,T4,T5 > result_;\r
+    typedef result_ type;\r
+};\r
+\r
+template<\r
+      typename F\r
+    , typename Tag1\r
+    , typename Tag2\r
+    , typename Arity\r
+    >\r
+struct lambda<\r
+          lambda< F,Tag1,Arity >\r
+        , Tag2\r
+        , int_<3>\r
+        >\r
+{\r
+    typedef lambda< F,Tag2 > l1;\r
+    typedef lambda< Tag1,Tag2 > l2;\r
+    typedef typename l1::is_le is_le;\r
+    typedef bind1< quote1<aux::template_arity>, typename l1::result_ > arity_;\r
+    typedef lambda< typename if_< is_le,arity_,Arity >::type, Tag2 > l3;\r
+    typedef aux::le_result3<is_le, Tag2, mpl::lambda, l1, l2, l3> le_result_;\r
+    typedef typename le_result_::result_ result_;\r
+    typedef typename le_result_::type type;\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 3, lambda)\r
+\r
+}}\r
+\r
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 (file)
index 0000000..a9153e9
--- /dev/null
@@ -0,0 +1,94 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "greater.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct greater_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< greater_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< greater_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct greater_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct greater_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct greater_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct greater_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct greater\r
+\r
+    : greater_impl<\r
+          typename greater_tag<N1>::type\r
+        , typename greater_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, greater)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct greater_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value > BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..05d42d6
--- /dev/null
@@ -0,0 +1,94 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "greater_equal.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct greater_equal_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< greater_equal_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< greater_equal_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct greater_equal_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct greater_equal_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct greater_equal_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct greater_equal_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct greater_equal\r
+\r
+    : greater_equal_impl<\r
+          typename greater_equal_tag<N1>::type\r
+        , typename greater_equal_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater_equal, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct greater_equal_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..38fde94
--- /dev/null
@@ -0,0 +1,139 @@
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "inherit.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(T1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(T2)\r
+    >\r
+struct inherit2\r
+    : T1, T2\r
+{\r
+    typedef inherit2 type;\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1, T2))\r
+};\r
+\r
+template< typename T1 >\r
+struct inherit2< T1,empty_base >\r
+{\r
+    typedef T1 type;\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (T1, empty_base))\r
+};\r
+\r
+template< typename T2 >\r
+struct inherit2< empty_base,T2 >\r
+{\r
+    typedef T2 type;\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, T2))\r
+};\r
+\r
+template<>\r
+struct inherit2< empty_base,empty_base >\r
+{\r
+    typedef empty_base type;\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, empty_base))\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(2, inherit2)\r
+\r
+template<\r
+      typename T1 = na, typename T2 = na, typename T3 = na\r
+    >\r
+struct inherit3\r
+    : inherit2<\r
+          typename inherit2<\r
+              T1, T2\r
+            >::type\r
+        , T3\r
+        >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          3\r
+        , inherit3\r
+        , ( T1, T2, T3)\r
+        )\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(3, inherit3)\r
+\r
+template<\r
+      typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na\r
+    >\r
+struct inherit4\r
+    : inherit2<\r
+          typename inherit3<\r
+              T1, T2, T3\r
+            >::type\r
+        , T4\r
+        >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          4\r
+        , inherit4\r
+        , ( T1, T2, T3, T4)\r
+        )\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(4, inherit4)\r
+\r
+template<\r
+      typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na\r
+    , typename T5 = na\r
+    >\r
+struct inherit5\r
+    : inherit2<\r
+          typename inherit4<\r
+              T1, T2, T3, T4\r
+            >::type\r
+        , T5\r
+        >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , inherit5\r
+        , ( T1, T2, T3, T4, T5)\r
+        )\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(5, inherit5)\r
+\r
+/// primary template\r
+\r
+template<\r
+      typename T1 = empty_base, typename T2 = empty_base\r
+    , typename T3 = empty_base, typename T4 = empty_base\r
+    , typename T5 = empty_base\r
+    >\r
+struct inherit\r
+    : inherit5< T1,T2,T3,T4,T5 >\r
+{\r
+};\r
+\r
+template<>\r
+struct inherit< na,na,na,na,na >\r
+{\r
+    template<\r
+\r
+          typename T1, typename T2, typename T3, typename T4, typename T5\r
+\r
+        >\r
+    struct apply\r
+        : inherit< T1,T2,T3,T4,T5 >\r
+    {\r
+    };\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit)\r
+BOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit)\r
+BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit)\r
+}}\r
+\r
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 (file)
index 0000000..b93d59d
--- /dev/null
@@ -0,0 +1,133 @@
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+// Copyright David Abrahams 2001-2002\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "iter_fold_if_impl.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+template< typename Iterator, typename State >\r
+struct iter_fold_if_null_step\r
+{\r
+    typedef State state;\r
+    typedef Iterator iterator;\r
+};\r
+\r
+template< bool >\r
+struct iter_fold_if_step_impl\r
+{\r
+    template<\r
+          typename Iterator\r
+        , typename State\r
+        , typename StateOp\r
+        , typename IteratorOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename apply2< StateOp,State,Iterator >::type state;\r
+        typedef typename IteratorOp::type iterator;\r
+    };\r
+};\r
+\r
+template<>\r
+struct iter_fold_if_step_impl<false>\r
+{\r
+    template<\r
+          typename Iterator\r
+        , typename State\r
+        , typename StateOp\r
+        , typename IteratorOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef State state;\r
+        typedef Iterator iterator;\r
+    };\r
+};\r
+\r
+template<\r
+      typename Iterator\r
+    , typename State\r
+    , typename ForwardOp\r
+    , typename Predicate\r
+    >\r
+struct iter_fold_if_forward_step\r
+{\r
+    typedef typename apply2< Predicate,State,Iterator >::type not_last;\r
+    typedef typename iter_fold_if_step_impl<\r
+          BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value\r
+        >::template result_< Iterator,State,ForwardOp, mpl::next<Iterator> > impl_;\r
+\r
+    typedef typename impl_::state state;\r
+    typedef typename impl_::iterator iterator;\r
+};\r
+\r
+template<\r
+      typename Iterator\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename Predicate\r
+    >\r
+struct iter_fold_if_backward_step\r
+{\r
+    typedef typename apply2< Predicate,State,Iterator >::type not_last;\r
+    typedef typename iter_fold_if_step_impl<\r
+          BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value\r
+        >::template result_< Iterator,State,BackwardOp, identity<Iterator> > impl_;\r
+\r
+    typedef typename impl_::state state;\r
+    typedef typename impl_::iterator iterator;\r
+};\r
+\r
+template<\r
+      typename Iterator\r
+    , typename State\r
+    , typename ForwardOp\r
+    , typename ForwardPredicate\r
+    , typename BackwardOp\r
+    , typename BackwardPredicate\r
+    >\r
+struct iter_fold_if_impl\r
+{\r
+ private:\r
+    typedef iter_fold_if_null_step< Iterator,State > forward_step0;\r
+    typedef iter_fold_if_forward_step< typename forward_step0::iterator, typename forward_step0::state, ForwardOp, ForwardPredicate > forward_step1;\r
+    typedef iter_fold_if_forward_step< typename forward_step1::iterator, typename forward_step1::state, ForwardOp, ForwardPredicate > forward_step2;\r
+    typedef iter_fold_if_forward_step< typename forward_step2::iterator, typename forward_step2::state, ForwardOp, ForwardPredicate > forward_step3;\r
+    typedef iter_fold_if_forward_step< typename forward_step3::iterator, typename forward_step3::state, ForwardOp, ForwardPredicate > forward_step4;\r
+    \r
+\r
+    typedef typename if_<\r
+          typename forward_step4::not_last\r
+        , iter_fold_if_impl<\r
+              typename forward_step4::iterator\r
+            , typename forward_step4::state\r
+            , ForwardOp\r
+            , ForwardPredicate\r
+            , BackwardOp\r
+            , BackwardPredicate\r
+            >\r
+        , iter_fold_if_null_step<\r
+              typename forward_step4::iterator\r
+            , typename forward_step4::state\r
+            >\r
+        >::type backward_step4;\r
+\r
+    typedef iter_fold_if_backward_step< typename forward_step3::iterator, typename backward_step4::state, BackwardOp, BackwardPredicate > backward_step3;\r
+    typedef iter_fold_if_backward_step< typename forward_step2::iterator, typename backward_step3::state, BackwardOp, BackwardPredicate > backward_step2;\r
+    typedef iter_fold_if_backward_step< typename forward_step1::iterator, typename backward_step2::state, BackwardOp, BackwardPredicate > backward_step1;\r
+    typedef iter_fold_if_backward_step< typename forward_step0::iterator, typename backward_step1::state, BackwardOp, BackwardPredicate > backward_step0;\r
+    \r
+\r
+ public:\r
+    typedef typename backward_step0::state state;\r
+    typedef typename backward_step4::iterator iterator;\r
+};\r
+\r
+}}}\r
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 (file)
index 0000000..e6bc9b8
--- /dev/null
@@ -0,0 +1,180 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "iter_fold_impl.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+/// forward declaration\r
+\r
+template<\r
+      int N\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct iter_fold_impl;\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct iter_fold_impl< 0,First,Last,State,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State state0;\r
+    typedef state0 state;\r
+    typedef iter0 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct iter_fold_impl< 1,First,Last,State,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State state0;\r
+    typedef typename apply2< ForwardOp,state0,iter0 >::type state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    \r
+\r
+    typedef state1 state;\r
+    typedef iter1 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct iter_fold_impl< 2,First,Last,State,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State state0;\r
+    typedef typename apply2< ForwardOp,state0,iter0 >::type state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    typedef typename apply2< ForwardOp,state1,iter1 >::type state2;\r
+    typedef typename mpl::next<iter1>::type iter2;\r
+    \r
+\r
+    typedef state2 state;\r
+    typedef iter2 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct iter_fold_impl< 3,First,Last,State,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State state0;\r
+    typedef typename apply2< ForwardOp,state0,iter0 >::type state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    typedef typename apply2< ForwardOp,state1,iter1 >::type state2;\r
+    typedef typename mpl::next<iter1>::type iter2;\r
+    typedef typename apply2< ForwardOp,state2,iter2 >::type state3;\r
+    typedef typename mpl::next<iter2>::type iter3;\r
+    \r
+\r
+    typedef state3 state;\r
+    typedef iter3 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct iter_fold_impl< 4,First,Last,State,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State state0;\r
+    typedef typename apply2< ForwardOp,state0,iter0 >::type state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    typedef typename apply2< ForwardOp,state1,iter1 >::type state2;\r
+    typedef typename mpl::next<iter1>::type iter2;\r
+    typedef typename apply2< ForwardOp,state2,iter2 >::type state3;\r
+    typedef typename mpl::next<iter2>::type iter3;\r
+    typedef typename apply2< ForwardOp,state3,iter3 >::type state4;\r
+    typedef typename mpl::next<iter3>::type iter4;\r
+    \r
+\r
+    typedef state4 state;\r
+    typedef iter4 iterator;\r
+};\r
+\r
+template<\r
+      int N\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct iter_fold_impl\r
+{\r
+    typedef iter_fold_impl<\r
+          4\r
+        , First\r
+        , Last\r
+        , State\r
+        , ForwardOp\r
+        > chunk_;\r
+\r
+    typedef iter_fold_impl<\r
+          ( (N - 4) < 0 ? 0 : N - 4 )\r
+        , typename chunk_::iterator\r
+        , Last\r
+        , typename chunk_::state\r
+        , ForwardOp\r
+        > res_;\r
+\r
+    typedef typename res_::state state;\r
+    typedef typename res_::iterator iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct iter_fold_impl< -1,First,Last,State,ForwardOp >\r
+    : iter_fold_impl<\r
+          -1\r
+        , typename mpl::next<First>::type\r
+        , Last\r
+        , typename apply2< ForwardOp,State,First >::type\r
+        , ForwardOp\r
+        >\r
+{\r
+};\r
+\r
+template<\r
+      typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct iter_fold_impl< -1,Last,Last,State,ForwardOp >\r
+{\r
+    typedef State state;\r
+    typedef Last iterator;\r
+};\r
+\r
+}}}\r
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 (file)
index 0000000..2595766
--- /dev/null
@@ -0,0 +1,229 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "lambda_no_ctps.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+\r
+template<\r
+      bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false\r
+    , bool C5 = false\r
+    >\r
+struct lambda_or\r
+    : true_\r
+{\r
+};\r
+\r
+template<>\r
+struct lambda_or< false,false,false,false,false >\r
+    : false_\r
+{\r
+};\r
+\r
+template< typename Arity > struct lambda_impl\r
+{\r
+    template< typename T, typename Tag, typename Protect > struct result_\r
+    {\r
+        typedef T type;\r
+        typedef is_placeholder<T> is_le;\r
+    };\r
+};\r
+\r
+template<> struct lambda_impl< int_<1> >\r
+{\r
+    template< typename F, typename Tag, typename Protect > struct result_\r
+    {\r
+        typedef lambda< typename F::arg1, Tag, false_ > l1;\r
+        typedef typename l1::is_le is_le1;\r
+        typedef aux::lambda_or<\r
+              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value\r
+            > is_le;\r
+\r
+        typedef bind1<\r
+              typename F::rebind\r
+            , typename l1::type\r
+            > bind_;\r
+\r
+        typedef typename if_<\r
+              is_le\r
+            , if_< Protect, mpl::protect<bind_>, bind_ >\r
+            , identity<F>\r
+            >::type type_;\r
+\r
+        typedef typename type_::type type;\r
+    };\r
+};\r
+\r
+template<> struct lambda_impl< int_<2> >\r
+{\r
+    template< typename F, typename Tag, typename Protect > struct result_\r
+    {\r
+        typedef lambda< typename F::arg1, Tag, false_ > l1;\r
+        typedef lambda< typename F::arg2, Tag, false_ > l2;\r
+        \r
+        typedef typename l1::is_le is_le1;\r
+        typedef typename l2::is_le is_le2;\r
+        \r
+\r
+        typedef aux::lambda_or<\r
+              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value\r
+            > is_le;\r
+\r
+        typedef bind2<\r
+              typename F::rebind\r
+            , typename l1::type, typename l2::type\r
+            > bind_;\r
+\r
+        typedef typename if_<\r
+              is_le\r
+            , if_< Protect, mpl::protect<bind_>, bind_ >\r
+            , identity<F>\r
+            >::type type_;\r
+\r
+        typedef typename type_::type type;\r
+    };\r
+};\r
+\r
+template<> struct lambda_impl< int_<3> >\r
+{\r
+    template< typename F, typename Tag, typename Protect > struct result_\r
+    {\r
+        typedef lambda< typename F::arg1, Tag, false_ > l1;\r
+        typedef lambda< typename F::arg2, Tag, false_ > l2;\r
+        typedef lambda< typename F::arg3, Tag, false_ > l3;\r
+        \r
+        typedef typename l1::is_le is_le1;\r
+        typedef typename l2::is_le is_le2;\r
+        typedef typename l3::is_le is_le3;\r
+        \r
+\r
+        typedef aux::lambda_or<\r
+              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\r
+            > is_le;\r
+\r
+        typedef bind3<\r
+              typename F::rebind\r
+            , typename l1::type, typename l2::type, typename l3::type\r
+            > bind_;\r
+\r
+        typedef typename if_<\r
+              is_le\r
+            , if_< Protect, mpl::protect<bind_>, bind_ >\r
+            , identity<F>\r
+            >::type type_;\r
+\r
+        typedef typename type_::type type;\r
+    };\r
+};\r
+\r
+template<> struct lambda_impl< int_<4> >\r
+{\r
+    template< typename F, typename Tag, typename Protect > struct result_\r
+    {\r
+        typedef lambda< typename F::arg1, Tag, false_ > l1;\r
+        typedef lambda< typename F::arg2, Tag, false_ > l2;\r
+        typedef lambda< typename F::arg3, Tag, false_ > l3;\r
+        typedef lambda< typename F::arg4, Tag, false_ > l4;\r
+        \r
+        typedef typename l1::is_le is_le1;\r
+        typedef typename l2::is_le is_le2;\r
+        typedef typename l3::is_le is_le3;\r
+        typedef typename l4::is_le is_le4;\r
+        \r
+\r
+        typedef aux::lambda_or<\r
+              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\r
+            > is_le;\r
+\r
+        typedef bind4<\r
+              typename F::rebind\r
+            , typename l1::type, typename l2::type, typename l3::type\r
+            , typename l4::type\r
+            > bind_;\r
+\r
+        typedef typename if_<\r
+              is_le\r
+            , if_< Protect, mpl::protect<bind_>, bind_ >\r
+            , identity<F>\r
+            >::type type_;\r
+\r
+        typedef typename type_::type type;\r
+    };\r
+};\r
+\r
+template<> struct lambda_impl< int_<5> >\r
+{\r
+    template< typename F, typename Tag, typename Protect > struct result_\r
+    {\r
+        typedef lambda< typename F::arg1, Tag, false_ > l1;\r
+        typedef lambda< typename F::arg2, Tag, false_ > l2;\r
+        typedef lambda< typename F::arg3, Tag, false_ > l3;\r
+        typedef lambda< typename F::arg4, Tag, false_ > l4;\r
+        typedef lambda< typename F::arg5, Tag, false_ > l5;\r
+        \r
+        typedef typename l1::is_le is_le1;\r
+        typedef typename l2::is_le is_le2;\r
+        typedef typename l3::is_le is_le3;\r
+        typedef typename l4::is_le is_le4;\r
+        typedef typename l5::is_le is_le5;\r
+        \r
+\r
+        typedef aux::lambda_or<\r
+              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\r
+            > is_le;\r
+\r
+        typedef bind5<\r
+              typename F::rebind\r
+            , typename l1::type, typename l2::type, typename l3::type\r
+            , typename l4::type, typename l5::type\r
+            > bind_;\r
+\r
+        typedef typename if_<\r
+              is_le\r
+            , if_< Protect, mpl::protect<bind_>, bind_ >\r
+            , identity<F>\r
+            >::type type_;\r
+\r
+        typedef typename type_::type type;\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename T\r
+    , typename Tag\r
+    , typename Protect\r
+    >\r
+struct lambda\r
+{\r
+    /// Metafunction forwarding confuses MSVC 6.x\r
+    typedef typename aux::template_arity<T>::type arity_;\r
+    typedef typename aux::lambda_impl<arity_>\r
+        ::template result_< T,Tag,Protect > l_;\r
+\r
+    typedef typename l_::type type;\r
+    typedef typename l_::is_le is_le;\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect))\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(1, 3, lambda)\r
+\r
+template<\r
+      typename T\r
+    >\r
+struct is_lambda_expression\r
+    : lambda<T>::is_le\r
+{\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..b72f534
--- /dev/null
@@ -0,0 +1,94 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "less.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct less_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< less_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< less_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct less_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct less_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct less_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct less_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct less\r
+\r
+    : less_impl<\r
+          typename less_tag<N1>::type\r
+        , typename less_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, less)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct less_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N2)::value > BOOST_MPL_AUX_VALUE_WKND(N1)::value ) >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..a9362e2
--- /dev/null
@@ -0,0 +1,94 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "less_equal.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct less_equal_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< less_equal_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< less_equal_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct less_equal_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct less_equal_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct less_equal_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct less_equal_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct less_equal\r
+\r
+    : less_equal_impl<\r
+          typename less_equal_tag<N1>::type\r
+        , typename less_equal_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less_equal, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct less_equal_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value <= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..3340e91
--- /dev/null
@@ -0,0 +1,323 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "list.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na\r
+    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na\r
+    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na\r
+    , typename T12 = na, typename T13 = na, typename T14 = na\r
+    , typename T15 = na, typename T16 = na, typename T17 = na\r
+    , typename T18 = na, typename T19 = na\r
+    >\r
+struct list;\r
+\r
+template<\r
+     \r
+    >\r
+struct list<\r
+          na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list0<  >\r
+{\r
+    typedef list0<  >::type type;\r
+};\r
+\r
+template<\r
+      typename T0\r
+    >\r
+struct list<\r
+          T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list1<T0>\r
+{\r
+    typedef typename list1<T0>::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1\r
+    >\r
+struct list<\r
+          T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list2< T0,T1 >\r
+{\r
+    typedef typename list2< T0,T1 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2\r
+    >\r
+struct list<\r
+          T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list3< T0,T1,T2 >\r
+{\r
+    typedef typename list3< T0,T1,T2 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list4< T0,T1,T2,T3 >\r
+{\r
+    typedef typename list4< T0,T1,T2,T3 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list5< T0,T1,T2,T3,T4 >\r
+{\r
+    typedef typename list5< T0,T1,T2,T3,T4 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list6< T0,T1,T2,T3,T4,T5 >\r
+{\r
+    typedef typename list6< T0,T1,T2,T3,T4,T5 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list7< T0,T1,T2,T3,T4,T5,T6 >\r
+{\r
+    typedef typename list7< T0,T1,T2,T3,T4,T5,T6 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list8< T0,T1,T2,T3,T4,T5,T6,T7 >\r
+{\r
+    typedef typename list8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >\r
+{\r
+    typedef typename list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >\r
+{\r
+    typedef typename list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >\r
+{\r
+    typedef typename list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na\r
+        , na, na, na, na\r
+        >\r
+    : list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >\r
+{\r
+    typedef typename list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na\r
+        , na, na, na, na\r
+        >\r
+    : list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >\r
+{\r
+    typedef typename list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na\r
+        , na, na, na, na\r
+        >\r
+    : list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >\r
+{\r
+    typedef typename list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na\r
+        , na, na, na, na\r
+        >\r
+    : list15<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        >\r
+{\r
+    typedef typename list15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, na, na, na, na\r
+        >\r
+    : list16<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15\r
+        >\r
+{\r
+    typedef typename list16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, na, na, na\r
+        >\r
+    : list17<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16\r
+        >\r
+{\r
+    typedef typename list17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, na, na\r
+        >\r
+    : list18<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17\r
+        >\r
+{\r
+    typedef typename list18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18, na\r
+        >\r
+    : list19<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18\r
+        >\r
+{\r
+    typedef typename list19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;\r
+};\r
+\r
+/// primary template (not a specialization!)\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    >\r
+struct list\r
+    : list20<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18, T19\r
+        >\r
+{\r
+    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;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..1fc8a10
--- /dev/null
@@ -0,0 +1,328 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "list_c.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX\r
+    , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX\r
+    , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX\r
+    , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX\r
+    , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX\r
+    , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX\r
+    , long C18 = LONG_MAX, long C19 = LONG_MAX\r
+    >\r
+struct list_c;\r
+\r
+template<\r
+      typename T\r
+    >\r
+struct list_c<\r
+          T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list0_c<T>\r
+{\r
+    typedef typename list0_c<T>::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0\r
+    >\r
+struct list_c<\r
+          T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list1_c< T,C0 >\r
+{\r
+    typedef typename list1_c< T,C0 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1\r
+    >\r
+struct list_c<\r
+          T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list2_c< T,C0,C1 >\r
+{\r
+    typedef typename list2_c< T,C0,C1 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list3_c< T,C0,C1,C2 >\r
+{\r
+    typedef typename list3_c< T,C0,C1,C2 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list4_c< T,C0,C1,C2,C3 >\r
+{\r
+    typedef typename list4_c< T,C0,C1,C2,C3 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list5_c< T,C0,C1,C2,C3,C4 >\r
+{\r
+    typedef typename list5_c< T,C0,C1,C2,C3,C4 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list6_c< T,C0,C1,C2,C3,C4,C5 >\r
+{\r
+    typedef typename list6_c< T,C0,C1,C2,C3,C4,C5 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list7_c< T,C0,C1,C2,C3,C4,C5,C6 >\r
+{\r
+    typedef typename list7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX\r
+        >\r
+    : list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >\r
+{\r
+    typedef typename list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX\r
+        >\r
+    : list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >\r
+{\r
+    typedef typename list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX\r
+        >\r
+    : list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >\r
+{\r
+    typedef typename list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >\r
+{\r
+    typedef typename list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >\r
+{\r
+    typedef typename list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >\r
+{\r
+    typedef typename list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list14_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13\r
+        >\r
+{\r
+    typedef typename list14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list15_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        >\r
+{\r
+    typedef typename list15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list16_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15\r
+        >\r
+{\r
+    typedef typename list16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list17_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16\r
+        >\r
+{\r
+    typedef typename list17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16, long C17\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17, LONG_MAX, LONG_MAX\r
+        >\r
+    : list18_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17\r
+        >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16, long C17, long C18\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17, C18, LONG_MAX\r
+        >\r
+    : list19_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17, C18\r
+        >\r
+{\r
+    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;\r
+};\r
+\r
+/// primary template (not a specialization!)\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+    >\r
+struct list_c\r
+    : list20_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17, C18, C19\r
+        >\r
+{\r
+    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;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..fd678b4
--- /dev/null
@@ -0,0 +1,323 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "map.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na\r
+    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na\r
+    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na\r
+    , typename T12 = na, typename T13 = na, typename T14 = na\r
+    , typename T15 = na, typename T16 = na, typename T17 = na\r
+    , typename T18 = na, typename T19 = na\r
+    >\r
+struct map;\r
+\r
+template<\r
+     \r
+    >\r
+struct map<\r
+          na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map0<  >\r
+{\r
+    typedef map0<  >::type type;\r
+};\r
+\r
+template<\r
+      typename T0\r
+    >\r
+struct map<\r
+          T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map1<T0>\r
+{\r
+    typedef typename map1<T0>::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1\r
+    >\r
+struct map<\r
+          T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map2< T0,T1 >\r
+{\r
+    typedef typename map2< T0,T1 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2\r
+    >\r
+struct map<\r
+          T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map3< T0,T1,T2 >\r
+{\r
+    typedef typename map3< T0,T1,T2 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map4< T0,T1,T2,T3 >\r
+{\r
+    typedef typename map4< T0,T1,T2,T3 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map5< T0,T1,T2,T3,T4 >\r
+{\r
+    typedef typename map5< T0,T1,T2,T3,T4 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map6< T0,T1,T2,T3,T4,T5 >\r
+{\r
+    typedef typename map6< T0,T1,T2,T3,T4,T5 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map7< T0,T1,T2,T3,T4,T5,T6 >\r
+{\r
+    typedef typename map7< T0,T1,T2,T3,T4,T5,T6 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map8< T0,T1,T2,T3,T4,T5,T6,T7 >\r
+{\r
+    typedef typename map8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >\r
+{\r
+    typedef typename map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >\r
+{\r
+    typedef typename map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >\r
+{\r
+    typedef typename map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na\r
+        , na, na, na, na\r
+        >\r
+    : map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >\r
+{\r
+    typedef typename map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na\r
+        , na, na, na, na\r
+        >\r
+    : map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >\r
+{\r
+    typedef typename map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na\r
+        , na, na, na, na\r
+        >\r
+    : map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >\r
+{\r
+    typedef typename map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na\r
+        , na, na, na, na\r
+        >\r
+    : map15<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        >\r
+{\r
+    typedef typename map15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, na, na, na, na\r
+        >\r
+    : map16<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15\r
+        >\r
+{\r
+    typedef typename map16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, na, na, na\r
+        >\r
+    : map17<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16\r
+        >\r
+{\r
+    typedef typename map17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, na, na\r
+        >\r
+    : map18<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17\r
+        >\r
+{\r
+    typedef typename map18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18, na\r
+        >\r
+    : map19<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18\r
+        >\r
+{\r
+    typedef typename map19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;\r
+};\r
+\r
+/// primary template (not a specialization!)\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    >\r
+struct map\r
+    : map20<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18, T19\r
+        >\r
+{\r
+    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;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..c8f70d2
--- /dev/null
@@ -0,0 +1,146 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "minus.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct minus_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< minus_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< minus_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct minus_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct minus_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct minus_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct minus_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    , typename N3 = na, typename N4 = na, typename N5 = na\r
+    >\r
+struct minus\r
+    : minus< minus< minus< minus< N1,N2 >, N3>, N4>, N5>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , minus\r
+        , ( N1, N2, N3, N4, N5 )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3, typename N4\r
+    >\r
+struct minus< N1,N2,N3,N4,na >\r
+\r
+    : minus< minus< minus< N1,N2 >, N3>, N4>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , minus\r
+        , ( N1, N2, N3, N4, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3\r
+    >\r
+struct minus< N1,N2,N3,na,na >\r
+\r
+    : minus< minus< N1,N2 >, N3>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , minus\r
+        , ( N1, N2, N3, na, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2\r
+    >\r
+struct minus< N1,N2,na,na,na >\r
+    : minus_impl<\r
+          typename minus_tag<N1>::type\r
+        , typename minus_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , minus\r
+        , ( N1, N2, na, na, na )\r
+        )\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 5, minus)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+template<>\r
+struct minus_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : integral_c<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value\r
+                  - BOOST_MPL_AUX_VALUE_WKND(N2)::value\r
+                )\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..1d30682
--- /dev/null
@@ -0,0 +1,101 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "modulus.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct modulus_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< modulus_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< modulus_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct modulus_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct modulus_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct modulus_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct modulus_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct modulus\r
+\r
+    : modulus_impl<\r
+          typename modulus_tag<N1>::type\r
+        , typename modulus_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, modulus, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, modulus)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+template<>\r
+struct modulus_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : integral_c<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value\r
+                  % BOOST_MPL_AUX_VALUE_WKND(N2)::value\r
+                )\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..76a4152
--- /dev/null
@@ -0,0 +1,94 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "not_equal_to.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct not_equal_to_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< not_equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct not_equal_to_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct not_equal_to_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct not_equal_to_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct not_equal_to_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct not_equal_to\r
+\r
+    : not_equal_to_impl<\r
+          typename not_equal_to_tag<N1>::type\r
+        , typename not_equal_to_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, not_equal_to, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct not_equal_to_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value != BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..0a62060
--- /dev/null
@@ -0,0 +1,69 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "or.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+\r
+template< bool C_, typename T1, typename T2, typename T3, typename T4 >\r
+struct or_impl\r
+    : true_\r
+{\r
+};\r
+\r
+template< typename T1, typename T2, typename T3, typename T4 >\r
+struct or_impl< false,T1,T2,T3,T4 >\r
+    : or_impl<\r
+          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value\r
+        , T2, T3, T4\r
+        , false_\r
+        >\r
+{\r
+};\r
+\r
+template<>\r
+struct or_impl<\r
+          false\r
+        , false_, false_, false_, false_\r
+        >\r
+    : false_\r
+{\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(T1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(T2)\r
+    , typename T3 = false_, typename T4 = false_, typename T5 = false_\r
+    >\r
+struct or_\r
+\r
+    : aux::or_impl<\r
+          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value\r
+        , T2, T3, T4, T5\r
+        >\r
+\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , or_\r
+        , ( T1, T2, T3, T4, T5)\r
+        )\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(\r
+      2\r
+    , 5\r
+    , or_\r
+    )\r
+\r
+}}\r
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 (file)
index 0000000..ea973c8
--- /dev/null
@@ -0,0 +1,105 @@
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+// Copyright Peter Dimov 2001-2003\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "placeholders.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+typedef arg< -1 > _;\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+namespace boost { namespace mpl {\r
+\r
+BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_)\r
+\r
+namespace placeholders {\r
+using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_;\r
+}\r
+\r
+}}\r
+\r
+/// agurt, 17/mar/02: one more placeholder for the last 'apply#' \r
+/// specialization\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+typedef arg<1> _1;\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+namespace boost { namespace mpl {\r
+\r
+BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1)\r
+\r
+namespace placeholders {\r
+using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1;\r
+}\r
+\r
+}}\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+typedef arg<2> _2;\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+namespace boost { namespace mpl {\r
+\r
+BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2)\r
+\r
+namespace placeholders {\r
+using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2;\r
+}\r
+\r
+}}\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+typedef arg<3> _3;\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+namespace boost { namespace mpl {\r
+\r
+BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3)\r
+\r
+namespace placeholders {\r
+using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3;\r
+}\r
+\r
+}}\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+typedef arg<4> _4;\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+namespace boost { namespace mpl {\r
+\r
+BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4)\r
+\r
+namespace placeholders {\r
+using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4;\r
+}\r
+\r
+}}\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+typedef arg<5> _5;\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+namespace boost { namespace mpl {\r
+\r
+BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5)\r
+\r
+namespace placeholders {\r
+using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5;\r
+}\r
+\r
+}}\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+typedef arg<6> _6;\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+namespace boost { namespace mpl {\r
+\r
+BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6)\r
+\r
+namespace placeholders {\r
+using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6;\r
+}\r
+\r
+}}\r
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 (file)
index 0000000..6a9a4a0
--- /dev/null
@@ -0,0 +1,146 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "plus.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct plus_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< plus_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< plus_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct plus_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct plus_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct plus_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct plus_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    , typename N3 = na, typename N4 = na, typename N5 = na\r
+    >\r
+struct plus\r
+    : plus< plus< plus< plus< N1,N2 >, N3>, N4>, N5>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , plus\r
+        , ( N1, N2, N3, N4, N5 )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3, typename N4\r
+    >\r
+struct plus< N1,N2,N3,N4,na >\r
+\r
+    : plus< plus< plus< N1,N2 >, N3>, N4>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , plus\r
+        , ( N1, N2, N3, N4, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3\r
+    >\r
+struct plus< N1,N2,N3,na,na >\r
+\r
+    : plus< plus< N1,N2 >, N3>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , plus\r
+        , ( N1, N2, N3, na, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2\r
+    >\r
+struct plus< N1,N2,na,na,na >\r
+    : plus_impl<\r
+          typename plus_tag<N1>::type\r
+        , typename plus_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , plus\r
+        , ( N1, N2, na, na, na )\r
+        )\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 5, plus)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+template<>\r
+struct plus_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : integral_c<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value\r
+                  + BOOST_MPL_AUX_VALUE_WKND(N2)::value\r
+                )\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..69bb8d5
--- /dev/null
@@ -0,0 +1,119 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2008\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "quote.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template< typename T, bool has_type_ >\r
+struct quote_impl\r
+\r
+{\r
+    typedef typename T::type type;\r
+};\r
+\r
+template< typename T >\r
+struct quote_impl< T,false >\r
+{\r
+    typedef T type;\r
+};\r
+\r
+template<\r
+      template< typename P1 > class F\r
+    , typename Tag = void_\r
+    >\r
+struct quote1\r
+{\r
+    template< typename U1 > struct apply\r
+\r
+    {\r
+        typedef typename quote_impl<\r
+              F<U1>\r
+            , aux::has_type< F<U1> >::value\r
+            >::type type;\r
+    };\r
+};\r
+\r
+template<\r
+      template< typename P1, typename P2 > class F\r
+    , typename Tag = void_\r
+    >\r
+struct quote2\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+\r
+    {\r
+        typedef typename quote_impl<\r
+              F< U1,U2 >\r
+            , aux::has_type< F< U1,U2 > >::value\r
+            >::type type;\r
+    };\r
+};\r
+\r
+template<\r
+      template< typename P1, typename P2, typename P3 > class F\r
+    , typename Tag = void_\r
+    >\r
+struct quote3\r
+{\r
+    template< typename U1, typename U2, typename U3 > struct apply\r
+\r
+    {\r
+        typedef typename quote_impl<\r
+              F< U1,U2,U3 >\r
+            , aux::has_type< F< U1,U2,U3 > >::value\r
+            >::type type;\r
+    };\r
+};\r
+\r
+template<\r
+      template< typename P1, typename P2, typename P3, typename P4 > class F\r
+    , typename Tag = void_\r
+    >\r
+struct quote4\r
+{\r
+    template<\r
+          typename U1, typename U2, typename U3, typename U4\r
+        >\r
+    struct apply\r
+\r
+    {\r
+        typedef typename quote_impl<\r
+              F< U1,U2,U3,U4 >\r
+            , aux::has_type< F< U1,U2,U3,U4 > >::value\r
+            >::type type;\r
+    };\r
+};\r
+\r
+template<\r
+      template<\r
+          typename P1, typename P2, typename P3, typename P4\r
+        , typename P5\r
+        >\r
+      class F\r
+    , typename Tag = void_\r
+    >\r
+struct quote5\r
+{\r
+    template<\r
+          typename U1, typename U2, typename U3, typename U4\r
+        , typename U5\r
+        >\r
+    struct apply\r
+\r
+    {\r
+        typedef typename quote_impl<\r
+              F< U1,U2,U3,U4,U5 >\r
+            , aux::has_type< F< U1,U2,U3,U4,U5 > >::value\r
+            >::type type;\r
+    };\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..e453bca
--- /dev/null
@@ -0,0 +1,295 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "reverse_fold_impl.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+/// forward declaration\r
+\r
+template<\r
+      long N\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_fold_impl;\r
+\r
+template< long N >\r
+struct reverse_fold_chunk;\r
+\r
+template<> struct reverse_fold_chunk<0>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename BackwardOp\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State fwd_state0;\r
+        typedef fwd_state0 bkwd_state0;\r
+        typedef bkwd_state0 state;\r
+        typedef iter0 iterator;\r
+    };\r
+};\r
+\r
+template<> struct reverse_fold_chunk<1>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename BackwardOp\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State fwd_state0;\r
+        typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;\r
+        typedef typename mpl::next<iter0>::type iter1;\r
+        \r
+\r
+        typedef fwd_state1 bkwd_state1;\r
+        typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;\r
+        typedef bkwd_state0 state;\r
+        typedef iter1 iterator;\r
+    };\r
+};\r
+\r
+template<> struct reverse_fold_chunk<2>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename BackwardOp\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State fwd_state0;\r
+        typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;\r
+        typedef typename mpl::next<iter0>::type iter1;\r
+        typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;\r
+        typedef typename mpl::next<iter1>::type iter2;\r
+        \r
+\r
+        typedef fwd_state2 bkwd_state2;\r
+        typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;\r
+        typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;\r
+        \r
+\r
+        typedef bkwd_state0 state;\r
+        typedef iter2 iterator;\r
+    };\r
+};\r
+\r
+template<> struct reverse_fold_chunk<3>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename BackwardOp\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State fwd_state0;\r
+        typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;\r
+        typedef typename mpl::next<iter0>::type iter1;\r
+        typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;\r
+        typedef typename mpl::next<iter1>::type iter2;\r
+        typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;\r
+        typedef typename mpl::next<iter2>::type iter3;\r
+        \r
+\r
+        typedef fwd_state3 bkwd_state3;\r
+        typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;\r
+        typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;\r
+        typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;\r
+        \r
+\r
+        typedef bkwd_state0 state;\r
+        typedef iter3 iterator;\r
+    };\r
+};\r
+\r
+template<> struct reverse_fold_chunk<4>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename BackwardOp\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State fwd_state0;\r
+        typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;\r
+        typedef typename mpl::next<iter0>::type iter1;\r
+        typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;\r
+        typedef typename mpl::next<iter1>::type iter2;\r
+        typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;\r
+        typedef typename mpl::next<iter2>::type iter3;\r
+        typedef typename apply2< ForwardOp, fwd_state3, typename deref<iter3>::type >::type fwd_state4;\r
+        typedef typename mpl::next<iter3>::type iter4;\r
+        \r
+\r
+        typedef fwd_state4 bkwd_state4;\r
+        typedef typename apply2< BackwardOp, bkwd_state4, typename deref<iter3>::type >::type bkwd_state3;\r
+        typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;\r
+        typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;\r
+        typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;\r
+        \r
+\r
+        typedef bkwd_state0 state;\r
+        typedef iter4 iterator;\r
+    };\r
+};\r
+\r
+template< long N >\r
+struct reverse_fold_chunk\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename BackwardOp\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State fwd_state0;\r
+        typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;\r
+        typedef typename mpl::next<iter0>::type iter1;\r
+        typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;\r
+        typedef typename mpl::next<iter1>::type iter2;\r
+        typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;\r
+        typedef typename mpl::next<iter2>::type iter3;\r
+        typedef typename apply2< ForwardOp, fwd_state3, typename deref<iter3>::type >::type fwd_state4;\r
+        typedef typename mpl::next<iter3>::type iter4;\r
+        \r
+\r
+        typedef reverse_fold_impl<\r
+              ( (N - 4) < 0 ? 0 : N - 4 )\r
+            , iter4\r
+            , Last\r
+            , fwd_state4\r
+            , BackwardOp\r
+            , ForwardOp\r
+            > nested_chunk;\r
+\r
+        typedef typename nested_chunk::state bkwd_state4;\r
+        typedef typename apply2< BackwardOp, bkwd_state4, typename deref<iter3>::type >::type bkwd_state3;\r
+        typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;\r
+        typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;\r
+        typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;\r
+        \r
+\r
+        typedef bkwd_state0 state;\r
+        typedef typename nested_chunk::iterator iterator;\r
+    };\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_fold_step;\r
+\r
+template<\r
+      typename Last\r
+    , typename State\r
+    >\r
+struct reverse_fold_null_step\r
+{\r
+    typedef Last iterator;\r
+    typedef State state;\r
+};\r
+\r
+template<>\r
+struct reverse_fold_chunk< -1 >\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename BackwardOp\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename if_<\r
+              typename is_same< First,Last >::type\r
+            , reverse_fold_null_step< Last,State >\r
+            , reverse_fold_step< First,Last,State,BackwardOp,ForwardOp >\r
+            >::type res_;\r
+\r
+        typedef typename res_::state state;\r
+        typedef typename res_::iterator iterator;\r
+    };\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_fold_step\r
+{\r
+    typedef reverse_fold_chunk< -1 >::template result_<\r
+          typename mpl::next<First>::type\r
+        , Last\r
+        , typename apply2<ForwardOp,State, typename deref<First>::type>::type\r
+        , BackwardOp\r
+        , ForwardOp\r
+        > nested_step;\r
+\r
+    typedef typename apply2<\r
+          BackwardOp\r
+        , typename nested_step::state\r
+        , typename deref<First>::type\r
+        >::type state;\r
+\r
+    typedef typename nested_step::iterator iterator;\r
+};\r
+\r
+template<\r
+      long N\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_fold_impl\r
+    : reverse_fold_chunk<N>\r
+        ::template result_< First,Last,State,BackwardOp,ForwardOp >\r
+{\r
+};\r
+\r
+}}}\r
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 (file)
index 0000000..454ed8e
--- /dev/null
@@ -0,0 +1,295 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "reverse_iter_fold_impl.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+/// forward declaration\r
+\r
+template<\r
+      long N\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_iter_fold_impl;\r
+\r
+template< long N >\r
+struct reverse_iter_fold_chunk;\r
+\r
+template<> struct reverse_iter_fold_chunk<0>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename BackwardOp\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State fwd_state0;\r
+        typedef fwd_state0 bkwd_state0;\r
+        typedef bkwd_state0 state;\r
+        typedef iter0 iterator;\r
+    };\r
+};\r
+\r
+template<> struct reverse_iter_fold_chunk<1>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename BackwardOp\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State fwd_state0;\r
+        typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;\r
+        typedef typename mpl::next<iter0>::type iter1;\r
+        \r
+\r
+        typedef fwd_state1 bkwd_state1;\r
+        typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;\r
+        typedef bkwd_state0 state;\r
+        typedef iter1 iterator;\r
+    };\r
+};\r
+\r
+template<> struct reverse_iter_fold_chunk<2>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename BackwardOp\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State fwd_state0;\r
+        typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;\r
+        typedef typename mpl::next<iter0>::type iter1;\r
+        typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;\r
+        typedef typename mpl::next<iter1>::type iter2;\r
+        \r
+\r
+        typedef fwd_state2 bkwd_state2;\r
+        typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;\r
+        typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;\r
+        \r
+\r
+        typedef bkwd_state0 state;\r
+        typedef iter2 iterator;\r
+    };\r
+};\r
+\r
+template<> struct reverse_iter_fold_chunk<3>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename BackwardOp\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State fwd_state0;\r
+        typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;\r
+        typedef typename mpl::next<iter0>::type iter1;\r
+        typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;\r
+        typedef typename mpl::next<iter1>::type iter2;\r
+        typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;\r
+        typedef typename mpl::next<iter2>::type iter3;\r
+        \r
+\r
+        typedef fwd_state3 bkwd_state3;\r
+        typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;\r
+        typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;\r
+        typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;\r
+        \r
+\r
+        typedef bkwd_state0 state;\r
+        typedef iter3 iterator;\r
+    };\r
+};\r
+\r
+template<> struct reverse_iter_fold_chunk<4>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename BackwardOp\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State fwd_state0;\r
+        typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;\r
+        typedef typename mpl::next<iter0>::type iter1;\r
+        typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;\r
+        typedef typename mpl::next<iter1>::type iter2;\r
+        typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;\r
+        typedef typename mpl::next<iter2>::type iter3;\r
+        typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4;\r
+        typedef typename mpl::next<iter3>::type iter4;\r
+        \r
+\r
+        typedef fwd_state4 bkwd_state4;\r
+        typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3;\r
+        typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;\r
+        typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;\r
+        typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;\r
+        \r
+\r
+        typedef bkwd_state0 state;\r
+        typedef iter4 iterator;\r
+    };\r
+};\r
+\r
+template< long N >\r
+struct reverse_iter_fold_chunk\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename BackwardOp\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State fwd_state0;\r
+        typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;\r
+        typedef typename mpl::next<iter0>::type iter1;\r
+        typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;\r
+        typedef typename mpl::next<iter1>::type iter2;\r
+        typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;\r
+        typedef typename mpl::next<iter2>::type iter3;\r
+        typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4;\r
+        typedef typename mpl::next<iter3>::type iter4;\r
+        \r
+\r
+        typedef reverse_iter_fold_impl<\r
+              ( (N - 4) < 0 ? 0 : N - 4 )\r
+            , iter4\r
+            , Last\r
+            , fwd_state4\r
+            , BackwardOp\r
+            , ForwardOp\r
+            > nested_chunk;\r
+\r
+        typedef typename nested_chunk::state bkwd_state4;\r
+        typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3;\r
+        typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;\r
+        typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;\r
+        typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;\r
+        \r
+\r
+        typedef bkwd_state0 state;\r
+        typedef typename nested_chunk::iterator iterator;\r
+    };\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_iter_fold_step;\r
+\r
+template<\r
+      typename Last\r
+    , typename State\r
+    >\r
+struct reverse_iter_fold_null_step\r
+{\r
+    typedef Last iterator;\r
+    typedef State state;\r
+};\r
+\r
+template<>\r
+struct reverse_iter_fold_chunk< -1 >\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename BackwardOp\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename if_<\r
+              typename is_same< First,Last >::type\r
+            , reverse_iter_fold_null_step< Last,State >\r
+            , reverse_iter_fold_step< First,Last,State,BackwardOp,ForwardOp >\r
+            >::type res_;\r
+\r
+        typedef typename res_::state state;\r
+        typedef typename res_::iterator iterator;\r
+    };\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_iter_fold_step\r
+{\r
+    typedef reverse_iter_fold_chunk< -1 >::template result_<\r
+          typename mpl::next<First>::type\r
+        , Last\r
+        , typename apply2< ForwardOp,State,First >::type\r
+        , BackwardOp\r
+        , ForwardOp\r
+        > nested_step;\r
+\r
+    typedef typename apply2<\r
+          BackwardOp\r
+        , typename nested_step::state\r
+        , First\r
+        >::type state;\r
+\r
+    typedef typename nested_step::iterator iterator;\r
+};\r
+\r
+template<\r
+      long N\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_iter_fold_impl\r
+    : reverse_iter_fold_chunk<N>\r
+        ::template result_< First,Last,State,BackwardOp,ForwardOp >\r
+{\r
+};\r
+\r
+}}}\r
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 (file)
index 0000000..089ce0b
--- /dev/null
@@ -0,0 +1,323 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "set.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na\r
+    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na\r
+    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na\r
+    , typename T12 = na, typename T13 = na, typename T14 = na\r
+    , typename T15 = na, typename T16 = na, typename T17 = na\r
+    , typename T18 = na, typename T19 = na\r
+    >\r
+struct set;\r
+\r
+template<\r
+     \r
+    >\r
+struct set<\r
+          na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set0<  >\r
+{\r
+    typedef set0<  >::type type;\r
+};\r
+\r
+template<\r
+      typename T0\r
+    >\r
+struct set<\r
+          T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set1<T0>\r
+{\r
+    typedef typename set1<T0>::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1\r
+    >\r
+struct set<\r
+          T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set2< T0,T1 >\r
+{\r
+    typedef typename set2< T0,T1 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2\r
+    >\r
+struct set<\r
+          T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set3< T0,T1,T2 >\r
+{\r
+    typedef typename set3< T0,T1,T2 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set4< T0,T1,T2,T3 >\r
+{\r
+    typedef typename set4< T0,T1,T2,T3 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set5< T0,T1,T2,T3,T4 >\r
+{\r
+    typedef typename set5< T0,T1,T2,T3,T4 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set6< T0,T1,T2,T3,T4,T5 >\r
+{\r
+    typedef typename set6< T0,T1,T2,T3,T4,T5 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set7< T0,T1,T2,T3,T4,T5,T6 >\r
+{\r
+    typedef typename set7< T0,T1,T2,T3,T4,T5,T6 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set8< T0,T1,T2,T3,T4,T5,T6,T7 >\r
+{\r
+    typedef typename set8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >\r
+{\r
+    typedef typename set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >\r
+{\r
+    typedef typename set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >\r
+{\r
+    typedef typename set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na\r
+        , na, na, na, na\r
+        >\r
+    : set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >\r
+{\r
+    typedef typename set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na\r
+        , na, na, na, na\r
+        >\r
+    : set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >\r
+{\r
+    typedef typename set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na\r
+        , na, na, na, na\r
+        >\r
+    : set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >\r
+{\r
+    typedef typename set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na\r
+        , na, na, na, na\r
+        >\r
+    : set15<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        >\r
+{\r
+    typedef typename set15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, na, na, na, na\r
+        >\r
+    : set16<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15\r
+        >\r
+{\r
+    typedef typename set16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, na, na, na\r
+        >\r
+    : set17<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16\r
+        >\r
+{\r
+    typedef typename set17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, na, na\r
+        >\r
+    : set18<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17\r
+        >\r
+{\r
+    typedef typename set18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18, na\r
+        >\r
+    : set19<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18\r
+        >\r
+{\r
+    typedef typename set19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;\r
+};\r
+\r
+/// primary template (not a specialization!)\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    >\r
+struct set\r
+    : set20<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18, T19\r
+        >\r
+{\r
+    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;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..6351904
--- /dev/null
@@ -0,0 +1,328 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "set_c.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX\r
+    , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX\r
+    , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX\r
+    , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX\r
+    , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX\r
+    , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX\r
+    , long C18 = LONG_MAX, long C19 = LONG_MAX\r
+    >\r
+struct set_c;\r
+\r
+template<\r
+      typename T\r
+    >\r
+struct set_c<\r
+          T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set0_c<T>\r
+{\r
+    typedef typename set0_c<T>::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0\r
+    >\r
+struct set_c<\r
+          T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set1_c< T,C0 >\r
+{\r
+    typedef typename set1_c< T,C0 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1\r
+    >\r
+struct set_c<\r
+          T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set2_c< T,C0,C1 >\r
+{\r
+    typedef typename set2_c< T,C0,C1 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set3_c< T,C0,C1,C2 >\r
+{\r
+    typedef typename set3_c< T,C0,C1,C2 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set4_c< T,C0,C1,C2,C3 >\r
+{\r
+    typedef typename set4_c< T,C0,C1,C2,C3 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set5_c< T,C0,C1,C2,C3,C4 >\r
+{\r
+    typedef typename set5_c< T,C0,C1,C2,C3,C4 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set6_c< T,C0,C1,C2,C3,C4,C5 >\r
+{\r
+    typedef typename set6_c< T,C0,C1,C2,C3,C4,C5 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set7_c< T,C0,C1,C2,C3,C4,C5,C6 >\r
+{\r
+    typedef typename set7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX\r
+        >\r
+    : set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >\r
+{\r
+    typedef typename set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX\r
+        >\r
+    : set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >\r
+{\r
+    typedef typename set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX\r
+        >\r
+    : set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >\r
+{\r
+    typedef typename set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >\r
+{\r
+    typedef typename set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >\r
+{\r
+    typedef typename set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >\r
+{\r
+    typedef typename set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set14_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13\r
+        >\r
+{\r
+    typedef typename set14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set15_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        >\r
+{\r
+    typedef typename set15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set16_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15\r
+        >\r
+{\r
+    typedef typename set16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set17_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16\r
+        >\r
+{\r
+    typedef typename set17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16, long C17\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17, LONG_MAX, LONG_MAX\r
+        >\r
+    : set18_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17\r
+        >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16, long C17, long C18\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17, C18, LONG_MAX\r
+        >\r
+    : set19_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17, C18\r
+        >\r
+{\r
+    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;\r
+};\r
+\r
+/// primary template (not a specialization!)\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+    >\r
+struct set_c\r
+    : set20_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17, C18, C19\r
+        >\r
+{\r
+    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;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..6f99bd9
--- /dev/null
@@ -0,0 +1,99 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright Jaap Suter 2003\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "shift_left.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct shift_left_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< shift_left_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< shift_left_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct shift_left_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct shift_left_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct shift_left_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct shift_left_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct shift_left\r
+\r
+    : shift_left_impl<\r
+          typename shift_left_tag<N1>::type\r
+        , typename shift_left_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_left, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_left)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+template<>\r
+struct shift_left_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N, typename S > struct apply\r
+\r
+        : integral_c<\r
+              typename N::value_type\r
+            , ( BOOST_MPL_AUX_VALUE_WKND(N)::value\r
+                  << BOOST_MPL_AUX_VALUE_WKND(S)::value\r
+                )\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..64d80fd
--- /dev/null
@@ -0,0 +1,99 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright Jaap Suter 2003\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "shift_right.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct shift_right_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< shift_right_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< shift_right_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct shift_right_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct shift_right_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct shift_right_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct shift_right_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct shift_right\r
+\r
+    : shift_right_impl<\r
+          typename shift_right_tag<N1>::type\r
+        , typename shift_right_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_right, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+template<>\r
+struct shift_right_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N, typename S > struct apply\r
+\r
+        : integral_c<\r
+              typename N::value_type\r
+            , ( BOOST_MPL_AUX_VALUE_WKND(N)::value\r
+                  >> BOOST_MPL_AUX_VALUE_WKND(S)::value\r
+                )\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..a0b058f
--- /dev/null
@@ -0,0 +1,40 @@
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "template_arity.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+template< bool >\r
+struct template_arity_impl\r
+{\r
+    template< typename F > struct result_\r
+        : mpl::int_< -1 >\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct template_arity_impl<true>\r
+{\r
+    template< typename F > struct result_\r
+        : F::arity\r
+    {\r
+    };\r
+};\r
+\r
+template< typename F >\r
+struct template_arity\r
+    : template_arity_impl< ::boost::mpl::aux::has_rebind<F>::value >\r
+        ::template result_<F>\r
+{\r
+};\r
+\r
+}}}\r
+\r
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 (file)
index 0000000..69a885a
--- /dev/null
@@ -0,0 +1,146 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "times.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct times_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< times_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< times_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct times_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct times_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct times_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct times_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    , typename N3 = na, typename N4 = na, typename N5 = na\r
+    >\r
+struct times\r
+    : times< times< times< times< N1,N2 >, N3>, N4>, N5>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , times\r
+        , ( N1, N2, N3, N4, N5 )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3, typename N4\r
+    >\r
+struct times< N1,N2,N3,N4,na >\r
+\r
+    : times< times< times< N1,N2 >, N3>, N4>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , times\r
+        , ( N1, N2, N3, N4, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3\r
+    >\r
+struct times< N1,N2,N3,na,na >\r
+\r
+    : times< times< N1,N2 >, N3>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , times\r
+        , ( N1, N2, N3, na, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2\r
+    >\r
+struct times< N1,N2,na,na,na >\r
+    : times_impl<\r
+          typename times_tag<N1>::type\r
+        , typename times_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , times\r
+        , ( N1, N2, na, na, na )\r
+        )\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 5, times)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+template<>\r
+struct times_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : integral_c<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value\r
+                  * BOOST_MPL_AUX_VALUE_WKND(N2)::value\r
+                )\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..cedd428
--- /dev/null
@@ -0,0 +1,97 @@
+\r
+// Copyright Aleksey Gurtovoy 2002-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "unpack_args.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+\r
+template< int size, typename F, typename Args >\r
+struct unpack_args_impl;\r
+\r
+template< typename F, typename Args >\r
+struct unpack_args_impl< 0,F,Args >\r
+    : apply0<\r
+          F\r
+        >\r
+{\r
+};\r
+\r
+template< typename F, typename Args >\r
+struct unpack_args_impl< 1,F,Args >\r
+    : apply1<\r
+          F\r
+        , typename at_c< Args,0 >::type\r
+        >\r
+{\r
+};\r
+\r
+template< typename F, typename Args >\r
+struct unpack_args_impl< 2,F,Args >\r
+    : apply2<\r
+          F\r
+        , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type\r
+        >\r
+{\r
+};\r
+\r
+template< typename F, typename Args >\r
+struct unpack_args_impl< 3,F,Args >\r
+    : apply3<\r
+          F\r
+        , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type\r
+        , typename at_c< Args,2 >::type\r
+        >\r
+{\r
+};\r
+\r
+template< typename F, typename Args >\r
+struct unpack_args_impl< 4,F,Args >\r
+    : apply4<\r
+          F\r
+        , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type\r
+        , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type\r
+        >\r
+{\r
+};\r
+\r
+template< typename F, typename Args >\r
+struct unpack_args_impl< 5,F,Args >\r
+    : apply5<\r
+          F\r
+        , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type\r
+        , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type\r
+        , typename at_c< Args,4 >::type\r
+        >\r
+{\r
+};\r
+\r
+}\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct unpack_args\r
+{\r
+    template< typename Args > struct apply\r
+    {\r
+        typedef typename aux::unpack_args_impl<\r
+              size<Args>::value\r
+            , F\r
+            , Args\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args)\r
+\r
+}}\r
+\r
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 (file)
index 0000000..e1f3c62
--- /dev/null
@@ -0,0 +1,323 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "vector.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na\r
+    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na\r
+    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na\r
+    , typename T12 = na, typename T13 = na, typename T14 = na\r
+    , typename T15 = na, typename T16 = na, typename T17 = na\r
+    , typename T18 = na, typename T19 = na\r
+    >\r
+struct vector;\r
+\r
+template<\r
+     \r
+    >\r
+struct vector<\r
+          na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector0<  >\r
+{\r
+    typedef vector0<  >::type type;\r
+};\r
+\r
+template<\r
+      typename T0\r
+    >\r
+struct vector<\r
+          T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector1<T0>\r
+{\r
+    typedef typename vector1<T0>::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1\r
+    >\r
+struct vector<\r
+          T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector2< T0,T1 >\r
+{\r
+    typedef typename vector2< T0,T1 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2\r
+    >\r
+struct vector<\r
+          T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector3< T0,T1,T2 >\r
+{\r
+    typedef typename vector3< T0,T1,T2 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector4< T0,T1,T2,T3 >\r
+{\r
+    typedef typename vector4< T0,T1,T2,T3 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector5< T0,T1,T2,T3,T4 >\r
+{\r
+    typedef typename vector5< T0,T1,T2,T3,T4 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector6< T0,T1,T2,T3,T4,T5 >\r
+{\r
+    typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector7< T0,T1,T2,T3,T4,T5,T6 >\r
+{\r
+    typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector8< T0,T1,T2,T3,T4,T5,T6,T7 >\r
+{\r
+    typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >\r
+{\r
+    typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >\r
+{\r
+    typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >\r
+{\r
+    typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na\r
+        , na, na, na, na\r
+        >\r
+    : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >\r
+{\r
+    typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na\r
+        , na, na, na, na\r
+        >\r
+    : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >\r
+{\r
+    typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na\r
+        , na, na, na, na\r
+        >\r
+    : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >\r
+{\r
+    typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na\r
+        , na, na, na, na\r
+        >\r
+    : vector15<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        >\r
+{\r
+    typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, na, na, na, na\r
+        >\r
+    : vector16<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15\r
+        >\r
+{\r
+    typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, na, na, na\r
+        >\r
+    : vector17<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16\r
+        >\r
+{\r
+    typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, na, na\r
+        >\r
+    : vector18<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17\r
+        >\r
+{\r
+    typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18, na\r
+        >\r
+    : vector19<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18\r
+        >\r
+{\r
+    typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;\r
+};\r
+\r
+/// primary template (not a specialization!)\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    >\r
+struct vector\r
+    : vector20<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18, T19\r
+        >\r
+{\r
+    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;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..d568ac9
--- /dev/null
@@ -0,0 +1,309 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2008\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "vector_c.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX\r
+    , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX\r
+    , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX\r
+    , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX\r
+    , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX\r
+    , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX\r
+    , long C18 = LONG_MAX, long C19 = LONG_MAX\r
+    >\r
+struct vector_c;\r
+\r
+template<\r
+      typename T\r
+    >\r
+struct vector_c<\r
+          T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : vector0_c<T>\r
+{\r
+    typedef typename vector0_c<T>::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0\r
+    >\r
+struct vector_c<\r
+          T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : vector1_c< T, T(C0) >\r
+{\r
+    typedef typename vector1_c< T, T(C0) >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : vector2_c< T, T(C0), T(C1) >\r
+{\r
+    typedef typename vector2_c< T, T(C0), T(C1) >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : vector3_c< T, T(C0), T(C1), T(C2) >\r
+{\r
+    typedef typename vector3_c< T, T(C0), T(C1), T(C2) >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : vector4_c< T, T(C0), T(C1), T(C2), T(C3) >\r
+{\r
+    typedef typename vector4_c< T, T(C0), T(C1), T(C2), T(C3) >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) >\r
+{\r
+    typedef typename vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) >\r
+{\r
+    typedef typename vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) >\r
+{\r
+    typedef typename vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX\r
+        >\r
+    : vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) >\r
+{\r
+    typedef typename vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX\r
+        >\r
+    : vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX\r
+        >\r
+    : vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : 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) >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : 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) >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : 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) >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : 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) >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : 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) >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : 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) >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : 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) >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16, long C17\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17, LONG_MAX, LONG_MAX\r
+        >\r
+    : 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) >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16, long C17, long C18\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17, C18, LONG_MAX\r
+        >\r
+    : 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) >\r
+{\r
+    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;\r
+};\r
+\r
+/// primary template (not a specialization!)\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+    >\r
+struct vector_c\r
+    : 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) >\r
+{\r
+    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;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..2d65040
--- /dev/null
@@ -0,0 +1,97 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/advance_backward.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+template< long N > struct advance_backward;\r
+template<>\r
+struct advance_backward<0>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef iter0 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct advance_backward<1>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef typename prior<iter0>::type iter1;\r
+        typedef iter1 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct advance_backward<2>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef typename prior<iter0>::type iter1;\r
+        typedef typename prior<iter1>::type iter2;\r
+        typedef iter2 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct advance_backward<3>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef typename prior<iter0>::type iter1;\r
+        typedef typename prior<iter1>::type iter2;\r
+        typedef typename prior<iter2>::type iter3;\r
+        typedef iter3 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct advance_backward<4>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef typename prior<iter0>::type iter1;\r
+        typedef typename prior<iter1>::type iter2;\r
+        typedef typename prior<iter2>::type iter3;\r
+        typedef typename prior<iter3>::type iter4;\r
+        typedef iter4 type;\r
+    };\r
+};\r
+\r
+template< long N >\r
+struct advance_backward\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef typename apply_wrap1<\r
+              advance_backward<4>\r
+            , Iterator\r
+            >::type chunk_result_;\r
+\r
+        typedef typename apply_wrap1<\r
+              advance_backward<(\r
+                (N - 4) < 0\r
+                    ? 0\r
+                    : N - 4\r
+                    )>\r
+            , chunk_result_\r
+            >::type type;\r
+    };\r
+};\r
+\r
+}}}\r
+\r
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 (file)
index 0000000..9762f7b
--- /dev/null
@@ -0,0 +1,97 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/advance_forward.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+template< long N > struct advance_forward;\r
+template<>\r
+struct advance_forward<0>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef iter0 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct advance_forward<1>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef typename next<iter0>::type iter1;\r
+        typedef iter1 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct advance_forward<2>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef typename next<iter0>::type iter1;\r
+        typedef typename next<iter1>::type iter2;\r
+        typedef iter2 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct advance_forward<3>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef typename next<iter0>::type iter1;\r
+        typedef typename next<iter1>::type iter2;\r
+        typedef typename next<iter2>::type iter3;\r
+        typedef iter3 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct advance_forward<4>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef typename next<iter0>::type iter1;\r
+        typedef typename next<iter1>::type iter2;\r
+        typedef typename next<iter2>::type iter3;\r
+        typedef typename next<iter3>::type iter4;\r
+        typedef iter4 type;\r
+    };\r
+};\r
+\r
+template< long N >\r
+struct advance_forward\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef typename apply_wrap1<\r
+              advance_forward<4>\r
+            , Iterator\r
+            >::type chunk_result_;\r
+\r
+        typedef typename apply_wrap1<\r
+              advance_forward<(\r
+                (N - 4) < 0\r
+                    ? 0\r
+                    : N - 4\r
+                    )>\r
+            , chunk_result_\r
+            >::type type;\r
+    };\r
+};\r
+\r
+}}}\r
+\r
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 (file)
index 0000000..71e3b78
--- /dev/null
@@ -0,0 +1,69 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/and.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+\r
+template< bool C_, typename T1, typename T2, typename T3, typename T4 >\r
+struct and_impl\r
+    : false_\r
+{\r
+};\r
+\r
+template< typename T1, typename T2, typename T3, typename T4 >\r
+struct and_impl< true,T1,T2,T3,T4 >\r
+    : and_impl<\r
+          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value\r
+        , T2, T3, T4\r
+        , true_\r
+        >\r
+{\r
+};\r
+\r
+template<>\r
+struct and_impl<\r
+          true\r
+        , true_, true_, true_, true_\r
+        >\r
+    : true_\r
+{\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(T1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(T2)\r
+    , typename T3 = true_, typename T4 = true_, typename T5 = true_\r
+    >\r
+struct and_\r
+\r
+    : aux::and_impl<\r
+          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value\r
+        , T2, T3, T4, T5\r
+        >\r
+\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , and_\r
+        , ( T1, T2, T3, T4, T5)\r
+        )\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(\r
+      2\r
+    , 5\r
+    , and_\r
+    )\r
+\r
+}}\r
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 (file)
index 0000000..9508903
--- /dev/null
@@ -0,0 +1,169 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/apply.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct apply0\r
+\r
+    : apply_wrap0<\r
+          typename lambda<F>::type\r
+       \r
+        >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          1\r
+        , apply0\r
+        , (F )\r
+        )\r
+};\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct apply< F,na,na,na,na,na >\r
+    : apply0<F>\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct apply1\r
+\r
+    : apply_wrap1<\r
+          typename lambda<F>::type\r
+        , T1\r
+        >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          2\r
+        , apply1\r
+        , (F, T1)\r
+        )\r
+};\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct apply< F,T1,na,na,na,na >\r
+    : apply1< F,T1 >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+struct apply2\r
+\r
+    : apply_wrap2<\r
+          typename lambda<F>::type\r
+        , T1, T2\r
+        >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          3\r
+        , apply2\r
+        , (F, T1, T2)\r
+        )\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+struct apply< F,T1,T2,na,na,na >\r
+    : apply2< F,T1,T2 >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+struct apply3\r
+\r
+    : apply_wrap3<\r
+          typename lambda<F>::type\r
+        , T1, T2, T3\r
+        >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          4\r
+        , apply3\r
+        , (F, T1, T2, T3)\r
+        )\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+struct apply< F,T1,T2,T3,na,na >\r
+    : apply3< F,T1,T2,T3 >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct apply4\r
+\r
+    : apply_wrap4<\r
+          typename lambda<F>::type\r
+        , T1, T2, T3, T4\r
+        >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , apply4\r
+        , (F, T1, T2, T3, T4)\r
+        )\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct apply< F,T1,T2,T3,T4,na >\r
+    : apply4< F,T1,T2,T3,T4 >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct apply5\r
+\r
+    : apply_wrap5<\r
+          typename lambda<F>::type\r
+        , T1, T2, T3, T4, T5\r
+        >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          6\r
+        , apply5\r
+        , (F, T1, T2, T3, T4, T5)\r
+        )\r
+};\r
+\r
+/// primary template (not a specialization!)\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct apply\r
+    : apply5< F,T1,T2,T3,T4,T5 >\r
+{\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..b1c5573
--- /dev/null
@@ -0,0 +1,52 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/apply_fwd.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename F, typename T1 = na, typename T2 = na, typename T3 = na\r
+    , typename T4 = na, typename T5 = na\r
+    >\r
+struct apply;\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct apply0;\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct apply1;\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+struct apply2;\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+struct apply3;\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct apply4;\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct apply5;\r
+\r
+}}\r
+\r
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 (file)
index 0000000..8603cc3
--- /dev/null
@@ -0,0 +1,456 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/apply_wrap.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      int N, typename F\r
+    >\r
+struct apply_wrap_impl0;\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct apply_wrap_impl0<\r
+          0\r
+        , F\r
+       \r
+        >\r
+{\r
+    typedef typename F::template apply<\r
+         \r
+/// since the defaults are "lost", we have to pass *something* even for nullary\r
+/// metafunction classes\r
+        na\r
+        > type;\r
+};\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct apply_wrap_impl0<\r
+          1\r
+        , F\r
+       \r
+        >\r
+{\r
+    typedef typename F::template apply<\r
+         \r
+        na\r
+        > type;\r
+};\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct apply_wrap_impl0<\r
+          2\r
+        , F\r
+       \r
+        >\r
+{\r
+    typedef typename F::template apply<\r
+         \r
+        na, na\r
+\r
+        > type;\r
+};\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct apply_wrap_impl0<\r
+          3\r
+        , F\r
+       \r
+        >\r
+{\r
+    typedef typename F::template apply<\r
+         \r
+        na, na, na\r
+\r
+        > type;\r
+};\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct apply_wrap_impl0<\r
+          4\r
+        , F\r
+       \r
+        >\r
+{\r
+    typedef typename F::template apply<\r
+         \r
+        na, na, na, na\r
+\r
+        > type;\r
+};\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct apply_wrap_impl0<\r
+          5\r
+        , F\r
+       \r
+        >\r
+{\r
+    typedef typename F::template apply<\r
+         \r
+        na, na, na, na, na\r
+\r
+        > type;\r
+};\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct apply_wrap0\r
+    : apply_wrap_impl0<\r
+          ::boost::mpl::aux::arity< F,0 >::value\r
+        , F\r
+       \r
+        >::type\r
+{\r
+};\r
+\r
+template<\r
+      int N, typename F, typename T1\r
+    >\r
+struct apply_wrap_impl1;\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct apply_wrap_impl1<\r
+          1\r
+        , F\r
+        , T1\r
+        >\r
+{\r
+    typedef typename F::template apply<\r
+          T1\r
+        > type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct apply_wrap_impl1<\r
+          2\r
+        , F\r
+        , T1\r
+        >\r
+{\r
+    typedef typename F::template apply<\r
+          T1\r
+        , na\r
+\r
+        > type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct apply_wrap_impl1<\r
+          3\r
+        , F\r
+        , T1\r
+        >\r
+{\r
+    typedef typename F::template apply<\r
+          T1\r
+        , na, na\r
+\r
+        > type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct apply_wrap_impl1<\r
+          4\r
+        , F\r
+        , T1\r
+        >\r
+{\r
+    typedef typename F::template apply<\r
+          T1\r
+        , na, na, na\r
+\r
+        > type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct apply_wrap_impl1<\r
+          5\r
+        , F\r
+        , T1\r
+        >\r
+{\r
+    typedef typename F::template apply<\r
+          T1\r
+        , na, na, na, na\r
+\r
+        > type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct apply_wrap1\r
+    : apply_wrap_impl1<\r
+          ::boost::mpl::aux::arity< F,1 >::value\r
+        , F\r
+        , T1\r
+        >::type\r
+{\r
+};\r
+\r
+template<\r
+      int N, typename F, typename T1, typename T2\r
+    >\r
+struct apply_wrap_impl2;\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+struct apply_wrap_impl2<\r
+          2\r
+        , F\r
+        , T1, T2\r
+        >\r
+{\r
+    typedef typename F::template apply<\r
+          T1, T2\r
+\r
+        > type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+struct apply_wrap_impl2<\r
+          3\r
+        , F\r
+        , T1, T2\r
+        >\r
+{\r
+    typedef typename F::template apply<\r
+          T1, T2\r
+\r
+        , na\r
+\r
+        > type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+struct apply_wrap_impl2<\r
+          4\r
+        , F\r
+        , T1, T2\r
+        >\r
+{\r
+    typedef typename F::template apply<\r
+          T1, T2\r
+\r
+        , na, na\r
+\r
+        > type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+struct apply_wrap_impl2<\r
+          5\r
+        , F\r
+        , T1, T2\r
+        >\r
+{\r
+    typedef typename F::template apply<\r
+          T1, T2\r
+\r
+        , na, na, na\r
+\r
+        > type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+struct apply_wrap2\r
+    : apply_wrap_impl2<\r
+          ::boost::mpl::aux::arity< F,2 >::value\r
+        , F\r
+        , T1, T2\r
+        >::type\r
+{\r
+};\r
+\r
+template<\r
+      int N, typename F, typename T1, typename T2, typename T3\r
+    >\r
+struct apply_wrap_impl3;\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+struct apply_wrap_impl3<\r
+          3\r
+        , F\r
+        , T1, T2, T3\r
+        >\r
+{\r
+    typedef typename F::template apply<\r
+          T1, T2, T3\r
+\r
+        > type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+struct apply_wrap_impl3<\r
+          4\r
+        , F\r
+        , T1, T2, T3\r
+        >\r
+{\r
+    typedef typename F::template apply<\r
+          T1, T2, T3\r
+\r
+        , na\r
+\r
+        > type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+struct apply_wrap_impl3<\r
+          5\r
+        , F\r
+        , T1, T2, T3\r
+        >\r
+{\r
+    typedef typename F::template apply<\r
+          T1, T2, T3\r
+\r
+        , na, na\r
+\r
+        > type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+struct apply_wrap3\r
+    : apply_wrap_impl3<\r
+          ::boost::mpl::aux::arity< F,3 >::value\r
+        , F\r
+        , T1, T2, T3\r
+        >::type\r
+{\r
+};\r
+\r
+template<\r
+      int N, typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct apply_wrap_impl4;\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct apply_wrap_impl4<\r
+          4\r
+        , F\r
+        , T1, T2, T3, T4\r
+        >\r
+{\r
+    typedef typename F::template apply<\r
+          T1, T2, T3, T4\r
+\r
+        > type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct apply_wrap_impl4<\r
+          5\r
+        , F\r
+        , T1, T2, T3, T4\r
+        >\r
+{\r
+    typedef typename F::template apply<\r
+          T1, T2, T3, T4\r
+\r
+        , na\r
+\r
+        > type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct apply_wrap4\r
+    : apply_wrap_impl4<\r
+          ::boost::mpl::aux::arity< F,4 >::value\r
+        , F\r
+        , T1, T2, T3, T4\r
+        >::type\r
+{\r
+};\r
+\r
+template<\r
+      int N, typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct apply_wrap_impl5;\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct apply_wrap_impl5<\r
+          5\r
+        , F\r
+        , T1, T2, T3, T4, T5\r
+        >\r
+{\r
+    typedef typename F::template apply<\r
+          T1, T2, T3, T4, T5\r
+\r
+        > type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct apply_wrap5\r
+    : apply_wrap_impl5<\r
+          ::boost::mpl::aux::arity< F,5 >::value\r
+        , F\r
+        , T1, T2, T3, T4, T5\r
+        >::type\r
+{\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..a77b8a2
--- /dev/null
@@ -0,0 +1,123 @@
+\r
+// Copyright Peter Dimov 2001-2002\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/arg.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+template<> struct arg< -1 >\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value  = -1);\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)\r
+\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+        typedef U1 type;\r
+        BOOST_MPL_AUX_ASSERT_NOT_NA(type);\r
+    };\r
+};\r
+\r
+template<> struct arg<1>\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value  = 1);\r
+    typedef arg<2> next;\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)\r
+\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+        typedef U1 type;\r
+        BOOST_MPL_AUX_ASSERT_NOT_NA(type);\r
+    };\r
+};\r
+\r
+template<> struct arg<2>\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value  = 2);\r
+    typedef arg<3> next;\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)\r
+\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+        typedef U2 type;\r
+        BOOST_MPL_AUX_ASSERT_NOT_NA(type);\r
+    };\r
+};\r
+\r
+template<> struct arg<3>\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value  = 3);\r
+    typedef arg<4> next;\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)\r
+\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+        typedef U3 type;\r
+        BOOST_MPL_AUX_ASSERT_NOT_NA(type);\r
+    };\r
+};\r
+\r
+template<> struct arg<4>\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value  = 4);\r
+    typedef arg<5> next;\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)\r
+\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+        typedef U4 type;\r
+        BOOST_MPL_AUX_ASSERT_NOT_NA(type);\r
+    };\r
+};\r
+\r
+template<> struct arg<5>\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value  = 5);\r
+    typedef arg<6> next;\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)\r
+\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+        typedef U5 type;\r
+        BOOST_MPL_AUX_ASSERT_NOT_NA(type);\r
+    };\r
+};\r
+\r
+BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg)\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
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 (file)
index 0000000..3a7bf5e
--- /dev/null
@@ -0,0 +1,306 @@
+\r
+// Copyright Peter Dimov 2001\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/basic_bind.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename T, typename U1, typename U2, typename U3, typename U4\r
+    , typename U5\r
+    >\r
+struct resolve_bind_arg\r
+{\r
+    typedef T type;\r
+};\r
+\r
+template<\r
+      int N, typename U1, typename U2, typename U3, typename U4, typename U5\r
+    >\r
+struct resolve_bind_arg< arg<N>, U1, U2, U3, U4, U5 >\r
+{\r
+    typedef typename apply_wrap5<mpl::arg<N>, U1, U2, U3, U4, U5>::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct bind0\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;\r
+\r
+     public:\r
+        typedef typename apply_wrap0<\r
+              f_\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename U1, typename U2, typename U3, typename U4\r
+    , typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind0<F>, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind0<F> f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(1, bind0)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct bind1\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;\r
+        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;\r
+\r
+     public:\r
+        typedef typename apply_wrap1<\r
+              f_\r
+            , typename t1::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename U1, typename U2, typename U3\r
+    , typename U4, typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind1< F,T1 >, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind1< F,T1 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(2, bind1)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+struct bind2\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;\r
+        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;\r
+        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;\r
+\r
+     public:\r
+        typedef typename apply_wrap2<\r
+              f_\r
+            , typename t1::type, typename t2::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename U1, typename U2\r
+    , typename U3, typename U4, typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind2< F,T1,T2 >, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind2< F,T1,T2 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(3, bind2)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+struct bind3\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;\r
+        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;\r
+        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;\r
+        typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;\r
+\r
+     public:\r
+        typedef typename apply_wrap3<\r
+              f_\r
+            , typename t1::type, typename t2::type, typename t3::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename U1\r
+    , typename U2, typename U3, typename U4, typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind3< F,T1,T2,T3 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(4, bind3)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct bind4\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;\r
+        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;\r
+        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;\r
+        typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;\r
+        typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4;\r
+\r
+     public:\r
+        typedef typename apply_wrap4<\r
+              f_\r
+            , typename t1::type, typename t2::type, typename t3::type\r
+            , typename t4::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename U1, typename U2, typename U3, typename U4, typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind4< F,T1,T2,T3,T4 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(5, bind4)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct bind5\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;\r
+        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;\r
+        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;\r
+        typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;\r
+        typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4;\r
+        typedef aux::resolve_bind_arg< T5,U1,U2,U3,U4,U5 > t5;\r
+\r
+     public:\r
+        typedef typename apply_wrap5<\r
+              f_\r
+            , typename t1::type, typename t2::type, typename t3::type\r
+            , typename t4::type, typename t5::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename U1, typename U2, typename U3, typename U4\r
+    , typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind5< F,T1,T2,T3,T4,T5 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(6, bind5)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)\r
+}}\r
+\r
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 (file)
index 0000000..3b8e688
--- /dev/null
@@ -0,0 +1,403 @@
+\r
+// Copyright Peter Dimov 2001\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/bind.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename T, typename U1, typename U2, typename U3, typename U4\r
+    , typename U5\r
+    >\r
+struct resolve_bind_arg\r
+{\r
+    typedef T type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , typename Arg\r
+    >\r
+struct replace_unnamed_arg\r
+{\r
+    typedef Arg next;\r
+    typedef T type;\r
+};\r
+\r
+template<\r
+      typename Arg\r
+    >\r
+struct replace_unnamed_arg< arg< -1 >, Arg >\r
+{\r
+    typedef typename Arg::next next;\r
+    typedef Arg type;\r
+};\r
+\r
+template<\r
+      int N, typename U1, typename U2, typename U3, typename U4, typename U5\r
+    >\r
+struct resolve_bind_arg< arg<N>, U1, U2, U3, U4, U5 >\r
+{\r
+    typedef typename apply_wrap5<mpl::arg<N>, U1, U2, U3, U4, U5>::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct bind0\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;\r
+        typedef typename r0::type a0;\r
+        typedef typename r0::next n1;\r
+        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;\r
+        ///\r
+     public:\r
+        typedef typename apply_wrap0<\r
+              f_\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename U1, typename U2, typename U3, typename U4\r
+    , typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind0<F>, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind0<F> f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(1, bind0)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct bind1\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;\r
+        typedef typename r0::type a0;\r
+        typedef typename r0::next n1;\r
+        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T1,n1 > r1;\r
+        typedef typename r1::type a1;\r
+        typedef typename r1::next n2;\r
+        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;\r
+        ///\r
+     public:\r
+        typedef typename apply_wrap1<\r
+              f_\r
+            , typename t1::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename U1, typename U2, typename U3\r
+    , typename U4, typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind1< F,T1 >, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind1< F,T1 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(2, bind1)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+struct bind2\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;\r
+        typedef typename r0::type a0;\r
+        typedef typename r0::next n1;\r
+        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T1,n1 > r1;\r
+        typedef typename r1::type a1;\r
+        typedef typename r1::next n2;\r
+        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T2,n2 > r2;\r
+        typedef typename r2::type a2;\r
+        typedef typename r2::next n3;\r
+        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;\r
+        ///\r
+     public:\r
+        typedef typename apply_wrap2<\r
+              f_\r
+            , typename t1::type, typename t2::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename U1, typename U2\r
+    , typename U3, typename U4, typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind2< F,T1,T2 >, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind2< F,T1,T2 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(3, bind2)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+struct bind3\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;\r
+        typedef typename r0::type a0;\r
+        typedef typename r0::next n1;\r
+        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T1,n1 > r1;\r
+        typedef typename r1::type a1;\r
+        typedef typename r1::next n2;\r
+        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T2,n2 > r2;\r
+        typedef typename r2::type a2;\r
+        typedef typename r2::next n3;\r
+        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T3,n3 > r3;\r
+        typedef typename r3::type a3;\r
+        typedef typename r3::next n4;\r
+        typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;\r
+        ///\r
+     public:\r
+        typedef typename apply_wrap3<\r
+              f_\r
+            , typename t1::type, typename t2::type, typename t3::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename U1\r
+    , typename U2, typename U3, typename U4, typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind3< F,T1,T2,T3 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(4, bind3)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct bind4\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;\r
+        typedef typename r0::type a0;\r
+        typedef typename r0::next n1;\r
+        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T1,n1 > r1;\r
+        typedef typename r1::type a1;\r
+        typedef typename r1::next n2;\r
+        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T2,n2 > r2;\r
+        typedef typename r2::type a2;\r
+        typedef typename r2::next n3;\r
+        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T3,n3 > r3;\r
+        typedef typename r3::type a3;\r
+        typedef typename r3::next n4;\r
+        typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T4,n4 > r4;\r
+        typedef typename r4::type a4;\r
+        typedef typename r4::next n5;\r
+        typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4;\r
+        ///\r
+     public:\r
+        typedef typename apply_wrap4<\r
+              f_\r
+            , typename t1::type, typename t2::type, typename t3::type\r
+            , typename t4::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename U1, typename U2, typename U3, typename U4, typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind4< F,T1,T2,T3,T4 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(5, bind4)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct bind5\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;\r
+        typedef typename r0::type a0;\r
+        typedef typename r0::next n1;\r
+        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T1,n1 > r1;\r
+        typedef typename r1::type a1;\r
+        typedef typename r1::next n2;\r
+        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T2,n2 > r2;\r
+        typedef typename r2::type a2;\r
+        typedef typename r2::next n3;\r
+        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T3,n3 > r3;\r
+        typedef typename r3::type a3;\r
+        typedef typename r3::next n4;\r
+        typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T4,n4 > r4;\r
+        typedef typename r4::type a4;\r
+        typedef typename r4::next n5;\r
+        typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T5,n5 > r5;\r
+        typedef typename r5::type a5;\r
+        typedef typename r5::next n6;\r
+        typedef aux::resolve_bind_arg< a5,U1,U2,U3,U4,U5 > t5;\r
+        ///\r
+     public:\r
+        typedef typename apply_wrap5<\r
+              f_\r
+            , typename t1::type, typename t2::type, typename t3::type\r
+            , typename t4::type, typename t5::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename U1, typename U2, typename U3, typename U4\r
+    , typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind5< F,T1,T2,T3,T4,T5 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(6, bind5)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)\r
+}}\r
+\r
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 (file)
index 0000000..0be46fa
--- /dev/null
@@ -0,0 +1,46 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/bind_fwd.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct bind0;\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct bind1;\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+struct bind2;\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+struct bind3;\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct bind4;\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct bind5;\r
+\r
+}}\r
+\r
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 (file)
index 0000000..38cf55e
--- /dev/null
@@ -0,0 +1,147 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright Jaap Suter 2003\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/bitand.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct bitand_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< bitand_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< bitand_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct bitand_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct bitand_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct bitand_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct bitand_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    , typename N3 = na, typename N4 = na, typename N5 = na\r
+    >\r
+struct bitand_\r
+    : bitand_< bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>, N5>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , bitand_\r
+        , ( N1, N2, N3, N4, N5 )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3, typename N4\r
+    >\r
+struct bitand_< N1,N2,N3,N4,na >\r
+\r
+    : bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , bitand_\r
+        , ( N1, N2, N3, N4, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3\r
+    >\r
+struct bitand_< N1,N2,N3,na,na >\r
+\r
+    : bitand_< bitand_< N1,N2 >, N3>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , bitand_\r
+        , ( N1, N2, N3, na, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2\r
+    >\r
+struct bitand_< N1,N2,na,na,na >\r
+    : bitand_impl<\r
+          typename bitand_tag<N1>::type\r
+        , typename bitand_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , bitand_\r
+        , ( N1, N2, na, na, na )\r
+        )\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+template<>\r
+struct bitand_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : integral_c<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value\r
+                  & BOOST_MPL_AUX_VALUE_WKND(N2)::value\r
+                )\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..2f4162d
--- /dev/null
@@ -0,0 +1,147 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright Jaap Suter 2003\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/bitor.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct bitor_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< bitor_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< bitor_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct bitor_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct bitor_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct bitor_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct bitor_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    , typename N3 = na, typename N4 = na, typename N5 = na\r
+    >\r
+struct bitor_\r
+    : bitor_< bitor_< bitor_< bitor_< N1,N2 >, N3>, N4>, N5>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , bitor_\r
+        , ( N1, N2, N3, N4, N5 )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3, typename N4\r
+    >\r
+struct bitor_< N1,N2,N3,N4,na >\r
+\r
+    : bitor_< bitor_< bitor_< N1,N2 >, N3>, N4>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , bitor_\r
+        , ( N1, N2, N3, N4, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3\r
+    >\r
+struct bitor_< N1,N2,N3,na,na >\r
+\r
+    : bitor_< bitor_< N1,N2 >, N3>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , bitor_\r
+        , ( N1, N2, N3, na, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2\r
+    >\r
+struct bitor_< N1,N2,na,na,na >\r
+    : bitor_impl<\r
+          typename bitor_tag<N1>::type\r
+        , typename bitor_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , bitor_\r
+        , ( N1, N2, na, na, na )\r
+        )\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 5, bitor_)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+template<>\r
+struct bitor_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : integral_c<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value\r
+                  | BOOST_MPL_AUX_VALUE_WKND(N2)::value\r
+                )\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..b4daf8d
--- /dev/null
@@ -0,0 +1,147 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright Jaap Suter 2003\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/bitxor.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct bitxor_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< bitxor_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< bitxor_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct bitxor_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct bitxor_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct bitxor_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct bitxor_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    , typename N3 = na, typename N4 = na, typename N5 = na\r
+    >\r
+struct bitxor_\r
+    : bitxor_< bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>, N5>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , bitxor_\r
+        , ( N1, N2, N3, N4, N5 )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3, typename N4\r
+    >\r
+struct bitxor_< N1,N2,N3,N4,na >\r
+\r
+    : bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , bitxor_\r
+        , ( N1, N2, N3, N4, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3\r
+    >\r
+struct bitxor_< N1,N2,N3,na,na >\r
+\r
+    : bitxor_< bitxor_< N1,N2 >, N3>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , bitxor_\r
+        , ( N1, N2, N3, na, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2\r
+    >\r
+struct bitxor_< N1,N2,na,na,na >\r
+    : bitxor_impl<\r
+          typename bitxor_tag<N1>::type\r
+        , typename bitxor_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , bitxor_\r
+        , ( N1, N2, na, na, na )\r
+        )\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+template<>\r
+struct bitxor_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : integral_c<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value\r
+                  ^ BOOST_MPL_AUX_VALUE_WKND(N2)::value\r
+                )\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..ede9716
--- /dev/null
@@ -0,0 +1,323 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/deque.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na\r
+    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na\r
+    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na\r
+    , typename T12 = na, typename T13 = na, typename T14 = na\r
+    , typename T15 = na, typename T16 = na, typename T17 = na\r
+    , typename T18 = na, typename T19 = na\r
+    >\r
+struct deque;\r
+\r
+template<\r
+     \r
+    >\r
+struct deque<\r
+          na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector0<  >\r
+{\r
+    typedef vector0<  >::type type;\r
+};\r
+\r
+template<\r
+      typename T0\r
+    >\r
+struct deque<\r
+          T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector1<T0>\r
+{\r
+    typedef typename vector1<T0>::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1\r
+    >\r
+struct deque<\r
+          T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector2< T0,T1 >\r
+{\r
+    typedef typename vector2< T0,T1 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2\r
+    >\r
+struct deque<\r
+          T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector3< T0,T1,T2 >\r
+{\r
+    typedef typename vector3< T0,T1,T2 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector4< T0,T1,T2,T3 >\r
+{\r
+    typedef typename vector4< T0,T1,T2,T3 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector5< T0,T1,T2,T3,T4 >\r
+{\r
+    typedef typename vector5< T0,T1,T2,T3,T4 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector6< T0,T1,T2,T3,T4,T5 >\r
+{\r
+    typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector7< T0,T1,T2,T3,T4,T5,T6 >\r
+{\r
+    typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector8< T0,T1,T2,T3,T4,T5,T6,T7 >\r
+{\r
+    typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >\r
+{\r
+    typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >\r
+{\r
+    typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >\r
+{\r
+    typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na\r
+        , na, na, na, na\r
+        >\r
+    : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >\r
+{\r
+    typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na\r
+        , na, na, na, na\r
+        >\r
+    : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >\r
+{\r
+    typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na\r
+        , na, na, na, na\r
+        >\r
+    : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >\r
+{\r
+    typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na\r
+        , na, na, na, na\r
+        >\r
+    : vector15<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        >\r
+{\r
+    typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, na, na, na, na\r
+        >\r
+    : vector16<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15\r
+        >\r
+{\r
+    typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, na, na, na\r
+        >\r
+    : vector17<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16\r
+        >\r
+{\r
+    typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, na, na\r
+        >\r
+    : vector18<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17\r
+        >\r
+{\r
+    typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18, na\r
+        >\r
+    : vector19<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18\r
+        >\r
+{\r
+    typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;\r
+};\r
+\r
+/// primary template (not a specialization!)\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    >\r
+struct deque\r
+    : vector20<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18, T19\r
+        >\r
+{\r
+    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;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..55d9396
--- /dev/null
@@ -0,0 +1,146 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/divides.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct divides_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< divides_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< divides_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct divides_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct divides_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct divides_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct divides_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    , typename N3 = na, typename N4 = na, typename N5 = na\r
+    >\r
+struct divides\r
+    : divides< divides< divides< divides< N1,N2 >, N3>, N4>, N5>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , divides\r
+        , ( N1, N2, N3, N4, N5 )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3, typename N4\r
+    >\r
+struct divides< N1,N2,N3,N4,na >\r
+\r
+    : divides< divides< divides< N1,N2 >, N3>, N4>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , divides\r
+        , ( N1, N2, N3, N4, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3\r
+    >\r
+struct divides< N1,N2,N3,na,na >\r
+\r
+    : divides< divides< N1,N2 >, N3>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , divides\r
+        , ( N1, N2, N3, na, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2\r
+    >\r
+struct divides< N1,N2,na,na,na >\r
+    : divides_impl<\r
+          typename divides_tag<N1>::type\r
+        , typename divides_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , divides\r
+        , ( N1, N2, na, na, na )\r
+        )\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 5, divides)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+template<>\r
+struct divides_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : integral_c<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value\r
+                  / BOOST_MPL_AUX_VALUE_WKND(N2)::value\r
+                )\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..211236e
--- /dev/null
@@ -0,0 +1,94 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/equal_to.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct equal_to_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct equal_to_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct equal_to_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct equal_to_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct equal_to_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct equal_to\r
+\r
+    : equal_to_impl<\r
+          typename equal_to_tag<N1>::type\r
+        , typename equal_to_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, equal_to, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct equal_to_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value  == BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..6d94f48
--- /dev/null
@@ -0,0 +1,180 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/fold_impl.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+/// forward declaration\r
+\r
+template<\r
+      int N\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct fold_impl;\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct fold_impl< 0,First,Last,State,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State state0;\r
+    typedef state0 state;\r
+    typedef iter0 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct fold_impl< 1,First,Last,State,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State state0;\r
+    typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    \r
+\r
+    typedef state1 state;\r
+    typedef iter1 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct fold_impl< 2,First,Last,State,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State state0;\r
+    typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;\r
+    typedef typename mpl::next<iter1>::type iter2;\r
+    \r
+\r
+    typedef state2 state;\r
+    typedef iter2 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct fold_impl< 3,First,Last,State,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State state0;\r
+    typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;\r
+    typedef typename mpl::next<iter1>::type iter2;\r
+    typedef typename apply2< ForwardOp, state2, typename deref<iter2>::type >::type state3;\r
+    typedef typename mpl::next<iter2>::type iter3;\r
+    \r
+\r
+    typedef state3 state;\r
+    typedef iter3 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct fold_impl< 4,First,Last,State,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State state0;\r
+    typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;\r
+    typedef typename mpl::next<iter1>::type iter2;\r
+    typedef typename apply2< ForwardOp, state2, typename deref<iter2>::type >::type state3;\r
+    typedef typename mpl::next<iter2>::type iter3;\r
+    typedef typename apply2< ForwardOp, state3, typename deref<iter3>::type >::type state4;\r
+    typedef typename mpl::next<iter3>::type iter4;\r
+    \r
+\r
+    typedef state4 state;\r
+    typedef iter4 iterator;\r
+};\r
+\r
+template<\r
+      int N\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct fold_impl\r
+{\r
+    typedef fold_impl<\r
+          4\r
+        , First\r
+        , Last\r
+        , State\r
+        , ForwardOp\r
+        > chunk_;\r
+\r
+    typedef fold_impl<\r
+          ( (N - 4) < 0 ? 0 : N - 4 )\r
+        , typename chunk_::iterator\r
+        , Last\r
+        , typename chunk_::state\r
+        , ForwardOp\r
+        > res_;\r
+\r
+    typedef typename res_::state state;\r
+    typedef typename res_::iterator iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct fold_impl< -1,First,Last,State,ForwardOp >\r
+    : fold_impl<\r
+          -1\r
+        , typename mpl::next<First>::type\r
+        , Last\r
+        , typename apply2<ForwardOp,State, typename deref<First>::type>::type\r
+        , ForwardOp\r
+        >\r
+{\r
+};\r
+\r
+template<\r
+      typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct fold_impl< -1,Last,Last,State,ForwardOp >\r
+{\r
+    typedef State state;\r
+    typedef Last iterator;\r
+};\r
+\r
+}}}\r
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 (file)
index 0000000..b9297cd
--- /dev/null
@@ -0,0 +1,558 @@
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/full_lambda.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+\r
+template<\r
+      bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false\r
+    , bool C5 = false\r
+    >\r
+struct lambda_or\r
+    : true_\r
+{\r
+};\r
+\r
+template<>\r
+struct lambda_or< false,false,false,false,false >\r
+    : false_\r
+{\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename T\r
+    , typename Tag\r
+    , typename Arity\r
+    >\r
+struct lambda\r
+{\r
+    typedef false_ is_le;\r
+    typedef T result_;\r
+    typedef T type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    >\r
+struct is_lambda_expression\r
+    : lambda<T>::is_le\r
+{\r
+};\r
+\r
+template< int N, typename Tag >\r
+struct lambda< arg<N>,Tag, int_< -1 > >\r
+{\r
+    typedef true_ is_le;\r
+    typedef mpl::arg<N> result_; // qualified for the sake of MIPSpro 7.41\r
+    typedef mpl::protect<result_> type;\r
+};\r
+\r
+template<\r
+      typename F\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          bind0<F>\r
+        , Tag\r
+        , int_<1>\r
+        >\r
+{\r
+    typedef false_ is_le;\r
+    typedef bind0<\r
+          F\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename IsLE, typename Tag\r
+    , template< typename P1 > class F\r
+    , typename L1\r
+    >\r
+struct le_result1\r
+{\r
+    typedef F<\r
+          typename L1::type\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+template<\r
+      typename Tag\r
+    , template< typename P1 > class F\r
+    , typename L1\r
+    >\r
+struct le_result1< true_,Tag,F,L1 >\r
+{\r
+    typedef bind1<\r
+          quote1< F,Tag >\r
+        , typename L1::result_\r
+        > result_;\r
+\r
+    typedef mpl::protect<result_> type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      template< typename P1 > class F\r
+    , typename T1\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          F<T1>\r
+        , Tag\r
+        , int_<1>\r
+        >\r
+{\r
+    typedef lambda< T1,Tag > l1;\r
+    typedef typename l1::is_le is_le1;\r
+    typedef typename aux::lambda_or<\r
+          is_le1::value\r
+        >::type is_le;\r
+\r
+    typedef aux::le_result1<\r
+          is_le, Tag, F, l1\r
+        > le_result_;\r
+\r
+    typedef typename le_result_::result_ result_;\r
+    typedef typename le_result_::type type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          bind1< F,T1 >\r
+        , Tag\r
+        , int_<2>\r
+        >\r
+{\r
+    typedef false_ is_le;\r
+    typedef bind1<\r
+          F\r
+        , T1\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename IsLE, typename Tag\r
+    , template< typename P1, typename P2 > class F\r
+    , typename L1, typename L2\r
+    >\r
+struct le_result2\r
+{\r
+    typedef F<\r
+          typename L1::type, typename L2::type\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+template<\r
+      typename Tag\r
+    , template< typename P1, typename P2 > class F\r
+    , typename L1, typename L2\r
+    >\r
+struct le_result2< true_,Tag,F,L1,L2 >\r
+{\r
+    typedef bind2<\r
+          quote2< F,Tag >\r
+        , typename L1::result_, typename L2::result_\r
+        > result_;\r
+\r
+    typedef mpl::protect<result_> type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      template< typename P1, typename P2 > class F\r
+    , typename T1, typename T2\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          F< T1,T2 >\r
+        , Tag\r
+        , int_<2>\r
+        >\r
+{\r
+    typedef lambda< T1,Tag > l1;\r
+    typedef lambda< T2,Tag > l2;\r
+    \r
+    typedef typename l1::is_le is_le1;\r
+    typedef typename l2::is_le is_le2;\r
+    \r
+\r
+    typedef typename aux::lambda_or<\r
+          is_le1::value, is_le2::value\r
+        >::type is_le;\r
+\r
+    typedef aux::le_result2<\r
+          is_le, Tag, F, l1, l2\r
+        > le_result_;\r
+\r
+    typedef typename le_result_::result_ result_;\r
+    typedef typename le_result_::type type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          bind2< F,T1,T2 >\r
+        , Tag\r
+        , int_<3>\r
+        >\r
+{\r
+    typedef false_ is_le;\r
+    typedef bind2<\r
+          F\r
+        , T1, T2\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename IsLE, typename Tag\r
+    , template< typename P1, typename P2, typename P3 > class F\r
+    , typename L1, typename L2, typename L3\r
+    >\r
+struct le_result3\r
+{\r
+    typedef F<\r
+          typename L1::type, typename L2::type, typename L3::type\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+template<\r
+      typename Tag\r
+    , template< typename P1, typename P2, typename P3 > class F\r
+    , typename L1, typename L2, typename L3\r
+    >\r
+struct le_result3< true_,Tag,F,L1,L2,L3 >\r
+{\r
+    typedef bind3<\r
+          quote3< F,Tag >\r
+        , typename L1::result_, typename L2::result_, typename L3::result_\r
+        > result_;\r
+\r
+    typedef mpl::protect<result_> type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      template< typename P1, typename P2, typename P3 > class F\r
+    , typename T1, typename T2, typename T3\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          F< T1,T2,T3 >\r
+        , Tag\r
+        , int_<3>\r
+        >\r
+{\r
+    typedef lambda< T1,Tag > l1;\r
+    typedef lambda< T2,Tag > l2;\r
+    typedef lambda< T3,Tag > l3;\r
+    \r
+    typedef typename l1::is_le is_le1;\r
+    typedef typename l2::is_le is_le2;\r
+    typedef typename l3::is_le is_le3;\r
+    \r
+\r
+    typedef typename aux::lambda_or<\r
+          is_le1::value, is_le2::value, is_le3::value\r
+        >::type is_le;\r
+\r
+    typedef aux::le_result3<\r
+          is_le, Tag, F, l1, l2, l3\r
+        > le_result_;\r
+\r
+    typedef typename le_result_::result_ result_;\r
+    typedef typename le_result_::type type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          bind3< F,T1,T2,T3 >\r
+        , Tag\r
+        , int_<4>\r
+        >\r
+{\r
+    typedef false_ is_le;\r
+    typedef bind3<\r
+          F\r
+        , T1, T2, T3\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename IsLE, typename Tag\r
+    , template< typename P1, typename P2, typename P3, typename P4 > class F\r
+    , typename L1, typename L2, typename L3, typename L4\r
+    >\r
+struct le_result4\r
+{\r
+    typedef F<\r
+          typename L1::type, typename L2::type, typename L3::type\r
+        , typename L4::type\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+template<\r
+      typename Tag\r
+    , template< typename P1, typename P2, typename P3, typename P4 > class F\r
+    , typename L1, typename L2, typename L3, typename L4\r
+    >\r
+struct le_result4< true_,Tag,F,L1,L2,L3,L4 >\r
+{\r
+    typedef bind4<\r
+          quote4< F,Tag >\r
+        , typename L1::result_, typename L2::result_, typename L3::result_\r
+        , typename L4::result_\r
+        > result_;\r
+\r
+    typedef mpl::protect<result_> type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      template< typename P1, typename P2, typename P3, typename P4 > class F\r
+    , typename T1, typename T2, typename T3, typename T4\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          F< T1,T2,T3,T4 >\r
+        , Tag\r
+        , int_<4>\r
+        >\r
+{\r
+    typedef lambda< T1,Tag > l1;\r
+    typedef lambda< T2,Tag > l2;\r
+    typedef lambda< T3,Tag > l3;\r
+    typedef lambda< T4,Tag > l4;\r
+    \r
+    typedef typename l1::is_le is_le1;\r
+    typedef typename l2::is_le is_le2;\r
+    typedef typename l3::is_le is_le3;\r
+    typedef typename l4::is_le is_le4;\r
+    \r
+\r
+    typedef typename aux::lambda_or<\r
+          is_le1::value, is_le2::value, is_le3::value, is_le4::value\r
+        >::type is_le;\r
+\r
+    typedef aux::le_result4<\r
+          is_le, Tag, F, l1, l2, l3, l4\r
+        > le_result_;\r
+\r
+    typedef typename le_result_::result_ result_;\r
+    typedef typename le_result_::type type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          bind4< F,T1,T2,T3,T4 >\r
+        , Tag\r
+        , int_<5>\r
+        >\r
+{\r
+    typedef false_ is_le;\r
+    typedef bind4<\r
+          F\r
+        , T1, T2, T3, T4\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename IsLE, typename Tag\r
+    , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F\r
+    , typename L1, typename L2, typename L3, typename L4, typename L5\r
+    >\r
+struct le_result5\r
+{\r
+    typedef F<\r
+          typename L1::type, typename L2::type, typename L3::type\r
+        , typename L4::type, typename L5::type\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+template<\r
+      typename Tag\r
+    , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F\r
+    , typename L1, typename L2, typename L3, typename L4, typename L5\r
+    >\r
+struct le_result5< true_,Tag,F,L1,L2,L3,L4,L5 >\r
+{\r
+    typedef bind5<\r
+          quote5< F,Tag >\r
+        , typename L1::result_, typename L2::result_, typename L3::result_\r
+        , typename L4::result_, typename L5::result_\r
+        > result_;\r
+\r
+    typedef mpl::protect<result_> type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      template<\r
+          typename P1, typename P2, typename P3, typename P4\r
+        , typename P5\r
+        >\r
+      class F\r
+    , typename T1, typename T2, typename T3, typename T4, typename T5\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          F< T1,T2,T3,T4,T5 >\r
+        , Tag\r
+        , int_<5>\r
+        >\r
+{\r
+    typedef lambda< T1,Tag > l1;\r
+    typedef lambda< T2,Tag > l2;\r
+    typedef lambda< T3,Tag > l3;\r
+    typedef lambda< T4,Tag > l4;\r
+    typedef lambda< T5,Tag > l5;\r
+    \r
+    typedef typename l1::is_le is_le1;\r
+    typedef typename l2::is_le is_le2;\r
+    typedef typename l3::is_le is_le3;\r
+    typedef typename l4::is_le is_le4;\r
+    typedef typename l5::is_le is_le5;\r
+    \r
+\r
+    typedef typename aux::lambda_or<\r
+          is_le1::value, is_le2::value, is_le3::value, is_le4::value\r
+        , is_le5::value\r
+        >::type is_le;\r
+\r
+    typedef aux::le_result5<\r
+          is_le, Tag, F, l1, l2, l3, l4, l5\r
+        > le_result_;\r
+\r
+    typedef typename le_result_::result_ result_;\r
+    typedef typename le_result_::type type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          bind5< F,T1,T2,T3,T4,T5 >\r
+        , Tag\r
+        , int_<6>\r
+        >\r
+{\r
+    typedef false_ is_le;\r
+    typedef bind5<\r
+          F\r
+        , T1, T2, T3, T4, T5\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+/// special case for 'protect'\r
+template< typename T, typename Tag >\r
+struct lambda< mpl::protect<T>,Tag, int_<1> >\r
+{\r
+    typedef false_ is_le;\r
+    typedef mpl::protect<T> result_;\r
+    typedef result_ type;\r
+};\r
+\r
+/// specializations for the main 'bind' form\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          bind< F,T1,T2,T3,T4,T5 >\r
+        , Tag\r
+        , int_<6>\r
+        >\r
+{\r
+    typedef false_ is_le;\r
+    typedef bind< F,T1,T2,T3,T4,T5 > result_;\r
+    typedef result_ type;\r
+};\r
+\r
+template<\r
+      typename F\r
+    , typename Tag1\r
+    , typename Tag2\r
+    , typename Arity\r
+    >\r
+struct lambda<\r
+          lambda< F,Tag1,Arity >\r
+        , Tag2\r
+        , int_<3>\r
+        >\r
+{\r
+    typedef lambda< F,Tag2 > l1;\r
+    typedef lambda< Tag1,Tag2 > l2;\r
+    typedef typename l1::is_le is_le;\r
+    typedef bind1< quote1<aux::template_arity>, typename l1::result_ > arity_;\r
+    typedef lambda< typename if_< is_le,arity_,Arity >::type, Tag2 > l3;\r
+    typedef aux::le_result3<is_le, Tag2, mpl::lambda, l1, l2, l3> le_result_;\r
+    typedef typename le_result_::result_ result_;\r
+    typedef typename le_result_::type type;\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 3, lambda)\r
+\r
+}}\r
+\r
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 (file)
index 0000000..e626a2b
--- /dev/null
@@ -0,0 +1,94 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/greater.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct greater_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< greater_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< greater_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct greater_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct greater_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct greater_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct greater_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct greater\r
+\r
+    : greater_impl<\r
+          typename greater_tag<N1>::type\r
+        , typename greater_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, greater)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct greater_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value > BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..a4bc28e
--- /dev/null
@@ -0,0 +1,94 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/greater_equal.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct greater_equal_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< greater_equal_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< greater_equal_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct greater_equal_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct greater_equal_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct greater_equal_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct greater_equal_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct greater_equal\r
+\r
+    : greater_equal_impl<\r
+          typename greater_equal_tag<N1>::type\r
+        , typename greater_equal_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater_equal, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct greater_equal_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..3eb3bae
--- /dev/null
@@ -0,0 +1,141 @@
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/inherit.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(T1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(T2)\r
+    >\r
+struct inherit2\r
+    : T1, T2\r
+{\r
+    typedef inherit2 type;\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1, T2))\r
+};\r
+\r
+template< typename T1 >\r
+struct inherit2< T1,empty_base >\r
+{\r
+    typedef T1 type;\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (T1, empty_base))\r
+};\r
+\r
+template< typename T2 >\r
+struct inherit2< empty_base,T2 >\r
+{\r
+    typedef T2 type;\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, T2))\r
+};\r
+\r
+template<>\r
+struct inherit2< empty_base,empty_base >\r
+{\r
+    typedef empty_base type;\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, empty_base))\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(2, inherit2)\r
+\r
+template<\r
+      typename T1 = na, typename T2 = na, typename T3 = na\r
+    >\r
+struct inherit3\r
+    : inherit2<\r
+          typename inherit2<\r
+              T1, T2\r
+            >::type\r
+        , T3\r
+        >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          3\r
+        , inherit3\r
+        , ( T1, T2, T3)\r
+        )\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(3, inherit3)\r
+\r
+template<\r
+      typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na\r
+    >\r
+struct inherit4\r
+    : inherit2<\r
+          typename inherit3<\r
+              T1, T2, T3\r
+            >::type\r
+        , T4\r
+        >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          4\r
+        , inherit4\r
+        , ( T1, T2, T3, T4)\r
+        )\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(4, inherit4)\r
+\r
+template<\r
+      typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na\r
+    , typename T5 = na\r
+    >\r
+struct inherit5\r
+    : inherit2<\r
+          typename inherit4<\r
+              T1, T2, T3, T4\r
+            >::type\r
+        , T5\r
+        >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , inherit5\r
+        , ( T1, T2, T3, T4, T5)\r
+        )\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(5, inherit5)\r
+\r
+/// primary template\r
+\r
+template<\r
+      typename T1 = empty_base, typename T2 = empty_base\r
+    , typename T3 = empty_base, typename T4 = empty_base\r
+    , typename T5 = empty_base\r
+    >\r
+struct inherit\r
+    : inherit5< T1,T2,T3,T4,T5 >\r
+{\r
+};\r
+\r
+template<>\r
+struct inherit< na,na,na,na,na >\r
+{\r
+    template<\r
+\r
+          typename T1 = empty_base, typename T2 = empty_base\r
+        , typename T3 = empty_base, typename T4 = empty_base\r
+        , typename T5 = empty_base\r
+\r
+        >\r
+    struct apply\r
+        : inherit< T1,T2,T3,T4,T5 >\r
+    {\r
+    };\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit)\r
+BOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit)\r
+BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit)\r
+}}\r
+\r
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 (file)
index 0000000..233e7dd
--- /dev/null
@@ -0,0 +1,133 @@
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+// Copyright David Abrahams 2001-2002\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/iter_fold_if_impl.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+template< typename Iterator, typename State >\r
+struct iter_fold_if_null_step\r
+{\r
+    typedef State state;\r
+    typedef Iterator iterator;\r
+};\r
+\r
+template< bool >\r
+struct iter_fold_if_step_impl\r
+{\r
+    template<\r
+          typename Iterator\r
+        , typename State\r
+        , typename StateOp\r
+        , typename IteratorOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename apply2< StateOp,State,Iterator >::type state;\r
+        typedef typename IteratorOp::type iterator;\r
+    };\r
+};\r
+\r
+template<>\r
+struct iter_fold_if_step_impl<false>\r
+{\r
+    template<\r
+          typename Iterator\r
+        , typename State\r
+        , typename StateOp\r
+        , typename IteratorOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef State state;\r
+        typedef Iterator iterator;\r
+    };\r
+};\r
+\r
+template<\r
+      typename Iterator\r
+    , typename State\r
+    , typename ForwardOp\r
+    , typename Predicate\r
+    >\r
+struct iter_fold_if_forward_step\r
+{\r
+    typedef typename apply2< Predicate,State,Iterator >::type not_last;\r
+    typedef typename iter_fold_if_step_impl<\r
+          BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value\r
+        >::template result_< Iterator,State,ForwardOp, mpl::next<Iterator> > impl_;\r
+\r
+    typedef typename impl_::state state;\r
+    typedef typename impl_::iterator iterator;\r
+};\r
+\r
+template<\r
+      typename Iterator\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename Predicate\r
+    >\r
+struct iter_fold_if_backward_step\r
+{\r
+    typedef typename apply2< Predicate,State,Iterator >::type not_last;\r
+    typedef typename iter_fold_if_step_impl<\r
+          BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value\r
+        >::template result_< Iterator,State,BackwardOp, identity<Iterator> > impl_;\r
+\r
+    typedef typename impl_::state state;\r
+    typedef typename impl_::iterator iterator;\r
+};\r
+\r
+template<\r
+      typename Iterator\r
+    , typename State\r
+    , typename ForwardOp\r
+    , typename ForwardPredicate\r
+    , typename BackwardOp\r
+    , typename BackwardPredicate\r
+    >\r
+struct iter_fold_if_impl\r
+{\r
+ private:\r
+    typedef iter_fold_if_null_step< Iterator,State > forward_step0;\r
+    typedef iter_fold_if_forward_step< typename forward_step0::iterator, typename forward_step0::state, ForwardOp, ForwardPredicate > forward_step1;\r
+    typedef iter_fold_if_forward_step< typename forward_step1::iterator, typename forward_step1::state, ForwardOp, ForwardPredicate > forward_step2;\r
+    typedef iter_fold_if_forward_step< typename forward_step2::iterator, typename forward_step2::state, ForwardOp, ForwardPredicate > forward_step3;\r
+    typedef iter_fold_if_forward_step< typename forward_step3::iterator, typename forward_step3::state, ForwardOp, ForwardPredicate > forward_step4;\r
+    \r
+\r
+    typedef typename if_<\r
+          typename forward_step4::not_last\r
+        , iter_fold_if_impl<\r
+              typename forward_step4::iterator\r
+            , typename forward_step4::state\r
+            , ForwardOp\r
+            , ForwardPredicate\r
+            , BackwardOp\r
+            , BackwardPredicate\r
+            >\r
+        , iter_fold_if_null_step<\r
+              typename forward_step4::iterator\r
+            , typename forward_step4::state\r
+            >\r
+        >::type backward_step4;\r
+\r
+    typedef iter_fold_if_backward_step< typename forward_step3::iterator, typename backward_step4::state, BackwardOp, BackwardPredicate > backward_step3;\r
+    typedef iter_fold_if_backward_step< typename forward_step2::iterator, typename backward_step3::state, BackwardOp, BackwardPredicate > backward_step2;\r
+    typedef iter_fold_if_backward_step< typename forward_step1::iterator, typename backward_step2::state, BackwardOp, BackwardPredicate > backward_step1;\r
+    typedef iter_fold_if_backward_step< typename forward_step0::iterator, typename backward_step1::state, BackwardOp, BackwardPredicate > backward_step0;\r
+    \r
+\r
+ public:\r
+    typedef typename backward_step0::state state;\r
+    typedef typename backward_step4::iterator iterator;\r
+};\r
+\r
+}}}\r
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 (file)
index 0000000..f633d1b
--- /dev/null
@@ -0,0 +1,180 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/iter_fold_impl.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+/// forward declaration\r
+\r
+template<\r
+      int N\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct iter_fold_impl;\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct iter_fold_impl< 0,First,Last,State,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State state0;\r
+    typedef state0 state;\r
+    typedef iter0 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct iter_fold_impl< 1,First,Last,State,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State state0;\r
+    typedef typename apply2< ForwardOp,state0,iter0 >::type state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    \r
+\r
+    typedef state1 state;\r
+    typedef iter1 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct iter_fold_impl< 2,First,Last,State,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State state0;\r
+    typedef typename apply2< ForwardOp,state0,iter0 >::type state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    typedef typename apply2< ForwardOp,state1,iter1 >::type state2;\r
+    typedef typename mpl::next<iter1>::type iter2;\r
+    \r
+\r
+    typedef state2 state;\r
+    typedef iter2 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct iter_fold_impl< 3,First,Last,State,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State state0;\r
+    typedef typename apply2< ForwardOp,state0,iter0 >::type state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    typedef typename apply2< ForwardOp,state1,iter1 >::type state2;\r
+    typedef typename mpl::next<iter1>::type iter2;\r
+    typedef typename apply2< ForwardOp,state2,iter2 >::type state3;\r
+    typedef typename mpl::next<iter2>::type iter3;\r
+    \r
+\r
+    typedef state3 state;\r
+    typedef iter3 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct iter_fold_impl< 4,First,Last,State,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State state0;\r
+    typedef typename apply2< ForwardOp,state0,iter0 >::type state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    typedef typename apply2< ForwardOp,state1,iter1 >::type state2;\r
+    typedef typename mpl::next<iter1>::type iter2;\r
+    typedef typename apply2< ForwardOp,state2,iter2 >::type state3;\r
+    typedef typename mpl::next<iter2>::type iter3;\r
+    typedef typename apply2< ForwardOp,state3,iter3 >::type state4;\r
+    typedef typename mpl::next<iter3>::type iter4;\r
+    \r
+\r
+    typedef state4 state;\r
+    typedef iter4 iterator;\r
+};\r
+\r
+template<\r
+      int N\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct iter_fold_impl\r
+{\r
+    typedef iter_fold_impl<\r
+          4\r
+        , First\r
+        , Last\r
+        , State\r
+        , ForwardOp\r
+        > chunk_;\r
+\r
+    typedef iter_fold_impl<\r
+          ( (N - 4) < 0 ? 0 : N - 4 )\r
+        , typename chunk_::iterator\r
+        , Last\r
+        , typename chunk_::state\r
+        , ForwardOp\r
+        > res_;\r
+\r
+    typedef typename res_::state state;\r
+    typedef typename res_::iterator iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct iter_fold_impl< -1,First,Last,State,ForwardOp >\r
+    : iter_fold_impl<\r
+          -1\r
+        , typename mpl::next<First>::type\r
+        , Last\r
+        , typename apply2< ForwardOp,State,First >::type\r
+        , ForwardOp\r
+        >\r
+{\r
+};\r
+\r
+template<\r
+      typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct iter_fold_impl< -1,Last,Last,State,ForwardOp >\r
+{\r
+    typedef State state;\r
+    typedef Last iterator;\r
+};\r
+\r
+}}}\r
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 (file)
index 0000000..c4ac608
--- /dev/null
@@ -0,0 +1,229 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/lambda_no_ctps.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+\r
+template<\r
+      bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false\r
+    , bool C5 = false\r
+    >\r
+struct lambda_or\r
+    : true_\r
+{\r
+};\r
+\r
+template<>\r
+struct lambda_or< false,false,false,false,false >\r
+    : false_\r
+{\r
+};\r
+\r
+template< typename Arity > struct lambda_impl\r
+{\r
+    template< typename T, typename Tag, typename Protect > struct result_\r
+    {\r
+        typedef T type;\r
+        typedef is_placeholder<T> is_le;\r
+    };\r
+};\r
+\r
+template<> struct lambda_impl< int_<1> >\r
+{\r
+    template< typename F, typename Tag, typename Protect > struct result_\r
+    {\r
+        typedef lambda< typename F::arg1, Tag, false_ > l1;\r
+        typedef typename l1::is_le is_le1;\r
+        typedef aux::lambda_or<\r
+              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value\r
+            > is_le;\r
+\r
+        typedef bind1<\r
+              typename F::rebind\r
+            , typename l1::type\r
+            > bind_;\r
+\r
+        typedef typename if_<\r
+              is_le\r
+            , if_< Protect, mpl::protect<bind_>, bind_ >\r
+            , identity<F>\r
+            >::type type_;\r
+\r
+        typedef typename type_::type type;\r
+    };\r
+};\r
+\r
+template<> struct lambda_impl< int_<2> >\r
+{\r
+    template< typename F, typename Tag, typename Protect > struct result_\r
+    {\r
+        typedef lambda< typename F::arg1, Tag, false_ > l1;\r
+        typedef lambda< typename F::arg2, Tag, false_ > l2;\r
+        \r
+        typedef typename l1::is_le is_le1;\r
+        typedef typename l2::is_le is_le2;\r
+        \r
+\r
+        typedef aux::lambda_or<\r
+              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value\r
+            > is_le;\r
+\r
+        typedef bind2<\r
+              typename F::rebind\r
+            , typename l1::type, typename l2::type\r
+            > bind_;\r
+\r
+        typedef typename if_<\r
+              is_le\r
+            , if_< Protect, mpl::protect<bind_>, bind_ >\r
+            , identity<F>\r
+            >::type type_;\r
+\r
+        typedef typename type_::type type;\r
+    };\r
+};\r
+\r
+template<> struct lambda_impl< int_<3> >\r
+{\r
+    template< typename F, typename Tag, typename Protect > struct result_\r
+    {\r
+        typedef lambda< typename F::arg1, Tag, false_ > l1;\r
+        typedef lambda< typename F::arg2, Tag, false_ > l2;\r
+        typedef lambda< typename F::arg3, Tag, false_ > l3;\r
+        \r
+        typedef typename l1::is_le is_le1;\r
+        typedef typename l2::is_le is_le2;\r
+        typedef typename l3::is_le is_le3;\r
+        \r
+\r
+        typedef aux::lambda_or<\r
+              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\r
+            > is_le;\r
+\r
+        typedef bind3<\r
+              typename F::rebind\r
+            , typename l1::type, typename l2::type, typename l3::type\r
+            > bind_;\r
+\r
+        typedef typename if_<\r
+              is_le\r
+            , if_< Protect, mpl::protect<bind_>, bind_ >\r
+            , identity<F>\r
+            >::type type_;\r
+\r
+        typedef typename type_::type type;\r
+    };\r
+};\r
+\r
+template<> struct lambda_impl< int_<4> >\r
+{\r
+    template< typename F, typename Tag, typename Protect > struct result_\r
+    {\r
+        typedef lambda< typename F::arg1, Tag, false_ > l1;\r
+        typedef lambda< typename F::arg2, Tag, false_ > l2;\r
+        typedef lambda< typename F::arg3, Tag, false_ > l3;\r
+        typedef lambda< typename F::arg4, Tag, false_ > l4;\r
+        \r
+        typedef typename l1::is_le is_le1;\r
+        typedef typename l2::is_le is_le2;\r
+        typedef typename l3::is_le is_le3;\r
+        typedef typename l4::is_le is_le4;\r
+        \r
+\r
+        typedef aux::lambda_or<\r
+              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\r
+            > is_le;\r
+\r
+        typedef bind4<\r
+              typename F::rebind\r
+            , typename l1::type, typename l2::type, typename l3::type\r
+            , typename l4::type\r
+            > bind_;\r
+\r
+        typedef typename if_<\r
+              is_le\r
+            , if_< Protect, mpl::protect<bind_>, bind_ >\r
+            , identity<F>\r
+            >::type type_;\r
+\r
+        typedef typename type_::type type;\r
+    };\r
+};\r
+\r
+template<> struct lambda_impl< int_<5> >\r
+{\r
+    template< typename F, typename Tag, typename Protect > struct result_\r
+    {\r
+        typedef lambda< typename F::arg1, Tag, false_ > l1;\r
+        typedef lambda< typename F::arg2, Tag, false_ > l2;\r
+        typedef lambda< typename F::arg3, Tag, false_ > l3;\r
+        typedef lambda< typename F::arg4, Tag, false_ > l4;\r
+        typedef lambda< typename F::arg5, Tag, false_ > l5;\r
+        \r
+        typedef typename l1::is_le is_le1;\r
+        typedef typename l2::is_le is_le2;\r
+        typedef typename l3::is_le is_le3;\r
+        typedef typename l4::is_le is_le4;\r
+        typedef typename l5::is_le is_le5;\r
+        \r
+\r
+        typedef aux::lambda_or<\r
+              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\r
+            > is_le;\r
+\r
+        typedef bind5<\r
+              typename F::rebind\r
+            , typename l1::type, typename l2::type, typename l3::type\r
+            , typename l4::type, typename l5::type\r
+            > bind_;\r
+\r
+        typedef typename if_<\r
+              is_le\r
+            , if_< Protect, mpl::protect<bind_>, bind_ >\r
+            , identity<F>\r
+            >::type type_;\r
+\r
+        typedef typename type_::type type;\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename T\r
+    , typename Tag\r
+    , typename Protect\r
+    >\r
+struct lambda\r
+{\r
+    /// Metafunction forwarding confuses MSVC 6.x\r
+    typedef typename aux::template_arity<T>::type arity_;\r
+    typedef typename aux::lambda_impl<arity_>\r
+        ::template result_< T,Tag,Protect > l_;\r
+\r
+    typedef typename l_::type type;\r
+    typedef typename l_::is_le is_le;\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect))\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(1, 3, lambda)\r
+\r
+template<\r
+      typename T\r
+    >\r
+struct is_lambda_expression\r
+    : lambda<T>::is_le\r
+{\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..01dc25f
--- /dev/null
@@ -0,0 +1,94 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/less.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct less_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< less_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< less_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct less_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct less_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct less_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct less_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct less\r
+\r
+    : less_impl<\r
+          typename less_tag<N1>::type\r
+        , typename less_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, less)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct less_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N2)::value > BOOST_MPL_AUX_VALUE_WKND(N1)::value ) >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..233e936
--- /dev/null
@@ -0,0 +1,94 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/less_equal.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct less_equal_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< less_equal_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< less_equal_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct less_equal_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct less_equal_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct less_equal_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct less_equal_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct less_equal\r
+\r
+    : less_equal_impl<\r
+          typename less_equal_tag<N1>::type\r
+        , typename less_equal_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less_equal, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct less_equal_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value <= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..1dcd58b
--- /dev/null
@@ -0,0 +1,323 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/list.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na\r
+    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na\r
+    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na\r
+    , typename T12 = na, typename T13 = na, typename T14 = na\r
+    , typename T15 = na, typename T16 = na, typename T17 = na\r
+    , typename T18 = na, typename T19 = na\r
+    >\r
+struct list;\r
+\r
+template<\r
+     \r
+    >\r
+struct list<\r
+          na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list0<  >\r
+{\r
+    typedef list0<  >::type type;\r
+};\r
+\r
+template<\r
+      typename T0\r
+    >\r
+struct list<\r
+          T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list1<T0>\r
+{\r
+    typedef typename list1<T0>::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1\r
+    >\r
+struct list<\r
+          T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list2< T0,T1 >\r
+{\r
+    typedef typename list2< T0,T1 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2\r
+    >\r
+struct list<\r
+          T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list3< T0,T1,T2 >\r
+{\r
+    typedef typename list3< T0,T1,T2 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list4< T0,T1,T2,T3 >\r
+{\r
+    typedef typename list4< T0,T1,T2,T3 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list5< T0,T1,T2,T3,T4 >\r
+{\r
+    typedef typename list5< T0,T1,T2,T3,T4 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list6< T0,T1,T2,T3,T4,T5 >\r
+{\r
+    typedef typename list6< T0,T1,T2,T3,T4,T5 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list7< T0,T1,T2,T3,T4,T5,T6 >\r
+{\r
+    typedef typename list7< T0,T1,T2,T3,T4,T5,T6 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list8< T0,T1,T2,T3,T4,T5,T6,T7 >\r
+{\r
+    typedef typename list8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >\r
+{\r
+    typedef typename list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >\r
+{\r
+    typedef typename list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >\r
+{\r
+    typedef typename list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na\r
+        , na, na, na, na\r
+        >\r
+    : list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >\r
+{\r
+    typedef typename list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na\r
+        , na, na, na, na\r
+        >\r
+    : list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >\r
+{\r
+    typedef typename list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na\r
+        , na, na, na, na\r
+        >\r
+    : list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >\r
+{\r
+    typedef typename list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na\r
+        , na, na, na, na\r
+        >\r
+    : list15<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        >\r
+{\r
+    typedef typename list15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, na, na, na, na\r
+        >\r
+    : list16<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15\r
+        >\r
+{\r
+    typedef typename list16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, na, na, na\r
+        >\r
+    : list17<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16\r
+        >\r
+{\r
+    typedef typename list17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, na, na\r
+        >\r
+    : list18<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17\r
+        >\r
+{\r
+    typedef typename list18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18, na\r
+        >\r
+    : list19<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18\r
+        >\r
+{\r
+    typedef typename list19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;\r
+};\r
+\r
+/// primary template (not a specialization!)\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    >\r
+struct list\r
+    : list20<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18, T19\r
+        >\r
+{\r
+    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;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..578474e
--- /dev/null
@@ -0,0 +1,328 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/list_c.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX\r
+    , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX\r
+    , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX\r
+    , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX\r
+    , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX\r
+    , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX\r
+    , long C18 = LONG_MAX, long C19 = LONG_MAX\r
+    >\r
+struct list_c;\r
+\r
+template<\r
+      typename T\r
+    >\r
+struct list_c<\r
+          T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list0_c<T>\r
+{\r
+    typedef typename list0_c<T>::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0\r
+    >\r
+struct list_c<\r
+          T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list1_c< T,C0 >\r
+{\r
+    typedef typename list1_c< T,C0 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1\r
+    >\r
+struct list_c<\r
+          T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list2_c< T,C0,C1 >\r
+{\r
+    typedef typename list2_c< T,C0,C1 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list3_c< T,C0,C1,C2 >\r
+{\r
+    typedef typename list3_c< T,C0,C1,C2 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list4_c< T,C0,C1,C2,C3 >\r
+{\r
+    typedef typename list4_c< T,C0,C1,C2,C3 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list5_c< T,C0,C1,C2,C3,C4 >\r
+{\r
+    typedef typename list5_c< T,C0,C1,C2,C3,C4 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list6_c< T,C0,C1,C2,C3,C4,C5 >\r
+{\r
+    typedef typename list6_c< T,C0,C1,C2,C3,C4,C5 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list7_c< T,C0,C1,C2,C3,C4,C5,C6 >\r
+{\r
+    typedef typename list7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX\r
+        >\r
+    : list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >\r
+{\r
+    typedef typename list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX\r
+        >\r
+    : list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >\r
+{\r
+    typedef typename list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX\r
+        >\r
+    : list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >\r
+{\r
+    typedef typename list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >\r
+{\r
+    typedef typename list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >\r
+{\r
+    typedef typename list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >\r
+{\r
+    typedef typename list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list14_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13\r
+        >\r
+{\r
+    typedef typename list14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list15_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        >\r
+{\r
+    typedef typename list15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list16_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15\r
+        >\r
+{\r
+    typedef typename list16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list17_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16\r
+        >\r
+{\r
+    typedef typename list17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16, long C17\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17, LONG_MAX, LONG_MAX\r
+        >\r
+    : list18_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17\r
+        >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16, long C17, long C18\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17, C18, LONG_MAX\r
+        >\r
+    : list19_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17, C18\r
+        >\r
+{\r
+    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;\r
+};\r
+\r
+/// primary template (not a specialization!)\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+    >\r
+struct list_c\r
+    : list20_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17, C18, C19\r
+        >\r
+{\r
+    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;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..2f22291
--- /dev/null
@@ -0,0 +1,323 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/map.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na\r
+    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na\r
+    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na\r
+    , typename T12 = na, typename T13 = na, typename T14 = na\r
+    , typename T15 = na, typename T16 = na, typename T17 = na\r
+    , typename T18 = na, typename T19 = na\r
+    >\r
+struct map;\r
+\r
+template<\r
+     \r
+    >\r
+struct map<\r
+          na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map0<  >\r
+{\r
+    typedef map0<  >::type type;\r
+};\r
+\r
+template<\r
+      typename T0\r
+    >\r
+struct map<\r
+          T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map1<T0>\r
+{\r
+    typedef typename map1<T0>::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1\r
+    >\r
+struct map<\r
+          T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map2< T0,T1 >\r
+{\r
+    typedef typename map2< T0,T1 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2\r
+    >\r
+struct map<\r
+          T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map3< T0,T1,T2 >\r
+{\r
+    typedef typename map3< T0,T1,T2 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map4< T0,T1,T2,T3 >\r
+{\r
+    typedef typename map4< T0,T1,T2,T3 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map5< T0,T1,T2,T3,T4 >\r
+{\r
+    typedef typename map5< T0,T1,T2,T3,T4 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map6< T0,T1,T2,T3,T4,T5 >\r
+{\r
+    typedef typename map6< T0,T1,T2,T3,T4,T5 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map7< T0,T1,T2,T3,T4,T5,T6 >\r
+{\r
+    typedef typename map7< T0,T1,T2,T3,T4,T5,T6 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map8< T0,T1,T2,T3,T4,T5,T6,T7 >\r
+{\r
+    typedef typename map8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >\r
+{\r
+    typedef typename map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >\r
+{\r
+    typedef typename map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >\r
+{\r
+    typedef typename map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na\r
+        , na, na, na, na\r
+        >\r
+    : map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >\r
+{\r
+    typedef typename map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na\r
+        , na, na, na, na\r
+        >\r
+    : map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >\r
+{\r
+    typedef typename map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na\r
+        , na, na, na, na\r
+        >\r
+    : map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >\r
+{\r
+    typedef typename map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na\r
+        , na, na, na, na\r
+        >\r
+    : map15<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        >\r
+{\r
+    typedef typename map15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, na, na, na, na\r
+        >\r
+    : map16<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15\r
+        >\r
+{\r
+    typedef typename map16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, na, na, na\r
+        >\r
+    : map17<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16\r
+        >\r
+{\r
+    typedef typename map17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, na, na\r
+        >\r
+    : map18<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17\r
+        >\r
+{\r
+    typedef typename map18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18, na\r
+        >\r
+    : map19<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18\r
+        >\r
+{\r
+    typedef typename map19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;\r
+};\r
+\r
+/// primary template (not a specialization!)\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    >\r
+struct map\r
+    : map20<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18, T19\r
+        >\r
+{\r
+    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;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..afbdda2
--- /dev/null
@@ -0,0 +1,146 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/minus.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct minus_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< minus_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< minus_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct minus_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct minus_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct minus_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct minus_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    , typename N3 = na, typename N4 = na, typename N5 = na\r
+    >\r
+struct minus\r
+    : minus< minus< minus< minus< N1,N2 >, N3>, N4>, N5>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , minus\r
+        , ( N1, N2, N3, N4, N5 )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3, typename N4\r
+    >\r
+struct minus< N1,N2,N3,N4,na >\r
+\r
+    : minus< minus< minus< N1,N2 >, N3>, N4>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , minus\r
+        , ( N1, N2, N3, N4, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3\r
+    >\r
+struct minus< N1,N2,N3,na,na >\r
+\r
+    : minus< minus< N1,N2 >, N3>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , minus\r
+        , ( N1, N2, N3, na, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2\r
+    >\r
+struct minus< N1,N2,na,na,na >\r
+    : minus_impl<\r
+          typename minus_tag<N1>::type\r
+        , typename minus_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , minus\r
+        , ( N1, N2, na, na, na )\r
+        )\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 5, minus)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+template<>\r
+struct minus_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : integral_c<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value\r
+                  - BOOST_MPL_AUX_VALUE_WKND(N2)::value\r
+                )\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..d8f81ef
--- /dev/null
@@ -0,0 +1,101 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/modulus.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct modulus_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< modulus_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< modulus_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct modulus_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct modulus_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct modulus_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct modulus_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct modulus\r
+\r
+    : modulus_impl<\r
+          typename modulus_tag<N1>::type\r
+        , typename modulus_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, modulus, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, modulus)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+template<>\r
+struct modulus_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : integral_c<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value\r
+                  % BOOST_MPL_AUX_VALUE_WKND(N2)::value\r
+                )\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..a68e69e
--- /dev/null
@@ -0,0 +1,94 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/not_equal_to.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct not_equal_to_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< not_equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct not_equal_to_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct not_equal_to_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct not_equal_to_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct not_equal_to_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct not_equal_to\r
+\r
+    : not_equal_to_impl<\r
+          typename not_equal_to_tag<N1>::type\r
+        , typename not_equal_to_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, not_equal_to, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct not_equal_to_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value != BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..1a05656
--- /dev/null
@@ -0,0 +1,69 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/or.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+\r
+template< bool C_, typename T1, typename T2, typename T3, typename T4 >\r
+struct or_impl\r
+    : true_\r
+{\r
+};\r
+\r
+template< typename T1, typename T2, typename T3, typename T4 >\r
+struct or_impl< false,T1,T2,T3,T4 >\r
+    : or_impl<\r
+          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value\r
+        , T2, T3, T4\r
+        , false_\r
+        >\r
+{\r
+};\r
+\r
+template<>\r
+struct or_impl<\r
+          false\r
+        , false_, false_, false_, false_\r
+        >\r
+    : false_\r
+{\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(T1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(T2)\r
+    , typename T3 = false_, typename T4 = false_, typename T5 = false_\r
+    >\r
+struct or_\r
+\r
+    : aux::or_impl<\r
+          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value\r
+        , T2, T3, T4, T5\r
+        >\r
+\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , or_\r
+        , ( T1, T2, T3, T4, T5)\r
+        )\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(\r
+      2\r
+    , 5\r
+    , or_\r
+    )\r
+\r
+}}\r
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 (file)
index 0000000..df5cb1d
--- /dev/null
@@ -0,0 +1,105 @@
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+// Copyright Peter Dimov 2001-2003\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/placeholders.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+typedef arg< -1 > _;\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+namespace boost { namespace mpl {\r
+\r
+BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_)\r
+\r
+namespace placeholders {\r
+using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_;\r
+}\r
+\r
+}}\r
+\r
+/// agurt, 17/mar/02: one more placeholder for the last 'apply#' \r
+/// specialization\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+typedef arg<1> _1;\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+namespace boost { namespace mpl {\r
+\r
+BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1)\r
+\r
+namespace placeholders {\r
+using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1;\r
+}\r
+\r
+}}\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+typedef arg<2> _2;\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+namespace boost { namespace mpl {\r
+\r
+BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2)\r
+\r
+namespace placeholders {\r
+using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2;\r
+}\r
+\r
+}}\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+typedef arg<3> _3;\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+namespace boost { namespace mpl {\r
+\r
+BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3)\r
+\r
+namespace placeholders {\r
+using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3;\r
+}\r
+\r
+}}\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+typedef arg<4> _4;\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+namespace boost { namespace mpl {\r
+\r
+BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4)\r
+\r
+namespace placeholders {\r
+using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4;\r
+}\r
+\r
+}}\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+typedef arg<5> _5;\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+namespace boost { namespace mpl {\r
+\r
+BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5)\r
+\r
+namespace placeholders {\r
+using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5;\r
+}\r
+\r
+}}\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+typedef arg<6> _6;\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+namespace boost { namespace mpl {\r
+\r
+BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6)\r
+\r
+namespace placeholders {\r
+using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6;\r
+}\r
+\r
+}}\r
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 (file)
index 0000000..631898f
--- /dev/null
@@ -0,0 +1,146 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/plus.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct plus_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< plus_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< plus_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct plus_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct plus_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct plus_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct plus_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    , typename N3 = na, typename N4 = na, typename N5 = na\r
+    >\r
+struct plus\r
+    : plus< plus< plus< plus< N1,N2 >, N3>, N4>, N5>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , plus\r
+        , ( N1, N2, N3, N4, N5 )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3, typename N4\r
+    >\r
+struct plus< N1,N2,N3,N4,na >\r
+\r
+    : plus< plus< plus< N1,N2 >, N3>, N4>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , plus\r
+        , ( N1, N2, N3, N4, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3\r
+    >\r
+struct plus< N1,N2,N3,na,na >\r
+\r
+    : plus< plus< N1,N2 >, N3>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , plus\r
+        , ( N1, N2, N3, na, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2\r
+    >\r
+struct plus< N1,N2,na,na,na >\r
+    : plus_impl<\r
+          typename plus_tag<N1>::type\r
+        , typename plus_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , plus\r
+        , ( N1, N2, na, na, na )\r
+        )\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 5, plus)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+template<>\r
+struct plus_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : integral_c<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value\r
+                  + BOOST_MPL_AUX_VALUE_WKND(N2)::value\r
+                )\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..df25a69
--- /dev/null
@@ -0,0 +1,11 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/quote.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
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 (file)
index 0000000..5907002
--- /dev/null
@@ -0,0 +1,295 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/reverse_fold_impl.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+/// forward declaration\r
+\r
+template<\r
+      long N\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_fold_impl;\r
+\r
+template< long N >\r
+struct reverse_fold_chunk;\r
+\r
+template<> struct reverse_fold_chunk<0>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename BackwardOp\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State fwd_state0;\r
+        typedef fwd_state0 bkwd_state0;\r
+        typedef bkwd_state0 state;\r
+        typedef iter0 iterator;\r
+    };\r
+};\r
+\r
+template<> struct reverse_fold_chunk<1>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename BackwardOp\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State fwd_state0;\r
+        typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;\r
+        typedef typename mpl::next<iter0>::type iter1;\r
+        \r
+\r
+        typedef fwd_state1 bkwd_state1;\r
+        typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;\r
+        typedef bkwd_state0 state;\r
+        typedef iter1 iterator;\r
+    };\r
+};\r
+\r
+template<> struct reverse_fold_chunk<2>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename BackwardOp\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State fwd_state0;\r
+        typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;\r
+        typedef typename mpl::next<iter0>::type iter1;\r
+        typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;\r
+        typedef typename mpl::next<iter1>::type iter2;\r
+        \r
+\r
+        typedef fwd_state2 bkwd_state2;\r
+        typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;\r
+        typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;\r
+        \r
+\r
+        typedef bkwd_state0 state;\r
+        typedef iter2 iterator;\r
+    };\r
+};\r
+\r
+template<> struct reverse_fold_chunk<3>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename BackwardOp\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State fwd_state0;\r
+        typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;\r
+        typedef typename mpl::next<iter0>::type iter1;\r
+        typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;\r
+        typedef typename mpl::next<iter1>::type iter2;\r
+        typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;\r
+        typedef typename mpl::next<iter2>::type iter3;\r
+        \r
+\r
+        typedef fwd_state3 bkwd_state3;\r
+        typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;\r
+        typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;\r
+        typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;\r
+        \r
+\r
+        typedef bkwd_state0 state;\r
+        typedef iter3 iterator;\r
+    };\r
+};\r
+\r
+template<> struct reverse_fold_chunk<4>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename BackwardOp\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State fwd_state0;\r
+        typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;\r
+        typedef typename mpl::next<iter0>::type iter1;\r
+        typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;\r
+        typedef typename mpl::next<iter1>::type iter2;\r
+        typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;\r
+        typedef typename mpl::next<iter2>::type iter3;\r
+        typedef typename apply2< ForwardOp, fwd_state3, typename deref<iter3>::type >::type fwd_state4;\r
+        typedef typename mpl::next<iter3>::type iter4;\r
+        \r
+\r
+        typedef fwd_state4 bkwd_state4;\r
+        typedef typename apply2< BackwardOp, bkwd_state4, typename deref<iter3>::type >::type bkwd_state3;\r
+        typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;\r
+        typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;\r
+        typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;\r
+        \r
+\r
+        typedef bkwd_state0 state;\r
+        typedef iter4 iterator;\r
+    };\r
+};\r
+\r
+template< long N >\r
+struct reverse_fold_chunk\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename BackwardOp\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State fwd_state0;\r
+        typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;\r
+        typedef typename mpl::next<iter0>::type iter1;\r
+        typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;\r
+        typedef typename mpl::next<iter1>::type iter2;\r
+        typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;\r
+        typedef typename mpl::next<iter2>::type iter3;\r
+        typedef typename apply2< ForwardOp, fwd_state3, typename deref<iter3>::type >::type fwd_state4;\r
+        typedef typename mpl::next<iter3>::type iter4;\r
+        \r
+\r
+        typedef reverse_fold_impl<\r
+              ( (N - 4) < 0 ? 0 : N - 4 )\r
+            , iter4\r
+            , Last\r
+            , fwd_state4\r
+            , BackwardOp\r
+            , ForwardOp\r
+            > nested_chunk;\r
+\r
+        typedef typename nested_chunk::state bkwd_state4;\r
+        typedef typename apply2< BackwardOp, bkwd_state4, typename deref<iter3>::type >::type bkwd_state3;\r
+        typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;\r
+        typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;\r
+        typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;\r
+        \r
+\r
+        typedef bkwd_state0 state;\r
+        typedef typename nested_chunk::iterator iterator;\r
+    };\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_fold_step;\r
+\r
+template<\r
+      typename Last\r
+    , typename State\r
+    >\r
+struct reverse_fold_null_step\r
+{\r
+    typedef Last iterator;\r
+    typedef State state;\r
+};\r
+\r
+template<>\r
+struct reverse_fold_chunk< -1 >\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename BackwardOp\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename if_<\r
+              typename is_same< First,Last >::type\r
+            , reverse_fold_null_step< Last,State >\r
+            , reverse_fold_step< First,Last,State,BackwardOp,ForwardOp >\r
+            >::type res_;\r
+\r
+        typedef typename res_::state state;\r
+        typedef typename res_::iterator iterator;\r
+    };\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_fold_step\r
+{\r
+    typedef reverse_fold_chunk< -1 >::template result_<\r
+          typename mpl::next<First>::type\r
+        , Last\r
+        , typename apply2<ForwardOp,State, typename deref<First>::type>::type\r
+        , BackwardOp\r
+        , ForwardOp\r
+        > nested_step;\r
+\r
+    typedef typename apply2<\r
+          BackwardOp\r
+        , typename nested_step::state\r
+        , typename deref<First>::type\r
+        >::type state;\r
+\r
+    typedef typename nested_step::iterator iterator;\r
+};\r
+\r
+template<\r
+      long N\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_fold_impl\r
+    : reverse_fold_chunk<N>\r
+        ::template result_< First,Last,State,BackwardOp,ForwardOp >\r
+{\r
+};\r
+\r
+}}}\r
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 (file)
index 0000000..b85b2f2
--- /dev/null
@@ -0,0 +1,295 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/reverse_iter_fold_impl.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+/// forward declaration\r
+\r
+template<\r
+      long N\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_iter_fold_impl;\r
+\r
+template< long N >\r
+struct reverse_iter_fold_chunk;\r
+\r
+template<> struct reverse_iter_fold_chunk<0>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename BackwardOp\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State fwd_state0;\r
+        typedef fwd_state0 bkwd_state0;\r
+        typedef bkwd_state0 state;\r
+        typedef iter0 iterator;\r
+    };\r
+};\r
+\r
+template<> struct reverse_iter_fold_chunk<1>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename BackwardOp\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State fwd_state0;\r
+        typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;\r
+        typedef typename mpl::next<iter0>::type iter1;\r
+        \r
+\r
+        typedef fwd_state1 bkwd_state1;\r
+        typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;\r
+        typedef bkwd_state0 state;\r
+        typedef iter1 iterator;\r
+    };\r
+};\r
+\r
+template<> struct reverse_iter_fold_chunk<2>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename BackwardOp\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State fwd_state0;\r
+        typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;\r
+        typedef typename mpl::next<iter0>::type iter1;\r
+        typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;\r
+        typedef typename mpl::next<iter1>::type iter2;\r
+        \r
+\r
+        typedef fwd_state2 bkwd_state2;\r
+        typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;\r
+        typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;\r
+        \r
+\r
+        typedef bkwd_state0 state;\r
+        typedef iter2 iterator;\r
+    };\r
+};\r
+\r
+template<> struct reverse_iter_fold_chunk<3>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename BackwardOp\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State fwd_state0;\r
+        typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;\r
+        typedef typename mpl::next<iter0>::type iter1;\r
+        typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;\r
+        typedef typename mpl::next<iter1>::type iter2;\r
+        typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;\r
+        typedef typename mpl::next<iter2>::type iter3;\r
+        \r
+\r
+        typedef fwd_state3 bkwd_state3;\r
+        typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;\r
+        typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;\r
+        typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;\r
+        \r
+\r
+        typedef bkwd_state0 state;\r
+        typedef iter3 iterator;\r
+    };\r
+};\r
+\r
+template<> struct reverse_iter_fold_chunk<4>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename BackwardOp\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State fwd_state0;\r
+        typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;\r
+        typedef typename mpl::next<iter0>::type iter1;\r
+        typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;\r
+        typedef typename mpl::next<iter1>::type iter2;\r
+        typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;\r
+        typedef typename mpl::next<iter2>::type iter3;\r
+        typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4;\r
+        typedef typename mpl::next<iter3>::type iter4;\r
+        \r
+\r
+        typedef fwd_state4 bkwd_state4;\r
+        typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3;\r
+        typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;\r
+        typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;\r
+        typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;\r
+        \r
+\r
+        typedef bkwd_state0 state;\r
+        typedef iter4 iterator;\r
+    };\r
+};\r
+\r
+template< long N >\r
+struct reverse_iter_fold_chunk\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename BackwardOp\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State fwd_state0;\r
+        typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;\r
+        typedef typename mpl::next<iter0>::type iter1;\r
+        typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;\r
+        typedef typename mpl::next<iter1>::type iter2;\r
+        typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;\r
+        typedef typename mpl::next<iter2>::type iter3;\r
+        typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4;\r
+        typedef typename mpl::next<iter3>::type iter4;\r
+        \r
+\r
+        typedef reverse_iter_fold_impl<\r
+              ( (N - 4) < 0 ? 0 : N - 4 )\r
+            , iter4\r
+            , Last\r
+            , fwd_state4\r
+            , BackwardOp\r
+            , ForwardOp\r
+            > nested_chunk;\r
+\r
+        typedef typename nested_chunk::state bkwd_state4;\r
+        typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3;\r
+        typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;\r
+        typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;\r
+        typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;\r
+        \r
+\r
+        typedef bkwd_state0 state;\r
+        typedef typename nested_chunk::iterator iterator;\r
+    };\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_iter_fold_step;\r
+\r
+template<\r
+      typename Last\r
+    , typename State\r
+    >\r
+struct reverse_iter_fold_null_step\r
+{\r
+    typedef Last iterator;\r
+    typedef State state;\r
+};\r
+\r
+template<>\r
+struct reverse_iter_fold_chunk< -1 >\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename BackwardOp\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename if_<\r
+              typename is_same< First,Last >::type\r
+            , reverse_iter_fold_null_step< Last,State >\r
+            , reverse_iter_fold_step< First,Last,State,BackwardOp,ForwardOp >\r
+            >::type res_;\r
+\r
+        typedef typename res_::state state;\r
+        typedef typename res_::iterator iterator;\r
+    };\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_iter_fold_step\r
+{\r
+    typedef reverse_iter_fold_chunk< -1 >::template result_<\r
+          typename mpl::next<First>::type\r
+        , Last\r
+        , typename apply2< ForwardOp,State,First >::type\r
+        , BackwardOp\r
+        , ForwardOp\r
+        > nested_step;\r
+\r
+    typedef typename apply2<\r
+          BackwardOp\r
+        , typename nested_step::state\r
+        , First\r
+        >::type state;\r
+\r
+    typedef typename nested_step::iterator iterator;\r
+};\r
+\r
+template<\r
+      long N\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_iter_fold_impl\r
+    : reverse_iter_fold_chunk<N>\r
+        ::template result_< First,Last,State,BackwardOp,ForwardOp >\r
+{\r
+};\r
+\r
+}}}\r
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 (file)
index 0000000..b7e3f0b
--- /dev/null
@@ -0,0 +1,323 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/set.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na\r
+    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na\r
+    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na\r
+    , typename T12 = na, typename T13 = na, typename T14 = na\r
+    , typename T15 = na, typename T16 = na, typename T17 = na\r
+    , typename T18 = na, typename T19 = na\r
+    >\r
+struct set;\r
+\r
+template<\r
+     \r
+    >\r
+struct set<\r
+          na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set0<  >\r
+{\r
+    typedef set0<  >::type type;\r
+};\r
+\r
+template<\r
+      typename T0\r
+    >\r
+struct set<\r
+          T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set1<T0>\r
+{\r
+    typedef typename set1<T0>::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1\r
+    >\r
+struct set<\r
+          T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set2< T0,T1 >\r
+{\r
+    typedef typename set2< T0,T1 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2\r
+    >\r
+struct set<\r
+          T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set3< T0,T1,T2 >\r
+{\r
+    typedef typename set3< T0,T1,T2 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set4< T0,T1,T2,T3 >\r
+{\r
+    typedef typename set4< T0,T1,T2,T3 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set5< T0,T1,T2,T3,T4 >\r
+{\r
+    typedef typename set5< T0,T1,T2,T3,T4 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set6< T0,T1,T2,T3,T4,T5 >\r
+{\r
+    typedef typename set6< T0,T1,T2,T3,T4,T5 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set7< T0,T1,T2,T3,T4,T5,T6 >\r
+{\r
+    typedef typename set7< T0,T1,T2,T3,T4,T5,T6 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set8< T0,T1,T2,T3,T4,T5,T6,T7 >\r
+{\r
+    typedef typename set8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >\r
+{\r
+    typedef typename set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >\r
+{\r
+    typedef typename set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >\r
+{\r
+    typedef typename set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na\r
+        , na, na, na, na\r
+        >\r
+    : set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >\r
+{\r
+    typedef typename set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na\r
+        , na, na, na, na\r
+        >\r
+    : set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >\r
+{\r
+    typedef typename set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na\r
+        , na, na, na, na\r
+        >\r
+    : set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >\r
+{\r
+    typedef typename set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na\r
+        , na, na, na, na\r
+        >\r
+    : set15<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        >\r
+{\r
+    typedef typename set15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, na, na, na, na\r
+        >\r
+    : set16<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15\r
+        >\r
+{\r
+    typedef typename set16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, na, na, na\r
+        >\r
+    : set17<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16\r
+        >\r
+{\r
+    typedef typename set17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, na, na\r
+        >\r
+    : set18<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17\r
+        >\r
+{\r
+    typedef typename set18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18, na\r
+        >\r
+    : set19<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18\r
+        >\r
+{\r
+    typedef typename set19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;\r
+};\r
+\r
+/// primary template (not a specialization!)\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    >\r
+struct set\r
+    : set20<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18, T19\r
+        >\r
+{\r
+    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;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..acdf68b
--- /dev/null
@@ -0,0 +1,328 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/set_c.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX\r
+    , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX\r
+    , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX\r
+    , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX\r
+    , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX\r
+    , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX\r
+    , long C18 = LONG_MAX, long C19 = LONG_MAX\r
+    >\r
+struct set_c;\r
+\r
+template<\r
+      typename T\r
+    >\r
+struct set_c<\r
+          T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set0_c<T>\r
+{\r
+    typedef typename set0_c<T>::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0\r
+    >\r
+struct set_c<\r
+          T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set1_c< T,C0 >\r
+{\r
+    typedef typename set1_c< T,C0 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1\r
+    >\r
+struct set_c<\r
+          T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set2_c< T,C0,C1 >\r
+{\r
+    typedef typename set2_c< T,C0,C1 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set3_c< T,C0,C1,C2 >\r
+{\r
+    typedef typename set3_c< T,C0,C1,C2 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set4_c< T,C0,C1,C2,C3 >\r
+{\r
+    typedef typename set4_c< T,C0,C1,C2,C3 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set5_c< T,C0,C1,C2,C3,C4 >\r
+{\r
+    typedef typename set5_c< T,C0,C1,C2,C3,C4 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set6_c< T,C0,C1,C2,C3,C4,C5 >\r
+{\r
+    typedef typename set6_c< T,C0,C1,C2,C3,C4,C5 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set7_c< T,C0,C1,C2,C3,C4,C5,C6 >\r
+{\r
+    typedef typename set7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX\r
+        >\r
+    : set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >\r
+{\r
+    typedef typename set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX\r
+        >\r
+    : set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >\r
+{\r
+    typedef typename set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX\r
+        >\r
+    : set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >\r
+{\r
+    typedef typename set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >\r
+{\r
+    typedef typename set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >\r
+{\r
+    typedef typename set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >\r
+{\r
+    typedef typename set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set14_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13\r
+        >\r
+{\r
+    typedef typename set14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set15_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        >\r
+{\r
+    typedef typename set15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set16_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15\r
+        >\r
+{\r
+    typedef typename set16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set17_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16\r
+        >\r
+{\r
+    typedef typename set17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16, long C17\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17, LONG_MAX, LONG_MAX\r
+        >\r
+    : set18_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17\r
+        >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16, long C17, long C18\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17, C18, LONG_MAX\r
+        >\r
+    : set19_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17, C18\r
+        >\r
+{\r
+    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;\r
+};\r
+\r
+/// primary template (not a specialization!)\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+    >\r
+struct set_c\r
+    : set20_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17, C18, C19\r
+        >\r
+{\r
+    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;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..81679a1
--- /dev/null
@@ -0,0 +1,99 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright Jaap Suter 2003\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/shift_left.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct shift_left_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< shift_left_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< shift_left_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct shift_left_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct shift_left_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct shift_left_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct shift_left_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct shift_left\r
+\r
+    : shift_left_impl<\r
+          typename shift_left_tag<N1>::type\r
+        , typename shift_left_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_left, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_left)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+template<>\r
+struct shift_left_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N, typename S > struct apply\r
+\r
+        : integral_c<\r
+              typename N::value_type\r
+            , ( BOOST_MPL_AUX_VALUE_WKND(N)::value\r
+                  << BOOST_MPL_AUX_VALUE_WKND(S)::value\r
+                )\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..55b7821
--- /dev/null
@@ -0,0 +1,99 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright Jaap Suter 2003\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/shift_right.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct shift_right_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< shift_right_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< shift_right_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct shift_right_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct shift_right_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct shift_right_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct shift_right_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct shift_right\r
+\r
+    : shift_right_impl<\r
+          typename shift_right_tag<N1>::type\r
+        , typename shift_right_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_right, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+template<>\r
+struct shift_right_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N, typename S > struct apply\r
+\r
+        : integral_c<\r
+              typename N::value_type\r
+            , ( BOOST_MPL_AUX_VALUE_WKND(N)::value\r
+                  >> BOOST_MPL_AUX_VALUE_WKND(S)::value\r
+                )\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..b81c2d3
--- /dev/null
@@ -0,0 +1,40 @@
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/template_arity.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+template< bool >\r
+struct template_arity_impl\r
+{\r
+    template< typename F > struct result_\r
+        : mpl::int_< -1 >\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct template_arity_impl<true>\r
+{\r
+    template< typename F > struct result_\r
+        : F::arity\r
+    {\r
+    };\r
+};\r
+\r
+template< typename F >\r
+struct template_arity\r
+    : template_arity_impl< ::boost::mpl::aux::has_rebind<F>::value >\r
+        ::template result_<F>\r
+{\r
+};\r
+\r
+}}}\r
+\r
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 (file)
index 0000000..46e68cb
--- /dev/null
@@ -0,0 +1,146 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/times.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct times_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< times_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< times_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct times_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct times_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct times_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct times_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    , typename N3 = na, typename N4 = na, typename N5 = na\r
+    >\r
+struct times\r
+    : times< times< times< times< N1,N2 >, N3>, N4>, N5>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , times\r
+        , ( N1, N2, N3, N4, N5 )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3, typename N4\r
+    >\r
+struct times< N1,N2,N3,N4,na >\r
+\r
+    : times< times< times< N1,N2 >, N3>, N4>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , times\r
+        , ( N1, N2, N3, N4, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3\r
+    >\r
+struct times< N1,N2,N3,na,na >\r
+\r
+    : times< times< N1,N2 >, N3>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , times\r
+        , ( N1, N2, N3, na, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2\r
+    >\r
+struct times< N1,N2,na,na,na >\r
+    : times_impl<\r
+          typename times_tag<N1>::type\r
+        , typename times_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , times\r
+        , ( N1, N2, na, na, na )\r
+        )\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 5, times)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+template<>\r
+struct times_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : integral_c<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value\r
+                  * BOOST_MPL_AUX_VALUE_WKND(N2)::value\r
+                )\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..b93ae9a
--- /dev/null
@@ -0,0 +1,97 @@
+\r
+// Copyright Aleksey Gurtovoy 2002-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/unpack_args.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+\r
+template< int size, typename F, typename Args >\r
+struct unpack_args_impl;\r
+\r
+template< typename F, typename Args >\r
+struct unpack_args_impl< 0,F,Args >\r
+    : apply0<\r
+          F\r
+        >\r
+{\r
+};\r
+\r
+template< typename F, typename Args >\r
+struct unpack_args_impl< 1,F,Args >\r
+    : apply1<\r
+          F\r
+        , typename at_c< Args,0 >::type\r
+        >\r
+{\r
+};\r
+\r
+template< typename F, typename Args >\r
+struct unpack_args_impl< 2,F,Args >\r
+    : apply2<\r
+          F\r
+        , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type\r
+        >\r
+{\r
+};\r
+\r
+template< typename F, typename Args >\r
+struct unpack_args_impl< 3,F,Args >\r
+    : apply3<\r
+          F\r
+        , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type\r
+        , typename at_c< Args,2 >::type\r
+        >\r
+{\r
+};\r
+\r
+template< typename F, typename Args >\r
+struct unpack_args_impl< 4,F,Args >\r
+    : apply4<\r
+          F\r
+        , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type\r
+        , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type\r
+        >\r
+{\r
+};\r
+\r
+template< typename F, typename Args >\r
+struct unpack_args_impl< 5,F,Args >\r
+    : apply5<\r
+          F\r
+        , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type\r
+        , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type\r
+        , typename at_c< Args,4 >::type\r
+        >\r
+{\r
+};\r
+\r
+}\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct unpack_args\r
+{\r
+    template< typename Args > struct apply\r
+    {\r
+        typedef typename aux::unpack_args_impl<\r
+              size<Args>::value\r
+            , F\r
+            , Args\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args)\r
+\r
+}}\r
+\r
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 (file)
index 0000000..d1da8b1
--- /dev/null
@@ -0,0 +1,323 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/vector.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na\r
+    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na\r
+    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na\r
+    , typename T12 = na, typename T13 = na, typename T14 = na\r
+    , typename T15 = na, typename T16 = na, typename T17 = na\r
+    , typename T18 = na, typename T19 = na\r
+    >\r
+struct vector;\r
+\r
+template<\r
+     \r
+    >\r
+struct vector<\r
+          na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector0<  >\r
+{\r
+    typedef vector0<  >::type type;\r
+};\r
+\r
+template<\r
+      typename T0\r
+    >\r
+struct vector<\r
+          T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector1<T0>\r
+{\r
+    typedef typename vector1<T0>::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1\r
+    >\r
+struct vector<\r
+          T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector2< T0,T1 >\r
+{\r
+    typedef typename vector2< T0,T1 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2\r
+    >\r
+struct vector<\r
+          T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector3< T0,T1,T2 >\r
+{\r
+    typedef typename vector3< T0,T1,T2 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector4< T0,T1,T2,T3 >\r
+{\r
+    typedef typename vector4< T0,T1,T2,T3 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector5< T0,T1,T2,T3,T4 >\r
+{\r
+    typedef typename vector5< T0,T1,T2,T3,T4 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector6< T0,T1,T2,T3,T4,T5 >\r
+{\r
+    typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector7< T0,T1,T2,T3,T4,T5,T6 >\r
+{\r
+    typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector8< T0,T1,T2,T3,T4,T5,T6,T7 >\r
+{\r
+    typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >\r
+{\r
+    typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >\r
+{\r
+    typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >\r
+{\r
+    typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na\r
+        , na, na, na, na\r
+        >\r
+    : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >\r
+{\r
+    typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na\r
+        , na, na, na, na\r
+        >\r
+    : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >\r
+{\r
+    typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na\r
+        , na, na, na, na\r
+        >\r
+    : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >\r
+{\r
+    typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na\r
+        , na, na, na, na\r
+        >\r
+    : vector15<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        >\r
+{\r
+    typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, na, na, na, na\r
+        >\r
+    : vector16<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15\r
+        >\r
+{\r
+    typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, na, na, na\r
+        >\r
+    : vector17<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16\r
+        >\r
+{\r
+    typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, na, na\r
+        >\r
+    : vector18<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17\r
+        >\r
+{\r
+    typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18, na\r
+        >\r
+    : vector19<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18\r
+        >\r
+{\r
+    typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;\r
+};\r
+\r
+/// primary template (not a specialization!)\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    >\r
+struct vector\r
+    : vector20<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18, T19\r
+        >\r
+{\r
+    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;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..ce33340
--- /dev/null
@@ -0,0 +1,309 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/vector_c.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX\r
+    , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX\r
+    , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX\r
+    , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX\r
+    , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX\r
+    , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX\r
+    , long C18 = LONG_MAX, long C19 = LONG_MAX\r
+    >\r
+struct vector_c;\r
+\r
+template<\r
+      typename T\r
+    >\r
+struct vector_c<\r
+          T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : vector0_c<T>\r
+{\r
+    typedef typename vector0_c<T>::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0\r
+    >\r
+struct vector_c<\r
+          T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : vector1_c< T, T(C0) >\r
+{\r
+    typedef typename vector1_c< T, T(C0) >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : vector2_c< T, T(C0), T(C1) >\r
+{\r
+    typedef typename vector2_c< T, T(C0), T(C1) >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : vector3_c< T, T(C0), T(C1), T(C2) >\r
+{\r
+    typedef typename vector3_c< T, T(C0), T(C1), T(C2) >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : vector4_c< T, T(C0), T(C1), T(C2), T(C3) >\r
+{\r
+    typedef typename vector4_c< T, T(C0), T(C1), T(C2), T(C3) >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) >\r
+{\r
+    typedef typename vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) >\r
+{\r
+    typedef typename vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) >\r
+{\r
+    typedef typename vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX\r
+        >\r
+    : vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) >\r
+{\r
+    typedef typename vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX\r
+        >\r
+    : vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX\r
+        >\r
+    : vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : 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) >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : 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) >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : 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) >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : 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) >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : 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) >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : 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) >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : 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) >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16, long C17\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17, LONG_MAX, LONG_MAX\r
+        >\r
+    : 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) >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16, long C17, long C18\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17, C18, LONG_MAX\r
+        >\r
+    : 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) >\r
+{\r
+    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;\r
+};\r
+\r
+/// primary template (not a specialization!)\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+    >\r
+struct vector_c\r
+    : 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) >\r
+{\r
+    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;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..d4666be
--- /dev/null
@@ -0,0 +1,97 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "advance_backward.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+template< long N > struct advance_backward;\r
+template<>\r
+struct advance_backward<0>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef iter0 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct advance_backward<1>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef typename prior<iter0>::type iter1;\r
+        typedef iter1 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct advance_backward<2>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef typename prior<iter0>::type iter1;\r
+        typedef typename prior<iter1>::type iter2;\r
+        typedef iter2 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct advance_backward<3>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef typename prior<iter0>::type iter1;\r
+        typedef typename prior<iter1>::type iter2;\r
+        typedef typename prior<iter2>::type iter3;\r
+        typedef iter3 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct advance_backward<4>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef typename prior<iter0>::type iter1;\r
+        typedef typename prior<iter1>::type iter2;\r
+        typedef typename prior<iter2>::type iter3;\r
+        typedef typename prior<iter3>::type iter4;\r
+        typedef iter4 type;\r
+    };\r
+};\r
+\r
+template< long N >\r
+struct advance_backward\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef typename apply_wrap1<\r
+              advance_backward<4>\r
+            , Iterator\r
+            >::type chunk_result_;\r
+\r
+        typedef typename apply_wrap1<\r
+              advance_backward<(\r
+                (N - 4) < 0\r
+                    ? 0\r
+                    : N - 4\r
+                    )>\r
+            , chunk_result_\r
+            >::type type;\r
+    };\r
+};\r
+\r
+}}}\r
+\r
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 (file)
index 0000000..1424fc1
--- /dev/null
@@ -0,0 +1,97 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "advance_forward.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+template< long N > struct advance_forward;\r
+template<>\r
+struct advance_forward<0>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef iter0 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct advance_forward<1>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef typename next<iter0>::type iter1;\r
+        typedef iter1 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct advance_forward<2>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef typename next<iter0>::type iter1;\r
+        typedef typename next<iter1>::type iter2;\r
+        typedef iter2 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct advance_forward<3>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef typename next<iter0>::type iter1;\r
+        typedef typename next<iter1>::type iter2;\r
+        typedef typename next<iter2>::type iter3;\r
+        typedef iter3 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct advance_forward<4>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef typename next<iter0>::type iter1;\r
+        typedef typename next<iter1>::type iter2;\r
+        typedef typename next<iter2>::type iter3;\r
+        typedef typename next<iter3>::type iter4;\r
+        typedef iter4 type;\r
+    };\r
+};\r
+\r
+template< long N >\r
+struct advance_forward\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef typename apply_wrap1<\r
+              advance_forward<4>\r
+            , Iterator\r
+            >::type chunk_result_;\r
+\r
+        typedef typename apply_wrap1<\r
+              advance_forward<(\r
+                (N - 4) < 0\r
+                    ? 0\r
+                    : N - 4\r
+                    )>\r
+            , chunk_result_\r
+            >::type type;\r
+    };\r
+};\r
+\r
+}}}\r
+\r
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 (file)
index 0000000..3ab3249
--- /dev/null
@@ -0,0 +1,69 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "and.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+\r
+template< bool C_, typename T1, typename T2, typename T3, typename T4 >\r
+struct and_impl\r
+    : false_\r
+{\r
+};\r
+\r
+template< typename T1, typename T2, typename T3, typename T4 >\r
+struct and_impl< true,T1,T2,T3,T4 >\r
+    : and_impl<\r
+          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value\r
+        , T2, T3, T4\r
+        , true_\r
+        >\r
+{\r
+};\r
+\r
+template<>\r
+struct and_impl<\r
+          true\r
+        , true_, true_, true_, true_\r
+        >\r
+    : true_\r
+{\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(T1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(T2)\r
+    , typename T3 = true_, typename T4 = true_, typename T5 = true_\r
+    >\r
+struct and_\r
+\r
+    : aux::and_impl<\r
+          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value\r
+        , T2, T3, T4, T5\r
+        >\r
+\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , and_\r
+        , ( T1, T2, T3, T4, T5)\r
+        )\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(\r
+      2\r
+    , 5\r
+    , and_\r
+    )\r
+\r
+}}\r
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 (file)
index 0000000..844db68
--- /dev/null
@@ -0,0 +1,169 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "apply.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct apply0\r
+\r
+    : apply_wrap0<\r
+          typename lambda<F>::type\r
+       \r
+        >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          1\r
+        , apply0\r
+        , (F )\r
+        )\r
+};\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct apply< F,na,na,na,na,na >\r
+    : apply0<F>\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct apply1\r
+\r
+    : apply_wrap1<\r
+          typename lambda<F>::type\r
+        , T1\r
+        >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          2\r
+        , apply1\r
+        , (F, T1)\r
+        )\r
+};\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct apply< F,T1,na,na,na,na >\r
+    : apply1< F,T1 >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+struct apply2\r
+\r
+    : apply_wrap2<\r
+          typename lambda<F>::type\r
+        , T1, T2\r
+        >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          3\r
+        , apply2\r
+        , (F, T1, T2)\r
+        )\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+struct apply< F,T1,T2,na,na,na >\r
+    : apply2< F,T1,T2 >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+struct apply3\r
+\r
+    : apply_wrap3<\r
+          typename lambda<F>::type\r
+        , T1, T2, T3\r
+        >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          4\r
+        , apply3\r
+        , (F, T1, T2, T3)\r
+        )\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+struct apply< F,T1,T2,T3,na,na >\r
+    : apply3< F,T1,T2,T3 >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct apply4\r
+\r
+    : apply_wrap4<\r
+          typename lambda<F>::type\r
+        , T1, T2, T3, T4\r
+        >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , apply4\r
+        , (F, T1, T2, T3, T4)\r
+        )\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct apply< F,T1,T2,T3,T4,na >\r
+    : apply4< F,T1,T2,T3,T4 >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct apply5\r
+\r
+    : apply_wrap5<\r
+          typename lambda<F>::type\r
+        , T1, T2, T3, T4, T5\r
+        >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          6\r
+        , apply5\r
+        , (F, T1, T2, T3, T4, T5)\r
+        )\r
+};\r
+\r
+/// primary template (not a specialization!)\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct apply\r
+    : apply5< F,T1,T2,T3,T4,T5 >\r
+{\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..80a2835
--- /dev/null
@@ -0,0 +1,52 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "apply_fwd.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename F, typename T1 = na, typename T2 = na, typename T3 = na\r
+    , typename T4 = na, typename T5 = na\r
+    >\r
+struct apply;\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct apply0;\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct apply1;\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+struct apply2;\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+struct apply3;\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct apply4;\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct apply5;\r
+\r
+}}\r
+\r
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 (file)
index 0000000..8e385bd
--- /dev/null
@@ -0,0 +1,456 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2008\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "apply_wrap.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      int N, typename F\r
+    >\r
+struct apply_wrap_impl0;\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct apply_wrap_impl0<\r
+          0\r
+        , F\r
+       \r
+        >\r
+{\r
+    typedef typename F::template apply<\r
+         \r
+/// since the defaults are "lost", we have to pass *something* even for nullary\r
+/// metafunction classes\r
+        na\r
+        > type;\r
+};\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct apply_wrap_impl0<\r
+          1\r
+        , F\r
+       \r
+        >\r
+{\r
+    typedef typename F::template apply<\r
+         \r
+        na\r
+        > type;\r
+};\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct apply_wrap_impl0<\r
+          2\r
+        , F\r
+       \r
+        >\r
+{\r
+    typedef typename F::template apply<\r
+         \r
+        na, na\r
+\r
+        > type;\r
+};\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct apply_wrap_impl0<\r
+          3\r
+        , F\r
+       \r
+        >\r
+{\r
+    typedef typename F::template apply<\r
+         \r
+        na, na, na\r
+\r
+        > type;\r
+};\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct apply_wrap_impl0<\r
+          4\r
+        , F\r
+       \r
+        >\r
+{\r
+    typedef typename F::template apply<\r
+         \r
+        na, na, na, na\r
+\r
+        > type;\r
+};\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct apply_wrap_impl0<\r
+          5\r
+        , F\r
+       \r
+        >\r
+{\r
+    typedef typename F::template apply<\r
+         \r
+        na, na, na, na, na\r
+\r
+        > type;\r
+};\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct apply_wrap0\r
+    : apply_wrap_impl0<\r
+          ::boost::mpl::aux::arity< F,0 >::value\r
+        , F\r
+       \r
+        >::type\r
+{\r
+};\r
+\r
+template<\r
+      int N, typename F, typename T1\r
+    >\r
+struct apply_wrap_impl1;\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct apply_wrap_impl1<\r
+          1\r
+        , F\r
+        , T1\r
+        >\r
+{\r
+    typedef typename F::template apply<\r
+          T1\r
+        > type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct apply_wrap_impl1<\r
+          2\r
+        , F\r
+        , T1\r
+        >\r
+{\r
+    typedef typename F::template apply<\r
+          T1\r
+        , na\r
+\r
+        > type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct apply_wrap_impl1<\r
+          3\r
+        , F\r
+        , T1\r
+        >\r
+{\r
+    typedef typename F::template apply<\r
+          T1\r
+        , na, na\r
+\r
+        > type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct apply_wrap_impl1<\r
+          4\r
+        , F\r
+        , T1\r
+        >\r
+{\r
+    typedef typename F::template apply<\r
+          T1\r
+        , na, na, na\r
+\r
+        > type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct apply_wrap_impl1<\r
+          5\r
+        , F\r
+        , T1\r
+        >\r
+{\r
+    typedef typename F::template apply<\r
+          T1\r
+        , na, na, na, na\r
+\r
+        > type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct apply_wrap1\r
+    : apply_wrap_impl1<\r
+          ::boost::mpl::aux::arity< F,1 >::value\r
+        , F\r
+        , T1\r
+        >::type\r
+{\r
+};\r
+\r
+template<\r
+      int N, typename F, typename T1, typename T2\r
+    >\r
+struct apply_wrap_impl2;\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+struct apply_wrap_impl2<\r
+          2\r
+        , F\r
+        , T1, T2\r
+        >\r
+{\r
+    typedef typename F::template apply<\r
+          T1, T2\r
+\r
+        > type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+struct apply_wrap_impl2<\r
+          3\r
+        , F\r
+        , T1, T2\r
+        >\r
+{\r
+    typedef typename F::template apply<\r
+          T1, T2\r
+\r
+        , na\r
+\r
+        > type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+struct apply_wrap_impl2<\r
+          4\r
+        , F\r
+        , T1, T2\r
+        >\r
+{\r
+    typedef typename F::template apply<\r
+          T1, T2\r
+\r
+        , na, na\r
+\r
+        > type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+struct apply_wrap_impl2<\r
+          5\r
+        , F\r
+        , T1, T2\r
+        >\r
+{\r
+    typedef typename F::template apply<\r
+          T1, T2\r
+\r
+        , na, na, na\r
+\r
+        > type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+struct apply_wrap2\r
+    : apply_wrap_impl2<\r
+          ::boost::mpl::aux::arity< F,2 >::value\r
+        , F\r
+        , T1, T2\r
+        >::type\r
+{\r
+};\r
+\r
+template<\r
+      int N, typename F, typename T1, typename T2, typename T3\r
+    >\r
+struct apply_wrap_impl3;\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+struct apply_wrap_impl3<\r
+          3\r
+        , F\r
+        , T1, T2, T3\r
+        >\r
+{\r
+    typedef typename F::template apply<\r
+          T1, T2, T3\r
+\r
+        > type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+struct apply_wrap_impl3<\r
+          4\r
+        , F\r
+        , T1, T2, T3\r
+        >\r
+{\r
+    typedef typename F::template apply<\r
+          T1, T2, T3\r
+\r
+        , na\r
+\r
+        > type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+struct apply_wrap_impl3<\r
+          5\r
+        , F\r
+        , T1, T2, T3\r
+        >\r
+{\r
+    typedef typename F::template apply<\r
+          T1, T2, T3\r
+\r
+        , na, na\r
+\r
+        > type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+struct apply_wrap3\r
+    : apply_wrap_impl3<\r
+          ::boost::mpl::aux::arity< F,3 >::value\r
+        , F\r
+        , T1, T2, T3\r
+        >::type\r
+{\r
+};\r
+\r
+template<\r
+      int N, typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct apply_wrap_impl4;\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct apply_wrap_impl4<\r
+          4\r
+        , F\r
+        , T1, T2, T3, T4\r
+        >\r
+{\r
+    typedef typename F::template apply<\r
+          T1, T2, T3, T4\r
+\r
+        > type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct apply_wrap_impl4<\r
+          5\r
+        , F\r
+        , T1, T2, T3, T4\r
+        >\r
+{\r
+    typedef typename F::template apply<\r
+          T1, T2, T3, T4\r
+\r
+        , na\r
+\r
+        > type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct apply_wrap4\r
+    : apply_wrap_impl4<\r
+          ::boost::mpl::aux::arity< F,4 >::value\r
+        , F\r
+        , T1, T2, T3, T4\r
+        >::type\r
+{\r
+};\r
+\r
+template<\r
+      int N, typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct apply_wrap_impl5;\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct apply_wrap_impl5<\r
+          5\r
+        , F\r
+        , T1, T2, T3, T4, T5\r
+        >\r
+{\r
+    typedef typename F::template apply<\r
+          T1, T2, T3, T4, T5\r
+\r
+        > type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct apply_wrap5\r
+    : apply_wrap_impl5<\r
+          ::boost::mpl::aux::arity< F,5 >::value\r
+        , F\r
+        , T1, T2, T3, T4, T5\r
+        >::type\r
+{\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..c87ef00
--- /dev/null
@@ -0,0 +1,117 @@
+\r
+// Copyright Peter Dimov 2001-2002\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "arg.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+template<> struct arg< -1 >\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value  = -1);\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)\r
+\r
+    template<\r
+          typename U1, typename U2, typename U3, typename U4, typename U5\r
+        >\r
+    struct apply\r
+    {\r
+        typedef U1 type;\r
+        BOOST_MPL_AUX_ASSERT_NOT_NA(type);\r
+    };\r
+};\r
+\r
+template<> struct arg<1>\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value  = 1);\r
+    typedef arg<2> next;\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)\r
+\r
+    template<\r
+          typename U1, typename U2, typename U3, typename U4, typename U5\r
+        >\r
+    struct apply\r
+    {\r
+        typedef U1 type;\r
+        BOOST_MPL_AUX_ASSERT_NOT_NA(type);\r
+    };\r
+};\r
+\r
+template<> struct arg<2>\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value  = 2);\r
+    typedef arg<3> next;\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)\r
+\r
+    template<\r
+          typename U1, typename U2, typename U3, typename U4, typename U5\r
+        >\r
+    struct apply\r
+    {\r
+        typedef U2 type;\r
+        BOOST_MPL_AUX_ASSERT_NOT_NA(type);\r
+    };\r
+};\r
+\r
+template<> struct arg<3>\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value  = 3);\r
+    typedef arg<4> next;\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)\r
+\r
+    template<\r
+          typename U1, typename U2, typename U3, typename U4, typename U5\r
+        >\r
+    struct apply\r
+    {\r
+        typedef U3 type;\r
+        BOOST_MPL_AUX_ASSERT_NOT_NA(type);\r
+    };\r
+};\r
+\r
+template<> struct arg<4>\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value  = 4);\r
+    typedef arg<5> next;\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)\r
+\r
+    template<\r
+          typename U1, typename U2, typename U3, typename U4, typename U5\r
+        >\r
+    struct apply\r
+    {\r
+        typedef U4 type;\r
+        BOOST_MPL_AUX_ASSERT_NOT_NA(type);\r
+    };\r
+};\r
+\r
+template<> struct arg<5>\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value  = 5);\r
+    typedef arg<6> next;\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)\r
+\r
+    template<\r
+          typename U1, typename U2, typename U3, typename U4, typename U5\r
+        >\r
+    struct apply\r
+    {\r
+        typedef U5 type;\r
+        BOOST_MPL_AUX_ASSERT_NOT_NA(type);\r
+    };\r
+};\r
+\r
+BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg)\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
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 (file)
index 0000000..a525a9f
--- /dev/null
@@ -0,0 +1,300 @@
+\r
+// Copyright Peter Dimov 2001\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "basic_bind.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename T, typename U1, typename U2, typename U3, typename U4\r
+    , typename U5\r
+    >\r
+struct resolve_bind_arg\r
+{\r
+    typedef T type;\r
+};\r
+\r
+template<\r
+      int N, typename U1, typename U2, typename U3, typename U4, typename U5\r
+    >\r
+struct resolve_bind_arg< arg<N>, U1, U2, U3, U4, U5 >\r
+{\r
+    typedef typename apply_wrap5<mpl::arg<N>, U1, U2, U3, U4, U5>::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct bind0\r
+{\r
+    template<\r
+          typename U1, typename U2, typename U3, typename U4, typename U5\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;\r
+\r
+     public:\r
+        typedef typename apply_wrap0<\r
+              f_\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename U1, typename U2, typename U3, typename U4\r
+    , typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind0<F>, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind0<F> f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(1, bind0)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct bind1\r
+{\r
+    template<\r
+          typename U1, typename U2, typename U3, typename U4, typename U5\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;\r
+        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;\r
+\r
+     public:\r
+        typedef typename apply_wrap1<\r
+              f_\r
+            , typename t1::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename U1, typename U2, typename U3\r
+    , typename U4, typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind1< F,T1 >, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind1< F,T1 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(2, bind1)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+struct bind2\r
+{\r
+    template<\r
+          typename U1, typename U2, typename U3, typename U4, typename U5\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;\r
+        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;\r
+        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;\r
+\r
+     public:\r
+        typedef typename apply_wrap2<\r
+              f_\r
+            , typename t1::type, typename t2::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename U1, typename U2\r
+    , typename U3, typename U4, typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind2< F,T1,T2 >, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind2< F,T1,T2 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(3, bind2)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+struct bind3\r
+{\r
+    template<\r
+          typename U1, typename U2, typename U3, typename U4, typename U5\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;\r
+        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;\r
+        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;\r
+        typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;\r
+\r
+     public:\r
+        typedef typename apply_wrap3<\r
+              f_\r
+            , typename t1::type, typename t2::type, typename t3::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename U1\r
+    , typename U2, typename U3, typename U4, typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind3< F,T1,T2,T3 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(4, bind3)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct bind4\r
+{\r
+    template<\r
+          typename U1, typename U2, typename U3, typename U4, typename U5\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;\r
+        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;\r
+        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;\r
+        typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;\r
+        typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4;\r
+\r
+     public:\r
+        typedef typename apply_wrap4<\r
+              f_\r
+            , typename t1::type, typename t2::type, typename t3::type\r
+            , typename t4::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename U1, typename U2, typename U3, typename U4, typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind4< F,T1,T2,T3,T4 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(5, bind4)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct bind5\r
+{\r
+    template<\r
+          typename U1, typename U2, typename U3, typename U4, typename U5\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;\r
+        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;\r
+        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;\r
+        typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;\r
+        typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4;\r
+        typedef aux::resolve_bind_arg< T5,U1,U2,U3,U4,U5 > t5;\r
+\r
+     public:\r
+        typedef typename apply_wrap5<\r
+              f_\r
+            , typename t1::type, typename t2::type, typename t3::type\r
+            , typename t4::type, typename t5::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename U1, typename U2, typename U3, typename U4\r
+    , typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind5< F,T1,T2,T3,T4,T5 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(6, bind5)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)\r
+}}\r
+\r
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 (file)
index 0000000..e04f409
--- /dev/null
@@ -0,0 +1,397 @@
+\r
+// Copyright Peter Dimov 2001\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "bind.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename T, typename U1, typename U2, typename U3, typename U4\r
+    , typename U5\r
+    >\r
+struct resolve_bind_arg\r
+{\r
+    typedef T type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , typename Arg\r
+    >\r
+struct replace_unnamed_arg\r
+{\r
+    typedef Arg next;\r
+    typedef T type;\r
+};\r
+\r
+template<\r
+      typename Arg\r
+    >\r
+struct replace_unnamed_arg< arg< -1 >, Arg >\r
+{\r
+    typedef typename Arg::next next;\r
+    typedef Arg type;\r
+};\r
+\r
+template<\r
+      int N, typename U1, typename U2, typename U3, typename U4, typename U5\r
+    >\r
+struct resolve_bind_arg< arg<N>, U1, U2, U3, U4, U5 >\r
+{\r
+    typedef typename apply_wrap5<mpl::arg<N>, U1, U2, U3, U4, U5>::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct bind0\r
+{\r
+    template<\r
+          typename U1, typename U2, typename U3, typename U4, typename U5\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;\r
+        typedef typename r0::type a0;\r
+        typedef typename r0::next n1;\r
+        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;\r
+        ///\r
+     public:\r
+        typedef typename apply_wrap0<\r
+              f_\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename U1, typename U2, typename U3, typename U4\r
+    , typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind0<F>, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind0<F> f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(1, bind0)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct bind1\r
+{\r
+    template<\r
+          typename U1, typename U2, typename U3, typename U4, typename U5\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;\r
+        typedef typename r0::type a0;\r
+        typedef typename r0::next n1;\r
+        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T1,n1 > r1;\r
+        typedef typename r1::type a1;\r
+        typedef typename r1::next n2;\r
+        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;\r
+        ///\r
+     public:\r
+        typedef typename apply_wrap1<\r
+              f_\r
+            , typename t1::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename U1, typename U2, typename U3\r
+    , typename U4, typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind1< F,T1 >, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind1< F,T1 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(2, bind1)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+struct bind2\r
+{\r
+    template<\r
+          typename U1, typename U2, typename U3, typename U4, typename U5\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;\r
+        typedef typename r0::type a0;\r
+        typedef typename r0::next n1;\r
+        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T1,n1 > r1;\r
+        typedef typename r1::type a1;\r
+        typedef typename r1::next n2;\r
+        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T2,n2 > r2;\r
+        typedef typename r2::type a2;\r
+        typedef typename r2::next n3;\r
+        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;\r
+        ///\r
+     public:\r
+        typedef typename apply_wrap2<\r
+              f_\r
+            , typename t1::type, typename t2::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename U1, typename U2\r
+    , typename U3, typename U4, typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind2< F,T1,T2 >, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind2< F,T1,T2 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(3, bind2)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+struct bind3\r
+{\r
+    template<\r
+          typename U1, typename U2, typename U3, typename U4, typename U5\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;\r
+        typedef typename r0::type a0;\r
+        typedef typename r0::next n1;\r
+        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T1,n1 > r1;\r
+        typedef typename r1::type a1;\r
+        typedef typename r1::next n2;\r
+        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T2,n2 > r2;\r
+        typedef typename r2::type a2;\r
+        typedef typename r2::next n3;\r
+        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T3,n3 > r3;\r
+        typedef typename r3::type a3;\r
+        typedef typename r3::next n4;\r
+        typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;\r
+        ///\r
+     public:\r
+        typedef typename apply_wrap3<\r
+              f_\r
+            , typename t1::type, typename t2::type, typename t3::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename U1\r
+    , typename U2, typename U3, typename U4, typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind3< F,T1,T2,T3 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(4, bind3)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct bind4\r
+{\r
+    template<\r
+          typename U1, typename U2, typename U3, typename U4, typename U5\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;\r
+        typedef typename r0::type a0;\r
+        typedef typename r0::next n1;\r
+        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T1,n1 > r1;\r
+        typedef typename r1::type a1;\r
+        typedef typename r1::next n2;\r
+        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T2,n2 > r2;\r
+        typedef typename r2::type a2;\r
+        typedef typename r2::next n3;\r
+        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T3,n3 > r3;\r
+        typedef typename r3::type a3;\r
+        typedef typename r3::next n4;\r
+        typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T4,n4 > r4;\r
+        typedef typename r4::type a4;\r
+        typedef typename r4::next n5;\r
+        typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4;\r
+        ///\r
+     public:\r
+        typedef typename apply_wrap4<\r
+              f_\r
+            , typename t1::type, typename t2::type, typename t3::type\r
+            , typename t4::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename U1, typename U2, typename U3, typename U4, typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind4< F,T1,T2,T3,T4 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(5, bind4)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct bind5\r
+{\r
+    template<\r
+          typename U1, typename U2, typename U3, typename U4, typename U5\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;\r
+        typedef typename r0::type a0;\r
+        typedef typename r0::next n1;\r
+        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T1,n1 > r1;\r
+        typedef typename r1::type a1;\r
+        typedef typename r1::next n2;\r
+        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T2,n2 > r2;\r
+        typedef typename r2::type a2;\r
+        typedef typename r2::next n3;\r
+        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T3,n3 > r3;\r
+        typedef typename r3::type a3;\r
+        typedef typename r3::next n4;\r
+        typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T4,n4 > r4;\r
+        typedef typename r4::type a4;\r
+        typedef typename r4::next n5;\r
+        typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T5,n5 > r5;\r
+        typedef typename r5::type a5;\r
+        typedef typename r5::next n6;\r
+        typedef aux::resolve_bind_arg< a5,U1,U2,U3,U4,U5 > t5;\r
+        ///\r
+     public:\r
+        typedef typename apply_wrap5<\r
+              f_\r
+            , typename t1::type, typename t2::type, typename t3::type\r
+            , typename t4::type, typename t5::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename U1, typename U2, typename U3, typename U4\r
+    , typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind5< F,T1,T2,T3,T4,T5 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(6, bind5)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)\r
+}}\r
+\r
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 (file)
index 0000000..77802c5
--- /dev/null
@@ -0,0 +1,46 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "bind_fwd.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct bind0;\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct bind1;\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+struct bind2;\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+struct bind3;\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct bind4;\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct bind5;\r
+\r
+}}\r
+\r
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 (file)
index 0000000..da520a7
--- /dev/null
@@ -0,0 +1,147 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright Jaap Suter 2003\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "bitand.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct bitand_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< bitand_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< bitand_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct bitand_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct bitand_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct bitand_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct bitand_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    , typename N3 = na, typename N4 = na, typename N5 = na\r
+    >\r
+struct bitand_\r
+    : bitand_< bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>, N5>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , bitand_\r
+        , ( N1, N2, N3, N4, N5 )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3, typename N4\r
+    >\r
+struct bitand_< N1,N2,N3,N4,na >\r
+\r
+    : bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , bitand_\r
+        , ( N1, N2, N3, N4, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3\r
+    >\r
+struct bitand_< N1,N2,N3,na,na >\r
+\r
+    : bitand_< bitand_< N1,N2 >, N3>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , bitand_\r
+        , ( N1, N2, N3, na, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2\r
+    >\r
+struct bitand_< N1,N2,na,na,na >\r
+    : bitand_impl<\r
+          typename bitand_tag<N1>::type\r
+        , typename bitand_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , bitand_\r
+        , ( N1, N2, na, na, na )\r
+        )\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+template<>\r
+struct bitand_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : integral_c<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value\r
+                  & BOOST_MPL_AUX_VALUE_WKND(N2)::value\r
+                )\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..9c2e186
--- /dev/null
@@ -0,0 +1,147 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright Jaap Suter 2003\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "bitor.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct bitor_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< bitor_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< bitor_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct bitor_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct bitor_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct bitor_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct bitor_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    , typename N3 = na, typename N4 = na, typename N5 = na\r
+    >\r
+struct bitor_\r
+    : bitor_< bitor_< bitor_< bitor_< N1,N2 >, N3>, N4>, N5>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , bitor_\r
+        , ( N1, N2, N3, N4, N5 )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3, typename N4\r
+    >\r
+struct bitor_< N1,N2,N3,N4,na >\r
+\r
+    : bitor_< bitor_< bitor_< N1,N2 >, N3>, N4>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , bitor_\r
+        , ( N1, N2, N3, N4, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3\r
+    >\r
+struct bitor_< N1,N2,N3,na,na >\r
+\r
+    : bitor_< bitor_< N1,N2 >, N3>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , bitor_\r
+        , ( N1, N2, N3, na, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2\r
+    >\r
+struct bitor_< N1,N2,na,na,na >\r
+    : bitor_impl<\r
+          typename bitor_tag<N1>::type\r
+        , typename bitor_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , bitor_\r
+        , ( N1, N2, na, na, na )\r
+        )\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 5, bitor_)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+template<>\r
+struct bitor_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : integral_c<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value\r
+                  | BOOST_MPL_AUX_VALUE_WKND(N2)::value\r
+                )\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..b7f8ff4
--- /dev/null
@@ -0,0 +1,147 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright Jaap Suter 2003\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "bitxor.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct bitxor_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< bitxor_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< bitxor_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct bitxor_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct bitxor_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct bitxor_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct bitxor_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    , typename N3 = na, typename N4 = na, typename N5 = na\r
+    >\r
+struct bitxor_\r
+    : bitxor_< bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>, N5>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , bitxor_\r
+        , ( N1, N2, N3, N4, N5 )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3, typename N4\r
+    >\r
+struct bitxor_< N1,N2,N3,N4,na >\r
+\r
+    : bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , bitxor_\r
+        , ( N1, N2, N3, N4, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3\r
+    >\r
+struct bitxor_< N1,N2,N3,na,na >\r
+\r
+    : bitxor_< bitxor_< N1,N2 >, N3>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , bitxor_\r
+        , ( N1, N2, N3, na, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2\r
+    >\r
+struct bitxor_< N1,N2,na,na,na >\r
+    : bitxor_impl<\r
+          typename bitxor_tag<N1>::type\r
+        , typename bitxor_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , bitxor_\r
+        , ( N1, N2, na, na, na )\r
+        )\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+template<>\r
+struct bitxor_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : integral_c<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value\r
+                  ^ BOOST_MPL_AUX_VALUE_WKND(N2)::value\r
+                )\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..0b0de67
--- /dev/null
@@ -0,0 +1,323 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "deque.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na\r
+    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na\r
+    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na\r
+    , typename T12 = na, typename T13 = na, typename T14 = na\r
+    , typename T15 = na, typename T16 = na, typename T17 = na\r
+    , typename T18 = na, typename T19 = na\r
+    >\r
+struct deque;\r
+\r
+template<\r
+     \r
+    >\r
+struct deque<\r
+          na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector0<  >\r
+{\r
+    typedef vector0<  >::type type;\r
+};\r
+\r
+template<\r
+      typename T0\r
+    >\r
+struct deque<\r
+          T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector1<T0>\r
+{\r
+    typedef typename vector1<T0>::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1\r
+    >\r
+struct deque<\r
+          T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector2< T0,T1 >\r
+{\r
+    typedef typename vector2< T0,T1 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2\r
+    >\r
+struct deque<\r
+          T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector3< T0,T1,T2 >\r
+{\r
+    typedef typename vector3< T0,T1,T2 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector4< T0,T1,T2,T3 >\r
+{\r
+    typedef typename vector4< T0,T1,T2,T3 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector5< T0,T1,T2,T3,T4 >\r
+{\r
+    typedef typename vector5< T0,T1,T2,T3,T4 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector6< T0,T1,T2,T3,T4,T5 >\r
+{\r
+    typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector7< T0,T1,T2,T3,T4,T5,T6 >\r
+{\r
+    typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector8< T0,T1,T2,T3,T4,T5,T6,T7 >\r
+{\r
+    typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >\r
+{\r
+    typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >\r
+{\r
+    typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >\r
+{\r
+    typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na\r
+        , na, na, na, na\r
+        >\r
+    : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >\r
+{\r
+    typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na\r
+        , na, na, na, na\r
+        >\r
+    : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >\r
+{\r
+    typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na\r
+        , na, na, na, na\r
+        >\r
+    : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >\r
+{\r
+    typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na\r
+        , na, na, na, na\r
+        >\r
+    : vector15<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        >\r
+{\r
+    typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, na, na, na, na\r
+        >\r
+    : vector16<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15\r
+        >\r
+{\r
+    typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, na, na, na\r
+        >\r
+    : vector17<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16\r
+        >\r
+{\r
+    typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, na, na\r
+        >\r
+    : vector18<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17\r
+        >\r
+{\r
+    typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18, na\r
+        >\r
+    : vector19<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18\r
+        >\r
+{\r
+    typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;\r
+};\r
+\r
+/// primary template (not a specialization!)\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    >\r
+struct deque\r
+    : vector20<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18, T19\r
+        >\r
+{\r
+    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;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..74765f9
--- /dev/null
@@ -0,0 +1,146 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "divides.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct divides_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< divides_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< divides_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct divides_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct divides_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct divides_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct divides_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    , typename N3 = na, typename N4 = na, typename N5 = na\r
+    >\r
+struct divides\r
+    : divides< divides< divides< divides< N1,N2 >, N3>, N4>, N5>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , divides\r
+        , ( N1, N2, N3, N4, N5 )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3, typename N4\r
+    >\r
+struct divides< N1,N2,N3,N4,na >\r
+\r
+    : divides< divides< divides< N1,N2 >, N3>, N4>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , divides\r
+        , ( N1, N2, N3, N4, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3\r
+    >\r
+struct divides< N1,N2,N3,na,na >\r
+\r
+    : divides< divides< N1,N2 >, N3>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , divides\r
+        , ( N1, N2, N3, na, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2\r
+    >\r
+struct divides< N1,N2,na,na,na >\r
+    : divides_impl<\r
+          typename divides_tag<N1>::type\r
+        , typename divides_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , divides\r
+        , ( N1, N2, na, na, na )\r
+        )\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 5, divides)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+template<>\r
+struct divides_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : integral_c<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value\r
+                  / BOOST_MPL_AUX_VALUE_WKND(N2)::value\r
+                )\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..6933512
--- /dev/null
@@ -0,0 +1,94 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "equal_to.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct equal_to_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct equal_to_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct equal_to_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct equal_to_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct equal_to_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct equal_to\r
+\r
+    : equal_to_impl<\r
+          typename equal_to_tag<N1>::type\r
+        , typename equal_to_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, equal_to, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct equal_to_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value  == BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..6c5be57
--- /dev/null
@@ -0,0 +1,180 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "fold_impl.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+/// forward declaration\r
+\r
+template<\r
+      int N\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct fold_impl;\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct fold_impl< 0,First,Last,State,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State state0;\r
+    typedef state0 state;\r
+    typedef iter0 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct fold_impl< 1,First,Last,State,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State state0;\r
+    typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    \r
+\r
+    typedef state1 state;\r
+    typedef iter1 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct fold_impl< 2,First,Last,State,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State state0;\r
+    typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;\r
+    typedef typename mpl::next<iter1>::type iter2;\r
+    \r
+\r
+    typedef state2 state;\r
+    typedef iter2 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct fold_impl< 3,First,Last,State,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State state0;\r
+    typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;\r
+    typedef typename mpl::next<iter1>::type iter2;\r
+    typedef typename apply2< ForwardOp, state2, typename deref<iter2>::type >::type state3;\r
+    typedef typename mpl::next<iter2>::type iter3;\r
+    \r
+\r
+    typedef state3 state;\r
+    typedef iter3 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct fold_impl< 4,First,Last,State,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State state0;\r
+    typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;\r
+    typedef typename mpl::next<iter1>::type iter2;\r
+    typedef typename apply2< ForwardOp, state2, typename deref<iter2>::type >::type state3;\r
+    typedef typename mpl::next<iter2>::type iter3;\r
+    typedef typename apply2< ForwardOp, state3, typename deref<iter3>::type >::type state4;\r
+    typedef typename mpl::next<iter3>::type iter4;\r
+    \r
+\r
+    typedef state4 state;\r
+    typedef iter4 iterator;\r
+};\r
+\r
+template<\r
+      int N\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct fold_impl\r
+{\r
+    typedef fold_impl<\r
+          4\r
+        , First\r
+        , Last\r
+        , State\r
+        , ForwardOp\r
+        > chunk_;\r
+\r
+    typedef fold_impl<\r
+          ( (N - 4) < 0 ? 0 : N - 4 )\r
+        , typename chunk_::iterator\r
+        , Last\r
+        , typename chunk_::state\r
+        , ForwardOp\r
+        > res_;\r
+\r
+    typedef typename res_::state state;\r
+    typedef typename res_::iterator iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct fold_impl< -1,First,Last,State,ForwardOp >\r
+    : fold_impl<\r
+          -1\r
+        , typename mpl::next<First>::type\r
+        , Last\r
+        , typename apply2<ForwardOp,State, typename deref<First>::type>::type\r
+        , ForwardOp\r
+        >\r
+{\r
+};\r
+\r
+template<\r
+      typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct fold_impl< -1,Last,Last,State,ForwardOp >\r
+{\r
+    typedef State state;\r
+    typedef Last iterator;\r
+};\r
+\r
+}}}\r
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 (file)
index 0000000..d987a99
--- /dev/null
@@ -0,0 +1,558 @@
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "full_lambda.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+\r
+template<\r
+      bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false\r
+    , bool C5 = false\r
+    >\r
+struct lambda_or\r
+    : true_\r
+{\r
+};\r
+\r
+template<>\r
+struct lambda_or< false,false,false,false,false >\r
+    : false_\r
+{\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename T\r
+    , typename Tag\r
+    , typename Arity\r
+    >\r
+struct lambda\r
+{\r
+    typedef false_ is_le;\r
+    typedef T result_;\r
+    typedef T type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    >\r
+struct is_lambda_expression\r
+    : lambda<T>::is_le\r
+{\r
+};\r
+\r
+template< int N, typename Tag >\r
+struct lambda< arg<N>,Tag, int_< -1 > >\r
+{\r
+    typedef true_ is_le;\r
+    typedef mpl::arg<N> result_; // qualified for the sake of MIPSpro 7.41\r
+    typedef mpl::protect<result_> type;\r
+};\r
+\r
+template<\r
+      typename F\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          bind0<F>\r
+        , Tag\r
+        , int_<1>\r
+        >\r
+{\r
+    typedef false_ is_le;\r
+    typedef bind0<\r
+          F\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename IsLE, typename Tag\r
+    , template< typename P1 > class F\r
+    , typename L1\r
+    >\r
+struct le_result1\r
+{\r
+    typedef F<\r
+          typename L1::type\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+template<\r
+      typename Tag\r
+    , template< typename P1 > class F\r
+    , typename L1\r
+    >\r
+struct le_result1< true_,Tag,F,L1 >\r
+{\r
+    typedef bind1<\r
+          quote1< F,Tag >\r
+        , typename L1::result_\r
+        > result_;\r
+\r
+    typedef mpl::protect<result_> type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      template< typename P1 > class F\r
+    , typename T1\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          F<T1>\r
+        , Tag\r
+        , int_<1>\r
+        >\r
+{\r
+    typedef lambda< T1,Tag > l1;\r
+    typedef typename l1::is_le is_le1;\r
+    typedef typename aux::lambda_or<\r
+          is_le1::value\r
+        >::type is_le;\r
+\r
+    typedef aux::le_result1<\r
+          is_le, Tag, F, l1\r
+        > le_result_;\r
+\r
+    typedef typename le_result_::result_ result_;\r
+    typedef typename le_result_::type type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          bind1< F,T1 >\r
+        , Tag\r
+        , int_<2>\r
+        >\r
+{\r
+    typedef false_ is_le;\r
+    typedef bind1<\r
+          F\r
+        , T1\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename IsLE, typename Tag\r
+    , template< typename P1, typename P2 > class F\r
+    , typename L1, typename L2\r
+    >\r
+struct le_result2\r
+{\r
+    typedef F<\r
+          typename L1::type, typename L2::type\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+template<\r
+      typename Tag\r
+    , template< typename P1, typename P2 > class F\r
+    , typename L1, typename L2\r
+    >\r
+struct le_result2< true_,Tag,F,L1,L2 >\r
+{\r
+    typedef bind2<\r
+          quote2< F,Tag >\r
+        , typename L1::result_, typename L2::result_\r
+        > result_;\r
+\r
+    typedef mpl::protect<result_> type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      template< typename P1, typename P2 > class F\r
+    , typename T1, typename T2\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          F< T1,T2 >\r
+        , Tag\r
+        , int_<2>\r
+        >\r
+{\r
+    typedef lambda< T1,Tag > l1;\r
+    typedef lambda< T2,Tag > l2;\r
+    \r
+    typedef typename l1::is_le is_le1;\r
+    typedef typename l2::is_le is_le2;\r
+    \r
+\r
+    typedef typename aux::lambda_or<\r
+          is_le1::value, is_le2::value\r
+        >::type is_le;\r
+\r
+    typedef aux::le_result2<\r
+          is_le, Tag, F, l1, l2\r
+        > le_result_;\r
+\r
+    typedef typename le_result_::result_ result_;\r
+    typedef typename le_result_::type type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          bind2< F,T1,T2 >\r
+        , Tag\r
+        , int_<3>\r
+        >\r
+{\r
+    typedef false_ is_le;\r
+    typedef bind2<\r
+          F\r
+        , T1, T2\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename IsLE, typename Tag\r
+    , template< typename P1, typename P2, typename P3 > class F\r
+    , typename L1, typename L2, typename L3\r
+    >\r
+struct le_result3\r
+{\r
+    typedef F<\r
+          typename L1::type, typename L2::type, typename L3::type\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+template<\r
+      typename Tag\r
+    , template< typename P1, typename P2, typename P3 > class F\r
+    , typename L1, typename L2, typename L3\r
+    >\r
+struct le_result3< true_,Tag,F,L1,L2,L3 >\r
+{\r
+    typedef bind3<\r
+          quote3< F,Tag >\r
+        , typename L1::result_, typename L2::result_, typename L3::result_\r
+        > result_;\r
+\r
+    typedef mpl::protect<result_> type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      template< typename P1, typename P2, typename P3 > class F\r
+    , typename T1, typename T2, typename T3\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          F< T1,T2,T3 >\r
+        , Tag\r
+        , int_<3>\r
+        >\r
+{\r
+    typedef lambda< T1,Tag > l1;\r
+    typedef lambda< T2,Tag > l2;\r
+    typedef lambda< T3,Tag > l3;\r
+    \r
+    typedef typename l1::is_le is_le1;\r
+    typedef typename l2::is_le is_le2;\r
+    typedef typename l3::is_le is_le3;\r
+    \r
+\r
+    typedef typename aux::lambda_or<\r
+          is_le1::value, is_le2::value, is_le3::value\r
+        >::type is_le;\r
+\r
+    typedef aux::le_result3<\r
+          is_le, Tag, F, l1, l2, l3\r
+        > le_result_;\r
+\r
+    typedef typename le_result_::result_ result_;\r
+    typedef typename le_result_::type type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          bind3< F,T1,T2,T3 >\r
+        , Tag\r
+        , int_<4>\r
+        >\r
+{\r
+    typedef false_ is_le;\r
+    typedef bind3<\r
+          F\r
+        , T1, T2, T3\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename IsLE, typename Tag\r
+    , template< typename P1, typename P2, typename P3, typename P4 > class F\r
+    , typename L1, typename L2, typename L3, typename L4\r
+    >\r
+struct le_result4\r
+{\r
+    typedef F<\r
+          typename L1::type, typename L2::type, typename L3::type\r
+        , typename L4::type\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+template<\r
+      typename Tag\r
+    , template< typename P1, typename P2, typename P3, typename P4 > class F\r
+    , typename L1, typename L2, typename L3, typename L4\r
+    >\r
+struct le_result4< true_,Tag,F,L1,L2,L3,L4 >\r
+{\r
+    typedef bind4<\r
+          quote4< F,Tag >\r
+        , typename L1::result_, typename L2::result_, typename L3::result_\r
+        , typename L4::result_\r
+        > result_;\r
+\r
+    typedef mpl::protect<result_> type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      template< typename P1, typename P2, typename P3, typename P4 > class F\r
+    , typename T1, typename T2, typename T3, typename T4\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          F< T1,T2,T3,T4 >\r
+        , Tag\r
+        , int_<4>\r
+        >\r
+{\r
+    typedef lambda< T1,Tag > l1;\r
+    typedef lambda< T2,Tag > l2;\r
+    typedef lambda< T3,Tag > l3;\r
+    typedef lambda< T4,Tag > l4;\r
+    \r
+    typedef typename l1::is_le is_le1;\r
+    typedef typename l2::is_le is_le2;\r
+    typedef typename l3::is_le is_le3;\r
+    typedef typename l4::is_le is_le4;\r
+    \r
+\r
+    typedef typename aux::lambda_or<\r
+          is_le1::value, is_le2::value, is_le3::value, is_le4::value\r
+        >::type is_le;\r
+\r
+    typedef aux::le_result4<\r
+          is_le, Tag, F, l1, l2, l3, l4\r
+        > le_result_;\r
+\r
+    typedef typename le_result_::result_ result_;\r
+    typedef typename le_result_::type type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          bind4< F,T1,T2,T3,T4 >\r
+        , Tag\r
+        , int_<5>\r
+        >\r
+{\r
+    typedef false_ is_le;\r
+    typedef bind4<\r
+          F\r
+        , T1, T2, T3, T4\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename IsLE, typename Tag\r
+    , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F\r
+    , typename L1, typename L2, typename L3, typename L4, typename L5\r
+    >\r
+struct le_result5\r
+{\r
+    typedef F<\r
+          typename L1::type, typename L2::type, typename L3::type\r
+        , typename L4::type, typename L5::type\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+template<\r
+      typename Tag\r
+    , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F\r
+    , typename L1, typename L2, typename L3, typename L4, typename L5\r
+    >\r
+struct le_result5< true_,Tag,F,L1,L2,L3,L4,L5 >\r
+{\r
+    typedef bind5<\r
+          quote5< F,Tag >\r
+        , typename L1::result_, typename L2::result_, typename L3::result_\r
+        , typename L4::result_, typename L5::result_\r
+        > result_;\r
+\r
+    typedef mpl::protect<result_> type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      template<\r
+          typename P1, typename P2, typename P3, typename P4\r
+        , typename P5\r
+        >\r
+      class F\r
+    , typename T1, typename T2, typename T3, typename T4, typename T5\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          F< T1,T2,T3,T4,T5 >\r
+        , Tag\r
+        , int_<5>\r
+        >\r
+{\r
+    typedef lambda< T1,Tag > l1;\r
+    typedef lambda< T2,Tag > l2;\r
+    typedef lambda< T3,Tag > l3;\r
+    typedef lambda< T4,Tag > l4;\r
+    typedef lambda< T5,Tag > l5;\r
+    \r
+    typedef typename l1::is_le is_le1;\r
+    typedef typename l2::is_le is_le2;\r
+    typedef typename l3::is_le is_le3;\r
+    typedef typename l4::is_le is_le4;\r
+    typedef typename l5::is_le is_le5;\r
+    \r
+\r
+    typedef typename aux::lambda_or<\r
+          is_le1::value, is_le2::value, is_le3::value, is_le4::value\r
+        , is_le5::value\r
+        >::type is_le;\r
+\r
+    typedef aux::le_result5<\r
+          is_le, Tag, F, l1, l2, l3, l4, l5\r
+        > le_result_;\r
+\r
+    typedef typename le_result_::result_ result_;\r
+    typedef typename le_result_::type type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          bind5< F,T1,T2,T3,T4,T5 >\r
+        , Tag\r
+        , int_<6>\r
+        >\r
+{\r
+    typedef false_ is_le;\r
+    typedef bind5<\r
+          F\r
+        , T1, T2, T3, T4, T5\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+/// special case for 'protect'\r
+template< typename T, typename Tag >\r
+struct lambda< mpl::protect<T>,Tag, int_<1> >\r
+{\r
+    typedef false_ is_le;\r
+    typedef mpl::protect<T> result_;\r
+    typedef result_ type;\r
+};\r
+\r
+/// specializations for the main 'bind' form\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          bind< F,T1,T2,T3,T4,T5 >\r
+        , Tag\r
+        , int_<6>\r
+        >\r
+{\r
+    typedef false_ is_le;\r
+    typedef bind< F,T1,T2,T3,T4,T5 > result_;\r
+    typedef result_ type;\r
+};\r
+\r
+template<\r
+      typename F\r
+    , typename Tag1\r
+    , typename Tag2\r
+    , typename Arity\r
+    >\r
+struct lambda<\r
+          lambda< F,Tag1,Arity >\r
+        , Tag2\r
+        , int_<3>\r
+        >\r
+{\r
+    typedef lambda< F,Tag2 > l1;\r
+    typedef lambda< Tag1,Tag2 > l2;\r
+    typedef typename l1::is_le is_le;\r
+    typedef bind1< quote1<aux::template_arity>, typename l1::result_ > arity_;\r
+    typedef lambda< typename if_< is_le,arity_,Arity >::type, Tag2 > l3;\r
+    typedef aux::le_result3<is_le, Tag2, mpl::lambda, l1, l2, l3> le_result_;\r
+    typedef typename le_result_::result_ result_;\r
+    typedef typename le_result_::type type;\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 3, lambda)\r
+\r
+}}\r
+\r
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 (file)
index 0000000..a9153e9
--- /dev/null
@@ -0,0 +1,94 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "greater.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct greater_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< greater_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< greater_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct greater_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct greater_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct greater_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct greater_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct greater\r
+\r
+    : greater_impl<\r
+          typename greater_tag<N1>::type\r
+        , typename greater_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, greater)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct greater_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value > BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..05d42d6
--- /dev/null
@@ -0,0 +1,94 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "greater_equal.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct greater_equal_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< greater_equal_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< greater_equal_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct greater_equal_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct greater_equal_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct greater_equal_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct greater_equal_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct greater_equal\r
+\r
+    : greater_equal_impl<\r
+          typename greater_equal_tag<N1>::type\r
+        , typename greater_equal_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater_equal, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct greater_equal_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..38fde94
--- /dev/null
@@ -0,0 +1,139 @@
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "inherit.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(T1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(T2)\r
+    >\r
+struct inherit2\r
+    : T1, T2\r
+{\r
+    typedef inherit2 type;\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1, T2))\r
+};\r
+\r
+template< typename T1 >\r
+struct inherit2< T1,empty_base >\r
+{\r
+    typedef T1 type;\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (T1, empty_base))\r
+};\r
+\r
+template< typename T2 >\r
+struct inherit2< empty_base,T2 >\r
+{\r
+    typedef T2 type;\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, T2))\r
+};\r
+\r
+template<>\r
+struct inherit2< empty_base,empty_base >\r
+{\r
+    typedef empty_base type;\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, empty_base))\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(2, inherit2)\r
+\r
+template<\r
+      typename T1 = na, typename T2 = na, typename T3 = na\r
+    >\r
+struct inherit3\r
+    : inherit2<\r
+          typename inherit2<\r
+              T1, T2\r
+            >::type\r
+        , T3\r
+        >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          3\r
+        , inherit3\r
+        , ( T1, T2, T3)\r
+        )\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(3, inherit3)\r
+\r
+template<\r
+      typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na\r
+    >\r
+struct inherit4\r
+    : inherit2<\r
+          typename inherit3<\r
+              T1, T2, T3\r
+            >::type\r
+        , T4\r
+        >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          4\r
+        , inherit4\r
+        , ( T1, T2, T3, T4)\r
+        )\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(4, inherit4)\r
+\r
+template<\r
+      typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na\r
+    , typename T5 = na\r
+    >\r
+struct inherit5\r
+    : inherit2<\r
+          typename inherit4<\r
+              T1, T2, T3, T4\r
+            >::type\r
+        , T5\r
+        >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , inherit5\r
+        , ( T1, T2, T3, T4, T5)\r
+        )\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(5, inherit5)\r
+\r
+/// primary template\r
+\r
+template<\r
+      typename T1 = empty_base, typename T2 = empty_base\r
+    , typename T3 = empty_base, typename T4 = empty_base\r
+    , typename T5 = empty_base\r
+    >\r
+struct inherit\r
+    : inherit5< T1,T2,T3,T4,T5 >\r
+{\r
+};\r
+\r
+template<>\r
+struct inherit< na,na,na,na,na >\r
+{\r
+    template<\r
+\r
+          typename T1, typename T2, typename T3, typename T4, typename T5\r
+\r
+        >\r
+    struct apply\r
+        : inherit< T1,T2,T3,T4,T5 >\r
+    {\r
+    };\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit)\r
+BOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit)\r
+BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit)\r
+}}\r
+\r
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 (file)
index 0000000..b93d59d
--- /dev/null
@@ -0,0 +1,133 @@
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+// Copyright David Abrahams 2001-2002\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "iter_fold_if_impl.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+template< typename Iterator, typename State >\r
+struct iter_fold_if_null_step\r
+{\r
+    typedef State state;\r
+    typedef Iterator iterator;\r
+};\r
+\r
+template< bool >\r
+struct iter_fold_if_step_impl\r
+{\r
+    template<\r
+          typename Iterator\r
+        , typename State\r
+        , typename StateOp\r
+        , typename IteratorOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename apply2< StateOp,State,Iterator >::type state;\r
+        typedef typename IteratorOp::type iterator;\r
+    };\r
+};\r
+\r
+template<>\r
+struct iter_fold_if_step_impl<false>\r
+{\r
+    template<\r
+          typename Iterator\r
+        , typename State\r
+        , typename StateOp\r
+        , typename IteratorOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef State state;\r
+        typedef Iterator iterator;\r
+    };\r
+};\r
+\r
+template<\r
+      typename Iterator\r
+    , typename State\r
+    , typename ForwardOp\r
+    , typename Predicate\r
+    >\r
+struct iter_fold_if_forward_step\r
+{\r
+    typedef typename apply2< Predicate,State,Iterator >::type not_last;\r
+    typedef typename iter_fold_if_step_impl<\r
+          BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value\r
+        >::template result_< Iterator,State,ForwardOp, mpl::next<Iterator> > impl_;\r
+\r
+    typedef typename impl_::state state;\r
+    typedef typename impl_::iterator iterator;\r
+};\r
+\r
+template<\r
+      typename Iterator\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename Predicate\r
+    >\r
+struct iter_fold_if_backward_step\r
+{\r
+    typedef typename apply2< Predicate,State,Iterator >::type not_last;\r
+    typedef typename iter_fold_if_step_impl<\r
+          BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value\r
+        >::template result_< Iterator,State,BackwardOp, identity<Iterator> > impl_;\r
+\r
+    typedef typename impl_::state state;\r
+    typedef typename impl_::iterator iterator;\r
+};\r
+\r
+template<\r
+      typename Iterator\r
+    , typename State\r
+    , typename ForwardOp\r
+    , typename ForwardPredicate\r
+    , typename BackwardOp\r
+    , typename BackwardPredicate\r
+    >\r
+struct iter_fold_if_impl\r
+{\r
+ private:\r
+    typedef iter_fold_if_null_step< Iterator,State > forward_step0;\r
+    typedef iter_fold_if_forward_step< typename forward_step0::iterator, typename forward_step0::state, ForwardOp, ForwardPredicate > forward_step1;\r
+    typedef iter_fold_if_forward_step< typename forward_step1::iterator, typename forward_step1::state, ForwardOp, ForwardPredicate > forward_step2;\r
+    typedef iter_fold_if_forward_step< typename forward_step2::iterator, typename forward_step2::state, ForwardOp, ForwardPredicate > forward_step3;\r
+    typedef iter_fold_if_forward_step< typename forward_step3::iterator, typename forward_step3::state, ForwardOp, ForwardPredicate > forward_step4;\r
+    \r
+\r
+    typedef typename if_<\r
+          typename forward_step4::not_last\r
+        , iter_fold_if_impl<\r
+              typename forward_step4::iterator\r
+            , typename forward_step4::state\r
+            , ForwardOp\r
+            , ForwardPredicate\r
+            , BackwardOp\r
+            , BackwardPredicate\r
+            >\r
+        , iter_fold_if_null_step<\r
+              typename forward_step4::iterator\r
+            , typename forward_step4::state\r
+            >\r
+        >::type backward_step4;\r
+\r
+    typedef iter_fold_if_backward_step< typename forward_step3::iterator, typename backward_step4::state, BackwardOp, BackwardPredicate > backward_step3;\r
+    typedef iter_fold_if_backward_step< typename forward_step2::iterator, typename backward_step3::state, BackwardOp, BackwardPredicate > backward_step2;\r
+    typedef iter_fold_if_backward_step< typename forward_step1::iterator, typename backward_step2::state, BackwardOp, BackwardPredicate > backward_step1;\r
+    typedef iter_fold_if_backward_step< typename forward_step0::iterator, typename backward_step1::state, BackwardOp, BackwardPredicate > backward_step0;\r
+    \r
+\r
+ public:\r
+    typedef typename backward_step0::state state;\r
+    typedef typename backward_step4::iterator iterator;\r
+};\r
+\r
+}}}\r
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 (file)
index 0000000..e6bc9b8
--- /dev/null
@@ -0,0 +1,180 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "iter_fold_impl.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+/// forward declaration\r
+\r
+template<\r
+      int N\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct iter_fold_impl;\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct iter_fold_impl< 0,First,Last,State,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State state0;\r
+    typedef state0 state;\r
+    typedef iter0 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct iter_fold_impl< 1,First,Last,State,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State state0;\r
+    typedef typename apply2< ForwardOp,state0,iter0 >::type state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    \r
+\r
+    typedef state1 state;\r
+    typedef iter1 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct iter_fold_impl< 2,First,Last,State,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State state0;\r
+    typedef typename apply2< ForwardOp,state0,iter0 >::type state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    typedef typename apply2< ForwardOp,state1,iter1 >::type state2;\r
+    typedef typename mpl::next<iter1>::type iter2;\r
+    \r
+\r
+    typedef state2 state;\r
+    typedef iter2 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct iter_fold_impl< 3,First,Last,State,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State state0;\r
+    typedef typename apply2< ForwardOp,state0,iter0 >::type state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    typedef typename apply2< ForwardOp,state1,iter1 >::type state2;\r
+    typedef typename mpl::next<iter1>::type iter2;\r
+    typedef typename apply2< ForwardOp,state2,iter2 >::type state3;\r
+    typedef typename mpl::next<iter2>::type iter3;\r
+    \r
+\r
+    typedef state3 state;\r
+    typedef iter3 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct iter_fold_impl< 4,First,Last,State,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State state0;\r
+    typedef typename apply2< ForwardOp,state0,iter0 >::type state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    typedef typename apply2< ForwardOp,state1,iter1 >::type state2;\r
+    typedef typename mpl::next<iter1>::type iter2;\r
+    typedef typename apply2< ForwardOp,state2,iter2 >::type state3;\r
+    typedef typename mpl::next<iter2>::type iter3;\r
+    typedef typename apply2< ForwardOp,state3,iter3 >::type state4;\r
+    typedef typename mpl::next<iter3>::type iter4;\r
+    \r
+\r
+    typedef state4 state;\r
+    typedef iter4 iterator;\r
+};\r
+\r
+template<\r
+      int N\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct iter_fold_impl\r
+{\r
+    typedef iter_fold_impl<\r
+          4\r
+        , First\r
+        , Last\r
+        , State\r
+        , ForwardOp\r
+        > chunk_;\r
+\r
+    typedef iter_fold_impl<\r
+          ( (N - 4) < 0 ? 0 : N - 4 )\r
+        , typename chunk_::iterator\r
+        , Last\r
+        , typename chunk_::state\r
+        , ForwardOp\r
+        > res_;\r
+\r
+    typedef typename res_::state state;\r
+    typedef typename res_::iterator iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct iter_fold_impl< -1,First,Last,State,ForwardOp >\r
+    : iter_fold_impl<\r
+          -1\r
+        , typename mpl::next<First>::type\r
+        , Last\r
+        , typename apply2< ForwardOp,State,First >::type\r
+        , ForwardOp\r
+        >\r
+{\r
+};\r
+\r
+template<\r
+      typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct iter_fold_impl< -1,Last,Last,State,ForwardOp >\r
+{\r
+    typedef State state;\r
+    typedef Last iterator;\r
+};\r
+\r
+}}}\r
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 (file)
index 0000000..2595766
--- /dev/null
@@ -0,0 +1,229 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "lambda_no_ctps.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+\r
+template<\r
+      bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false\r
+    , bool C5 = false\r
+    >\r
+struct lambda_or\r
+    : true_\r
+{\r
+};\r
+\r
+template<>\r
+struct lambda_or< false,false,false,false,false >\r
+    : false_\r
+{\r
+};\r
+\r
+template< typename Arity > struct lambda_impl\r
+{\r
+    template< typename T, typename Tag, typename Protect > struct result_\r
+    {\r
+        typedef T type;\r
+        typedef is_placeholder<T> is_le;\r
+    };\r
+};\r
+\r
+template<> struct lambda_impl< int_<1> >\r
+{\r
+    template< typename F, typename Tag, typename Protect > struct result_\r
+    {\r
+        typedef lambda< typename F::arg1, Tag, false_ > l1;\r
+        typedef typename l1::is_le is_le1;\r
+        typedef aux::lambda_or<\r
+              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value\r
+            > is_le;\r
+\r
+        typedef bind1<\r
+              typename F::rebind\r
+            , typename l1::type\r
+            > bind_;\r
+\r
+        typedef typename if_<\r
+              is_le\r
+            , if_< Protect, mpl::protect<bind_>, bind_ >\r
+            , identity<F>\r
+            >::type type_;\r
+\r
+        typedef typename type_::type type;\r
+    };\r
+};\r
+\r
+template<> struct lambda_impl< int_<2> >\r
+{\r
+    template< typename F, typename Tag, typename Protect > struct result_\r
+    {\r
+        typedef lambda< typename F::arg1, Tag, false_ > l1;\r
+        typedef lambda< typename F::arg2, Tag, false_ > l2;\r
+        \r
+        typedef typename l1::is_le is_le1;\r
+        typedef typename l2::is_le is_le2;\r
+        \r
+\r
+        typedef aux::lambda_or<\r
+              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value\r
+            > is_le;\r
+\r
+        typedef bind2<\r
+              typename F::rebind\r
+            , typename l1::type, typename l2::type\r
+            > bind_;\r
+\r
+        typedef typename if_<\r
+              is_le\r
+            , if_< Protect, mpl::protect<bind_>, bind_ >\r
+            , identity<F>\r
+            >::type type_;\r
+\r
+        typedef typename type_::type type;\r
+    };\r
+};\r
+\r
+template<> struct lambda_impl< int_<3> >\r
+{\r
+    template< typename F, typename Tag, typename Protect > struct result_\r
+    {\r
+        typedef lambda< typename F::arg1, Tag, false_ > l1;\r
+        typedef lambda< typename F::arg2, Tag, false_ > l2;\r
+        typedef lambda< typename F::arg3, Tag, false_ > l3;\r
+        \r
+        typedef typename l1::is_le is_le1;\r
+        typedef typename l2::is_le is_le2;\r
+        typedef typename l3::is_le is_le3;\r
+        \r
+\r
+        typedef aux::lambda_or<\r
+              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\r
+            > is_le;\r
+\r
+        typedef bind3<\r
+              typename F::rebind\r
+            , typename l1::type, typename l2::type, typename l3::type\r
+            > bind_;\r
+\r
+        typedef typename if_<\r
+              is_le\r
+            , if_< Protect, mpl::protect<bind_>, bind_ >\r
+            , identity<F>\r
+            >::type type_;\r
+\r
+        typedef typename type_::type type;\r
+    };\r
+};\r
+\r
+template<> struct lambda_impl< int_<4> >\r
+{\r
+    template< typename F, typename Tag, typename Protect > struct result_\r
+    {\r
+        typedef lambda< typename F::arg1, Tag, false_ > l1;\r
+        typedef lambda< typename F::arg2, Tag, false_ > l2;\r
+        typedef lambda< typename F::arg3, Tag, false_ > l3;\r
+        typedef lambda< typename F::arg4, Tag, false_ > l4;\r
+        \r
+        typedef typename l1::is_le is_le1;\r
+        typedef typename l2::is_le is_le2;\r
+        typedef typename l3::is_le is_le3;\r
+        typedef typename l4::is_le is_le4;\r
+        \r
+\r
+        typedef aux::lambda_or<\r
+              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\r
+            > is_le;\r
+\r
+        typedef bind4<\r
+              typename F::rebind\r
+            , typename l1::type, typename l2::type, typename l3::type\r
+            , typename l4::type\r
+            > bind_;\r
+\r
+        typedef typename if_<\r
+              is_le\r
+            , if_< Protect, mpl::protect<bind_>, bind_ >\r
+            , identity<F>\r
+            >::type type_;\r
+\r
+        typedef typename type_::type type;\r
+    };\r
+};\r
+\r
+template<> struct lambda_impl< int_<5> >\r
+{\r
+    template< typename F, typename Tag, typename Protect > struct result_\r
+    {\r
+        typedef lambda< typename F::arg1, Tag, false_ > l1;\r
+        typedef lambda< typename F::arg2, Tag, false_ > l2;\r
+        typedef lambda< typename F::arg3, Tag, false_ > l3;\r
+        typedef lambda< typename F::arg4, Tag, false_ > l4;\r
+        typedef lambda< typename F::arg5, Tag, false_ > l5;\r
+        \r
+        typedef typename l1::is_le is_le1;\r
+        typedef typename l2::is_le is_le2;\r
+        typedef typename l3::is_le is_le3;\r
+        typedef typename l4::is_le is_le4;\r
+        typedef typename l5::is_le is_le5;\r
+        \r
+\r
+        typedef aux::lambda_or<\r
+              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\r
+            > is_le;\r
+\r
+        typedef bind5<\r
+              typename F::rebind\r
+            , typename l1::type, typename l2::type, typename l3::type\r
+            , typename l4::type, typename l5::type\r
+            > bind_;\r
+\r
+        typedef typename if_<\r
+              is_le\r
+            , if_< Protect, mpl::protect<bind_>, bind_ >\r
+            , identity<F>\r
+            >::type type_;\r
+\r
+        typedef typename type_::type type;\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename T\r
+    , typename Tag\r
+    , typename Protect\r
+    >\r
+struct lambda\r
+{\r
+    /// Metafunction forwarding confuses MSVC 6.x\r
+    typedef typename aux::template_arity<T>::type arity_;\r
+    typedef typename aux::lambda_impl<arity_>\r
+        ::template result_< T,Tag,Protect > l_;\r
+\r
+    typedef typename l_::type type;\r
+    typedef typename l_::is_le is_le;\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect))\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(1, 3, lambda)\r
+\r
+template<\r
+      typename T\r
+    >\r
+struct is_lambda_expression\r
+    : lambda<T>::is_le\r
+{\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..b72f534
--- /dev/null
@@ -0,0 +1,94 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "less.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct less_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< less_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< less_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct less_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct less_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct less_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct less_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct less\r
+\r
+    : less_impl<\r
+          typename less_tag<N1>::type\r
+        , typename less_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, less)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct less_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N2)::value > BOOST_MPL_AUX_VALUE_WKND(N1)::value ) >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..a9362e2
--- /dev/null
@@ -0,0 +1,94 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "less_equal.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct less_equal_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< less_equal_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< less_equal_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct less_equal_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct less_equal_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct less_equal_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct less_equal_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct less_equal\r
+\r
+    : less_equal_impl<\r
+          typename less_equal_tag<N1>::type\r
+        , typename less_equal_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less_equal, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct less_equal_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value <= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..3340e91
--- /dev/null
@@ -0,0 +1,323 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "list.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na\r
+    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na\r
+    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na\r
+    , typename T12 = na, typename T13 = na, typename T14 = na\r
+    , typename T15 = na, typename T16 = na, typename T17 = na\r
+    , typename T18 = na, typename T19 = na\r
+    >\r
+struct list;\r
+\r
+template<\r
+     \r
+    >\r
+struct list<\r
+          na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list0<  >\r
+{\r
+    typedef list0<  >::type type;\r
+};\r
+\r
+template<\r
+      typename T0\r
+    >\r
+struct list<\r
+          T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list1<T0>\r
+{\r
+    typedef typename list1<T0>::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1\r
+    >\r
+struct list<\r
+          T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list2< T0,T1 >\r
+{\r
+    typedef typename list2< T0,T1 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2\r
+    >\r
+struct list<\r
+          T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list3< T0,T1,T2 >\r
+{\r
+    typedef typename list3< T0,T1,T2 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list4< T0,T1,T2,T3 >\r
+{\r
+    typedef typename list4< T0,T1,T2,T3 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list5< T0,T1,T2,T3,T4 >\r
+{\r
+    typedef typename list5< T0,T1,T2,T3,T4 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list6< T0,T1,T2,T3,T4,T5 >\r
+{\r
+    typedef typename list6< T0,T1,T2,T3,T4,T5 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list7< T0,T1,T2,T3,T4,T5,T6 >\r
+{\r
+    typedef typename list7< T0,T1,T2,T3,T4,T5,T6 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list8< T0,T1,T2,T3,T4,T5,T6,T7 >\r
+{\r
+    typedef typename list8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >\r
+{\r
+    typedef typename list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >\r
+{\r
+    typedef typename list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >\r
+{\r
+    typedef typename list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na\r
+        , na, na, na, na\r
+        >\r
+    : list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >\r
+{\r
+    typedef typename list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na\r
+        , na, na, na, na\r
+        >\r
+    : list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >\r
+{\r
+    typedef typename list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na\r
+        , na, na, na, na\r
+        >\r
+    : list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >\r
+{\r
+    typedef typename list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na\r
+        , na, na, na, na\r
+        >\r
+    : list15<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        >\r
+{\r
+    typedef typename list15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, na, na, na, na\r
+        >\r
+    : list16<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15\r
+        >\r
+{\r
+    typedef typename list16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, na, na, na\r
+        >\r
+    : list17<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16\r
+        >\r
+{\r
+    typedef typename list17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, na, na\r
+        >\r
+    : list18<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17\r
+        >\r
+{\r
+    typedef typename list18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18, na\r
+        >\r
+    : list19<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18\r
+        >\r
+{\r
+    typedef typename list19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;\r
+};\r
+\r
+/// primary template (not a specialization!)\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    >\r
+struct list\r
+    : list20<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18, T19\r
+        >\r
+{\r
+    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;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..1fc8a10
--- /dev/null
@@ -0,0 +1,328 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "list_c.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX\r
+    , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX\r
+    , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX\r
+    , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX\r
+    , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX\r
+    , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX\r
+    , long C18 = LONG_MAX, long C19 = LONG_MAX\r
+    >\r
+struct list_c;\r
+\r
+template<\r
+      typename T\r
+    >\r
+struct list_c<\r
+          T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list0_c<T>\r
+{\r
+    typedef typename list0_c<T>::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0\r
+    >\r
+struct list_c<\r
+          T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list1_c< T,C0 >\r
+{\r
+    typedef typename list1_c< T,C0 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1\r
+    >\r
+struct list_c<\r
+          T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list2_c< T,C0,C1 >\r
+{\r
+    typedef typename list2_c< T,C0,C1 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list3_c< T,C0,C1,C2 >\r
+{\r
+    typedef typename list3_c< T,C0,C1,C2 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list4_c< T,C0,C1,C2,C3 >\r
+{\r
+    typedef typename list4_c< T,C0,C1,C2,C3 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list5_c< T,C0,C1,C2,C3,C4 >\r
+{\r
+    typedef typename list5_c< T,C0,C1,C2,C3,C4 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list6_c< T,C0,C1,C2,C3,C4,C5 >\r
+{\r
+    typedef typename list6_c< T,C0,C1,C2,C3,C4,C5 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list7_c< T,C0,C1,C2,C3,C4,C5,C6 >\r
+{\r
+    typedef typename list7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX\r
+        >\r
+    : list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >\r
+{\r
+    typedef typename list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX\r
+        >\r
+    : list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >\r
+{\r
+    typedef typename list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX\r
+        >\r
+    : list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >\r
+{\r
+    typedef typename list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >\r
+{\r
+    typedef typename list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >\r
+{\r
+    typedef typename list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >\r
+{\r
+    typedef typename list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list14_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13\r
+        >\r
+{\r
+    typedef typename list14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list15_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        >\r
+{\r
+    typedef typename list15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list16_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15\r
+        >\r
+{\r
+    typedef typename list16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list17_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16\r
+        >\r
+{\r
+    typedef typename list17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16, long C17\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17, LONG_MAX, LONG_MAX\r
+        >\r
+    : list18_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17\r
+        >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16, long C17, long C18\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17, C18, LONG_MAX\r
+        >\r
+    : list19_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17, C18\r
+        >\r
+{\r
+    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;\r
+};\r
+\r
+/// primary template (not a specialization!)\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+    >\r
+struct list_c\r
+    : list20_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17, C18, C19\r
+        >\r
+{\r
+    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;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..fd678b4
--- /dev/null
@@ -0,0 +1,323 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "map.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na\r
+    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na\r
+    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na\r
+    , typename T12 = na, typename T13 = na, typename T14 = na\r
+    , typename T15 = na, typename T16 = na, typename T17 = na\r
+    , typename T18 = na, typename T19 = na\r
+    >\r
+struct map;\r
+\r
+template<\r
+     \r
+    >\r
+struct map<\r
+          na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map0<  >\r
+{\r
+    typedef map0<  >::type type;\r
+};\r
+\r
+template<\r
+      typename T0\r
+    >\r
+struct map<\r
+          T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map1<T0>\r
+{\r
+    typedef typename map1<T0>::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1\r
+    >\r
+struct map<\r
+          T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map2< T0,T1 >\r
+{\r
+    typedef typename map2< T0,T1 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2\r
+    >\r
+struct map<\r
+          T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map3< T0,T1,T2 >\r
+{\r
+    typedef typename map3< T0,T1,T2 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map4< T0,T1,T2,T3 >\r
+{\r
+    typedef typename map4< T0,T1,T2,T3 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map5< T0,T1,T2,T3,T4 >\r
+{\r
+    typedef typename map5< T0,T1,T2,T3,T4 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map6< T0,T1,T2,T3,T4,T5 >\r
+{\r
+    typedef typename map6< T0,T1,T2,T3,T4,T5 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map7< T0,T1,T2,T3,T4,T5,T6 >\r
+{\r
+    typedef typename map7< T0,T1,T2,T3,T4,T5,T6 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map8< T0,T1,T2,T3,T4,T5,T6,T7 >\r
+{\r
+    typedef typename map8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >\r
+{\r
+    typedef typename map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >\r
+{\r
+    typedef typename map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >\r
+{\r
+    typedef typename map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na\r
+        , na, na, na, na\r
+        >\r
+    : map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >\r
+{\r
+    typedef typename map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na\r
+        , na, na, na, na\r
+        >\r
+    : map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >\r
+{\r
+    typedef typename map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na\r
+        , na, na, na, na\r
+        >\r
+    : map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >\r
+{\r
+    typedef typename map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na\r
+        , na, na, na, na\r
+        >\r
+    : map15<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        >\r
+{\r
+    typedef typename map15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, na, na, na, na\r
+        >\r
+    : map16<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15\r
+        >\r
+{\r
+    typedef typename map16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, na, na, na\r
+        >\r
+    : map17<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16\r
+        >\r
+{\r
+    typedef typename map17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, na, na\r
+        >\r
+    : map18<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17\r
+        >\r
+{\r
+    typedef typename map18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18, na\r
+        >\r
+    : map19<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18\r
+        >\r
+{\r
+    typedef typename map19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;\r
+};\r
+\r
+/// primary template (not a specialization!)\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    >\r
+struct map\r
+    : map20<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18, T19\r
+        >\r
+{\r
+    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;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..c8f70d2
--- /dev/null
@@ -0,0 +1,146 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "minus.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct minus_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< minus_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< minus_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct minus_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct minus_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct minus_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct minus_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    , typename N3 = na, typename N4 = na, typename N5 = na\r
+    >\r
+struct minus\r
+    : minus< minus< minus< minus< N1,N2 >, N3>, N4>, N5>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , minus\r
+        , ( N1, N2, N3, N4, N5 )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3, typename N4\r
+    >\r
+struct minus< N1,N2,N3,N4,na >\r
+\r
+    : minus< minus< minus< N1,N2 >, N3>, N4>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , minus\r
+        , ( N1, N2, N3, N4, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3\r
+    >\r
+struct minus< N1,N2,N3,na,na >\r
+\r
+    : minus< minus< N1,N2 >, N3>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , minus\r
+        , ( N1, N2, N3, na, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2\r
+    >\r
+struct minus< N1,N2,na,na,na >\r
+    : minus_impl<\r
+          typename minus_tag<N1>::type\r
+        , typename minus_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , minus\r
+        , ( N1, N2, na, na, na )\r
+        )\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 5, minus)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+template<>\r
+struct minus_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : integral_c<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value\r
+                  - BOOST_MPL_AUX_VALUE_WKND(N2)::value\r
+                )\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..1d30682
--- /dev/null
@@ -0,0 +1,101 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "modulus.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct modulus_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< modulus_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< modulus_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct modulus_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct modulus_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct modulus_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct modulus_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct modulus\r
+\r
+    : modulus_impl<\r
+          typename modulus_tag<N1>::type\r
+        , typename modulus_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, modulus, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, modulus)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+template<>\r
+struct modulus_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : integral_c<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value\r
+                  % BOOST_MPL_AUX_VALUE_WKND(N2)::value\r
+                )\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..76a4152
--- /dev/null
@@ -0,0 +1,94 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "not_equal_to.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct not_equal_to_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< not_equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct not_equal_to_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct not_equal_to_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct not_equal_to_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct not_equal_to_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct not_equal_to\r
+\r
+    : not_equal_to_impl<\r
+          typename not_equal_to_tag<N1>::type\r
+        , typename not_equal_to_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, not_equal_to, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct not_equal_to_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value != BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..0a62060
--- /dev/null
@@ -0,0 +1,69 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "or.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+\r
+template< bool C_, typename T1, typename T2, typename T3, typename T4 >\r
+struct or_impl\r
+    : true_\r
+{\r
+};\r
+\r
+template< typename T1, typename T2, typename T3, typename T4 >\r
+struct or_impl< false,T1,T2,T3,T4 >\r
+    : or_impl<\r
+          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value\r
+        , T2, T3, T4\r
+        , false_\r
+        >\r
+{\r
+};\r
+\r
+template<>\r
+struct or_impl<\r
+          false\r
+        , false_, false_, false_, false_\r
+        >\r
+    : false_\r
+{\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(T1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(T2)\r
+    , typename T3 = false_, typename T4 = false_, typename T5 = false_\r
+    >\r
+struct or_\r
+\r
+    : aux::or_impl<\r
+          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value\r
+        , T2, T3, T4, T5\r
+        >\r
+\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , or_\r
+        , ( T1, T2, T3, T4, T5)\r
+        )\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(\r
+      2\r
+    , 5\r
+    , or_\r
+    )\r
+\r
+}}\r
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 (file)
index 0000000..ea973c8
--- /dev/null
@@ -0,0 +1,105 @@
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+// Copyright Peter Dimov 2001-2003\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "placeholders.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+typedef arg< -1 > _;\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+namespace boost { namespace mpl {\r
+\r
+BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_)\r
+\r
+namespace placeholders {\r
+using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_;\r
+}\r
+\r
+}}\r
+\r
+/// agurt, 17/mar/02: one more placeholder for the last 'apply#' \r
+/// specialization\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+typedef arg<1> _1;\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+namespace boost { namespace mpl {\r
+\r
+BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1)\r
+\r
+namespace placeholders {\r
+using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1;\r
+}\r
+\r
+}}\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+typedef arg<2> _2;\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+namespace boost { namespace mpl {\r
+\r
+BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2)\r
+\r
+namespace placeholders {\r
+using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2;\r
+}\r
+\r
+}}\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+typedef arg<3> _3;\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+namespace boost { namespace mpl {\r
+\r
+BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3)\r
+\r
+namespace placeholders {\r
+using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3;\r
+}\r
+\r
+}}\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+typedef arg<4> _4;\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+namespace boost { namespace mpl {\r
+\r
+BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4)\r
+\r
+namespace placeholders {\r
+using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4;\r
+}\r
+\r
+}}\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+typedef arg<5> _5;\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+namespace boost { namespace mpl {\r
+\r
+BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5)\r
+\r
+namespace placeholders {\r
+using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5;\r
+}\r
+\r
+}}\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+typedef arg<6> _6;\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+namespace boost { namespace mpl {\r
+\r
+BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6)\r
+\r
+namespace placeholders {\r
+using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6;\r
+}\r
+\r
+}}\r
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 (file)
index 0000000..6a9a4a0
--- /dev/null
@@ -0,0 +1,146 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "plus.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct plus_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< plus_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< plus_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct plus_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct plus_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct plus_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct plus_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    , typename N3 = na, typename N4 = na, typename N5 = na\r
+    >\r
+struct plus\r
+    : plus< plus< plus< plus< N1,N2 >, N3>, N4>, N5>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , plus\r
+        , ( N1, N2, N3, N4, N5 )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3, typename N4\r
+    >\r
+struct plus< N1,N2,N3,N4,na >\r
+\r
+    : plus< plus< plus< N1,N2 >, N3>, N4>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , plus\r
+        , ( N1, N2, N3, N4, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3\r
+    >\r
+struct plus< N1,N2,N3,na,na >\r
+\r
+    : plus< plus< N1,N2 >, N3>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , plus\r
+        , ( N1, N2, N3, na, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2\r
+    >\r
+struct plus< N1,N2,na,na,na >\r
+    : plus_impl<\r
+          typename plus_tag<N1>::type\r
+        , typename plus_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , plus\r
+        , ( N1, N2, na, na, na )\r
+        )\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 5, plus)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+template<>\r
+struct plus_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : integral_c<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value\r
+                  + BOOST_MPL_AUX_VALUE_WKND(N2)::value\r
+                )\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..8eaab71
--- /dev/null
@@ -0,0 +1,11 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2008\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "quote.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
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 (file)
index 0000000..e453bca
--- /dev/null
@@ -0,0 +1,295 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "reverse_fold_impl.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+/// forward declaration\r
+\r
+template<\r
+      long N\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_fold_impl;\r
+\r
+template< long N >\r
+struct reverse_fold_chunk;\r
+\r
+template<> struct reverse_fold_chunk<0>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename BackwardOp\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State fwd_state0;\r
+        typedef fwd_state0 bkwd_state0;\r
+        typedef bkwd_state0 state;\r
+        typedef iter0 iterator;\r
+    };\r
+};\r
+\r
+template<> struct reverse_fold_chunk<1>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename BackwardOp\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State fwd_state0;\r
+        typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;\r
+        typedef typename mpl::next<iter0>::type iter1;\r
+        \r
+\r
+        typedef fwd_state1 bkwd_state1;\r
+        typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;\r
+        typedef bkwd_state0 state;\r
+        typedef iter1 iterator;\r
+    };\r
+};\r
+\r
+template<> struct reverse_fold_chunk<2>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename BackwardOp\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State fwd_state0;\r
+        typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;\r
+        typedef typename mpl::next<iter0>::type iter1;\r
+        typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;\r
+        typedef typename mpl::next<iter1>::type iter2;\r
+        \r
+\r
+        typedef fwd_state2 bkwd_state2;\r
+        typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;\r
+        typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;\r
+        \r
+\r
+        typedef bkwd_state0 state;\r
+        typedef iter2 iterator;\r
+    };\r
+};\r
+\r
+template<> struct reverse_fold_chunk<3>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename BackwardOp\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State fwd_state0;\r
+        typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;\r
+        typedef typename mpl::next<iter0>::type iter1;\r
+        typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;\r
+        typedef typename mpl::next<iter1>::type iter2;\r
+        typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;\r
+        typedef typename mpl::next<iter2>::type iter3;\r
+        \r
+\r
+        typedef fwd_state3 bkwd_state3;\r
+        typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;\r
+        typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;\r
+        typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;\r
+        \r
+\r
+        typedef bkwd_state0 state;\r
+        typedef iter3 iterator;\r
+    };\r
+};\r
+\r
+template<> struct reverse_fold_chunk<4>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename BackwardOp\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State fwd_state0;\r
+        typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;\r
+        typedef typename mpl::next<iter0>::type iter1;\r
+        typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;\r
+        typedef typename mpl::next<iter1>::type iter2;\r
+        typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;\r
+        typedef typename mpl::next<iter2>::type iter3;\r
+        typedef typename apply2< ForwardOp, fwd_state3, typename deref<iter3>::type >::type fwd_state4;\r
+        typedef typename mpl::next<iter3>::type iter4;\r
+        \r
+\r
+        typedef fwd_state4 bkwd_state4;\r
+        typedef typename apply2< BackwardOp, bkwd_state4, typename deref<iter3>::type >::type bkwd_state3;\r
+        typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;\r
+        typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;\r
+        typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;\r
+        \r
+\r
+        typedef bkwd_state0 state;\r
+        typedef iter4 iterator;\r
+    };\r
+};\r
+\r
+template< long N >\r
+struct reverse_fold_chunk\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename BackwardOp\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State fwd_state0;\r
+        typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;\r
+        typedef typename mpl::next<iter0>::type iter1;\r
+        typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;\r
+        typedef typename mpl::next<iter1>::type iter2;\r
+        typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;\r
+        typedef typename mpl::next<iter2>::type iter3;\r
+        typedef typename apply2< ForwardOp, fwd_state3, typename deref<iter3>::type >::type fwd_state4;\r
+        typedef typename mpl::next<iter3>::type iter4;\r
+        \r
+\r
+        typedef reverse_fold_impl<\r
+              ( (N - 4) < 0 ? 0 : N - 4 )\r
+            , iter4\r
+            , Last\r
+            , fwd_state4\r
+            , BackwardOp\r
+            , ForwardOp\r
+            > nested_chunk;\r
+\r
+        typedef typename nested_chunk::state bkwd_state4;\r
+        typedef typename apply2< BackwardOp, bkwd_state4, typename deref<iter3>::type >::type bkwd_state3;\r
+        typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;\r
+        typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;\r
+        typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;\r
+        \r
+\r
+        typedef bkwd_state0 state;\r
+        typedef typename nested_chunk::iterator iterator;\r
+    };\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_fold_step;\r
+\r
+template<\r
+      typename Last\r
+    , typename State\r
+    >\r
+struct reverse_fold_null_step\r
+{\r
+    typedef Last iterator;\r
+    typedef State state;\r
+};\r
+\r
+template<>\r
+struct reverse_fold_chunk< -1 >\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename BackwardOp\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename if_<\r
+              typename is_same< First,Last >::type\r
+            , reverse_fold_null_step< Last,State >\r
+            , reverse_fold_step< First,Last,State,BackwardOp,ForwardOp >\r
+            >::type res_;\r
+\r
+        typedef typename res_::state state;\r
+        typedef typename res_::iterator iterator;\r
+    };\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_fold_step\r
+{\r
+    typedef reverse_fold_chunk< -1 >::template result_<\r
+          typename mpl::next<First>::type\r
+        , Last\r
+        , typename apply2<ForwardOp,State, typename deref<First>::type>::type\r
+        , BackwardOp\r
+        , ForwardOp\r
+        > nested_step;\r
+\r
+    typedef typename apply2<\r
+          BackwardOp\r
+        , typename nested_step::state\r
+        , typename deref<First>::type\r
+        >::type state;\r
+\r
+    typedef typename nested_step::iterator iterator;\r
+};\r
+\r
+template<\r
+      long N\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_fold_impl\r
+    : reverse_fold_chunk<N>\r
+        ::template result_< First,Last,State,BackwardOp,ForwardOp >\r
+{\r
+};\r
+\r
+}}}\r
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 (file)
index 0000000..454ed8e
--- /dev/null
@@ -0,0 +1,295 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "reverse_iter_fold_impl.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+/// forward declaration\r
+\r
+template<\r
+      long N\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_iter_fold_impl;\r
+\r
+template< long N >\r
+struct reverse_iter_fold_chunk;\r
+\r
+template<> struct reverse_iter_fold_chunk<0>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename BackwardOp\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State fwd_state0;\r
+        typedef fwd_state0 bkwd_state0;\r
+        typedef bkwd_state0 state;\r
+        typedef iter0 iterator;\r
+    };\r
+};\r
+\r
+template<> struct reverse_iter_fold_chunk<1>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename BackwardOp\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State fwd_state0;\r
+        typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;\r
+        typedef typename mpl::next<iter0>::type iter1;\r
+        \r
+\r
+        typedef fwd_state1 bkwd_state1;\r
+        typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;\r
+        typedef bkwd_state0 state;\r
+        typedef iter1 iterator;\r
+    };\r
+};\r
+\r
+template<> struct reverse_iter_fold_chunk<2>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename BackwardOp\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State fwd_state0;\r
+        typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;\r
+        typedef typename mpl::next<iter0>::type iter1;\r
+        typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;\r
+        typedef typename mpl::next<iter1>::type iter2;\r
+        \r
+\r
+        typedef fwd_state2 bkwd_state2;\r
+        typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;\r
+        typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;\r
+        \r
+\r
+        typedef bkwd_state0 state;\r
+        typedef iter2 iterator;\r
+    };\r
+};\r
+\r
+template<> struct reverse_iter_fold_chunk<3>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename BackwardOp\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State fwd_state0;\r
+        typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;\r
+        typedef typename mpl::next<iter0>::type iter1;\r
+        typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;\r
+        typedef typename mpl::next<iter1>::type iter2;\r
+        typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;\r
+        typedef typename mpl::next<iter2>::type iter3;\r
+        \r
+\r
+        typedef fwd_state3 bkwd_state3;\r
+        typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;\r
+        typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;\r
+        typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;\r
+        \r
+\r
+        typedef bkwd_state0 state;\r
+        typedef iter3 iterator;\r
+    };\r
+};\r
+\r
+template<> struct reverse_iter_fold_chunk<4>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename BackwardOp\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State fwd_state0;\r
+        typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;\r
+        typedef typename mpl::next<iter0>::type iter1;\r
+        typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;\r
+        typedef typename mpl::next<iter1>::type iter2;\r
+        typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;\r
+        typedef typename mpl::next<iter2>::type iter3;\r
+        typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4;\r
+        typedef typename mpl::next<iter3>::type iter4;\r
+        \r
+\r
+        typedef fwd_state4 bkwd_state4;\r
+        typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3;\r
+        typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;\r
+        typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;\r
+        typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;\r
+        \r
+\r
+        typedef bkwd_state0 state;\r
+        typedef iter4 iterator;\r
+    };\r
+};\r
+\r
+template< long N >\r
+struct reverse_iter_fold_chunk\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename BackwardOp\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State fwd_state0;\r
+        typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;\r
+        typedef typename mpl::next<iter0>::type iter1;\r
+        typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;\r
+        typedef typename mpl::next<iter1>::type iter2;\r
+        typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;\r
+        typedef typename mpl::next<iter2>::type iter3;\r
+        typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4;\r
+        typedef typename mpl::next<iter3>::type iter4;\r
+        \r
+\r
+        typedef reverse_iter_fold_impl<\r
+              ( (N - 4) < 0 ? 0 : N - 4 )\r
+            , iter4\r
+            , Last\r
+            , fwd_state4\r
+            , BackwardOp\r
+            , ForwardOp\r
+            > nested_chunk;\r
+\r
+        typedef typename nested_chunk::state bkwd_state4;\r
+        typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3;\r
+        typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;\r
+        typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;\r
+        typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;\r
+        \r
+\r
+        typedef bkwd_state0 state;\r
+        typedef typename nested_chunk::iterator iterator;\r
+    };\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_iter_fold_step;\r
+\r
+template<\r
+      typename Last\r
+    , typename State\r
+    >\r
+struct reverse_iter_fold_null_step\r
+{\r
+    typedef Last iterator;\r
+    typedef State state;\r
+};\r
+\r
+template<>\r
+struct reverse_iter_fold_chunk< -1 >\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename BackwardOp\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename if_<\r
+              typename is_same< First,Last >::type\r
+            , reverse_iter_fold_null_step< Last,State >\r
+            , reverse_iter_fold_step< First,Last,State,BackwardOp,ForwardOp >\r
+            >::type res_;\r
+\r
+        typedef typename res_::state state;\r
+        typedef typename res_::iterator iterator;\r
+    };\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_iter_fold_step\r
+{\r
+    typedef reverse_iter_fold_chunk< -1 >::template result_<\r
+          typename mpl::next<First>::type\r
+        , Last\r
+        , typename apply2< ForwardOp,State,First >::type\r
+        , BackwardOp\r
+        , ForwardOp\r
+        > nested_step;\r
+\r
+    typedef typename apply2<\r
+          BackwardOp\r
+        , typename nested_step::state\r
+        , First\r
+        >::type state;\r
+\r
+    typedef typename nested_step::iterator iterator;\r
+};\r
+\r
+template<\r
+      long N\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_iter_fold_impl\r
+    : reverse_iter_fold_chunk<N>\r
+        ::template result_< First,Last,State,BackwardOp,ForwardOp >\r
+{\r
+};\r
+\r
+}}}\r
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 (file)
index 0000000..089ce0b
--- /dev/null
@@ -0,0 +1,323 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "set.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na\r
+    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na\r
+    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na\r
+    , typename T12 = na, typename T13 = na, typename T14 = na\r
+    , typename T15 = na, typename T16 = na, typename T17 = na\r
+    , typename T18 = na, typename T19 = na\r
+    >\r
+struct set;\r
+\r
+template<\r
+     \r
+    >\r
+struct set<\r
+          na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set0<  >\r
+{\r
+    typedef set0<  >::type type;\r
+};\r
+\r
+template<\r
+      typename T0\r
+    >\r
+struct set<\r
+          T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set1<T0>\r
+{\r
+    typedef typename set1<T0>::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1\r
+    >\r
+struct set<\r
+          T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set2< T0,T1 >\r
+{\r
+    typedef typename set2< T0,T1 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2\r
+    >\r
+struct set<\r
+          T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set3< T0,T1,T2 >\r
+{\r
+    typedef typename set3< T0,T1,T2 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set4< T0,T1,T2,T3 >\r
+{\r
+    typedef typename set4< T0,T1,T2,T3 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set5< T0,T1,T2,T3,T4 >\r
+{\r
+    typedef typename set5< T0,T1,T2,T3,T4 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set6< T0,T1,T2,T3,T4,T5 >\r
+{\r
+    typedef typename set6< T0,T1,T2,T3,T4,T5 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set7< T0,T1,T2,T3,T4,T5,T6 >\r
+{\r
+    typedef typename set7< T0,T1,T2,T3,T4,T5,T6 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set8< T0,T1,T2,T3,T4,T5,T6,T7 >\r
+{\r
+    typedef typename set8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >\r
+{\r
+    typedef typename set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >\r
+{\r
+    typedef typename set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >\r
+{\r
+    typedef typename set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na\r
+        , na, na, na, na\r
+        >\r
+    : set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >\r
+{\r
+    typedef typename set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na\r
+        , na, na, na, na\r
+        >\r
+    : set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >\r
+{\r
+    typedef typename set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na\r
+        , na, na, na, na\r
+        >\r
+    : set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >\r
+{\r
+    typedef typename set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na\r
+        , na, na, na, na\r
+        >\r
+    : set15<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        >\r
+{\r
+    typedef typename set15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, na, na, na, na\r
+        >\r
+    : set16<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15\r
+        >\r
+{\r
+    typedef typename set16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, na, na, na\r
+        >\r
+    : set17<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16\r
+        >\r
+{\r
+    typedef typename set17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, na, na\r
+        >\r
+    : set18<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17\r
+        >\r
+{\r
+    typedef typename set18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18, na\r
+        >\r
+    : set19<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18\r
+        >\r
+{\r
+    typedef typename set19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;\r
+};\r
+\r
+/// primary template (not a specialization!)\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    >\r
+struct set\r
+    : set20<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18, T19\r
+        >\r
+{\r
+    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;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..6351904
--- /dev/null
@@ -0,0 +1,328 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "set_c.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX\r
+    , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX\r
+    , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX\r
+    , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX\r
+    , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX\r
+    , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX\r
+    , long C18 = LONG_MAX, long C19 = LONG_MAX\r
+    >\r
+struct set_c;\r
+\r
+template<\r
+      typename T\r
+    >\r
+struct set_c<\r
+          T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set0_c<T>\r
+{\r
+    typedef typename set0_c<T>::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0\r
+    >\r
+struct set_c<\r
+          T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set1_c< T,C0 >\r
+{\r
+    typedef typename set1_c< T,C0 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1\r
+    >\r
+struct set_c<\r
+          T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set2_c< T,C0,C1 >\r
+{\r
+    typedef typename set2_c< T,C0,C1 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set3_c< T,C0,C1,C2 >\r
+{\r
+    typedef typename set3_c< T,C0,C1,C2 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set4_c< T,C0,C1,C2,C3 >\r
+{\r
+    typedef typename set4_c< T,C0,C1,C2,C3 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set5_c< T,C0,C1,C2,C3,C4 >\r
+{\r
+    typedef typename set5_c< T,C0,C1,C2,C3,C4 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set6_c< T,C0,C1,C2,C3,C4,C5 >\r
+{\r
+    typedef typename set6_c< T,C0,C1,C2,C3,C4,C5 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set7_c< T,C0,C1,C2,C3,C4,C5,C6 >\r
+{\r
+    typedef typename set7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX\r
+        >\r
+    : set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >\r
+{\r
+    typedef typename set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX\r
+        >\r
+    : set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >\r
+{\r
+    typedef typename set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX\r
+        >\r
+    : set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >\r
+{\r
+    typedef typename set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >\r
+{\r
+    typedef typename set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >\r
+{\r
+    typedef typename set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >\r
+{\r
+    typedef typename set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set14_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13\r
+        >\r
+{\r
+    typedef typename set14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set15_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        >\r
+{\r
+    typedef typename set15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set16_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15\r
+        >\r
+{\r
+    typedef typename set16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set17_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16\r
+        >\r
+{\r
+    typedef typename set17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16, long C17\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17, LONG_MAX, LONG_MAX\r
+        >\r
+    : set18_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17\r
+        >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16, long C17, long C18\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17, C18, LONG_MAX\r
+        >\r
+    : set19_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17, C18\r
+        >\r
+{\r
+    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;\r
+};\r
+\r
+/// primary template (not a specialization!)\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+    >\r
+struct set_c\r
+    : set20_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17, C18, C19\r
+        >\r
+{\r
+    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;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..6f99bd9
--- /dev/null
@@ -0,0 +1,99 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright Jaap Suter 2003\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "shift_left.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct shift_left_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< shift_left_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< shift_left_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct shift_left_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct shift_left_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct shift_left_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct shift_left_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct shift_left\r
+\r
+    : shift_left_impl<\r
+          typename shift_left_tag<N1>::type\r
+        , typename shift_left_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_left, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_left)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+template<>\r
+struct shift_left_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N, typename S > struct apply\r
+\r
+        : integral_c<\r
+              typename N::value_type\r
+            , ( BOOST_MPL_AUX_VALUE_WKND(N)::value\r
+                  << BOOST_MPL_AUX_VALUE_WKND(S)::value\r
+                )\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..64d80fd
--- /dev/null
@@ -0,0 +1,99 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright Jaap Suter 2003\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "shift_right.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct shift_right_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< shift_right_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< shift_right_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct shift_right_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct shift_right_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct shift_right_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct shift_right_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct shift_right\r
+\r
+    : shift_right_impl<\r
+          typename shift_right_tag<N1>::type\r
+        , typename shift_right_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_right, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+template<>\r
+struct shift_right_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N, typename S > struct apply\r
+\r
+        : integral_c<\r
+              typename N::value_type\r
+            , ( BOOST_MPL_AUX_VALUE_WKND(N)::value\r
+                  >> BOOST_MPL_AUX_VALUE_WKND(S)::value\r
+                )\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..a0b058f
--- /dev/null
@@ -0,0 +1,40 @@
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "template_arity.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+template< bool >\r
+struct template_arity_impl\r
+{\r
+    template< typename F > struct result_\r
+        : mpl::int_< -1 >\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct template_arity_impl<true>\r
+{\r
+    template< typename F > struct result_\r
+        : F::arity\r
+    {\r
+    };\r
+};\r
+\r
+template< typename F >\r
+struct template_arity\r
+    : template_arity_impl< ::boost::mpl::aux::has_rebind<F>::value >\r
+        ::template result_<F>\r
+{\r
+};\r
+\r
+}}}\r
+\r
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 (file)
index 0000000..69a885a
--- /dev/null
@@ -0,0 +1,146 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "times.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct times_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< times_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< times_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct times_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct times_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct times_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct times_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    , typename N3 = na, typename N4 = na, typename N5 = na\r
+    >\r
+struct times\r
+    : times< times< times< times< N1,N2 >, N3>, N4>, N5>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , times\r
+        , ( N1, N2, N3, N4, N5 )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3, typename N4\r
+    >\r
+struct times< N1,N2,N3,N4,na >\r
+\r
+    : times< times< times< N1,N2 >, N3>, N4>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , times\r
+        , ( N1, N2, N3, N4, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3\r
+    >\r
+struct times< N1,N2,N3,na,na >\r
+\r
+    : times< times< N1,N2 >, N3>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , times\r
+        , ( N1, N2, N3, na, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2\r
+    >\r
+struct times< N1,N2,na,na,na >\r
+    : times_impl<\r
+          typename times_tag<N1>::type\r
+        , typename times_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , times\r
+        , ( N1, N2, na, na, na )\r
+        )\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 5, times)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+template<>\r
+struct times_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : integral_c<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value\r
+                  * BOOST_MPL_AUX_VALUE_WKND(N2)::value\r
+                )\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..cedd428
--- /dev/null
@@ -0,0 +1,97 @@
+\r
+// Copyright Aleksey Gurtovoy 2002-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "unpack_args.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+\r
+template< int size, typename F, typename Args >\r
+struct unpack_args_impl;\r
+\r
+template< typename F, typename Args >\r
+struct unpack_args_impl< 0,F,Args >\r
+    : apply0<\r
+          F\r
+        >\r
+{\r
+};\r
+\r
+template< typename F, typename Args >\r
+struct unpack_args_impl< 1,F,Args >\r
+    : apply1<\r
+          F\r
+        , typename at_c< Args,0 >::type\r
+        >\r
+{\r
+};\r
+\r
+template< typename F, typename Args >\r
+struct unpack_args_impl< 2,F,Args >\r
+    : apply2<\r
+          F\r
+        , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type\r
+        >\r
+{\r
+};\r
+\r
+template< typename F, typename Args >\r
+struct unpack_args_impl< 3,F,Args >\r
+    : apply3<\r
+          F\r
+        , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type\r
+        , typename at_c< Args,2 >::type\r
+        >\r
+{\r
+};\r
+\r
+template< typename F, typename Args >\r
+struct unpack_args_impl< 4,F,Args >\r
+    : apply4<\r
+          F\r
+        , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type\r
+        , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type\r
+        >\r
+{\r
+};\r
+\r
+template< typename F, typename Args >\r
+struct unpack_args_impl< 5,F,Args >\r
+    : apply5<\r
+          F\r
+        , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type\r
+        , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type\r
+        , typename at_c< Args,4 >::type\r
+        >\r
+{\r
+};\r
+\r
+}\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct unpack_args\r
+{\r
+    template< typename Args > struct apply\r
+    {\r
+        typedef typename aux::unpack_args_impl<\r
+              size<Args>::value\r
+            , F\r
+            , Args\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args)\r
+\r
+}}\r
+\r
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 (file)
index 0000000..e1f3c62
--- /dev/null
@@ -0,0 +1,323 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "vector.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na\r
+    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na\r
+    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na\r
+    , typename T12 = na, typename T13 = na, typename T14 = na\r
+    , typename T15 = na, typename T16 = na, typename T17 = na\r
+    , typename T18 = na, typename T19 = na\r
+    >\r
+struct vector;\r
+\r
+template<\r
+     \r
+    >\r
+struct vector<\r
+          na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector0<  >\r
+{\r
+    typedef vector0<  >::type type;\r
+};\r
+\r
+template<\r
+      typename T0\r
+    >\r
+struct vector<\r
+          T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector1<T0>\r
+{\r
+    typedef typename vector1<T0>::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1\r
+    >\r
+struct vector<\r
+          T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector2< T0,T1 >\r
+{\r
+    typedef typename vector2< T0,T1 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2\r
+    >\r
+struct vector<\r
+          T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector3< T0,T1,T2 >\r
+{\r
+    typedef typename vector3< T0,T1,T2 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector4< T0,T1,T2,T3 >\r
+{\r
+    typedef typename vector4< T0,T1,T2,T3 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector5< T0,T1,T2,T3,T4 >\r
+{\r
+    typedef typename vector5< T0,T1,T2,T3,T4 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector6< T0,T1,T2,T3,T4,T5 >\r
+{\r
+    typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector7< T0,T1,T2,T3,T4,T5,T6 >\r
+{\r
+    typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector8< T0,T1,T2,T3,T4,T5,T6,T7 >\r
+{\r
+    typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >\r
+{\r
+    typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >\r
+{\r
+    typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >\r
+{\r
+    typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na\r
+        , na, na, na, na\r
+        >\r
+    : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >\r
+{\r
+    typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na\r
+        , na, na, na, na\r
+        >\r
+    : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >\r
+{\r
+    typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na\r
+        , na, na, na, na\r
+        >\r
+    : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >\r
+{\r
+    typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na\r
+        , na, na, na, na\r
+        >\r
+    : vector15<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        >\r
+{\r
+    typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, na, na, na, na\r
+        >\r
+    : vector16<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15\r
+        >\r
+{\r
+    typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, na, na, na\r
+        >\r
+    : vector17<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16\r
+        >\r
+{\r
+    typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, na, na\r
+        >\r
+    : vector18<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17\r
+        >\r
+{\r
+    typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18, na\r
+        >\r
+    : vector19<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18\r
+        >\r
+{\r
+    typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;\r
+};\r
+\r
+/// primary template (not a specialization!)\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    >\r
+struct vector\r
+    : vector20<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18, T19\r
+        >\r
+{\r
+    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;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..d568ac9
--- /dev/null
@@ -0,0 +1,309 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2008\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// *Preprocessed* version of the main "vector_c.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX\r
+    , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX\r
+    , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX\r
+    , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX\r
+    , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX\r
+    , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX\r
+    , long C18 = LONG_MAX, long C19 = LONG_MAX\r
+    >\r
+struct vector_c;\r
+\r
+template<\r
+      typename T\r
+    >\r
+struct vector_c<\r
+          T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : vector0_c<T>\r
+{\r
+    typedef typename vector0_c<T>::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0\r
+    >\r
+struct vector_c<\r
+          T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : vector1_c< T, T(C0) >\r
+{\r
+    typedef typename vector1_c< T, T(C0) >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : vector2_c< T, T(C0), T(C1) >\r
+{\r
+    typedef typename vector2_c< T, T(C0), T(C1) >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : vector3_c< T, T(C0), T(C1), T(C2) >\r
+{\r
+    typedef typename vector3_c< T, T(C0), T(C1), T(C2) >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : vector4_c< T, T(C0), T(C1), T(C2), T(C3) >\r
+{\r
+    typedef typename vector4_c< T, T(C0), T(C1), T(C2), T(C3) >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) >\r
+{\r
+    typedef typename vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) >\r
+{\r
+    typedef typename vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) >\r
+{\r
+    typedef typename vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX\r
+        >\r
+    : vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) >\r
+{\r
+    typedef typename vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX\r
+        >\r
+    : vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX\r
+        >\r
+    : vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : 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) >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : 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) >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : 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) >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : 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) >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : 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) >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : 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) >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : 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) >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16, long C17\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17, LONG_MAX, LONG_MAX\r
+        >\r
+    : 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) >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16, long C17, long C18\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17, C18, LONG_MAX\r
+        >\r
+    : 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) >\r
+{\r
+    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;\r
+};\r
+\r
+/// primary template (not a specialization!)\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+    >\r
+struct vector_c\r
+    : 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) >\r
+{\r
+    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;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..2d65040
--- /dev/null
@@ -0,0 +1,97 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/advance_backward.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+template< long N > struct advance_backward;\r
+template<>\r
+struct advance_backward<0>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef iter0 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct advance_backward<1>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef typename prior<iter0>::type iter1;\r
+        typedef iter1 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct advance_backward<2>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef typename prior<iter0>::type iter1;\r
+        typedef typename prior<iter1>::type iter2;\r
+        typedef iter2 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct advance_backward<3>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef typename prior<iter0>::type iter1;\r
+        typedef typename prior<iter1>::type iter2;\r
+        typedef typename prior<iter2>::type iter3;\r
+        typedef iter3 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct advance_backward<4>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef typename prior<iter0>::type iter1;\r
+        typedef typename prior<iter1>::type iter2;\r
+        typedef typename prior<iter2>::type iter3;\r
+        typedef typename prior<iter3>::type iter4;\r
+        typedef iter4 type;\r
+    };\r
+};\r
+\r
+template< long N >\r
+struct advance_backward\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef typename apply_wrap1<\r
+              advance_backward<4>\r
+            , Iterator\r
+            >::type chunk_result_;\r
+\r
+        typedef typename apply_wrap1<\r
+              advance_backward<(\r
+                (N - 4) < 0\r
+                    ? 0\r
+                    : N - 4\r
+                    )>\r
+            , chunk_result_\r
+            >::type type;\r
+    };\r
+};\r
+\r
+}}}\r
+\r
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 (file)
index 0000000..9762f7b
--- /dev/null
@@ -0,0 +1,97 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/advance_forward.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+template< long N > struct advance_forward;\r
+template<>\r
+struct advance_forward<0>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef iter0 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct advance_forward<1>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef typename next<iter0>::type iter1;\r
+        typedef iter1 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct advance_forward<2>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef typename next<iter0>::type iter1;\r
+        typedef typename next<iter1>::type iter2;\r
+        typedef iter2 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct advance_forward<3>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef typename next<iter0>::type iter1;\r
+        typedef typename next<iter1>::type iter2;\r
+        typedef typename next<iter2>::type iter3;\r
+        typedef iter3 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct advance_forward<4>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef typename next<iter0>::type iter1;\r
+        typedef typename next<iter1>::type iter2;\r
+        typedef typename next<iter2>::type iter3;\r
+        typedef typename next<iter3>::type iter4;\r
+        typedef iter4 type;\r
+    };\r
+};\r
+\r
+template< long N >\r
+struct advance_forward\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef typename apply_wrap1<\r
+              advance_forward<4>\r
+            , Iterator\r
+            >::type chunk_result_;\r
+\r
+        typedef typename apply_wrap1<\r
+              advance_forward<(\r
+                (N - 4) < 0\r
+                    ? 0\r
+                    : N - 4\r
+                    )>\r
+            , chunk_result_\r
+            >::type type;\r
+    };\r
+};\r
+\r
+}}}\r
+\r
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 (file)
index 0000000..71e3b78
--- /dev/null
@@ -0,0 +1,69 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/and.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+\r
+template< bool C_, typename T1, typename T2, typename T3, typename T4 >\r
+struct and_impl\r
+    : false_\r
+{\r
+};\r
+\r
+template< typename T1, typename T2, typename T3, typename T4 >\r
+struct and_impl< true,T1,T2,T3,T4 >\r
+    : and_impl<\r
+          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value\r
+        , T2, T3, T4\r
+        , true_\r
+        >\r
+{\r
+};\r
+\r
+template<>\r
+struct and_impl<\r
+          true\r
+        , true_, true_, true_, true_\r
+        >\r
+    : true_\r
+{\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(T1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(T2)\r
+    , typename T3 = true_, typename T4 = true_, typename T5 = true_\r
+    >\r
+struct and_\r
+\r
+    : aux::and_impl<\r
+          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value\r
+        , T2, T3, T4, T5\r
+        >\r
+\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , and_\r
+        , ( T1, T2, T3, T4, T5)\r
+        )\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(\r
+      2\r
+    , 5\r
+    , and_\r
+    )\r
+\r
+}}\r
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 (file)
index 0000000..9508903
--- /dev/null
@@ -0,0 +1,169 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/apply.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct apply0\r
+\r
+    : apply_wrap0<\r
+          typename lambda<F>::type\r
+       \r
+        >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          1\r
+        , apply0\r
+        , (F )\r
+        )\r
+};\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct apply< F,na,na,na,na,na >\r
+    : apply0<F>\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct apply1\r
+\r
+    : apply_wrap1<\r
+          typename lambda<F>::type\r
+        , T1\r
+        >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          2\r
+        , apply1\r
+        , (F, T1)\r
+        )\r
+};\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct apply< F,T1,na,na,na,na >\r
+    : apply1< F,T1 >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+struct apply2\r
+\r
+    : apply_wrap2<\r
+          typename lambda<F>::type\r
+        , T1, T2\r
+        >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          3\r
+        , apply2\r
+        , (F, T1, T2)\r
+        )\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+struct apply< F,T1,T2,na,na,na >\r
+    : apply2< F,T1,T2 >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+struct apply3\r
+\r
+    : apply_wrap3<\r
+          typename lambda<F>::type\r
+        , T1, T2, T3\r
+        >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          4\r
+        , apply3\r
+        , (F, T1, T2, T3)\r
+        )\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+struct apply< F,T1,T2,T3,na,na >\r
+    : apply3< F,T1,T2,T3 >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct apply4\r
+\r
+    : apply_wrap4<\r
+          typename lambda<F>::type\r
+        , T1, T2, T3, T4\r
+        >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , apply4\r
+        , (F, T1, T2, T3, T4)\r
+        )\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct apply< F,T1,T2,T3,T4,na >\r
+    : apply4< F,T1,T2,T3,T4 >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct apply5\r
+\r
+    : apply_wrap5<\r
+          typename lambda<F>::type\r
+        , T1, T2, T3, T4, T5\r
+        >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          6\r
+        , apply5\r
+        , (F, T1, T2, T3, T4, T5)\r
+        )\r
+};\r
+\r
+/// primary template (not a specialization!)\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct apply\r
+    : apply5< F,T1,T2,T3,T4,T5 >\r
+{\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..b1c5573
--- /dev/null
@@ -0,0 +1,52 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/apply_fwd.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename F, typename T1 = na, typename T2 = na, typename T3 = na\r
+    , typename T4 = na, typename T5 = na\r
+    >\r
+struct apply;\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct apply0;\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct apply1;\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+struct apply2;\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+struct apply3;\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct apply4;\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct apply5;\r
+\r
+}}\r
+\r
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 (file)
index 0000000..e6de047
--- /dev/null
@@ -0,0 +1,84 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/apply_wrap.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename F\r
+\r
+    , typename has_apply_ = typename aux::has_apply<F>::type\r
+\r
+    >\r
+struct apply_wrap0\r
+\r
+    : F::template apply<  >\r
+{\r
+};\r
+\r
+template< typename F >\r
+struct apply_wrap0< F,true_ >\r
+    : F::apply\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1\r
+\r
+    >\r
+struct apply_wrap1\r
+\r
+    : F::template apply<T1>\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+\r
+    >\r
+struct apply_wrap2\r
+\r
+    : F::template apply< T1,T2 >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+\r
+    >\r
+struct apply_wrap3\r
+\r
+    : F::template apply< T1,T2,T3 >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+\r
+    >\r
+struct apply_wrap4\r
+\r
+    : F::template apply< T1,T2,T3,T4 >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+\r
+    >\r
+struct apply_wrap5\r
+\r
+    : F::template apply< T1,T2,T3,T4,T5 >\r
+{\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..a77b8a2
--- /dev/null
@@ -0,0 +1,123 @@
+\r
+// Copyright Peter Dimov 2001-2002\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/arg.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+template<> struct arg< -1 >\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value  = -1);\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)\r
+\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+        typedef U1 type;\r
+        BOOST_MPL_AUX_ASSERT_NOT_NA(type);\r
+    };\r
+};\r
+\r
+template<> struct arg<1>\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value  = 1);\r
+    typedef arg<2> next;\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)\r
+\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+        typedef U1 type;\r
+        BOOST_MPL_AUX_ASSERT_NOT_NA(type);\r
+    };\r
+};\r
+\r
+template<> struct arg<2>\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value  = 2);\r
+    typedef arg<3> next;\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)\r
+\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+        typedef U2 type;\r
+        BOOST_MPL_AUX_ASSERT_NOT_NA(type);\r
+    };\r
+};\r
+\r
+template<> struct arg<3>\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value  = 3);\r
+    typedef arg<4> next;\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)\r
+\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+        typedef U3 type;\r
+        BOOST_MPL_AUX_ASSERT_NOT_NA(type);\r
+    };\r
+};\r
+\r
+template<> struct arg<4>\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value  = 4);\r
+    typedef arg<5> next;\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)\r
+\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+        typedef U4 type;\r
+        BOOST_MPL_AUX_ASSERT_NOT_NA(type);\r
+    };\r
+};\r
+\r
+template<> struct arg<5>\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value  = 5);\r
+    typedef arg<6> next;\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)\r
+\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+        typedef U5 type;\r
+        BOOST_MPL_AUX_ASSERT_NOT_NA(type);\r
+    };\r
+};\r
+\r
+BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg)\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
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 (file)
index 0000000..84f1cb2
--- /dev/null
@@ -0,0 +1,406 @@
+\r
+// Copyright Peter Dimov 2001\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/basic_bind.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename T, typename U1, typename U2, typename U3, typename U4\r
+    , typename U5\r
+    >\r
+struct resolve_bind_arg\r
+{\r
+    typedef T type;\r
+};\r
+\r
+template<\r
+      int N, typename U1, typename U2, typename U3, typename U4, typename U5\r
+    >\r
+struct resolve_bind_arg< arg<N>, U1, U2, U3, U4, U5 >\r
+{\r
+    typedef typename apply_wrap5<mpl::arg<N>, U1, U2, U3, U4, U5>::type type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename U1, typename U2, typename U3, typename U4\r
+    , typename U5\r
+    >\r
+struct resolve_bind_arg< bind< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 >\r
+{\r
+    typedef bind< F,T1,T2,T3,T4,T5 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename F, int dummy_\r
+    >\r
+struct bind0\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;\r
+\r
+     public:\r
+        typedef typename apply_wrap0<\r
+              f_\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename U1, typename U2, typename U3, typename U4\r
+    , typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind0<F>, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind0<F> f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(1, bind0)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)\r
+\r
+template<\r
+      typename F, int dummy_\r
+    >\r
+struct bind< F,na,na,na,na,na >\r
+    : bind0<F>\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, int dummy_\r
+    >\r
+struct bind1\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;\r
+        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;\r
+\r
+     public:\r
+        typedef typename apply_wrap1<\r
+              f_\r
+            , typename t1::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename U1, typename U2, typename U3\r
+    , typename U4, typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind1< F,T1 >, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind1< F,T1 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(2, bind1)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)\r
+\r
+template<\r
+      typename F, typename T1, int dummy_\r
+    >\r
+struct bind< F,T1,na,na,na,na >\r
+    : bind1< F,T1 >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, int dummy_\r
+    >\r
+struct bind2\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;\r
+        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;\r
+        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;\r
+\r
+     public:\r
+        typedef typename apply_wrap2<\r
+              f_\r
+            , typename t1::type, typename t2::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename U1, typename U2\r
+    , typename U3, typename U4, typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind2< F,T1,T2 >, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind2< F,T1,T2 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(3, bind2)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)\r
+\r
+template<\r
+      typename F, typename T1, typename T2, int dummy_\r
+    >\r
+struct bind< F,T1,T2,na,na,na >\r
+    : bind2< F,T1,T2 >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, int dummy_\r
+    >\r
+struct bind3\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;\r
+        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;\r
+        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;\r
+        typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;\r
+\r
+     public:\r
+        typedef typename apply_wrap3<\r
+              f_\r
+            , typename t1::type, typename t2::type, typename t3::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename U1\r
+    , typename U2, typename U3, typename U4, typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind3< F,T1,T2,T3 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(4, bind3)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, int dummy_\r
+    >\r
+struct bind< F,T1,T2,T3,na,na >\r
+    : bind3< F,T1,T2,T3 >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , int dummy_\r
+    >\r
+struct bind4\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;\r
+        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;\r
+        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;\r
+        typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;\r
+        typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4;\r
+\r
+     public:\r
+        typedef typename apply_wrap4<\r
+              f_\r
+            , typename t1::type, typename t2::type, typename t3::type\r
+            , typename t4::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename U1, typename U2, typename U3, typename U4, typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind4< F,T1,T2,T3,T4 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(5, bind4)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , int dummy_\r
+    >\r
+struct bind< F,T1,T2,T3,T4,na >\r
+    : bind4< F,T1,T2,T3,T4 >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, int dummy_\r
+    >\r
+struct bind5\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;\r
+        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;\r
+        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;\r
+        typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;\r
+        typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4;\r
+        typedef aux::resolve_bind_arg< T5,U1,U2,U3,U4,U5 > t5;\r
+\r
+     public:\r
+        typedef typename apply_wrap5<\r
+              f_\r
+            , typename t1::type, typename t2::type, typename t3::type\r
+            , typename t4::type, typename t5::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename U1, typename U2, typename U3, typename U4\r
+    , typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind5< F,T1,T2,T3,T4,T5 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(6, bind5)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)\r
+\r
+/// primary template (not a specialization!)\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, int dummy_\r
+    >\r
+struct bind\r
+    : bind5< F,T1,T2,T3,T4,T5 >\r
+{\r
+};\r
+\r
+/// if_/eval_if specializations\r
+template< template< typename T1, typename T2, typename T3 > class F, typename Tag >\r
+struct quote3;\r
+\r
+template< typename T1, typename T2, typename T3 > struct if_;\r
+\r
+template<\r
+      typename Tag, typename T1, typename T2, typename T3\r
+    >\r
+struct bind3<\r
+      quote3< if_,Tag >\r
+    , T1, T2, T3\r
+    >\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef mpl::arg<1> n1;\r
+        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;\r
+        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;\r
+        typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;\r
+        typedef typename if_<\r
+              typename t1::type\r
+            , t2, t3\r
+            >::type f_;\r
+\r
+     public:\r
+        typedef typename f_::type type;\r
+    };\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..97d7449
--- /dev/null
@@ -0,0 +1,515 @@
+\r
+// Copyright Peter Dimov 2001\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/bind.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename T, typename U1, typename U2, typename U3, typename U4\r
+    , typename U5\r
+    >\r
+struct resolve_bind_arg\r
+{\r
+    typedef T type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , typename Arg\r
+    >\r
+struct replace_unnamed_arg\r
+{\r
+    typedef Arg next;\r
+    typedef T type;\r
+};\r
+\r
+template<\r
+      typename Arg\r
+    >\r
+struct replace_unnamed_arg< arg< -1 >, Arg >\r
+{\r
+    typedef typename Arg::next next;\r
+    typedef Arg type;\r
+};\r
+\r
+template<\r
+      int N, typename U1, typename U2, typename U3, typename U4, typename U5\r
+    >\r
+struct resolve_bind_arg< arg<N>, U1, U2, U3, U4, U5 >\r
+{\r
+    typedef typename apply_wrap5<mpl::arg<N>, U1, U2, U3, U4, U5>::type type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename U1, typename U2, typename U3, typename U4\r
+    , typename U5\r
+    >\r
+struct resolve_bind_arg< bind< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 >\r
+{\r
+    typedef bind< F,T1,T2,T3,T4,T5 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename F, int dummy_\r
+    >\r
+struct bind0\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;\r
+        typedef typename r0::type a0;\r
+        typedef typename r0::next n1;\r
+        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;\r
+        ///\r
+     public:\r
+        typedef typename apply_wrap0<\r
+              f_\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename U1, typename U2, typename U3, typename U4\r
+    , typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind0<F>, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind0<F> f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(1, bind0)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)\r
+\r
+template<\r
+      typename F, int dummy_\r
+    >\r
+struct bind< F,na,na,na,na,na >\r
+    : bind0<F>\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, int dummy_\r
+    >\r
+struct bind1\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;\r
+        typedef typename r0::type a0;\r
+        typedef typename r0::next n1;\r
+        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T1,n1 > r1;\r
+        typedef typename r1::type a1;\r
+        typedef typename r1::next n2;\r
+        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;\r
+        ///\r
+     public:\r
+        typedef typename apply_wrap1<\r
+              f_\r
+            , typename t1::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename U1, typename U2, typename U3\r
+    , typename U4, typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind1< F,T1 >, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind1< F,T1 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(2, bind1)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)\r
+\r
+template<\r
+      typename F, typename T1, int dummy_\r
+    >\r
+struct bind< F,T1,na,na,na,na >\r
+    : bind1< F,T1 >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, int dummy_\r
+    >\r
+struct bind2\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;\r
+        typedef typename r0::type a0;\r
+        typedef typename r0::next n1;\r
+        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T1,n1 > r1;\r
+        typedef typename r1::type a1;\r
+        typedef typename r1::next n2;\r
+        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T2,n2 > r2;\r
+        typedef typename r2::type a2;\r
+        typedef typename r2::next n3;\r
+        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;\r
+        ///\r
+     public:\r
+        typedef typename apply_wrap2<\r
+              f_\r
+            , typename t1::type, typename t2::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename U1, typename U2\r
+    , typename U3, typename U4, typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind2< F,T1,T2 >, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind2< F,T1,T2 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(3, bind2)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)\r
+\r
+template<\r
+      typename F, typename T1, typename T2, int dummy_\r
+    >\r
+struct bind< F,T1,T2,na,na,na >\r
+    : bind2< F,T1,T2 >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, int dummy_\r
+    >\r
+struct bind3\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;\r
+        typedef typename r0::type a0;\r
+        typedef typename r0::next n1;\r
+        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T1,n1 > r1;\r
+        typedef typename r1::type a1;\r
+        typedef typename r1::next n2;\r
+        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T2,n2 > r2;\r
+        typedef typename r2::type a2;\r
+        typedef typename r2::next n3;\r
+        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T3,n3 > r3;\r
+        typedef typename r3::type a3;\r
+        typedef typename r3::next n4;\r
+        typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;\r
+        ///\r
+     public:\r
+        typedef typename apply_wrap3<\r
+              f_\r
+            , typename t1::type, typename t2::type, typename t3::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename U1\r
+    , typename U2, typename U3, typename U4, typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind3< F,T1,T2,T3 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(4, bind3)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, int dummy_\r
+    >\r
+struct bind< F,T1,T2,T3,na,na >\r
+    : bind3< F,T1,T2,T3 >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , int dummy_\r
+    >\r
+struct bind4\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;\r
+        typedef typename r0::type a0;\r
+        typedef typename r0::next n1;\r
+        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T1,n1 > r1;\r
+        typedef typename r1::type a1;\r
+        typedef typename r1::next n2;\r
+        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T2,n2 > r2;\r
+        typedef typename r2::type a2;\r
+        typedef typename r2::next n3;\r
+        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T3,n3 > r3;\r
+        typedef typename r3::type a3;\r
+        typedef typename r3::next n4;\r
+        typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T4,n4 > r4;\r
+        typedef typename r4::type a4;\r
+        typedef typename r4::next n5;\r
+        typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4;\r
+        ///\r
+     public:\r
+        typedef typename apply_wrap4<\r
+              f_\r
+            , typename t1::type, typename t2::type, typename t3::type\r
+            , typename t4::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename U1, typename U2, typename U3, typename U4, typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind4< F,T1,T2,T3,T4 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(5, bind4)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , int dummy_\r
+    >\r
+struct bind< F,T1,T2,T3,T4,na >\r
+    : bind4< F,T1,T2,T3,T4 >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, int dummy_\r
+    >\r
+struct bind5\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;\r
+        typedef typename r0::type a0;\r
+        typedef typename r0::next n1;\r
+        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T1,n1 > r1;\r
+        typedef typename r1::type a1;\r
+        typedef typename r1::next n2;\r
+        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T2,n2 > r2;\r
+        typedef typename r2::type a2;\r
+        typedef typename r2::next n3;\r
+        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T3,n3 > r3;\r
+        typedef typename r3::type a3;\r
+        typedef typename r3::next n4;\r
+        typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T4,n4 > r4;\r
+        typedef typename r4::type a4;\r
+        typedef typename r4::next n5;\r
+        typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T5,n5 > r5;\r
+        typedef typename r5::type a5;\r
+        typedef typename r5::next n6;\r
+        typedef aux::resolve_bind_arg< a5,U1,U2,U3,U4,U5 > t5;\r
+        ///\r
+     public:\r
+        typedef typename apply_wrap5<\r
+              f_\r
+            , typename t1::type, typename t2::type, typename t3::type\r
+            , typename t4::type, typename t5::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename U1, typename U2, typename U3, typename U4\r
+    , typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind5< F,T1,T2,T3,T4,T5 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(6, bind5)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)\r
+\r
+/// primary template (not a specialization!)\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, int dummy_\r
+    >\r
+struct bind\r
+    : bind5< F,T1,T2,T3,T4,T5 >\r
+{\r
+};\r
+\r
+/// if_/eval_if specializations\r
+template< template< typename T1, typename T2, typename T3 > class F, typename Tag >\r
+struct quote3;\r
+\r
+template< typename T1, typename T2, typename T3 > struct if_;\r
+\r
+template<\r
+      typename Tag, typename T1, typename T2, typename T3\r
+    >\r
+struct bind3<\r
+      quote3< if_,Tag >\r
+    , T1, T2, T3\r
+    >\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef mpl::arg<1> n1;\r
+        typedef aux::replace_unnamed_arg< T1,n1 > r1;\r
+        typedef typename r1::type a1;\r
+        typedef typename r1::next n2;\r
+        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T2,n2 > r2;\r
+        typedef typename r2::type a2;\r
+        typedef typename r2::next n3;\r
+        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T3,n3 > r3;\r
+        typedef typename r3::type a3;\r
+        typedef typename r3::next n4;\r
+        typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;\r
+        ///\r
+        typedef typename if_<\r
+              typename t1::type\r
+            , t2, t3\r
+            >::type f_;\r
+\r
+     public:\r
+        typedef typename f_::type type;\r
+    };\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..dd59ba3
--- /dev/null
@@ -0,0 +1,53 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/bind_fwd.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename F, typename T1 = na, typename T2 = na, typename T3 = na\r
+    , typename T4 = na, typename T5 = na, int dummy_ = 0\r
+    >\r
+struct bind;\r
+\r
+template<\r
+      typename F, int dummy_ = 0\r
+    >\r
+struct bind0;\r
+\r
+template<\r
+      typename F, typename T1, int dummy_ = 0\r
+    >\r
+struct bind1;\r
+\r
+template<\r
+      typename F, typename T1, typename T2, int dummy_ = 0\r
+    >\r
+struct bind2;\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, int dummy_ = 0\r
+    >\r
+struct bind3;\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , int dummy_ = 0\r
+    >\r
+struct bind4;\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, int dummy_ = 0\r
+    >\r
+struct bind5;\r
+\r
+}}\r
+\r
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 (file)
index 0000000..38cf55e
--- /dev/null
@@ -0,0 +1,147 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright Jaap Suter 2003\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/bitand.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct bitand_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< bitand_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< bitand_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct bitand_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct bitand_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct bitand_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct bitand_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    , typename N3 = na, typename N4 = na, typename N5 = na\r
+    >\r
+struct bitand_\r
+    : bitand_< bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>, N5>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , bitand_\r
+        , ( N1, N2, N3, N4, N5 )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3, typename N4\r
+    >\r
+struct bitand_< N1,N2,N3,N4,na >\r
+\r
+    : bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , bitand_\r
+        , ( N1, N2, N3, N4, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3\r
+    >\r
+struct bitand_< N1,N2,N3,na,na >\r
+\r
+    : bitand_< bitand_< N1,N2 >, N3>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , bitand_\r
+        , ( N1, N2, N3, na, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2\r
+    >\r
+struct bitand_< N1,N2,na,na,na >\r
+    : bitand_impl<\r
+          typename bitand_tag<N1>::type\r
+        , typename bitand_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , bitand_\r
+        , ( N1, N2, na, na, na )\r
+        )\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+template<>\r
+struct bitand_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : integral_c<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value\r
+                  & BOOST_MPL_AUX_VALUE_WKND(N2)::value\r
+                )\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..2f4162d
--- /dev/null
@@ -0,0 +1,147 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright Jaap Suter 2003\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/bitor.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct bitor_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< bitor_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< bitor_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct bitor_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct bitor_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct bitor_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct bitor_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    , typename N3 = na, typename N4 = na, typename N5 = na\r
+    >\r
+struct bitor_\r
+    : bitor_< bitor_< bitor_< bitor_< N1,N2 >, N3>, N4>, N5>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , bitor_\r
+        , ( N1, N2, N3, N4, N5 )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3, typename N4\r
+    >\r
+struct bitor_< N1,N2,N3,N4,na >\r
+\r
+    : bitor_< bitor_< bitor_< N1,N2 >, N3>, N4>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , bitor_\r
+        , ( N1, N2, N3, N4, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3\r
+    >\r
+struct bitor_< N1,N2,N3,na,na >\r
+\r
+    : bitor_< bitor_< N1,N2 >, N3>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , bitor_\r
+        , ( N1, N2, N3, na, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2\r
+    >\r
+struct bitor_< N1,N2,na,na,na >\r
+    : bitor_impl<\r
+          typename bitor_tag<N1>::type\r
+        , typename bitor_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , bitor_\r
+        , ( N1, N2, na, na, na )\r
+        )\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 5, bitor_)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+template<>\r
+struct bitor_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : integral_c<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value\r
+                  | BOOST_MPL_AUX_VALUE_WKND(N2)::value\r
+                )\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..b4daf8d
--- /dev/null
@@ -0,0 +1,147 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright Jaap Suter 2003\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/bitxor.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct bitxor_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< bitxor_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< bitxor_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct bitxor_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct bitxor_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct bitxor_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct bitxor_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    , typename N3 = na, typename N4 = na, typename N5 = na\r
+    >\r
+struct bitxor_\r
+    : bitxor_< bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>, N5>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , bitxor_\r
+        , ( N1, N2, N3, N4, N5 )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3, typename N4\r
+    >\r
+struct bitxor_< N1,N2,N3,N4,na >\r
+\r
+    : bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , bitxor_\r
+        , ( N1, N2, N3, N4, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3\r
+    >\r
+struct bitxor_< N1,N2,N3,na,na >\r
+\r
+    : bitxor_< bitxor_< N1,N2 >, N3>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , bitxor_\r
+        , ( N1, N2, N3, na, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2\r
+    >\r
+struct bitxor_< N1,N2,na,na,na >\r
+    : bitxor_impl<\r
+          typename bitxor_tag<N1>::type\r
+        , typename bitxor_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , bitxor_\r
+        , ( N1, N2, na, na, na )\r
+        )\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+template<>\r
+struct bitxor_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : integral_c<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value\r
+                  ^ BOOST_MPL_AUX_VALUE_WKND(N2)::value\r
+                )\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..ede9716
--- /dev/null
@@ -0,0 +1,323 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/deque.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na\r
+    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na\r
+    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na\r
+    , typename T12 = na, typename T13 = na, typename T14 = na\r
+    , typename T15 = na, typename T16 = na, typename T17 = na\r
+    , typename T18 = na, typename T19 = na\r
+    >\r
+struct deque;\r
+\r
+template<\r
+     \r
+    >\r
+struct deque<\r
+          na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector0<  >\r
+{\r
+    typedef vector0<  >::type type;\r
+};\r
+\r
+template<\r
+      typename T0\r
+    >\r
+struct deque<\r
+          T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector1<T0>\r
+{\r
+    typedef typename vector1<T0>::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1\r
+    >\r
+struct deque<\r
+          T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector2< T0,T1 >\r
+{\r
+    typedef typename vector2< T0,T1 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2\r
+    >\r
+struct deque<\r
+          T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector3< T0,T1,T2 >\r
+{\r
+    typedef typename vector3< T0,T1,T2 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector4< T0,T1,T2,T3 >\r
+{\r
+    typedef typename vector4< T0,T1,T2,T3 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector5< T0,T1,T2,T3,T4 >\r
+{\r
+    typedef typename vector5< T0,T1,T2,T3,T4 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector6< T0,T1,T2,T3,T4,T5 >\r
+{\r
+    typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector7< T0,T1,T2,T3,T4,T5,T6 >\r
+{\r
+    typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector8< T0,T1,T2,T3,T4,T5,T6,T7 >\r
+{\r
+    typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >\r
+{\r
+    typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >\r
+{\r
+    typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >\r
+{\r
+    typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na\r
+        , na, na, na, na\r
+        >\r
+    : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >\r
+{\r
+    typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na\r
+        , na, na, na, na\r
+        >\r
+    : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >\r
+{\r
+    typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na\r
+        , na, na, na, na\r
+        >\r
+    : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >\r
+{\r
+    typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na\r
+        , na, na, na, na\r
+        >\r
+    : vector15<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        >\r
+{\r
+    typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, na, na, na, na\r
+        >\r
+    : vector16<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15\r
+        >\r
+{\r
+    typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, na, na, na\r
+        >\r
+    : vector17<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16\r
+        >\r
+{\r
+    typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, na, na\r
+        >\r
+    : vector18<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17\r
+        >\r
+{\r
+    typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18, na\r
+        >\r
+    : vector19<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18\r
+        >\r
+{\r
+    typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;\r
+};\r
+\r
+/// primary template (not a specialization!)\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    >\r
+struct deque\r
+    : vector20<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18, T19\r
+        >\r
+{\r
+    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;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..55d9396
--- /dev/null
@@ -0,0 +1,146 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/divides.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct divides_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< divides_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< divides_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct divides_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct divides_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct divides_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct divides_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    , typename N3 = na, typename N4 = na, typename N5 = na\r
+    >\r
+struct divides\r
+    : divides< divides< divides< divides< N1,N2 >, N3>, N4>, N5>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , divides\r
+        , ( N1, N2, N3, N4, N5 )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3, typename N4\r
+    >\r
+struct divides< N1,N2,N3,N4,na >\r
+\r
+    : divides< divides< divides< N1,N2 >, N3>, N4>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , divides\r
+        , ( N1, N2, N3, N4, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3\r
+    >\r
+struct divides< N1,N2,N3,na,na >\r
+\r
+    : divides< divides< N1,N2 >, N3>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , divides\r
+        , ( N1, N2, N3, na, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2\r
+    >\r
+struct divides< N1,N2,na,na,na >\r
+    : divides_impl<\r
+          typename divides_tag<N1>::type\r
+        , typename divides_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , divides\r
+        , ( N1, N2, na, na, na )\r
+        )\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 5, divides)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+template<>\r
+struct divides_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : integral_c<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value\r
+                  / BOOST_MPL_AUX_VALUE_WKND(N2)::value\r
+                )\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..211236e
--- /dev/null
@@ -0,0 +1,94 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/equal_to.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct equal_to_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct equal_to_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct equal_to_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct equal_to_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct equal_to_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct equal_to\r
+\r
+    : equal_to_impl<\r
+          typename equal_to_tag<N1>::type\r
+        , typename equal_to_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, equal_to, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct equal_to_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value  == BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..6d94f48
--- /dev/null
@@ -0,0 +1,180 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/fold_impl.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+/// forward declaration\r
+\r
+template<\r
+      int N\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct fold_impl;\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct fold_impl< 0,First,Last,State,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State state0;\r
+    typedef state0 state;\r
+    typedef iter0 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct fold_impl< 1,First,Last,State,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State state0;\r
+    typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    \r
+\r
+    typedef state1 state;\r
+    typedef iter1 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct fold_impl< 2,First,Last,State,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State state0;\r
+    typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;\r
+    typedef typename mpl::next<iter1>::type iter2;\r
+    \r
+\r
+    typedef state2 state;\r
+    typedef iter2 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct fold_impl< 3,First,Last,State,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State state0;\r
+    typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;\r
+    typedef typename mpl::next<iter1>::type iter2;\r
+    typedef typename apply2< ForwardOp, state2, typename deref<iter2>::type >::type state3;\r
+    typedef typename mpl::next<iter2>::type iter3;\r
+    \r
+\r
+    typedef state3 state;\r
+    typedef iter3 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct fold_impl< 4,First,Last,State,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State state0;\r
+    typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;\r
+    typedef typename mpl::next<iter1>::type iter2;\r
+    typedef typename apply2< ForwardOp, state2, typename deref<iter2>::type >::type state3;\r
+    typedef typename mpl::next<iter2>::type iter3;\r
+    typedef typename apply2< ForwardOp, state3, typename deref<iter3>::type >::type state4;\r
+    typedef typename mpl::next<iter3>::type iter4;\r
+    \r
+\r
+    typedef state4 state;\r
+    typedef iter4 iterator;\r
+};\r
+\r
+template<\r
+      int N\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct fold_impl\r
+{\r
+    typedef fold_impl<\r
+          4\r
+        , First\r
+        , Last\r
+        , State\r
+        , ForwardOp\r
+        > chunk_;\r
+\r
+    typedef fold_impl<\r
+          ( (N - 4) < 0 ? 0 : N - 4 )\r
+        , typename chunk_::iterator\r
+        , Last\r
+        , typename chunk_::state\r
+        , ForwardOp\r
+        > res_;\r
+\r
+    typedef typename res_::state state;\r
+    typedef typename res_::iterator iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct fold_impl< -1,First,Last,State,ForwardOp >\r
+    : fold_impl<\r
+          -1\r
+        , typename mpl::next<First>::type\r
+        , Last\r
+        , typename apply2<ForwardOp,State, typename deref<First>::type>::type\r
+        , ForwardOp\r
+        >\r
+{\r
+};\r
+\r
+template<\r
+      typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct fold_impl< -1,Last,Last,State,ForwardOp >\r
+{\r
+    typedef State state;\r
+    typedef Last iterator;\r
+};\r
+\r
+}}}\r
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 (file)
index 0000000..c77602f
--- /dev/null
@@ -0,0 +1,536 @@
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/full_lambda.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+\r
+template<\r
+      bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false\r
+    , bool C5 = false\r
+    >\r
+struct lambda_or\r
+    : true_\r
+{\r
+};\r
+\r
+template<>\r
+struct lambda_or< false,false,false,false,false >\r
+    : false_\r
+{\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename T\r
+    , typename Tag\r
+   \r
+    >\r
+struct lambda\r
+{\r
+    typedef false_ is_le;\r
+    typedef T result_;\r
+    typedef T type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    >\r
+struct is_lambda_expression\r
+    : lambda<T>::is_le\r
+{\r
+};\r
+\r
+template< int N, typename Tag >\r
+struct lambda< arg<N>, Tag >\r
+{\r
+    typedef true_ is_le;\r
+    typedef mpl::arg<N> result_; // qualified for the sake of MIPSpro 7.41\r
+    typedef mpl::protect<result_> type;\r
+};\r
+\r
+template<\r
+      typename F\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          bind0<F>\r
+        , Tag\r
+       \r
+        >\r
+{\r
+    typedef false_ is_le;\r
+    typedef bind0<\r
+          F\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename IsLE, typename Tag\r
+    , template< typename P1 > class F\r
+    , typename L1\r
+    >\r
+struct le_result1\r
+{\r
+    typedef F<\r
+          typename L1::type\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+template<\r
+      typename Tag\r
+    , template< typename P1 > class F\r
+    , typename L1\r
+    >\r
+struct le_result1< true_,Tag,F,L1 >\r
+{\r
+    typedef bind1<\r
+          quote1< F,Tag >\r
+        , typename L1::result_\r
+        > result_;\r
+\r
+    typedef mpl::protect<result_> type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      template< typename P1 > class F\r
+    , typename T1\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          F<T1>\r
+        , Tag\r
+       \r
+        >\r
+{\r
+    typedef lambda< T1,Tag > l1;\r
+    typedef typename l1::is_le is_le1;\r
+    typedef typename aux::lambda_or<\r
+          is_le1::value\r
+        >::type is_le;\r
+\r
+    typedef aux::le_result1<\r
+          is_le, Tag, F, l1\r
+        > le_result_;\r
+\r
+    typedef typename le_result_::result_ result_;\r
+    typedef typename le_result_::type type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          bind1< F,T1 >\r
+        , Tag\r
+       \r
+        >\r
+{\r
+    typedef false_ is_le;\r
+    typedef bind1<\r
+          F\r
+        , T1\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename IsLE, typename Tag\r
+    , template< typename P1, typename P2 > class F\r
+    , typename L1, typename L2\r
+    >\r
+struct le_result2\r
+{\r
+    typedef F<\r
+          typename L1::type, typename L2::type\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+template<\r
+      typename Tag\r
+    , template< typename P1, typename P2 > class F\r
+    , typename L1, typename L2\r
+    >\r
+struct le_result2< true_,Tag,F,L1,L2 >\r
+{\r
+    typedef bind2<\r
+          quote2< F,Tag >\r
+        , typename L1::result_, typename L2::result_\r
+        > result_;\r
+\r
+    typedef mpl::protect<result_> type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      template< typename P1, typename P2 > class F\r
+    , typename T1, typename T2\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          F< T1,T2 >\r
+        , Tag\r
+       \r
+        >\r
+{\r
+    typedef lambda< T1,Tag > l1;\r
+    typedef lambda< T2,Tag > l2;\r
+    \r
+    typedef typename l1::is_le is_le1;\r
+    typedef typename l2::is_le is_le2;\r
+    \r
+\r
+    typedef typename aux::lambda_or<\r
+          is_le1::value, is_le2::value\r
+        >::type is_le;\r
+\r
+    typedef aux::le_result2<\r
+          is_le, Tag, F, l1, l2\r
+        > le_result_;\r
+\r
+    typedef typename le_result_::result_ result_;\r
+    typedef typename le_result_::type type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          bind2< F,T1,T2 >\r
+        , Tag\r
+       \r
+        >\r
+{\r
+    typedef false_ is_le;\r
+    typedef bind2<\r
+          F\r
+        , T1, T2\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename IsLE, typename Tag\r
+    , template< typename P1, typename P2, typename P3 > class F\r
+    , typename L1, typename L2, typename L3\r
+    >\r
+struct le_result3\r
+{\r
+    typedef F<\r
+          typename L1::type, typename L2::type, typename L3::type\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+template<\r
+      typename Tag\r
+    , template< typename P1, typename P2, typename P3 > class F\r
+    , typename L1, typename L2, typename L3\r
+    >\r
+struct le_result3< true_,Tag,F,L1,L2,L3 >\r
+{\r
+    typedef bind3<\r
+          quote3< F,Tag >\r
+        , typename L1::result_, typename L2::result_, typename L3::result_\r
+        > result_;\r
+\r
+    typedef mpl::protect<result_> type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      template< typename P1, typename P2, typename P3 > class F\r
+    , typename T1, typename T2, typename T3\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          F< T1,T2,T3 >\r
+        , Tag\r
+       \r
+        >\r
+{\r
+    typedef lambda< T1,Tag > l1;\r
+    typedef lambda< T2,Tag > l2;\r
+    typedef lambda< T3,Tag > l3;\r
+    \r
+    typedef typename l1::is_le is_le1;\r
+    typedef typename l2::is_le is_le2;\r
+    typedef typename l3::is_le is_le3;\r
+    \r
+\r
+    typedef typename aux::lambda_or<\r
+          is_le1::value, is_le2::value, is_le3::value\r
+        >::type is_le;\r
+\r
+    typedef aux::le_result3<\r
+          is_le, Tag, F, l1, l2, l3\r
+        > le_result_;\r
+\r
+    typedef typename le_result_::result_ result_;\r
+    typedef typename le_result_::type type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          bind3< F,T1,T2,T3 >\r
+        , Tag\r
+       \r
+        >\r
+{\r
+    typedef false_ is_le;\r
+    typedef bind3<\r
+          F\r
+        , T1, T2, T3\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename IsLE, typename Tag\r
+    , template< typename P1, typename P2, typename P3, typename P4 > class F\r
+    , typename L1, typename L2, typename L3, typename L4\r
+    >\r
+struct le_result4\r
+{\r
+    typedef F<\r
+          typename L1::type, typename L2::type, typename L3::type\r
+        , typename L4::type\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+template<\r
+      typename Tag\r
+    , template< typename P1, typename P2, typename P3, typename P4 > class F\r
+    , typename L1, typename L2, typename L3, typename L4\r
+    >\r
+struct le_result4< true_,Tag,F,L1,L2,L3,L4 >\r
+{\r
+    typedef bind4<\r
+          quote4< F,Tag >\r
+        , typename L1::result_, typename L2::result_, typename L3::result_\r
+        , typename L4::result_\r
+        > result_;\r
+\r
+    typedef mpl::protect<result_> type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      template< typename P1, typename P2, typename P3, typename P4 > class F\r
+    , typename T1, typename T2, typename T3, typename T4\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          F< T1,T2,T3,T4 >\r
+        , Tag\r
+       \r
+        >\r
+{\r
+    typedef lambda< T1,Tag > l1;\r
+    typedef lambda< T2,Tag > l2;\r
+    typedef lambda< T3,Tag > l3;\r
+    typedef lambda< T4,Tag > l4;\r
+    \r
+    typedef typename l1::is_le is_le1;\r
+    typedef typename l2::is_le is_le2;\r
+    typedef typename l3::is_le is_le3;\r
+    typedef typename l4::is_le is_le4;\r
+    \r
+\r
+    typedef typename aux::lambda_or<\r
+          is_le1::value, is_le2::value, is_le3::value, is_le4::value\r
+        >::type is_le;\r
+\r
+    typedef aux::le_result4<\r
+          is_le, Tag, F, l1, l2, l3, l4\r
+        > le_result_;\r
+\r
+    typedef typename le_result_::result_ result_;\r
+    typedef typename le_result_::type type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          bind4< F,T1,T2,T3,T4 >\r
+        , Tag\r
+       \r
+        >\r
+{\r
+    typedef false_ is_le;\r
+    typedef bind4<\r
+          F\r
+        , T1, T2, T3, T4\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename IsLE, typename Tag\r
+    , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F\r
+    , typename L1, typename L2, typename L3, typename L4, typename L5\r
+    >\r
+struct le_result5\r
+{\r
+    typedef F<\r
+          typename L1::type, typename L2::type, typename L3::type\r
+        , typename L4::type, typename L5::type\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+template<\r
+      typename Tag\r
+    , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F\r
+    , typename L1, typename L2, typename L3, typename L4, typename L5\r
+    >\r
+struct le_result5< true_,Tag,F,L1,L2,L3,L4,L5 >\r
+{\r
+    typedef bind5<\r
+          quote5< F,Tag >\r
+        , typename L1::result_, typename L2::result_, typename L3::result_\r
+        , typename L4::result_, typename L5::result_\r
+        > result_;\r
+\r
+    typedef mpl::protect<result_> type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      template<\r
+          typename P1, typename P2, typename P3, typename P4\r
+        , typename P5\r
+        >\r
+      class F\r
+    , typename T1, typename T2, typename T3, typename T4, typename T5\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          F< T1,T2,T3,T4,T5 >\r
+        , Tag\r
+       \r
+        >\r
+{\r
+    typedef lambda< T1,Tag > l1;\r
+    typedef lambda< T2,Tag > l2;\r
+    typedef lambda< T3,Tag > l3;\r
+    typedef lambda< T4,Tag > l4;\r
+    typedef lambda< T5,Tag > l5;\r
+    \r
+    typedef typename l1::is_le is_le1;\r
+    typedef typename l2::is_le is_le2;\r
+    typedef typename l3::is_le is_le3;\r
+    typedef typename l4::is_le is_le4;\r
+    typedef typename l5::is_le is_le5;\r
+    \r
+\r
+    typedef typename aux::lambda_or<\r
+          is_le1::value, is_le2::value, is_le3::value, is_le4::value\r
+        , is_le5::value\r
+        >::type is_le;\r
+\r
+    typedef aux::le_result5<\r
+          is_le, Tag, F, l1, l2, l3, l4, l5\r
+        > le_result_;\r
+\r
+    typedef typename le_result_::result_ result_;\r
+    typedef typename le_result_::type type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          bind5< F,T1,T2,T3,T4,T5 >\r
+        , Tag\r
+       \r
+        >\r
+{\r
+    typedef false_ is_le;\r
+    typedef bind5<\r
+          F\r
+        , T1, T2, T3, T4, T5\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+/// special case for 'protect'\r
+template< typename T, typename Tag >\r
+struct lambda< mpl::protect<T>, Tag >\r
+{\r
+    typedef false_ is_le;\r
+    typedef mpl::protect<T> result_;\r
+    typedef result_ type;\r
+};\r
+\r
+/// specializations for the main 'bind' form\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          bind< F,T1,T2,T3,T4,T5 >\r
+        , Tag\r
+       \r
+        >\r
+{\r
+    typedef false_ is_le;\r
+    typedef bind< F,T1,T2,T3,T4,T5 > result_;\r
+    typedef result_ type;\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(2, lambda)\r
+\r
+}}\r
+\r
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 (file)
index 0000000..e626a2b
--- /dev/null
@@ -0,0 +1,94 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/greater.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct greater_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< greater_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< greater_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct greater_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct greater_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct greater_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct greater_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct greater\r
+\r
+    : greater_impl<\r
+          typename greater_tag<N1>::type\r
+        , typename greater_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, greater)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct greater_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value > BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..a4bc28e
--- /dev/null
@@ -0,0 +1,94 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/greater_equal.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct greater_equal_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< greater_equal_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< greater_equal_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct greater_equal_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct greater_equal_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct greater_equal_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct greater_equal_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct greater_equal\r
+\r
+    : greater_equal_impl<\r
+          typename greater_equal_tag<N1>::type\r
+        , typename greater_equal_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater_equal, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct greater_equal_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..3eb3bae
--- /dev/null
@@ -0,0 +1,141 @@
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/inherit.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(T1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(T2)\r
+    >\r
+struct inherit2\r
+    : T1, T2\r
+{\r
+    typedef inherit2 type;\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1, T2))\r
+};\r
+\r
+template< typename T1 >\r
+struct inherit2< T1,empty_base >\r
+{\r
+    typedef T1 type;\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (T1, empty_base))\r
+};\r
+\r
+template< typename T2 >\r
+struct inherit2< empty_base,T2 >\r
+{\r
+    typedef T2 type;\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, T2))\r
+};\r
+\r
+template<>\r
+struct inherit2< empty_base,empty_base >\r
+{\r
+    typedef empty_base type;\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, empty_base))\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(2, inherit2)\r
+\r
+template<\r
+      typename T1 = na, typename T2 = na, typename T3 = na\r
+    >\r
+struct inherit3\r
+    : inherit2<\r
+          typename inherit2<\r
+              T1, T2\r
+            >::type\r
+        , T3\r
+        >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          3\r
+        , inherit3\r
+        , ( T1, T2, T3)\r
+        )\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(3, inherit3)\r
+\r
+template<\r
+      typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na\r
+    >\r
+struct inherit4\r
+    : inherit2<\r
+          typename inherit3<\r
+              T1, T2, T3\r
+            >::type\r
+        , T4\r
+        >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          4\r
+        , inherit4\r
+        , ( T1, T2, T3, T4)\r
+        )\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(4, inherit4)\r
+\r
+template<\r
+      typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na\r
+    , typename T5 = na\r
+    >\r
+struct inherit5\r
+    : inherit2<\r
+          typename inherit4<\r
+              T1, T2, T3, T4\r
+            >::type\r
+        , T5\r
+        >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , inherit5\r
+        , ( T1, T2, T3, T4, T5)\r
+        )\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(5, inherit5)\r
+\r
+/// primary template\r
+\r
+template<\r
+      typename T1 = empty_base, typename T2 = empty_base\r
+    , typename T3 = empty_base, typename T4 = empty_base\r
+    , typename T5 = empty_base\r
+    >\r
+struct inherit\r
+    : inherit5< T1,T2,T3,T4,T5 >\r
+{\r
+};\r
+\r
+template<>\r
+struct inherit< na,na,na,na,na >\r
+{\r
+    template<\r
+\r
+          typename T1 = empty_base, typename T2 = empty_base\r
+        , typename T3 = empty_base, typename T4 = empty_base\r
+        , typename T5 = empty_base\r
+\r
+        >\r
+    struct apply\r
+        : inherit< T1,T2,T3,T4,T5 >\r
+    {\r
+    };\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit)\r
+BOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit)\r
+BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit)\r
+}}\r
+\r
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 (file)
index 0000000..233e7dd
--- /dev/null
@@ -0,0 +1,133 @@
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+// Copyright David Abrahams 2001-2002\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/iter_fold_if_impl.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+template< typename Iterator, typename State >\r
+struct iter_fold_if_null_step\r
+{\r
+    typedef State state;\r
+    typedef Iterator iterator;\r
+};\r
+\r
+template< bool >\r
+struct iter_fold_if_step_impl\r
+{\r
+    template<\r
+          typename Iterator\r
+        , typename State\r
+        , typename StateOp\r
+        , typename IteratorOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename apply2< StateOp,State,Iterator >::type state;\r
+        typedef typename IteratorOp::type iterator;\r
+    };\r
+};\r
+\r
+template<>\r
+struct iter_fold_if_step_impl<false>\r
+{\r
+    template<\r
+          typename Iterator\r
+        , typename State\r
+        , typename StateOp\r
+        , typename IteratorOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef State state;\r
+        typedef Iterator iterator;\r
+    };\r
+};\r
+\r
+template<\r
+      typename Iterator\r
+    , typename State\r
+    , typename ForwardOp\r
+    , typename Predicate\r
+    >\r
+struct iter_fold_if_forward_step\r
+{\r
+    typedef typename apply2< Predicate,State,Iterator >::type not_last;\r
+    typedef typename iter_fold_if_step_impl<\r
+          BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value\r
+        >::template result_< Iterator,State,ForwardOp, mpl::next<Iterator> > impl_;\r
+\r
+    typedef typename impl_::state state;\r
+    typedef typename impl_::iterator iterator;\r
+};\r
+\r
+template<\r
+      typename Iterator\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename Predicate\r
+    >\r
+struct iter_fold_if_backward_step\r
+{\r
+    typedef typename apply2< Predicate,State,Iterator >::type not_last;\r
+    typedef typename iter_fold_if_step_impl<\r
+          BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value\r
+        >::template result_< Iterator,State,BackwardOp, identity<Iterator> > impl_;\r
+\r
+    typedef typename impl_::state state;\r
+    typedef typename impl_::iterator iterator;\r
+};\r
+\r
+template<\r
+      typename Iterator\r
+    , typename State\r
+    , typename ForwardOp\r
+    , typename ForwardPredicate\r
+    , typename BackwardOp\r
+    , typename BackwardPredicate\r
+    >\r
+struct iter_fold_if_impl\r
+{\r
+ private:\r
+    typedef iter_fold_if_null_step< Iterator,State > forward_step0;\r
+    typedef iter_fold_if_forward_step< typename forward_step0::iterator, typename forward_step0::state, ForwardOp, ForwardPredicate > forward_step1;\r
+    typedef iter_fold_if_forward_step< typename forward_step1::iterator, typename forward_step1::state, ForwardOp, ForwardPredicate > forward_step2;\r
+    typedef iter_fold_if_forward_step< typename forward_step2::iterator, typename forward_step2::state, ForwardOp, ForwardPredicate > forward_step3;\r
+    typedef iter_fold_if_forward_step< typename forward_step3::iterator, typename forward_step3::state, ForwardOp, ForwardPredicate > forward_step4;\r
+    \r
+\r
+    typedef typename if_<\r
+          typename forward_step4::not_last\r
+        , iter_fold_if_impl<\r
+              typename forward_step4::iterator\r
+            , typename forward_step4::state\r
+            , ForwardOp\r
+            , ForwardPredicate\r
+            , BackwardOp\r
+            , BackwardPredicate\r
+            >\r
+        , iter_fold_if_null_step<\r
+              typename forward_step4::iterator\r
+            , typename forward_step4::state\r
+            >\r
+        >::type backward_step4;\r
+\r
+    typedef iter_fold_if_backward_step< typename forward_step3::iterator, typename backward_step4::state, BackwardOp, BackwardPredicate > backward_step3;\r
+    typedef iter_fold_if_backward_step< typename forward_step2::iterator, typename backward_step3::state, BackwardOp, BackwardPredicate > backward_step2;\r
+    typedef iter_fold_if_backward_step< typename forward_step1::iterator, typename backward_step2::state, BackwardOp, BackwardPredicate > backward_step1;\r
+    typedef iter_fold_if_backward_step< typename forward_step0::iterator, typename backward_step1::state, BackwardOp, BackwardPredicate > backward_step0;\r
+    \r
+\r
+ public:\r
+    typedef typename backward_step0::state state;\r
+    typedef typename backward_step4::iterator iterator;\r
+};\r
+\r
+}}}\r
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 (file)
index 0000000..f633d1b
--- /dev/null
@@ -0,0 +1,180 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/iter_fold_impl.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+/// forward declaration\r
+\r
+template<\r
+      int N\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct iter_fold_impl;\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct iter_fold_impl< 0,First,Last,State,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State state0;\r
+    typedef state0 state;\r
+    typedef iter0 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct iter_fold_impl< 1,First,Last,State,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State state0;\r
+    typedef typename apply2< ForwardOp,state0,iter0 >::type state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    \r
+\r
+    typedef state1 state;\r
+    typedef iter1 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct iter_fold_impl< 2,First,Last,State,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State state0;\r
+    typedef typename apply2< ForwardOp,state0,iter0 >::type state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    typedef typename apply2< ForwardOp,state1,iter1 >::type state2;\r
+    typedef typename mpl::next<iter1>::type iter2;\r
+    \r
+\r
+    typedef state2 state;\r
+    typedef iter2 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct iter_fold_impl< 3,First,Last,State,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State state0;\r
+    typedef typename apply2< ForwardOp,state0,iter0 >::type state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    typedef typename apply2< ForwardOp,state1,iter1 >::type state2;\r
+    typedef typename mpl::next<iter1>::type iter2;\r
+    typedef typename apply2< ForwardOp,state2,iter2 >::type state3;\r
+    typedef typename mpl::next<iter2>::type iter3;\r
+    \r
+\r
+    typedef state3 state;\r
+    typedef iter3 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct iter_fold_impl< 4,First,Last,State,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State state0;\r
+    typedef typename apply2< ForwardOp,state0,iter0 >::type state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    typedef typename apply2< ForwardOp,state1,iter1 >::type state2;\r
+    typedef typename mpl::next<iter1>::type iter2;\r
+    typedef typename apply2< ForwardOp,state2,iter2 >::type state3;\r
+    typedef typename mpl::next<iter2>::type iter3;\r
+    typedef typename apply2< ForwardOp,state3,iter3 >::type state4;\r
+    typedef typename mpl::next<iter3>::type iter4;\r
+    \r
+\r
+    typedef state4 state;\r
+    typedef iter4 iterator;\r
+};\r
+\r
+template<\r
+      int N\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct iter_fold_impl\r
+{\r
+    typedef iter_fold_impl<\r
+          4\r
+        , First\r
+        , Last\r
+        , State\r
+        , ForwardOp\r
+        > chunk_;\r
+\r
+    typedef iter_fold_impl<\r
+          ( (N - 4) < 0 ? 0 : N - 4 )\r
+        , typename chunk_::iterator\r
+        , Last\r
+        , typename chunk_::state\r
+        , ForwardOp\r
+        > res_;\r
+\r
+    typedef typename res_::state state;\r
+    typedef typename res_::iterator iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct iter_fold_impl< -1,First,Last,State,ForwardOp >\r
+    : iter_fold_impl<\r
+          -1\r
+        , typename mpl::next<First>::type\r
+        , Last\r
+        , typename apply2< ForwardOp,State,First >::type\r
+        , ForwardOp\r
+        >\r
+{\r
+};\r
+\r
+template<\r
+      typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct iter_fold_impl< -1,Last,Last,State,ForwardOp >\r
+{\r
+    typedef State state;\r
+    typedef Last iterator;\r
+};\r
+\r
+}}}\r
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 (file)
index 0000000..c4ac608
--- /dev/null
@@ -0,0 +1,229 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/lambda_no_ctps.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+\r
+template<\r
+      bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false\r
+    , bool C5 = false\r
+    >\r
+struct lambda_or\r
+    : true_\r
+{\r
+};\r
+\r
+template<>\r
+struct lambda_or< false,false,false,false,false >\r
+    : false_\r
+{\r
+};\r
+\r
+template< typename Arity > struct lambda_impl\r
+{\r
+    template< typename T, typename Tag, typename Protect > struct result_\r
+    {\r
+        typedef T type;\r
+        typedef is_placeholder<T> is_le;\r
+    };\r
+};\r
+\r
+template<> struct lambda_impl< int_<1> >\r
+{\r
+    template< typename F, typename Tag, typename Protect > struct result_\r
+    {\r
+        typedef lambda< typename F::arg1, Tag, false_ > l1;\r
+        typedef typename l1::is_le is_le1;\r
+        typedef aux::lambda_or<\r
+              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value\r
+            > is_le;\r
+\r
+        typedef bind1<\r
+              typename F::rebind\r
+            , typename l1::type\r
+            > bind_;\r
+\r
+        typedef typename if_<\r
+              is_le\r
+            , if_< Protect, mpl::protect<bind_>, bind_ >\r
+            , identity<F>\r
+            >::type type_;\r
+\r
+        typedef typename type_::type type;\r
+    };\r
+};\r
+\r
+template<> struct lambda_impl< int_<2> >\r
+{\r
+    template< typename F, typename Tag, typename Protect > struct result_\r
+    {\r
+        typedef lambda< typename F::arg1, Tag, false_ > l1;\r
+        typedef lambda< typename F::arg2, Tag, false_ > l2;\r
+        \r
+        typedef typename l1::is_le is_le1;\r
+        typedef typename l2::is_le is_le2;\r
+        \r
+\r
+        typedef aux::lambda_or<\r
+              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value\r
+            > is_le;\r
+\r
+        typedef bind2<\r
+              typename F::rebind\r
+            , typename l1::type, typename l2::type\r
+            > bind_;\r
+\r
+        typedef typename if_<\r
+              is_le\r
+            , if_< Protect, mpl::protect<bind_>, bind_ >\r
+            , identity<F>\r
+            >::type type_;\r
+\r
+        typedef typename type_::type type;\r
+    };\r
+};\r
+\r
+template<> struct lambda_impl< int_<3> >\r
+{\r
+    template< typename F, typename Tag, typename Protect > struct result_\r
+    {\r
+        typedef lambda< typename F::arg1, Tag, false_ > l1;\r
+        typedef lambda< typename F::arg2, Tag, false_ > l2;\r
+        typedef lambda< typename F::arg3, Tag, false_ > l3;\r
+        \r
+        typedef typename l1::is_le is_le1;\r
+        typedef typename l2::is_le is_le2;\r
+        typedef typename l3::is_le is_le3;\r
+        \r
+\r
+        typedef aux::lambda_or<\r
+              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\r
+            > is_le;\r
+\r
+        typedef bind3<\r
+              typename F::rebind\r
+            , typename l1::type, typename l2::type, typename l3::type\r
+            > bind_;\r
+\r
+        typedef typename if_<\r
+              is_le\r
+            , if_< Protect, mpl::protect<bind_>, bind_ >\r
+            , identity<F>\r
+            >::type type_;\r
+\r
+        typedef typename type_::type type;\r
+    };\r
+};\r
+\r
+template<> struct lambda_impl< int_<4> >\r
+{\r
+    template< typename F, typename Tag, typename Protect > struct result_\r
+    {\r
+        typedef lambda< typename F::arg1, Tag, false_ > l1;\r
+        typedef lambda< typename F::arg2, Tag, false_ > l2;\r
+        typedef lambda< typename F::arg3, Tag, false_ > l3;\r
+        typedef lambda< typename F::arg4, Tag, false_ > l4;\r
+        \r
+        typedef typename l1::is_le is_le1;\r
+        typedef typename l2::is_le is_le2;\r
+        typedef typename l3::is_le is_le3;\r
+        typedef typename l4::is_le is_le4;\r
+        \r
+\r
+        typedef aux::lambda_or<\r
+              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\r
+            > is_le;\r
+\r
+        typedef bind4<\r
+              typename F::rebind\r
+            , typename l1::type, typename l2::type, typename l3::type\r
+            , typename l4::type\r
+            > bind_;\r
+\r
+        typedef typename if_<\r
+              is_le\r
+            , if_< Protect, mpl::protect<bind_>, bind_ >\r
+            , identity<F>\r
+            >::type type_;\r
+\r
+        typedef typename type_::type type;\r
+    };\r
+};\r
+\r
+template<> struct lambda_impl< int_<5> >\r
+{\r
+    template< typename F, typename Tag, typename Protect > struct result_\r
+    {\r
+        typedef lambda< typename F::arg1, Tag, false_ > l1;\r
+        typedef lambda< typename F::arg2, Tag, false_ > l2;\r
+        typedef lambda< typename F::arg3, Tag, false_ > l3;\r
+        typedef lambda< typename F::arg4, Tag, false_ > l4;\r
+        typedef lambda< typename F::arg5, Tag, false_ > l5;\r
+        \r
+        typedef typename l1::is_le is_le1;\r
+        typedef typename l2::is_le is_le2;\r
+        typedef typename l3::is_le is_le3;\r
+        typedef typename l4::is_le is_le4;\r
+        typedef typename l5::is_le is_le5;\r
+        \r
+\r
+        typedef aux::lambda_or<\r
+              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\r
+            > is_le;\r
+\r
+        typedef bind5<\r
+              typename F::rebind\r
+            , typename l1::type, typename l2::type, typename l3::type\r
+            , typename l4::type, typename l5::type\r
+            > bind_;\r
+\r
+        typedef typename if_<\r
+              is_le\r
+            , if_< Protect, mpl::protect<bind_>, bind_ >\r
+            , identity<F>\r
+            >::type type_;\r
+\r
+        typedef typename type_::type type;\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename T\r
+    , typename Tag\r
+    , typename Protect\r
+    >\r
+struct lambda\r
+{\r
+    /// Metafunction forwarding confuses MSVC 6.x\r
+    typedef typename aux::template_arity<T>::type arity_;\r
+    typedef typename aux::lambda_impl<arity_>\r
+        ::template result_< T,Tag,Protect > l_;\r
+\r
+    typedef typename l_::type type;\r
+    typedef typename l_::is_le is_le;\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect))\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(1, 3, lambda)\r
+\r
+template<\r
+      typename T\r
+    >\r
+struct is_lambda_expression\r
+    : lambda<T>::is_le\r
+{\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..01dc25f
--- /dev/null
@@ -0,0 +1,94 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/less.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct less_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< less_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< less_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct less_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct less_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct less_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct less_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct less\r
+\r
+    : less_impl<\r
+          typename less_tag<N1>::type\r
+        , typename less_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, less)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct less_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N2)::value > BOOST_MPL_AUX_VALUE_WKND(N1)::value ) >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..233e936
--- /dev/null
@@ -0,0 +1,94 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/less_equal.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct less_equal_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< less_equal_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< less_equal_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct less_equal_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct less_equal_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct less_equal_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct less_equal_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct less_equal\r
+\r
+    : less_equal_impl<\r
+          typename less_equal_tag<N1>::type\r
+        , typename less_equal_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less_equal, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct less_equal_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value <= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..1dcd58b
--- /dev/null
@@ -0,0 +1,323 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/list.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na\r
+    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na\r
+    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na\r
+    , typename T12 = na, typename T13 = na, typename T14 = na\r
+    , typename T15 = na, typename T16 = na, typename T17 = na\r
+    , typename T18 = na, typename T19 = na\r
+    >\r
+struct list;\r
+\r
+template<\r
+     \r
+    >\r
+struct list<\r
+          na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list0<  >\r
+{\r
+    typedef list0<  >::type type;\r
+};\r
+\r
+template<\r
+      typename T0\r
+    >\r
+struct list<\r
+          T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list1<T0>\r
+{\r
+    typedef typename list1<T0>::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1\r
+    >\r
+struct list<\r
+          T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list2< T0,T1 >\r
+{\r
+    typedef typename list2< T0,T1 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2\r
+    >\r
+struct list<\r
+          T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list3< T0,T1,T2 >\r
+{\r
+    typedef typename list3< T0,T1,T2 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list4< T0,T1,T2,T3 >\r
+{\r
+    typedef typename list4< T0,T1,T2,T3 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list5< T0,T1,T2,T3,T4 >\r
+{\r
+    typedef typename list5< T0,T1,T2,T3,T4 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list6< T0,T1,T2,T3,T4,T5 >\r
+{\r
+    typedef typename list6< T0,T1,T2,T3,T4,T5 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list7< T0,T1,T2,T3,T4,T5,T6 >\r
+{\r
+    typedef typename list7< T0,T1,T2,T3,T4,T5,T6 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list8< T0,T1,T2,T3,T4,T5,T6,T7 >\r
+{\r
+    typedef typename list8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >\r
+{\r
+    typedef typename list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >\r
+{\r
+    typedef typename list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >\r
+{\r
+    typedef typename list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na\r
+        , na, na, na, na\r
+        >\r
+    : list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >\r
+{\r
+    typedef typename list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na\r
+        , na, na, na, na\r
+        >\r
+    : list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >\r
+{\r
+    typedef typename list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na\r
+        , na, na, na, na\r
+        >\r
+    : list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >\r
+{\r
+    typedef typename list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na\r
+        , na, na, na, na\r
+        >\r
+    : list15<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        >\r
+{\r
+    typedef typename list15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, na, na, na, na\r
+        >\r
+    : list16<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15\r
+        >\r
+{\r
+    typedef typename list16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, na, na, na\r
+        >\r
+    : list17<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16\r
+        >\r
+{\r
+    typedef typename list17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, na, na\r
+        >\r
+    : list18<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17\r
+        >\r
+{\r
+    typedef typename list18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18, na\r
+        >\r
+    : list19<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18\r
+        >\r
+{\r
+    typedef typename list19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;\r
+};\r
+\r
+/// primary template (not a specialization!)\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    >\r
+struct list\r
+    : list20<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18, T19\r
+        >\r
+{\r
+    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;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..578474e
--- /dev/null
@@ -0,0 +1,328 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/list_c.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX\r
+    , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX\r
+    , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX\r
+    , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX\r
+    , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX\r
+    , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX\r
+    , long C18 = LONG_MAX, long C19 = LONG_MAX\r
+    >\r
+struct list_c;\r
+\r
+template<\r
+      typename T\r
+    >\r
+struct list_c<\r
+          T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list0_c<T>\r
+{\r
+    typedef typename list0_c<T>::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0\r
+    >\r
+struct list_c<\r
+          T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list1_c< T,C0 >\r
+{\r
+    typedef typename list1_c< T,C0 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1\r
+    >\r
+struct list_c<\r
+          T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list2_c< T,C0,C1 >\r
+{\r
+    typedef typename list2_c< T,C0,C1 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list3_c< T,C0,C1,C2 >\r
+{\r
+    typedef typename list3_c< T,C0,C1,C2 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list4_c< T,C0,C1,C2,C3 >\r
+{\r
+    typedef typename list4_c< T,C0,C1,C2,C3 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list5_c< T,C0,C1,C2,C3,C4 >\r
+{\r
+    typedef typename list5_c< T,C0,C1,C2,C3,C4 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list6_c< T,C0,C1,C2,C3,C4,C5 >\r
+{\r
+    typedef typename list6_c< T,C0,C1,C2,C3,C4,C5 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list7_c< T,C0,C1,C2,C3,C4,C5,C6 >\r
+{\r
+    typedef typename list7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX\r
+        >\r
+    : list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >\r
+{\r
+    typedef typename list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX\r
+        >\r
+    : list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >\r
+{\r
+    typedef typename list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX\r
+        >\r
+    : list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >\r
+{\r
+    typedef typename list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >\r
+{\r
+    typedef typename list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >\r
+{\r
+    typedef typename list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >\r
+{\r
+    typedef typename list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list14_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13\r
+        >\r
+{\r
+    typedef typename list14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list15_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        >\r
+{\r
+    typedef typename list15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list16_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15\r
+        >\r
+{\r
+    typedef typename list16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list17_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16\r
+        >\r
+{\r
+    typedef typename list17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16, long C17\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17, LONG_MAX, LONG_MAX\r
+        >\r
+    : list18_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17\r
+        >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16, long C17, long C18\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17, C18, LONG_MAX\r
+        >\r
+    : list19_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17, C18\r
+        >\r
+{\r
+    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;\r
+};\r
+\r
+/// primary template (not a specialization!)\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+    >\r
+struct list_c\r
+    : list20_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17, C18, C19\r
+        >\r
+{\r
+    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;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..2f22291
--- /dev/null
@@ -0,0 +1,323 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/map.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na\r
+    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na\r
+    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na\r
+    , typename T12 = na, typename T13 = na, typename T14 = na\r
+    , typename T15 = na, typename T16 = na, typename T17 = na\r
+    , typename T18 = na, typename T19 = na\r
+    >\r
+struct map;\r
+\r
+template<\r
+     \r
+    >\r
+struct map<\r
+          na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map0<  >\r
+{\r
+    typedef map0<  >::type type;\r
+};\r
+\r
+template<\r
+      typename T0\r
+    >\r
+struct map<\r
+          T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map1<T0>\r
+{\r
+    typedef typename map1<T0>::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1\r
+    >\r
+struct map<\r
+          T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map2< T0,T1 >\r
+{\r
+    typedef typename map2< T0,T1 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2\r
+    >\r
+struct map<\r
+          T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map3< T0,T1,T2 >\r
+{\r
+    typedef typename map3< T0,T1,T2 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map4< T0,T1,T2,T3 >\r
+{\r
+    typedef typename map4< T0,T1,T2,T3 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map5< T0,T1,T2,T3,T4 >\r
+{\r
+    typedef typename map5< T0,T1,T2,T3,T4 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map6< T0,T1,T2,T3,T4,T5 >\r
+{\r
+    typedef typename map6< T0,T1,T2,T3,T4,T5 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map7< T0,T1,T2,T3,T4,T5,T6 >\r
+{\r
+    typedef typename map7< T0,T1,T2,T3,T4,T5,T6 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map8< T0,T1,T2,T3,T4,T5,T6,T7 >\r
+{\r
+    typedef typename map8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >\r
+{\r
+    typedef typename map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >\r
+{\r
+    typedef typename map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >\r
+{\r
+    typedef typename map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na\r
+        , na, na, na, na\r
+        >\r
+    : map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >\r
+{\r
+    typedef typename map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na\r
+        , na, na, na, na\r
+        >\r
+    : map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >\r
+{\r
+    typedef typename map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na\r
+        , na, na, na, na\r
+        >\r
+    : map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >\r
+{\r
+    typedef typename map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na\r
+        , na, na, na, na\r
+        >\r
+    : map15<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        >\r
+{\r
+    typedef typename map15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, na, na, na, na\r
+        >\r
+    : map16<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15\r
+        >\r
+{\r
+    typedef typename map16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, na, na, na\r
+        >\r
+    : map17<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16\r
+        >\r
+{\r
+    typedef typename map17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, na, na\r
+        >\r
+    : map18<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17\r
+        >\r
+{\r
+    typedef typename map18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18, na\r
+        >\r
+    : map19<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18\r
+        >\r
+{\r
+    typedef typename map19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;\r
+};\r
+\r
+/// primary template (not a specialization!)\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    >\r
+struct map\r
+    : map20<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18, T19\r
+        >\r
+{\r
+    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;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..afbdda2
--- /dev/null
@@ -0,0 +1,146 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/minus.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct minus_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< minus_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< minus_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct minus_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct minus_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct minus_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct minus_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    , typename N3 = na, typename N4 = na, typename N5 = na\r
+    >\r
+struct minus\r
+    : minus< minus< minus< minus< N1,N2 >, N3>, N4>, N5>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , minus\r
+        , ( N1, N2, N3, N4, N5 )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3, typename N4\r
+    >\r
+struct minus< N1,N2,N3,N4,na >\r
+\r
+    : minus< minus< minus< N1,N2 >, N3>, N4>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , minus\r
+        , ( N1, N2, N3, N4, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3\r
+    >\r
+struct minus< N1,N2,N3,na,na >\r
+\r
+    : minus< minus< N1,N2 >, N3>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , minus\r
+        , ( N1, N2, N3, na, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2\r
+    >\r
+struct minus< N1,N2,na,na,na >\r
+    : minus_impl<\r
+          typename minus_tag<N1>::type\r
+        , typename minus_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , minus\r
+        , ( N1, N2, na, na, na )\r
+        )\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 5, minus)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+template<>\r
+struct minus_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : integral_c<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value\r
+                  - BOOST_MPL_AUX_VALUE_WKND(N2)::value\r
+                )\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..d8f81ef
--- /dev/null
@@ -0,0 +1,101 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/modulus.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct modulus_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< modulus_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< modulus_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct modulus_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct modulus_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct modulus_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct modulus_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct modulus\r
+\r
+    : modulus_impl<\r
+          typename modulus_tag<N1>::type\r
+        , typename modulus_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, modulus, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, modulus)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+template<>\r
+struct modulus_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : integral_c<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value\r
+                  % BOOST_MPL_AUX_VALUE_WKND(N2)::value\r
+                )\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..a68e69e
--- /dev/null
@@ -0,0 +1,94 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/not_equal_to.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct not_equal_to_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< not_equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct not_equal_to_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct not_equal_to_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct not_equal_to_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct not_equal_to_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct not_equal_to\r
+\r
+    : not_equal_to_impl<\r
+          typename not_equal_to_tag<N1>::type\r
+        , typename not_equal_to_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, not_equal_to, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct not_equal_to_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value != BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..1a05656
--- /dev/null
@@ -0,0 +1,69 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/or.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+\r
+template< bool C_, typename T1, typename T2, typename T3, typename T4 >\r
+struct or_impl\r
+    : true_\r
+{\r
+};\r
+\r
+template< typename T1, typename T2, typename T3, typename T4 >\r
+struct or_impl< false,T1,T2,T3,T4 >\r
+    : or_impl<\r
+          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value\r
+        , T2, T3, T4\r
+        , false_\r
+        >\r
+{\r
+};\r
+\r
+template<>\r
+struct or_impl<\r
+          false\r
+        , false_, false_, false_, false_\r
+        >\r
+    : false_\r
+{\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(T1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(T2)\r
+    , typename T3 = false_, typename T4 = false_, typename T5 = false_\r
+    >\r
+struct or_\r
+\r
+    : aux::or_impl<\r
+          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value\r
+        , T2, T3, T4, T5\r
+        >\r
+\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , or_\r
+        , ( T1, T2, T3, T4, T5)\r
+        )\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(\r
+      2\r
+    , 5\r
+    , or_\r
+    )\r
+\r
+}}\r
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 (file)
index 0000000..df5cb1d
--- /dev/null
@@ -0,0 +1,105 @@
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+// Copyright Peter Dimov 2001-2003\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/placeholders.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+typedef arg< -1 > _;\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+namespace boost { namespace mpl {\r
+\r
+BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_)\r
+\r
+namespace placeholders {\r
+using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_;\r
+}\r
+\r
+}}\r
+\r
+/// agurt, 17/mar/02: one more placeholder for the last 'apply#' \r
+/// specialization\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+typedef arg<1> _1;\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+namespace boost { namespace mpl {\r
+\r
+BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1)\r
+\r
+namespace placeholders {\r
+using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1;\r
+}\r
+\r
+}}\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+typedef arg<2> _2;\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+namespace boost { namespace mpl {\r
+\r
+BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2)\r
+\r
+namespace placeholders {\r
+using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2;\r
+}\r
+\r
+}}\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+typedef arg<3> _3;\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+namespace boost { namespace mpl {\r
+\r
+BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3)\r
+\r
+namespace placeholders {\r
+using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3;\r
+}\r
+\r
+}}\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+typedef arg<4> _4;\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+namespace boost { namespace mpl {\r
+\r
+BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4)\r
+\r
+namespace placeholders {\r
+using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4;\r
+}\r
+\r
+}}\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+typedef arg<5> _5;\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+namespace boost { namespace mpl {\r
+\r
+BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5)\r
+\r
+namespace placeholders {\r
+using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5;\r
+}\r
+\r
+}}\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+typedef arg<6> _6;\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+namespace boost { namespace mpl {\r
+\r
+BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6)\r
+\r
+namespace placeholders {\r
+using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6;\r
+}\r
+\r
+}}\r
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 (file)
index 0000000..631898f
--- /dev/null
@@ -0,0 +1,146 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/plus.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct plus_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< plus_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< plus_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct plus_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct plus_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct plus_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct plus_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    , typename N3 = na, typename N4 = na, typename N5 = na\r
+    >\r
+struct plus\r
+    : plus< plus< plus< plus< N1,N2 >, N3>, N4>, N5>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , plus\r
+        , ( N1, N2, N3, N4, N5 )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3, typename N4\r
+    >\r
+struct plus< N1,N2,N3,N4,na >\r
+\r
+    : plus< plus< plus< N1,N2 >, N3>, N4>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , plus\r
+        , ( N1, N2, N3, N4, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3\r
+    >\r
+struct plus< N1,N2,N3,na,na >\r
+\r
+    : plus< plus< N1,N2 >, N3>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , plus\r
+        , ( N1, N2, N3, na, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2\r
+    >\r
+struct plus< N1,N2,na,na,na >\r
+    : plus_impl<\r
+          typename plus_tag<N1>::type\r
+        , typename plus_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , plus\r
+        , ( N1, N2, na, na, na )\r
+        )\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 5, plus)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+template<>\r
+struct plus_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : integral_c<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value\r
+                  + BOOST_MPL_AUX_VALUE_WKND(N2)::value\r
+                )\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..4b4e539
--- /dev/null
@@ -0,0 +1,123 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/quote.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template< typename T, bool has_type_ >\r
+struct quote_impl\r
+    : T\r
+{\r
+};\r
+\r
+template< typename T >\r
+struct quote_impl< T,false >\r
+{\r
+    typedef T type;\r
+};\r
+\r
+template<\r
+      template< typename P1 > class F\r
+    , typename Tag = void_\r
+    >\r
+struct quote1\r
+{\r
+    template< typename U1 > struct apply\r
+\r
+        : quote_impl<\r
+              F<U1>\r
+            , aux::has_type< F<U1> >::value\r
+            >\r
+\r
+    {\r
+    };\r
+};\r
+\r
+template<\r
+      template< typename P1, typename P2 > class F\r
+    , typename Tag = void_\r
+    >\r
+struct quote2\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+\r
+        : quote_impl<\r
+              F< U1,U2 >\r
+            , aux::has_type< F< U1,U2 > >::value\r
+            >\r
+\r
+    {\r
+    };\r
+};\r
+\r
+template<\r
+      template< typename P1, typename P2, typename P3 > class F\r
+    , typename Tag = void_\r
+    >\r
+struct quote3\r
+{\r
+    template< typename U1, typename U2, typename U3 > struct apply\r
+\r
+        : quote_impl<\r
+              F< U1,U2,U3 >\r
+            , aux::has_type< F< U1,U2,U3 > >::value\r
+            >\r
+\r
+    {\r
+    };\r
+};\r
+\r
+template<\r
+      template< typename P1, typename P2, typename P3, typename P4 > class F\r
+    , typename Tag = void_\r
+    >\r
+struct quote4\r
+{\r
+    template<\r
+          typename U1, typename U2, typename U3, typename U4\r
+        >\r
+    struct apply\r
+\r
+        : quote_impl<\r
+              F< U1,U2,U3,U4 >\r
+            , aux::has_type< F< U1,U2,U3,U4 > >::value\r
+            >\r
+\r
+    {\r
+    };\r
+};\r
+\r
+template<\r
+      template<\r
+          typename P1, typename P2, typename P3, typename P4\r
+        , typename P5\r
+        >\r
+      class F\r
+    , typename Tag = void_\r
+    >\r
+struct quote5\r
+{\r
+    template<\r
+          typename U1, typename U2, typename U3, typename U4\r
+        , typename U5\r
+        >\r
+    struct apply\r
+\r
+        : quote_impl<\r
+              F< U1,U2,U3,U4,U5 >\r
+            , aux::has_type< F< U1,U2,U3,U4,U5 > >::value\r
+            >\r
+\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..1c4364a
--- /dev/null
@@ -0,0 +1,231 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/reverse_fold_impl.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+/// forward declaration\r
+\r
+template<\r
+      long N\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_fold_impl;\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_fold_impl< 0,First,Last,State,BackwardOp,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State fwd_state0;\r
+    typedef fwd_state0 bkwd_state0;\r
+    typedef bkwd_state0 state;\r
+    typedef iter0 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_fold_impl< 1,First,Last,State,BackwardOp,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State fwd_state0;\r
+    typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    \r
+\r
+    typedef fwd_state1 bkwd_state1;\r
+    typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;\r
+    typedef bkwd_state0 state;\r
+    typedef iter1 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_fold_impl< 2,First,Last,State,BackwardOp,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State fwd_state0;\r
+    typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;\r
+    typedef typename mpl::next<iter1>::type iter2;\r
+    \r
+\r
+    typedef fwd_state2 bkwd_state2;\r
+    typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;\r
+    typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;\r
+    \r
+\r
+    typedef bkwd_state0 state;\r
+    typedef iter2 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_fold_impl< 3,First,Last,State,BackwardOp,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State fwd_state0;\r
+    typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;\r
+    typedef typename mpl::next<iter1>::type iter2;\r
+    typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;\r
+    typedef typename mpl::next<iter2>::type iter3;\r
+    \r
+\r
+    typedef fwd_state3 bkwd_state3;\r
+    typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;\r
+    typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;\r
+    typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;\r
+    \r
+\r
+    typedef bkwd_state0 state;\r
+    typedef iter3 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_fold_impl< 4,First,Last,State,BackwardOp,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State fwd_state0;\r
+    typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;\r
+    typedef typename mpl::next<iter1>::type iter2;\r
+    typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;\r
+    typedef typename mpl::next<iter2>::type iter3;\r
+    typedef typename apply2< ForwardOp, fwd_state3, typename deref<iter3>::type >::type fwd_state4;\r
+    typedef typename mpl::next<iter3>::type iter4;\r
+    \r
+\r
+    typedef fwd_state4 bkwd_state4;\r
+    typedef typename apply2< BackwardOp, bkwd_state4, typename deref<iter3>::type >::type bkwd_state3;\r
+    typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;\r
+    typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;\r
+    typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;\r
+    \r
+\r
+    typedef bkwd_state0 state;\r
+    typedef iter4 iterator;\r
+};\r
+\r
+template<\r
+      long N\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_fold_impl\r
+{\r
+    typedef First iter0;\r
+    typedef State fwd_state0;\r
+    typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;\r
+    typedef typename mpl::next<iter1>::type iter2;\r
+    typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;\r
+    typedef typename mpl::next<iter2>::type iter3;\r
+    typedef typename apply2< ForwardOp, fwd_state3, typename deref<iter3>::type >::type fwd_state4;\r
+    typedef typename mpl::next<iter3>::type iter4;\r
+    \r
+\r
+    typedef reverse_fold_impl<\r
+          ( (N - 4) < 0 ? 0 : N - 4 )\r
+        , iter4\r
+        , Last\r
+        , fwd_state4\r
+        , BackwardOp\r
+        , ForwardOp\r
+        > nested_chunk;\r
+\r
+    typedef typename nested_chunk::state bkwd_state4;\r
+    typedef typename apply2< BackwardOp, bkwd_state4, typename deref<iter3>::type >::type bkwd_state3;\r
+    typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;\r
+    typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;\r
+    typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;\r
+    \r
+\r
+    typedef bkwd_state0 state;\r
+    typedef typename nested_chunk::iterator iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_fold_impl< -1,First,Last,State,BackwardOp,ForwardOp >\r
+{\r
+    typedef reverse_fold_impl<\r
+          -1\r
+        , typename mpl::next<First>::type\r
+        , Last\r
+        , typename apply2<ForwardOp,State, typename deref<First>::type>::type\r
+        , BackwardOp\r
+        , ForwardOp\r
+        > nested_step;\r
+\r
+    typedef typename apply2<\r
+          BackwardOp\r
+        , typename nested_step::state\r
+        , typename deref<First>::type\r
+        >::type state;\r
+\r
+    typedef typename nested_step::iterator iterator;\r
+};\r
+\r
+template<\r
+      typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_fold_impl< -1,Last,Last,State,BackwardOp,ForwardOp >\r
+{\r
+    typedef State state;\r
+    typedef Last iterator;\r
+};\r
+\r
+}}}\r
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 (file)
index 0000000..f06c88b
--- /dev/null
@@ -0,0 +1,231 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/reverse_iter_fold_impl.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+/// forward declaration\r
+\r
+template<\r
+      long N\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_iter_fold_impl;\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_iter_fold_impl< 0,First,Last,State,BackwardOp,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State fwd_state0;\r
+    typedef fwd_state0 bkwd_state0;\r
+    typedef bkwd_state0 state;\r
+    typedef iter0 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_iter_fold_impl< 1,First,Last,State,BackwardOp,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State fwd_state0;\r
+    typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    \r
+\r
+    typedef fwd_state1 bkwd_state1;\r
+    typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;\r
+    typedef bkwd_state0 state;\r
+    typedef iter1 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_iter_fold_impl< 2,First,Last,State,BackwardOp,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State fwd_state0;\r
+    typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;\r
+    typedef typename mpl::next<iter1>::type iter2;\r
+    \r
+\r
+    typedef fwd_state2 bkwd_state2;\r
+    typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;\r
+    typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;\r
+    \r
+\r
+    typedef bkwd_state0 state;\r
+    typedef iter2 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_iter_fold_impl< 3,First,Last,State,BackwardOp,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State fwd_state0;\r
+    typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;\r
+    typedef typename mpl::next<iter1>::type iter2;\r
+    typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;\r
+    typedef typename mpl::next<iter2>::type iter3;\r
+    \r
+\r
+    typedef fwd_state3 bkwd_state3;\r
+    typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;\r
+    typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;\r
+    typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;\r
+    \r
+\r
+    typedef bkwd_state0 state;\r
+    typedef iter3 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_iter_fold_impl< 4,First,Last,State,BackwardOp,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State fwd_state0;\r
+    typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;\r
+    typedef typename mpl::next<iter1>::type iter2;\r
+    typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;\r
+    typedef typename mpl::next<iter2>::type iter3;\r
+    typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4;\r
+    typedef typename mpl::next<iter3>::type iter4;\r
+    \r
+\r
+    typedef fwd_state4 bkwd_state4;\r
+    typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3;\r
+    typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;\r
+    typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;\r
+    typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;\r
+    \r
+\r
+    typedef bkwd_state0 state;\r
+    typedef iter4 iterator;\r
+};\r
+\r
+template<\r
+      long N\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_iter_fold_impl\r
+{\r
+    typedef First iter0;\r
+    typedef State fwd_state0;\r
+    typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;\r
+    typedef typename mpl::next<iter1>::type iter2;\r
+    typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;\r
+    typedef typename mpl::next<iter2>::type iter3;\r
+    typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4;\r
+    typedef typename mpl::next<iter3>::type iter4;\r
+    \r
+\r
+    typedef reverse_iter_fold_impl<\r
+          ( (N - 4) < 0 ? 0 : N - 4 )\r
+        , iter4\r
+        , Last\r
+        , fwd_state4\r
+        , BackwardOp\r
+        , ForwardOp\r
+        > nested_chunk;\r
+\r
+    typedef typename nested_chunk::state bkwd_state4;\r
+    typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3;\r
+    typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;\r
+    typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;\r
+    typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;\r
+    \r
+\r
+    typedef bkwd_state0 state;\r
+    typedef typename nested_chunk::iterator iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_iter_fold_impl< -1,First,Last,State,BackwardOp,ForwardOp >\r
+{\r
+    typedef reverse_iter_fold_impl<\r
+          -1\r
+        , typename mpl::next<First>::type\r
+        , Last\r
+        , typename apply2< ForwardOp,State,First >::type\r
+        , BackwardOp\r
+        , ForwardOp\r
+        > nested_step;\r
+\r
+    typedef typename apply2<\r
+          BackwardOp\r
+        , typename nested_step::state\r
+        , First\r
+        >::type state;\r
+\r
+    typedef typename nested_step::iterator iterator;\r
+};\r
+\r
+template<\r
+      typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_iter_fold_impl< -1,Last,Last,State,BackwardOp,ForwardOp >\r
+{\r
+    typedef State state;\r
+    typedef Last iterator;\r
+};\r
+\r
+}}}\r
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 (file)
index 0000000..b7e3f0b
--- /dev/null
@@ -0,0 +1,323 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/set.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na\r
+    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na\r
+    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na\r
+    , typename T12 = na, typename T13 = na, typename T14 = na\r
+    , typename T15 = na, typename T16 = na, typename T17 = na\r
+    , typename T18 = na, typename T19 = na\r
+    >\r
+struct set;\r
+\r
+template<\r
+     \r
+    >\r
+struct set<\r
+          na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set0<  >\r
+{\r
+    typedef set0<  >::type type;\r
+};\r
+\r
+template<\r
+      typename T0\r
+    >\r
+struct set<\r
+          T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set1<T0>\r
+{\r
+    typedef typename set1<T0>::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1\r
+    >\r
+struct set<\r
+          T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set2< T0,T1 >\r
+{\r
+    typedef typename set2< T0,T1 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2\r
+    >\r
+struct set<\r
+          T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set3< T0,T1,T2 >\r
+{\r
+    typedef typename set3< T0,T1,T2 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set4< T0,T1,T2,T3 >\r
+{\r
+    typedef typename set4< T0,T1,T2,T3 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set5< T0,T1,T2,T3,T4 >\r
+{\r
+    typedef typename set5< T0,T1,T2,T3,T4 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set6< T0,T1,T2,T3,T4,T5 >\r
+{\r
+    typedef typename set6< T0,T1,T2,T3,T4,T5 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set7< T0,T1,T2,T3,T4,T5,T6 >\r
+{\r
+    typedef typename set7< T0,T1,T2,T3,T4,T5,T6 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set8< T0,T1,T2,T3,T4,T5,T6,T7 >\r
+{\r
+    typedef typename set8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >\r
+{\r
+    typedef typename set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >\r
+{\r
+    typedef typename set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >\r
+{\r
+    typedef typename set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na\r
+        , na, na, na, na\r
+        >\r
+    : set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >\r
+{\r
+    typedef typename set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na\r
+        , na, na, na, na\r
+        >\r
+    : set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >\r
+{\r
+    typedef typename set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na\r
+        , na, na, na, na\r
+        >\r
+    : set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >\r
+{\r
+    typedef typename set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na\r
+        , na, na, na, na\r
+        >\r
+    : set15<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        >\r
+{\r
+    typedef typename set15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, na, na, na, na\r
+        >\r
+    : set16<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15\r
+        >\r
+{\r
+    typedef typename set16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, na, na, na\r
+        >\r
+    : set17<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16\r
+        >\r
+{\r
+    typedef typename set17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, na, na\r
+        >\r
+    : set18<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17\r
+        >\r
+{\r
+    typedef typename set18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18, na\r
+        >\r
+    : set19<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18\r
+        >\r
+{\r
+    typedef typename set19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;\r
+};\r
+\r
+/// primary template (not a specialization!)\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    >\r
+struct set\r
+    : set20<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18, T19\r
+        >\r
+{\r
+    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;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..acdf68b
--- /dev/null
@@ -0,0 +1,328 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/set_c.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX\r
+    , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX\r
+    , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX\r
+    , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX\r
+    , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX\r
+    , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX\r
+    , long C18 = LONG_MAX, long C19 = LONG_MAX\r
+    >\r
+struct set_c;\r
+\r
+template<\r
+      typename T\r
+    >\r
+struct set_c<\r
+          T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set0_c<T>\r
+{\r
+    typedef typename set0_c<T>::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0\r
+    >\r
+struct set_c<\r
+          T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set1_c< T,C0 >\r
+{\r
+    typedef typename set1_c< T,C0 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1\r
+    >\r
+struct set_c<\r
+          T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set2_c< T,C0,C1 >\r
+{\r
+    typedef typename set2_c< T,C0,C1 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set3_c< T,C0,C1,C2 >\r
+{\r
+    typedef typename set3_c< T,C0,C1,C2 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set4_c< T,C0,C1,C2,C3 >\r
+{\r
+    typedef typename set4_c< T,C0,C1,C2,C3 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set5_c< T,C0,C1,C2,C3,C4 >\r
+{\r
+    typedef typename set5_c< T,C0,C1,C2,C3,C4 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set6_c< T,C0,C1,C2,C3,C4,C5 >\r
+{\r
+    typedef typename set6_c< T,C0,C1,C2,C3,C4,C5 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set7_c< T,C0,C1,C2,C3,C4,C5,C6 >\r
+{\r
+    typedef typename set7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX\r
+        >\r
+    : set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >\r
+{\r
+    typedef typename set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX\r
+        >\r
+    : set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >\r
+{\r
+    typedef typename set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX\r
+        >\r
+    : set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >\r
+{\r
+    typedef typename set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >\r
+{\r
+    typedef typename set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >\r
+{\r
+    typedef typename set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >\r
+{\r
+    typedef typename set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set14_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13\r
+        >\r
+{\r
+    typedef typename set14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set15_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        >\r
+{\r
+    typedef typename set15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set16_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15\r
+        >\r
+{\r
+    typedef typename set16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set17_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16\r
+        >\r
+{\r
+    typedef typename set17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16, long C17\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17, LONG_MAX, LONG_MAX\r
+        >\r
+    : set18_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17\r
+        >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16, long C17, long C18\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17, C18, LONG_MAX\r
+        >\r
+    : set19_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17, C18\r
+        >\r
+{\r
+    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;\r
+};\r
+\r
+/// primary template (not a specialization!)\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+    >\r
+struct set_c\r
+    : set20_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17, C18, C19\r
+        >\r
+{\r
+    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;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..81679a1
--- /dev/null
@@ -0,0 +1,99 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright Jaap Suter 2003\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/shift_left.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct shift_left_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< shift_left_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< shift_left_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct shift_left_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct shift_left_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct shift_left_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct shift_left_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct shift_left\r
+\r
+    : shift_left_impl<\r
+          typename shift_left_tag<N1>::type\r
+        , typename shift_left_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_left, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_left)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+template<>\r
+struct shift_left_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N, typename S > struct apply\r
+\r
+        : integral_c<\r
+              typename N::value_type\r
+            , ( BOOST_MPL_AUX_VALUE_WKND(N)::value\r
+                  << BOOST_MPL_AUX_VALUE_WKND(S)::value\r
+                )\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..55b7821
--- /dev/null
@@ -0,0 +1,99 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright Jaap Suter 2003\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/shift_right.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct shift_right_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< shift_right_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< shift_right_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct shift_right_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct shift_right_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct shift_right_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct shift_right_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct shift_right\r
+\r
+    : shift_right_impl<\r
+          typename shift_right_tag<N1>::type\r
+        , typename shift_right_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_right, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+template<>\r
+struct shift_right_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N, typename S > struct apply\r
+\r
+        : integral_c<\r
+              typename N::value_type\r
+            , ( BOOST_MPL_AUX_VALUE_WKND(N)::value\r
+                  >> BOOST_MPL_AUX_VALUE_WKND(S)::value\r
+                )\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..03f2dbd
--- /dev/null
@@ -0,0 +1,11 @@
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/template_arity.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
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 (file)
index 0000000..46e68cb
--- /dev/null
@@ -0,0 +1,146 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/times.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct times_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< times_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< times_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct times_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct times_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct times_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct times_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    , typename N3 = na, typename N4 = na, typename N5 = na\r
+    >\r
+struct times\r
+    : times< times< times< times< N1,N2 >, N3>, N4>, N5>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , times\r
+        , ( N1, N2, N3, N4, N5 )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3, typename N4\r
+    >\r
+struct times< N1,N2,N3,N4,na >\r
+\r
+    : times< times< times< N1,N2 >, N3>, N4>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , times\r
+        , ( N1, N2, N3, N4, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3\r
+    >\r
+struct times< N1,N2,N3,na,na >\r
+\r
+    : times< times< N1,N2 >, N3>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , times\r
+        , ( N1, N2, N3, na, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2\r
+    >\r
+struct times< N1,N2,na,na,na >\r
+    : times_impl<\r
+          typename times_tag<N1>::type\r
+        , typename times_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , times\r
+        , ( N1, N2, na, na, na )\r
+        )\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 5, times)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+template<>\r
+struct times_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : integral_c<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value\r
+                  * BOOST_MPL_AUX_VALUE_WKND(N2)::value\r
+                )\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..7f8c577
--- /dev/null
@@ -0,0 +1,94 @@
+\r
+// Copyright Aleksey Gurtovoy 2002-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/unpack_args.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+\r
+template< int size, typename F, typename Args >\r
+struct unpack_args_impl;\r
+\r
+template< typename F, typename Args >\r
+struct unpack_args_impl< 0,F,Args >\r
+    : apply0<\r
+          F\r
+        >\r
+{\r
+};\r
+\r
+template< typename F, typename Args >\r
+struct unpack_args_impl< 1,F,Args >\r
+    : apply1<\r
+          F\r
+        , typename at_c< Args,0 >::type\r
+        >\r
+{\r
+};\r
+\r
+template< typename F, typename Args >\r
+struct unpack_args_impl< 2,F,Args >\r
+    : apply2<\r
+          F\r
+        , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type\r
+        >\r
+{\r
+};\r
+\r
+template< typename F, typename Args >\r
+struct unpack_args_impl< 3,F,Args >\r
+    : apply3<\r
+          F\r
+        , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type\r
+        , typename at_c< Args,2 >::type\r
+        >\r
+{\r
+};\r
+\r
+template< typename F, typename Args >\r
+struct unpack_args_impl< 4,F,Args >\r
+    : apply4<\r
+          F\r
+        , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type\r
+        , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type\r
+        >\r
+{\r
+};\r
+\r
+template< typename F, typename Args >\r
+struct unpack_args_impl< 5,F,Args >\r
+    : apply5<\r
+          F\r
+        , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type\r
+        , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type\r
+        , typename at_c< Args,4 >::type\r
+        >\r
+{\r
+};\r
+\r
+}\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct unpack_args\r
+{\r
+    template< typename Args > struct apply\r
+\r
+        : aux::unpack_args_impl< size<Args>::value,F, Args >\r
+\r
+    {\r
+    };\r
+};\r
+\r
+BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args)\r
+\r
+}}\r
+\r
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 (file)
index 0000000..d1da8b1
--- /dev/null
@@ -0,0 +1,323 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/vector.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na\r
+    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na\r
+    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na\r
+    , typename T12 = na, typename T13 = na, typename T14 = na\r
+    , typename T15 = na, typename T16 = na, typename T17 = na\r
+    , typename T18 = na, typename T19 = na\r
+    >\r
+struct vector;\r
+\r
+template<\r
+     \r
+    >\r
+struct vector<\r
+          na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector0<  >\r
+{\r
+    typedef vector0<  >::type type;\r
+};\r
+\r
+template<\r
+      typename T0\r
+    >\r
+struct vector<\r
+          T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector1<T0>\r
+{\r
+    typedef typename vector1<T0>::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1\r
+    >\r
+struct vector<\r
+          T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector2< T0,T1 >\r
+{\r
+    typedef typename vector2< T0,T1 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2\r
+    >\r
+struct vector<\r
+          T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector3< T0,T1,T2 >\r
+{\r
+    typedef typename vector3< T0,T1,T2 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector4< T0,T1,T2,T3 >\r
+{\r
+    typedef typename vector4< T0,T1,T2,T3 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector5< T0,T1,T2,T3,T4 >\r
+{\r
+    typedef typename vector5< T0,T1,T2,T3,T4 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector6< T0,T1,T2,T3,T4,T5 >\r
+{\r
+    typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector7< T0,T1,T2,T3,T4,T5,T6 >\r
+{\r
+    typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector8< T0,T1,T2,T3,T4,T5,T6,T7 >\r
+{\r
+    typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >\r
+{\r
+    typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >\r
+{\r
+    typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >\r
+{\r
+    typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na\r
+        , na, na, na, na\r
+        >\r
+    : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >\r
+{\r
+    typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na\r
+        , na, na, na, na\r
+        >\r
+    : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >\r
+{\r
+    typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na\r
+        , na, na, na, na\r
+        >\r
+    : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >\r
+{\r
+    typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na\r
+        , na, na, na, na\r
+        >\r
+    : vector15<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        >\r
+{\r
+    typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, na, na, na, na\r
+        >\r
+    : vector16<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15\r
+        >\r
+{\r
+    typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, na, na, na\r
+        >\r
+    : vector17<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16\r
+        >\r
+{\r
+    typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, na, na\r
+        >\r
+    : vector18<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17\r
+        >\r
+{\r
+    typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18, na\r
+        >\r
+    : vector19<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18\r
+        >\r
+{\r
+    typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;\r
+};\r
+\r
+/// primary template (not a specialization!)\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    >\r
+struct vector\r
+    : vector20<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18, T19\r
+        >\r
+{\r
+    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;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..ce33340
--- /dev/null
@@ -0,0 +1,309 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/vector_c.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX\r
+    , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX\r
+    , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX\r
+    , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX\r
+    , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX\r
+    , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX\r
+    , long C18 = LONG_MAX, long C19 = LONG_MAX\r
+    >\r
+struct vector_c;\r
+\r
+template<\r
+      typename T\r
+    >\r
+struct vector_c<\r
+          T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : vector0_c<T>\r
+{\r
+    typedef typename vector0_c<T>::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0\r
+    >\r
+struct vector_c<\r
+          T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : vector1_c< T, T(C0) >\r
+{\r
+    typedef typename vector1_c< T, T(C0) >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : vector2_c< T, T(C0), T(C1) >\r
+{\r
+    typedef typename vector2_c< T, T(C0), T(C1) >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : vector3_c< T, T(C0), T(C1), T(C2) >\r
+{\r
+    typedef typename vector3_c< T, T(C0), T(C1), T(C2) >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : vector4_c< T, T(C0), T(C1), T(C2), T(C3) >\r
+{\r
+    typedef typename vector4_c< T, T(C0), T(C1), T(C2), T(C3) >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) >\r
+{\r
+    typedef typename vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) >\r
+{\r
+    typedef typename vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) >\r
+{\r
+    typedef typename vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX\r
+        >\r
+    : vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) >\r
+{\r
+    typedef typename vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX\r
+        >\r
+    : vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX\r
+        >\r
+    : vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : 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) >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : 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) >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : 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) >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : 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) >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : 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) >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : 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) >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : 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) >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16, long C17\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17, LONG_MAX, LONG_MAX\r
+        >\r
+    : 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) >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16, long C17, long C18\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17, C18, LONG_MAX\r
+        >\r
+    : 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) >\r
+{\r
+    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;\r
+};\r
+\r
+/// primary template (not a specialization!)\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+    >\r
+struct vector_c\r
+    : 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) >\r
+{\r
+    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;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..2d65040
--- /dev/null
@@ -0,0 +1,97 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/advance_backward.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+template< long N > struct advance_backward;\r
+template<>\r
+struct advance_backward<0>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef iter0 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct advance_backward<1>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef typename prior<iter0>::type iter1;\r
+        typedef iter1 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct advance_backward<2>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef typename prior<iter0>::type iter1;\r
+        typedef typename prior<iter1>::type iter2;\r
+        typedef iter2 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct advance_backward<3>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef typename prior<iter0>::type iter1;\r
+        typedef typename prior<iter1>::type iter2;\r
+        typedef typename prior<iter2>::type iter3;\r
+        typedef iter3 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct advance_backward<4>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef typename prior<iter0>::type iter1;\r
+        typedef typename prior<iter1>::type iter2;\r
+        typedef typename prior<iter2>::type iter3;\r
+        typedef typename prior<iter3>::type iter4;\r
+        typedef iter4 type;\r
+    };\r
+};\r
+\r
+template< long N >\r
+struct advance_backward\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef typename apply_wrap1<\r
+              advance_backward<4>\r
+            , Iterator\r
+            >::type chunk_result_;\r
+\r
+        typedef typename apply_wrap1<\r
+              advance_backward<(\r
+                (N - 4) < 0\r
+                    ? 0\r
+                    : N - 4\r
+                    )>\r
+            , chunk_result_\r
+            >::type type;\r
+    };\r
+};\r
+\r
+}}}\r
+\r
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 (file)
index 0000000..9762f7b
--- /dev/null
@@ -0,0 +1,97 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/advance_forward.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+template< long N > struct advance_forward;\r
+template<>\r
+struct advance_forward<0>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef iter0 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct advance_forward<1>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef typename next<iter0>::type iter1;\r
+        typedef iter1 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct advance_forward<2>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef typename next<iter0>::type iter1;\r
+        typedef typename next<iter1>::type iter2;\r
+        typedef iter2 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct advance_forward<3>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef typename next<iter0>::type iter1;\r
+        typedef typename next<iter1>::type iter2;\r
+        typedef typename next<iter2>::type iter3;\r
+        typedef iter3 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct advance_forward<4>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef typename next<iter0>::type iter1;\r
+        typedef typename next<iter1>::type iter2;\r
+        typedef typename next<iter2>::type iter3;\r
+        typedef typename next<iter3>::type iter4;\r
+        typedef iter4 type;\r
+    };\r
+};\r
+\r
+template< long N >\r
+struct advance_forward\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef typename apply_wrap1<\r
+              advance_forward<4>\r
+            , Iterator\r
+            >::type chunk_result_;\r
+\r
+        typedef typename apply_wrap1<\r
+              advance_forward<(\r
+                (N - 4) < 0\r
+                    ? 0\r
+                    : N - 4\r
+                    )>\r
+            , chunk_result_\r
+            >::type type;\r
+    };\r
+};\r
+\r
+}}}\r
+\r
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 (file)
index 0000000..71e3b78
--- /dev/null
@@ -0,0 +1,69 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/and.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+\r
+template< bool C_, typename T1, typename T2, typename T3, typename T4 >\r
+struct and_impl\r
+    : false_\r
+{\r
+};\r
+\r
+template< typename T1, typename T2, typename T3, typename T4 >\r
+struct and_impl< true,T1,T2,T3,T4 >\r
+    : and_impl<\r
+          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value\r
+        , T2, T3, T4\r
+        , true_\r
+        >\r
+{\r
+};\r
+\r
+template<>\r
+struct and_impl<\r
+          true\r
+        , true_, true_, true_, true_\r
+        >\r
+    : true_\r
+{\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(T1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(T2)\r
+    , typename T3 = true_, typename T4 = true_, typename T5 = true_\r
+    >\r
+struct and_\r
+\r
+    : aux::and_impl<\r
+          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value\r
+        , T2, T3, T4, T5\r
+        >\r
+\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , and_\r
+        , ( T1, T2, T3, T4, T5)\r
+        )\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(\r
+      2\r
+    , 5\r
+    , and_\r
+    )\r
+\r
+}}\r
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 (file)
index 0000000..9508903
--- /dev/null
@@ -0,0 +1,169 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/apply.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct apply0\r
+\r
+    : apply_wrap0<\r
+          typename lambda<F>::type\r
+       \r
+        >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          1\r
+        , apply0\r
+        , (F )\r
+        )\r
+};\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct apply< F,na,na,na,na,na >\r
+    : apply0<F>\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct apply1\r
+\r
+    : apply_wrap1<\r
+          typename lambda<F>::type\r
+        , T1\r
+        >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          2\r
+        , apply1\r
+        , (F, T1)\r
+        )\r
+};\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct apply< F,T1,na,na,na,na >\r
+    : apply1< F,T1 >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+struct apply2\r
+\r
+    : apply_wrap2<\r
+          typename lambda<F>::type\r
+        , T1, T2\r
+        >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          3\r
+        , apply2\r
+        , (F, T1, T2)\r
+        )\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+struct apply< F,T1,T2,na,na,na >\r
+    : apply2< F,T1,T2 >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+struct apply3\r
+\r
+    : apply_wrap3<\r
+          typename lambda<F>::type\r
+        , T1, T2, T3\r
+        >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          4\r
+        , apply3\r
+        , (F, T1, T2, T3)\r
+        )\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+struct apply< F,T1,T2,T3,na,na >\r
+    : apply3< F,T1,T2,T3 >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct apply4\r
+\r
+    : apply_wrap4<\r
+          typename lambda<F>::type\r
+        , T1, T2, T3, T4\r
+        >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , apply4\r
+        , (F, T1, T2, T3, T4)\r
+        )\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct apply< F,T1,T2,T3,T4,na >\r
+    : apply4< F,T1,T2,T3,T4 >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct apply5\r
+\r
+    : apply_wrap5<\r
+          typename lambda<F>::type\r
+        , T1, T2, T3, T4, T5\r
+        >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          6\r
+        , apply5\r
+        , (F, T1, T2, T3, T4, T5)\r
+        )\r
+};\r
+\r
+/// primary template (not a specialization!)\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct apply\r
+    : apply5< F,T1,T2,T3,T4,T5 >\r
+{\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..b1c5573
--- /dev/null
@@ -0,0 +1,52 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/apply_fwd.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename F, typename T1 = na, typename T2 = na, typename T3 = na\r
+    , typename T4 = na, typename T5 = na\r
+    >\r
+struct apply;\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct apply0;\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct apply1;\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+struct apply2;\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+struct apply3;\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct apply4;\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct apply5;\r
+\r
+}}\r
+\r
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 (file)
index 0000000..e6de047
--- /dev/null
@@ -0,0 +1,84 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/apply_wrap.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename F\r
+\r
+    , typename has_apply_ = typename aux::has_apply<F>::type\r
+\r
+    >\r
+struct apply_wrap0\r
+\r
+    : F::template apply<  >\r
+{\r
+};\r
+\r
+template< typename F >\r
+struct apply_wrap0< F,true_ >\r
+    : F::apply\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1\r
+\r
+    >\r
+struct apply_wrap1\r
+\r
+    : F::template apply<T1>\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+\r
+    >\r
+struct apply_wrap2\r
+\r
+    : F::template apply< T1,T2 >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+\r
+    >\r
+struct apply_wrap3\r
+\r
+    : F::template apply< T1,T2,T3 >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+\r
+    >\r
+struct apply_wrap4\r
+\r
+    : F::template apply< T1,T2,T3,T4 >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+\r
+    >\r
+struct apply_wrap5\r
+\r
+    : F::template apply< T1,T2,T3,T4,T5 >\r
+{\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..a77b8a2
--- /dev/null
@@ -0,0 +1,123 @@
+\r
+// Copyright Peter Dimov 2001-2002\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/arg.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+template<> struct arg< -1 >\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value  = -1);\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)\r
+\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+        typedef U1 type;\r
+        BOOST_MPL_AUX_ASSERT_NOT_NA(type);\r
+    };\r
+};\r
+\r
+template<> struct arg<1>\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value  = 1);\r
+    typedef arg<2> next;\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)\r
+\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+        typedef U1 type;\r
+        BOOST_MPL_AUX_ASSERT_NOT_NA(type);\r
+    };\r
+};\r
+\r
+template<> struct arg<2>\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value  = 2);\r
+    typedef arg<3> next;\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)\r
+\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+        typedef U2 type;\r
+        BOOST_MPL_AUX_ASSERT_NOT_NA(type);\r
+    };\r
+};\r
+\r
+template<> struct arg<3>\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value  = 3);\r
+    typedef arg<4> next;\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)\r
+\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+        typedef U3 type;\r
+        BOOST_MPL_AUX_ASSERT_NOT_NA(type);\r
+    };\r
+};\r
+\r
+template<> struct arg<4>\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value  = 4);\r
+    typedef arg<5> next;\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)\r
+\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+        typedef U4 type;\r
+        BOOST_MPL_AUX_ASSERT_NOT_NA(type);\r
+    };\r
+};\r
+\r
+template<> struct arg<5>\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value  = 5);\r
+    typedef arg<6> next;\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)\r
+\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+        typedef U5 type;\r
+        BOOST_MPL_AUX_ASSERT_NOT_NA(type);\r
+    };\r
+};\r
+\r
+BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg)\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
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 (file)
index 0000000..74072c9
--- /dev/null
@@ -0,0 +1,440 @@
+\r
+// Copyright Peter Dimov 2001\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/basic_bind.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename T, typename U1, typename U2, typename U3, typename U4\r
+    , typename U5\r
+    >\r
+struct resolve_bind_arg\r
+{\r
+    typedef T type;\r
+};\r
+\r
+template<\r
+      int N, typename U1, typename U2, typename U3, typename U4, typename U5\r
+    >\r
+struct resolve_bind_arg< arg<N>, U1, U2, U3, U4, U5 >\r
+{\r
+    typedef typename apply_wrap5<mpl::arg<N>, U1, U2, U3, U4, U5>::type type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename U1, typename U2, typename U3, typename U4\r
+    , typename U5\r
+    >\r
+struct resolve_bind_arg< bind< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 >\r
+{\r
+    typedef bind< F,T1,T2,T3,T4,T5 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct bind0\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;\r
+\r
+     public:\r
+        typedef typename apply_wrap0<\r
+              f_\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename U1, typename U2, typename U3, typename U4\r
+    , typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind0<F>, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind0<F> f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(1, bind0)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct bind< F,na,na,na,na,na >\r
+    : bind0<F>\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct bind1\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;\r
+        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;\r
+\r
+     public:\r
+        typedef typename apply_wrap1<\r
+              f_\r
+            , typename t1::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename U1, typename U2, typename U3\r
+    , typename U4, typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind1< F,T1 >, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind1< F,T1 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(2, bind1)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct bind< F,T1,na,na,na,na >\r
+    : bind1< F,T1 >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+struct bind2\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;\r
+        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;\r
+        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;\r
+\r
+     public:\r
+        typedef typename apply_wrap2<\r
+              f_\r
+            , typename t1::type, typename t2::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename U1, typename U2\r
+    , typename U3, typename U4, typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind2< F,T1,T2 >, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind2< F,T1,T2 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(3, bind2)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+struct bind< F,T1,T2,na,na,na >\r
+    : bind2< F,T1,T2 >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+struct bind3\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;\r
+        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;\r
+        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;\r
+        typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;\r
+\r
+     public:\r
+        typedef typename apply_wrap3<\r
+              f_\r
+            , typename t1::type, typename t2::type, typename t3::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename U1\r
+    , typename U2, typename U3, typename U4, typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind3< F,T1,T2,T3 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(4, bind3)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+struct bind< F,T1,T2,T3,na,na >\r
+    : bind3< F,T1,T2,T3 >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct bind4\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;\r
+        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;\r
+        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;\r
+        typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;\r
+        typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4;\r
+\r
+     public:\r
+        typedef typename apply_wrap4<\r
+              f_\r
+            , typename t1::type, typename t2::type, typename t3::type\r
+            , typename t4::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename U1, typename U2, typename U3, typename U4, typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind4< F,T1,T2,T3,T4 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(5, bind4)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct bind< F,T1,T2,T3,T4,na >\r
+    : bind4< F,T1,T2,T3,T4 >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct bind5\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;\r
+        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;\r
+        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;\r
+        typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;\r
+        typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4;\r
+        typedef aux::resolve_bind_arg< T5,U1,U2,U3,U4,U5 > t5;\r
+\r
+     public:\r
+        typedef typename apply_wrap5<\r
+              f_\r
+            , typename t1::type, typename t2::type, typename t3::type\r
+            , typename t4::type, typename t5::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename U1, typename U2, typename U3, typename U4\r
+    , typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind5< F,T1,T2,T3,T4,T5 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(6, bind5)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)\r
+\r
+/// primary template (not a specialization!)\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct bind\r
+    : bind5< F,T1,T2,T3,T4,T5 >\r
+{\r
+};\r
+\r
+/// if_/eval_if specializations\r
+template< template< typename T1, typename T2, typename T3 > class F, typename Tag >\r
+struct quote3;\r
+\r
+template< typename T1, typename T2, typename T3 > struct if_;\r
+\r
+template<\r
+      typename Tag, typename T1, typename T2, typename T3\r
+    >\r
+struct bind3<\r
+      quote3< if_,Tag >\r
+    , T1, T2, T3\r
+    >\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef mpl::arg<1> n1;\r
+        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;\r
+        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;\r
+        typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;\r
+        typedef typename if_<\r
+              typename t1::type\r
+            , t2, t3\r
+            >::type f_;\r
+\r
+     public:\r
+        typedef typename f_::type type;\r
+    };\r
+};\r
+\r
+template<\r
+      template< typename T1, typename T2, typename T3 > class F, typename Tag\r
+    >\r
+struct quote3;\r
+\r
+template< typename T1, typename T2, typename T3 > struct eval_if;\r
+\r
+template<\r
+      typename Tag, typename T1, typename T2, typename T3\r
+    >\r
+struct bind3<\r
+      quote3< eval_if,Tag >\r
+    , T1, T2, T3\r
+    >\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef mpl::arg<1> n1;\r
+        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;\r
+        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;\r
+        typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;\r
+        typedef typename eval_if<\r
+              typename t1::type\r
+            , t2, t3\r
+            >::type f_;\r
+\r
+     public:\r
+        typedef typename f_::type type;\r
+    };\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..888fbc6
--- /dev/null
@@ -0,0 +1,561 @@
+\r
+// Copyright Peter Dimov 2001\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/bind.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename T, typename U1, typename U2, typename U3, typename U4\r
+    , typename U5\r
+    >\r
+struct resolve_bind_arg\r
+{\r
+    typedef T type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , typename Arg\r
+    >\r
+struct replace_unnamed_arg\r
+{\r
+    typedef Arg next;\r
+    typedef T type;\r
+};\r
+\r
+template<\r
+      typename Arg\r
+    >\r
+struct replace_unnamed_arg< arg< -1 >, Arg >\r
+{\r
+    typedef typename Arg::next next;\r
+    typedef Arg type;\r
+};\r
+\r
+template<\r
+      int N, typename U1, typename U2, typename U3, typename U4, typename U5\r
+    >\r
+struct resolve_bind_arg< arg<N>, U1, U2, U3, U4, U5 >\r
+{\r
+    typedef typename apply_wrap5<mpl::arg<N>, U1, U2, U3, U4, U5>::type type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename U1, typename U2, typename U3, typename U4\r
+    , typename U5\r
+    >\r
+struct resolve_bind_arg< bind< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 >\r
+{\r
+    typedef bind< F,T1,T2,T3,T4,T5 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct bind0\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;\r
+        typedef typename r0::type a0;\r
+        typedef typename r0::next n1;\r
+        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;\r
+        ///\r
+     public:\r
+        typedef typename apply_wrap0<\r
+              f_\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename U1, typename U2, typename U3, typename U4\r
+    , typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind0<F>, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind0<F> f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(1, bind0)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct bind< F,na,na,na,na,na >\r
+    : bind0<F>\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct bind1\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;\r
+        typedef typename r0::type a0;\r
+        typedef typename r0::next n1;\r
+        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T1,n1 > r1;\r
+        typedef typename r1::type a1;\r
+        typedef typename r1::next n2;\r
+        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;\r
+        ///\r
+     public:\r
+        typedef typename apply_wrap1<\r
+              f_\r
+            , typename t1::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename U1, typename U2, typename U3\r
+    , typename U4, typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind1< F,T1 >, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind1< F,T1 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(2, bind1)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct bind< F,T1,na,na,na,na >\r
+    : bind1< F,T1 >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+struct bind2\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;\r
+        typedef typename r0::type a0;\r
+        typedef typename r0::next n1;\r
+        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T1,n1 > r1;\r
+        typedef typename r1::type a1;\r
+        typedef typename r1::next n2;\r
+        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T2,n2 > r2;\r
+        typedef typename r2::type a2;\r
+        typedef typename r2::next n3;\r
+        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;\r
+        ///\r
+     public:\r
+        typedef typename apply_wrap2<\r
+              f_\r
+            , typename t1::type, typename t2::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename U1, typename U2\r
+    , typename U3, typename U4, typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind2< F,T1,T2 >, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind2< F,T1,T2 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(3, bind2)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+struct bind< F,T1,T2,na,na,na >\r
+    : bind2< F,T1,T2 >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+struct bind3\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;\r
+        typedef typename r0::type a0;\r
+        typedef typename r0::next n1;\r
+        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T1,n1 > r1;\r
+        typedef typename r1::type a1;\r
+        typedef typename r1::next n2;\r
+        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T2,n2 > r2;\r
+        typedef typename r2::type a2;\r
+        typedef typename r2::next n3;\r
+        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T3,n3 > r3;\r
+        typedef typename r3::type a3;\r
+        typedef typename r3::next n4;\r
+        typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;\r
+        ///\r
+     public:\r
+        typedef typename apply_wrap3<\r
+              f_\r
+            , typename t1::type, typename t2::type, typename t3::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename U1\r
+    , typename U2, typename U3, typename U4, typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind3< F,T1,T2,T3 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(4, bind3)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+struct bind< F,T1,T2,T3,na,na >\r
+    : bind3< F,T1,T2,T3 >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct bind4\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;\r
+        typedef typename r0::type a0;\r
+        typedef typename r0::next n1;\r
+        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T1,n1 > r1;\r
+        typedef typename r1::type a1;\r
+        typedef typename r1::next n2;\r
+        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T2,n2 > r2;\r
+        typedef typename r2::type a2;\r
+        typedef typename r2::next n3;\r
+        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T3,n3 > r3;\r
+        typedef typename r3::type a3;\r
+        typedef typename r3::next n4;\r
+        typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T4,n4 > r4;\r
+        typedef typename r4::type a4;\r
+        typedef typename r4::next n5;\r
+        typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4;\r
+        ///\r
+     public:\r
+        typedef typename apply_wrap4<\r
+              f_\r
+            , typename t1::type, typename t2::type, typename t3::type\r
+            , typename t4::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename U1, typename U2, typename U3, typename U4, typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind4< F,T1,T2,T3,T4 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(5, bind4)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct bind< F,T1,T2,T3,T4,na >\r
+    : bind4< F,T1,T2,T3,T4 >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct bind5\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;\r
+        typedef typename r0::type a0;\r
+        typedef typename r0::next n1;\r
+        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T1,n1 > r1;\r
+        typedef typename r1::type a1;\r
+        typedef typename r1::next n2;\r
+        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T2,n2 > r2;\r
+        typedef typename r2::type a2;\r
+        typedef typename r2::next n3;\r
+        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T3,n3 > r3;\r
+        typedef typename r3::type a3;\r
+        typedef typename r3::next n4;\r
+        typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T4,n4 > r4;\r
+        typedef typename r4::type a4;\r
+        typedef typename r4::next n5;\r
+        typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T5,n5 > r5;\r
+        typedef typename r5::type a5;\r
+        typedef typename r5::next n6;\r
+        typedef aux::resolve_bind_arg< a5,U1,U2,U3,U4,U5 > t5;\r
+        ///\r
+     public:\r
+        typedef typename apply_wrap5<\r
+              f_\r
+            , typename t1::type, typename t2::type, typename t3::type\r
+            , typename t4::type, typename t5::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename U1, typename U2, typename U3, typename U4\r
+    , typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind5< F,T1,T2,T3,T4,T5 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(6, bind5)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)\r
+\r
+/// primary template (not a specialization!)\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct bind\r
+    : bind5< F,T1,T2,T3,T4,T5 >\r
+{\r
+};\r
+\r
+/// if_/eval_if specializations\r
+template< template< typename T1, typename T2, typename T3 > class F, typename Tag >\r
+struct quote3;\r
+\r
+template< typename T1, typename T2, typename T3 > struct if_;\r
+\r
+template<\r
+      typename Tag, typename T1, typename T2, typename T3\r
+    >\r
+struct bind3<\r
+      quote3< if_,Tag >\r
+    , T1, T2, T3\r
+    >\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef mpl::arg<1> n1;\r
+        typedef aux::replace_unnamed_arg< T1,n1 > r1;\r
+        typedef typename r1::type a1;\r
+        typedef typename r1::next n2;\r
+        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T2,n2 > r2;\r
+        typedef typename r2::type a2;\r
+        typedef typename r2::next n3;\r
+        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T3,n3 > r3;\r
+        typedef typename r3::type a3;\r
+        typedef typename r3::next n4;\r
+        typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;\r
+        ///\r
+        typedef typename if_<\r
+              typename t1::type\r
+            , t2, t3\r
+            >::type f_;\r
+\r
+     public:\r
+        typedef typename f_::type type;\r
+    };\r
+};\r
+\r
+template<\r
+      template< typename T1, typename T2, typename T3 > class F, typename Tag\r
+    >\r
+struct quote3;\r
+\r
+template< typename T1, typename T2, typename T3 > struct eval_if;\r
+\r
+template<\r
+      typename Tag, typename T1, typename T2, typename T3\r
+    >\r
+struct bind3<\r
+      quote3< eval_if,Tag >\r
+    , T1, T2, T3\r
+    >\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef mpl::arg<1> n1;\r
+        typedef aux::replace_unnamed_arg< T1,n1 > r1;\r
+        typedef typename r1::type a1;\r
+        typedef typename r1::next n2;\r
+        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T2,n2 > r2;\r
+        typedef typename r2::type a2;\r
+        typedef typename r2::next n3;\r
+        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T3,n3 > r3;\r
+        typedef typename r3::type a3;\r
+        typedef typename r3::next n4;\r
+        typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;\r
+        ///\r
+        typedef typename eval_if<\r
+              typename t1::type\r
+            , t2, t3\r
+            >::type f_;\r
+\r
+     public:\r
+        typedef typename f_::type type;\r
+    };\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..e47dd92
--- /dev/null
@@ -0,0 +1,52 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/bind_fwd.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename F, typename T1 = na, typename T2 = na, typename T3 = na\r
+    , typename T4 = na, typename T5 = na\r
+    >\r
+struct bind;\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct bind0;\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct bind1;\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+struct bind2;\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+struct bind3;\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct bind4;\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct bind5;\r
+\r
+}}\r
+\r
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 (file)
index 0000000..38cf55e
--- /dev/null
@@ -0,0 +1,147 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright Jaap Suter 2003\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/bitand.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct bitand_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< bitand_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< bitand_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct bitand_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct bitand_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct bitand_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct bitand_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    , typename N3 = na, typename N4 = na, typename N5 = na\r
+    >\r
+struct bitand_\r
+    : bitand_< bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>, N5>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , bitand_\r
+        , ( N1, N2, N3, N4, N5 )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3, typename N4\r
+    >\r
+struct bitand_< N1,N2,N3,N4,na >\r
+\r
+    : bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , bitand_\r
+        , ( N1, N2, N3, N4, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3\r
+    >\r
+struct bitand_< N1,N2,N3,na,na >\r
+\r
+    : bitand_< bitand_< N1,N2 >, N3>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , bitand_\r
+        , ( N1, N2, N3, na, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2\r
+    >\r
+struct bitand_< N1,N2,na,na,na >\r
+    : bitand_impl<\r
+          typename bitand_tag<N1>::type\r
+        , typename bitand_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , bitand_\r
+        , ( N1, N2, na, na, na )\r
+        )\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+template<>\r
+struct bitand_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : integral_c<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value\r
+                  & BOOST_MPL_AUX_VALUE_WKND(N2)::value\r
+                )\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..2f4162d
--- /dev/null
@@ -0,0 +1,147 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright Jaap Suter 2003\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/bitor.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct bitor_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< bitor_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< bitor_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct bitor_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct bitor_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct bitor_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct bitor_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    , typename N3 = na, typename N4 = na, typename N5 = na\r
+    >\r
+struct bitor_\r
+    : bitor_< bitor_< bitor_< bitor_< N1,N2 >, N3>, N4>, N5>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , bitor_\r
+        , ( N1, N2, N3, N4, N5 )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3, typename N4\r
+    >\r
+struct bitor_< N1,N2,N3,N4,na >\r
+\r
+    : bitor_< bitor_< bitor_< N1,N2 >, N3>, N4>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , bitor_\r
+        , ( N1, N2, N3, N4, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3\r
+    >\r
+struct bitor_< N1,N2,N3,na,na >\r
+\r
+    : bitor_< bitor_< N1,N2 >, N3>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , bitor_\r
+        , ( N1, N2, N3, na, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2\r
+    >\r
+struct bitor_< N1,N2,na,na,na >\r
+    : bitor_impl<\r
+          typename bitor_tag<N1>::type\r
+        , typename bitor_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , bitor_\r
+        , ( N1, N2, na, na, na )\r
+        )\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 5, bitor_)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+template<>\r
+struct bitor_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : integral_c<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value\r
+                  | BOOST_MPL_AUX_VALUE_WKND(N2)::value\r
+                )\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..b4daf8d
--- /dev/null
@@ -0,0 +1,147 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright Jaap Suter 2003\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/bitxor.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct bitxor_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< bitxor_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< bitxor_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct bitxor_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct bitxor_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct bitxor_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct bitxor_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    , typename N3 = na, typename N4 = na, typename N5 = na\r
+    >\r
+struct bitxor_\r
+    : bitxor_< bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>, N5>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , bitxor_\r
+        , ( N1, N2, N3, N4, N5 )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3, typename N4\r
+    >\r
+struct bitxor_< N1,N2,N3,N4,na >\r
+\r
+    : bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , bitxor_\r
+        , ( N1, N2, N3, N4, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3\r
+    >\r
+struct bitxor_< N1,N2,N3,na,na >\r
+\r
+    : bitxor_< bitxor_< N1,N2 >, N3>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , bitxor_\r
+        , ( N1, N2, N3, na, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2\r
+    >\r
+struct bitxor_< N1,N2,na,na,na >\r
+    : bitxor_impl<\r
+          typename bitxor_tag<N1>::type\r
+        , typename bitxor_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , bitxor_\r
+        , ( N1, N2, na, na, na )\r
+        )\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+template<>\r
+struct bitxor_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : integral_c<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value\r
+                  ^ BOOST_MPL_AUX_VALUE_WKND(N2)::value\r
+                )\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..ede9716
--- /dev/null
@@ -0,0 +1,323 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/deque.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na\r
+    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na\r
+    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na\r
+    , typename T12 = na, typename T13 = na, typename T14 = na\r
+    , typename T15 = na, typename T16 = na, typename T17 = na\r
+    , typename T18 = na, typename T19 = na\r
+    >\r
+struct deque;\r
+\r
+template<\r
+     \r
+    >\r
+struct deque<\r
+          na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector0<  >\r
+{\r
+    typedef vector0<  >::type type;\r
+};\r
+\r
+template<\r
+      typename T0\r
+    >\r
+struct deque<\r
+          T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector1<T0>\r
+{\r
+    typedef typename vector1<T0>::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1\r
+    >\r
+struct deque<\r
+          T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector2< T0,T1 >\r
+{\r
+    typedef typename vector2< T0,T1 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2\r
+    >\r
+struct deque<\r
+          T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector3< T0,T1,T2 >\r
+{\r
+    typedef typename vector3< T0,T1,T2 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector4< T0,T1,T2,T3 >\r
+{\r
+    typedef typename vector4< T0,T1,T2,T3 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector5< T0,T1,T2,T3,T4 >\r
+{\r
+    typedef typename vector5< T0,T1,T2,T3,T4 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector6< T0,T1,T2,T3,T4,T5 >\r
+{\r
+    typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector7< T0,T1,T2,T3,T4,T5,T6 >\r
+{\r
+    typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector8< T0,T1,T2,T3,T4,T5,T6,T7 >\r
+{\r
+    typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >\r
+{\r
+    typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >\r
+{\r
+    typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >\r
+{\r
+    typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na\r
+        , na, na, na, na\r
+        >\r
+    : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >\r
+{\r
+    typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na\r
+        , na, na, na, na\r
+        >\r
+    : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >\r
+{\r
+    typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na\r
+        , na, na, na, na\r
+        >\r
+    : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >\r
+{\r
+    typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na\r
+        , na, na, na, na\r
+        >\r
+    : vector15<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        >\r
+{\r
+    typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, na, na, na, na\r
+        >\r
+    : vector16<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15\r
+        >\r
+{\r
+    typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, na, na, na\r
+        >\r
+    : vector17<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16\r
+        >\r
+{\r
+    typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, na, na\r
+        >\r
+    : vector18<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17\r
+        >\r
+{\r
+    typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18, na\r
+        >\r
+    : vector19<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18\r
+        >\r
+{\r
+    typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;\r
+};\r
+\r
+/// primary template (not a specialization!)\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    >\r
+struct deque\r
+    : vector20<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18, T19\r
+        >\r
+{\r
+    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;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..55d9396
--- /dev/null
@@ -0,0 +1,146 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/divides.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct divides_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< divides_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< divides_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct divides_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct divides_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct divides_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct divides_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    , typename N3 = na, typename N4 = na, typename N5 = na\r
+    >\r
+struct divides\r
+    : divides< divides< divides< divides< N1,N2 >, N3>, N4>, N5>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , divides\r
+        , ( N1, N2, N3, N4, N5 )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3, typename N4\r
+    >\r
+struct divides< N1,N2,N3,N4,na >\r
+\r
+    : divides< divides< divides< N1,N2 >, N3>, N4>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , divides\r
+        , ( N1, N2, N3, N4, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3\r
+    >\r
+struct divides< N1,N2,N3,na,na >\r
+\r
+    : divides< divides< N1,N2 >, N3>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , divides\r
+        , ( N1, N2, N3, na, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2\r
+    >\r
+struct divides< N1,N2,na,na,na >\r
+    : divides_impl<\r
+          typename divides_tag<N1>::type\r
+        , typename divides_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , divides\r
+        , ( N1, N2, na, na, na )\r
+        )\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 5, divides)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+template<>\r
+struct divides_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : integral_c<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value\r
+                  / BOOST_MPL_AUX_VALUE_WKND(N2)::value\r
+                )\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..211236e
--- /dev/null
@@ -0,0 +1,94 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/equal_to.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct equal_to_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct equal_to_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct equal_to_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct equal_to_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct equal_to_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct equal_to\r
+\r
+    : equal_to_impl<\r
+          typename equal_to_tag<N1>::type\r
+        , typename equal_to_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, equal_to, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct equal_to_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value  == BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..6d94f48
--- /dev/null
@@ -0,0 +1,180 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/fold_impl.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+/// forward declaration\r
+\r
+template<\r
+      int N\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct fold_impl;\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct fold_impl< 0,First,Last,State,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State state0;\r
+    typedef state0 state;\r
+    typedef iter0 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct fold_impl< 1,First,Last,State,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State state0;\r
+    typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    \r
+\r
+    typedef state1 state;\r
+    typedef iter1 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct fold_impl< 2,First,Last,State,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State state0;\r
+    typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;\r
+    typedef typename mpl::next<iter1>::type iter2;\r
+    \r
+\r
+    typedef state2 state;\r
+    typedef iter2 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct fold_impl< 3,First,Last,State,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State state0;\r
+    typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;\r
+    typedef typename mpl::next<iter1>::type iter2;\r
+    typedef typename apply2< ForwardOp, state2, typename deref<iter2>::type >::type state3;\r
+    typedef typename mpl::next<iter2>::type iter3;\r
+    \r
+\r
+    typedef state3 state;\r
+    typedef iter3 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct fold_impl< 4,First,Last,State,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State state0;\r
+    typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;\r
+    typedef typename mpl::next<iter1>::type iter2;\r
+    typedef typename apply2< ForwardOp, state2, typename deref<iter2>::type >::type state3;\r
+    typedef typename mpl::next<iter2>::type iter3;\r
+    typedef typename apply2< ForwardOp, state3, typename deref<iter3>::type >::type state4;\r
+    typedef typename mpl::next<iter3>::type iter4;\r
+    \r
+\r
+    typedef state4 state;\r
+    typedef iter4 iterator;\r
+};\r
+\r
+template<\r
+      int N\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct fold_impl\r
+{\r
+    typedef fold_impl<\r
+          4\r
+        , First\r
+        , Last\r
+        , State\r
+        , ForwardOp\r
+        > chunk_;\r
+\r
+    typedef fold_impl<\r
+          ( (N - 4) < 0 ? 0 : N - 4 )\r
+        , typename chunk_::iterator\r
+        , Last\r
+        , typename chunk_::state\r
+        , ForwardOp\r
+        > res_;\r
+\r
+    typedef typename res_::state state;\r
+    typedef typename res_::iterator iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct fold_impl< -1,First,Last,State,ForwardOp >\r
+    : fold_impl<\r
+          -1\r
+        , typename mpl::next<First>::type\r
+        , Last\r
+        , typename apply2<ForwardOp,State, typename deref<First>::type>::type\r
+        , ForwardOp\r
+        >\r
+{\r
+};\r
+\r
+template<\r
+      typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct fold_impl< -1,Last,Last,State,ForwardOp >\r
+{\r
+    typedef State state;\r
+    typedef Last iterator;\r
+};\r
+\r
+}}}\r
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 (file)
index 0000000..b9297cd
--- /dev/null
@@ -0,0 +1,558 @@
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/full_lambda.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+\r
+template<\r
+      bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false\r
+    , bool C5 = false\r
+    >\r
+struct lambda_or\r
+    : true_\r
+{\r
+};\r
+\r
+template<>\r
+struct lambda_or< false,false,false,false,false >\r
+    : false_\r
+{\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename T\r
+    , typename Tag\r
+    , typename Arity\r
+    >\r
+struct lambda\r
+{\r
+    typedef false_ is_le;\r
+    typedef T result_;\r
+    typedef T type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    >\r
+struct is_lambda_expression\r
+    : lambda<T>::is_le\r
+{\r
+};\r
+\r
+template< int N, typename Tag >\r
+struct lambda< arg<N>,Tag, int_< -1 > >\r
+{\r
+    typedef true_ is_le;\r
+    typedef mpl::arg<N> result_; // qualified for the sake of MIPSpro 7.41\r
+    typedef mpl::protect<result_> type;\r
+};\r
+\r
+template<\r
+      typename F\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          bind0<F>\r
+        , Tag\r
+        , int_<1>\r
+        >\r
+{\r
+    typedef false_ is_le;\r
+    typedef bind0<\r
+          F\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename IsLE, typename Tag\r
+    , template< typename P1 > class F\r
+    , typename L1\r
+    >\r
+struct le_result1\r
+{\r
+    typedef F<\r
+          typename L1::type\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+template<\r
+      typename Tag\r
+    , template< typename P1 > class F\r
+    , typename L1\r
+    >\r
+struct le_result1< true_,Tag,F,L1 >\r
+{\r
+    typedef bind1<\r
+          quote1< F,Tag >\r
+        , typename L1::result_\r
+        > result_;\r
+\r
+    typedef mpl::protect<result_> type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      template< typename P1 > class F\r
+    , typename T1\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          F<T1>\r
+        , Tag\r
+        , int_<1>\r
+        >\r
+{\r
+    typedef lambda< T1,Tag > l1;\r
+    typedef typename l1::is_le is_le1;\r
+    typedef typename aux::lambda_or<\r
+          is_le1::value\r
+        >::type is_le;\r
+\r
+    typedef aux::le_result1<\r
+          is_le, Tag, F, l1\r
+        > le_result_;\r
+\r
+    typedef typename le_result_::result_ result_;\r
+    typedef typename le_result_::type type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          bind1< F,T1 >\r
+        , Tag\r
+        , int_<2>\r
+        >\r
+{\r
+    typedef false_ is_le;\r
+    typedef bind1<\r
+          F\r
+        , T1\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename IsLE, typename Tag\r
+    , template< typename P1, typename P2 > class F\r
+    , typename L1, typename L2\r
+    >\r
+struct le_result2\r
+{\r
+    typedef F<\r
+          typename L1::type, typename L2::type\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+template<\r
+      typename Tag\r
+    , template< typename P1, typename P2 > class F\r
+    , typename L1, typename L2\r
+    >\r
+struct le_result2< true_,Tag,F,L1,L2 >\r
+{\r
+    typedef bind2<\r
+          quote2< F,Tag >\r
+        , typename L1::result_, typename L2::result_\r
+        > result_;\r
+\r
+    typedef mpl::protect<result_> type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      template< typename P1, typename P2 > class F\r
+    , typename T1, typename T2\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          F< T1,T2 >\r
+        , Tag\r
+        , int_<2>\r
+        >\r
+{\r
+    typedef lambda< T1,Tag > l1;\r
+    typedef lambda< T2,Tag > l2;\r
+    \r
+    typedef typename l1::is_le is_le1;\r
+    typedef typename l2::is_le is_le2;\r
+    \r
+\r
+    typedef typename aux::lambda_or<\r
+          is_le1::value, is_le2::value\r
+        >::type is_le;\r
+\r
+    typedef aux::le_result2<\r
+          is_le, Tag, F, l1, l2\r
+        > le_result_;\r
+\r
+    typedef typename le_result_::result_ result_;\r
+    typedef typename le_result_::type type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          bind2< F,T1,T2 >\r
+        , Tag\r
+        , int_<3>\r
+        >\r
+{\r
+    typedef false_ is_le;\r
+    typedef bind2<\r
+          F\r
+        , T1, T2\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename IsLE, typename Tag\r
+    , template< typename P1, typename P2, typename P3 > class F\r
+    , typename L1, typename L2, typename L3\r
+    >\r
+struct le_result3\r
+{\r
+    typedef F<\r
+          typename L1::type, typename L2::type, typename L3::type\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+template<\r
+      typename Tag\r
+    , template< typename P1, typename P2, typename P3 > class F\r
+    , typename L1, typename L2, typename L3\r
+    >\r
+struct le_result3< true_,Tag,F,L1,L2,L3 >\r
+{\r
+    typedef bind3<\r
+          quote3< F,Tag >\r
+        , typename L1::result_, typename L2::result_, typename L3::result_\r
+        > result_;\r
+\r
+    typedef mpl::protect<result_> type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      template< typename P1, typename P2, typename P3 > class F\r
+    , typename T1, typename T2, typename T3\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          F< T1,T2,T3 >\r
+        , Tag\r
+        , int_<3>\r
+        >\r
+{\r
+    typedef lambda< T1,Tag > l1;\r
+    typedef lambda< T2,Tag > l2;\r
+    typedef lambda< T3,Tag > l3;\r
+    \r
+    typedef typename l1::is_le is_le1;\r
+    typedef typename l2::is_le is_le2;\r
+    typedef typename l3::is_le is_le3;\r
+    \r
+\r
+    typedef typename aux::lambda_or<\r
+          is_le1::value, is_le2::value, is_le3::value\r
+        >::type is_le;\r
+\r
+    typedef aux::le_result3<\r
+          is_le, Tag, F, l1, l2, l3\r
+        > le_result_;\r
+\r
+    typedef typename le_result_::result_ result_;\r
+    typedef typename le_result_::type type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          bind3< F,T1,T2,T3 >\r
+        , Tag\r
+        , int_<4>\r
+        >\r
+{\r
+    typedef false_ is_le;\r
+    typedef bind3<\r
+          F\r
+        , T1, T2, T3\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename IsLE, typename Tag\r
+    , template< typename P1, typename P2, typename P3, typename P4 > class F\r
+    , typename L1, typename L2, typename L3, typename L4\r
+    >\r
+struct le_result4\r
+{\r
+    typedef F<\r
+          typename L1::type, typename L2::type, typename L3::type\r
+        , typename L4::type\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+template<\r
+      typename Tag\r
+    , template< typename P1, typename P2, typename P3, typename P4 > class F\r
+    , typename L1, typename L2, typename L3, typename L4\r
+    >\r
+struct le_result4< true_,Tag,F,L1,L2,L3,L4 >\r
+{\r
+    typedef bind4<\r
+          quote4< F,Tag >\r
+        , typename L1::result_, typename L2::result_, typename L3::result_\r
+        , typename L4::result_\r
+        > result_;\r
+\r
+    typedef mpl::protect<result_> type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      template< typename P1, typename P2, typename P3, typename P4 > class F\r
+    , typename T1, typename T2, typename T3, typename T4\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          F< T1,T2,T3,T4 >\r
+        , Tag\r
+        , int_<4>\r
+        >\r
+{\r
+    typedef lambda< T1,Tag > l1;\r
+    typedef lambda< T2,Tag > l2;\r
+    typedef lambda< T3,Tag > l3;\r
+    typedef lambda< T4,Tag > l4;\r
+    \r
+    typedef typename l1::is_le is_le1;\r
+    typedef typename l2::is_le is_le2;\r
+    typedef typename l3::is_le is_le3;\r
+    typedef typename l4::is_le is_le4;\r
+    \r
+\r
+    typedef typename aux::lambda_or<\r
+          is_le1::value, is_le2::value, is_le3::value, is_le4::value\r
+        >::type is_le;\r
+\r
+    typedef aux::le_result4<\r
+          is_le, Tag, F, l1, l2, l3, l4\r
+        > le_result_;\r
+\r
+    typedef typename le_result_::result_ result_;\r
+    typedef typename le_result_::type type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          bind4< F,T1,T2,T3,T4 >\r
+        , Tag\r
+        , int_<5>\r
+        >\r
+{\r
+    typedef false_ is_le;\r
+    typedef bind4<\r
+          F\r
+        , T1, T2, T3, T4\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename IsLE, typename Tag\r
+    , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F\r
+    , typename L1, typename L2, typename L3, typename L4, typename L5\r
+    >\r
+struct le_result5\r
+{\r
+    typedef F<\r
+          typename L1::type, typename L2::type, typename L3::type\r
+        , typename L4::type, typename L5::type\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+template<\r
+      typename Tag\r
+    , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F\r
+    , typename L1, typename L2, typename L3, typename L4, typename L5\r
+    >\r
+struct le_result5< true_,Tag,F,L1,L2,L3,L4,L5 >\r
+{\r
+    typedef bind5<\r
+          quote5< F,Tag >\r
+        , typename L1::result_, typename L2::result_, typename L3::result_\r
+        , typename L4::result_, typename L5::result_\r
+        > result_;\r
+\r
+    typedef mpl::protect<result_> type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      template<\r
+          typename P1, typename P2, typename P3, typename P4\r
+        , typename P5\r
+        >\r
+      class F\r
+    , typename T1, typename T2, typename T3, typename T4, typename T5\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          F< T1,T2,T3,T4,T5 >\r
+        , Tag\r
+        , int_<5>\r
+        >\r
+{\r
+    typedef lambda< T1,Tag > l1;\r
+    typedef lambda< T2,Tag > l2;\r
+    typedef lambda< T3,Tag > l3;\r
+    typedef lambda< T4,Tag > l4;\r
+    typedef lambda< T5,Tag > l5;\r
+    \r
+    typedef typename l1::is_le is_le1;\r
+    typedef typename l2::is_le is_le2;\r
+    typedef typename l3::is_le is_le3;\r
+    typedef typename l4::is_le is_le4;\r
+    typedef typename l5::is_le is_le5;\r
+    \r
+\r
+    typedef typename aux::lambda_or<\r
+          is_le1::value, is_le2::value, is_le3::value, is_le4::value\r
+        , is_le5::value\r
+        >::type is_le;\r
+\r
+    typedef aux::le_result5<\r
+          is_le, Tag, F, l1, l2, l3, l4, l5\r
+        > le_result_;\r
+\r
+    typedef typename le_result_::result_ result_;\r
+    typedef typename le_result_::type type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          bind5< F,T1,T2,T3,T4,T5 >\r
+        , Tag\r
+        , int_<6>\r
+        >\r
+{\r
+    typedef false_ is_le;\r
+    typedef bind5<\r
+          F\r
+        , T1, T2, T3, T4, T5\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+/// special case for 'protect'\r
+template< typename T, typename Tag >\r
+struct lambda< mpl::protect<T>,Tag, int_<1> >\r
+{\r
+    typedef false_ is_le;\r
+    typedef mpl::protect<T> result_;\r
+    typedef result_ type;\r
+};\r
+\r
+/// specializations for the main 'bind' form\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          bind< F,T1,T2,T3,T4,T5 >\r
+        , Tag\r
+        , int_<6>\r
+        >\r
+{\r
+    typedef false_ is_le;\r
+    typedef bind< F,T1,T2,T3,T4,T5 > result_;\r
+    typedef result_ type;\r
+};\r
+\r
+template<\r
+      typename F\r
+    , typename Tag1\r
+    , typename Tag2\r
+    , typename Arity\r
+    >\r
+struct lambda<\r
+          lambda< F,Tag1,Arity >\r
+        , Tag2\r
+        , int_<3>\r
+        >\r
+{\r
+    typedef lambda< F,Tag2 > l1;\r
+    typedef lambda< Tag1,Tag2 > l2;\r
+    typedef typename l1::is_le is_le;\r
+    typedef bind1< quote1<aux::template_arity>, typename l1::result_ > arity_;\r
+    typedef lambda< typename if_< is_le,arity_,Arity >::type, Tag2 > l3;\r
+    typedef aux::le_result3<is_le, Tag2, mpl::lambda, l1, l2, l3> le_result_;\r
+    typedef typename le_result_::result_ result_;\r
+    typedef typename le_result_::type type;\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 3, lambda)\r
+\r
+}}\r
+\r
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 (file)
index 0000000..e626a2b
--- /dev/null
@@ -0,0 +1,94 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/greater.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct greater_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< greater_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< greater_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct greater_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct greater_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct greater_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct greater_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct greater\r
+\r
+    : greater_impl<\r
+          typename greater_tag<N1>::type\r
+        , typename greater_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, greater)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct greater_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value > BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..a4bc28e
--- /dev/null
@@ -0,0 +1,94 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/greater_equal.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct greater_equal_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< greater_equal_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< greater_equal_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct greater_equal_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct greater_equal_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct greater_equal_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct greater_equal_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct greater_equal\r
+\r
+    : greater_equal_impl<\r
+          typename greater_equal_tag<N1>::type\r
+        , typename greater_equal_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater_equal, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct greater_equal_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..3eb3bae
--- /dev/null
@@ -0,0 +1,141 @@
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/inherit.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(T1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(T2)\r
+    >\r
+struct inherit2\r
+    : T1, T2\r
+{\r
+    typedef inherit2 type;\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1, T2))\r
+};\r
+\r
+template< typename T1 >\r
+struct inherit2< T1,empty_base >\r
+{\r
+    typedef T1 type;\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (T1, empty_base))\r
+};\r
+\r
+template< typename T2 >\r
+struct inherit2< empty_base,T2 >\r
+{\r
+    typedef T2 type;\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, T2))\r
+};\r
+\r
+template<>\r
+struct inherit2< empty_base,empty_base >\r
+{\r
+    typedef empty_base type;\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, empty_base))\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(2, inherit2)\r
+\r
+template<\r
+      typename T1 = na, typename T2 = na, typename T3 = na\r
+    >\r
+struct inherit3\r
+    : inherit2<\r
+          typename inherit2<\r
+              T1, T2\r
+            >::type\r
+        , T3\r
+        >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          3\r
+        , inherit3\r
+        , ( T1, T2, T3)\r
+        )\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(3, inherit3)\r
+\r
+template<\r
+      typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na\r
+    >\r
+struct inherit4\r
+    : inherit2<\r
+          typename inherit3<\r
+              T1, T2, T3\r
+            >::type\r
+        , T4\r
+        >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          4\r
+        , inherit4\r
+        , ( T1, T2, T3, T4)\r
+        )\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(4, inherit4)\r
+\r
+template<\r
+      typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na\r
+    , typename T5 = na\r
+    >\r
+struct inherit5\r
+    : inherit2<\r
+          typename inherit4<\r
+              T1, T2, T3, T4\r
+            >::type\r
+        , T5\r
+        >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , inherit5\r
+        , ( T1, T2, T3, T4, T5)\r
+        )\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(5, inherit5)\r
+\r
+/// primary template\r
+\r
+template<\r
+      typename T1 = empty_base, typename T2 = empty_base\r
+    , typename T3 = empty_base, typename T4 = empty_base\r
+    , typename T5 = empty_base\r
+    >\r
+struct inherit\r
+    : inherit5< T1,T2,T3,T4,T5 >\r
+{\r
+};\r
+\r
+template<>\r
+struct inherit< na,na,na,na,na >\r
+{\r
+    template<\r
+\r
+          typename T1 = empty_base, typename T2 = empty_base\r
+        , typename T3 = empty_base, typename T4 = empty_base\r
+        , typename T5 = empty_base\r
+\r
+        >\r
+    struct apply\r
+        : inherit< T1,T2,T3,T4,T5 >\r
+    {\r
+    };\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit)\r
+BOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit)\r
+BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit)\r
+}}\r
+\r
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 (file)
index 0000000..233e7dd
--- /dev/null
@@ -0,0 +1,133 @@
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+// Copyright David Abrahams 2001-2002\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/iter_fold_if_impl.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+template< typename Iterator, typename State >\r
+struct iter_fold_if_null_step\r
+{\r
+    typedef State state;\r
+    typedef Iterator iterator;\r
+};\r
+\r
+template< bool >\r
+struct iter_fold_if_step_impl\r
+{\r
+    template<\r
+          typename Iterator\r
+        , typename State\r
+        , typename StateOp\r
+        , typename IteratorOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename apply2< StateOp,State,Iterator >::type state;\r
+        typedef typename IteratorOp::type iterator;\r
+    };\r
+};\r
+\r
+template<>\r
+struct iter_fold_if_step_impl<false>\r
+{\r
+    template<\r
+          typename Iterator\r
+        , typename State\r
+        , typename StateOp\r
+        , typename IteratorOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef State state;\r
+        typedef Iterator iterator;\r
+    };\r
+};\r
+\r
+template<\r
+      typename Iterator\r
+    , typename State\r
+    , typename ForwardOp\r
+    , typename Predicate\r
+    >\r
+struct iter_fold_if_forward_step\r
+{\r
+    typedef typename apply2< Predicate,State,Iterator >::type not_last;\r
+    typedef typename iter_fold_if_step_impl<\r
+          BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value\r
+        >::template result_< Iterator,State,ForwardOp, mpl::next<Iterator> > impl_;\r
+\r
+    typedef typename impl_::state state;\r
+    typedef typename impl_::iterator iterator;\r
+};\r
+\r
+template<\r
+      typename Iterator\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename Predicate\r
+    >\r
+struct iter_fold_if_backward_step\r
+{\r
+    typedef typename apply2< Predicate,State,Iterator >::type not_last;\r
+    typedef typename iter_fold_if_step_impl<\r
+          BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value\r
+        >::template result_< Iterator,State,BackwardOp, identity<Iterator> > impl_;\r
+\r
+    typedef typename impl_::state state;\r
+    typedef typename impl_::iterator iterator;\r
+};\r
+\r
+template<\r
+      typename Iterator\r
+    , typename State\r
+    , typename ForwardOp\r
+    , typename ForwardPredicate\r
+    , typename BackwardOp\r
+    , typename BackwardPredicate\r
+    >\r
+struct iter_fold_if_impl\r
+{\r
+ private:\r
+    typedef iter_fold_if_null_step< Iterator,State > forward_step0;\r
+    typedef iter_fold_if_forward_step< typename forward_step0::iterator, typename forward_step0::state, ForwardOp, ForwardPredicate > forward_step1;\r
+    typedef iter_fold_if_forward_step< typename forward_step1::iterator, typename forward_step1::state, ForwardOp, ForwardPredicate > forward_step2;\r
+    typedef iter_fold_if_forward_step< typename forward_step2::iterator, typename forward_step2::state, ForwardOp, ForwardPredicate > forward_step3;\r
+    typedef iter_fold_if_forward_step< typename forward_step3::iterator, typename forward_step3::state, ForwardOp, ForwardPredicate > forward_step4;\r
+    \r
+\r
+    typedef typename if_<\r
+          typename forward_step4::not_last\r
+        , iter_fold_if_impl<\r
+              typename forward_step4::iterator\r
+            , typename forward_step4::state\r
+            , ForwardOp\r
+            , ForwardPredicate\r
+            , BackwardOp\r
+            , BackwardPredicate\r
+            >\r
+        , iter_fold_if_null_step<\r
+              typename forward_step4::iterator\r
+            , typename forward_step4::state\r
+            >\r
+        >::type backward_step4;\r
+\r
+    typedef iter_fold_if_backward_step< typename forward_step3::iterator, typename backward_step4::state, BackwardOp, BackwardPredicate > backward_step3;\r
+    typedef iter_fold_if_backward_step< typename forward_step2::iterator, typename backward_step3::state, BackwardOp, BackwardPredicate > backward_step2;\r
+    typedef iter_fold_if_backward_step< typename forward_step1::iterator, typename backward_step2::state, BackwardOp, BackwardPredicate > backward_step1;\r
+    typedef iter_fold_if_backward_step< typename forward_step0::iterator, typename backward_step1::state, BackwardOp, BackwardPredicate > backward_step0;\r
+    \r
+\r
+ public:\r
+    typedef typename backward_step0::state state;\r
+    typedef typename backward_step4::iterator iterator;\r
+};\r
+\r
+}}}\r
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 (file)
index 0000000..f633d1b
--- /dev/null
@@ -0,0 +1,180 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/iter_fold_impl.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+/// forward declaration\r
+\r
+template<\r
+      int N\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct iter_fold_impl;\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct iter_fold_impl< 0,First,Last,State,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State state0;\r
+    typedef state0 state;\r
+    typedef iter0 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct iter_fold_impl< 1,First,Last,State,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State state0;\r
+    typedef typename apply2< ForwardOp,state0,iter0 >::type state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    \r
+\r
+    typedef state1 state;\r
+    typedef iter1 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct iter_fold_impl< 2,First,Last,State,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State state0;\r
+    typedef typename apply2< ForwardOp,state0,iter0 >::type state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    typedef typename apply2< ForwardOp,state1,iter1 >::type state2;\r
+    typedef typename mpl::next<iter1>::type iter2;\r
+    \r
+\r
+    typedef state2 state;\r
+    typedef iter2 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct iter_fold_impl< 3,First,Last,State,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State state0;\r
+    typedef typename apply2< ForwardOp,state0,iter0 >::type state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    typedef typename apply2< ForwardOp,state1,iter1 >::type state2;\r
+    typedef typename mpl::next<iter1>::type iter2;\r
+    typedef typename apply2< ForwardOp,state2,iter2 >::type state3;\r
+    typedef typename mpl::next<iter2>::type iter3;\r
+    \r
+\r
+    typedef state3 state;\r
+    typedef iter3 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct iter_fold_impl< 4,First,Last,State,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State state0;\r
+    typedef typename apply2< ForwardOp,state0,iter0 >::type state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    typedef typename apply2< ForwardOp,state1,iter1 >::type state2;\r
+    typedef typename mpl::next<iter1>::type iter2;\r
+    typedef typename apply2< ForwardOp,state2,iter2 >::type state3;\r
+    typedef typename mpl::next<iter2>::type iter3;\r
+    typedef typename apply2< ForwardOp,state3,iter3 >::type state4;\r
+    typedef typename mpl::next<iter3>::type iter4;\r
+    \r
+\r
+    typedef state4 state;\r
+    typedef iter4 iterator;\r
+};\r
+\r
+template<\r
+      int N\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct iter_fold_impl\r
+{\r
+    typedef iter_fold_impl<\r
+          4\r
+        , First\r
+        , Last\r
+        , State\r
+        , ForwardOp\r
+        > chunk_;\r
+\r
+    typedef iter_fold_impl<\r
+          ( (N - 4) < 0 ? 0 : N - 4 )\r
+        , typename chunk_::iterator\r
+        , Last\r
+        , typename chunk_::state\r
+        , ForwardOp\r
+        > res_;\r
+\r
+    typedef typename res_::state state;\r
+    typedef typename res_::iterator iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct iter_fold_impl< -1,First,Last,State,ForwardOp >\r
+    : iter_fold_impl<\r
+          -1\r
+        , typename mpl::next<First>::type\r
+        , Last\r
+        , typename apply2< ForwardOp,State,First >::type\r
+        , ForwardOp\r
+        >\r
+{\r
+};\r
+\r
+template<\r
+      typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct iter_fold_impl< -1,Last,Last,State,ForwardOp >\r
+{\r
+    typedef State state;\r
+    typedef Last iterator;\r
+};\r
+\r
+}}}\r
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 (file)
index 0000000..c4ac608
--- /dev/null
@@ -0,0 +1,229 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/lambda_no_ctps.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+\r
+template<\r
+      bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false\r
+    , bool C5 = false\r
+    >\r
+struct lambda_or\r
+    : true_\r
+{\r
+};\r
+\r
+template<>\r
+struct lambda_or< false,false,false,false,false >\r
+    : false_\r
+{\r
+};\r
+\r
+template< typename Arity > struct lambda_impl\r
+{\r
+    template< typename T, typename Tag, typename Protect > struct result_\r
+    {\r
+        typedef T type;\r
+        typedef is_placeholder<T> is_le;\r
+    };\r
+};\r
+\r
+template<> struct lambda_impl< int_<1> >\r
+{\r
+    template< typename F, typename Tag, typename Protect > struct result_\r
+    {\r
+        typedef lambda< typename F::arg1, Tag, false_ > l1;\r
+        typedef typename l1::is_le is_le1;\r
+        typedef aux::lambda_or<\r
+              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value\r
+            > is_le;\r
+\r
+        typedef bind1<\r
+              typename F::rebind\r
+            , typename l1::type\r
+            > bind_;\r
+\r
+        typedef typename if_<\r
+              is_le\r
+            , if_< Protect, mpl::protect<bind_>, bind_ >\r
+            , identity<F>\r
+            >::type type_;\r
+\r
+        typedef typename type_::type type;\r
+    };\r
+};\r
+\r
+template<> struct lambda_impl< int_<2> >\r
+{\r
+    template< typename F, typename Tag, typename Protect > struct result_\r
+    {\r
+        typedef lambda< typename F::arg1, Tag, false_ > l1;\r
+        typedef lambda< typename F::arg2, Tag, false_ > l2;\r
+        \r
+        typedef typename l1::is_le is_le1;\r
+        typedef typename l2::is_le is_le2;\r
+        \r
+\r
+        typedef aux::lambda_or<\r
+              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value\r
+            > is_le;\r
+\r
+        typedef bind2<\r
+              typename F::rebind\r
+            , typename l1::type, typename l2::type\r
+            > bind_;\r
+\r
+        typedef typename if_<\r
+              is_le\r
+            , if_< Protect, mpl::protect<bind_>, bind_ >\r
+            , identity<F>\r
+            >::type type_;\r
+\r
+        typedef typename type_::type type;\r
+    };\r
+};\r
+\r
+template<> struct lambda_impl< int_<3> >\r
+{\r
+    template< typename F, typename Tag, typename Protect > struct result_\r
+    {\r
+        typedef lambda< typename F::arg1, Tag, false_ > l1;\r
+        typedef lambda< typename F::arg2, Tag, false_ > l2;\r
+        typedef lambda< typename F::arg3, Tag, false_ > l3;\r
+        \r
+        typedef typename l1::is_le is_le1;\r
+        typedef typename l2::is_le is_le2;\r
+        typedef typename l3::is_le is_le3;\r
+        \r
+\r
+        typedef aux::lambda_or<\r
+              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\r
+            > is_le;\r
+\r
+        typedef bind3<\r
+              typename F::rebind\r
+            , typename l1::type, typename l2::type, typename l3::type\r
+            > bind_;\r
+\r
+        typedef typename if_<\r
+              is_le\r
+            , if_< Protect, mpl::protect<bind_>, bind_ >\r
+            , identity<F>\r
+            >::type type_;\r
+\r
+        typedef typename type_::type type;\r
+    };\r
+};\r
+\r
+template<> struct lambda_impl< int_<4> >\r
+{\r
+    template< typename F, typename Tag, typename Protect > struct result_\r
+    {\r
+        typedef lambda< typename F::arg1, Tag, false_ > l1;\r
+        typedef lambda< typename F::arg2, Tag, false_ > l2;\r
+        typedef lambda< typename F::arg3, Tag, false_ > l3;\r
+        typedef lambda< typename F::arg4, Tag, false_ > l4;\r
+        \r
+        typedef typename l1::is_le is_le1;\r
+        typedef typename l2::is_le is_le2;\r
+        typedef typename l3::is_le is_le3;\r
+        typedef typename l4::is_le is_le4;\r
+        \r
+\r
+        typedef aux::lambda_or<\r
+              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\r
+            > is_le;\r
+\r
+        typedef bind4<\r
+              typename F::rebind\r
+            , typename l1::type, typename l2::type, typename l3::type\r
+            , typename l4::type\r
+            > bind_;\r
+\r
+        typedef typename if_<\r
+              is_le\r
+            , if_< Protect, mpl::protect<bind_>, bind_ >\r
+            , identity<F>\r
+            >::type type_;\r
+\r
+        typedef typename type_::type type;\r
+    };\r
+};\r
+\r
+template<> struct lambda_impl< int_<5> >\r
+{\r
+    template< typename F, typename Tag, typename Protect > struct result_\r
+    {\r
+        typedef lambda< typename F::arg1, Tag, false_ > l1;\r
+        typedef lambda< typename F::arg2, Tag, false_ > l2;\r
+        typedef lambda< typename F::arg3, Tag, false_ > l3;\r
+        typedef lambda< typename F::arg4, Tag, false_ > l4;\r
+        typedef lambda< typename F::arg5, Tag, false_ > l5;\r
+        \r
+        typedef typename l1::is_le is_le1;\r
+        typedef typename l2::is_le is_le2;\r
+        typedef typename l3::is_le is_le3;\r
+        typedef typename l4::is_le is_le4;\r
+        typedef typename l5::is_le is_le5;\r
+        \r
+\r
+        typedef aux::lambda_or<\r
+              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\r
+            > is_le;\r
+\r
+        typedef bind5<\r
+              typename F::rebind\r
+            , typename l1::type, typename l2::type, typename l3::type\r
+            , typename l4::type, typename l5::type\r
+            > bind_;\r
+\r
+        typedef typename if_<\r
+              is_le\r
+            , if_< Protect, mpl::protect<bind_>, bind_ >\r
+            , identity<F>\r
+            >::type type_;\r
+\r
+        typedef typename type_::type type;\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename T\r
+    , typename Tag\r
+    , typename Protect\r
+    >\r
+struct lambda\r
+{\r
+    /// Metafunction forwarding confuses MSVC 6.x\r
+    typedef typename aux::template_arity<T>::type arity_;\r
+    typedef typename aux::lambda_impl<arity_>\r
+        ::template result_< T,Tag,Protect > l_;\r
+\r
+    typedef typename l_::type type;\r
+    typedef typename l_::is_le is_le;\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect))\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(1, 3, lambda)\r
+\r
+template<\r
+      typename T\r
+    >\r
+struct is_lambda_expression\r
+    : lambda<T>::is_le\r
+{\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..01dc25f
--- /dev/null
@@ -0,0 +1,94 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/less.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct less_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< less_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< less_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct less_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct less_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct less_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct less_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct less\r
+\r
+    : less_impl<\r
+          typename less_tag<N1>::type\r
+        , typename less_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, less)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct less_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N2)::value > BOOST_MPL_AUX_VALUE_WKND(N1)::value ) >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..233e936
--- /dev/null
@@ -0,0 +1,94 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/less_equal.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct less_equal_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< less_equal_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< less_equal_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct less_equal_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct less_equal_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct less_equal_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct less_equal_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct less_equal\r
+\r
+    : less_equal_impl<\r
+          typename less_equal_tag<N1>::type\r
+        , typename less_equal_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less_equal, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct less_equal_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value <= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..1dcd58b
--- /dev/null
@@ -0,0 +1,323 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/list.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na\r
+    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na\r
+    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na\r
+    , typename T12 = na, typename T13 = na, typename T14 = na\r
+    , typename T15 = na, typename T16 = na, typename T17 = na\r
+    , typename T18 = na, typename T19 = na\r
+    >\r
+struct list;\r
+\r
+template<\r
+     \r
+    >\r
+struct list<\r
+          na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list0<  >\r
+{\r
+    typedef list0<  >::type type;\r
+};\r
+\r
+template<\r
+      typename T0\r
+    >\r
+struct list<\r
+          T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list1<T0>\r
+{\r
+    typedef typename list1<T0>::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1\r
+    >\r
+struct list<\r
+          T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list2< T0,T1 >\r
+{\r
+    typedef typename list2< T0,T1 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2\r
+    >\r
+struct list<\r
+          T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list3< T0,T1,T2 >\r
+{\r
+    typedef typename list3< T0,T1,T2 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list4< T0,T1,T2,T3 >\r
+{\r
+    typedef typename list4< T0,T1,T2,T3 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list5< T0,T1,T2,T3,T4 >\r
+{\r
+    typedef typename list5< T0,T1,T2,T3,T4 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list6< T0,T1,T2,T3,T4,T5 >\r
+{\r
+    typedef typename list6< T0,T1,T2,T3,T4,T5 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list7< T0,T1,T2,T3,T4,T5,T6 >\r
+{\r
+    typedef typename list7< T0,T1,T2,T3,T4,T5,T6 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list8< T0,T1,T2,T3,T4,T5,T6,T7 >\r
+{\r
+    typedef typename list8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >\r
+{\r
+    typedef typename list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >\r
+{\r
+    typedef typename list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >\r
+{\r
+    typedef typename list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na\r
+        , na, na, na, na\r
+        >\r
+    : list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >\r
+{\r
+    typedef typename list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na\r
+        , na, na, na, na\r
+        >\r
+    : list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >\r
+{\r
+    typedef typename list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na\r
+        , na, na, na, na\r
+        >\r
+    : list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >\r
+{\r
+    typedef typename list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na\r
+        , na, na, na, na\r
+        >\r
+    : list15<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        >\r
+{\r
+    typedef typename list15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, na, na, na, na\r
+        >\r
+    : list16<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15\r
+        >\r
+{\r
+    typedef typename list16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, na, na, na\r
+        >\r
+    : list17<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16\r
+        >\r
+{\r
+    typedef typename list17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, na, na\r
+        >\r
+    : list18<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17\r
+        >\r
+{\r
+    typedef typename list18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18, na\r
+        >\r
+    : list19<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18\r
+        >\r
+{\r
+    typedef typename list19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;\r
+};\r
+\r
+/// primary template (not a specialization!)\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    >\r
+struct list\r
+    : list20<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18, T19\r
+        >\r
+{\r
+    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;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..578474e
--- /dev/null
@@ -0,0 +1,328 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/list_c.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX\r
+    , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX\r
+    , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX\r
+    , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX\r
+    , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX\r
+    , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX\r
+    , long C18 = LONG_MAX, long C19 = LONG_MAX\r
+    >\r
+struct list_c;\r
+\r
+template<\r
+      typename T\r
+    >\r
+struct list_c<\r
+          T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list0_c<T>\r
+{\r
+    typedef typename list0_c<T>::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0\r
+    >\r
+struct list_c<\r
+          T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list1_c< T,C0 >\r
+{\r
+    typedef typename list1_c< T,C0 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1\r
+    >\r
+struct list_c<\r
+          T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list2_c< T,C0,C1 >\r
+{\r
+    typedef typename list2_c< T,C0,C1 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list3_c< T,C0,C1,C2 >\r
+{\r
+    typedef typename list3_c< T,C0,C1,C2 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list4_c< T,C0,C1,C2,C3 >\r
+{\r
+    typedef typename list4_c< T,C0,C1,C2,C3 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list5_c< T,C0,C1,C2,C3,C4 >\r
+{\r
+    typedef typename list5_c< T,C0,C1,C2,C3,C4 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list6_c< T,C0,C1,C2,C3,C4,C5 >\r
+{\r
+    typedef typename list6_c< T,C0,C1,C2,C3,C4,C5 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list7_c< T,C0,C1,C2,C3,C4,C5,C6 >\r
+{\r
+    typedef typename list7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX\r
+        >\r
+    : list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >\r
+{\r
+    typedef typename list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX\r
+        >\r
+    : list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >\r
+{\r
+    typedef typename list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX\r
+        >\r
+    : list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >\r
+{\r
+    typedef typename list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >\r
+{\r
+    typedef typename list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >\r
+{\r
+    typedef typename list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >\r
+{\r
+    typedef typename list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list14_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13\r
+        >\r
+{\r
+    typedef typename list14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list15_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        >\r
+{\r
+    typedef typename list15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list16_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15\r
+        >\r
+{\r
+    typedef typename list16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list17_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16\r
+        >\r
+{\r
+    typedef typename list17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16, long C17\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17, LONG_MAX, LONG_MAX\r
+        >\r
+    : list18_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17\r
+        >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16, long C17, long C18\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17, C18, LONG_MAX\r
+        >\r
+    : list19_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17, C18\r
+        >\r
+{\r
+    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;\r
+};\r
+\r
+/// primary template (not a specialization!)\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+    >\r
+struct list_c\r
+    : list20_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17, C18, C19\r
+        >\r
+{\r
+    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;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..2f22291
--- /dev/null
@@ -0,0 +1,323 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/map.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na\r
+    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na\r
+    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na\r
+    , typename T12 = na, typename T13 = na, typename T14 = na\r
+    , typename T15 = na, typename T16 = na, typename T17 = na\r
+    , typename T18 = na, typename T19 = na\r
+    >\r
+struct map;\r
+\r
+template<\r
+     \r
+    >\r
+struct map<\r
+          na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map0<  >\r
+{\r
+    typedef map0<  >::type type;\r
+};\r
+\r
+template<\r
+      typename T0\r
+    >\r
+struct map<\r
+          T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map1<T0>\r
+{\r
+    typedef typename map1<T0>::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1\r
+    >\r
+struct map<\r
+          T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map2< T0,T1 >\r
+{\r
+    typedef typename map2< T0,T1 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2\r
+    >\r
+struct map<\r
+          T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map3< T0,T1,T2 >\r
+{\r
+    typedef typename map3< T0,T1,T2 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map4< T0,T1,T2,T3 >\r
+{\r
+    typedef typename map4< T0,T1,T2,T3 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map5< T0,T1,T2,T3,T4 >\r
+{\r
+    typedef typename map5< T0,T1,T2,T3,T4 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map6< T0,T1,T2,T3,T4,T5 >\r
+{\r
+    typedef typename map6< T0,T1,T2,T3,T4,T5 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map7< T0,T1,T2,T3,T4,T5,T6 >\r
+{\r
+    typedef typename map7< T0,T1,T2,T3,T4,T5,T6 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map8< T0,T1,T2,T3,T4,T5,T6,T7 >\r
+{\r
+    typedef typename map8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >\r
+{\r
+    typedef typename map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >\r
+{\r
+    typedef typename map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >\r
+{\r
+    typedef typename map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na\r
+        , na, na, na, na\r
+        >\r
+    : map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >\r
+{\r
+    typedef typename map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na\r
+        , na, na, na, na\r
+        >\r
+    : map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >\r
+{\r
+    typedef typename map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na\r
+        , na, na, na, na\r
+        >\r
+    : map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >\r
+{\r
+    typedef typename map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na\r
+        , na, na, na, na\r
+        >\r
+    : map15<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        >\r
+{\r
+    typedef typename map15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, na, na, na, na\r
+        >\r
+    : map16<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15\r
+        >\r
+{\r
+    typedef typename map16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, na, na, na\r
+        >\r
+    : map17<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16\r
+        >\r
+{\r
+    typedef typename map17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, na, na\r
+        >\r
+    : map18<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17\r
+        >\r
+{\r
+    typedef typename map18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18, na\r
+        >\r
+    : map19<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18\r
+        >\r
+{\r
+    typedef typename map19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;\r
+};\r
+\r
+/// primary template (not a specialization!)\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    >\r
+struct map\r
+    : map20<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18, T19\r
+        >\r
+{\r
+    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;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..afbdda2
--- /dev/null
@@ -0,0 +1,146 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/minus.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct minus_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< minus_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< minus_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct minus_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct minus_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct minus_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct minus_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    , typename N3 = na, typename N4 = na, typename N5 = na\r
+    >\r
+struct minus\r
+    : minus< minus< minus< minus< N1,N2 >, N3>, N4>, N5>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , minus\r
+        , ( N1, N2, N3, N4, N5 )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3, typename N4\r
+    >\r
+struct minus< N1,N2,N3,N4,na >\r
+\r
+    : minus< minus< minus< N1,N2 >, N3>, N4>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , minus\r
+        , ( N1, N2, N3, N4, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3\r
+    >\r
+struct minus< N1,N2,N3,na,na >\r
+\r
+    : minus< minus< N1,N2 >, N3>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , minus\r
+        , ( N1, N2, N3, na, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2\r
+    >\r
+struct minus< N1,N2,na,na,na >\r
+    : minus_impl<\r
+          typename minus_tag<N1>::type\r
+        , typename minus_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , minus\r
+        , ( N1, N2, na, na, na )\r
+        )\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 5, minus)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+template<>\r
+struct minus_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : integral_c<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value\r
+                  - BOOST_MPL_AUX_VALUE_WKND(N2)::value\r
+                )\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..d8f81ef
--- /dev/null
@@ -0,0 +1,101 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/modulus.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct modulus_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< modulus_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< modulus_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct modulus_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct modulus_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct modulus_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct modulus_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct modulus\r
+\r
+    : modulus_impl<\r
+          typename modulus_tag<N1>::type\r
+        , typename modulus_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, modulus, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, modulus)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+template<>\r
+struct modulus_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : integral_c<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value\r
+                  % BOOST_MPL_AUX_VALUE_WKND(N2)::value\r
+                )\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..a68e69e
--- /dev/null
@@ -0,0 +1,94 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/not_equal_to.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct not_equal_to_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< not_equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct not_equal_to_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct not_equal_to_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct not_equal_to_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct not_equal_to_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct not_equal_to\r
+\r
+    : not_equal_to_impl<\r
+          typename not_equal_to_tag<N1>::type\r
+        , typename not_equal_to_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, not_equal_to, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct not_equal_to_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value != BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..1a05656
--- /dev/null
@@ -0,0 +1,69 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/or.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+\r
+template< bool C_, typename T1, typename T2, typename T3, typename T4 >\r
+struct or_impl\r
+    : true_\r
+{\r
+};\r
+\r
+template< typename T1, typename T2, typename T3, typename T4 >\r
+struct or_impl< false,T1,T2,T3,T4 >\r
+    : or_impl<\r
+          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value\r
+        , T2, T3, T4\r
+        , false_\r
+        >\r
+{\r
+};\r
+\r
+template<>\r
+struct or_impl<\r
+          false\r
+        , false_, false_, false_, false_\r
+        >\r
+    : false_\r
+{\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(T1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(T2)\r
+    , typename T3 = false_, typename T4 = false_, typename T5 = false_\r
+    >\r
+struct or_\r
+\r
+    : aux::or_impl<\r
+          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value\r
+        , T2, T3, T4, T5\r
+        >\r
+\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , or_\r
+        , ( T1, T2, T3, T4, T5)\r
+        )\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(\r
+      2\r
+    , 5\r
+    , or_\r
+    )\r
+\r
+}}\r
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 (file)
index 0000000..df5cb1d
--- /dev/null
@@ -0,0 +1,105 @@
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+// Copyright Peter Dimov 2001-2003\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/placeholders.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+typedef arg< -1 > _;\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+namespace boost { namespace mpl {\r
+\r
+BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_)\r
+\r
+namespace placeholders {\r
+using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_;\r
+}\r
+\r
+}}\r
+\r
+/// agurt, 17/mar/02: one more placeholder for the last 'apply#' \r
+/// specialization\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+typedef arg<1> _1;\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+namespace boost { namespace mpl {\r
+\r
+BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1)\r
+\r
+namespace placeholders {\r
+using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1;\r
+}\r
+\r
+}}\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+typedef arg<2> _2;\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+namespace boost { namespace mpl {\r
+\r
+BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2)\r
+\r
+namespace placeholders {\r
+using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2;\r
+}\r
+\r
+}}\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+typedef arg<3> _3;\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+namespace boost { namespace mpl {\r
+\r
+BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3)\r
+\r
+namespace placeholders {\r
+using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3;\r
+}\r
+\r
+}}\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+typedef arg<4> _4;\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+namespace boost { namespace mpl {\r
+\r
+BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4)\r
+\r
+namespace placeholders {\r
+using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4;\r
+}\r
+\r
+}}\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+typedef arg<5> _5;\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+namespace boost { namespace mpl {\r
+\r
+BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5)\r
+\r
+namespace placeholders {\r
+using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5;\r
+}\r
+\r
+}}\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+typedef arg<6> _6;\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+namespace boost { namespace mpl {\r
+\r
+BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6)\r
+\r
+namespace placeholders {\r
+using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6;\r
+}\r
+\r
+}}\r
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 (file)
index 0000000..631898f
--- /dev/null
@@ -0,0 +1,146 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/plus.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct plus_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< plus_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< plus_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct plus_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct plus_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct plus_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct plus_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    , typename N3 = na, typename N4 = na, typename N5 = na\r
+    >\r
+struct plus\r
+    : plus< plus< plus< plus< N1,N2 >, N3>, N4>, N5>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , plus\r
+        , ( N1, N2, N3, N4, N5 )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3, typename N4\r
+    >\r
+struct plus< N1,N2,N3,N4,na >\r
+\r
+    : plus< plus< plus< N1,N2 >, N3>, N4>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , plus\r
+        , ( N1, N2, N3, N4, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3\r
+    >\r
+struct plus< N1,N2,N3,na,na >\r
+\r
+    : plus< plus< N1,N2 >, N3>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , plus\r
+        , ( N1, N2, N3, na, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2\r
+    >\r
+struct plus< N1,N2,na,na,na >\r
+    : plus_impl<\r
+          typename plus_tag<N1>::type\r
+        , typename plus_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , plus\r
+        , ( N1, N2, na, na, na )\r
+        )\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 5, plus)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+template<>\r
+struct plus_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : integral_c<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value\r
+                  + BOOST_MPL_AUX_VALUE_WKND(N2)::value\r
+                )\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..d56b311
--- /dev/null
@@ -0,0 +1,123 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/quote.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template< typename T, bool has_type_ >\r
+struct quote_impl\r
+{\r
+    typedef typename T::type type;\r
+};\r
+\r
+template< typename T >\r
+struct quote_impl< T,false >\r
+{\r
+    typedef T type;\r
+};\r
+\r
+template<\r
+      template< typename P1 > class F\r
+    , typename Tag = void_\r
+    >\r
+struct quote1\r
+{\r
+    template< typename U1 > struct apply\r
+\r
+        : quote_impl<\r
+              F<U1>\r
+            , aux::has_type< F<U1> >::value\r
+            >\r
+\r
+    {\r
+    };\r
+};\r
+\r
+template<\r
+      template< typename P1, typename P2 > class F\r
+    , typename Tag = void_\r
+    >\r
+struct quote2\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+\r
+        : quote_impl<\r
+              F< U1,U2 >\r
+            , aux::has_type< F< U1,U2 > >::value\r
+            >\r
+\r
+    {\r
+    };\r
+};\r
+\r
+template<\r
+      template< typename P1, typename P2, typename P3 > class F\r
+    , typename Tag = void_\r
+    >\r
+struct quote3\r
+{\r
+    template< typename U1, typename U2, typename U3 > struct apply\r
+\r
+        : quote_impl<\r
+              F< U1,U2,U3 >\r
+            , aux::has_type< F< U1,U2,U3 > >::value\r
+            >\r
+\r
+    {\r
+    };\r
+};\r
+\r
+template<\r
+      template< typename P1, typename P2, typename P3, typename P4 > class F\r
+    , typename Tag = void_\r
+    >\r
+struct quote4\r
+{\r
+    template<\r
+          typename U1, typename U2, typename U3, typename U4\r
+        >\r
+    struct apply\r
+\r
+        : quote_impl<\r
+              F< U1,U2,U3,U4 >\r
+            , aux::has_type< F< U1,U2,U3,U4 > >::value\r
+            >\r
+\r
+    {\r
+    };\r
+};\r
+\r
+template<\r
+      template<\r
+          typename P1, typename P2, typename P3, typename P4\r
+        , typename P5\r
+        >\r
+      class F\r
+    , typename Tag = void_\r
+    >\r
+struct quote5\r
+{\r
+    template<\r
+          typename U1, typename U2, typename U3, typename U4\r
+        , typename U5\r
+        >\r
+    struct apply\r
+\r
+        : quote_impl<\r
+              F< U1,U2,U3,U4,U5 >\r
+            , aux::has_type< F< U1,U2,U3,U4,U5 > >::value\r
+            >\r
+\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..1c4364a
--- /dev/null
@@ -0,0 +1,231 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/reverse_fold_impl.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+/// forward declaration\r
+\r
+template<\r
+      long N\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_fold_impl;\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_fold_impl< 0,First,Last,State,BackwardOp,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State fwd_state0;\r
+    typedef fwd_state0 bkwd_state0;\r
+    typedef bkwd_state0 state;\r
+    typedef iter0 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_fold_impl< 1,First,Last,State,BackwardOp,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State fwd_state0;\r
+    typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    \r
+\r
+    typedef fwd_state1 bkwd_state1;\r
+    typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;\r
+    typedef bkwd_state0 state;\r
+    typedef iter1 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_fold_impl< 2,First,Last,State,BackwardOp,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State fwd_state0;\r
+    typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;\r
+    typedef typename mpl::next<iter1>::type iter2;\r
+    \r
+\r
+    typedef fwd_state2 bkwd_state2;\r
+    typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;\r
+    typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;\r
+    \r
+\r
+    typedef bkwd_state0 state;\r
+    typedef iter2 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_fold_impl< 3,First,Last,State,BackwardOp,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State fwd_state0;\r
+    typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;\r
+    typedef typename mpl::next<iter1>::type iter2;\r
+    typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;\r
+    typedef typename mpl::next<iter2>::type iter3;\r
+    \r
+\r
+    typedef fwd_state3 bkwd_state3;\r
+    typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;\r
+    typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;\r
+    typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;\r
+    \r
+\r
+    typedef bkwd_state0 state;\r
+    typedef iter3 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_fold_impl< 4,First,Last,State,BackwardOp,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State fwd_state0;\r
+    typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;\r
+    typedef typename mpl::next<iter1>::type iter2;\r
+    typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;\r
+    typedef typename mpl::next<iter2>::type iter3;\r
+    typedef typename apply2< ForwardOp, fwd_state3, typename deref<iter3>::type >::type fwd_state4;\r
+    typedef typename mpl::next<iter3>::type iter4;\r
+    \r
+\r
+    typedef fwd_state4 bkwd_state4;\r
+    typedef typename apply2< BackwardOp, bkwd_state4, typename deref<iter3>::type >::type bkwd_state3;\r
+    typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;\r
+    typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;\r
+    typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;\r
+    \r
+\r
+    typedef bkwd_state0 state;\r
+    typedef iter4 iterator;\r
+};\r
+\r
+template<\r
+      long N\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_fold_impl\r
+{\r
+    typedef First iter0;\r
+    typedef State fwd_state0;\r
+    typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;\r
+    typedef typename mpl::next<iter1>::type iter2;\r
+    typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;\r
+    typedef typename mpl::next<iter2>::type iter3;\r
+    typedef typename apply2< ForwardOp, fwd_state3, typename deref<iter3>::type >::type fwd_state4;\r
+    typedef typename mpl::next<iter3>::type iter4;\r
+    \r
+\r
+    typedef reverse_fold_impl<\r
+          ( (N - 4) < 0 ? 0 : N - 4 )\r
+        , iter4\r
+        , Last\r
+        , fwd_state4\r
+        , BackwardOp\r
+        , ForwardOp\r
+        > nested_chunk;\r
+\r
+    typedef typename nested_chunk::state bkwd_state4;\r
+    typedef typename apply2< BackwardOp, bkwd_state4, typename deref<iter3>::type >::type bkwd_state3;\r
+    typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;\r
+    typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;\r
+    typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;\r
+    \r
+\r
+    typedef bkwd_state0 state;\r
+    typedef typename nested_chunk::iterator iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_fold_impl< -1,First,Last,State,BackwardOp,ForwardOp >\r
+{\r
+    typedef reverse_fold_impl<\r
+          -1\r
+        , typename mpl::next<First>::type\r
+        , Last\r
+        , typename apply2<ForwardOp,State, typename deref<First>::type>::type\r
+        , BackwardOp\r
+        , ForwardOp\r
+        > nested_step;\r
+\r
+    typedef typename apply2<\r
+          BackwardOp\r
+        , typename nested_step::state\r
+        , typename deref<First>::type\r
+        >::type state;\r
+\r
+    typedef typename nested_step::iterator iterator;\r
+};\r
+\r
+template<\r
+      typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_fold_impl< -1,Last,Last,State,BackwardOp,ForwardOp >\r
+{\r
+    typedef State state;\r
+    typedef Last iterator;\r
+};\r
+\r
+}}}\r
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 (file)
index 0000000..f06c88b
--- /dev/null
@@ -0,0 +1,231 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/reverse_iter_fold_impl.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+/// forward declaration\r
+\r
+template<\r
+      long N\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_iter_fold_impl;\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_iter_fold_impl< 0,First,Last,State,BackwardOp,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State fwd_state0;\r
+    typedef fwd_state0 bkwd_state0;\r
+    typedef bkwd_state0 state;\r
+    typedef iter0 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_iter_fold_impl< 1,First,Last,State,BackwardOp,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State fwd_state0;\r
+    typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    \r
+\r
+    typedef fwd_state1 bkwd_state1;\r
+    typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;\r
+    typedef bkwd_state0 state;\r
+    typedef iter1 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_iter_fold_impl< 2,First,Last,State,BackwardOp,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State fwd_state0;\r
+    typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;\r
+    typedef typename mpl::next<iter1>::type iter2;\r
+    \r
+\r
+    typedef fwd_state2 bkwd_state2;\r
+    typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;\r
+    typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;\r
+    \r
+\r
+    typedef bkwd_state0 state;\r
+    typedef iter2 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_iter_fold_impl< 3,First,Last,State,BackwardOp,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State fwd_state0;\r
+    typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;\r
+    typedef typename mpl::next<iter1>::type iter2;\r
+    typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;\r
+    typedef typename mpl::next<iter2>::type iter3;\r
+    \r
+\r
+    typedef fwd_state3 bkwd_state3;\r
+    typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;\r
+    typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;\r
+    typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;\r
+    \r
+\r
+    typedef bkwd_state0 state;\r
+    typedef iter3 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_iter_fold_impl< 4,First,Last,State,BackwardOp,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State fwd_state0;\r
+    typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;\r
+    typedef typename mpl::next<iter1>::type iter2;\r
+    typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;\r
+    typedef typename mpl::next<iter2>::type iter3;\r
+    typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4;\r
+    typedef typename mpl::next<iter3>::type iter4;\r
+    \r
+\r
+    typedef fwd_state4 bkwd_state4;\r
+    typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3;\r
+    typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;\r
+    typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;\r
+    typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;\r
+    \r
+\r
+    typedef bkwd_state0 state;\r
+    typedef iter4 iterator;\r
+};\r
+\r
+template<\r
+      long N\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_iter_fold_impl\r
+{\r
+    typedef First iter0;\r
+    typedef State fwd_state0;\r
+    typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;\r
+    typedef typename mpl::next<iter1>::type iter2;\r
+    typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;\r
+    typedef typename mpl::next<iter2>::type iter3;\r
+    typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4;\r
+    typedef typename mpl::next<iter3>::type iter4;\r
+    \r
+\r
+    typedef reverse_iter_fold_impl<\r
+          ( (N - 4) < 0 ? 0 : N - 4 )\r
+        , iter4\r
+        , Last\r
+        , fwd_state4\r
+        , BackwardOp\r
+        , ForwardOp\r
+        > nested_chunk;\r
+\r
+    typedef typename nested_chunk::state bkwd_state4;\r
+    typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3;\r
+    typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;\r
+    typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;\r
+    typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;\r
+    \r
+\r
+    typedef bkwd_state0 state;\r
+    typedef typename nested_chunk::iterator iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_iter_fold_impl< -1,First,Last,State,BackwardOp,ForwardOp >\r
+{\r
+    typedef reverse_iter_fold_impl<\r
+          -1\r
+        , typename mpl::next<First>::type\r
+        , Last\r
+        , typename apply2< ForwardOp,State,First >::type\r
+        , BackwardOp\r
+        , ForwardOp\r
+        > nested_step;\r
+\r
+    typedef typename apply2<\r
+          BackwardOp\r
+        , typename nested_step::state\r
+        , First\r
+        >::type state;\r
+\r
+    typedef typename nested_step::iterator iterator;\r
+};\r
+\r
+template<\r
+      typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_iter_fold_impl< -1,Last,Last,State,BackwardOp,ForwardOp >\r
+{\r
+    typedef State state;\r
+    typedef Last iterator;\r
+};\r
+\r
+}}}\r
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 (file)
index 0000000..b7e3f0b
--- /dev/null
@@ -0,0 +1,323 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/set.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na\r
+    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na\r
+    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na\r
+    , typename T12 = na, typename T13 = na, typename T14 = na\r
+    , typename T15 = na, typename T16 = na, typename T17 = na\r
+    , typename T18 = na, typename T19 = na\r
+    >\r
+struct set;\r
+\r
+template<\r
+     \r
+    >\r
+struct set<\r
+          na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set0<  >\r
+{\r
+    typedef set0<  >::type type;\r
+};\r
+\r
+template<\r
+      typename T0\r
+    >\r
+struct set<\r
+          T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set1<T0>\r
+{\r
+    typedef typename set1<T0>::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1\r
+    >\r
+struct set<\r
+          T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set2< T0,T1 >\r
+{\r
+    typedef typename set2< T0,T1 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2\r
+    >\r
+struct set<\r
+          T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set3< T0,T1,T2 >\r
+{\r
+    typedef typename set3< T0,T1,T2 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set4< T0,T1,T2,T3 >\r
+{\r
+    typedef typename set4< T0,T1,T2,T3 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set5< T0,T1,T2,T3,T4 >\r
+{\r
+    typedef typename set5< T0,T1,T2,T3,T4 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set6< T0,T1,T2,T3,T4,T5 >\r
+{\r
+    typedef typename set6< T0,T1,T2,T3,T4,T5 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set7< T0,T1,T2,T3,T4,T5,T6 >\r
+{\r
+    typedef typename set7< T0,T1,T2,T3,T4,T5,T6 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set8< T0,T1,T2,T3,T4,T5,T6,T7 >\r
+{\r
+    typedef typename set8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >\r
+{\r
+    typedef typename set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >\r
+{\r
+    typedef typename set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >\r
+{\r
+    typedef typename set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na\r
+        , na, na, na, na\r
+        >\r
+    : set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >\r
+{\r
+    typedef typename set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na\r
+        , na, na, na, na\r
+        >\r
+    : set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >\r
+{\r
+    typedef typename set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na\r
+        , na, na, na, na\r
+        >\r
+    : set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >\r
+{\r
+    typedef typename set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na\r
+        , na, na, na, na\r
+        >\r
+    : set15<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        >\r
+{\r
+    typedef typename set15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, na, na, na, na\r
+        >\r
+    : set16<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15\r
+        >\r
+{\r
+    typedef typename set16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, na, na, na\r
+        >\r
+    : set17<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16\r
+        >\r
+{\r
+    typedef typename set17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, na, na\r
+        >\r
+    : set18<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17\r
+        >\r
+{\r
+    typedef typename set18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18, na\r
+        >\r
+    : set19<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18\r
+        >\r
+{\r
+    typedef typename set19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;\r
+};\r
+\r
+/// primary template (not a specialization!)\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    >\r
+struct set\r
+    : set20<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18, T19\r
+        >\r
+{\r
+    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;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..acdf68b
--- /dev/null
@@ -0,0 +1,328 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/set_c.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX\r
+    , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX\r
+    , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX\r
+    , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX\r
+    , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX\r
+    , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX\r
+    , long C18 = LONG_MAX, long C19 = LONG_MAX\r
+    >\r
+struct set_c;\r
+\r
+template<\r
+      typename T\r
+    >\r
+struct set_c<\r
+          T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set0_c<T>\r
+{\r
+    typedef typename set0_c<T>::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0\r
+    >\r
+struct set_c<\r
+          T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set1_c< T,C0 >\r
+{\r
+    typedef typename set1_c< T,C0 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1\r
+    >\r
+struct set_c<\r
+          T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set2_c< T,C0,C1 >\r
+{\r
+    typedef typename set2_c< T,C0,C1 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set3_c< T,C0,C1,C2 >\r
+{\r
+    typedef typename set3_c< T,C0,C1,C2 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set4_c< T,C0,C1,C2,C3 >\r
+{\r
+    typedef typename set4_c< T,C0,C1,C2,C3 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set5_c< T,C0,C1,C2,C3,C4 >\r
+{\r
+    typedef typename set5_c< T,C0,C1,C2,C3,C4 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set6_c< T,C0,C1,C2,C3,C4,C5 >\r
+{\r
+    typedef typename set6_c< T,C0,C1,C2,C3,C4,C5 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set7_c< T,C0,C1,C2,C3,C4,C5,C6 >\r
+{\r
+    typedef typename set7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX\r
+        >\r
+    : set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >\r
+{\r
+    typedef typename set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX\r
+        >\r
+    : set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >\r
+{\r
+    typedef typename set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX\r
+        >\r
+    : set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >\r
+{\r
+    typedef typename set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >\r
+{\r
+    typedef typename set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >\r
+{\r
+    typedef typename set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >\r
+{\r
+    typedef typename set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set14_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13\r
+        >\r
+{\r
+    typedef typename set14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set15_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        >\r
+{\r
+    typedef typename set15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set16_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15\r
+        >\r
+{\r
+    typedef typename set16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set17_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16\r
+        >\r
+{\r
+    typedef typename set17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16, long C17\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17, LONG_MAX, LONG_MAX\r
+        >\r
+    : set18_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17\r
+        >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16, long C17, long C18\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17, C18, LONG_MAX\r
+        >\r
+    : set19_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17, C18\r
+        >\r
+{\r
+    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;\r
+};\r
+\r
+/// primary template (not a specialization!)\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+    >\r
+struct set_c\r
+    : set20_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17, C18, C19\r
+        >\r
+{\r
+    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;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..81679a1
--- /dev/null
@@ -0,0 +1,99 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright Jaap Suter 2003\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/shift_left.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct shift_left_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< shift_left_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< shift_left_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct shift_left_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct shift_left_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct shift_left_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct shift_left_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct shift_left\r
+\r
+    : shift_left_impl<\r
+          typename shift_left_tag<N1>::type\r
+        , typename shift_left_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_left, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_left)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+template<>\r
+struct shift_left_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N, typename S > struct apply\r
+\r
+        : integral_c<\r
+              typename N::value_type\r
+            , ( BOOST_MPL_AUX_VALUE_WKND(N)::value\r
+                  << BOOST_MPL_AUX_VALUE_WKND(S)::value\r
+                )\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..55b7821
--- /dev/null
@@ -0,0 +1,99 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright Jaap Suter 2003\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/shift_right.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct shift_right_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< shift_right_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< shift_right_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct shift_right_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct shift_right_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct shift_right_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct shift_right_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct shift_right\r
+\r
+    : shift_right_impl<\r
+          typename shift_right_tag<N1>::type\r
+        , typename shift_right_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_right, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+template<>\r
+struct shift_right_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N, typename S > struct apply\r
+\r
+        : integral_c<\r
+              typename N::value_type\r
+            , ( BOOST_MPL_AUX_VALUE_WKND(N)::value\r
+                  >> BOOST_MPL_AUX_VALUE_WKND(S)::value\r
+                )\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..f386811
--- /dev/null
@@ -0,0 +1,101 @@
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/template_arity.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+template< int N > struct arity_tag\r
+{\r
+    typedef char (&type)[N + 1];\r
+};\r
+\r
+template<\r
+      int C1, int C2, int C3, int C4, int C5, int C6\r
+    >\r
+struct max_arity\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value =\r
+          ( C6 > 0 ? C6 : ( C5 > 0 ? C5 : ( C4 > 0 ? C4 : ( C3 > 0 ? C3 : ( C2 > 0 ? C2 : ( C1 > 0 ? C1 : -1 ) ) ) ) ) )\r
+\r
+        );\r
+};\r
+\r
+arity_tag<0>::type arity_helper(...);\r
+\r
+template<\r
+      template< typename P1 > class F\r
+    , typename T1\r
+    >\r
+typename arity_tag<1>::type\r
+arity_helper(type_wrapper< F<T1> >, arity_tag<1>);\r
+\r
+template<\r
+      template< typename P1, typename P2 > class F\r
+    , typename T1, typename T2\r
+    >\r
+typename arity_tag<2>::type\r
+arity_helper(type_wrapper< F< T1,T2 > >, arity_tag<2>);\r
+\r
+template<\r
+      template< typename P1, typename P2, typename P3 > class F\r
+    , typename T1, typename T2, typename T3\r
+    >\r
+typename arity_tag<3>::type\r
+arity_helper(type_wrapper< F< T1,T2,T3 > >, arity_tag<3>);\r
+\r
+template<\r
+      template< typename P1, typename P2, typename P3, typename P4 > class F\r
+    , typename T1, typename T2, typename T3, typename T4\r
+    >\r
+typename arity_tag<4>::type\r
+arity_helper(type_wrapper< F< T1,T2,T3,T4 > >, arity_tag<4>);\r
+\r
+template<\r
+      template<\r
+          typename P1, typename P2, typename P3, typename P4\r
+        , typename P5\r
+        >\r
+      class F\r
+    , typename T1, typename T2, typename T3, typename T4, typename T5\r
+    >\r
+typename arity_tag<5>::type\r
+arity_helper(type_wrapper< F< T1,T2,T3,T4,T5 > >, arity_tag<5>);\r
+\r
+template<\r
+      template<\r
+          typename P1, typename P2, typename P3, typename P4\r
+        , typename P5, typename P6\r
+        >\r
+      class F\r
+    , typename T1, typename T2, typename T3, typename T4, typename T5\r
+    , typename T6\r
+    >\r
+typename arity_tag<6>::type\r
+arity_helper(type_wrapper< F< T1,T2,T3,T4,T5,T6 > >, arity_tag<6>);\r
+template< typename F, int N >\r
+struct template_arity_impl\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value =\r
+          sizeof(arity_helper(type_wrapper<F>(), arity_tag<N>())) - 1\r
+        );\r
+};\r
+\r
+template< typename F >\r
+struct template_arity\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value  = (\r
+          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\r
+\r
+        ));\r
+\r
+    typedef mpl::int_<value> type;\r
+};\r
+\r
+}}}\r
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 (file)
index 0000000..46e68cb
--- /dev/null
@@ -0,0 +1,146 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/times.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct times_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< times_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< times_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct times_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct times_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct times_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct times_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    , typename N3 = na, typename N4 = na, typename N5 = na\r
+    >\r
+struct times\r
+    : times< times< times< times< N1,N2 >, N3>, N4>, N5>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , times\r
+        , ( N1, N2, N3, N4, N5 )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3, typename N4\r
+    >\r
+struct times< N1,N2,N3,N4,na >\r
+\r
+    : times< times< times< N1,N2 >, N3>, N4>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , times\r
+        , ( N1, N2, N3, N4, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3\r
+    >\r
+struct times< N1,N2,N3,na,na >\r
+\r
+    : times< times< N1,N2 >, N3>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , times\r
+        , ( N1, N2, N3, na, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2\r
+    >\r
+struct times< N1,N2,na,na,na >\r
+    : times_impl<\r
+          typename times_tag<N1>::type\r
+        , typename times_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , times\r
+        , ( N1, N2, na, na, na )\r
+        )\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 5, times)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+template<>\r
+struct times_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : integral_c<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value\r
+                  * BOOST_MPL_AUX_VALUE_WKND(N2)::value\r
+                )\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..7f8c577
--- /dev/null
@@ -0,0 +1,94 @@
+\r
+// Copyright Aleksey Gurtovoy 2002-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/unpack_args.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+\r
+template< int size, typename F, typename Args >\r
+struct unpack_args_impl;\r
+\r
+template< typename F, typename Args >\r
+struct unpack_args_impl< 0,F,Args >\r
+    : apply0<\r
+          F\r
+        >\r
+{\r
+};\r
+\r
+template< typename F, typename Args >\r
+struct unpack_args_impl< 1,F,Args >\r
+    : apply1<\r
+          F\r
+        , typename at_c< Args,0 >::type\r
+        >\r
+{\r
+};\r
+\r
+template< typename F, typename Args >\r
+struct unpack_args_impl< 2,F,Args >\r
+    : apply2<\r
+          F\r
+        , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type\r
+        >\r
+{\r
+};\r
+\r
+template< typename F, typename Args >\r
+struct unpack_args_impl< 3,F,Args >\r
+    : apply3<\r
+          F\r
+        , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type\r
+        , typename at_c< Args,2 >::type\r
+        >\r
+{\r
+};\r
+\r
+template< typename F, typename Args >\r
+struct unpack_args_impl< 4,F,Args >\r
+    : apply4<\r
+          F\r
+        , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type\r
+        , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type\r
+        >\r
+{\r
+};\r
+\r
+template< typename F, typename Args >\r
+struct unpack_args_impl< 5,F,Args >\r
+    : apply5<\r
+          F\r
+        , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type\r
+        , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type\r
+        , typename at_c< Args,4 >::type\r
+        >\r
+{\r
+};\r
+\r
+}\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct unpack_args\r
+{\r
+    template< typename Args > struct apply\r
+\r
+        : aux::unpack_args_impl< size<Args>::value,F, Args >\r
+\r
+    {\r
+    };\r
+};\r
+\r
+BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args)\r
+\r
+}}\r
+\r
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 (file)
index 0000000..d1da8b1
--- /dev/null
@@ -0,0 +1,323 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/vector.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na\r
+    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na\r
+    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na\r
+    , typename T12 = na, typename T13 = na, typename T14 = na\r
+    , typename T15 = na, typename T16 = na, typename T17 = na\r
+    , typename T18 = na, typename T19 = na\r
+    >\r
+struct vector;\r
+\r
+template<\r
+     \r
+    >\r
+struct vector<\r
+          na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector0<  >\r
+{\r
+    typedef vector0<  >::type type;\r
+};\r
+\r
+template<\r
+      typename T0\r
+    >\r
+struct vector<\r
+          T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector1<T0>\r
+{\r
+    typedef typename vector1<T0>::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1\r
+    >\r
+struct vector<\r
+          T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector2< T0,T1 >\r
+{\r
+    typedef typename vector2< T0,T1 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2\r
+    >\r
+struct vector<\r
+          T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector3< T0,T1,T2 >\r
+{\r
+    typedef typename vector3< T0,T1,T2 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector4< T0,T1,T2,T3 >\r
+{\r
+    typedef typename vector4< T0,T1,T2,T3 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector5< T0,T1,T2,T3,T4 >\r
+{\r
+    typedef typename vector5< T0,T1,T2,T3,T4 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector6< T0,T1,T2,T3,T4,T5 >\r
+{\r
+    typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector7< T0,T1,T2,T3,T4,T5,T6 >\r
+{\r
+    typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector8< T0,T1,T2,T3,T4,T5,T6,T7 >\r
+{\r
+    typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >\r
+{\r
+    typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >\r
+{\r
+    typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >\r
+{\r
+    typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na\r
+        , na, na, na, na\r
+        >\r
+    : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >\r
+{\r
+    typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na\r
+        , na, na, na, na\r
+        >\r
+    : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >\r
+{\r
+    typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na\r
+        , na, na, na, na\r
+        >\r
+    : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >\r
+{\r
+    typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na\r
+        , na, na, na, na\r
+        >\r
+    : vector15<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        >\r
+{\r
+    typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, na, na, na, na\r
+        >\r
+    : vector16<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15\r
+        >\r
+{\r
+    typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, na, na, na\r
+        >\r
+    : vector17<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16\r
+        >\r
+{\r
+    typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, na, na\r
+        >\r
+    : vector18<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17\r
+        >\r
+{\r
+    typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18, na\r
+        >\r
+    : vector19<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18\r
+        >\r
+{\r
+    typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;\r
+};\r
+\r
+/// primary template (not a specialization!)\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    >\r
+struct vector\r
+    : vector20<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18, T19\r
+        >\r
+{\r
+    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;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..ce33340
--- /dev/null
@@ -0,0 +1,309 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/vector_c.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX\r
+    , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX\r
+    , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX\r
+    , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX\r
+    , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX\r
+    , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX\r
+    , long C18 = LONG_MAX, long C19 = LONG_MAX\r
+    >\r
+struct vector_c;\r
+\r
+template<\r
+      typename T\r
+    >\r
+struct vector_c<\r
+          T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : vector0_c<T>\r
+{\r
+    typedef typename vector0_c<T>::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0\r
+    >\r
+struct vector_c<\r
+          T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : vector1_c< T, T(C0) >\r
+{\r
+    typedef typename vector1_c< T, T(C0) >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : vector2_c< T, T(C0), T(C1) >\r
+{\r
+    typedef typename vector2_c< T, T(C0), T(C1) >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : vector3_c< T, T(C0), T(C1), T(C2) >\r
+{\r
+    typedef typename vector3_c< T, T(C0), T(C1), T(C2) >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : vector4_c< T, T(C0), T(C1), T(C2), T(C3) >\r
+{\r
+    typedef typename vector4_c< T, T(C0), T(C1), T(C2), T(C3) >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) >\r
+{\r
+    typedef typename vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) >\r
+{\r
+    typedef typename vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) >\r
+{\r
+    typedef typename vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX\r
+        >\r
+    : vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) >\r
+{\r
+    typedef typename vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX\r
+        >\r
+    : vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX\r
+        >\r
+    : vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : 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) >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : 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) >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : 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) >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : 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) >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : 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) >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : 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) >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : 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) >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16, long C17\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17, LONG_MAX, LONG_MAX\r
+        >\r
+    : 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) >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16, long C17, long C18\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17, C18, LONG_MAX\r
+        >\r
+    : 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) >\r
+{\r
+    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;\r
+};\r
+\r
+/// primary template (not a specialization!)\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+    >\r
+struct vector_c\r
+    : 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) >\r
+{\r
+    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;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..ddb9d34
--- /dev/null
@@ -0,0 +1,132 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/advance_backward.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+template< long N > struct advance_backward;\r
+template<>\r
+struct advance_backward<0>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef iter0 type;\r
+    };\r
+\r
+    /// ETI workaround\r
+    template<> struct apply<int>\r
+    {\r
+        typedef int type;\r
+    };\r
+\r
+};\r
+\r
+template<>\r
+struct advance_backward<1>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef typename prior<iter0>::type iter1;\r
+        typedef iter1 type;\r
+    };\r
+\r
+    /// ETI workaround\r
+    template<> struct apply<int>\r
+    {\r
+        typedef int type;\r
+    };\r
+\r
+};\r
+\r
+template<>\r
+struct advance_backward<2>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef typename prior<iter0>::type iter1;\r
+        typedef typename prior<iter1>::type iter2;\r
+        typedef iter2 type;\r
+    };\r
+\r
+    /// ETI workaround\r
+    template<> struct apply<int>\r
+    {\r
+        typedef int type;\r
+    };\r
+\r
+};\r
+\r
+template<>\r
+struct advance_backward<3>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef typename prior<iter0>::type iter1;\r
+        typedef typename prior<iter1>::type iter2;\r
+        typedef typename prior<iter2>::type iter3;\r
+        typedef iter3 type;\r
+    };\r
+\r
+    /// ETI workaround\r
+    template<> struct apply<int>\r
+    {\r
+        typedef int type;\r
+    };\r
+\r
+};\r
+\r
+template<>\r
+struct advance_backward<4>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef typename prior<iter0>::type iter1;\r
+        typedef typename prior<iter1>::type iter2;\r
+        typedef typename prior<iter2>::type iter3;\r
+        typedef typename prior<iter3>::type iter4;\r
+        typedef iter4 type;\r
+    };\r
+\r
+    /// ETI workaround\r
+    template<> struct apply<int>\r
+    {\r
+        typedef int type;\r
+    };\r
+\r
+};\r
+\r
+template< long N >\r
+struct advance_backward\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef typename apply_wrap1<\r
+              advance_backward<4>\r
+            , Iterator\r
+            >::type chunk_result_;\r
+\r
+        typedef typename apply_wrap1<\r
+              advance_backward<(\r
+                (N - 4) < 0\r
+                    ? 0\r
+                    : N - 4\r
+                    )>\r
+            , chunk_result_\r
+            >::type type;\r
+    };\r
+};\r
+\r
+}}}\r
+\r
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 (file)
index 0000000..1b20cdc
--- /dev/null
@@ -0,0 +1,132 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/advance_forward.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+template< long N > struct advance_forward;\r
+template<>\r
+struct advance_forward<0>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef iter0 type;\r
+    };\r
+\r
+    /// ETI workaround\r
+    template<> struct apply<int>\r
+    {\r
+        typedef int type;\r
+    };\r
+\r
+};\r
+\r
+template<>\r
+struct advance_forward<1>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef typename next<iter0>::type iter1;\r
+        typedef iter1 type;\r
+    };\r
+\r
+    /// ETI workaround\r
+    template<> struct apply<int>\r
+    {\r
+        typedef int type;\r
+    };\r
+\r
+};\r
+\r
+template<>\r
+struct advance_forward<2>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef typename next<iter0>::type iter1;\r
+        typedef typename next<iter1>::type iter2;\r
+        typedef iter2 type;\r
+    };\r
+\r
+    /// ETI workaround\r
+    template<> struct apply<int>\r
+    {\r
+        typedef int type;\r
+    };\r
+\r
+};\r
+\r
+template<>\r
+struct advance_forward<3>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef typename next<iter0>::type iter1;\r
+        typedef typename next<iter1>::type iter2;\r
+        typedef typename next<iter2>::type iter3;\r
+        typedef iter3 type;\r
+    };\r
+\r
+    /// ETI workaround\r
+    template<> struct apply<int>\r
+    {\r
+        typedef int type;\r
+    };\r
+\r
+};\r
+\r
+template<>\r
+struct advance_forward<4>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef typename next<iter0>::type iter1;\r
+        typedef typename next<iter1>::type iter2;\r
+        typedef typename next<iter2>::type iter3;\r
+        typedef typename next<iter3>::type iter4;\r
+        typedef iter4 type;\r
+    };\r
+\r
+    /// ETI workaround\r
+    template<> struct apply<int>\r
+    {\r
+        typedef int type;\r
+    };\r
+\r
+};\r
+\r
+template< long N >\r
+struct advance_forward\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef typename apply_wrap1<\r
+              advance_forward<4>\r
+            , Iterator\r
+            >::type chunk_result_;\r
+\r
+        typedef typename apply_wrap1<\r
+              advance_forward<(\r
+                (N - 4) < 0\r
+                    ? 0\r
+                    : N - 4\r
+                    )>\r
+            , chunk_result_\r
+            >::type type;\r
+    };\r
+};\r
+\r
+}}}\r
+\r
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 (file)
index 0000000..e2b4b08
--- /dev/null
@@ -0,0 +1,73 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/and.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+template< bool C_ > struct and_impl\r
+{\r
+    template<\r
+          typename T1, typename T2, typename T3, typename T4\r
+        >\r
+    struct result_\r
+        : false_\r
+    {\r
+    };\r
+};\r
+\r
+template<> struct and_impl<true>\r
+{\r
+    template<\r
+          typename T1, typename T2, typename T3, typename T4\r
+        >\r
+    struct result_\r
+        : and_impl<\r
+              BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value\r
+            >::template result_< T2,T3,T4,true_ >\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct and_impl<true>\r
+    ::result_< true_,true_,true_,true_ >\r
+        : true_\r
+{\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(T1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(T2)\r
+    , typename T3 = true_, typename T4 = true_, typename T5 = true_\r
+    >\r
+struct and_\r
+\r
+    : aux::and_impl<\r
+          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value\r
+        >::template result_< T2,T3,T4,T5 >\r
+\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , and_\r
+        , ( T1, T2, T3, T4, T5)\r
+        )\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(\r
+      2\r
+    , 5\r
+    , and_\r
+    )\r
+\r
+}}\r
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 (file)
index 0000000..86b2780
--- /dev/null
@@ -0,0 +1,166 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/apply.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct apply0\r
+\r
+{\r
+    typedef typename apply_wrap0<\r
+          typename lambda<F>::type\r
+       \r
+        >::type type;\r
+\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          1\r
+        , apply0\r
+        , (F )\r
+        )\r
+};\r
+\r
+/// workaround for ETI bug\r
+template<>\r
+struct apply0<int>\r
+{\r
+    typedef int type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct apply1\r
+\r
+{\r
+    typedef typename apply_wrap1<\r
+          typename lambda<F>::type\r
+        , T1\r
+        >::type type;\r
+\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          2\r
+        , apply1\r
+        , (F, T1)\r
+        )\r
+};\r
+\r
+/// workaround for ETI bug\r
+template<>\r
+struct apply1< int,int >\r
+{\r
+    typedef int type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+struct apply2\r
+\r
+{\r
+    typedef typename apply_wrap2<\r
+          typename lambda<F>::type\r
+        , T1, T2\r
+        >::type type;\r
+\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          3\r
+        , apply2\r
+        , (F, T1, T2)\r
+        )\r
+};\r
+\r
+/// workaround for ETI bug\r
+template<>\r
+struct apply2< int,int,int >\r
+{\r
+    typedef int type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+struct apply3\r
+\r
+{\r
+    typedef typename apply_wrap3<\r
+          typename lambda<F>::type\r
+        , T1, T2, T3\r
+        >::type type;\r
+\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          4\r
+        , apply3\r
+        , (F, T1, T2, T3)\r
+        )\r
+};\r
+\r
+/// workaround for ETI bug\r
+template<>\r
+struct apply3< int,int,int,int >\r
+{\r
+    typedef int type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct apply4\r
+\r
+{\r
+    typedef typename apply_wrap4<\r
+          typename lambda<F>::type\r
+        , T1, T2, T3, T4\r
+        >::type type;\r
+\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , apply4\r
+        , (F, T1, T2, T3, T4)\r
+        )\r
+};\r
+\r
+/// workaround for ETI bug\r
+template<>\r
+struct apply4< int,int,int,int,int >\r
+{\r
+    typedef int type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct apply5\r
+\r
+{\r
+    typedef typename apply_wrap5<\r
+          typename lambda<F>::type\r
+        , T1, T2, T3, T4, T5\r
+        >::type type;\r
+\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          6\r
+        , apply5\r
+        , (F, T1, T2, T3, T4, T5)\r
+        )\r
+};\r
+\r
+/// workaround for ETI bug\r
+template<>\r
+struct apply5< int,int,int,int,int,int >\r
+{\r
+    typedef int type;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..606c2ef
--- /dev/null
@@ -0,0 +1,46 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/apply_fwd.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct apply0;\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct apply1;\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+struct apply2;\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+struct apply3;\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct apply4;\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct apply5;\r
+\r
+}}\r
+\r
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 (file)
index 0000000..3b06c70
--- /dev/null
@@ -0,0 +1,247 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/apply_wrap.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template< typename F>\r
+struct msvc_apply0\r
+{\r
+    template< bool > struct f_ : F {};\r
+    template<> struct f_<true>\r
+    {\r
+        template< typename P  = int > struct apply\r
+        {\r
+            typedef int type;\r
+        };\r
+    };\r
+\r
+    template< typename T  = int > struct result_\r
+        : f_< aux::msvc_never_true<F>::value >\r
+            ::template apply<>\r
+    {\r
+    };\r
+\r
+};\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct apply_wrap0\r
+{\r
+    typedef typename msvc_apply0<F>::template result_<\r
+         \r
+        >::type type;\r
+};\r
+\r
+/// workaround for ETI bug\r
+template<>\r
+struct apply_wrap0<int>\r
+{\r
+    typedef int type;\r
+};\r
+\r
+template< typename F>\r
+struct msvc_apply1\r
+{\r
+    template< bool > struct f_ : F {};\r
+    template<> struct f_<true>\r
+    {\r
+        template< typename P1 > struct apply\r
+        {\r
+            typedef int type;\r
+        };\r
+    };\r
+\r
+    template< typename T1 > struct result_\r
+        : f_< aux::msvc_never_true<F>::value >\r
+            ::template apply<T1>\r
+    {\r
+    };\r
+};\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct apply_wrap1\r
+{\r
+    typedef typename msvc_apply1<F>::template result_<\r
+          T1\r
+        >::type type;\r
+};\r
+\r
+/// workaround for ETI bug\r
+template<>\r
+struct apply_wrap1< int,int >\r
+{\r
+    typedef int type;\r
+};\r
+\r
+template< typename F>\r
+struct msvc_apply2\r
+{\r
+    template< bool > struct f_ : F {};\r
+    template<> struct f_<true>\r
+    {\r
+        template< typename P1, typename P2 > struct apply\r
+        {\r
+            typedef int type;\r
+        };\r
+    };\r
+\r
+    template< typename T1, typename T2 > struct result_\r
+        : f_< aux::msvc_never_true<F>::value >\r
+            ::template apply< T1,T2 >\r
+    {\r
+    };\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+struct apply_wrap2\r
+{\r
+    typedef typename msvc_apply2<F>::template result_<\r
+          T1, T2\r
+        >::type type;\r
+};\r
+\r
+/// workaround for ETI bug\r
+template<>\r
+struct apply_wrap2< int,int,int >\r
+{\r
+    typedef int type;\r
+};\r
+\r
+template< typename F>\r
+struct msvc_apply3\r
+{\r
+    template< bool > struct f_ : F {};\r
+    template<> struct f_<true>\r
+    {\r
+        template< typename P1, typename P2, typename P3 > struct apply\r
+        {\r
+            typedef int type;\r
+        };\r
+    };\r
+\r
+    template< typename T1, typename T2, typename T3 > struct result_\r
+        : f_< aux::msvc_never_true<F>::value >\r
+            ::template apply< T1,T2,T3 >\r
+    {\r
+    };\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+struct apply_wrap3\r
+{\r
+    typedef typename msvc_apply3<F>::template result_<\r
+          T1, T2, T3\r
+        >::type type;\r
+};\r
+\r
+/// workaround for ETI bug\r
+template<>\r
+struct apply_wrap3< int,int,int,int >\r
+{\r
+    typedef int type;\r
+};\r
+\r
+template< typename F>\r
+struct msvc_apply4\r
+{\r
+    template< bool > struct f_ : F {};\r
+    template<> struct f_<true>\r
+    {\r
+        template<\r
+              typename P1, typename P2, typename P3, typename P4\r
+            >\r
+        struct apply\r
+        {\r
+            typedef int type;\r
+        };\r
+    };\r
+\r
+    template<\r
+          typename T1, typename T2, typename T3, typename T4\r
+        >\r
+    struct result_\r
+        : f_< aux::msvc_never_true<F>::value >\r
+            ::template apply< T1,T2,T3,T4 >\r
+    {\r
+    };\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct apply_wrap4\r
+{\r
+    typedef typename msvc_apply4<F>::template result_<\r
+          T1, T2, T3, T4\r
+        >::type type;\r
+};\r
+\r
+/// workaround for ETI bug\r
+template<>\r
+struct apply_wrap4< int,int,int,int,int >\r
+{\r
+    typedef int type;\r
+};\r
+\r
+template< typename F>\r
+struct msvc_apply5\r
+{\r
+    template< bool > struct f_ : F {};\r
+    template<> struct f_<true>\r
+    {\r
+        template<\r
+              typename P1, typename P2, typename P3, typename P4\r
+            , typename P5\r
+            >\r
+        struct apply\r
+        {\r
+            typedef int type;\r
+        };\r
+    };\r
+\r
+    template<\r
+          typename T1, typename T2, typename T3, typename T4\r
+        , typename T5\r
+        >\r
+    struct result_\r
+        : f_< aux::msvc_never_true<F>::value >\r
+            ::template apply< T1,T2,T3,T4,T5 >\r
+    {\r
+    };\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct apply_wrap5\r
+{\r
+    typedef typename msvc_apply5<F>::template result_<\r
+          T1, T2, T3, T4, T5\r
+        >::type type;\r
+};\r
+\r
+/// workaround for ETI bug\r
+template<>\r
+struct apply_wrap5< int,int,int,int,int,int >\r
+{\r
+    typedef int type;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..a77b8a2
--- /dev/null
@@ -0,0 +1,123 @@
+\r
+// Copyright Peter Dimov 2001-2002\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/arg.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+template<> struct arg< -1 >\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value  = -1);\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)\r
+\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+        typedef U1 type;\r
+        BOOST_MPL_AUX_ASSERT_NOT_NA(type);\r
+    };\r
+};\r
+\r
+template<> struct arg<1>\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value  = 1);\r
+    typedef arg<2> next;\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)\r
+\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+        typedef U1 type;\r
+        BOOST_MPL_AUX_ASSERT_NOT_NA(type);\r
+    };\r
+};\r
+\r
+template<> struct arg<2>\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value  = 2);\r
+    typedef arg<3> next;\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)\r
+\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+        typedef U2 type;\r
+        BOOST_MPL_AUX_ASSERT_NOT_NA(type);\r
+    };\r
+};\r
+\r
+template<> struct arg<3>\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value  = 3);\r
+    typedef arg<4> next;\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)\r
+\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+        typedef U3 type;\r
+        BOOST_MPL_AUX_ASSERT_NOT_NA(type);\r
+    };\r
+};\r
+\r
+template<> struct arg<4>\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value  = 4);\r
+    typedef arg<5> next;\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)\r
+\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+        typedef U4 type;\r
+        BOOST_MPL_AUX_ASSERT_NOT_NA(type);\r
+    };\r
+};\r
+\r
+template<> struct arg<5>\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value  = 5);\r
+    typedef arg<6> next;\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)\r
+\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+        typedef U5 type;\r
+        BOOST_MPL_AUX_ASSERT_NOT_NA(type);\r
+    };\r
+};\r
+\r
+BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg)\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
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 (file)
index 0000000..5b1d0cc
--- /dev/null
@@ -0,0 +1,328 @@
+\r
+// Copyright Peter Dimov 2001\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/basic_bind.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+template< bool >\r
+struct resolve_arg_impl\r
+{\r
+    template<\r
+          typename T, typename U1, typename U2, typename U3\r
+        , typename U4, typename U5\r
+        >\r
+    struct result_\r
+    {\r
+        typedef T type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct resolve_arg_impl<true>\r
+{\r
+    template<\r
+          typename T, typename U1, typename U2, typename U3\r
+        , typename U4, typename U5\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename apply_wrap5<\r
+              T\r
+            , U1, U2, U3, U4, U5\r
+            >::type type;\r
+    };\r
+};\r
+\r
+template< typename T > struct is_bind_template;\r
+\r
+template<\r
+      typename T, typename U1, typename U2, typename U3, typename U4\r
+    , typename U5\r
+    >\r
+struct resolve_bind_arg\r
+    : resolve_arg_impl< is_bind_template<T>::value >\r
+            ::template result_< T,U1,U2,U3,U4,U5 >\r
+{\r
+};\r
+\r
+template< int arity_ > struct bind_chooser;\r
+\r
+aux::no_tag is_bind_helper(...);\r
+template< typename T > aux::no_tag is_bind_helper(protect<T>*);\r
+\r
+template< int N >\r
+aux::yes_tag is_bind_helper(arg<N>*);\r
+\r
+template< bool is_ref_  = true >\r
+struct is_bind_template_impl\r
+{\r
+    template< typename T > struct result_\r
+    {\r
+        BOOST_STATIC_CONSTANT(bool, value  = false);\r
+    };\r
+};\r
+\r
+template<>\r
+struct is_bind_template_impl<false>\r
+{\r
+    template< typename T > struct result_\r
+    {\r
+        BOOST_STATIC_CONSTANT(bool, value =\r
+              sizeof(aux::is_bind_helper(static_cast<T*>(0)))\r
+                == sizeof(aux::yes_tag)\r
+            );\r
+    };\r
+};\r
+\r
+template< typename T > struct is_bind_template\r
+    : is_bind_template_impl< ::boost::detail::is_reference_impl<T>::value >\r
+        ::template result_<T>\r
+{\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct bind0\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;\r
+\r
+     public:\r
+        typedef typename apply_wrap0<\r
+              f_\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F\r
+    >\r
+aux::yes_tag\r
+is_bind_helper(bind0<F>*);\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(1, bind0)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct bind1\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;\r
+        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;\r
+\r
+     public:\r
+        typedef typename apply_wrap1<\r
+              f_\r
+            , typename t1::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+aux::yes_tag\r
+is_bind_helper(bind1< F,T1 >*);\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(2, bind1)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+struct bind2\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;\r
+        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;\r
+        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;\r
+\r
+     public:\r
+        typedef typename apply_wrap2<\r
+              f_\r
+            , typename t1::type, typename t2::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+aux::yes_tag\r
+is_bind_helper(bind2< F,T1,T2 >*);\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(3, bind2)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+struct bind3\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;\r
+        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;\r
+        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;\r
+        typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;\r
+\r
+     public:\r
+        typedef typename apply_wrap3<\r
+              f_\r
+            , typename t1::type, typename t2::type, typename t3::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+aux::yes_tag\r
+is_bind_helper(bind3< F,T1,T2,T3 >*);\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(4, bind3)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct bind4\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;\r
+        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;\r
+        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;\r
+        typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;\r
+        typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4;\r
+\r
+     public:\r
+        typedef typename apply_wrap4<\r
+              f_\r
+            , typename t1::type, typename t2::type, typename t3::type\r
+            , typename t4::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+aux::yes_tag\r
+is_bind_helper(bind4< F,T1,T2,T3,T4 >*);\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(5, bind4)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct bind5\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;\r
+        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;\r
+        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;\r
+        typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;\r
+        typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4;\r
+        typedef aux::resolve_bind_arg< T5,U1,U2,U3,U4,U5 > t5;\r
+\r
+     public:\r
+        typedef typename apply_wrap5<\r
+              f_\r
+            , typename t1::type, typename t2::type, typename t3::type\r
+            , typename t4::type, typename t5::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+aux::yes_tag\r
+is_bind_helper(bind5< F,T1,T2,T3,T4,T5 >*);\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(6, bind5)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)\r
+}}\r
+\r
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 (file)
index 0000000..967e89e
--- /dev/null
@@ -0,0 +1,432 @@
+\r
+// Copyright Peter Dimov 2001\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/bind.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+template< bool >\r
+struct resolve_arg_impl\r
+{\r
+    template<\r
+          typename T, typename U1, typename U2, typename U3\r
+        , typename U4, typename U5\r
+        >\r
+    struct result_\r
+    {\r
+        typedef T type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct resolve_arg_impl<true>\r
+{\r
+    template<\r
+          typename T, typename U1, typename U2, typename U3\r
+        , typename U4, typename U5\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename apply_wrap5<\r
+              T\r
+            , U1, U2, U3, U4, U5\r
+            >::type type;\r
+    };\r
+};\r
+\r
+template< typename T > struct is_bind_template;\r
+\r
+template<\r
+      typename T, typename U1, typename U2, typename U3, typename U4\r
+    , typename U5\r
+    >\r
+struct resolve_bind_arg\r
+    : resolve_arg_impl< is_bind_template<T>::value >\r
+            ::template result_< T,U1,U2,U3,U4,U5 >\r
+{\r
+};\r
+\r
+template< typename T >\r
+struct replace_unnamed_arg_impl\r
+{\r
+    template< typename Arg > struct result_\r
+    {\r
+        typedef Arg next;\r
+        typedef T type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct replace_unnamed_arg_impl< arg< -1 > >\r
+{\r
+    template< typename Arg > struct result_\r
+    {\r
+        typedef typename next<Arg>::type next;\r
+        typedef Arg type;\r
+    };\r
+};\r
+\r
+template< typename T, typename Arg >\r
+struct replace_unnamed_arg\r
+    : replace_unnamed_arg_impl<T>::template result_<Arg>\r
+{\r
+};\r
+\r
+template< int arity_ > struct bind_chooser;\r
+\r
+aux::no_tag is_bind_helper(...);\r
+template< typename T > aux::no_tag is_bind_helper(protect<T>*);\r
+\r
+template< int N >\r
+aux::yes_tag is_bind_helper(arg<N>*);\r
+\r
+template< bool is_ref_  = true >\r
+struct is_bind_template_impl\r
+{\r
+    template< typename T > struct result_\r
+    {\r
+        BOOST_STATIC_CONSTANT(bool, value  = false);\r
+    };\r
+};\r
+\r
+template<>\r
+struct is_bind_template_impl<false>\r
+{\r
+    template< typename T > struct result_\r
+    {\r
+        BOOST_STATIC_CONSTANT(bool, value =\r
+              sizeof(aux::is_bind_helper(static_cast<T*>(0)))\r
+                == sizeof(aux::yes_tag)\r
+            );\r
+    };\r
+};\r
+\r
+template< typename T > struct is_bind_template\r
+    : is_bind_template_impl< ::boost::detail::is_reference_impl<T>::value >\r
+        ::template result_<T>\r
+{\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct bind0\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;\r
+        typedef typename r0::type a0;\r
+        typedef typename r0::next n1;\r
+        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;\r
+        ///\r
+     public:\r
+        typedef typename apply_wrap0<\r
+              f_\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F\r
+    >\r
+aux::yes_tag\r
+is_bind_helper(bind0<F>*);\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(1, bind0)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct bind1\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;\r
+        typedef typename r0::type a0;\r
+        typedef typename r0::next n1;\r
+        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T1,n1 > r1;\r
+        typedef typename r1::type a1;\r
+        typedef typename r1::next n2;\r
+        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;\r
+        ///\r
+     public:\r
+        typedef typename apply_wrap1<\r
+              f_\r
+            , typename t1::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+aux::yes_tag\r
+is_bind_helper(bind1< F,T1 >*);\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(2, bind1)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+struct bind2\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;\r
+        typedef typename r0::type a0;\r
+        typedef typename r0::next n1;\r
+        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T1,n1 > r1;\r
+        typedef typename r1::type a1;\r
+        typedef typename r1::next n2;\r
+        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T2,n2 > r2;\r
+        typedef typename r2::type a2;\r
+        typedef typename r2::next n3;\r
+        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;\r
+        ///\r
+     public:\r
+        typedef typename apply_wrap2<\r
+              f_\r
+            , typename t1::type, typename t2::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+aux::yes_tag\r
+is_bind_helper(bind2< F,T1,T2 >*);\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(3, bind2)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+struct bind3\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;\r
+        typedef typename r0::type a0;\r
+        typedef typename r0::next n1;\r
+        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T1,n1 > r1;\r
+        typedef typename r1::type a1;\r
+        typedef typename r1::next n2;\r
+        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T2,n2 > r2;\r
+        typedef typename r2::type a2;\r
+        typedef typename r2::next n3;\r
+        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T3,n3 > r3;\r
+        typedef typename r3::type a3;\r
+        typedef typename r3::next n4;\r
+        typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;\r
+        ///\r
+     public:\r
+        typedef typename apply_wrap3<\r
+              f_\r
+            , typename t1::type, typename t2::type, typename t3::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+aux::yes_tag\r
+is_bind_helper(bind3< F,T1,T2,T3 >*);\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(4, bind3)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct bind4\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;\r
+        typedef typename r0::type a0;\r
+        typedef typename r0::next n1;\r
+        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T1,n1 > r1;\r
+        typedef typename r1::type a1;\r
+        typedef typename r1::next n2;\r
+        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T2,n2 > r2;\r
+        typedef typename r2::type a2;\r
+        typedef typename r2::next n3;\r
+        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T3,n3 > r3;\r
+        typedef typename r3::type a3;\r
+        typedef typename r3::next n4;\r
+        typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T4,n4 > r4;\r
+        typedef typename r4::type a4;\r
+        typedef typename r4::next n5;\r
+        typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4;\r
+        ///\r
+     public:\r
+        typedef typename apply_wrap4<\r
+              f_\r
+            , typename t1::type, typename t2::type, typename t3::type\r
+            , typename t4::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+aux::yes_tag\r
+is_bind_helper(bind4< F,T1,T2,T3,T4 >*);\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(5, bind4)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct bind5\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;\r
+        typedef typename r0::type a0;\r
+        typedef typename r0::next n1;\r
+        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T1,n1 > r1;\r
+        typedef typename r1::type a1;\r
+        typedef typename r1::next n2;\r
+        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T2,n2 > r2;\r
+        typedef typename r2::type a2;\r
+        typedef typename r2::next n3;\r
+        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T3,n3 > r3;\r
+        typedef typename r3::type a3;\r
+        typedef typename r3::next n4;\r
+        typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T4,n4 > r4;\r
+        typedef typename r4::type a4;\r
+        typedef typename r4::next n5;\r
+        typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T5,n5 > r5;\r
+        typedef typename r5::type a5;\r
+        typedef typename r5::next n6;\r
+        typedef aux::resolve_bind_arg< a5,U1,U2,U3,U4,U5 > t5;\r
+        ///\r
+     public:\r
+        typedef typename apply_wrap5<\r
+              f_\r
+            , typename t1::type, typename t2::type, typename t3::type\r
+            , typename t4::type, typename t5::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+aux::yes_tag\r
+is_bind_helper(bind5< F,T1,T2,T3,T4,T5 >*);\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(6, bind5)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)\r
+}}\r
+\r
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 (file)
index 0000000..0be46fa
--- /dev/null
@@ -0,0 +1,46 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/bind_fwd.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct bind0;\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct bind1;\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+struct bind2;\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+struct bind3;\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct bind4;\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct bind5;\r
+\r
+}}\r
+\r
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 (file)
index 0000000..fb00e1d
--- /dev/null
@@ -0,0 +1,149 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright Jaap Suter 2003\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/bitand.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+\r
+    , BOOST_MPL_AUX_NTTP_DECL(int, tag1_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value\r
+    , BOOST_MPL_AUX_NTTP_DECL(int, tag2_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value\r
+    >\r
+struct bitand_impl\r
+    : if_c<\r
+          ( tag1_ > tag2_ )\r
+        , aux::cast2nd_impl< bitand_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< bitand_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct bitand_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct bitand_impl< na,integral_c_tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct bitand_impl< integral_c_tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct bitand_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+/// forward declaration\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct bitand_2;\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    , typename N3 = na, typename N4 = na, typename N5 = na\r
+    >\r
+struct bitand_\r
+\r
+    : if_<\r
+\r
+          is_na<N3>\r
+        , bitand_2< N1,N2 >\r
+        , bitand_<\r
+              bitand_2< N1,N2 >\r
+            , N3, N4, N5\r
+            >\r
+        >::type\r
+\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , bitand_\r
+        , ( N1, N2, N3, N4, N5 )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1\r
+    , typename N2\r
+    >\r
+struct bitand_2\r
+    : aux::msvc_eti_base< typename apply_wrap2<\r
+          bitand_impl<\r
+              typename bitand_tag<N1>::type\r
+            , typename bitand_tag<N2>::type\r
+            >\r
+        , N1\r
+        , N2\r
+        >::type >::type\r
+\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, bitand_2, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+template< typename T, T n1, T n2 >\r
+struct bitand_wknd\r
+{\r
+    BOOST_STATIC_CONSTANT(T, value  = (n1 & n2));\r
+    typedef integral_c< T,value > type;\r
+};\r
+\r
+}\r
+\r
+template<>\r
+struct bitand_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+        : aux::bitand_wknd<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , N1::value\r
+            , N2::value\r
+            >::type\r
+\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..a354383
--- /dev/null
@@ -0,0 +1,149 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright Jaap Suter 2003\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/bitor.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+\r
+    , BOOST_MPL_AUX_NTTP_DECL(int, tag1_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value\r
+    , BOOST_MPL_AUX_NTTP_DECL(int, tag2_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value\r
+    >\r
+struct bitor_impl\r
+    : if_c<\r
+          ( tag1_ > tag2_ )\r
+        , aux::cast2nd_impl< bitor_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< bitor_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct bitor_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct bitor_impl< na,integral_c_tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct bitor_impl< integral_c_tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct bitor_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+/// forward declaration\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct bitor_2;\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    , typename N3 = na, typename N4 = na, typename N5 = na\r
+    >\r
+struct bitor_\r
+\r
+    : if_<\r
+\r
+          is_na<N3>\r
+        , bitor_2< N1,N2 >\r
+        , bitor_<\r
+              bitor_2< N1,N2 >\r
+            , N3, N4, N5\r
+            >\r
+        >::type\r
+\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , bitor_\r
+        , ( N1, N2, N3, N4, N5 )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1\r
+    , typename N2\r
+    >\r
+struct bitor_2\r
+    : aux::msvc_eti_base< typename apply_wrap2<\r
+          bitor_impl<\r
+              typename bitor_tag<N1>::type\r
+            , typename bitor_tag<N2>::type\r
+            >\r
+        , N1\r
+        , N2\r
+        >::type >::type\r
+\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, bitor_2, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 5, bitor_)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+template< typename T, T n1, T n2 >\r
+struct bitor_wknd\r
+{\r
+    BOOST_STATIC_CONSTANT(T, value  = (n1 | n2));\r
+    typedef integral_c< T,value > type;\r
+};\r
+\r
+}\r
+\r
+template<>\r
+struct bitor_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+        : aux::bitor_wknd<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , N1::value\r
+            , N2::value\r
+            >::type\r
+\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..5384dfd
--- /dev/null
@@ -0,0 +1,149 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright Jaap Suter 2003\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/bitxor.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+\r
+    , BOOST_MPL_AUX_NTTP_DECL(int, tag1_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value\r
+    , BOOST_MPL_AUX_NTTP_DECL(int, tag2_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value\r
+    >\r
+struct bitxor_impl\r
+    : if_c<\r
+          ( tag1_ > tag2_ )\r
+        , aux::cast2nd_impl< bitxor_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< bitxor_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct bitxor_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct bitxor_impl< na,integral_c_tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct bitxor_impl< integral_c_tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct bitxor_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+/// forward declaration\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct bitxor_2;\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    , typename N3 = na, typename N4 = na, typename N5 = na\r
+    >\r
+struct bitxor_\r
+\r
+    : if_<\r
+\r
+          is_na<N3>\r
+        , bitxor_2< N1,N2 >\r
+        , bitxor_<\r
+              bitxor_2< N1,N2 >\r
+            , N3, N4, N5\r
+            >\r
+        >::type\r
+\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , bitxor_\r
+        , ( N1, N2, N3, N4, N5 )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1\r
+    , typename N2\r
+    >\r
+struct bitxor_2\r
+    : aux::msvc_eti_base< typename apply_wrap2<\r
+          bitxor_impl<\r
+              typename bitxor_tag<N1>::type\r
+            , typename bitxor_tag<N2>::type\r
+            >\r
+        , N1\r
+        , N2\r
+        >::type >::type\r
+\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, bitxor_2, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+template< typename T, T n1, T n2 >\r
+struct bitxor_wknd\r
+{\r
+    BOOST_STATIC_CONSTANT(T, value  = (n1 ^ n2));\r
+    typedef integral_c< T,value > type;\r
+};\r
+\r
+}\r
+\r
+template<>\r
+struct bitxor_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+        : aux::bitxor_wknd<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , N1::value\r
+            , N2::value\r
+            >::type\r
+\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..fb8ef1a
--- /dev/null
@@ -0,0 +1,556 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/deque.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+template< int N >\r
+struct deque_chooser;\r
+\r
+}\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct deque_chooser<0>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef vector0<\r
+             \r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct deque_chooser<1>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector1<\r
+              T0\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct deque_chooser<2>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector2<\r
+              T0, T1\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct deque_chooser<3>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector3<\r
+              T0, T1, T2\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct deque_chooser<4>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector4<\r
+              T0, T1, T2, T3\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct deque_chooser<5>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector5<\r
+              T0, T1, T2, T3, T4\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct deque_chooser<6>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector6<\r
+              T0, T1, T2, T3, T4, T5\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct deque_chooser<7>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector7<\r
+              T0, T1, T2, T3, T4, T5, T6\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct deque_chooser<8>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector8<\r
+              T0, T1, T2, T3, T4, T5, T6, T7\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct deque_chooser<9>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector9<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct deque_chooser<10>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector10<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct deque_chooser<11>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector11<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct deque_chooser<12>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector12<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct deque_chooser<13>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector13<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct deque_chooser<14>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector14<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct deque_chooser<15>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector15<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct deque_chooser<16>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector16<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct deque_chooser<17>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector17<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct deque_chooser<18>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector18<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct deque_chooser<19>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector19<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct deque_chooser<20>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector20<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template< typename T >\r
+struct is_deque_arg\r
+{\r
+    BOOST_STATIC_CONSTANT(bool, value  = true);\r
+};\r
+\r
+template<>\r
+struct is_deque_arg<na>\r
+{\r
+    BOOST_STATIC_CONSTANT(bool, value  = false);\r
+};\r
+\r
+template<\r
+      typename T1, typename T2, typename T3, typename T4, typename T5\r
+    , typename T6, typename T7, typename T8, typename T9, typename T10\r
+    , typename T11, typename T12, typename T13, typename T14, typename T15\r
+    , typename T16, typename T17, typename T18, typename T19, typename T20\r
+    >\r
+struct deque_count_args\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value =\r
+          is_deque_arg<T1>::value + is_deque_arg<T2>::value \r
+        + is_deque_arg<T3>::value + is_deque_arg<T4>::value \r
+        + is_deque_arg<T5>::value + is_deque_arg<T6>::value \r
+        + is_deque_arg<T7>::value + is_deque_arg<T8>::value \r
+        + is_deque_arg<T9>::value + is_deque_arg<T10>::value \r
+        + is_deque_arg<T11>::value + is_deque_arg<T12>::value \r
+        + is_deque_arg<T13>::value + is_deque_arg<T14>::value \r
+        + is_deque_arg<T15>::value + is_deque_arg<T16>::value \r
+        + is_deque_arg<T17>::value + is_deque_arg<T18>::value \r
+        + is_deque_arg<T19>::value + is_deque_arg<T20>::value\r
+        );\r
+\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    >\r
+struct deque_impl\r
+{\r
+    typedef aux::deque_count_args<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19\r
+        > arg_num_;\r
+\r
+    typedef typename aux::deque_chooser< arg_num_::value >\r
+        ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na\r
+    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na\r
+    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na\r
+    , typename T12 = na, typename T13 = na, typename T14 = na\r
+    , typename T15 = na, typename T16 = na, typename T17 = na\r
+    , typename T18 = na, typename T19 = na\r
+    >\r
+struct deque\r
+    : aux::deque_impl<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19\r
+        >::type\r
+{\r
+    typedef typename aux::deque_impl<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19\r
+        >::type type;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..14d5636
--- /dev/null
@@ -0,0 +1,148 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/divides.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+\r
+    , BOOST_MPL_AUX_NTTP_DECL(int, tag1_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value\r
+    , BOOST_MPL_AUX_NTTP_DECL(int, tag2_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value\r
+    >\r
+struct divides_impl\r
+    : if_c<\r
+          ( tag1_ > tag2_ )\r
+        , aux::cast2nd_impl< divides_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< divides_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct divides_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct divides_impl< na,integral_c_tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct divides_impl< integral_c_tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct divides_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+/// forward declaration\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct divides2;\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    , typename N3 = na, typename N4 = na, typename N5 = na\r
+    >\r
+struct divides\r
+\r
+    : if_<\r
+\r
+          is_na<N3>\r
+        , divides2< N1,N2 >\r
+        , divides<\r
+              divides2< N1,N2 >\r
+            , N3, N4, N5\r
+            >\r
+        >::type\r
+\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , divides\r
+        , ( N1, N2, N3, N4, N5 )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1\r
+    , typename N2\r
+    >\r
+struct divides2\r
+    : aux::msvc_eti_base< typename apply_wrap2<\r
+          divides_impl<\r
+              typename divides_tag<N1>::type\r
+            , typename divides_tag<N2>::type\r
+            >\r
+        , N1\r
+        , N2\r
+        >::type >::type\r
+\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, divides2, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 5, divides)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+template< typename T, T n1, T n2 >\r
+struct divides_wknd\r
+{\r
+    BOOST_STATIC_CONSTANT(T, value  = (n1 / n2));\r
+    typedef integral_c< T,value > type;\r
+};\r
+\r
+}\r
+\r
+template<>\r
+struct divides_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+        : aux::divides_wknd<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , N1::value\r
+            , N2::value\r
+            >::type\r
+\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..e1e6711
--- /dev/null
@@ -0,0 +1,102 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/equal_to.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+\r
+    , BOOST_MPL_AUX_NTTP_DECL(int, tag1_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value\r
+    , BOOST_MPL_AUX_NTTP_DECL(int, tag2_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value\r
+    >\r
+struct equal_to_impl\r
+    : if_c<\r
+          ( tag1_ > tag2_ )\r
+        , aux::cast2nd_impl< equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct equal_to_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct equal_to_impl< na,integral_c_tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct equal_to_impl< integral_c_tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct equal_to_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct equal_to\r
+    : aux::msvc_eti_base< typename apply_wrap2<\r
+          equal_to_impl<\r
+              typename equal_to_tag<N1>::type\r
+            , typename equal_to_tag<N2>::type\r
+            >\r
+        , N1\r
+        , N2\r
+        >::type >::type\r
+\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, equal_to, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct equal_to_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+    {\r
+        BOOST_STATIC_CONSTANT(bool, value =\r
+             ( BOOST_MPL_AUX_VALUE_WKND(N1)::value ==\r
+             BOOST_MPL_AUX_VALUE_WKND(N2)::value )\r
+            );\r
+        typedef bool_<value> type;\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..8387f65
--- /dev/null
@@ -0,0 +1,293 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/fold_impl.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+/// forward declaration\r
+\r
+template<\r
+      int N\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct fold_impl;\r
+\r
+template< int N >\r
+struct fold_chunk;\r
+\r
+template<> struct fold_chunk<0>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State state0;\r
+        typedef state0 state;\r
+        typedef iter0 iterator;\r
+    };\r
+\r
+    /// ETI workaround\r
+    template<> struct result_< int,int,int,int >\r
+    {\r
+        typedef int state;\r
+        typedef int iterator;\r
+    };\r
+\r
+};\r
+\r
+template<> struct fold_chunk<1>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State state0;\r
+        typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;\r
+        typedef typename mpl::next<iter0>::type iter1;\r
+        \r
+\r
+        typedef state1 state;\r
+        typedef iter1 iterator;\r
+    };\r
+\r
+    /// ETI workaround\r
+    template<> struct result_< int,int,int,int >\r
+    {\r
+        typedef int state;\r
+        typedef int iterator;\r
+    };\r
+\r
+};\r
+\r
+template<> struct fold_chunk<2>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State state0;\r
+        typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;\r
+        typedef typename mpl::next<iter0>::type iter1;\r
+        typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;\r
+        typedef typename mpl::next<iter1>::type iter2;\r
+        \r
+\r
+        typedef state2 state;\r
+        typedef iter2 iterator;\r
+    };\r
+\r
+    /// ETI workaround\r
+    template<> struct result_< int,int,int,int >\r
+    {\r
+        typedef int state;\r
+        typedef int iterator;\r
+    };\r
+\r
+};\r
+\r
+template<> struct fold_chunk<3>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State state0;\r
+        typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;\r
+        typedef typename mpl::next<iter0>::type iter1;\r
+        typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;\r
+        typedef typename mpl::next<iter1>::type iter2;\r
+        typedef typename apply2< ForwardOp, state2, typename deref<iter2>::type >::type state3;\r
+        typedef typename mpl::next<iter2>::type iter3;\r
+        \r
+\r
+        typedef state3 state;\r
+        typedef iter3 iterator;\r
+    };\r
+\r
+    /// ETI workaround\r
+    template<> struct result_< int,int,int,int >\r
+    {\r
+        typedef int state;\r
+        typedef int iterator;\r
+    };\r
+\r
+};\r
+\r
+template<> struct fold_chunk<4>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State state0;\r
+        typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;\r
+        typedef typename mpl::next<iter0>::type iter1;\r
+        typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;\r
+        typedef typename mpl::next<iter1>::type iter2;\r
+        typedef typename apply2< ForwardOp, state2, typename deref<iter2>::type >::type state3;\r
+        typedef typename mpl::next<iter2>::type iter3;\r
+        typedef typename apply2< ForwardOp, state3, typename deref<iter3>::type >::type state4;\r
+        typedef typename mpl::next<iter3>::type iter4;\r
+        \r
+\r
+        typedef state4 state;\r
+        typedef iter4 iterator;\r
+    };\r
+\r
+    /// ETI workaround\r
+    template<> struct result_< int,int,int,int >\r
+    {\r
+        typedef int state;\r
+        typedef int iterator;\r
+    };\r
+\r
+};\r
+\r
+template< int N >\r
+struct fold_chunk\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef fold_impl<\r
+              4\r
+            , First\r
+            , Last\r
+            , State\r
+            , ForwardOp\r
+            > chunk_;\r
+\r
+        typedef fold_impl<\r
+              ( (N - 4) < 0 ? 0 : N - 4 )\r
+            , typename chunk_::iterator\r
+            , Last\r
+            , typename chunk_::state\r
+            , ForwardOp\r
+            > res_;\r
+\r
+        typedef typename res_::state state;\r
+        typedef typename res_::iterator iterator;\r
+    };\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct fold_step;\r
+\r
+template<\r
+      typename Last\r
+    , typename State\r
+    >\r
+struct fold_null_step\r
+{\r
+    typedef Last iterator;\r
+    typedef State state;\r
+};\r
+\r
+template<>\r
+struct fold_chunk< -1 >\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename if_<\r
+              typename is_same< First,Last >::type\r
+            , fold_null_step< Last,State >\r
+            , fold_step< First,Last,State,ForwardOp >\r
+            >::type res_;\r
+\r
+        typedef typename res_::state state;\r
+        typedef typename res_::iterator iterator;\r
+    };\r
+\r
+    /// ETI workaround\r
+    template<> struct result_< int,int,int,int >\r
+    {\r
+        typedef int state;\r
+        typedef int iterator;\r
+    };\r
+\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct fold_step\r
+{\r
+    typedef fold_chunk< -1 >::template result_<\r
+          typename mpl::next<First>::type\r
+        , Last\r
+        , typename apply2<ForwardOp,State, typename deref<First>::type>::type\r
+        , ForwardOp\r
+        > chunk_;\r
+\r
+    typedef typename chunk_::state state;\r
+    typedef typename chunk_::iterator iterator;\r
+};\r
+\r
+template<\r
+      int N\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct fold_impl\r
+    : fold_chunk<N>\r
+        ::template result_< First,Last,State,ForwardOp >\r
+{\r
+};\r
+\r
+}}}\r
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 (file)
index 0000000..78cb47c
--- /dev/null
@@ -0,0 +1,554 @@
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/full_lambda.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+\r
+template<\r
+      bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false\r
+    , bool C5 = false\r
+    >\r
+struct lambda_or\r
+    : true_\r
+{\r
+};\r
+\r
+template<>\r
+struct lambda_or< false,false,false,false,false >\r
+    : false_\r
+{\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename T\r
+    , typename Tag\r
+   \r
+    >\r
+struct lambda\r
+{\r
+    typedef false_ is_le;\r
+    typedef T result_;\r
+    typedef T type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    >\r
+struct is_lambda_expression\r
+    : lambda<T>::is_le\r
+{\r
+};\r
+\r
+template< int N, typename Tag >\r
+struct lambda< arg<N>, Tag >\r
+{\r
+    typedef true_ is_le;\r
+    typedef mpl::arg<N> result_; // qualified for the sake of MIPSpro 7.41\r
+    typedef mpl::protect<result_> type;\r
+};\r
+\r
+template<\r
+      typename F\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          bind0<F>\r
+        , Tag\r
+       \r
+        >\r
+{\r
+    typedef false_ is_le;\r
+    typedef bind0<\r
+          F\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename IsLE, typename Tag\r
+    , template< typename P1 > class F\r
+    , typename L1\r
+    >\r
+struct le_result1\r
+{\r
+    typedef F<\r
+          typename L1::type\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+template<\r
+      typename Tag\r
+    , template< typename P1 > class F\r
+    , typename L1\r
+    >\r
+struct le_result1< true_,Tag,F,L1 >\r
+{\r
+    typedef bind1<\r
+          quote1< F,Tag >\r
+        , typename L1::result_\r
+        > result_;\r
+\r
+    typedef mpl::protect<result_> type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      template< typename P1 > class F\r
+    , typename T1\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          F<T1>\r
+        , Tag\r
+       \r
+        >\r
+{\r
+    typedef lambda< T1,Tag > l1;\r
+    typedef typename l1::is_le is_le1;\r
+    typedef typename aux::lambda_or<\r
+          is_le1::value\r
+        >::type is_le;\r
+\r
+    typedef aux::le_result1<\r
+          is_le, Tag, F, l1\r
+        > le_result_;\r
+\r
+    typedef typename le_result_::result_ result_;\r
+    typedef typename le_result_::type type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          bind1< F,T1 >\r
+        , Tag\r
+       \r
+        >\r
+{\r
+    typedef false_ is_le;\r
+    typedef bind1<\r
+          F\r
+        , T1\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename IsLE, typename Tag\r
+    , template< typename P1, typename P2 > class F\r
+    , typename L1, typename L2\r
+    >\r
+struct le_result2\r
+{\r
+    typedef F<\r
+          typename L1::type, typename L2::type\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+template<\r
+      typename Tag\r
+    , template< typename P1, typename P2 > class F\r
+    , typename L1, typename L2\r
+    >\r
+struct le_result2< true_,Tag,F,L1,L2 >\r
+{\r
+    typedef bind2<\r
+          quote2< F,Tag >\r
+        , typename L1::result_, typename L2::result_\r
+        > result_;\r
+\r
+    typedef mpl::protect<result_> type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      template< typename P1, typename P2 > class F\r
+    , typename T1, typename T2\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          F< T1,T2 >\r
+        , Tag\r
+       \r
+        >\r
+{\r
+    typedef lambda< T1,Tag > l1;\r
+    typedef lambda< T2,Tag > l2;\r
+    \r
+    typedef typename l1::is_le is_le1;\r
+    typedef typename l2::is_le is_le2;\r
+    \r
+\r
+    typedef typename aux::lambda_or<\r
+          is_le1::value, is_le2::value\r
+        >::type is_le;\r
+\r
+    typedef aux::le_result2<\r
+          is_le, Tag, F, l1, l2\r
+        > le_result_;\r
+\r
+    typedef typename le_result_::result_ result_;\r
+    typedef typename le_result_::type type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          bind2< F,T1,T2 >\r
+        , Tag\r
+       \r
+        >\r
+{\r
+    typedef false_ is_le;\r
+    typedef bind2<\r
+          F\r
+        , T1, T2\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename IsLE, typename Tag\r
+    , template< typename P1, typename P2, typename P3 > class F\r
+    , typename L1, typename L2, typename L3\r
+    >\r
+struct le_result3\r
+{\r
+    typedef F<\r
+          typename L1::type, typename L2::type, typename L3::type\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+template<\r
+      typename Tag\r
+    , template< typename P1, typename P2, typename P3 > class F\r
+    , typename L1, typename L2, typename L3\r
+    >\r
+struct le_result3< true_,Tag,F,L1,L2,L3 >\r
+{\r
+    typedef bind3<\r
+          quote3< F,Tag >\r
+        , typename L1::result_, typename L2::result_, typename L3::result_\r
+        > result_;\r
+\r
+    typedef mpl::protect<result_> type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      template< typename P1, typename P2, typename P3 > class F\r
+    , typename T1, typename T2, typename T3\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          F< T1,T2,T3 >\r
+        , Tag\r
+       \r
+        >\r
+{\r
+    typedef lambda< T1,Tag > l1;\r
+    typedef lambda< T2,Tag > l2;\r
+    typedef lambda< T3,Tag > l3;\r
+    \r
+    typedef typename l1::is_le is_le1;\r
+    typedef typename l2::is_le is_le2;\r
+    typedef typename l3::is_le is_le3;\r
+    \r
+\r
+    typedef typename aux::lambda_or<\r
+          is_le1::value, is_le2::value, is_le3::value\r
+        >::type is_le;\r
+\r
+    typedef aux::le_result3<\r
+          is_le, Tag, F, l1, l2, l3\r
+        > le_result_;\r
+\r
+    typedef typename le_result_::result_ result_;\r
+    typedef typename le_result_::type type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          bind3< F,T1,T2,T3 >\r
+        , Tag\r
+       \r
+        >\r
+{\r
+    typedef false_ is_le;\r
+    typedef bind3<\r
+          F\r
+        , T1, T2, T3\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename IsLE, typename Tag\r
+    , template< typename P1, typename P2, typename P3, typename P4 > class F\r
+    , typename L1, typename L2, typename L3, typename L4\r
+    >\r
+struct le_result4\r
+{\r
+    typedef F<\r
+          typename L1::type, typename L2::type, typename L3::type\r
+        , typename L4::type\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+template<\r
+      typename Tag\r
+    , template< typename P1, typename P2, typename P3, typename P4 > class F\r
+    , typename L1, typename L2, typename L3, typename L4\r
+    >\r
+struct le_result4< true_,Tag,F,L1,L2,L3,L4 >\r
+{\r
+    typedef bind4<\r
+          quote4< F,Tag >\r
+        , typename L1::result_, typename L2::result_, typename L3::result_\r
+        , typename L4::result_\r
+        > result_;\r
+\r
+    typedef mpl::protect<result_> type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      template< typename P1, typename P2, typename P3, typename P4 > class F\r
+    , typename T1, typename T2, typename T3, typename T4\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          F< T1,T2,T3,T4 >\r
+        , Tag\r
+       \r
+        >\r
+{\r
+    typedef lambda< T1,Tag > l1;\r
+    typedef lambda< T2,Tag > l2;\r
+    typedef lambda< T3,Tag > l3;\r
+    typedef lambda< T4,Tag > l4;\r
+    \r
+    typedef typename l1::is_le is_le1;\r
+    typedef typename l2::is_le is_le2;\r
+    typedef typename l3::is_le is_le3;\r
+    typedef typename l4::is_le is_le4;\r
+    \r
+\r
+    typedef typename aux::lambda_or<\r
+          is_le1::value, is_le2::value, is_le3::value, is_le4::value\r
+        >::type is_le;\r
+\r
+    typedef aux::le_result4<\r
+          is_le, Tag, F, l1, l2, l3, l4\r
+        > le_result_;\r
+\r
+    typedef typename le_result_::result_ result_;\r
+    typedef typename le_result_::type type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          bind4< F,T1,T2,T3,T4 >\r
+        , Tag\r
+       \r
+        >\r
+{\r
+    typedef false_ is_le;\r
+    typedef bind4<\r
+          F\r
+        , T1, T2, T3, T4\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename IsLE, typename Tag\r
+    , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F\r
+    , typename L1, typename L2, typename L3, typename L4, typename L5\r
+    >\r
+struct le_result5\r
+{\r
+    typedef F<\r
+          typename L1::type, typename L2::type, typename L3::type\r
+        , typename L4::type, typename L5::type\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+template<\r
+      typename Tag\r
+    , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F\r
+    , typename L1, typename L2, typename L3, typename L4, typename L5\r
+    >\r
+struct le_result5< true_,Tag,F,L1,L2,L3,L4,L5 >\r
+{\r
+    typedef bind5<\r
+          quote5< F,Tag >\r
+        , typename L1::result_, typename L2::result_, typename L3::result_\r
+        , typename L4::result_, typename L5::result_\r
+        > result_;\r
+\r
+    typedef mpl::protect<result_> type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      template<\r
+          typename P1, typename P2, typename P3, typename P4\r
+        , typename P5\r
+        >\r
+      class F\r
+    , typename T1, typename T2, typename T3, typename T4, typename T5\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          F< T1,T2,T3,T4,T5 >\r
+        , Tag\r
+       \r
+        >\r
+{\r
+    typedef lambda< T1,Tag > l1;\r
+    typedef lambda< T2,Tag > l2;\r
+    typedef lambda< T3,Tag > l3;\r
+    typedef lambda< T4,Tag > l4;\r
+    typedef lambda< T5,Tag > l5;\r
+    \r
+    typedef typename l1::is_le is_le1;\r
+    typedef typename l2::is_le is_le2;\r
+    typedef typename l3::is_le is_le3;\r
+    typedef typename l4::is_le is_le4;\r
+    typedef typename l5::is_le is_le5;\r
+    \r
+\r
+    typedef typename aux::lambda_or<\r
+          is_le1::value, is_le2::value, is_le3::value, is_le4::value\r
+        , is_le5::value\r
+        >::type is_le;\r
+\r
+    typedef aux::le_result5<\r
+          is_le, Tag, F, l1, l2, l3, l4, l5\r
+        > le_result_;\r
+\r
+    typedef typename le_result_::result_ result_;\r
+    typedef typename le_result_::type type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          bind5< F,T1,T2,T3,T4,T5 >\r
+        , Tag\r
+       \r
+        >\r
+{\r
+    typedef false_ is_le;\r
+    typedef bind5<\r
+          F\r
+        , T1, T2, T3, T4, T5\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+/// special case for 'protect'\r
+template< typename T, typename Tag >\r
+struct lambda< mpl::protect<T>, Tag >\r
+{\r
+    typedef false_ is_le;\r
+    typedef mpl::protect<T> result_;\r
+    typedef result_ type;\r
+};\r
+\r
+/// specializations for the main 'bind' form\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          bind< F,T1,T2,T3,T4,T5 >\r
+        , Tag\r
+       \r
+        >\r
+{\r
+    typedef false_ is_le;\r
+    typedef bind< F,T1,T2,T3,T4,T5 > result_;\r
+    typedef result_ type;\r
+};\r
+\r
+/// workaround for MWCW 8.3+/EDG < 303, leads to ambiguity on Digital Mars\r
+\r
+template<\r
+      typename F, typename Tag1, typename Tag2\r
+    >\r
+struct lambda<\r
+          lambda< F,Tag1 >\r
+        , Tag2\r
+        >\r
+{\r
+    typedef lambda< F,Tag2 > l1;\r
+    typedef lambda< Tag1,Tag2 > l2;\r
+    typedef typename l1::is_le is_le;\r
+    typedef aux::le_result2<is_le, Tag2, mpl::lambda, l1, l2> le_result_;\r
+    typedef typename le_result_::result_ result_;\r
+    typedef typename le_result_::type type;\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(2, lambda)\r
+\r
+}}\r
+\r
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 (file)
index 0000000..f37d9e6
--- /dev/null
@@ -0,0 +1,102 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/greater.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+\r
+    , BOOST_MPL_AUX_NTTP_DECL(int, tag1_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value\r
+    , BOOST_MPL_AUX_NTTP_DECL(int, tag2_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value\r
+    >\r
+struct greater_impl\r
+    : if_c<\r
+          ( tag1_ > tag2_ )\r
+        , aux::cast2nd_impl< greater_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< greater_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct greater_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct greater_impl< na,integral_c_tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct greater_impl< integral_c_tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct greater_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct greater\r
+    : aux::msvc_eti_base< typename apply_wrap2<\r
+          greater_impl<\r
+              typename greater_tag<N1>::type\r
+            , typename greater_tag<N2>::type\r
+            >\r
+        , N1\r
+        , N2\r
+        >::type >::type\r
+\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, greater)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct greater_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+    {\r
+        BOOST_STATIC_CONSTANT(bool, value =\r
+             ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >\r
+             BOOST_MPL_AUX_VALUE_WKND(N2)::value )\r
+            );\r
+        typedef bool_<value> type;\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..939c056
--- /dev/null
@@ -0,0 +1,102 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/greater_equal.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+\r
+    , BOOST_MPL_AUX_NTTP_DECL(int, tag1_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value\r
+    , BOOST_MPL_AUX_NTTP_DECL(int, tag2_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value\r
+    >\r
+struct greater_equal_impl\r
+    : if_c<\r
+          ( tag1_ > tag2_ )\r
+        , aux::cast2nd_impl< greater_equal_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< greater_equal_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct greater_equal_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct greater_equal_impl< na,integral_c_tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct greater_equal_impl< integral_c_tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct greater_equal_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct greater_equal\r
+    : aux::msvc_eti_base< typename apply_wrap2<\r
+          greater_equal_impl<\r
+              typename greater_equal_tag<N1>::type\r
+            , typename greater_equal_tag<N2>::type\r
+            >\r
+        , N1\r
+        , N2\r
+        >::type >::type\r
+\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater_equal, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct greater_equal_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+    {\r
+        BOOST_STATIC_CONSTANT(bool, value =\r
+             ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >=\r
+             BOOST_MPL_AUX_VALUE_WKND(N2)::value )\r
+            );\r
+        typedef bool_<value> type;\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..c61fc27
--- /dev/null
@@ -0,0 +1,166 @@
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/inherit.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+\r
+template< bool C1, bool C2 >\r
+struct inherit2_impl\r
+{\r
+    template< typename Derived, typename T1, typename T2 > struct result_\r
+        : T1, T2\r
+    {\r
+        typedef Derived type_;\r
+    };\r
+};\r
+\r
+template<>\r
+struct inherit2_impl< false,true >\r
+{\r
+    template< typename Derived, typename T1, typename T2 > struct result_\r
+        : T1\r
+    {\r
+        typedef T1 type_;\r
+    };\r
+};\r
+\r
+template<>\r
+struct inherit2_impl< true,false >\r
+{\r
+    template< typename Derived, typename T1, typename T2 > struct result_\r
+        : T2\r
+    {\r
+        typedef T2 type_;\r
+    };\r
+};\r
+\r
+template<>\r
+struct inherit2_impl< true,true >\r
+{\r
+    template< typename Derived, typename T1, typename T2 > struct result_\r
+    {\r
+        typedef T1 type_;\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(T1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(T2)\r
+    >\r
+struct inherit2\r
+    : aux::inherit2_impl<\r
+          is_empty_base<T1>::value\r
+        , is_empty_base<T2>::value\r
+        >::template result_< inherit2< T1,T2 >,T1, T2 >\r
+{\r
+    typedef typename inherit2::type_ type;\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1, T2))\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(2, inherit2)\r
+\r
+template<\r
+      typename T1 = na, typename T2 = na, typename T3 = na\r
+    >\r
+struct inherit3\r
+    : inherit2<\r
+          typename inherit2<\r
+              T1, T2\r
+            >::type\r
+        , T3\r
+        >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          3\r
+        , inherit3\r
+        , ( T1, T2, T3)\r
+        )\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(3, inherit3)\r
+\r
+template<\r
+      typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na\r
+    >\r
+struct inherit4\r
+    : inherit2<\r
+          typename inherit3<\r
+              T1, T2, T3\r
+            >::type\r
+        , T4\r
+        >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          4\r
+        , inherit4\r
+        , ( T1, T2, T3, T4)\r
+        )\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(4, inherit4)\r
+\r
+template<\r
+      typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na\r
+    , typename T5 = na\r
+    >\r
+struct inherit5\r
+    : inherit2<\r
+          typename inherit4<\r
+              T1, T2, T3, T4\r
+            >::type\r
+        , T5\r
+        >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , inherit5\r
+        , ( T1, T2, T3, T4, T5)\r
+        )\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(5, inherit5)\r
+\r
+/// primary template\r
+\r
+template<\r
+      typename T1 = empty_base, typename T2 = empty_base\r
+    , typename T3 = empty_base, typename T4 = empty_base\r
+    , typename T5 = empty_base\r
+    >\r
+struct inherit\r
+    : inherit5< T1,T2,T3,T4,T5 >\r
+{\r
+};\r
+\r
+template<>\r
+struct inherit< na,na,na,na,na >\r
+{\r
+    template<\r
+\r
+          typename T1 = empty_base, typename T2 = empty_base\r
+        , typename T3 = empty_base, typename T4 = empty_base\r
+        , typename T5 = empty_base\r
+\r
+        >\r
+    struct apply\r
+        : inherit< T1,T2,T3,T4,T5 >\r
+    {\r
+    };\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit)\r
+BOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit)\r
+BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit)\r
+}}\r
+\r
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 (file)
index 0000000..233e7dd
--- /dev/null
@@ -0,0 +1,133 @@
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+// Copyright David Abrahams 2001-2002\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/iter_fold_if_impl.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+template< typename Iterator, typename State >\r
+struct iter_fold_if_null_step\r
+{\r
+    typedef State state;\r
+    typedef Iterator iterator;\r
+};\r
+\r
+template< bool >\r
+struct iter_fold_if_step_impl\r
+{\r
+    template<\r
+          typename Iterator\r
+        , typename State\r
+        , typename StateOp\r
+        , typename IteratorOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename apply2< StateOp,State,Iterator >::type state;\r
+        typedef typename IteratorOp::type iterator;\r
+    };\r
+};\r
+\r
+template<>\r
+struct iter_fold_if_step_impl<false>\r
+{\r
+    template<\r
+          typename Iterator\r
+        , typename State\r
+        , typename StateOp\r
+        , typename IteratorOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef State state;\r
+        typedef Iterator iterator;\r
+    };\r
+};\r
+\r
+template<\r
+      typename Iterator\r
+    , typename State\r
+    , typename ForwardOp\r
+    , typename Predicate\r
+    >\r
+struct iter_fold_if_forward_step\r
+{\r
+    typedef typename apply2< Predicate,State,Iterator >::type not_last;\r
+    typedef typename iter_fold_if_step_impl<\r
+          BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value\r
+        >::template result_< Iterator,State,ForwardOp, mpl::next<Iterator> > impl_;\r
+\r
+    typedef typename impl_::state state;\r
+    typedef typename impl_::iterator iterator;\r
+};\r
+\r
+template<\r
+      typename Iterator\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename Predicate\r
+    >\r
+struct iter_fold_if_backward_step\r
+{\r
+    typedef typename apply2< Predicate,State,Iterator >::type not_last;\r
+    typedef typename iter_fold_if_step_impl<\r
+          BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value\r
+        >::template result_< Iterator,State,BackwardOp, identity<Iterator> > impl_;\r
+\r
+    typedef typename impl_::state state;\r
+    typedef typename impl_::iterator iterator;\r
+};\r
+\r
+template<\r
+      typename Iterator\r
+    , typename State\r
+    , typename ForwardOp\r
+    , typename ForwardPredicate\r
+    , typename BackwardOp\r
+    , typename BackwardPredicate\r
+    >\r
+struct iter_fold_if_impl\r
+{\r
+ private:\r
+    typedef iter_fold_if_null_step< Iterator,State > forward_step0;\r
+    typedef iter_fold_if_forward_step< typename forward_step0::iterator, typename forward_step0::state, ForwardOp, ForwardPredicate > forward_step1;\r
+    typedef iter_fold_if_forward_step< typename forward_step1::iterator, typename forward_step1::state, ForwardOp, ForwardPredicate > forward_step2;\r
+    typedef iter_fold_if_forward_step< typename forward_step2::iterator, typename forward_step2::state, ForwardOp, ForwardPredicate > forward_step3;\r
+    typedef iter_fold_if_forward_step< typename forward_step3::iterator, typename forward_step3::state, ForwardOp, ForwardPredicate > forward_step4;\r
+    \r
+\r
+    typedef typename if_<\r
+          typename forward_step4::not_last\r
+        , iter_fold_if_impl<\r
+              typename forward_step4::iterator\r
+            , typename forward_step4::state\r
+            , ForwardOp\r
+            , ForwardPredicate\r
+            , BackwardOp\r
+            , BackwardPredicate\r
+            >\r
+        , iter_fold_if_null_step<\r
+              typename forward_step4::iterator\r
+            , typename forward_step4::state\r
+            >\r
+        >::type backward_step4;\r
+\r
+    typedef iter_fold_if_backward_step< typename forward_step3::iterator, typename backward_step4::state, BackwardOp, BackwardPredicate > backward_step3;\r
+    typedef iter_fold_if_backward_step< typename forward_step2::iterator, typename backward_step3::state, BackwardOp, BackwardPredicate > backward_step2;\r
+    typedef iter_fold_if_backward_step< typename forward_step1::iterator, typename backward_step2::state, BackwardOp, BackwardPredicate > backward_step1;\r
+    typedef iter_fold_if_backward_step< typename forward_step0::iterator, typename backward_step1::state, BackwardOp, BackwardPredicate > backward_step0;\r
+    \r
+\r
+ public:\r
+    typedef typename backward_step0::state state;\r
+    typedef typename backward_step4::iterator iterator;\r
+};\r
+\r
+}}}\r
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 (file)
index 0000000..184cf15
--- /dev/null
@@ -0,0 +1,293 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/iter_fold_impl.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+/// forward declaration\r
+\r
+template<\r
+      int N\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct iter_fold_impl;\r
+\r
+template< int N >\r
+struct iter_fold_chunk;\r
+\r
+template<> struct iter_fold_chunk<0>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State state0;\r
+        typedef state0 state;\r
+        typedef iter0 iterator;\r
+    };\r
+\r
+    /// ETI workaround\r
+    template<> struct result_< int,int,int,int >\r
+    {\r
+        typedef int state;\r
+        typedef int iterator;\r
+    };\r
+\r
+};\r
+\r
+template<> struct iter_fold_chunk<1>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State state0;\r
+        typedef typename apply2< ForwardOp,state0,iter0 >::type state1;\r
+        typedef typename mpl::next<iter0>::type iter1;\r
+        \r
+\r
+        typedef state1 state;\r
+        typedef iter1 iterator;\r
+    };\r
+\r
+    /// ETI workaround\r
+    template<> struct result_< int,int,int,int >\r
+    {\r
+        typedef int state;\r
+        typedef int iterator;\r
+    };\r
+\r
+};\r
+\r
+template<> struct iter_fold_chunk<2>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State state0;\r
+        typedef typename apply2< ForwardOp,state0,iter0 >::type state1;\r
+        typedef typename mpl::next<iter0>::type iter1;\r
+        typedef typename apply2< ForwardOp,state1,iter1 >::type state2;\r
+        typedef typename mpl::next<iter1>::type iter2;\r
+        \r
+\r
+        typedef state2 state;\r
+        typedef iter2 iterator;\r
+    };\r
+\r
+    /// ETI workaround\r
+    template<> struct result_< int,int,int,int >\r
+    {\r
+        typedef int state;\r
+        typedef int iterator;\r
+    };\r
+\r
+};\r
+\r
+template<> struct iter_fold_chunk<3>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State state0;\r
+        typedef typename apply2< ForwardOp,state0,iter0 >::type state1;\r
+        typedef typename mpl::next<iter0>::type iter1;\r
+        typedef typename apply2< ForwardOp,state1,iter1 >::type state2;\r
+        typedef typename mpl::next<iter1>::type iter2;\r
+        typedef typename apply2< ForwardOp,state2,iter2 >::type state3;\r
+        typedef typename mpl::next<iter2>::type iter3;\r
+        \r
+\r
+        typedef state3 state;\r
+        typedef iter3 iterator;\r
+    };\r
+\r
+    /// ETI workaround\r
+    template<> struct result_< int,int,int,int >\r
+    {\r
+        typedef int state;\r
+        typedef int iterator;\r
+    };\r
+\r
+};\r
+\r
+template<> struct iter_fold_chunk<4>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State state0;\r
+        typedef typename apply2< ForwardOp,state0,iter0 >::type state1;\r
+        typedef typename mpl::next<iter0>::type iter1;\r
+        typedef typename apply2< ForwardOp,state1,iter1 >::type state2;\r
+        typedef typename mpl::next<iter1>::type iter2;\r
+        typedef typename apply2< ForwardOp,state2,iter2 >::type state3;\r
+        typedef typename mpl::next<iter2>::type iter3;\r
+        typedef typename apply2< ForwardOp,state3,iter3 >::type state4;\r
+        typedef typename mpl::next<iter3>::type iter4;\r
+        \r
+\r
+        typedef state4 state;\r
+        typedef iter4 iterator;\r
+    };\r
+\r
+    /// ETI workaround\r
+    template<> struct result_< int,int,int,int >\r
+    {\r
+        typedef int state;\r
+        typedef int iterator;\r
+    };\r
+\r
+};\r
+\r
+template< int N >\r
+struct iter_fold_chunk\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef iter_fold_impl<\r
+              4\r
+            , First\r
+            , Last\r
+            , State\r
+            , ForwardOp\r
+            > chunk_;\r
+\r
+        typedef iter_fold_impl<\r
+              ( (N - 4) < 0 ? 0 : N - 4 )\r
+            , typename chunk_::iterator\r
+            , Last\r
+            , typename chunk_::state\r
+            , ForwardOp\r
+            > res_;\r
+\r
+        typedef typename res_::state state;\r
+        typedef typename res_::iterator iterator;\r
+    };\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct iter_fold_step;\r
+\r
+template<\r
+      typename Last\r
+    , typename State\r
+    >\r
+struct iter_fold_null_step\r
+{\r
+    typedef Last iterator;\r
+    typedef State state;\r
+};\r
+\r
+template<>\r
+struct iter_fold_chunk< -1 >\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename if_<\r
+              typename is_same< First,Last >::type\r
+            , iter_fold_null_step< Last,State >\r
+            , iter_fold_step< First,Last,State,ForwardOp >\r
+            >::type res_;\r
+\r
+        typedef typename res_::state state;\r
+        typedef typename res_::iterator iterator;\r
+    };\r
+\r
+    /// ETI workaround\r
+    template<> struct result_< int,int,int,int >\r
+    {\r
+        typedef int state;\r
+        typedef int iterator;\r
+    };\r
+\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct iter_fold_step\r
+{\r
+    typedef iter_fold_chunk< -1 >::template result_<\r
+          typename mpl::next<First>::type\r
+        , Last\r
+        , typename apply2< ForwardOp,State,First >::type\r
+        , ForwardOp\r
+        > chunk_;\r
+\r
+    typedef typename chunk_::state state;\r
+    typedef typename chunk_::iterator iterator;\r
+};\r
+\r
+template<\r
+      int N\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct iter_fold_impl\r
+    : iter_fold_chunk<N>\r
+        ::template result_< First,Last,State,ForwardOp >\r
+{\r
+};\r
+\r
+}}}\r
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 (file)
index 0000000..c4ac608
--- /dev/null
@@ -0,0 +1,229 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/lambda_no_ctps.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+\r
+template<\r
+      bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false\r
+    , bool C5 = false\r
+    >\r
+struct lambda_or\r
+    : true_\r
+{\r
+};\r
+\r
+template<>\r
+struct lambda_or< false,false,false,false,false >\r
+    : false_\r
+{\r
+};\r
+\r
+template< typename Arity > struct lambda_impl\r
+{\r
+    template< typename T, typename Tag, typename Protect > struct result_\r
+    {\r
+        typedef T type;\r
+        typedef is_placeholder<T> is_le;\r
+    };\r
+};\r
+\r
+template<> struct lambda_impl< int_<1> >\r
+{\r
+    template< typename F, typename Tag, typename Protect > struct result_\r
+    {\r
+        typedef lambda< typename F::arg1, Tag, false_ > l1;\r
+        typedef typename l1::is_le is_le1;\r
+        typedef aux::lambda_or<\r
+              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value\r
+            > is_le;\r
+\r
+        typedef bind1<\r
+              typename F::rebind\r
+            , typename l1::type\r
+            > bind_;\r
+\r
+        typedef typename if_<\r
+              is_le\r
+            , if_< Protect, mpl::protect<bind_>, bind_ >\r
+            , identity<F>\r
+            >::type type_;\r
+\r
+        typedef typename type_::type type;\r
+    };\r
+};\r
+\r
+template<> struct lambda_impl< int_<2> >\r
+{\r
+    template< typename F, typename Tag, typename Protect > struct result_\r
+    {\r
+        typedef lambda< typename F::arg1, Tag, false_ > l1;\r
+        typedef lambda< typename F::arg2, Tag, false_ > l2;\r
+        \r
+        typedef typename l1::is_le is_le1;\r
+        typedef typename l2::is_le is_le2;\r
+        \r
+\r
+        typedef aux::lambda_or<\r
+              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value\r
+            > is_le;\r
+\r
+        typedef bind2<\r
+              typename F::rebind\r
+            , typename l1::type, typename l2::type\r
+            > bind_;\r
+\r
+        typedef typename if_<\r
+              is_le\r
+            , if_< Protect, mpl::protect<bind_>, bind_ >\r
+            , identity<F>\r
+            >::type type_;\r
+\r
+        typedef typename type_::type type;\r
+    };\r
+};\r
+\r
+template<> struct lambda_impl< int_<3> >\r
+{\r
+    template< typename F, typename Tag, typename Protect > struct result_\r
+    {\r
+        typedef lambda< typename F::arg1, Tag, false_ > l1;\r
+        typedef lambda< typename F::arg2, Tag, false_ > l2;\r
+        typedef lambda< typename F::arg3, Tag, false_ > l3;\r
+        \r
+        typedef typename l1::is_le is_le1;\r
+        typedef typename l2::is_le is_le2;\r
+        typedef typename l3::is_le is_le3;\r
+        \r
+\r
+        typedef aux::lambda_or<\r
+              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\r
+            > is_le;\r
+\r
+        typedef bind3<\r
+              typename F::rebind\r
+            , typename l1::type, typename l2::type, typename l3::type\r
+            > bind_;\r
+\r
+        typedef typename if_<\r
+              is_le\r
+            , if_< Protect, mpl::protect<bind_>, bind_ >\r
+            , identity<F>\r
+            >::type type_;\r
+\r
+        typedef typename type_::type type;\r
+    };\r
+};\r
+\r
+template<> struct lambda_impl< int_<4> >\r
+{\r
+    template< typename F, typename Tag, typename Protect > struct result_\r
+    {\r
+        typedef lambda< typename F::arg1, Tag, false_ > l1;\r
+        typedef lambda< typename F::arg2, Tag, false_ > l2;\r
+        typedef lambda< typename F::arg3, Tag, false_ > l3;\r
+        typedef lambda< typename F::arg4, Tag, false_ > l4;\r
+        \r
+        typedef typename l1::is_le is_le1;\r
+        typedef typename l2::is_le is_le2;\r
+        typedef typename l3::is_le is_le3;\r
+        typedef typename l4::is_le is_le4;\r
+        \r
+\r
+        typedef aux::lambda_or<\r
+              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\r
+            > is_le;\r
+\r
+        typedef bind4<\r
+              typename F::rebind\r
+            , typename l1::type, typename l2::type, typename l3::type\r
+            , typename l4::type\r
+            > bind_;\r
+\r
+        typedef typename if_<\r
+              is_le\r
+            , if_< Protect, mpl::protect<bind_>, bind_ >\r
+            , identity<F>\r
+            >::type type_;\r
+\r
+        typedef typename type_::type type;\r
+    };\r
+};\r
+\r
+template<> struct lambda_impl< int_<5> >\r
+{\r
+    template< typename F, typename Tag, typename Protect > struct result_\r
+    {\r
+        typedef lambda< typename F::arg1, Tag, false_ > l1;\r
+        typedef lambda< typename F::arg2, Tag, false_ > l2;\r
+        typedef lambda< typename F::arg3, Tag, false_ > l3;\r
+        typedef lambda< typename F::arg4, Tag, false_ > l4;\r
+        typedef lambda< typename F::arg5, Tag, false_ > l5;\r
+        \r
+        typedef typename l1::is_le is_le1;\r
+        typedef typename l2::is_le is_le2;\r
+        typedef typename l3::is_le is_le3;\r
+        typedef typename l4::is_le is_le4;\r
+        typedef typename l5::is_le is_le5;\r
+        \r
+\r
+        typedef aux::lambda_or<\r
+              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\r
+            > is_le;\r
+\r
+        typedef bind5<\r
+              typename F::rebind\r
+            , typename l1::type, typename l2::type, typename l3::type\r
+            , typename l4::type, typename l5::type\r
+            > bind_;\r
+\r
+        typedef typename if_<\r
+              is_le\r
+            , if_< Protect, mpl::protect<bind_>, bind_ >\r
+            , identity<F>\r
+            >::type type_;\r
+\r
+        typedef typename type_::type type;\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename T\r
+    , typename Tag\r
+    , typename Protect\r
+    >\r
+struct lambda\r
+{\r
+    /// Metafunction forwarding confuses MSVC 6.x\r
+    typedef typename aux::template_arity<T>::type arity_;\r
+    typedef typename aux::lambda_impl<arity_>\r
+        ::template result_< T,Tag,Protect > l_;\r
+\r
+    typedef typename l_::type type;\r
+    typedef typename l_::is_le is_le;\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect))\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(1, 3, lambda)\r
+\r
+template<\r
+      typename T\r
+    >\r
+struct is_lambda_expression\r
+    : lambda<T>::is_le\r
+{\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..9729859
--- /dev/null
@@ -0,0 +1,102 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/less.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+\r
+    , BOOST_MPL_AUX_NTTP_DECL(int, tag1_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value\r
+    , BOOST_MPL_AUX_NTTP_DECL(int, tag2_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value\r
+    >\r
+struct less_impl\r
+    : if_c<\r
+          ( tag1_ > tag2_ )\r
+        , aux::cast2nd_impl< less_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< less_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct less_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct less_impl< na,integral_c_tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct less_impl< integral_c_tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct less_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct less\r
+    : aux::msvc_eti_base< typename apply_wrap2<\r
+          less_impl<\r
+              typename less_tag<N1>::type\r
+            , typename less_tag<N2>::type\r
+            >\r
+        , N1\r
+        , N2\r
+        >::type >::type\r
+\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, less)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct less_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+    {\r
+        BOOST_STATIC_CONSTANT(bool, value =\r
+             ( BOOST_MPL_AUX_VALUE_WKND(N2)::value >\r
+             BOOST_MPL_AUX_VALUE_WKND(N1)::value )\r
+            );\r
+        typedef bool_<value> type;\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..6936ded
--- /dev/null
@@ -0,0 +1,102 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/less_equal.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+\r
+    , BOOST_MPL_AUX_NTTP_DECL(int, tag1_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value\r
+    , BOOST_MPL_AUX_NTTP_DECL(int, tag2_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value\r
+    >\r
+struct less_equal_impl\r
+    : if_c<\r
+          ( tag1_ > tag2_ )\r
+        , aux::cast2nd_impl< less_equal_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< less_equal_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct less_equal_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct less_equal_impl< na,integral_c_tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct less_equal_impl< integral_c_tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct less_equal_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct less_equal\r
+    : aux::msvc_eti_base< typename apply_wrap2<\r
+          less_equal_impl<\r
+              typename less_equal_tag<N1>::type\r
+            , typename less_equal_tag<N2>::type\r
+            >\r
+        , N1\r
+        , N2\r
+        >::type >::type\r
+\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less_equal, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct less_equal_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+    {\r
+        BOOST_STATIC_CONSTANT(bool, value =\r
+             ( BOOST_MPL_AUX_VALUE_WKND(N1)::value <=\r
+             BOOST_MPL_AUX_VALUE_WKND(N2)::value )\r
+            );\r
+        typedef bool_<value> type;\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..d1e03d2
--- /dev/null
@@ -0,0 +1,556 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/list.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+template< int N >\r
+struct list_chooser;\r
+\r
+}\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_chooser<0>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef list0<\r
+             \r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_chooser<1>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list1<\r
+              T0\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_chooser<2>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list2<\r
+              T0, T1\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_chooser<3>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list3<\r
+              T0, T1, T2\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_chooser<4>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list4<\r
+              T0, T1, T2, T3\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_chooser<5>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list5<\r
+              T0, T1, T2, T3, T4\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_chooser<6>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list6<\r
+              T0, T1, T2, T3, T4, T5\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_chooser<7>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list7<\r
+              T0, T1, T2, T3, T4, T5, T6\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_chooser<8>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list8<\r
+              T0, T1, T2, T3, T4, T5, T6, T7\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_chooser<9>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list9<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_chooser<10>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list10<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_chooser<11>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list11<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_chooser<12>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list12<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_chooser<13>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list13<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_chooser<14>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list14<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_chooser<15>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list15<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_chooser<16>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list16<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_chooser<17>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list17<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_chooser<18>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list18<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_chooser<19>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list19<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_chooser<20>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list20<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template< typename T >\r
+struct is_list_arg\r
+{\r
+    BOOST_STATIC_CONSTANT(bool, value  = true);\r
+};\r
+\r
+template<>\r
+struct is_list_arg<na>\r
+{\r
+    BOOST_STATIC_CONSTANT(bool, value  = false);\r
+};\r
+\r
+template<\r
+      typename T1, typename T2, typename T3, typename T4, typename T5\r
+    , typename T6, typename T7, typename T8, typename T9, typename T10\r
+    , typename T11, typename T12, typename T13, typename T14, typename T15\r
+    , typename T16, typename T17, typename T18, typename T19, typename T20\r
+    >\r
+struct list_count_args\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value =\r
+          is_list_arg<T1>::value + is_list_arg<T2>::value \r
+        + is_list_arg<T3>::value + is_list_arg<T4>::value \r
+        + is_list_arg<T5>::value + is_list_arg<T6>::value \r
+        + is_list_arg<T7>::value + is_list_arg<T8>::value \r
+        + is_list_arg<T9>::value + is_list_arg<T10>::value \r
+        + is_list_arg<T11>::value + is_list_arg<T12>::value \r
+        + is_list_arg<T13>::value + is_list_arg<T14>::value \r
+        + is_list_arg<T15>::value + is_list_arg<T16>::value \r
+        + is_list_arg<T17>::value + is_list_arg<T18>::value \r
+        + is_list_arg<T19>::value + is_list_arg<T20>::value\r
+        );\r
+\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    >\r
+struct list_impl\r
+{\r
+    typedef aux::list_count_args<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19\r
+        > arg_num_;\r
+\r
+    typedef typename aux::list_chooser< arg_num_::value >\r
+        ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na\r
+    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na\r
+    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na\r
+    , typename T12 = na, typename T13 = na, typename T14 = na\r
+    , typename T15 = na, typename T16 = na, typename T17 = na\r
+    , typename T18 = na, typename T19 = na\r
+    >\r
+struct list\r
+    : aux::list_impl<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19\r
+        >::type\r
+{\r
+    typedef typename aux::list_impl<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19\r
+        >::type type;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..b821770
--- /dev/null
@@ -0,0 +1,534 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/list_c.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+template< int N >\r
+struct list_c_chooser;\r
+\r
+}\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_c_chooser<0>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list0_c<\r
+              T\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_c_chooser<1>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list1_c<\r
+              T, C0\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_c_chooser<2>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list2_c<\r
+              T, C0, C1\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_c_chooser<3>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list3_c<\r
+              T, C0, C1, C2\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_c_chooser<4>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list4_c<\r
+              T, C0, C1, C2, C3\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_c_chooser<5>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list5_c<\r
+              T, C0, C1, C2, C3, C4\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_c_chooser<6>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list6_c<\r
+              T, C0, C1, C2, C3, C4, C5\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_c_chooser<7>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list7_c<\r
+              T, C0, C1, C2, C3, C4, C5, C6\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_c_chooser<8>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list8_c<\r
+              T, C0, C1, C2, C3, C4, C5, C6, C7\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_c_chooser<9>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list9_c<\r
+              T, C0, C1, C2, C3, C4, C5, C6, C7, C8\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_c_chooser<10>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list10_c<\r
+              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_c_chooser<11>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list11_c<\r
+              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_c_chooser<12>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list12_c<\r
+              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_c_chooser<13>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list13_c<\r
+              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_c_chooser<14>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list14_c<\r
+              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_c_chooser<15>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list15_c<\r
+              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_c_chooser<16>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list16_c<\r
+              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_c_chooser<17>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list17_c<\r
+              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_c_chooser<18>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list18_c<\r
+              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_c_chooser<19>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list19_c<\r
+              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_c_chooser<20>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list20_c<\r
+              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template< long C >\r
+struct is_list_c_arg\r
+{\r
+    BOOST_STATIC_CONSTANT(bool, value  = true);\r
+};\r
+\r
+template<>\r
+struct is_list_c_arg<LONG_MAX>\r
+{\r
+    BOOST_STATIC_CONSTANT(bool, value  = false);\r
+};\r
+\r
+template<\r
+      long C1, long C2, long C3, long C4, long C5, long C6, long C7, long C8\r
+    , long C9, long C10, long C11, long C12, long C13, long C14, long C15\r
+    , long C16, long C17, long C18, long C19, long C20\r
+    >\r
+struct list_c_count_args\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value =\r
+          is_list_c_arg<C1>::value + is_list_c_arg<C2>::value \r
+        + is_list_c_arg<C3>::value + is_list_c_arg<C4>::value \r
+        + is_list_c_arg<C5>::value + is_list_c_arg<C6>::value \r
+        + is_list_c_arg<C7>::value + is_list_c_arg<C8>::value \r
+        + is_list_c_arg<C9>::value + is_list_c_arg<C10>::value \r
+        + is_list_c_arg<C11>::value + is_list_c_arg<C12>::value \r
+        + is_list_c_arg<C13>::value + is_list_c_arg<C14>::value \r
+        + is_list_c_arg<C15>::value + is_list_c_arg<C16>::value \r
+        + is_list_c_arg<C17>::value + is_list_c_arg<C18>::value \r
+        + is_list_c_arg<C19>::value + is_list_c_arg<C20>::value\r
+        );\r
+\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+    >\r
+struct list_c_impl\r
+{\r
+    typedef aux::list_c_count_args<\r
+          C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19\r
+        > arg_num_;\r
+\r
+    typedef typename aux::list_c_chooser< arg_num_::value >\r
+        ::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;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX\r
+    , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX\r
+    , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX\r
+    , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX\r
+    , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX\r
+    , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX\r
+    , long C18 = LONG_MAX, long C19 = LONG_MAX\r
+    >\r
+struct list_c\r
+    : aux::list_c_impl<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19\r
+        >::type\r
+{\r
+    typedef typename aux::list_c_impl<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19\r
+        >::type type;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..0e1ae00
--- /dev/null
@@ -0,0 +1,556 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/map.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+template< int N >\r
+struct map_chooser;\r
+\r
+}\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct map_chooser<0>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef map0<\r
+             \r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct map_chooser<1>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename map1<\r
+              T0\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct map_chooser<2>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename map2<\r
+              T0, T1\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct map_chooser<3>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename map3<\r
+              T0, T1, T2\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct map_chooser<4>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename map4<\r
+              T0, T1, T2, T3\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct map_chooser<5>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename map5<\r
+              T0, T1, T2, T3, T4\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct map_chooser<6>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename map6<\r
+              T0, T1, T2, T3, T4, T5\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct map_chooser<7>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename map7<\r
+              T0, T1, T2, T3, T4, T5, T6\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct map_chooser<8>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename map8<\r
+              T0, T1, T2, T3, T4, T5, T6, T7\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct map_chooser<9>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename map9<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct map_chooser<10>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename map10<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct map_chooser<11>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename map11<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct map_chooser<12>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename map12<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct map_chooser<13>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename map13<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct map_chooser<14>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename map14<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct map_chooser<15>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename map15<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct map_chooser<16>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename map16<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct map_chooser<17>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename map17<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct map_chooser<18>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename map18<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct map_chooser<19>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename map19<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct map_chooser<20>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename map20<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template< typename T >\r
+struct is_map_arg\r
+{\r
+    BOOST_STATIC_CONSTANT(bool, value  = true);\r
+};\r
+\r
+template<>\r
+struct is_map_arg<na>\r
+{\r
+    BOOST_STATIC_CONSTANT(bool, value  = false);\r
+};\r
+\r
+template<\r
+      typename T1, typename T2, typename T3, typename T4, typename T5\r
+    , typename T6, typename T7, typename T8, typename T9, typename T10\r
+    , typename T11, typename T12, typename T13, typename T14, typename T15\r
+    , typename T16, typename T17, typename T18, typename T19, typename T20\r
+    >\r
+struct map_count_args\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value =\r
+          is_map_arg<T1>::value + is_map_arg<T2>::value \r
+        + is_map_arg<T3>::value + is_map_arg<T4>::value \r
+        + is_map_arg<T5>::value + is_map_arg<T6>::value \r
+        + is_map_arg<T7>::value + is_map_arg<T8>::value \r
+        + is_map_arg<T9>::value + is_map_arg<T10>::value \r
+        + is_map_arg<T11>::value + is_map_arg<T12>::value \r
+        + is_map_arg<T13>::value + is_map_arg<T14>::value \r
+        + is_map_arg<T15>::value + is_map_arg<T16>::value \r
+        + is_map_arg<T17>::value + is_map_arg<T18>::value \r
+        + is_map_arg<T19>::value + is_map_arg<T20>::value\r
+        );\r
+\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    >\r
+struct map_impl\r
+{\r
+    typedef aux::map_count_args<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19\r
+        > arg_num_;\r
+\r
+    typedef typename aux::map_chooser< arg_num_::value >\r
+        ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na\r
+    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na\r
+    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na\r
+    , typename T12 = na, typename T13 = na, typename T14 = na\r
+    , typename T15 = na, typename T16 = na, typename T17 = na\r
+    , typename T18 = na, typename T19 = na\r
+    >\r
+struct map\r
+    : aux::map_impl<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19\r
+        >::type\r
+{\r
+    typedef typename aux::map_impl<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19\r
+        >::type type;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..5e599c7
--- /dev/null
@@ -0,0 +1,148 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/minus.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+\r
+    , BOOST_MPL_AUX_NTTP_DECL(int, tag1_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value\r
+    , BOOST_MPL_AUX_NTTP_DECL(int, tag2_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value\r
+    >\r
+struct minus_impl\r
+    : if_c<\r
+          ( tag1_ > tag2_ )\r
+        , aux::cast2nd_impl< minus_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< minus_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct minus_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct minus_impl< na,integral_c_tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct minus_impl< integral_c_tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct minus_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+/// forward declaration\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct minus2;\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    , typename N3 = na, typename N4 = na, typename N5 = na\r
+    >\r
+struct minus\r
+\r
+    : if_<\r
+\r
+          is_na<N3>\r
+        , minus2< N1,N2 >\r
+        , minus<\r
+              minus2< N1,N2 >\r
+            , N3, N4, N5\r
+            >\r
+        >::type\r
+\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , minus\r
+        , ( N1, N2, N3, N4, N5 )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1\r
+    , typename N2\r
+    >\r
+struct minus2\r
+    : aux::msvc_eti_base< typename apply_wrap2<\r
+          minus_impl<\r
+              typename minus_tag<N1>::type\r
+            , typename minus_tag<N2>::type\r
+            >\r
+        , N1\r
+        , N2\r
+        >::type >::type\r
+\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, minus2, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 5, minus)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+template< typename T, T n1, T n2 >\r
+struct minus_wknd\r
+{\r
+    BOOST_STATIC_CONSTANT(T, value  = (n1 - n2));\r
+    typedef integral_c< T,value > type;\r
+};\r
+\r
+}\r
+\r
+template<>\r
+struct minus_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+        : aux::minus_wknd<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , N1::value\r
+            , N2::value\r
+            >::type\r
+\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..096f848
--- /dev/null
@@ -0,0 +1,115 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/modulus.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+\r
+    , BOOST_MPL_AUX_NTTP_DECL(int, tag1_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value\r
+    , BOOST_MPL_AUX_NTTP_DECL(int, tag2_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value\r
+    >\r
+struct modulus_impl\r
+    : if_c<\r
+          ( tag1_ > tag2_ )\r
+        , aux::cast2nd_impl< modulus_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< modulus_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct modulus_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct modulus_impl< na,integral_c_tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct modulus_impl< integral_c_tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct modulus_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct modulus\r
+    : aux::msvc_eti_base< typename apply_wrap2<\r
+          modulus_impl<\r
+              typename modulus_tag<N1>::type\r
+            , typename modulus_tag<N2>::type\r
+            >\r
+        , N1\r
+        , N2\r
+        >::type >::type\r
+\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, modulus, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, modulus)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+template< typename T, T n1, T n2 >\r
+struct modulus_wknd\r
+{\r
+    BOOST_STATIC_CONSTANT(T, value  = (n1 % n2));\r
+    typedef integral_c< T,value > type;\r
+};\r
+\r
+}\r
+\r
+template<>\r
+struct modulus_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+        : aux::modulus_wknd<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , N1::value\r
+            , N2::value\r
+            >::type\r
+\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..3d6dcc6
--- /dev/null
@@ -0,0 +1,102 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/not_equal_to.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+\r
+    , BOOST_MPL_AUX_NTTP_DECL(int, tag1_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value\r
+    , BOOST_MPL_AUX_NTTP_DECL(int, tag2_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value\r
+    >\r
+struct not_equal_to_impl\r
+    : if_c<\r
+          ( tag1_ > tag2_ )\r
+        , aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< not_equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct not_equal_to_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct not_equal_to_impl< na,integral_c_tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct not_equal_to_impl< integral_c_tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct not_equal_to_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct not_equal_to\r
+    : aux::msvc_eti_base< typename apply_wrap2<\r
+          not_equal_to_impl<\r
+              typename not_equal_to_tag<N1>::type\r
+            , typename not_equal_to_tag<N2>::type\r
+            >\r
+        , N1\r
+        , N2\r
+        >::type >::type\r
+\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, not_equal_to, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct not_equal_to_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+    {\r
+        BOOST_STATIC_CONSTANT(bool, value =\r
+             ( BOOST_MPL_AUX_VALUE_WKND(N1)::value !=\r
+             BOOST_MPL_AUX_VALUE_WKND(N2)::value )\r
+            );\r
+        typedef bool_<value> type;\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..c404d09
--- /dev/null
@@ -0,0 +1,73 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/or.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+template< bool C_ > struct or_impl\r
+{\r
+    template<\r
+          typename T1, typename T2, typename T3, typename T4\r
+        >\r
+    struct result_\r
+        : true_\r
+    {\r
+    };\r
+};\r
+\r
+template<> struct or_impl<false>\r
+{\r
+    template<\r
+          typename T1, typename T2, typename T3, typename T4\r
+        >\r
+    struct result_\r
+        : or_impl<\r
+              BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value\r
+            >::template result_< T2,T3,T4,false_ >\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct or_impl<false>\r
+    ::result_< false_,false_,false_,false_ >\r
+        : false_\r
+{\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(T1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(T2)\r
+    , typename T3 = false_, typename T4 = false_, typename T5 = false_\r
+    >\r
+struct or_\r
+\r
+    : aux::or_impl<\r
+          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value\r
+        >::template result_< T2,T3,T4,T5 >\r
+\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , or_\r
+        , ( T1, T2, T3, T4, T5)\r
+        )\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(\r
+      2\r
+    , 5\r
+    , or_\r
+    )\r
+\r
+}}\r
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 (file)
index 0000000..df5cb1d
--- /dev/null
@@ -0,0 +1,105 @@
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+// Copyright Peter Dimov 2001-2003\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/placeholders.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+typedef arg< -1 > _;\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+namespace boost { namespace mpl {\r
+\r
+BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_)\r
+\r
+namespace placeholders {\r
+using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_;\r
+}\r
+\r
+}}\r
+\r
+/// agurt, 17/mar/02: one more placeholder for the last 'apply#' \r
+/// specialization\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+typedef arg<1> _1;\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+namespace boost { namespace mpl {\r
+\r
+BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1)\r
+\r
+namespace placeholders {\r
+using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1;\r
+}\r
+\r
+}}\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+typedef arg<2> _2;\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+namespace boost { namespace mpl {\r
+\r
+BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2)\r
+\r
+namespace placeholders {\r
+using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2;\r
+}\r
+\r
+}}\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+typedef arg<3> _3;\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+namespace boost { namespace mpl {\r
+\r
+BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3)\r
+\r
+namespace placeholders {\r
+using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3;\r
+}\r
+\r
+}}\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+typedef arg<4> _4;\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+namespace boost { namespace mpl {\r
+\r
+BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4)\r
+\r
+namespace placeholders {\r
+using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4;\r
+}\r
+\r
+}}\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+typedef arg<5> _5;\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+namespace boost { namespace mpl {\r
+\r
+BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5)\r
+\r
+namespace placeholders {\r
+using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5;\r
+}\r
+\r
+}}\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+typedef arg<6> _6;\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+namespace boost { namespace mpl {\r
+\r
+BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6)\r
+\r
+namespace placeholders {\r
+using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6;\r
+}\r
+\r
+}}\r
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 (file)
index 0000000..b1ec392
--- /dev/null
@@ -0,0 +1,148 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/plus.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+\r
+    , BOOST_MPL_AUX_NTTP_DECL(int, tag1_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value\r
+    , BOOST_MPL_AUX_NTTP_DECL(int, tag2_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value\r
+    >\r
+struct plus_impl\r
+    : if_c<\r
+          ( tag1_ > tag2_ )\r
+        , aux::cast2nd_impl< plus_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< plus_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct plus_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct plus_impl< na,integral_c_tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct plus_impl< integral_c_tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct plus_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+/// forward declaration\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct plus2;\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    , typename N3 = na, typename N4 = na, typename N5 = na\r
+    >\r
+struct plus\r
+\r
+    : if_<\r
+\r
+          is_na<N3>\r
+        , plus2< N1,N2 >\r
+        , plus<\r
+              plus2< N1,N2 >\r
+            , N3, N4, N5\r
+            >\r
+        >::type\r
+\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , plus\r
+        , ( N1, N2, N3, N4, N5 )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1\r
+    , typename N2\r
+    >\r
+struct plus2\r
+    : aux::msvc_eti_base< typename apply_wrap2<\r
+          plus_impl<\r
+              typename plus_tag<N1>::type\r
+            , typename plus_tag<N2>::type\r
+            >\r
+        , N1\r
+        , N2\r
+        >::type >::type\r
+\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, plus2, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 5, plus)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+template< typename T, T n1, T n2 >\r
+struct plus_wknd\r
+{\r
+    BOOST_STATIC_CONSTANT(T, value  = (n1 + n2));\r
+    typedef integral_c< T,value > type;\r
+};\r
+\r
+}\r
+\r
+template<>\r
+struct plus_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+        : aux::plus_wknd<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , N1::value\r
+            , N2::value\r
+            >::type\r
+\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..df25a69
--- /dev/null
@@ -0,0 +1,11 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/quote.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
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 (file)
index 0000000..4127c6f
--- /dev/null
@@ -0,0 +1,343 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/reverse_fold_impl.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+/// forward declaration\r
+\r
+template<\r
+      long N\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_fold_impl;\r
+\r
+template< long N >\r
+struct reverse_fold_chunk;\r
+\r
+template<> struct reverse_fold_chunk<0>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename BackwardOp\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State fwd_state0;\r
+        typedef fwd_state0 bkwd_state0;\r
+        typedef bkwd_state0 state;\r
+        typedef iter0 iterator;\r
+    };\r
+\r
+    /// ETI workaround\r
+    template<> struct result_< int,int,int,int,int >\r
+    {\r
+        typedef int state;\r
+        typedef int iterator;\r
+    };\r
+\r
+};\r
+\r
+template<> struct reverse_fold_chunk<1>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename BackwardOp\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State fwd_state0;\r
+        typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;\r
+        typedef typename mpl::next<iter0>::type iter1;\r
+        \r
+\r
+        typedef fwd_state1 bkwd_state1;\r
+        typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;\r
+        typedef bkwd_state0 state;\r
+        typedef iter1 iterator;\r
+    };\r
+\r
+    /// ETI workaround\r
+    template<> struct result_< int,int,int,int,int >\r
+    {\r
+        typedef int state;\r
+        typedef int iterator;\r
+    };\r
+\r
+};\r
+\r
+template<> struct reverse_fold_chunk<2>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename BackwardOp\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State fwd_state0;\r
+        typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;\r
+        typedef typename mpl::next<iter0>::type iter1;\r
+        typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;\r
+        typedef typename mpl::next<iter1>::type iter2;\r
+        \r
+\r
+        typedef fwd_state2 bkwd_state2;\r
+        typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;\r
+        typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;\r
+        \r
+\r
+        typedef bkwd_state0 state;\r
+        typedef iter2 iterator;\r
+    };\r
+\r
+    /// ETI workaround\r
+    template<> struct result_< int,int,int,int,int >\r
+    {\r
+        typedef int state;\r
+        typedef int iterator;\r
+    };\r
+\r
+};\r
+\r
+template<> struct reverse_fold_chunk<3>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename BackwardOp\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State fwd_state0;\r
+        typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;\r
+        typedef typename mpl::next<iter0>::type iter1;\r
+        typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;\r
+        typedef typename mpl::next<iter1>::type iter2;\r
+        typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;\r
+        typedef typename mpl::next<iter2>::type iter3;\r
+        \r
+\r
+        typedef fwd_state3 bkwd_state3;\r
+        typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;\r
+        typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;\r
+        typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;\r
+        \r
+\r
+        typedef bkwd_state0 state;\r
+        typedef iter3 iterator;\r
+    };\r
+\r
+    /// ETI workaround\r
+    template<> struct result_< int,int,int,int,int >\r
+    {\r
+        typedef int state;\r
+        typedef int iterator;\r
+    };\r
+\r
+};\r
+\r
+template<> struct reverse_fold_chunk<4>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename BackwardOp\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State fwd_state0;\r
+        typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;\r
+        typedef typename mpl::next<iter0>::type iter1;\r
+        typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;\r
+        typedef typename mpl::next<iter1>::type iter2;\r
+        typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;\r
+        typedef typename mpl::next<iter2>::type iter3;\r
+        typedef typename apply2< ForwardOp, fwd_state3, typename deref<iter3>::type >::type fwd_state4;\r
+        typedef typename mpl::next<iter3>::type iter4;\r
+        \r
+\r
+        typedef fwd_state4 bkwd_state4;\r
+        typedef typename apply2< BackwardOp, bkwd_state4, typename deref<iter3>::type >::type bkwd_state3;\r
+        typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;\r
+        typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;\r
+        typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;\r
+        \r
+\r
+        typedef bkwd_state0 state;\r
+        typedef iter4 iterator;\r
+    };\r
+\r
+    /// ETI workaround\r
+    template<> struct result_< int,int,int,int,int >\r
+    {\r
+        typedef int state;\r
+        typedef int iterator;\r
+    };\r
+\r
+};\r
+\r
+template< long N >\r
+struct reverse_fold_chunk\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename BackwardOp\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State fwd_state0;\r
+        typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;\r
+        typedef typename mpl::next<iter0>::type iter1;\r
+        typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;\r
+        typedef typename mpl::next<iter1>::type iter2;\r
+        typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;\r
+        typedef typename mpl::next<iter2>::type iter3;\r
+        typedef typename apply2< ForwardOp, fwd_state3, typename deref<iter3>::type >::type fwd_state4;\r
+        typedef typename mpl::next<iter3>::type iter4;\r
+        \r
+\r
+        typedef reverse_fold_impl<\r
+              ( (N - 4) < 0 ? 0 : N - 4 )\r
+            , iter4\r
+            , Last\r
+            , fwd_state4\r
+            , BackwardOp\r
+            , ForwardOp\r
+            > nested_chunk;\r
+\r
+        typedef typename nested_chunk::state bkwd_state4;\r
+        typedef typename apply2< BackwardOp, bkwd_state4, typename deref<iter3>::type >::type bkwd_state3;\r
+        typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;\r
+        typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;\r
+        typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;\r
+        \r
+\r
+        typedef bkwd_state0 state;\r
+        typedef typename nested_chunk::iterator iterator;\r
+    };\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_fold_step;\r
+\r
+template<\r
+      typename Last\r
+    , typename State\r
+    >\r
+struct reverse_fold_null_step\r
+{\r
+    typedef Last iterator;\r
+    typedef State state;\r
+};\r
+\r
+template<>\r
+struct reverse_fold_chunk< -1 >\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename BackwardOp\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename if_<\r
+              typename is_same< First,Last >::type\r
+            , reverse_fold_null_step< Last,State >\r
+            , reverse_fold_step< First,Last,State,BackwardOp,ForwardOp >\r
+            >::type res_;\r
+\r
+        typedef typename res_::state state;\r
+        typedef typename res_::iterator iterator;\r
+    };\r
+\r
+    /// ETI workaround\r
+    template<> struct result_< int,int,int,int,int >\r
+    {\r
+        typedef int state;\r
+        typedef int iterator;\r
+    };\r
+\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_fold_step\r
+{\r
+    typedef reverse_fold_chunk< -1 >::template result_<\r
+          typename mpl::next<First>::type\r
+        , Last\r
+        , typename apply2<ForwardOp,State, typename deref<First>::type>::type\r
+        , BackwardOp\r
+        , ForwardOp\r
+        > nested_step;\r
+\r
+    typedef typename apply2<\r
+          BackwardOp\r
+        , typename nested_step::state\r
+        , typename deref<First>::type\r
+        >::type state;\r
+\r
+    typedef typename nested_step::iterator iterator;\r
+};\r
+\r
+template<\r
+      long N\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_fold_impl\r
+    : reverse_fold_chunk<N>\r
+        ::template result_< First,Last,State,BackwardOp,ForwardOp >\r
+{\r
+};\r
+\r
+}}}\r
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 (file)
index 0000000..3ff031f
--- /dev/null
@@ -0,0 +1,343 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/reverse_iter_fold_impl.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+/// forward declaration\r
+\r
+template<\r
+      long N\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_iter_fold_impl;\r
+\r
+template< long N >\r
+struct reverse_iter_fold_chunk;\r
+\r
+template<> struct reverse_iter_fold_chunk<0>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename BackwardOp\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State fwd_state0;\r
+        typedef fwd_state0 bkwd_state0;\r
+        typedef bkwd_state0 state;\r
+        typedef iter0 iterator;\r
+    };\r
+\r
+    /// ETI workaround\r
+    template<> struct result_< int,int,int,int,int >\r
+    {\r
+        typedef int state;\r
+        typedef int iterator;\r
+    };\r
+\r
+};\r
+\r
+template<> struct reverse_iter_fold_chunk<1>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename BackwardOp\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State fwd_state0;\r
+        typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;\r
+        typedef typename mpl::next<iter0>::type iter1;\r
+        \r
+\r
+        typedef fwd_state1 bkwd_state1;\r
+        typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;\r
+        typedef bkwd_state0 state;\r
+        typedef iter1 iterator;\r
+    };\r
+\r
+    /// ETI workaround\r
+    template<> struct result_< int,int,int,int,int >\r
+    {\r
+        typedef int state;\r
+        typedef int iterator;\r
+    };\r
+\r
+};\r
+\r
+template<> struct reverse_iter_fold_chunk<2>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename BackwardOp\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State fwd_state0;\r
+        typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;\r
+        typedef typename mpl::next<iter0>::type iter1;\r
+        typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;\r
+        typedef typename mpl::next<iter1>::type iter2;\r
+        \r
+\r
+        typedef fwd_state2 bkwd_state2;\r
+        typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;\r
+        typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;\r
+        \r
+\r
+        typedef bkwd_state0 state;\r
+        typedef iter2 iterator;\r
+    };\r
+\r
+    /// ETI workaround\r
+    template<> struct result_< int,int,int,int,int >\r
+    {\r
+        typedef int state;\r
+        typedef int iterator;\r
+    };\r
+\r
+};\r
+\r
+template<> struct reverse_iter_fold_chunk<3>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename BackwardOp\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State fwd_state0;\r
+        typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;\r
+        typedef typename mpl::next<iter0>::type iter1;\r
+        typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;\r
+        typedef typename mpl::next<iter1>::type iter2;\r
+        typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;\r
+        typedef typename mpl::next<iter2>::type iter3;\r
+        \r
+\r
+        typedef fwd_state3 bkwd_state3;\r
+        typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;\r
+        typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;\r
+        typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;\r
+        \r
+\r
+        typedef bkwd_state0 state;\r
+        typedef iter3 iterator;\r
+    };\r
+\r
+    /// ETI workaround\r
+    template<> struct result_< int,int,int,int,int >\r
+    {\r
+        typedef int state;\r
+        typedef int iterator;\r
+    };\r
+\r
+};\r
+\r
+template<> struct reverse_iter_fold_chunk<4>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename BackwardOp\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State fwd_state0;\r
+        typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;\r
+        typedef typename mpl::next<iter0>::type iter1;\r
+        typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;\r
+        typedef typename mpl::next<iter1>::type iter2;\r
+        typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;\r
+        typedef typename mpl::next<iter2>::type iter3;\r
+        typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4;\r
+        typedef typename mpl::next<iter3>::type iter4;\r
+        \r
+\r
+        typedef fwd_state4 bkwd_state4;\r
+        typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3;\r
+        typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;\r
+        typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;\r
+        typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;\r
+        \r
+\r
+        typedef bkwd_state0 state;\r
+        typedef iter4 iterator;\r
+    };\r
+\r
+    /// ETI workaround\r
+    template<> struct result_< int,int,int,int,int >\r
+    {\r
+        typedef int state;\r
+        typedef int iterator;\r
+    };\r
+\r
+};\r
+\r
+template< long N >\r
+struct reverse_iter_fold_chunk\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename BackwardOp\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State fwd_state0;\r
+        typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;\r
+        typedef typename mpl::next<iter0>::type iter1;\r
+        typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;\r
+        typedef typename mpl::next<iter1>::type iter2;\r
+        typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;\r
+        typedef typename mpl::next<iter2>::type iter3;\r
+        typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4;\r
+        typedef typename mpl::next<iter3>::type iter4;\r
+        \r
+\r
+        typedef reverse_iter_fold_impl<\r
+              ( (N - 4) < 0 ? 0 : N - 4 )\r
+            , iter4\r
+            , Last\r
+            , fwd_state4\r
+            , BackwardOp\r
+            , ForwardOp\r
+            > nested_chunk;\r
+\r
+        typedef typename nested_chunk::state bkwd_state4;\r
+        typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3;\r
+        typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;\r
+        typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;\r
+        typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;\r
+        \r
+\r
+        typedef bkwd_state0 state;\r
+        typedef typename nested_chunk::iterator iterator;\r
+    };\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_iter_fold_step;\r
+\r
+template<\r
+      typename Last\r
+    , typename State\r
+    >\r
+struct reverse_iter_fold_null_step\r
+{\r
+    typedef Last iterator;\r
+    typedef State state;\r
+};\r
+\r
+template<>\r
+struct reverse_iter_fold_chunk< -1 >\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename BackwardOp\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename if_<\r
+              typename is_same< First,Last >::type\r
+            , reverse_iter_fold_null_step< Last,State >\r
+            , reverse_iter_fold_step< First,Last,State,BackwardOp,ForwardOp >\r
+            >::type res_;\r
+\r
+        typedef typename res_::state state;\r
+        typedef typename res_::iterator iterator;\r
+    };\r
+\r
+    /// ETI workaround\r
+    template<> struct result_< int,int,int,int,int >\r
+    {\r
+        typedef int state;\r
+        typedef int iterator;\r
+    };\r
+\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_iter_fold_step\r
+{\r
+    typedef reverse_iter_fold_chunk< -1 >::template result_<\r
+          typename mpl::next<First>::type\r
+        , Last\r
+        , typename apply2< ForwardOp,State,First >::type\r
+        , BackwardOp\r
+        , ForwardOp\r
+        > nested_step;\r
+\r
+    typedef typename apply2<\r
+          BackwardOp\r
+        , typename nested_step::state\r
+        , First\r
+        >::type state;\r
+\r
+    typedef typename nested_step::iterator iterator;\r
+};\r
+\r
+template<\r
+      long N\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_iter_fold_impl\r
+    : reverse_iter_fold_chunk<N>\r
+        ::template result_< First,Last,State,BackwardOp,ForwardOp >\r
+{\r
+};\r
+\r
+}}}\r
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 (file)
index 0000000..aa1a8b1
--- /dev/null
@@ -0,0 +1,556 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/set.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+template< int N >\r
+struct set_chooser;\r
+\r
+}\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_chooser<0>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef set0<\r
+             \r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_chooser<1>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set1<\r
+              T0\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_chooser<2>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set2<\r
+              T0, T1\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_chooser<3>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set3<\r
+              T0, T1, T2\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_chooser<4>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set4<\r
+              T0, T1, T2, T3\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_chooser<5>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set5<\r
+              T0, T1, T2, T3, T4\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_chooser<6>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set6<\r
+              T0, T1, T2, T3, T4, T5\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_chooser<7>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set7<\r
+              T0, T1, T2, T3, T4, T5, T6\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_chooser<8>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set8<\r
+              T0, T1, T2, T3, T4, T5, T6, T7\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_chooser<9>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set9<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_chooser<10>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set10<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_chooser<11>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set11<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_chooser<12>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set12<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_chooser<13>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set13<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_chooser<14>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set14<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_chooser<15>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set15<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_chooser<16>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set16<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_chooser<17>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set17<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_chooser<18>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set18<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_chooser<19>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set19<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_chooser<20>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set20<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template< typename T >\r
+struct is_set_arg\r
+{\r
+    BOOST_STATIC_CONSTANT(bool, value  = true);\r
+};\r
+\r
+template<>\r
+struct is_set_arg<na>\r
+{\r
+    BOOST_STATIC_CONSTANT(bool, value  = false);\r
+};\r
+\r
+template<\r
+      typename T1, typename T2, typename T3, typename T4, typename T5\r
+    , typename T6, typename T7, typename T8, typename T9, typename T10\r
+    , typename T11, typename T12, typename T13, typename T14, typename T15\r
+    , typename T16, typename T17, typename T18, typename T19, typename T20\r
+    >\r
+struct set_count_args\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value =\r
+          is_set_arg<T1>::value + is_set_arg<T2>::value \r
+        + is_set_arg<T3>::value + is_set_arg<T4>::value \r
+        + is_set_arg<T5>::value + is_set_arg<T6>::value \r
+        + is_set_arg<T7>::value + is_set_arg<T8>::value \r
+        + is_set_arg<T9>::value + is_set_arg<T10>::value \r
+        + is_set_arg<T11>::value + is_set_arg<T12>::value \r
+        + is_set_arg<T13>::value + is_set_arg<T14>::value \r
+        + is_set_arg<T15>::value + is_set_arg<T16>::value \r
+        + is_set_arg<T17>::value + is_set_arg<T18>::value \r
+        + is_set_arg<T19>::value + is_set_arg<T20>::value\r
+        );\r
+\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    >\r
+struct set_impl\r
+{\r
+    typedef aux::set_count_args<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19\r
+        > arg_num_;\r
+\r
+    typedef typename aux::set_chooser< arg_num_::value >\r
+        ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na\r
+    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na\r
+    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na\r
+    , typename T12 = na, typename T13 = na, typename T14 = na\r
+    , typename T15 = na, typename T16 = na, typename T17 = na\r
+    , typename T18 = na, typename T19 = na\r
+    >\r
+struct set\r
+    : aux::set_impl<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19\r
+        >::type\r
+{\r
+    typedef typename aux::set_impl<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19\r
+        >::type type;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..eb0f084
--- /dev/null
@@ -0,0 +1,534 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/set_c.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+template< int N >\r
+struct set_c_chooser;\r
+\r
+}\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_c_chooser<0>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set0_c<\r
+              T\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_c_chooser<1>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set1_c<\r
+              T, C0\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_c_chooser<2>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set2_c<\r
+              T, C0, C1\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_c_chooser<3>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set3_c<\r
+              T, C0, C1, C2\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_c_chooser<4>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set4_c<\r
+              T, C0, C1, C2, C3\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_c_chooser<5>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set5_c<\r
+              T, C0, C1, C2, C3, C4\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_c_chooser<6>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set6_c<\r
+              T, C0, C1, C2, C3, C4, C5\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_c_chooser<7>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set7_c<\r
+              T, C0, C1, C2, C3, C4, C5, C6\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_c_chooser<8>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set8_c<\r
+              T, C0, C1, C2, C3, C4, C5, C6, C7\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_c_chooser<9>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set9_c<\r
+              T, C0, C1, C2, C3, C4, C5, C6, C7, C8\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_c_chooser<10>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set10_c<\r
+              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_c_chooser<11>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set11_c<\r
+              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_c_chooser<12>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set12_c<\r
+              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_c_chooser<13>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set13_c<\r
+              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_c_chooser<14>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set14_c<\r
+              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_c_chooser<15>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set15_c<\r
+              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_c_chooser<16>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set16_c<\r
+              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_c_chooser<17>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set17_c<\r
+              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_c_chooser<18>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set18_c<\r
+              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_c_chooser<19>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set19_c<\r
+              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_c_chooser<20>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set20_c<\r
+              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template< long C >\r
+struct is_set_c_arg\r
+{\r
+    BOOST_STATIC_CONSTANT(bool, value  = true);\r
+};\r
+\r
+template<>\r
+struct is_set_c_arg<LONG_MAX>\r
+{\r
+    BOOST_STATIC_CONSTANT(bool, value  = false);\r
+};\r
+\r
+template<\r
+      long C1, long C2, long C3, long C4, long C5, long C6, long C7, long C8\r
+    , long C9, long C10, long C11, long C12, long C13, long C14, long C15\r
+    , long C16, long C17, long C18, long C19, long C20\r
+    >\r
+struct set_c_count_args\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value =\r
+          is_set_c_arg<C1>::value + is_set_c_arg<C2>::value \r
+        + is_set_c_arg<C3>::value + is_set_c_arg<C4>::value \r
+        + is_set_c_arg<C5>::value + is_set_c_arg<C6>::value \r
+        + is_set_c_arg<C7>::value + is_set_c_arg<C8>::value \r
+        + is_set_c_arg<C9>::value + is_set_c_arg<C10>::value \r
+        + is_set_c_arg<C11>::value + is_set_c_arg<C12>::value \r
+        + is_set_c_arg<C13>::value + is_set_c_arg<C14>::value \r
+        + is_set_c_arg<C15>::value + is_set_c_arg<C16>::value \r
+        + is_set_c_arg<C17>::value + is_set_c_arg<C18>::value \r
+        + is_set_c_arg<C19>::value + is_set_c_arg<C20>::value\r
+        );\r
+\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+    >\r
+struct set_c_impl\r
+{\r
+    typedef aux::set_c_count_args<\r
+          C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19\r
+        > arg_num_;\r
+\r
+    typedef typename aux::set_c_chooser< arg_num_::value >\r
+        ::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;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX\r
+    , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX\r
+    , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX\r
+    , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX\r
+    , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX\r
+    , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX\r
+    , long C18 = LONG_MAX, long C19 = LONG_MAX\r
+    >\r
+struct set_c\r
+    : aux::set_c_impl<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19\r
+        >::type\r
+{\r
+    typedef typename aux::set_c_impl<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19\r
+        >::type type;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..dc35ec9
--- /dev/null
@@ -0,0 +1,114 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright Jaap Suter 2003\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/shift_left.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+\r
+    , BOOST_MPL_AUX_NTTP_DECL(int, tag1_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value\r
+    , BOOST_MPL_AUX_NTTP_DECL(int, tag2_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value\r
+    >\r
+struct shift_left_impl\r
+    : if_c<\r
+          ( tag1_ > tag2_ )\r
+        , aux::cast2nd_impl< shift_left_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< shift_left_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct shift_left_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct shift_left_impl< na,integral_c_tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct shift_left_impl< integral_c_tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct shift_left_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct shift_left\r
+    : aux::msvc_eti_base< typename apply_wrap2<\r
+          shift_left_impl<\r
+              typename shift_left_tag<N1>::type\r
+            , typename shift_left_tag<N2>::type\r
+            >\r
+        , N1\r
+        , N2\r
+        >::type >::type\r
+\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_left, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_left)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+template< typename T, typename Shift, T n, Shift s >\r
+struct shift_left_wknd\r
+{\r
+    BOOST_STATIC_CONSTANT(T, value  = (n << s));\r
+    typedef integral_c< T,value > type;\r
+};\r
+\r
+}\r
+\r
+template<>\r
+struct shift_left_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N, typename S > struct apply\r
+        : aux::shift_left_wknd<\r
+              typename N::value_type\r
+            , typename S::value_type\r
+            , N::value\r
+            , S::value\r
+            >::type\r
+\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..d4d960f
--- /dev/null
@@ -0,0 +1,114 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright Jaap Suter 2003\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/shift_right.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+\r
+    , BOOST_MPL_AUX_NTTP_DECL(int, tag1_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value\r
+    , BOOST_MPL_AUX_NTTP_DECL(int, tag2_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value\r
+    >\r
+struct shift_right_impl\r
+    : if_c<\r
+          ( tag1_ > tag2_ )\r
+        , aux::cast2nd_impl< shift_right_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< shift_right_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct shift_right_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct shift_right_impl< na,integral_c_tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct shift_right_impl< integral_c_tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct shift_right_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct shift_right\r
+    : aux::msvc_eti_base< typename apply_wrap2<\r
+          shift_right_impl<\r
+              typename shift_right_tag<N1>::type\r
+            , typename shift_right_tag<N2>::type\r
+            >\r
+        , N1\r
+        , N2\r
+        >::type >::type\r
+\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_right, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+template< typename T, typename Shift, T n, Shift s >\r
+struct shift_right_wknd\r
+{\r
+    BOOST_STATIC_CONSTANT(T, value  = (n >> s));\r
+    typedef integral_c< T,value > type;\r
+};\r
+\r
+}\r
+\r
+template<>\r
+struct shift_right_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N, typename S > struct apply\r
+        : aux::shift_right_wknd<\r
+              typename N::value_type\r
+            , typename S::value_type\r
+            , N::value\r
+            , S::value\r
+            >::type\r
+\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..1146ec2
--- /dev/null
@@ -0,0 +1,46 @@
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/template_arity.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+template< bool >\r
+struct template_arity_impl\r
+{\r
+    template< typename F > struct result_\r
+        : mpl::int_< -1 >\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct template_arity_impl<true>\r
+{\r
+    template< typename F > struct result_\r
+        : F::arity\r
+    {\r
+    };\r
+};\r
+\r
+template< typename F >\r
+struct template_arity\r
+    : template_arity_impl< ::boost::mpl::aux::has_rebind<F>::value >\r
+        ::template result_<F>\r
+{\r
+};\r
+\r
+template<>\r
+struct template_arity<int>\r
+    : mpl::int_< -1 >\r
+{\r
+};\r
+\r
+}}}\r
+\r
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 (file)
index 0000000..be6371c
--- /dev/null
@@ -0,0 +1,148 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/times.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+\r
+    , BOOST_MPL_AUX_NTTP_DECL(int, tag1_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value\r
+    , BOOST_MPL_AUX_NTTP_DECL(int, tag2_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value\r
+    >\r
+struct times_impl\r
+    : if_c<\r
+          ( tag1_ > tag2_ )\r
+        , aux::cast2nd_impl< times_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< times_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct times_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct times_impl< na,integral_c_tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct times_impl< integral_c_tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct times_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+/// forward declaration\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct times2;\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    , typename N3 = na, typename N4 = na, typename N5 = na\r
+    >\r
+struct times\r
+\r
+    : if_<\r
+\r
+          is_na<N3>\r
+        , times2< N1,N2 >\r
+        , times<\r
+              times2< N1,N2 >\r
+            , N3, N4, N5\r
+            >\r
+        >::type\r
+\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , times\r
+        , ( N1, N2, N3, N4, N5 )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1\r
+    , typename N2\r
+    >\r
+struct times2\r
+    : aux::msvc_eti_base< typename apply_wrap2<\r
+          times_impl<\r
+              typename times_tag<N1>::type\r
+            , typename times_tag<N2>::type\r
+            >\r
+        , N1\r
+        , N2\r
+        >::type >::type\r
+\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, times2, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 5, times)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+template< typename T, T n1, T n2 >\r
+struct times_wknd\r
+{\r
+    BOOST_STATIC_CONSTANT(T, value  = (n1 * n2));\r
+    typedef integral_c< T,value > type;\r
+};\r
+\r
+}\r
+\r
+template<>\r
+struct times_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+        : aux::times_wknd<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , N1::value\r
+            , N2::value\r
+            >::type\r
+\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..17718d9
--- /dev/null
@@ -0,0 +1,109 @@
+\r
+// Copyright Aleksey Gurtovoy 2002-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/unpack_args.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+\r
+template< BOOST_MPL_AUX_NTTP_DECL(int, size) > struct unpack_args_impl\r
+{\r
+    template< typename F, typename Args > struct apply;\r
+};\r
+\r
+template<> struct unpack_args_impl<0>\r
+{\r
+    template< typename F, typename Args > struct apply\r
+        : apply0<\r
+              F\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+template<> struct unpack_args_impl<1>\r
+{\r
+    template< typename F, typename Args > struct apply\r
+        : apply1<\r
+              F\r
+            , typename at_c< Args,0 >::type\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+template<> struct unpack_args_impl<2>\r
+{\r
+    template< typename F, typename Args > struct apply\r
+        : apply2<\r
+              F\r
+            , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+template<> struct unpack_args_impl<3>\r
+{\r
+    template< typename F, typename Args > struct apply\r
+        : apply3<\r
+              F\r
+            , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type\r
+            , typename at_c< Args,2 >::type\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+template<> struct unpack_args_impl<4>\r
+{\r
+    template< typename F, typename Args > struct apply\r
+        : apply4<\r
+              F\r
+            , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type\r
+            , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+template<> struct unpack_args_impl<5>\r
+{\r
+    template< typename F, typename Args > struct apply\r
+        : apply5<\r
+              F\r
+            , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type\r
+            , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type\r
+            , typename at_c< Args,4 >::type\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct unpack_args\r
+{\r
+    template< typename Args > struct apply\r
+\r
+        : aux::unpack_args_impl< size<Args>::value >\r
+            ::template apply< F,Args >\r
+\r
+    {\r
+    };\r
+};\r
+\r
+BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args)\r
+\r
+}}\r
+\r
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 (file)
index 0000000..6c6fca5
--- /dev/null
@@ -0,0 +1,556 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/vector.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+template< int N >\r
+struct vector_chooser;\r
+\r
+}\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_chooser<0>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef vector0<\r
+             \r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_chooser<1>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector1<\r
+              T0\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_chooser<2>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector2<\r
+              T0, T1\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_chooser<3>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector3<\r
+              T0, T1, T2\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_chooser<4>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector4<\r
+              T0, T1, T2, T3\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_chooser<5>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector5<\r
+              T0, T1, T2, T3, T4\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_chooser<6>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector6<\r
+              T0, T1, T2, T3, T4, T5\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_chooser<7>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector7<\r
+              T0, T1, T2, T3, T4, T5, T6\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_chooser<8>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector8<\r
+              T0, T1, T2, T3, T4, T5, T6, T7\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_chooser<9>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector9<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_chooser<10>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector10<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_chooser<11>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector11<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_chooser<12>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector12<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_chooser<13>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector13<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_chooser<14>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector14<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_chooser<15>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector15<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_chooser<16>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector16<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_chooser<17>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector17<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_chooser<18>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector18<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_chooser<19>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector19<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_chooser<20>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector20<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template< typename T >\r
+struct is_vector_arg\r
+{\r
+    BOOST_STATIC_CONSTANT(bool, value  = true);\r
+};\r
+\r
+template<>\r
+struct is_vector_arg<na>\r
+{\r
+    BOOST_STATIC_CONSTANT(bool, value  = false);\r
+};\r
+\r
+template<\r
+      typename T1, typename T2, typename T3, typename T4, typename T5\r
+    , typename T6, typename T7, typename T8, typename T9, typename T10\r
+    , typename T11, typename T12, typename T13, typename T14, typename T15\r
+    , typename T16, typename T17, typename T18, typename T19, typename T20\r
+    >\r
+struct vector_count_args\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value =\r
+          is_vector_arg<T1>::value + is_vector_arg<T2>::value \r
+        + is_vector_arg<T3>::value + is_vector_arg<T4>::value \r
+        + is_vector_arg<T5>::value + is_vector_arg<T6>::value \r
+        + is_vector_arg<T7>::value + is_vector_arg<T8>::value \r
+        + is_vector_arg<T9>::value + is_vector_arg<T10>::value \r
+        + is_vector_arg<T11>::value + is_vector_arg<T12>::value \r
+        + is_vector_arg<T13>::value + is_vector_arg<T14>::value \r
+        + is_vector_arg<T15>::value + is_vector_arg<T16>::value \r
+        + is_vector_arg<T17>::value + is_vector_arg<T18>::value \r
+        + is_vector_arg<T19>::value + is_vector_arg<T20>::value\r
+        );\r
+\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    >\r
+struct vector_impl\r
+{\r
+    typedef aux::vector_count_args<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19\r
+        > arg_num_;\r
+\r
+    typedef typename aux::vector_chooser< arg_num_::value >\r
+        ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na\r
+    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na\r
+    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na\r
+    , typename T12 = na, typename T13 = na, typename T14 = na\r
+    , typename T15 = na, typename T16 = na, typename T17 = na\r
+    , typename T18 = na, typename T19 = na\r
+    >\r
+struct vector\r
+    : aux::vector_impl<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19\r
+        >::type\r
+{\r
+    typedef typename aux::vector_impl<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19\r
+        >::type type;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..894023e
--- /dev/null
@@ -0,0 +1,534 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/vector_c.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+template< int N >\r
+struct vector_c_chooser;\r
+\r
+}\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_c_chooser<0>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector0_c<\r
+              T\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_c_chooser<1>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector1_c<\r
+              T, T(C0)\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_c_chooser<2>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector2_c<\r
+              T, T(C0), T(C1)\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_c_chooser<3>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector3_c<\r
+              T, T(C0), T(C1), T(C2)\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_c_chooser<4>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector4_c<\r
+              T, T(C0), T(C1), T(C2), T(C3)\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_c_chooser<5>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector5_c<\r
+              T, T(C0), T(C1), T(C2), T(C3), T(C4)\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_c_chooser<6>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector6_c<\r
+              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5)\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_c_chooser<7>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector7_c<\r
+              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6)\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_c_chooser<8>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector8_c<\r
+              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7)\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_c_chooser<9>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector9_c<\r
+              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8)\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_c_chooser<10>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector10_c<\r
+              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9)\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_c_chooser<11>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector11_c<\r
+              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10)\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_c_chooser<12>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector12_c<\r
+              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11)\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_c_chooser<13>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector13_c<\r
+              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12)\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_c_chooser<14>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector14_c<\r
+              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13)\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_c_chooser<15>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector15_c<\r
+              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14)\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_c_chooser<16>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector16_c<\r
+              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15)\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_c_chooser<17>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector17_c<\r
+              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16)\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_c_chooser<18>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector18_c<\r
+              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17)\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_c_chooser<19>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector19_c<\r
+              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18)\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_c_chooser<20>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector20_c<\r
+              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19)\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template< long C >\r
+struct is_vector_c_arg\r
+{\r
+    BOOST_STATIC_CONSTANT(bool, value  = true);\r
+};\r
+\r
+template<>\r
+struct is_vector_c_arg<LONG_MAX>\r
+{\r
+    BOOST_STATIC_CONSTANT(bool, value  = false);\r
+};\r
+\r
+template<\r
+      long C1, long C2, long C3, long C4, long C5, long C6, long C7, long C8\r
+    , long C9, long C10, long C11, long C12, long C13, long C14, long C15\r
+    , long C16, long C17, long C18, long C19, long C20\r
+    >\r
+struct vector_c_count_args\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value =\r
+          is_vector_c_arg<C1>::value + is_vector_c_arg<C2>::value \r
+        + is_vector_c_arg<C3>::value + is_vector_c_arg<C4>::value \r
+        + is_vector_c_arg<C5>::value + is_vector_c_arg<C6>::value \r
+        + is_vector_c_arg<C7>::value + is_vector_c_arg<C8>::value \r
+        + is_vector_c_arg<C9>::value + is_vector_c_arg<C10>::value \r
+        + is_vector_c_arg<C11>::value + is_vector_c_arg<C12>::value \r
+        + is_vector_c_arg<C13>::value + is_vector_c_arg<C14>::value \r
+        + is_vector_c_arg<C15>::value + is_vector_c_arg<C16>::value \r
+        + is_vector_c_arg<C17>::value + is_vector_c_arg<C18>::value \r
+        + is_vector_c_arg<C19>::value + is_vector_c_arg<C20>::value\r
+        );\r
+\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+    >\r
+struct vector_c_impl\r
+{\r
+    typedef aux::vector_c_count_args<\r
+          C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19\r
+        > arg_num_;\r
+\r
+    typedef typename aux::vector_c_chooser< arg_num_::value >\r
+        ::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;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX\r
+    , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX\r
+    , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX\r
+    , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX\r
+    , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX\r
+    , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX\r
+    , long C18 = LONG_MAX, long C19 = LONG_MAX\r
+    >\r
+struct vector_c\r
+    : aux::vector_c_impl<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19\r
+        >::type\r
+{\r
+    typedef typename aux::vector_c_impl<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19\r
+        >::type type;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..2d65040
--- /dev/null
@@ -0,0 +1,97 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/advance_backward.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+template< long N > struct advance_backward;\r
+template<>\r
+struct advance_backward<0>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef iter0 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct advance_backward<1>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef typename prior<iter0>::type iter1;\r
+        typedef iter1 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct advance_backward<2>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef typename prior<iter0>::type iter1;\r
+        typedef typename prior<iter1>::type iter2;\r
+        typedef iter2 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct advance_backward<3>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef typename prior<iter0>::type iter1;\r
+        typedef typename prior<iter1>::type iter2;\r
+        typedef typename prior<iter2>::type iter3;\r
+        typedef iter3 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct advance_backward<4>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef typename prior<iter0>::type iter1;\r
+        typedef typename prior<iter1>::type iter2;\r
+        typedef typename prior<iter2>::type iter3;\r
+        typedef typename prior<iter3>::type iter4;\r
+        typedef iter4 type;\r
+    };\r
+};\r
+\r
+template< long N >\r
+struct advance_backward\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef typename apply_wrap1<\r
+              advance_backward<4>\r
+            , Iterator\r
+            >::type chunk_result_;\r
+\r
+        typedef typename apply_wrap1<\r
+              advance_backward<(\r
+                (N - 4) < 0\r
+                    ? 0\r
+                    : N - 4\r
+                    )>\r
+            , chunk_result_\r
+            >::type type;\r
+    };\r
+};\r
+\r
+}}}\r
+\r
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 (file)
index 0000000..9762f7b
--- /dev/null
@@ -0,0 +1,97 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/advance_forward.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+template< long N > struct advance_forward;\r
+template<>\r
+struct advance_forward<0>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef iter0 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct advance_forward<1>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef typename next<iter0>::type iter1;\r
+        typedef iter1 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct advance_forward<2>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef typename next<iter0>::type iter1;\r
+        typedef typename next<iter1>::type iter2;\r
+        typedef iter2 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct advance_forward<3>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef typename next<iter0>::type iter1;\r
+        typedef typename next<iter1>::type iter2;\r
+        typedef typename next<iter2>::type iter3;\r
+        typedef iter3 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct advance_forward<4>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef typename next<iter0>::type iter1;\r
+        typedef typename next<iter1>::type iter2;\r
+        typedef typename next<iter2>::type iter3;\r
+        typedef typename next<iter3>::type iter4;\r
+        typedef iter4 type;\r
+    };\r
+};\r
+\r
+template< long N >\r
+struct advance_forward\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef typename apply_wrap1<\r
+              advance_forward<4>\r
+            , Iterator\r
+            >::type chunk_result_;\r
+\r
+        typedef typename apply_wrap1<\r
+              advance_forward<(\r
+                (N - 4) < 0\r
+                    ? 0\r
+                    : N - 4\r
+                    )>\r
+            , chunk_result_\r
+            >::type type;\r
+    };\r
+};\r
+\r
+}}}\r
+\r
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 (file)
index 0000000..cab8bb6
--- /dev/null
@@ -0,0 +1,71 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/and.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+template< bool C_ > struct and_impl\r
+{\r
+    template<\r
+          typename T1, typename T2, typename T3, typename T4\r
+        >\r
+    struct result_\r
+        : false_\r
+    {\r
+    };\r
+};\r
+\r
+template<> struct and_impl<true>\r
+{\r
+    template<\r
+          typename T1, typename T2, typename T3, typename T4\r
+        >\r
+    struct result_\r
+        : and_impl<\r
+              BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value\r
+            >::template result_< T2,T3,T4,true_ >\r
+    {\r
+    };\r
+\r
+    template<> struct result_< true_,true_,true_,true_ >\r
+        : true_\r
+    {\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(T1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(T2)\r
+    , typename T3 = true_, typename T4 = true_, typename T5 = true_\r
+    >\r
+struct and_\r
+\r
+    : aux::and_impl<\r
+          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value\r
+        >::template result_< T2,T3,T4,T5 >\r
+\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , and_\r
+        , ( T1, T2, T3, T4, T5)\r
+        )\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(\r
+      2\r
+    , 5\r
+    , and_\r
+    )\r
+\r
+}}\r
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 (file)
index 0000000..7cdd9d6
--- /dev/null
@@ -0,0 +1,160 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/apply.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct apply0\r
+\r
+    : apply_wrap0<\r
+          typename lambda<F>::type\r
+       \r
+        >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          1\r
+        , apply0\r
+        , (F )\r
+        )\r
+};\r
+\r
+/// workaround for ETI bug\r
+template<>\r
+struct apply0<int>\r
+{\r
+    typedef int type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct apply1\r
+\r
+    : apply_wrap1<\r
+          typename lambda<F>::type\r
+        , T1\r
+        >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          2\r
+        , apply1\r
+        , (F, T1)\r
+        )\r
+};\r
+\r
+/// workaround for ETI bug\r
+template<>\r
+struct apply1< int,int >\r
+{\r
+    typedef int type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+struct apply2\r
+\r
+    : apply_wrap2<\r
+          typename lambda<F>::type\r
+        , T1, T2\r
+        >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          3\r
+        , apply2\r
+        , (F, T1, T2)\r
+        )\r
+};\r
+\r
+/// workaround for ETI bug\r
+template<>\r
+struct apply2< int,int,int >\r
+{\r
+    typedef int type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+struct apply3\r
+\r
+    : apply_wrap3<\r
+          typename lambda<F>::type\r
+        , T1, T2, T3\r
+        >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          4\r
+        , apply3\r
+        , (F, T1, T2, T3)\r
+        )\r
+};\r
+\r
+/// workaround for ETI bug\r
+template<>\r
+struct apply3< int,int,int,int >\r
+{\r
+    typedef int type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct apply4\r
+\r
+    : apply_wrap4<\r
+          typename lambda<F>::type\r
+        , T1, T2, T3, T4\r
+        >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , apply4\r
+        , (F, T1, T2, T3, T4)\r
+        )\r
+};\r
+\r
+/// workaround for ETI bug\r
+template<>\r
+struct apply4< int,int,int,int,int >\r
+{\r
+    typedef int type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct apply5\r
+\r
+    : apply_wrap5<\r
+          typename lambda<F>::type\r
+        , T1, T2, T3, T4, T5\r
+        >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          6\r
+        , apply5\r
+        , (F, T1, T2, T3, T4, T5)\r
+        )\r
+};\r
+\r
+/// workaround for ETI bug\r
+template<>\r
+struct apply5< int,int,int,int,int,int >\r
+{\r
+    typedef int type;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..606c2ef
--- /dev/null
@@ -0,0 +1,46 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/apply_fwd.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct apply0;\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct apply1;\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+struct apply2;\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+struct apply3;\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct apply4;\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct apply5;\r
+\r
+}}\r
+\r
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 (file)
index 0000000..ba0f5a2
--- /dev/null
@@ -0,0 +1,138 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/apply_wrap.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename F\r
+\r
+    , typename has_apply_ = typename aux::has_apply<F>::type\r
+\r
+    >\r
+struct apply_wrap0\r
+\r
+{\r
+    typedef typename F::template apply<\r
+        \r
+        >::type type;\r
+\r
+};\r
+\r
+/// workaround for ETI bug\r
+template<>\r
+struct apply_wrap0<int>\r
+{\r
+    typedef int type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1\r
+\r
+    >\r
+struct apply_wrap1\r
+\r
+{\r
+    typedef typename F::template apply<\r
+         T1\r
+        >::type type;\r
+\r
+};\r
+\r
+/// workaround for ETI bug\r
+template<>\r
+struct apply_wrap1< int,int >\r
+{\r
+    typedef int type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+\r
+    >\r
+struct apply_wrap2\r
+\r
+{\r
+    typedef typename F::template apply<\r
+         T1, T2\r
+        >::type type;\r
+\r
+};\r
+\r
+/// workaround for ETI bug\r
+template<>\r
+struct apply_wrap2< int,int,int >\r
+{\r
+    typedef int type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+\r
+    >\r
+struct apply_wrap3\r
+\r
+{\r
+    typedef typename F::template apply<\r
+         T1, T2, T3\r
+        >::type type;\r
+\r
+};\r
+\r
+/// workaround for ETI bug\r
+template<>\r
+struct apply_wrap3< int,int,int,int >\r
+{\r
+    typedef int type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+\r
+    >\r
+struct apply_wrap4\r
+\r
+{\r
+    typedef typename F::template apply<\r
+         T1, T2, T3, T4\r
+        >::type type;\r
+\r
+};\r
+\r
+/// workaround for ETI bug\r
+template<>\r
+struct apply_wrap4< int,int,int,int,int >\r
+{\r
+    typedef int type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+\r
+    >\r
+struct apply_wrap5\r
+\r
+{\r
+    typedef typename F::template apply<\r
+         T1, T2, T3, T4, T5\r
+        >::type type;\r
+\r
+};\r
+\r
+/// workaround for ETI bug\r
+template<>\r
+struct apply_wrap5< int,int,int,int,int,int >\r
+{\r
+    typedef int type;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..a77b8a2
--- /dev/null
@@ -0,0 +1,123 @@
+\r
+// Copyright Peter Dimov 2001-2002\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/arg.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+template<> struct arg< -1 >\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value  = -1);\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)\r
+\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+        typedef U1 type;\r
+        BOOST_MPL_AUX_ASSERT_NOT_NA(type);\r
+    };\r
+};\r
+\r
+template<> struct arg<1>\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value  = 1);\r
+    typedef arg<2> next;\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)\r
+\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+        typedef U1 type;\r
+        BOOST_MPL_AUX_ASSERT_NOT_NA(type);\r
+    };\r
+};\r
+\r
+template<> struct arg<2>\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value  = 2);\r
+    typedef arg<3> next;\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)\r
+\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+        typedef U2 type;\r
+        BOOST_MPL_AUX_ASSERT_NOT_NA(type);\r
+    };\r
+};\r
+\r
+template<> struct arg<3>\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value  = 3);\r
+    typedef arg<4> next;\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)\r
+\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+        typedef U3 type;\r
+        BOOST_MPL_AUX_ASSERT_NOT_NA(type);\r
+    };\r
+};\r
+\r
+template<> struct arg<4>\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value  = 4);\r
+    typedef arg<5> next;\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)\r
+\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+        typedef U4 type;\r
+        BOOST_MPL_AUX_ASSERT_NOT_NA(type);\r
+    };\r
+};\r
+\r
+template<> struct arg<5>\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value  = 5);\r
+    typedef arg<6> next;\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)\r
+\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+        typedef U5 type;\r
+        BOOST_MPL_AUX_ASSERT_NOT_NA(type);\r
+    };\r
+};\r
+\r
+BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg)\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
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 (file)
index 0000000..5b1d0cc
--- /dev/null
@@ -0,0 +1,328 @@
+\r
+// Copyright Peter Dimov 2001\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/basic_bind.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+template< bool >\r
+struct resolve_arg_impl\r
+{\r
+    template<\r
+          typename T, typename U1, typename U2, typename U3\r
+        , typename U4, typename U5\r
+        >\r
+    struct result_\r
+    {\r
+        typedef T type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct resolve_arg_impl<true>\r
+{\r
+    template<\r
+          typename T, typename U1, typename U2, typename U3\r
+        , typename U4, typename U5\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename apply_wrap5<\r
+              T\r
+            , U1, U2, U3, U4, U5\r
+            >::type type;\r
+    };\r
+};\r
+\r
+template< typename T > struct is_bind_template;\r
+\r
+template<\r
+      typename T, typename U1, typename U2, typename U3, typename U4\r
+    , typename U5\r
+    >\r
+struct resolve_bind_arg\r
+    : resolve_arg_impl< is_bind_template<T>::value >\r
+            ::template result_< T,U1,U2,U3,U4,U5 >\r
+{\r
+};\r
+\r
+template< int arity_ > struct bind_chooser;\r
+\r
+aux::no_tag is_bind_helper(...);\r
+template< typename T > aux::no_tag is_bind_helper(protect<T>*);\r
+\r
+template< int N >\r
+aux::yes_tag is_bind_helper(arg<N>*);\r
+\r
+template< bool is_ref_  = true >\r
+struct is_bind_template_impl\r
+{\r
+    template< typename T > struct result_\r
+    {\r
+        BOOST_STATIC_CONSTANT(bool, value  = false);\r
+    };\r
+};\r
+\r
+template<>\r
+struct is_bind_template_impl<false>\r
+{\r
+    template< typename T > struct result_\r
+    {\r
+        BOOST_STATIC_CONSTANT(bool, value =\r
+              sizeof(aux::is_bind_helper(static_cast<T*>(0)))\r
+                == sizeof(aux::yes_tag)\r
+            );\r
+    };\r
+};\r
+\r
+template< typename T > struct is_bind_template\r
+    : is_bind_template_impl< ::boost::detail::is_reference_impl<T>::value >\r
+        ::template result_<T>\r
+{\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct bind0\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;\r
+\r
+     public:\r
+        typedef typename apply_wrap0<\r
+              f_\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F\r
+    >\r
+aux::yes_tag\r
+is_bind_helper(bind0<F>*);\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(1, bind0)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct bind1\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;\r
+        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;\r
+\r
+     public:\r
+        typedef typename apply_wrap1<\r
+              f_\r
+            , typename t1::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+aux::yes_tag\r
+is_bind_helper(bind1< F,T1 >*);\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(2, bind1)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+struct bind2\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;\r
+        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;\r
+        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;\r
+\r
+     public:\r
+        typedef typename apply_wrap2<\r
+              f_\r
+            , typename t1::type, typename t2::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+aux::yes_tag\r
+is_bind_helper(bind2< F,T1,T2 >*);\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(3, bind2)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+struct bind3\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;\r
+        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;\r
+        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;\r
+        typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;\r
+\r
+     public:\r
+        typedef typename apply_wrap3<\r
+              f_\r
+            , typename t1::type, typename t2::type, typename t3::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+aux::yes_tag\r
+is_bind_helper(bind3< F,T1,T2,T3 >*);\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(4, bind3)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct bind4\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;\r
+        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;\r
+        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;\r
+        typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;\r
+        typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4;\r
+\r
+     public:\r
+        typedef typename apply_wrap4<\r
+              f_\r
+            , typename t1::type, typename t2::type, typename t3::type\r
+            , typename t4::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+aux::yes_tag\r
+is_bind_helper(bind4< F,T1,T2,T3,T4 >*);\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(5, bind4)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct bind5\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;\r
+        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;\r
+        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;\r
+        typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;\r
+        typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4;\r
+        typedef aux::resolve_bind_arg< T5,U1,U2,U3,U4,U5 > t5;\r
+\r
+     public:\r
+        typedef typename apply_wrap5<\r
+              f_\r
+            , typename t1::type, typename t2::type, typename t3::type\r
+            , typename t4::type, typename t5::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+aux::yes_tag\r
+is_bind_helper(bind5< F,T1,T2,T3,T4,T5 >*);\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(6, bind5)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)\r
+}}\r
+\r
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 (file)
index 0000000..967e89e
--- /dev/null
@@ -0,0 +1,432 @@
+\r
+// Copyright Peter Dimov 2001\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/bind.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+template< bool >\r
+struct resolve_arg_impl\r
+{\r
+    template<\r
+          typename T, typename U1, typename U2, typename U3\r
+        , typename U4, typename U5\r
+        >\r
+    struct result_\r
+    {\r
+        typedef T type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct resolve_arg_impl<true>\r
+{\r
+    template<\r
+          typename T, typename U1, typename U2, typename U3\r
+        , typename U4, typename U5\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename apply_wrap5<\r
+              T\r
+            , U1, U2, U3, U4, U5\r
+            >::type type;\r
+    };\r
+};\r
+\r
+template< typename T > struct is_bind_template;\r
+\r
+template<\r
+      typename T, typename U1, typename U2, typename U3, typename U4\r
+    , typename U5\r
+    >\r
+struct resolve_bind_arg\r
+    : resolve_arg_impl< is_bind_template<T>::value >\r
+            ::template result_< T,U1,U2,U3,U4,U5 >\r
+{\r
+};\r
+\r
+template< typename T >\r
+struct replace_unnamed_arg_impl\r
+{\r
+    template< typename Arg > struct result_\r
+    {\r
+        typedef Arg next;\r
+        typedef T type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct replace_unnamed_arg_impl< arg< -1 > >\r
+{\r
+    template< typename Arg > struct result_\r
+    {\r
+        typedef typename next<Arg>::type next;\r
+        typedef Arg type;\r
+    };\r
+};\r
+\r
+template< typename T, typename Arg >\r
+struct replace_unnamed_arg\r
+    : replace_unnamed_arg_impl<T>::template result_<Arg>\r
+{\r
+};\r
+\r
+template< int arity_ > struct bind_chooser;\r
+\r
+aux::no_tag is_bind_helper(...);\r
+template< typename T > aux::no_tag is_bind_helper(protect<T>*);\r
+\r
+template< int N >\r
+aux::yes_tag is_bind_helper(arg<N>*);\r
+\r
+template< bool is_ref_  = true >\r
+struct is_bind_template_impl\r
+{\r
+    template< typename T > struct result_\r
+    {\r
+        BOOST_STATIC_CONSTANT(bool, value  = false);\r
+    };\r
+};\r
+\r
+template<>\r
+struct is_bind_template_impl<false>\r
+{\r
+    template< typename T > struct result_\r
+    {\r
+        BOOST_STATIC_CONSTANT(bool, value =\r
+              sizeof(aux::is_bind_helper(static_cast<T*>(0)))\r
+                == sizeof(aux::yes_tag)\r
+            );\r
+    };\r
+};\r
+\r
+template< typename T > struct is_bind_template\r
+    : is_bind_template_impl< ::boost::detail::is_reference_impl<T>::value >\r
+        ::template result_<T>\r
+{\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct bind0\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;\r
+        typedef typename r0::type a0;\r
+        typedef typename r0::next n1;\r
+        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;\r
+        ///\r
+     public:\r
+        typedef typename apply_wrap0<\r
+              f_\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F\r
+    >\r
+aux::yes_tag\r
+is_bind_helper(bind0<F>*);\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(1, bind0)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct bind1\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;\r
+        typedef typename r0::type a0;\r
+        typedef typename r0::next n1;\r
+        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T1,n1 > r1;\r
+        typedef typename r1::type a1;\r
+        typedef typename r1::next n2;\r
+        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;\r
+        ///\r
+     public:\r
+        typedef typename apply_wrap1<\r
+              f_\r
+            , typename t1::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+aux::yes_tag\r
+is_bind_helper(bind1< F,T1 >*);\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(2, bind1)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+struct bind2\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;\r
+        typedef typename r0::type a0;\r
+        typedef typename r0::next n1;\r
+        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T1,n1 > r1;\r
+        typedef typename r1::type a1;\r
+        typedef typename r1::next n2;\r
+        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T2,n2 > r2;\r
+        typedef typename r2::type a2;\r
+        typedef typename r2::next n3;\r
+        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;\r
+        ///\r
+     public:\r
+        typedef typename apply_wrap2<\r
+              f_\r
+            , typename t1::type, typename t2::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+aux::yes_tag\r
+is_bind_helper(bind2< F,T1,T2 >*);\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(3, bind2)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+struct bind3\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;\r
+        typedef typename r0::type a0;\r
+        typedef typename r0::next n1;\r
+        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T1,n1 > r1;\r
+        typedef typename r1::type a1;\r
+        typedef typename r1::next n2;\r
+        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T2,n2 > r2;\r
+        typedef typename r2::type a2;\r
+        typedef typename r2::next n3;\r
+        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T3,n3 > r3;\r
+        typedef typename r3::type a3;\r
+        typedef typename r3::next n4;\r
+        typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;\r
+        ///\r
+     public:\r
+        typedef typename apply_wrap3<\r
+              f_\r
+            , typename t1::type, typename t2::type, typename t3::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+aux::yes_tag\r
+is_bind_helper(bind3< F,T1,T2,T3 >*);\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(4, bind3)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct bind4\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;\r
+        typedef typename r0::type a0;\r
+        typedef typename r0::next n1;\r
+        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T1,n1 > r1;\r
+        typedef typename r1::type a1;\r
+        typedef typename r1::next n2;\r
+        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T2,n2 > r2;\r
+        typedef typename r2::type a2;\r
+        typedef typename r2::next n3;\r
+        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T3,n3 > r3;\r
+        typedef typename r3::type a3;\r
+        typedef typename r3::next n4;\r
+        typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T4,n4 > r4;\r
+        typedef typename r4::type a4;\r
+        typedef typename r4::next n5;\r
+        typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4;\r
+        ///\r
+     public:\r
+        typedef typename apply_wrap4<\r
+              f_\r
+            , typename t1::type, typename t2::type, typename t3::type\r
+            , typename t4::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+aux::yes_tag\r
+is_bind_helper(bind4< F,T1,T2,T3,T4 >*);\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(5, bind4)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct bind5\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;\r
+        typedef typename r0::type a0;\r
+        typedef typename r0::next n1;\r
+        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T1,n1 > r1;\r
+        typedef typename r1::type a1;\r
+        typedef typename r1::next n2;\r
+        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T2,n2 > r2;\r
+        typedef typename r2::type a2;\r
+        typedef typename r2::next n3;\r
+        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T3,n3 > r3;\r
+        typedef typename r3::type a3;\r
+        typedef typename r3::next n4;\r
+        typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T4,n4 > r4;\r
+        typedef typename r4::type a4;\r
+        typedef typename r4::next n5;\r
+        typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T5,n5 > r5;\r
+        typedef typename r5::type a5;\r
+        typedef typename r5::next n6;\r
+        typedef aux::resolve_bind_arg< a5,U1,U2,U3,U4,U5 > t5;\r
+        ///\r
+     public:\r
+        typedef typename apply_wrap5<\r
+              f_\r
+            , typename t1::type, typename t2::type, typename t3::type\r
+            , typename t4::type, typename t5::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+aux::yes_tag\r
+is_bind_helper(bind5< F,T1,T2,T3,T4,T5 >*);\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(6, bind5)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)\r
+}}\r
+\r
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 (file)
index 0000000..0be46fa
--- /dev/null
@@ -0,0 +1,46 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/bind_fwd.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct bind0;\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct bind1;\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+struct bind2;\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+struct bind3;\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct bind4;\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct bind5;\r
+\r
+}}\r
+\r
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 (file)
index 0000000..428f6b4
--- /dev/null
@@ -0,0 +1,151 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright Jaap Suter 2003\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/bitand.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+\r
+    , BOOST_MPL_AUX_NTTP_DECL(int, tag1_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value\r
+    , BOOST_MPL_AUX_NTTP_DECL(int, tag2_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value\r
+    >\r
+struct bitand_impl\r
+    : if_c<\r
+          ( tag1_ > tag2_ )\r
+        , aux::cast2nd_impl< bitand_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< bitand_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct bitand_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct bitand_impl< na,integral_c_tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct bitand_impl< integral_c_tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct bitand_tag\r
+    : tag< T,na >\r
+{\r
+};\r
+\r
+/// forward declaration\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct bitand_2;\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    , typename N3 = na, typename N4 = na, typename N5 = na\r
+    >\r
+struct bitand_\r
+\r
+    : aux::msvc_eti_base< typename if_<\r
+\r
+          is_na<N3>\r
+        , bitand_2< N1,N2 >\r
+        , bitand_<\r
+              bitand_2< N1,N2 >\r
+            , N3, N4, N5\r
+            >\r
+        >::type\r
+\r
+    >\r
+\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , bitand_\r
+        , ( N1, N2, N3, N4, N5 )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1\r
+    , typename N2\r
+    >\r
+struct bitand_2\r
+    : aux::msvc_eti_base< typename apply_wrap2<\r
+          bitand_impl<\r
+              typename bitand_tag<N1>::type\r
+            , typename bitand_tag<N2>::type\r
+            >\r
+        , N1\r
+        , N2\r
+        >::type >::type\r
+\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, bitand_2, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+template< typename T, T n1, T n2 >\r
+struct bitand_wknd\r
+{\r
+    BOOST_STATIC_CONSTANT(T, value  = (n1 & n2));\r
+    typedef integral_c< T,value > type;\r
+};\r
+\r
+}\r
+\r
+template<>\r
+struct bitand_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+        : aux::bitand_wknd<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , N1::value\r
+            , N2::value\r
+            >::type\r
+\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..65a6741
--- /dev/null
@@ -0,0 +1,151 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright Jaap Suter 2003\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/bitor.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+\r
+    , BOOST_MPL_AUX_NTTP_DECL(int, tag1_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value\r
+    , BOOST_MPL_AUX_NTTP_DECL(int, tag2_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value\r
+    >\r
+struct bitor_impl\r
+    : if_c<\r
+          ( tag1_ > tag2_ )\r
+        , aux::cast2nd_impl< bitor_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< bitor_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct bitor_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct bitor_impl< na,integral_c_tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct bitor_impl< integral_c_tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct bitor_tag\r
+    : tag< T,na >\r
+{\r
+};\r
+\r
+/// forward declaration\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct bitor_2;\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    , typename N3 = na, typename N4 = na, typename N5 = na\r
+    >\r
+struct bitor_\r
+\r
+    : aux::msvc_eti_base< typename if_<\r
+\r
+          is_na<N3>\r
+        , bitor_2< N1,N2 >\r
+        , bitor_<\r
+              bitor_2< N1,N2 >\r
+            , N3, N4, N5\r
+            >\r
+        >::type\r
+\r
+    >\r
+\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , bitor_\r
+        , ( N1, N2, N3, N4, N5 )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1\r
+    , typename N2\r
+    >\r
+struct bitor_2\r
+    : aux::msvc_eti_base< typename apply_wrap2<\r
+          bitor_impl<\r
+              typename bitor_tag<N1>::type\r
+            , typename bitor_tag<N2>::type\r
+            >\r
+        , N1\r
+        , N2\r
+        >::type >::type\r
+\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, bitor_2, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 5, bitor_)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+template< typename T, T n1, T n2 >\r
+struct bitor_wknd\r
+{\r
+    BOOST_STATIC_CONSTANT(T, value  = (n1 | n2));\r
+    typedef integral_c< T,value > type;\r
+};\r
+\r
+}\r
+\r
+template<>\r
+struct bitor_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+        : aux::bitor_wknd<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , N1::value\r
+            , N2::value\r
+            >::type\r
+\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..9a6c202
--- /dev/null
@@ -0,0 +1,151 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright Jaap Suter 2003\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/bitxor.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+\r
+    , BOOST_MPL_AUX_NTTP_DECL(int, tag1_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value\r
+    , BOOST_MPL_AUX_NTTP_DECL(int, tag2_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value\r
+    >\r
+struct bitxor_impl\r
+    : if_c<\r
+          ( tag1_ > tag2_ )\r
+        , aux::cast2nd_impl< bitxor_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< bitxor_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct bitxor_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct bitxor_impl< na,integral_c_tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct bitxor_impl< integral_c_tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct bitxor_tag\r
+    : tag< T,na >\r
+{\r
+};\r
+\r
+/// forward declaration\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct bitxor_2;\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    , typename N3 = na, typename N4 = na, typename N5 = na\r
+    >\r
+struct bitxor_\r
+\r
+    : aux::msvc_eti_base< typename if_<\r
+\r
+          is_na<N3>\r
+        , bitxor_2< N1,N2 >\r
+        , bitxor_<\r
+              bitxor_2< N1,N2 >\r
+            , N3, N4, N5\r
+            >\r
+        >::type\r
+\r
+    >\r
+\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , bitxor_\r
+        , ( N1, N2, N3, N4, N5 )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1\r
+    , typename N2\r
+    >\r
+struct bitxor_2\r
+    : aux::msvc_eti_base< typename apply_wrap2<\r
+          bitxor_impl<\r
+              typename bitxor_tag<N1>::type\r
+            , typename bitxor_tag<N2>::type\r
+            >\r
+        , N1\r
+        , N2\r
+        >::type >::type\r
+\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, bitxor_2, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+template< typename T, T n1, T n2 >\r
+struct bitxor_wknd\r
+{\r
+    BOOST_STATIC_CONSTANT(T, value  = (n1 ^ n2));\r
+    typedef integral_c< T,value > type;\r
+};\r
+\r
+}\r
+\r
+template<>\r
+struct bitxor_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+        : aux::bitxor_wknd<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , N1::value\r
+            , N2::value\r
+            >::type\r
+\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..fb8ef1a
--- /dev/null
@@ -0,0 +1,556 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/deque.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+template< int N >\r
+struct deque_chooser;\r
+\r
+}\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct deque_chooser<0>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef vector0<\r
+             \r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct deque_chooser<1>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector1<\r
+              T0\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct deque_chooser<2>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector2<\r
+              T0, T1\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct deque_chooser<3>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector3<\r
+              T0, T1, T2\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct deque_chooser<4>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector4<\r
+              T0, T1, T2, T3\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct deque_chooser<5>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector5<\r
+              T0, T1, T2, T3, T4\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct deque_chooser<6>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector6<\r
+              T0, T1, T2, T3, T4, T5\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct deque_chooser<7>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector7<\r
+              T0, T1, T2, T3, T4, T5, T6\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct deque_chooser<8>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector8<\r
+              T0, T1, T2, T3, T4, T5, T6, T7\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct deque_chooser<9>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector9<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct deque_chooser<10>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector10<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct deque_chooser<11>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector11<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct deque_chooser<12>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector12<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct deque_chooser<13>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector13<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct deque_chooser<14>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector14<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct deque_chooser<15>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector15<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct deque_chooser<16>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector16<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct deque_chooser<17>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector17<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct deque_chooser<18>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector18<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct deque_chooser<19>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector19<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct deque_chooser<20>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector20<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template< typename T >\r
+struct is_deque_arg\r
+{\r
+    BOOST_STATIC_CONSTANT(bool, value  = true);\r
+};\r
+\r
+template<>\r
+struct is_deque_arg<na>\r
+{\r
+    BOOST_STATIC_CONSTANT(bool, value  = false);\r
+};\r
+\r
+template<\r
+      typename T1, typename T2, typename T3, typename T4, typename T5\r
+    , typename T6, typename T7, typename T8, typename T9, typename T10\r
+    , typename T11, typename T12, typename T13, typename T14, typename T15\r
+    , typename T16, typename T17, typename T18, typename T19, typename T20\r
+    >\r
+struct deque_count_args\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value =\r
+          is_deque_arg<T1>::value + is_deque_arg<T2>::value \r
+        + is_deque_arg<T3>::value + is_deque_arg<T4>::value \r
+        + is_deque_arg<T5>::value + is_deque_arg<T6>::value \r
+        + is_deque_arg<T7>::value + is_deque_arg<T8>::value \r
+        + is_deque_arg<T9>::value + is_deque_arg<T10>::value \r
+        + is_deque_arg<T11>::value + is_deque_arg<T12>::value \r
+        + is_deque_arg<T13>::value + is_deque_arg<T14>::value \r
+        + is_deque_arg<T15>::value + is_deque_arg<T16>::value \r
+        + is_deque_arg<T17>::value + is_deque_arg<T18>::value \r
+        + is_deque_arg<T19>::value + is_deque_arg<T20>::value\r
+        );\r
+\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    >\r
+struct deque_impl\r
+{\r
+    typedef aux::deque_count_args<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19\r
+        > arg_num_;\r
+\r
+    typedef typename aux::deque_chooser< arg_num_::value >\r
+        ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na\r
+    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na\r
+    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na\r
+    , typename T12 = na, typename T13 = na, typename T14 = na\r
+    , typename T15 = na, typename T16 = na, typename T17 = na\r
+    , typename T18 = na, typename T19 = na\r
+    >\r
+struct deque\r
+    : aux::deque_impl<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19\r
+        >::type\r
+{\r
+    typedef typename aux::deque_impl<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19\r
+        >::type type;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..87449e9
--- /dev/null
@@ -0,0 +1,150 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/divides.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+\r
+    , BOOST_MPL_AUX_NTTP_DECL(int, tag1_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value\r
+    , BOOST_MPL_AUX_NTTP_DECL(int, tag2_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value\r
+    >\r
+struct divides_impl\r
+    : if_c<\r
+          ( tag1_ > tag2_ )\r
+        , aux::cast2nd_impl< divides_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< divides_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct divides_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct divides_impl< na,integral_c_tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct divides_impl< integral_c_tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct divides_tag\r
+    : tag< T,na >\r
+{\r
+};\r
+\r
+/// forward declaration\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct divides2;\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    , typename N3 = na, typename N4 = na, typename N5 = na\r
+    >\r
+struct divides\r
+\r
+    : aux::msvc_eti_base< typename if_<\r
+\r
+          is_na<N3>\r
+        , divides2< N1,N2 >\r
+        , divides<\r
+              divides2< N1,N2 >\r
+            , N3, N4, N5\r
+            >\r
+        >::type\r
+\r
+    >\r
+\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , divides\r
+        , ( N1, N2, N3, N4, N5 )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1\r
+    , typename N2\r
+    >\r
+struct divides2\r
+    : aux::msvc_eti_base< typename apply_wrap2<\r
+          divides_impl<\r
+              typename divides_tag<N1>::type\r
+            , typename divides_tag<N2>::type\r
+            >\r
+        , N1\r
+        , N2\r
+        >::type >::type\r
+\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, divides2, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 5, divides)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+template< typename T, T n1, T n2 >\r
+struct divides_wknd\r
+{\r
+    BOOST_STATIC_CONSTANT(T, value  = (n1 / n2));\r
+    typedef integral_c< T,value > type;\r
+};\r
+\r
+}\r
+\r
+template<>\r
+struct divides_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+        : aux::divides_wknd<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , N1::value\r
+            , N2::value\r
+            >::type\r
+\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..6c22ddf
--- /dev/null
@@ -0,0 +1,102 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/equal_to.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+\r
+    , BOOST_MPL_AUX_NTTP_DECL(int, tag1_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value\r
+    , BOOST_MPL_AUX_NTTP_DECL(int, tag2_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value\r
+    >\r
+struct equal_to_impl\r
+    : if_c<\r
+          ( tag1_ > tag2_ )\r
+        , aux::cast2nd_impl< equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct equal_to_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct equal_to_impl< na,integral_c_tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct equal_to_impl< integral_c_tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct equal_to_tag\r
+    : tag< T,na >\r
+{\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct equal_to\r
+    : aux::msvc_eti_base< typename apply_wrap2<\r
+          equal_to_impl<\r
+              typename equal_to_tag<N1>::type\r
+            , typename equal_to_tag<N2>::type\r
+            >\r
+        , N1\r
+        , N2\r
+        >::type >::type\r
+\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, equal_to, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct equal_to_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+    {\r
+        BOOST_STATIC_CONSTANT(bool, value =\r
+             ( BOOST_MPL_AUX_VALUE_WKND(N1)::value ==\r
+             BOOST_MPL_AUX_VALUE_WKND(N2)::value )\r
+            );\r
+        typedef bool_<value> type;\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..07659ae
--- /dev/null
@@ -0,0 +1,245 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/fold_impl.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+/// forward declaration\r
+\r
+template<\r
+      int N\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct fold_impl;\r
+\r
+template< int N >\r
+struct fold_chunk;\r
+\r
+template<> struct fold_chunk<0>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State state0;\r
+        typedef state0 state;\r
+        typedef iter0 iterator;\r
+    };\r
+};\r
+\r
+template<> struct fold_chunk<1>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State state0;\r
+        typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;\r
+        typedef typename mpl::next<iter0>::type iter1;\r
+        \r
+\r
+        typedef state1 state;\r
+        typedef iter1 iterator;\r
+    };\r
+};\r
+\r
+template<> struct fold_chunk<2>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State state0;\r
+        typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;\r
+        typedef typename mpl::next<iter0>::type iter1;\r
+        typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;\r
+        typedef typename mpl::next<iter1>::type iter2;\r
+        \r
+\r
+        typedef state2 state;\r
+        typedef iter2 iterator;\r
+    };\r
+};\r
+\r
+template<> struct fold_chunk<3>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State state0;\r
+        typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;\r
+        typedef typename mpl::next<iter0>::type iter1;\r
+        typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;\r
+        typedef typename mpl::next<iter1>::type iter2;\r
+        typedef typename apply2< ForwardOp, state2, typename deref<iter2>::type >::type state3;\r
+        typedef typename mpl::next<iter2>::type iter3;\r
+        \r
+\r
+        typedef state3 state;\r
+        typedef iter3 iterator;\r
+    };\r
+};\r
+\r
+template<> struct fold_chunk<4>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State state0;\r
+        typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;\r
+        typedef typename mpl::next<iter0>::type iter1;\r
+        typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;\r
+        typedef typename mpl::next<iter1>::type iter2;\r
+        typedef typename apply2< ForwardOp, state2, typename deref<iter2>::type >::type state3;\r
+        typedef typename mpl::next<iter2>::type iter3;\r
+        typedef typename apply2< ForwardOp, state3, typename deref<iter3>::type >::type state4;\r
+        typedef typename mpl::next<iter3>::type iter4;\r
+        \r
+\r
+        typedef state4 state;\r
+        typedef iter4 iterator;\r
+    };\r
+};\r
+\r
+template< int N >\r
+struct fold_chunk\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef fold_impl<\r
+              4\r
+            , First\r
+            , Last\r
+            , State\r
+            , ForwardOp\r
+            > chunk_;\r
+\r
+        typedef fold_impl<\r
+              ( (N - 4) < 0 ? 0 : N - 4 )\r
+            , typename chunk_::iterator\r
+            , Last\r
+            , typename chunk_::state\r
+            , ForwardOp\r
+            > res_;\r
+\r
+        typedef typename res_::state state;\r
+        typedef typename res_::iterator iterator;\r
+    };\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct fold_step;\r
+\r
+template<\r
+      typename Last\r
+    , typename State\r
+    >\r
+struct fold_null_step\r
+{\r
+    typedef Last iterator;\r
+    typedef State state;\r
+};\r
+\r
+template<>\r
+struct fold_chunk< -1 >\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename if_<\r
+              typename is_same< First,Last >::type\r
+            , fold_null_step< Last,State >\r
+            , fold_step< First,Last,State,ForwardOp >\r
+            >::type res_;\r
+\r
+        typedef typename res_::state state;\r
+        typedef typename res_::iterator iterator;\r
+    };\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct fold_step\r
+{\r
+    typedef fold_chunk< -1 >::template result_<\r
+          typename mpl::next<First>::type\r
+        , Last\r
+        , typename apply2<ForwardOp,State, typename deref<First>::type>::type\r
+        , ForwardOp\r
+        > chunk_;\r
+\r
+    typedef typename chunk_::state state;\r
+    typedef typename chunk_::iterator iterator;\r
+};\r
+\r
+template<\r
+      int N\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct fold_impl\r
+    : fold_chunk<N>\r
+        ::template result_< First,Last,State,ForwardOp >\r
+{\r
+};\r
+\r
+}}}\r
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 (file)
index 0000000..78cb47c
--- /dev/null
@@ -0,0 +1,554 @@
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/full_lambda.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+\r
+template<\r
+      bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false\r
+    , bool C5 = false\r
+    >\r
+struct lambda_or\r
+    : true_\r
+{\r
+};\r
+\r
+template<>\r
+struct lambda_or< false,false,false,false,false >\r
+    : false_\r
+{\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename T\r
+    , typename Tag\r
+   \r
+    >\r
+struct lambda\r
+{\r
+    typedef false_ is_le;\r
+    typedef T result_;\r
+    typedef T type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    >\r
+struct is_lambda_expression\r
+    : lambda<T>::is_le\r
+{\r
+};\r
+\r
+template< int N, typename Tag >\r
+struct lambda< arg<N>, Tag >\r
+{\r
+    typedef true_ is_le;\r
+    typedef mpl::arg<N> result_; // qualified for the sake of MIPSpro 7.41\r
+    typedef mpl::protect<result_> type;\r
+};\r
+\r
+template<\r
+      typename F\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          bind0<F>\r
+        , Tag\r
+       \r
+        >\r
+{\r
+    typedef false_ is_le;\r
+    typedef bind0<\r
+          F\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename IsLE, typename Tag\r
+    , template< typename P1 > class F\r
+    , typename L1\r
+    >\r
+struct le_result1\r
+{\r
+    typedef F<\r
+          typename L1::type\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+template<\r
+      typename Tag\r
+    , template< typename P1 > class F\r
+    , typename L1\r
+    >\r
+struct le_result1< true_,Tag,F,L1 >\r
+{\r
+    typedef bind1<\r
+          quote1< F,Tag >\r
+        , typename L1::result_\r
+        > result_;\r
+\r
+    typedef mpl::protect<result_> type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      template< typename P1 > class F\r
+    , typename T1\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          F<T1>\r
+        , Tag\r
+       \r
+        >\r
+{\r
+    typedef lambda< T1,Tag > l1;\r
+    typedef typename l1::is_le is_le1;\r
+    typedef typename aux::lambda_or<\r
+          is_le1::value\r
+        >::type is_le;\r
+\r
+    typedef aux::le_result1<\r
+          is_le, Tag, F, l1\r
+        > le_result_;\r
+\r
+    typedef typename le_result_::result_ result_;\r
+    typedef typename le_result_::type type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          bind1< F,T1 >\r
+        , Tag\r
+       \r
+        >\r
+{\r
+    typedef false_ is_le;\r
+    typedef bind1<\r
+          F\r
+        , T1\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename IsLE, typename Tag\r
+    , template< typename P1, typename P2 > class F\r
+    , typename L1, typename L2\r
+    >\r
+struct le_result2\r
+{\r
+    typedef F<\r
+          typename L1::type, typename L2::type\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+template<\r
+      typename Tag\r
+    , template< typename P1, typename P2 > class F\r
+    , typename L1, typename L2\r
+    >\r
+struct le_result2< true_,Tag,F,L1,L2 >\r
+{\r
+    typedef bind2<\r
+          quote2< F,Tag >\r
+        , typename L1::result_, typename L2::result_\r
+        > result_;\r
+\r
+    typedef mpl::protect<result_> type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      template< typename P1, typename P2 > class F\r
+    , typename T1, typename T2\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          F< T1,T2 >\r
+        , Tag\r
+       \r
+        >\r
+{\r
+    typedef lambda< T1,Tag > l1;\r
+    typedef lambda< T2,Tag > l2;\r
+    \r
+    typedef typename l1::is_le is_le1;\r
+    typedef typename l2::is_le is_le2;\r
+    \r
+\r
+    typedef typename aux::lambda_or<\r
+          is_le1::value, is_le2::value\r
+        >::type is_le;\r
+\r
+    typedef aux::le_result2<\r
+          is_le, Tag, F, l1, l2\r
+        > le_result_;\r
+\r
+    typedef typename le_result_::result_ result_;\r
+    typedef typename le_result_::type type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          bind2< F,T1,T2 >\r
+        , Tag\r
+       \r
+        >\r
+{\r
+    typedef false_ is_le;\r
+    typedef bind2<\r
+          F\r
+        , T1, T2\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename IsLE, typename Tag\r
+    , template< typename P1, typename P2, typename P3 > class F\r
+    , typename L1, typename L2, typename L3\r
+    >\r
+struct le_result3\r
+{\r
+    typedef F<\r
+          typename L1::type, typename L2::type, typename L3::type\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+template<\r
+      typename Tag\r
+    , template< typename P1, typename P2, typename P3 > class F\r
+    , typename L1, typename L2, typename L3\r
+    >\r
+struct le_result3< true_,Tag,F,L1,L2,L3 >\r
+{\r
+    typedef bind3<\r
+          quote3< F,Tag >\r
+        , typename L1::result_, typename L2::result_, typename L3::result_\r
+        > result_;\r
+\r
+    typedef mpl::protect<result_> type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      template< typename P1, typename P2, typename P3 > class F\r
+    , typename T1, typename T2, typename T3\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          F< T1,T2,T3 >\r
+        , Tag\r
+       \r
+        >\r
+{\r
+    typedef lambda< T1,Tag > l1;\r
+    typedef lambda< T2,Tag > l2;\r
+    typedef lambda< T3,Tag > l3;\r
+    \r
+    typedef typename l1::is_le is_le1;\r
+    typedef typename l2::is_le is_le2;\r
+    typedef typename l3::is_le is_le3;\r
+    \r
+\r
+    typedef typename aux::lambda_or<\r
+          is_le1::value, is_le2::value, is_le3::value\r
+        >::type is_le;\r
+\r
+    typedef aux::le_result3<\r
+          is_le, Tag, F, l1, l2, l3\r
+        > le_result_;\r
+\r
+    typedef typename le_result_::result_ result_;\r
+    typedef typename le_result_::type type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          bind3< F,T1,T2,T3 >\r
+        , Tag\r
+       \r
+        >\r
+{\r
+    typedef false_ is_le;\r
+    typedef bind3<\r
+          F\r
+        , T1, T2, T3\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename IsLE, typename Tag\r
+    , template< typename P1, typename P2, typename P3, typename P4 > class F\r
+    , typename L1, typename L2, typename L3, typename L4\r
+    >\r
+struct le_result4\r
+{\r
+    typedef F<\r
+          typename L1::type, typename L2::type, typename L3::type\r
+        , typename L4::type\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+template<\r
+      typename Tag\r
+    , template< typename P1, typename P2, typename P3, typename P4 > class F\r
+    , typename L1, typename L2, typename L3, typename L4\r
+    >\r
+struct le_result4< true_,Tag,F,L1,L2,L3,L4 >\r
+{\r
+    typedef bind4<\r
+          quote4< F,Tag >\r
+        , typename L1::result_, typename L2::result_, typename L3::result_\r
+        , typename L4::result_\r
+        > result_;\r
+\r
+    typedef mpl::protect<result_> type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      template< typename P1, typename P2, typename P3, typename P4 > class F\r
+    , typename T1, typename T2, typename T3, typename T4\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          F< T1,T2,T3,T4 >\r
+        , Tag\r
+       \r
+        >\r
+{\r
+    typedef lambda< T1,Tag > l1;\r
+    typedef lambda< T2,Tag > l2;\r
+    typedef lambda< T3,Tag > l3;\r
+    typedef lambda< T4,Tag > l4;\r
+    \r
+    typedef typename l1::is_le is_le1;\r
+    typedef typename l2::is_le is_le2;\r
+    typedef typename l3::is_le is_le3;\r
+    typedef typename l4::is_le is_le4;\r
+    \r
+\r
+    typedef typename aux::lambda_or<\r
+          is_le1::value, is_le2::value, is_le3::value, is_le4::value\r
+        >::type is_le;\r
+\r
+    typedef aux::le_result4<\r
+          is_le, Tag, F, l1, l2, l3, l4\r
+        > le_result_;\r
+\r
+    typedef typename le_result_::result_ result_;\r
+    typedef typename le_result_::type type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          bind4< F,T1,T2,T3,T4 >\r
+        , Tag\r
+       \r
+        >\r
+{\r
+    typedef false_ is_le;\r
+    typedef bind4<\r
+          F\r
+        , T1, T2, T3, T4\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename IsLE, typename Tag\r
+    , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F\r
+    , typename L1, typename L2, typename L3, typename L4, typename L5\r
+    >\r
+struct le_result5\r
+{\r
+    typedef F<\r
+          typename L1::type, typename L2::type, typename L3::type\r
+        , typename L4::type, typename L5::type\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+template<\r
+      typename Tag\r
+    , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F\r
+    , typename L1, typename L2, typename L3, typename L4, typename L5\r
+    >\r
+struct le_result5< true_,Tag,F,L1,L2,L3,L4,L5 >\r
+{\r
+    typedef bind5<\r
+          quote5< F,Tag >\r
+        , typename L1::result_, typename L2::result_, typename L3::result_\r
+        , typename L4::result_, typename L5::result_\r
+        > result_;\r
+\r
+    typedef mpl::protect<result_> type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      template<\r
+          typename P1, typename P2, typename P3, typename P4\r
+        , typename P5\r
+        >\r
+      class F\r
+    , typename T1, typename T2, typename T3, typename T4, typename T5\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          F< T1,T2,T3,T4,T5 >\r
+        , Tag\r
+       \r
+        >\r
+{\r
+    typedef lambda< T1,Tag > l1;\r
+    typedef lambda< T2,Tag > l2;\r
+    typedef lambda< T3,Tag > l3;\r
+    typedef lambda< T4,Tag > l4;\r
+    typedef lambda< T5,Tag > l5;\r
+    \r
+    typedef typename l1::is_le is_le1;\r
+    typedef typename l2::is_le is_le2;\r
+    typedef typename l3::is_le is_le3;\r
+    typedef typename l4::is_le is_le4;\r
+    typedef typename l5::is_le is_le5;\r
+    \r
+\r
+    typedef typename aux::lambda_or<\r
+          is_le1::value, is_le2::value, is_le3::value, is_le4::value\r
+        , is_le5::value\r
+        >::type is_le;\r
+\r
+    typedef aux::le_result5<\r
+          is_le, Tag, F, l1, l2, l3, l4, l5\r
+        > le_result_;\r
+\r
+    typedef typename le_result_::result_ result_;\r
+    typedef typename le_result_::type type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          bind5< F,T1,T2,T3,T4,T5 >\r
+        , Tag\r
+       \r
+        >\r
+{\r
+    typedef false_ is_le;\r
+    typedef bind5<\r
+          F\r
+        , T1, T2, T3, T4, T5\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+/// special case for 'protect'\r
+template< typename T, typename Tag >\r
+struct lambda< mpl::protect<T>, Tag >\r
+{\r
+    typedef false_ is_le;\r
+    typedef mpl::protect<T> result_;\r
+    typedef result_ type;\r
+};\r
+\r
+/// specializations for the main 'bind' form\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          bind< F,T1,T2,T3,T4,T5 >\r
+        , Tag\r
+       \r
+        >\r
+{\r
+    typedef false_ is_le;\r
+    typedef bind< F,T1,T2,T3,T4,T5 > result_;\r
+    typedef result_ type;\r
+};\r
+\r
+/// workaround for MWCW 8.3+/EDG < 303, leads to ambiguity on Digital Mars\r
+\r
+template<\r
+      typename F, typename Tag1, typename Tag2\r
+    >\r
+struct lambda<\r
+          lambda< F,Tag1 >\r
+        , Tag2\r
+        >\r
+{\r
+    typedef lambda< F,Tag2 > l1;\r
+    typedef lambda< Tag1,Tag2 > l2;\r
+    typedef typename l1::is_le is_le;\r
+    typedef aux::le_result2<is_le, Tag2, mpl::lambda, l1, l2> le_result_;\r
+    typedef typename le_result_::result_ result_;\r
+    typedef typename le_result_::type type;\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(2, lambda)\r
+\r
+}}\r
+\r
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 (file)
index 0000000..e647020
--- /dev/null
@@ -0,0 +1,102 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/greater.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+\r
+    , BOOST_MPL_AUX_NTTP_DECL(int, tag1_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value\r
+    , BOOST_MPL_AUX_NTTP_DECL(int, tag2_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value\r
+    >\r
+struct greater_impl\r
+    : if_c<\r
+          ( tag1_ > tag2_ )\r
+        , aux::cast2nd_impl< greater_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< greater_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct greater_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct greater_impl< na,integral_c_tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct greater_impl< integral_c_tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct greater_tag\r
+    : tag< T,na >\r
+{\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct greater\r
+    : aux::msvc_eti_base< typename apply_wrap2<\r
+          greater_impl<\r
+              typename greater_tag<N1>::type\r
+            , typename greater_tag<N2>::type\r
+            >\r
+        , N1\r
+        , N2\r
+        >::type >::type\r
+\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, greater)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct greater_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+    {\r
+        BOOST_STATIC_CONSTANT(bool, value =\r
+             ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >\r
+             BOOST_MPL_AUX_VALUE_WKND(N2)::value )\r
+            );\r
+        typedef bool_<value> type;\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..2511919
--- /dev/null
@@ -0,0 +1,102 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/greater_equal.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+\r
+    , BOOST_MPL_AUX_NTTP_DECL(int, tag1_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value\r
+    , BOOST_MPL_AUX_NTTP_DECL(int, tag2_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value\r
+    >\r
+struct greater_equal_impl\r
+    : if_c<\r
+          ( tag1_ > tag2_ )\r
+        , aux::cast2nd_impl< greater_equal_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< greater_equal_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct greater_equal_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct greater_equal_impl< na,integral_c_tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct greater_equal_impl< integral_c_tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct greater_equal_tag\r
+    : tag< T,na >\r
+{\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct greater_equal\r
+    : aux::msvc_eti_base< typename apply_wrap2<\r
+          greater_equal_impl<\r
+              typename greater_equal_tag<N1>::type\r
+            , typename greater_equal_tag<N2>::type\r
+            >\r
+        , N1\r
+        , N2\r
+        >::type >::type\r
+\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater_equal, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct greater_equal_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+    {\r
+        BOOST_STATIC_CONSTANT(bool, value =\r
+             ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >=\r
+             BOOST_MPL_AUX_VALUE_WKND(N2)::value )\r
+            );\r
+        typedef bool_<value> type;\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..c61fc27
--- /dev/null
@@ -0,0 +1,166 @@
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/inherit.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+\r
+template< bool C1, bool C2 >\r
+struct inherit2_impl\r
+{\r
+    template< typename Derived, typename T1, typename T2 > struct result_\r
+        : T1, T2\r
+    {\r
+        typedef Derived type_;\r
+    };\r
+};\r
+\r
+template<>\r
+struct inherit2_impl< false,true >\r
+{\r
+    template< typename Derived, typename T1, typename T2 > struct result_\r
+        : T1\r
+    {\r
+        typedef T1 type_;\r
+    };\r
+};\r
+\r
+template<>\r
+struct inherit2_impl< true,false >\r
+{\r
+    template< typename Derived, typename T1, typename T2 > struct result_\r
+        : T2\r
+    {\r
+        typedef T2 type_;\r
+    };\r
+};\r
+\r
+template<>\r
+struct inherit2_impl< true,true >\r
+{\r
+    template< typename Derived, typename T1, typename T2 > struct result_\r
+    {\r
+        typedef T1 type_;\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(T1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(T2)\r
+    >\r
+struct inherit2\r
+    : aux::inherit2_impl<\r
+          is_empty_base<T1>::value\r
+        , is_empty_base<T2>::value\r
+        >::template result_< inherit2< T1,T2 >,T1, T2 >\r
+{\r
+    typedef typename inherit2::type_ type;\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1, T2))\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(2, inherit2)\r
+\r
+template<\r
+      typename T1 = na, typename T2 = na, typename T3 = na\r
+    >\r
+struct inherit3\r
+    : inherit2<\r
+          typename inherit2<\r
+              T1, T2\r
+            >::type\r
+        , T3\r
+        >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          3\r
+        , inherit3\r
+        , ( T1, T2, T3)\r
+        )\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(3, inherit3)\r
+\r
+template<\r
+      typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na\r
+    >\r
+struct inherit4\r
+    : inherit2<\r
+          typename inherit3<\r
+              T1, T2, T3\r
+            >::type\r
+        , T4\r
+        >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          4\r
+        , inherit4\r
+        , ( T1, T2, T3, T4)\r
+        )\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(4, inherit4)\r
+\r
+template<\r
+      typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na\r
+    , typename T5 = na\r
+    >\r
+struct inherit5\r
+    : inherit2<\r
+          typename inherit4<\r
+              T1, T2, T3, T4\r
+            >::type\r
+        , T5\r
+        >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , inherit5\r
+        , ( T1, T2, T3, T4, T5)\r
+        )\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(5, inherit5)\r
+\r
+/// primary template\r
+\r
+template<\r
+      typename T1 = empty_base, typename T2 = empty_base\r
+    , typename T3 = empty_base, typename T4 = empty_base\r
+    , typename T5 = empty_base\r
+    >\r
+struct inherit\r
+    : inherit5< T1,T2,T3,T4,T5 >\r
+{\r
+};\r
+\r
+template<>\r
+struct inherit< na,na,na,na,na >\r
+{\r
+    template<\r
+\r
+          typename T1 = empty_base, typename T2 = empty_base\r
+        , typename T3 = empty_base, typename T4 = empty_base\r
+        , typename T5 = empty_base\r
+\r
+        >\r
+    struct apply\r
+        : inherit< T1,T2,T3,T4,T5 >\r
+    {\r
+    };\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit)\r
+BOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit)\r
+BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit)\r
+}}\r
+\r
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 (file)
index 0000000..233e7dd
--- /dev/null
@@ -0,0 +1,133 @@
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+// Copyright David Abrahams 2001-2002\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/iter_fold_if_impl.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+template< typename Iterator, typename State >\r
+struct iter_fold_if_null_step\r
+{\r
+    typedef State state;\r
+    typedef Iterator iterator;\r
+};\r
+\r
+template< bool >\r
+struct iter_fold_if_step_impl\r
+{\r
+    template<\r
+          typename Iterator\r
+        , typename State\r
+        , typename StateOp\r
+        , typename IteratorOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename apply2< StateOp,State,Iterator >::type state;\r
+        typedef typename IteratorOp::type iterator;\r
+    };\r
+};\r
+\r
+template<>\r
+struct iter_fold_if_step_impl<false>\r
+{\r
+    template<\r
+          typename Iterator\r
+        , typename State\r
+        , typename StateOp\r
+        , typename IteratorOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef State state;\r
+        typedef Iterator iterator;\r
+    };\r
+};\r
+\r
+template<\r
+      typename Iterator\r
+    , typename State\r
+    , typename ForwardOp\r
+    , typename Predicate\r
+    >\r
+struct iter_fold_if_forward_step\r
+{\r
+    typedef typename apply2< Predicate,State,Iterator >::type not_last;\r
+    typedef typename iter_fold_if_step_impl<\r
+          BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value\r
+        >::template result_< Iterator,State,ForwardOp, mpl::next<Iterator> > impl_;\r
+\r
+    typedef typename impl_::state state;\r
+    typedef typename impl_::iterator iterator;\r
+};\r
+\r
+template<\r
+      typename Iterator\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename Predicate\r
+    >\r
+struct iter_fold_if_backward_step\r
+{\r
+    typedef typename apply2< Predicate,State,Iterator >::type not_last;\r
+    typedef typename iter_fold_if_step_impl<\r
+          BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value\r
+        >::template result_< Iterator,State,BackwardOp, identity<Iterator> > impl_;\r
+\r
+    typedef typename impl_::state state;\r
+    typedef typename impl_::iterator iterator;\r
+};\r
+\r
+template<\r
+      typename Iterator\r
+    , typename State\r
+    , typename ForwardOp\r
+    , typename ForwardPredicate\r
+    , typename BackwardOp\r
+    , typename BackwardPredicate\r
+    >\r
+struct iter_fold_if_impl\r
+{\r
+ private:\r
+    typedef iter_fold_if_null_step< Iterator,State > forward_step0;\r
+    typedef iter_fold_if_forward_step< typename forward_step0::iterator, typename forward_step0::state, ForwardOp, ForwardPredicate > forward_step1;\r
+    typedef iter_fold_if_forward_step< typename forward_step1::iterator, typename forward_step1::state, ForwardOp, ForwardPredicate > forward_step2;\r
+    typedef iter_fold_if_forward_step< typename forward_step2::iterator, typename forward_step2::state, ForwardOp, ForwardPredicate > forward_step3;\r
+    typedef iter_fold_if_forward_step< typename forward_step3::iterator, typename forward_step3::state, ForwardOp, ForwardPredicate > forward_step4;\r
+    \r
+\r
+    typedef typename if_<\r
+          typename forward_step4::not_last\r
+        , iter_fold_if_impl<\r
+              typename forward_step4::iterator\r
+            , typename forward_step4::state\r
+            , ForwardOp\r
+            , ForwardPredicate\r
+            , BackwardOp\r
+            , BackwardPredicate\r
+            >\r
+        , iter_fold_if_null_step<\r
+              typename forward_step4::iterator\r
+            , typename forward_step4::state\r
+            >\r
+        >::type backward_step4;\r
+\r
+    typedef iter_fold_if_backward_step< typename forward_step3::iterator, typename backward_step4::state, BackwardOp, BackwardPredicate > backward_step3;\r
+    typedef iter_fold_if_backward_step< typename forward_step2::iterator, typename backward_step3::state, BackwardOp, BackwardPredicate > backward_step2;\r
+    typedef iter_fold_if_backward_step< typename forward_step1::iterator, typename backward_step2::state, BackwardOp, BackwardPredicate > backward_step1;\r
+    typedef iter_fold_if_backward_step< typename forward_step0::iterator, typename backward_step1::state, BackwardOp, BackwardPredicate > backward_step0;\r
+    \r
+\r
+ public:\r
+    typedef typename backward_step0::state state;\r
+    typedef typename backward_step4::iterator iterator;\r
+};\r
+\r
+}}}\r
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 (file)
index 0000000..aa74420
--- /dev/null
@@ -0,0 +1,245 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/iter_fold_impl.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+/// forward declaration\r
+\r
+template<\r
+      int N\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct iter_fold_impl;\r
+\r
+template< int N >\r
+struct iter_fold_chunk;\r
+\r
+template<> struct iter_fold_chunk<0>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State state0;\r
+        typedef state0 state;\r
+        typedef iter0 iterator;\r
+    };\r
+};\r
+\r
+template<> struct iter_fold_chunk<1>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State state0;\r
+        typedef typename apply2< ForwardOp,state0,iter0 >::type state1;\r
+        typedef typename mpl::next<iter0>::type iter1;\r
+        \r
+\r
+        typedef state1 state;\r
+        typedef iter1 iterator;\r
+    };\r
+};\r
+\r
+template<> struct iter_fold_chunk<2>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State state0;\r
+        typedef typename apply2< ForwardOp,state0,iter0 >::type state1;\r
+        typedef typename mpl::next<iter0>::type iter1;\r
+        typedef typename apply2< ForwardOp,state1,iter1 >::type state2;\r
+        typedef typename mpl::next<iter1>::type iter2;\r
+        \r
+\r
+        typedef state2 state;\r
+        typedef iter2 iterator;\r
+    };\r
+};\r
+\r
+template<> struct iter_fold_chunk<3>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State state0;\r
+        typedef typename apply2< ForwardOp,state0,iter0 >::type state1;\r
+        typedef typename mpl::next<iter0>::type iter1;\r
+        typedef typename apply2< ForwardOp,state1,iter1 >::type state2;\r
+        typedef typename mpl::next<iter1>::type iter2;\r
+        typedef typename apply2< ForwardOp,state2,iter2 >::type state3;\r
+        typedef typename mpl::next<iter2>::type iter3;\r
+        \r
+\r
+        typedef state3 state;\r
+        typedef iter3 iterator;\r
+    };\r
+};\r
+\r
+template<> struct iter_fold_chunk<4>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State state0;\r
+        typedef typename apply2< ForwardOp,state0,iter0 >::type state1;\r
+        typedef typename mpl::next<iter0>::type iter1;\r
+        typedef typename apply2< ForwardOp,state1,iter1 >::type state2;\r
+        typedef typename mpl::next<iter1>::type iter2;\r
+        typedef typename apply2< ForwardOp,state2,iter2 >::type state3;\r
+        typedef typename mpl::next<iter2>::type iter3;\r
+        typedef typename apply2< ForwardOp,state3,iter3 >::type state4;\r
+        typedef typename mpl::next<iter3>::type iter4;\r
+        \r
+\r
+        typedef state4 state;\r
+        typedef iter4 iterator;\r
+    };\r
+};\r
+\r
+template< int N >\r
+struct iter_fold_chunk\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef iter_fold_impl<\r
+              4\r
+            , First\r
+            , Last\r
+            , State\r
+            , ForwardOp\r
+            > chunk_;\r
+\r
+        typedef iter_fold_impl<\r
+              ( (N - 4) < 0 ? 0 : N - 4 )\r
+            , typename chunk_::iterator\r
+            , Last\r
+            , typename chunk_::state\r
+            , ForwardOp\r
+            > res_;\r
+\r
+        typedef typename res_::state state;\r
+        typedef typename res_::iterator iterator;\r
+    };\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct iter_fold_step;\r
+\r
+template<\r
+      typename Last\r
+    , typename State\r
+    >\r
+struct iter_fold_null_step\r
+{\r
+    typedef Last iterator;\r
+    typedef State state;\r
+};\r
+\r
+template<>\r
+struct iter_fold_chunk< -1 >\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename if_<\r
+              typename is_same< First,Last >::type\r
+            , iter_fold_null_step< Last,State >\r
+            , iter_fold_step< First,Last,State,ForwardOp >\r
+            >::type res_;\r
+\r
+        typedef typename res_::state state;\r
+        typedef typename res_::iterator iterator;\r
+    };\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct iter_fold_step\r
+{\r
+    typedef iter_fold_chunk< -1 >::template result_<\r
+          typename mpl::next<First>::type\r
+        , Last\r
+        , typename apply2< ForwardOp,State,First >::type\r
+        , ForwardOp\r
+        > chunk_;\r
+\r
+    typedef typename chunk_::state state;\r
+    typedef typename chunk_::iterator iterator;\r
+};\r
+\r
+template<\r
+      int N\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct iter_fold_impl\r
+    : iter_fold_chunk<N>\r
+        ::template result_< First,Last,State,ForwardOp >\r
+{\r
+};\r
+\r
+}}}\r
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 (file)
index 0000000..c4ac608
--- /dev/null
@@ -0,0 +1,229 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/lambda_no_ctps.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+\r
+template<\r
+      bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false\r
+    , bool C5 = false\r
+    >\r
+struct lambda_or\r
+    : true_\r
+{\r
+};\r
+\r
+template<>\r
+struct lambda_or< false,false,false,false,false >\r
+    : false_\r
+{\r
+};\r
+\r
+template< typename Arity > struct lambda_impl\r
+{\r
+    template< typename T, typename Tag, typename Protect > struct result_\r
+    {\r
+        typedef T type;\r
+        typedef is_placeholder<T> is_le;\r
+    };\r
+};\r
+\r
+template<> struct lambda_impl< int_<1> >\r
+{\r
+    template< typename F, typename Tag, typename Protect > struct result_\r
+    {\r
+        typedef lambda< typename F::arg1, Tag, false_ > l1;\r
+        typedef typename l1::is_le is_le1;\r
+        typedef aux::lambda_or<\r
+              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value\r
+            > is_le;\r
+\r
+        typedef bind1<\r
+              typename F::rebind\r
+            , typename l1::type\r
+            > bind_;\r
+\r
+        typedef typename if_<\r
+              is_le\r
+            , if_< Protect, mpl::protect<bind_>, bind_ >\r
+            , identity<F>\r
+            >::type type_;\r
+\r
+        typedef typename type_::type type;\r
+    };\r
+};\r
+\r
+template<> struct lambda_impl< int_<2> >\r
+{\r
+    template< typename F, typename Tag, typename Protect > struct result_\r
+    {\r
+        typedef lambda< typename F::arg1, Tag, false_ > l1;\r
+        typedef lambda< typename F::arg2, Tag, false_ > l2;\r
+        \r
+        typedef typename l1::is_le is_le1;\r
+        typedef typename l2::is_le is_le2;\r
+        \r
+\r
+        typedef aux::lambda_or<\r
+              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value\r
+            > is_le;\r
+\r
+        typedef bind2<\r
+              typename F::rebind\r
+            , typename l1::type, typename l2::type\r
+            > bind_;\r
+\r
+        typedef typename if_<\r
+              is_le\r
+            , if_< Protect, mpl::protect<bind_>, bind_ >\r
+            , identity<F>\r
+            >::type type_;\r
+\r
+        typedef typename type_::type type;\r
+    };\r
+};\r
+\r
+template<> struct lambda_impl< int_<3> >\r
+{\r
+    template< typename F, typename Tag, typename Protect > struct result_\r
+    {\r
+        typedef lambda< typename F::arg1, Tag, false_ > l1;\r
+        typedef lambda< typename F::arg2, Tag, false_ > l2;\r
+        typedef lambda< typename F::arg3, Tag, false_ > l3;\r
+        \r
+        typedef typename l1::is_le is_le1;\r
+        typedef typename l2::is_le is_le2;\r
+        typedef typename l3::is_le is_le3;\r
+        \r
+\r
+        typedef aux::lambda_or<\r
+              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\r
+            > is_le;\r
+\r
+        typedef bind3<\r
+              typename F::rebind\r
+            , typename l1::type, typename l2::type, typename l3::type\r
+            > bind_;\r
+\r
+        typedef typename if_<\r
+              is_le\r
+            , if_< Protect, mpl::protect<bind_>, bind_ >\r
+            , identity<F>\r
+            >::type type_;\r
+\r
+        typedef typename type_::type type;\r
+    };\r
+};\r
+\r
+template<> struct lambda_impl< int_<4> >\r
+{\r
+    template< typename F, typename Tag, typename Protect > struct result_\r
+    {\r
+        typedef lambda< typename F::arg1, Tag, false_ > l1;\r
+        typedef lambda< typename F::arg2, Tag, false_ > l2;\r
+        typedef lambda< typename F::arg3, Tag, false_ > l3;\r
+        typedef lambda< typename F::arg4, Tag, false_ > l4;\r
+        \r
+        typedef typename l1::is_le is_le1;\r
+        typedef typename l2::is_le is_le2;\r
+        typedef typename l3::is_le is_le3;\r
+        typedef typename l4::is_le is_le4;\r
+        \r
+\r
+        typedef aux::lambda_or<\r
+              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\r
+            > is_le;\r
+\r
+        typedef bind4<\r
+              typename F::rebind\r
+            , typename l1::type, typename l2::type, typename l3::type\r
+            , typename l4::type\r
+            > bind_;\r
+\r
+        typedef typename if_<\r
+              is_le\r
+            , if_< Protect, mpl::protect<bind_>, bind_ >\r
+            , identity<F>\r
+            >::type type_;\r
+\r
+        typedef typename type_::type type;\r
+    };\r
+};\r
+\r
+template<> struct lambda_impl< int_<5> >\r
+{\r
+    template< typename F, typename Tag, typename Protect > struct result_\r
+    {\r
+        typedef lambda< typename F::arg1, Tag, false_ > l1;\r
+        typedef lambda< typename F::arg2, Tag, false_ > l2;\r
+        typedef lambda< typename F::arg3, Tag, false_ > l3;\r
+        typedef lambda< typename F::arg4, Tag, false_ > l4;\r
+        typedef lambda< typename F::arg5, Tag, false_ > l5;\r
+        \r
+        typedef typename l1::is_le is_le1;\r
+        typedef typename l2::is_le is_le2;\r
+        typedef typename l3::is_le is_le3;\r
+        typedef typename l4::is_le is_le4;\r
+        typedef typename l5::is_le is_le5;\r
+        \r
+\r
+        typedef aux::lambda_or<\r
+              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\r
+            > is_le;\r
+\r
+        typedef bind5<\r
+              typename F::rebind\r
+            , typename l1::type, typename l2::type, typename l3::type\r
+            , typename l4::type, typename l5::type\r
+            > bind_;\r
+\r
+        typedef typename if_<\r
+              is_le\r
+            , if_< Protect, mpl::protect<bind_>, bind_ >\r
+            , identity<F>\r
+            >::type type_;\r
+\r
+        typedef typename type_::type type;\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename T\r
+    , typename Tag\r
+    , typename Protect\r
+    >\r
+struct lambda\r
+{\r
+    /// Metafunction forwarding confuses MSVC 6.x\r
+    typedef typename aux::template_arity<T>::type arity_;\r
+    typedef typename aux::lambda_impl<arity_>\r
+        ::template result_< T,Tag,Protect > l_;\r
+\r
+    typedef typename l_::type type;\r
+    typedef typename l_::is_le is_le;\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect))\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(1, 3, lambda)\r
+\r
+template<\r
+      typename T\r
+    >\r
+struct is_lambda_expression\r
+    : lambda<T>::is_le\r
+{\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..e098b12
--- /dev/null
@@ -0,0 +1,102 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/less.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+\r
+    , BOOST_MPL_AUX_NTTP_DECL(int, tag1_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value\r
+    , BOOST_MPL_AUX_NTTP_DECL(int, tag2_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value\r
+    >\r
+struct less_impl\r
+    : if_c<\r
+          ( tag1_ > tag2_ )\r
+        , aux::cast2nd_impl< less_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< less_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct less_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct less_impl< na,integral_c_tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct less_impl< integral_c_tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct less_tag\r
+    : tag< T,na >\r
+{\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct less\r
+    : aux::msvc_eti_base< typename apply_wrap2<\r
+          less_impl<\r
+              typename less_tag<N1>::type\r
+            , typename less_tag<N2>::type\r
+            >\r
+        , N1\r
+        , N2\r
+        >::type >::type\r
+\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, less)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct less_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+    {\r
+        BOOST_STATIC_CONSTANT(bool, value =\r
+             ( BOOST_MPL_AUX_VALUE_WKND(N2)::value >\r
+             BOOST_MPL_AUX_VALUE_WKND(N1)::value )\r
+            );\r
+        typedef bool_<value> type;\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..37316f0
--- /dev/null
@@ -0,0 +1,102 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/less_equal.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+\r
+    , BOOST_MPL_AUX_NTTP_DECL(int, tag1_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value\r
+    , BOOST_MPL_AUX_NTTP_DECL(int, tag2_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value\r
+    >\r
+struct less_equal_impl\r
+    : if_c<\r
+          ( tag1_ > tag2_ )\r
+        , aux::cast2nd_impl< less_equal_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< less_equal_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct less_equal_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct less_equal_impl< na,integral_c_tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct less_equal_impl< integral_c_tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct less_equal_tag\r
+    : tag< T,na >\r
+{\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct less_equal\r
+    : aux::msvc_eti_base< typename apply_wrap2<\r
+          less_equal_impl<\r
+              typename less_equal_tag<N1>::type\r
+            , typename less_equal_tag<N2>::type\r
+            >\r
+        , N1\r
+        , N2\r
+        >::type >::type\r
+\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less_equal, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct less_equal_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+    {\r
+        BOOST_STATIC_CONSTANT(bool, value =\r
+             ( BOOST_MPL_AUX_VALUE_WKND(N1)::value <=\r
+             BOOST_MPL_AUX_VALUE_WKND(N2)::value )\r
+            );\r
+        typedef bool_<value> type;\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..d1e03d2
--- /dev/null
@@ -0,0 +1,556 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/list.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+template< int N >\r
+struct list_chooser;\r
+\r
+}\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_chooser<0>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef list0<\r
+             \r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_chooser<1>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list1<\r
+              T0\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_chooser<2>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list2<\r
+              T0, T1\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_chooser<3>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list3<\r
+              T0, T1, T2\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_chooser<4>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list4<\r
+              T0, T1, T2, T3\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_chooser<5>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list5<\r
+              T0, T1, T2, T3, T4\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_chooser<6>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list6<\r
+              T0, T1, T2, T3, T4, T5\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_chooser<7>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list7<\r
+              T0, T1, T2, T3, T4, T5, T6\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_chooser<8>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list8<\r
+              T0, T1, T2, T3, T4, T5, T6, T7\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_chooser<9>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list9<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_chooser<10>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list10<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_chooser<11>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list11<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_chooser<12>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list12<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_chooser<13>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list13<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_chooser<14>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list14<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_chooser<15>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list15<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_chooser<16>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list16<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_chooser<17>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list17<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_chooser<18>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list18<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_chooser<19>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list19<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_chooser<20>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list20<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template< typename T >\r
+struct is_list_arg\r
+{\r
+    BOOST_STATIC_CONSTANT(bool, value  = true);\r
+};\r
+\r
+template<>\r
+struct is_list_arg<na>\r
+{\r
+    BOOST_STATIC_CONSTANT(bool, value  = false);\r
+};\r
+\r
+template<\r
+      typename T1, typename T2, typename T3, typename T4, typename T5\r
+    , typename T6, typename T7, typename T8, typename T9, typename T10\r
+    , typename T11, typename T12, typename T13, typename T14, typename T15\r
+    , typename T16, typename T17, typename T18, typename T19, typename T20\r
+    >\r
+struct list_count_args\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value =\r
+          is_list_arg<T1>::value + is_list_arg<T2>::value \r
+        + is_list_arg<T3>::value + is_list_arg<T4>::value \r
+        + is_list_arg<T5>::value + is_list_arg<T6>::value \r
+        + is_list_arg<T7>::value + is_list_arg<T8>::value \r
+        + is_list_arg<T9>::value + is_list_arg<T10>::value \r
+        + is_list_arg<T11>::value + is_list_arg<T12>::value \r
+        + is_list_arg<T13>::value + is_list_arg<T14>::value \r
+        + is_list_arg<T15>::value + is_list_arg<T16>::value \r
+        + is_list_arg<T17>::value + is_list_arg<T18>::value \r
+        + is_list_arg<T19>::value + is_list_arg<T20>::value\r
+        );\r
+\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    >\r
+struct list_impl\r
+{\r
+    typedef aux::list_count_args<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19\r
+        > arg_num_;\r
+\r
+    typedef typename aux::list_chooser< arg_num_::value >\r
+        ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na\r
+    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na\r
+    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na\r
+    , typename T12 = na, typename T13 = na, typename T14 = na\r
+    , typename T15 = na, typename T16 = na, typename T17 = na\r
+    , typename T18 = na, typename T19 = na\r
+    >\r
+struct list\r
+    : aux::list_impl<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19\r
+        >::type\r
+{\r
+    typedef typename aux::list_impl<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19\r
+        >::type type;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..b821770
--- /dev/null
@@ -0,0 +1,534 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/list_c.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+template< int N >\r
+struct list_c_chooser;\r
+\r
+}\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_c_chooser<0>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list0_c<\r
+              T\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_c_chooser<1>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list1_c<\r
+              T, C0\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_c_chooser<2>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list2_c<\r
+              T, C0, C1\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_c_chooser<3>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list3_c<\r
+              T, C0, C1, C2\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_c_chooser<4>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list4_c<\r
+              T, C0, C1, C2, C3\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_c_chooser<5>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list5_c<\r
+              T, C0, C1, C2, C3, C4\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_c_chooser<6>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list6_c<\r
+              T, C0, C1, C2, C3, C4, C5\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_c_chooser<7>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list7_c<\r
+              T, C0, C1, C2, C3, C4, C5, C6\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_c_chooser<8>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list8_c<\r
+              T, C0, C1, C2, C3, C4, C5, C6, C7\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_c_chooser<9>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list9_c<\r
+              T, C0, C1, C2, C3, C4, C5, C6, C7, C8\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_c_chooser<10>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list10_c<\r
+              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_c_chooser<11>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list11_c<\r
+              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_c_chooser<12>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list12_c<\r
+              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_c_chooser<13>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list13_c<\r
+              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_c_chooser<14>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list14_c<\r
+              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_c_chooser<15>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list15_c<\r
+              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_c_chooser<16>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list16_c<\r
+              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_c_chooser<17>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list17_c<\r
+              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_c_chooser<18>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list18_c<\r
+              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_c_chooser<19>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list19_c<\r
+              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_c_chooser<20>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list20_c<\r
+              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template< long C >\r
+struct is_list_c_arg\r
+{\r
+    BOOST_STATIC_CONSTANT(bool, value  = true);\r
+};\r
+\r
+template<>\r
+struct is_list_c_arg<LONG_MAX>\r
+{\r
+    BOOST_STATIC_CONSTANT(bool, value  = false);\r
+};\r
+\r
+template<\r
+      long C1, long C2, long C3, long C4, long C5, long C6, long C7, long C8\r
+    , long C9, long C10, long C11, long C12, long C13, long C14, long C15\r
+    , long C16, long C17, long C18, long C19, long C20\r
+    >\r
+struct list_c_count_args\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value =\r
+          is_list_c_arg<C1>::value + is_list_c_arg<C2>::value \r
+        + is_list_c_arg<C3>::value + is_list_c_arg<C4>::value \r
+        + is_list_c_arg<C5>::value + is_list_c_arg<C6>::value \r
+        + is_list_c_arg<C7>::value + is_list_c_arg<C8>::value \r
+        + is_list_c_arg<C9>::value + is_list_c_arg<C10>::value \r
+        + is_list_c_arg<C11>::value + is_list_c_arg<C12>::value \r
+        + is_list_c_arg<C13>::value + is_list_c_arg<C14>::value \r
+        + is_list_c_arg<C15>::value + is_list_c_arg<C16>::value \r
+        + is_list_c_arg<C17>::value + is_list_c_arg<C18>::value \r
+        + is_list_c_arg<C19>::value + is_list_c_arg<C20>::value\r
+        );\r
+\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+    >\r
+struct list_c_impl\r
+{\r
+    typedef aux::list_c_count_args<\r
+          C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19\r
+        > arg_num_;\r
+\r
+    typedef typename aux::list_c_chooser< arg_num_::value >\r
+        ::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;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX\r
+    , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX\r
+    , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX\r
+    , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX\r
+    , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX\r
+    , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX\r
+    , long C18 = LONG_MAX, long C19 = LONG_MAX\r
+    >\r
+struct list_c\r
+    : aux::list_c_impl<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19\r
+        >::type\r
+{\r
+    typedef typename aux::list_c_impl<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19\r
+        >::type type;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..0e1ae00
--- /dev/null
@@ -0,0 +1,556 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/map.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+template< int N >\r
+struct map_chooser;\r
+\r
+}\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct map_chooser<0>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef map0<\r
+             \r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct map_chooser<1>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename map1<\r
+              T0\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct map_chooser<2>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename map2<\r
+              T0, T1\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct map_chooser<3>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename map3<\r
+              T0, T1, T2\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct map_chooser<4>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename map4<\r
+              T0, T1, T2, T3\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct map_chooser<5>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename map5<\r
+              T0, T1, T2, T3, T4\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct map_chooser<6>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename map6<\r
+              T0, T1, T2, T3, T4, T5\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct map_chooser<7>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename map7<\r
+              T0, T1, T2, T3, T4, T5, T6\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct map_chooser<8>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename map8<\r
+              T0, T1, T2, T3, T4, T5, T6, T7\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct map_chooser<9>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename map9<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct map_chooser<10>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename map10<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct map_chooser<11>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename map11<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct map_chooser<12>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename map12<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct map_chooser<13>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename map13<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct map_chooser<14>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename map14<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct map_chooser<15>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename map15<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct map_chooser<16>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename map16<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct map_chooser<17>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename map17<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct map_chooser<18>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename map18<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct map_chooser<19>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename map19<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct map_chooser<20>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename map20<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template< typename T >\r
+struct is_map_arg\r
+{\r
+    BOOST_STATIC_CONSTANT(bool, value  = true);\r
+};\r
+\r
+template<>\r
+struct is_map_arg<na>\r
+{\r
+    BOOST_STATIC_CONSTANT(bool, value  = false);\r
+};\r
+\r
+template<\r
+      typename T1, typename T2, typename T3, typename T4, typename T5\r
+    , typename T6, typename T7, typename T8, typename T9, typename T10\r
+    , typename T11, typename T12, typename T13, typename T14, typename T15\r
+    , typename T16, typename T17, typename T18, typename T19, typename T20\r
+    >\r
+struct map_count_args\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value =\r
+          is_map_arg<T1>::value + is_map_arg<T2>::value \r
+        + is_map_arg<T3>::value + is_map_arg<T4>::value \r
+        + is_map_arg<T5>::value + is_map_arg<T6>::value \r
+        + is_map_arg<T7>::value + is_map_arg<T8>::value \r
+        + is_map_arg<T9>::value + is_map_arg<T10>::value \r
+        + is_map_arg<T11>::value + is_map_arg<T12>::value \r
+        + is_map_arg<T13>::value + is_map_arg<T14>::value \r
+        + is_map_arg<T15>::value + is_map_arg<T16>::value \r
+        + is_map_arg<T17>::value + is_map_arg<T18>::value \r
+        + is_map_arg<T19>::value + is_map_arg<T20>::value\r
+        );\r
+\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    >\r
+struct map_impl\r
+{\r
+    typedef aux::map_count_args<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19\r
+        > arg_num_;\r
+\r
+    typedef typename aux::map_chooser< arg_num_::value >\r
+        ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na\r
+    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na\r
+    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na\r
+    , typename T12 = na, typename T13 = na, typename T14 = na\r
+    , typename T15 = na, typename T16 = na, typename T17 = na\r
+    , typename T18 = na, typename T19 = na\r
+    >\r
+struct map\r
+    : aux::map_impl<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19\r
+        >::type\r
+{\r
+    typedef typename aux::map_impl<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19\r
+        >::type type;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..ed9b5dc
--- /dev/null
@@ -0,0 +1,150 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/minus.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+\r
+    , BOOST_MPL_AUX_NTTP_DECL(int, tag1_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value\r
+    , BOOST_MPL_AUX_NTTP_DECL(int, tag2_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value\r
+    >\r
+struct minus_impl\r
+    : if_c<\r
+          ( tag1_ > tag2_ )\r
+        , aux::cast2nd_impl< minus_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< minus_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct minus_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct minus_impl< na,integral_c_tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct minus_impl< integral_c_tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct minus_tag\r
+    : tag< T,na >\r
+{\r
+};\r
+\r
+/// forward declaration\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct minus2;\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    , typename N3 = na, typename N4 = na, typename N5 = na\r
+    >\r
+struct minus\r
+\r
+    : aux::msvc_eti_base< typename if_<\r
+\r
+          is_na<N3>\r
+        , minus2< N1,N2 >\r
+        , minus<\r
+              minus2< N1,N2 >\r
+            , N3, N4, N5\r
+            >\r
+        >::type\r
+\r
+    >\r
+\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , minus\r
+        , ( N1, N2, N3, N4, N5 )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1\r
+    , typename N2\r
+    >\r
+struct minus2\r
+    : aux::msvc_eti_base< typename apply_wrap2<\r
+          minus_impl<\r
+              typename minus_tag<N1>::type\r
+            , typename minus_tag<N2>::type\r
+            >\r
+        , N1\r
+        , N2\r
+        >::type >::type\r
+\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, minus2, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 5, minus)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+template< typename T, T n1, T n2 >\r
+struct minus_wknd\r
+{\r
+    BOOST_STATIC_CONSTANT(T, value  = (n1 - n2));\r
+    typedef integral_c< T,value > type;\r
+};\r
+\r
+}\r
+\r
+template<>\r
+struct minus_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+        : aux::minus_wknd<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , N1::value\r
+            , N2::value\r
+            >::type\r
+\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..6538fef
--- /dev/null
@@ -0,0 +1,115 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/modulus.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+\r
+    , BOOST_MPL_AUX_NTTP_DECL(int, tag1_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value\r
+    , BOOST_MPL_AUX_NTTP_DECL(int, tag2_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value\r
+    >\r
+struct modulus_impl\r
+    : if_c<\r
+          ( tag1_ > tag2_ )\r
+        , aux::cast2nd_impl< modulus_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< modulus_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct modulus_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct modulus_impl< na,integral_c_tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct modulus_impl< integral_c_tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct modulus_tag\r
+    : tag< T,na >\r
+{\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct modulus\r
+    : aux::msvc_eti_base< typename apply_wrap2<\r
+          modulus_impl<\r
+              typename modulus_tag<N1>::type\r
+            , typename modulus_tag<N2>::type\r
+            >\r
+        , N1\r
+        , N2\r
+        >::type >::type\r
+\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, modulus, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, modulus)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+template< typename T, T n1, T n2 >\r
+struct modulus_wknd\r
+{\r
+    BOOST_STATIC_CONSTANT(T, value  = (n1 % n2));\r
+    typedef integral_c< T,value > type;\r
+};\r
+\r
+}\r
+\r
+template<>\r
+struct modulus_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+        : aux::modulus_wknd<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , N1::value\r
+            , N2::value\r
+            >::type\r
+\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..7ed70de
--- /dev/null
@@ -0,0 +1,102 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/not_equal_to.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+\r
+    , BOOST_MPL_AUX_NTTP_DECL(int, tag1_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value\r
+    , BOOST_MPL_AUX_NTTP_DECL(int, tag2_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value\r
+    >\r
+struct not_equal_to_impl\r
+    : if_c<\r
+          ( tag1_ > tag2_ )\r
+        , aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< not_equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct not_equal_to_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct not_equal_to_impl< na,integral_c_tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct not_equal_to_impl< integral_c_tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct not_equal_to_tag\r
+    : tag< T,na >\r
+{\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct not_equal_to\r
+    : aux::msvc_eti_base< typename apply_wrap2<\r
+          not_equal_to_impl<\r
+              typename not_equal_to_tag<N1>::type\r
+            , typename not_equal_to_tag<N2>::type\r
+            >\r
+        , N1\r
+        , N2\r
+        >::type >::type\r
+\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, not_equal_to, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct not_equal_to_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+    {\r
+        BOOST_STATIC_CONSTANT(bool, value =\r
+             ( BOOST_MPL_AUX_VALUE_WKND(N1)::value !=\r
+             BOOST_MPL_AUX_VALUE_WKND(N2)::value )\r
+            );\r
+        typedef bool_<value> type;\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..4a94717
--- /dev/null
@@ -0,0 +1,71 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/or.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+template< bool C_ > struct or_impl\r
+{\r
+    template<\r
+          typename T1, typename T2, typename T3, typename T4\r
+        >\r
+    struct result_\r
+        : true_\r
+    {\r
+    };\r
+};\r
+\r
+template<> struct or_impl<false>\r
+{\r
+    template<\r
+          typename T1, typename T2, typename T3, typename T4\r
+        >\r
+    struct result_\r
+        : or_impl<\r
+              BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value\r
+            >::template result_< T2,T3,T4,false_ >\r
+    {\r
+    };\r
+\r
+    template<> struct result_< false_,false_,false_,false_ >\r
+        : false_\r
+    {\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(T1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(T2)\r
+    , typename T3 = false_, typename T4 = false_, typename T5 = false_\r
+    >\r
+struct or_\r
+\r
+    : aux::or_impl<\r
+          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value\r
+        >::template result_< T2,T3,T4,T5 >\r
+\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , or_\r
+        , ( T1, T2, T3, T4, T5)\r
+        )\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(\r
+      2\r
+    , 5\r
+    , or_\r
+    )\r
+\r
+}}\r
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 (file)
index 0000000..df5cb1d
--- /dev/null
@@ -0,0 +1,105 @@
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+// Copyright Peter Dimov 2001-2003\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/placeholders.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+typedef arg< -1 > _;\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+namespace boost { namespace mpl {\r
+\r
+BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_)\r
+\r
+namespace placeholders {\r
+using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_;\r
+}\r
+\r
+}}\r
+\r
+/// agurt, 17/mar/02: one more placeholder for the last 'apply#' \r
+/// specialization\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+typedef arg<1> _1;\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+namespace boost { namespace mpl {\r
+\r
+BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1)\r
+\r
+namespace placeholders {\r
+using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1;\r
+}\r
+\r
+}}\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+typedef arg<2> _2;\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+namespace boost { namespace mpl {\r
+\r
+BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2)\r
+\r
+namespace placeholders {\r
+using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2;\r
+}\r
+\r
+}}\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+typedef arg<3> _3;\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+namespace boost { namespace mpl {\r
+\r
+BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3)\r
+\r
+namespace placeholders {\r
+using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3;\r
+}\r
+\r
+}}\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+typedef arg<4> _4;\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+namespace boost { namespace mpl {\r
+\r
+BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4)\r
+\r
+namespace placeholders {\r
+using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4;\r
+}\r
+\r
+}}\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+typedef arg<5> _5;\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+namespace boost { namespace mpl {\r
+\r
+BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5)\r
+\r
+namespace placeholders {\r
+using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5;\r
+}\r
+\r
+}}\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+typedef arg<6> _6;\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+namespace boost { namespace mpl {\r
+\r
+BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6)\r
+\r
+namespace placeholders {\r
+using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6;\r
+}\r
+\r
+}}\r
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 (file)
index 0000000..f527b99
--- /dev/null
@@ -0,0 +1,150 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/plus.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+\r
+    , BOOST_MPL_AUX_NTTP_DECL(int, tag1_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value\r
+    , BOOST_MPL_AUX_NTTP_DECL(int, tag2_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value\r
+    >\r
+struct plus_impl\r
+    : if_c<\r
+          ( tag1_ > tag2_ )\r
+        , aux::cast2nd_impl< plus_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< plus_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct plus_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct plus_impl< na,integral_c_tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct plus_impl< integral_c_tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct plus_tag\r
+    : tag< T,na >\r
+{\r
+};\r
+\r
+/// forward declaration\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct plus2;\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    , typename N3 = na, typename N4 = na, typename N5 = na\r
+    >\r
+struct plus\r
+\r
+    : aux::msvc_eti_base< typename if_<\r
+\r
+          is_na<N3>\r
+        , plus2< N1,N2 >\r
+        , plus<\r
+              plus2< N1,N2 >\r
+            , N3, N4, N5\r
+            >\r
+        >::type\r
+\r
+    >\r
+\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , plus\r
+        , ( N1, N2, N3, N4, N5 )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1\r
+    , typename N2\r
+    >\r
+struct plus2\r
+    : aux::msvc_eti_base< typename apply_wrap2<\r
+          plus_impl<\r
+              typename plus_tag<N1>::type\r
+            , typename plus_tag<N2>::type\r
+            >\r
+        , N1\r
+        , N2\r
+        >::type >::type\r
+\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, plus2, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 5, plus)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+template< typename T, T n1, T n2 >\r
+struct plus_wknd\r
+{\r
+    BOOST_STATIC_CONSTANT(T, value  = (n1 + n2));\r
+    typedef integral_c< T,value > type;\r
+};\r
+\r
+}\r
+\r
+template<>\r
+struct plus_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+        : aux::plus_wknd<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , N1::value\r
+            , N2::value\r
+            >::type\r
+\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..621e440
--- /dev/null
@@ -0,0 +1,116 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/quote.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+template< bool > struct quote_impl\r
+{\r
+    template< typename T > struct result_\r
+        : T\r
+    {\r
+    };\r
+};\r
+\r
+template<> struct quote_impl<false>\r
+{\r
+    template< typename T > struct result_\r
+    {\r
+        typedef T type;\r
+    };\r
+};\r
+\r
+template<\r
+      template< typename P1 > class F\r
+    , typename Tag = void_\r
+    >\r
+struct quote1\r
+{\r
+    template< typename U1 > struct apply\r
+\r
+        : quote_impl< aux::has_type< F<U1> >::value >\r
+            ::template result_< F<U1> >\r
+\r
+    {\r
+    };\r
+};\r
+\r
+template<\r
+      template< typename P1, typename P2 > class F\r
+    , typename Tag = void_\r
+    >\r
+struct quote2\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+\r
+        : quote_impl< aux::has_type< F< U1,U2 > >::value >\r
+            ::template result_< F< U1,U2 > >\r
+\r
+    {\r
+    };\r
+};\r
+\r
+template<\r
+      template< typename P1, typename P2, typename P3 > class F\r
+    , typename Tag = void_\r
+    >\r
+struct quote3\r
+{\r
+    template< typename U1, typename U2, typename U3 > struct apply\r
+\r
+        : quote_impl< aux::has_type< F< U1,U2,U3 > >::value >\r
+            ::template result_< F< U1,U2,U3 > >\r
+\r
+    {\r
+    };\r
+};\r
+\r
+template<\r
+      template< typename P1, typename P2, typename P3, typename P4 > class F\r
+    , typename Tag = void_\r
+    >\r
+struct quote4\r
+{\r
+    template<\r
+          typename U1, typename U2, typename U3, typename U4\r
+        >\r
+    struct apply\r
+\r
+        : quote_impl< aux::has_type< F< U1,U2,U3,U4 > >::value >\r
+            ::template result_< F< U1,U2,U3,U4 > >\r
+\r
+    {\r
+    };\r
+};\r
+\r
+template<\r
+      template<\r
+          typename P1, typename P2, typename P3, typename P4\r
+        , typename P5\r
+        >\r
+      class F\r
+    , typename Tag = void_\r
+    >\r
+struct quote5\r
+{\r
+    template<\r
+          typename U1, typename U2, typename U3, typename U4\r
+        , typename U5\r
+        >\r
+    struct apply\r
+\r
+        : quote_impl< aux::has_type< F< U1,U2,U3,U4,U5 > >::value >\r
+            ::template result_< F< U1,U2,U3,U4,U5 > >\r
+\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..5907002
--- /dev/null
@@ -0,0 +1,295 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/reverse_fold_impl.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+/// forward declaration\r
+\r
+template<\r
+      long N\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_fold_impl;\r
+\r
+template< long N >\r
+struct reverse_fold_chunk;\r
+\r
+template<> struct reverse_fold_chunk<0>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename BackwardOp\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State fwd_state0;\r
+        typedef fwd_state0 bkwd_state0;\r
+        typedef bkwd_state0 state;\r
+        typedef iter0 iterator;\r
+    };\r
+};\r
+\r
+template<> struct reverse_fold_chunk<1>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename BackwardOp\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State fwd_state0;\r
+        typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;\r
+        typedef typename mpl::next<iter0>::type iter1;\r
+        \r
+\r
+        typedef fwd_state1 bkwd_state1;\r
+        typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;\r
+        typedef bkwd_state0 state;\r
+        typedef iter1 iterator;\r
+    };\r
+};\r
+\r
+template<> struct reverse_fold_chunk<2>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename BackwardOp\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State fwd_state0;\r
+        typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;\r
+        typedef typename mpl::next<iter0>::type iter1;\r
+        typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;\r
+        typedef typename mpl::next<iter1>::type iter2;\r
+        \r
+\r
+        typedef fwd_state2 bkwd_state2;\r
+        typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;\r
+        typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;\r
+        \r
+\r
+        typedef bkwd_state0 state;\r
+        typedef iter2 iterator;\r
+    };\r
+};\r
+\r
+template<> struct reverse_fold_chunk<3>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename BackwardOp\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State fwd_state0;\r
+        typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;\r
+        typedef typename mpl::next<iter0>::type iter1;\r
+        typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;\r
+        typedef typename mpl::next<iter1>::type iter2;\r
+        typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;\r
+        typedef typename mpl::next<iter2>::type iter3;\r
+        \r
+\r
+        typedef fwd_state3 bkwd_state3;\r
+        typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;\r
+        typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;\r
+        typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;\r
+        \r
+\r
+        typedef bkwd_state0 state;\r
+        typedef iter3 iterator;\r
+    };\r
+};\r
+\r
+template<> struct reverse_fold_chunk<4>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename BackwardOp\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State fwd_state0;\r
+        typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;\r
+        typedef typename mpl::next<iter0>::type iter1;\r
+        typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;\r
+        typedef typename mpl::next<iter1>::type iter2;\r
+        typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;\r
+        typedef typename mpl::next<iter2>::type iter3;\r
+        typedef typename apply2< ForwardOp, fwd_state3, typename deref<iter3>::type >::type fwd_state4;\r
+        typedef typename mpl::next<iter3>::type iter4;\r
+        \r
+\r
+        typedef fwd_state4 bkwd_state4;\r
+        typedef typename apply2< BackwardOp, bkwd_state4, typename deref<iter3>::type >::type bkwd_state3;\r
+        typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;\r
+        typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;\r
+        typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;\r
+        \r
+\r
+        typedef bkwd_state0 state;\r
+        typedef iter4 iterator;\r
+    };\r
+};\r
+\r
+template< long N >\r
+struct reverse_fold_chunk\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename BackwardOp\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State fwd_state0;\r
+        typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;\r
+        typedef typename mpl::next<iter0>::type iter1;\r
+        typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;\r
+        typedef typename mpl::next<iter1>::type iter2;\r
+        typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;\r
+        typedef typename mpl::next<iter2>::type iter3;\r
+        typedef typename apply2< ForwardOp, fwd_state3, typename deref<iter3>::type >::type fwd_state4;\r
+        typedef typename mpl::next<iter3>::type iter4;\r
+        \r
+\r
+        typedef reverse_fold_impl<\r
+              ( (N - 4) < 0 ? 0 : N - 4 )\r
+            , iter4\r
+            , Last\r
+            , fwd_state4\r
+            , BackwardOp\r
+            , ForwardOp\r
+            > nested_chunk;\r
+\r
+        typedef typename nested_chunk::state bkwd_state4;\r
+        typedef typename apply2< BackwardOp, bkwd_state4, typename deref<iter3>::type >::type bkwd_state3;\r
+        typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;\r
+        typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;\r
+        typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;\r
+        \r
+\r
+        typedef bkwd_state0 state;\r
+        typedef typename nested_chunk::iterator iterator;\r
+    };\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_fold_step;\r
+\r
+template<\r
+      typename Last\r
+    , typename State\r
+    >\r
+struct reverse_fold_null_step\r
+{\r
+    typedef Last iterator;\r
+    typedef State state;\r
+};\r
+\r
+template<>\r
+struct reverse_fold_chunk< -1 >\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename BackwardOp\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename if_<\r
+              typename is_same< First,Last >::type\r
+            , reverse_fold_null_step< Last,State >\r
+            , reverse_fold_step< First,Last,State,BackwardOp,ForwardOp >\r
+            >::type res_;\r
+\r
+        typedef typename res_::state state;\r
+        typedef typename res_::iterator iterator;\r
+    };\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_fold_step\r
+{\r
+    typedef reverse_fold_chunk< -1 >::template result_<\r
+          typename mpl::next<First>::type\r
+        , Last\r
+        , typename apply2<ForwardOp,State, typename deref<First>::type>::type\r
+        , BackwardOp\r
+        , ForwardOp\r
+        > nested_step;\r
+\r
+    typedef typename apply2<\r
+          BackwardOp\r
+        , typename nested_step::state\r
+        , typename deref<First>::type\r
+        >::type state;\r
+\r
+    typedef typename nested_step::iterator iterator;\r
+};\r
+\r
+template<\r
+      long N\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_fold_impl\r
+    : reverse_fold_chunk<N>\r
+        ::template result_< First,Last,State,BackwardOp,ForwardOp >\r
+{\r
+};\r
+\r
+}}}\r
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 (file)
index 0000000..b85b2f2
--- /dev/null
@@ -0,0 +1,295 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/reverse_iter_fold_impl.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+/// forward declaration\r
+\r
+template<\r
+      long N\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_iter_fold_impl;\r
+\r
+template< long N >\r
+struct reverse_iter_fold_chunk;\r
+\r
+template<> struct reverse_iter_fold_chunk<0>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename BackwardOp\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State fwd_state0;\r
+        typedef fwd_state0 bkwd_state0;\r
+        typedef bkwd_state0 state;\r
+        typedef iter0 iterator;\r
+    };\r
+};\r
+\r
+template<> struct reverse_iter_fold_chunk<1>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename BackwardOp\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State fwd_state0;\r
+        typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;\r
+        typedef typename mpl::next<iter0>::type iter1;\r
+        \r
+\r
+        typedef fwd_state1 bkwd_state1;\r
+        typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;\r
+        typedef bkwd_state0 state;\r
+        typedef iter1 iterator;\r
+    };\r
+};\r
+\r
+template<> struct reverse_iter_fold_chunk<2>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename BackwardOp\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State fwd_state0;\r
+        typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;\r
+        typedef typename mpl::next<iter0>::type iter1;\r
+        typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;\r
+        typedef typename mpl::next<iter1>::type iter2;\r
+        \r
+\r
+        typedef fwd_state2 bkwd_state2;\r
+        typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;\r
+        typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;\r
+        \r
+\r
+        typedef bkwd_state0 state;\r
+        typedef iter2 iterator;\r
+    };\r
+};\r
+\r
+template<> struct reverse_iter_fold_chunk<3>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename BackwardOp\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State fwd_state0;\r
+        typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;\r
+        typedef typename mpl::next<iter0>::type iter1;\r
+        typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;\r
+        typedef typename mpl::next<iter1>::type iter2;\r
+        typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;\r
+        typedef typename mpl::next<iter2>::type iter3;\r
+        \r
+\r
+        typedef fwd_state3 bkwd_state3;\r
+        typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;\r
+        typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;\r
+        typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;\r
+        \r
+\r
+        typedef bkwd_state0 state;\r
+        typedef iter3 iterator;\r
+    };\r
+};\r
+\r
+template<> struct reverse_iter_fold_chunk<4>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename BackwardOp\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State fwd_state0;\r
+        typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;\r
+        typedef typename mpl::next<iter0>::type iter1;\r
+        typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;\r
+        typedef typename mpl::next<iter1>::type iter2;\r
+        typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;\r
+        typedef typename mpl::next<iter2>::type iter3;\r
+        typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4;\r
+        typedef typename mpl::next<iter3>::type iter4;\r
+        \r
+\r
+        typedef fwd_state4 bkwd_state4;\r
+        typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3;\r
+        typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;\r
+        typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;\r
+        typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;\r
+        \r
+\r
+        typedef bkwd_state0 state;\r
+        typedef iter4 iterator;\r
+    };\r
+};\r
+\r
+template< long N >\r
+struct reverse_iter_fold_chunk\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename BackwardOp\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State fwd_state0;\r
+        typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;\r
+        typedef typename mpl::next<iter0>::type iter1;\r
+        typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;\r
+        typedef typename mpl::next<iter1>::type iter2;\r
+        typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;\r
+        typedef typename mpl::next<iter2>::type iter3;\r
+        typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4;\r
+        typedef typename mpl::next<iter3>::type iter4;\r
+        \r
+\r
+        typedef reverse_iter_fold_impl<\r
+              ( (N - 4) < 0 ? 0 : N - 4 )\r
+            , iter4\r
+            , Last\r
+            , fwd_state4\r
+            , BackwardOp\r
+            , ForwardOp\r
+            > nested_chunk;\r
+\r
+        typedef typename nested_chunk::state bkwd_state4;\r
+        typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3;\r
+        typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;\r
+        typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;\r
+        typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;\r
+        \r
+\r
+        typedef bkwd_state0 state;\r
+        typedef typename nested_chunk::iterator iterator;\r
+    };\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_iter_fold_step;\r
+\r
+template<\r
+      typename Last\r
+    , typename State\r
+    >\r
+struct reverse_iter_fold_null_step\r
+{\r
+    typedef Last iterator;\r
+    typedef State state;\r
+};\r
+\r
+template<>\r
+struct reverse_iter_fold_chunk< -1 >\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename BackwardOp\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename if_<\r
+              typename is_same< First,Last >::type\r
+            , reverse_iter_fold_null_step< Last,State >\r
+            , reverse_iter_fold_step< First,Last,State,BackwardOp,ForwardOp >\r
+            >::type res_;\r
+\r
+        typedef typename res_::state state;\r
+        typedef typename res_::iterator iterator;\r
+    };\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_iter_fold_step\r
+{\r
+    typedef reverse_iter_fold_chunk< -1 >::template result_<\r
+          typename mpl::next<First>::type\r
+        , Last\r
+        , typename apply2< ForwardOp,State,First >::type\r
+        , BackwardOp\r
+        , ForwardOp\r
+        > nested_step;\r
+\r
+    typedef typename apply2<\r
+          BackwardOp\r
+        , typename nested_step::state\r
+        , First\r
+        >::type state;\r
+\r
+    typedef typename nested_step::iterator iterator;\r
+};\r
+\r
+template<\r
+      long N\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_iter_fold_impl\r
+    : reverse_iter_fold_chunk<N>\r
+        ::template result_< First,Last,State,BackwardOp,ForwardOp >\r
+{\r
+};\r
+\r
+}}}\r
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 (file)
index 0000000..aa1a8b1
--- /dev/null
@@ -0,0 +1,556 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/set.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+template< int N >\r
+struct set_chooser;\r
+\r
+}\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_chooser<0>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef set0<\r
+             \r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_chooser<1>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set1<\r
+              T0\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_chooser<2>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set2<\r
+              T0, T1\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_chooser<3>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set3<\r
+              T0, T1, T2\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_chooser<4>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set4<\r
+              T0, T1, T2, T3\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_chooser<5>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set5<\r
+              T0, T1, T2, T3, T4\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_chooser<6>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set6<\r
+              T0, T1, T2, T3, T4, T5\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_chooser<7>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set7<\r
+              T0, T1, T2, T3, T4, T5, T6\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_chooser<8>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set8<\r
+              T0, T1, T2, T3, T4, T5, T6, T7\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_chooser<9>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set9<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_chooser<10>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set10<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_chooser<11>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set11<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_chooser<12>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set12<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_chooser<13>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set13<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_chooser<14>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set14<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_chooser<15>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set15<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_chooser<16>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set16<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_chooser<17>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set17<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_chooser<18>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set18<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_chooser<19>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set19<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_chooser<20>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set20<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template< typename T >\r
+struct is_set_arg\r
+{\r
+    BOOST_STATIC_CONSTANT(bool, value  = true);\r
+};\r
+\r
+template<>\r
+struct is_set_arg<na>\r
+{\r
+    BOOST_STATIC_CONSTANT(bool, value  = false);\r
+};\r
+\r
+template<\r
+      typename T1, typename T2, typename T3, typename T4, typename T5\r
+    , typename T6, typename T7, typename T8, typename T9, typename T10\r
+    , typename T11, typename T12, typename T13, typename T14, typename T15\r
+    , typename T16, typename T17, typename T18, typename T19, typename T20\r
+    >\r
+struct set_count_args\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value =\r
+          is_set_arg<T1>::value + is_set_arg<T2>::value \r
+        + is_set_arg<T3>::value + is_set_arg<T4>::value \r
+        + is_set_arg<T5>::value + is_set_arg<T6>::value \r
+        + is_set_arg<T7>::value + is_set_arg<T8>::value \r
+        + is_set_arg<T9>::value + is_set_arg<T10>::value \r
+        + is_set_arg<T11>::value + is_set_arg<T12>::value \r
+        + is_set_arg<T13>::value + is_set_arg<T14>::value \r
+        + is_set_arg<T15>::value + is_set_arg<T16>::value \r
+        + is_set_arg<T17>::value + is_set_arg<T18>::value \r
+        + is_set_arg<T19>::value + is_set_arg<T20>::value\r
+        );\r
+\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    >\r
+struct set_impl\r
+{\r
+    typedef aux::set_count_args<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19\r
+        > arg_num_;\r
+\r
+    typedef typename aux::set_chooser< arg_num_::value >\r
+        ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na\r
+    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na\r
+    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na\r
+    , typename T12 = na, typename T13 = na, typename T14 = na\r
+    , typename T15 = na, typename T16 = na, typename T17 = na\r
+    , typename T18 = na, typename T19 = na\r
+    >\r
+struct set\r
+    : aux::set_impl<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19\r
+        >::type\r
+{\r
+    typedef typename aux::set_impl<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19\r
+        >::type type;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..eb0f084
--- /dev/null
@@ -0,0 +1,534 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/set_c.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+template< int N >\r
+struct set_c_chooser;\r
+\r
+}\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_c_chooser<0>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set0_c<\r
+              T\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_c_chooser<1>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set1_c<\r
+              T, C0\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_c_chooser<2>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set2_c<\r
+              T, C0, C1\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_c_chooser<3>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set3_c<\r
+              T, C0, C1, C2\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_c_chooser<4>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set4_c<\r
+              T, C0, C1, C2, C3\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_c_chooser<5>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set5_c<\r
+              T, C0, C1, C2, C3, C4\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_c_chooser<6>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set6_c<\r
+              T, C0, C1, C2, C3, C4, C5\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_c_chooser<7>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set7_c<\r
+              T, C0, C1, C2, C3, C4, C5, C6\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_c_chooser<8>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set8_c<\r
+              T, C0, C1, C2, C3, C4, C5, C6, C7\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_c_chooser<9>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set9_c<\r
+              T, C0, C1, C2, C3, C4, C5, C6, C7, C8\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_c_chooser<10>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set10_c<\r
+              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_c_chooser<11>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set11_c<\r
+              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_c_chooser<12>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set12_c<\r
+              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_c_chooser<13>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set13_c<\r
+              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_c_chooser<14>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set14_c<\r
+              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_c_chooser<15>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set15_c<\r
+              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_c_chooser<16>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set16_c<\r
+              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_c_chooser<17>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set17_c<\r
+              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_c_chooser<18>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set18_c<\r
+              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_c_chooser<19>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set19_c<\r
+              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_c_chooser<20>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set20_c<\r
+              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template< long C >\r
+struct is_set_c_arg\r
+{\r
+    BOOST_STATIC_CONSTANT(bool, value  = true);\r
+};\r
+\r
+template<>\r
+struct is_set_c_arg<LONG_MAX>\r
+{\r
+    BOOST_STATIC_CONSTANT(bool, value  = false);\r
+};\r
+\r
+template<\r
+      long C1, long C2, long C3, long C4, long C5, long C6, long C7, long C8\r
+    , long C9, long C10, long C11, long C12, long C13, long C14, long C15\r
+    , long C16, long C17, long C18, long C19, long C20\r
+    >\r
+struct set_c_count_args\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value =\r
+          is_set_c_arg<C1>::value + is_set_c_arg<C2>::value \r
+        + is_set_c_arg<C3>::value + is_set_c_arg<C4>::value \r
+        + is_set_c_arg<C5>::value + is_set_c_arg<C6>::value \r
+        + is_set_c_arg<C7>::value + is_set_c_arg<C8>::value \r
+        + is_set_c_arg<C9>::value + is_set_c_arg<C10>::value \r
+        + is_set_c_arg<C11>::value + is_set_c_arg<C12>::value \r
+        + is_set_c_arg<C13>::value + is_set_c_arg<C14>::value \r
+        + is_set_c_arg<C15>::value + is_set_c_arg<C16>::value \r
+        + is_set_c_arg<C17>::value + is_set_c_arg<C18>::value \r
+        + is_set_c_arg<C19>::value + is_set_c_arg<C20>::value\r
+        );\r
+\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+    >\r
+struct set_c_impl\r
+{\r
+    typedef aux::set_c_count_args<\r
+          C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19\r
+        > arg_num_;\r
+\r
+    typedef typename aux::set_c_chooser< arg_num_::value >\r
+        ::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;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX\r
+    , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX\r
+    , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX\r
+    , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX\r
+    , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX\r
+    , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX\r
+    , long C18 = LONG_MAX, long C19 = LONG_MAX\r
+    >\r
+struct set_c\r
+    : aux::set_c_impl<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19\r
+        >::type\r
+{\r
+    typedef typename aux::set_c_impl<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19\r
+        >::type type;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..3cc36a4
--- /dev/null
@@ -0,0 +1,114 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright Jaap Suter 2003\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/shift_left.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+\r
+    , BOOST_MPL_AUX_NTTP_DECL(int, tag1_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value\r
+    , BOOST_MPL_AUX_NTTP_DECL(int, tag2_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value\r
+    >\r
+struct shift_left_impl\r
+    : if_c<\r
+          ( tag1_ > tag2_ )\r
+        , aux::cast2nd_impl< shift_left_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< shift_left_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct shift_left_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct shift_left_impl< na,integral_c_tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct shift_left_impl< integral_c_tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct shift_left_tag\r
+    : tag< T,na >\r
+{\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct shift_left\r
+    : aux::msvc_eti_base< typename apply_wrap2<\r
+          shift_left_impl<\r
+              typename shift_left_tag<N1>::type\r
+            , typename shift_left_tag<N2>::type\r
+            >\r
+        , N1\r
+        , N2\r
+        >::type >::type\r
+\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_left, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_left)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+template< typename T, typename Shift, T n, Shift s >\r
+struct shift_left_wknd\r
+{\r
+    BOOST_STATIC_CONSTANT(T, value  = (n << s));\r
+    typedef integral_c< T,value > type;\r
+};\r
+\r
+}\r
+\r
+template<>\r
+struct shift_left_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N, typename S > struct apply\r
+        : aux::shift_left_wknd<\r
+              typename N::value_type\r
+            , typename S::value_type\r
+            , N::value\r
+            , S::value\r
+            >::type\r
+\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..28a4f4d
--- /dev/null
@@ -0,0 +1,114 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright Jaap Suter 2003\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/shift_right.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+\r
+    , BOOST_MPL_AUX_NTTP_DECL(int, tag1_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value\r
+    , BOOST_MPL_AUX_NTTP_DECL(int, tag2_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value\r
+    >\r
+struct shift_right_impl\r
+    : if_c<\r
+          ( tag1_ > tag2_ )\r
+        , aux::cast2nd_impl< shift_right_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< shift_right_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct shift_right_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct shift_right_impl< na,integral_c_tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct shift_right_impl< integral_c_tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct shift_right_tag\r
+    : tag< T,na >\r
+{\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct shift_right\r
+    : aux::msvc_eti_base< typename apply_wrap2<\r
+          shift_right_impl<\r
+              typename shift_right_tag<N1>::type\r
+            , typename shift_right_tag<N2>::type\r
+            >\r
+        , N1\r
+        , N2\r
+        >::type >::type\r
+\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_right, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+template< typename T, typename Shift, T n, Shift s >\r
+struct shift_right_wknd\r
+{\r
+    BOOST_STATIC_CONSTANT(T, value  = (n >> s));\r
+    typedef integral_c< T,value > type;\r
+};\r
+\r
+}\r
+\r
+template<>\r
+struct shift_right_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N, typename S > struct apply\r
+        : aux::shift_right_wknd<\r
+              typename N::value_type\r
+            , typename S::value_type\r
+            , N::value\r
+            , S::value\r
+            >::type\r
+\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..1146ec2
--- /dev/null
@@ -0,0 +1,46 @@
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/template_arity.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+template< bool >\r
+struct template_arity_impl\r
+{\r
+    template< typename F > struct result_\r
+        : mpl::int_< -1 >\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct template_arity_impl<true>\r
+{\r
+    template< typename F > struct result_\r
+        : F::arity\r
+    {\r
+    };\r
+};\r
+\r
+template< typename F >\r
+struct template_arity\r
+    : template_arity_impl< ::boost::mpl::aux::has_rebind<F>::value >\r
+        ::template result_<F>\r
+{\r
+};\r
+\r
+template<>\r
+struct template_arity<int>\r
+    : mpl::int_< -1 >\r
+{\r
+};\r
+\r
+}}}\r
+\r
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 (file)
index 0000000..ab09b63
--- /dev/null
@@ -0,0 +1,150 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/times.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+\r
+    , BOOST_MPL_AUX_NTTP_DECL(int, tag1_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value\r
+    , BOOST_MPL_AUX_NTTP_DECL(int, tag2_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value\r
+    >\r
+struct times_impl\r
+    : if_c<\r
+          ( tag1_ > tag2_ )\r
+        , aux::cast2nd_impl< times_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< times_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct times_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct times_impl< na,integral_c_tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct times_impl< integral_c_tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct times_tag\r
+    : tag< T,na >\r
+{\r
+};\r
+\r
+/// forward declaration\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct times2;\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    , typename N3 = na, typename N4 = na, typename N5 = na\r
+    >\r
+struct times\r
+\r
+    : aux::msvc_eti_base< typename if_<\r
+\r
+          is_na<N3>\r
+        , times2< N1,N2 >\r
+        , times<\r
+              times2< N1,N2 >\r
+            , N3, N4, N5\r
+            >\r
+        >::type\r
+\r
+    >\r
+\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , times\r
+        , ( N1, N2, N3, N4, N5 )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1\r
+    , typename N2\r
+    >\r
+struct times2\r
+    : aux::msvc_eti_base< typename apply_wrap2<\r
+          times_impl<\r
+              typename times_tag<N1>::type\r
+            , typename times_tag<N2>::type\r
+            >\r
+        , N1\r
+        , N2\r
+        >::type >::type\r
+\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, times2, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 5, times)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+template< typename T, T n1, T n2 >\r
+struct times_wknd\r
+{\r
+    BOOST_STATIC_CONSTANT(T, value  = (n1 * n2));\r
+    typedef integral_c< T,value > type;\r
+};\r
+\r
+}\r
+\r
+template<>\r
+struct times_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+        : aux::times_wknd<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , N1::value\r
+            , N2::value\r
+            >::type\r
+\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..17718d9
--- /dev/null
@@ -0,0 +1,109 @@
+\r
+// Copyright Aleksey Gurtovoy 2002-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/unpack_args.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+\r
+template< BOOST_MPL_AUX_NTTP_DECL(int, size) > struct unpack_args_impl\r
+{\r
+    template< typename F, typename Args > struct apply;\r
+};\r
+\r
+template<> struct unpack_args_impl<0>\r
+{\r
+    template< typename F, typename Args > struct apply\r
+        : apply0<\r
+              F\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+template<> struct unpack_args_impl<1>\r
+{\r
+    template< typename F, typename Args > struct apply\r
+        : apply1<\r
+              F\r
+            , typename at_c< Args,0 >::type\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+template<> struct unpack_args_impl<2>\r
+{\r
+    template< typename F, typename Args > struct apply\r
+        : apply2<\r
+              F\r
+            , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+template<> struct unpack_args_impl<3>\r
+{\r
+    template< typename F, typename Args > struct apply\r
+        : apply3<\r
+              F\r
+            , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type\r
+            , typename at_c< Args,2 >::type\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+template<> struct unpack_args_impl<4>\r
+{\r
+    template< typename F, typename Args > struct apply\r
+        : apply4<\r
+              F\r
+            , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type\r
+            , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+template<> struct unpack_args_impl<5>\r
+{\r
+    template< typename F, typename Args > struct apply\r
+        : apply5<\r
+              F\r
+            , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type\r
+            , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type\r
+            , typename at_c< Args,4 >::type\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct unpack_args\r
+{\r
+    template< typename Args > struct apply\r
+\r
+        : aux::unpack_args_impl< size<Args>::value >\r
+            ::template apply< F,Args >\r
+\r
+    {\r
+    };\r
+};\r
+\r
+BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args)\r
+\r
+}}\r
+\r
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 (file)
index 0000000..6c6fca5
--- /dev/null
@@ -0,0 +1,556 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/vector.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+template< int N >\r
+struct vector_chooser;\r
+\r
+}\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_chooser<0>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef vector0<\r
+             \r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_chooser<1>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector1<\r
+              T0\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_chooser<2>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector2<\r
+              T0, T1\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_chooser<3>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector3<\r
+              T0, T1, T2\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_chooser<4>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector4<\r
+              T0, T1, T2, T3\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_chooser<5>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector5<\r
+              T0, T1, T2, T3, T4\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_chooser<6>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector6<\r
+              T0, T1, T2, T3, T4, T5\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_chooser<7>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector7<\r
+              T0, T1, T2, T3, T4, T5, T6\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_chooser<8>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector8<\r
+              T0, T1, T2, T3, T4, T5, T6, T7\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_chooser<9>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector9<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_chooser<10>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector10<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_chooser<11>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector11<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_chooser<12>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector12<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_chooser<13>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector13<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_chooser<14>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector14<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_chooser<15>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector15<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_chooser<16>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector16<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_chooser<17>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector17<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_chooser<18>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector18<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_chooser<19>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector19<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_chooser<20>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector20<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template< typename T >\r
+struct is_vector_arg\r
+{\r
+    BOOST_STATIC_CONSTANT(bool, value  = true);\r
+};\r
+\r
+template<>\r
+struct is_vector_arg<na>\r
+{\r
+    BOOST_STATIC_CONSTANT(bool, value  = false);\r
+};\r
+\r
+template<\r
+      typename T1, typename T2, typename T3, typename T4, typename T5\r
+    , typename T6, typename T7, typename T8, typename T9, typename T10\r
+    , typename T11, typename T12, typename T13, typename T14, typename T15\r
+    , typename T16, typename T17, typename T18, typename T19, typename T20\r
+    >\r
+struct vector_count_args\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value =\r
+          is_vector_arg<T1>::value + is_vector_arg<T2>::value \r
+        + is_vector_arg<T3>::value + is_vector_arg<T4>::value \r
+        + is_vector_arg<T5>::value + is_vector_arg<T6>::value \r
+        + is_vector_arg<T7>::value + is_vector_arg<T8>::value \r
+        + is_vector_arg<T9>::value + is_vector_arg<T10>::value \r
+        + is_vector_arg<T11>::value + is_vector_arg<T12>::value \r
+        + is_vector_arg<T13>::value + is_vector_arg<T14>::value \r
+        + is_vector_arg<T15>::value + is_vector_arg<T16>::value \r
+        + is_vector_arg<T17>::value + is_vector_arg<T18>::value \r
+        + is_vector_arg<T19>::value + is_vector_arg<T20>::value\r
+        );\r
+\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    >\r
+struct vector_impl\r
+{\r
+    typedef aux::vector_count_args<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19\r
+        > arg_num_;\r
+\r
+    typedef typename aux::vector_chooser< arg_num_::value >\r
+        ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na\r
+    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na\r
+    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na\r
+    , typename T12 = na, typename T13 = na, typename T14 = na\r
+    , typename T15 = na, typename T16 = na, typename T17 = na\r
+    , typename T18 = na, typename T19 = na\r
+    >\r
+struct vector\r
+    : aux::vector_impl<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19\r
+        >::type\r
+{\r
+    typedef typename aux::vector_impl<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19\r
+        >::type type;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..894023e
--- /dev/null
@@ -0,0 +1,534 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/vector_c.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+template< int N >\r
+struct vector_c_chooser;\r
+\r
+}\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_c_chooser<0>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector0_c<\r
+              T\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_c_chooser<1>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector1_c<\r
+              T, T(C0)\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_c_chooser<2>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector2_c<\r
+              T, T(C0), T(C1)\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_c_chooser<3>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector3_c<\r
+              T, T(C0), T(C1), T(C2)\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_c_chooser<4>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector4_c<\r
+              T, T(C0), T(C1), T(C2), T(C3)\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_c_chooser<5>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector5_c<\r
+              T, T(C0), T(C1), T(C2), T(C3), T(C4)\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_c_chooser<6>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector6_c<\r
+              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5)\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_c_chooser<7>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector7_c<\r
+              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6)\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_c_chooser<8>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector8_c<\r
+              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7)\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_c_chooser<9>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector9_c<\r
+              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8)\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_c_chooser<10>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector10_c<\r
+              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9)\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_c_chooser<11>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector11_c<\r
+              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10)\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_c_chooser<12>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector12_c<\r
+              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11)\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_c_chooser<13>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector13_c<\r
+              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12)\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_c_chooser<14>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector14_c<\r
+              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13)\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_c_chooser<15>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector15_c<\r
+              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14)\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_c_chooser<16>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector16_c<\r
+              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15)\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_c_chooser<17>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector17_c<\r
+              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16)\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_c_chooser<18>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector18_c<\r
+              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17)\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_c_chooser<19>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector19_c<\r
+              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18)\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_c_chooser<20>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector20_c<\r
+              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19)\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template< long C >\r
+struct is_vector_c_arg\r
+{\r
+    BOOST_STATIC_CONSTANT(bool, value  = true);\r
+};\r
+\r
+template<>\r
+struct is_vector_c_arg<LONG_MAX>\r
+{\r
+    BOOST_STATIC_CONSTANT(bool, value  = false);\r
+};\r
+\r
+template<\r
+      long C1, long C2, long C3, long C4, long C5, long C6, long C7, long C8\r
+    , long C9, long C10, long C11, long C12, long C13, long C14, long C15\r
+    , long C16, long C17, long C18, long C19, long C20\r
+    >\r
+struct vector_c_count_args\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value =\r
+          is_vector_c_arg<C1>::value + is_vector_c_arg<C2>::value \r
+        + is_vector_c_arg<C3>::value + is_vector_c_arg<C4>::value \r
+        + is_vector_c_arg<C5>::value + is_vector_c_arg<C6>::value \r
+        + is_vector_c_arg<C7>::value + is_vector_c_arg<C8>::value \r
+        + is_vector_c_arg<C9>::value + is_vector_c_arg<C10>::value \r
+        + is_vector_c_arg<C11>::value + is_vector_c_arg<C12>::value \r
+        + is_vector_c_arg<C13>::value + is_vector_c_arg<C14>::value \r
+        + is_vector_c_arg<C15>::value + is_vector_c_arg<C16>::value \r
+        + is_vector_c_arg<C17>::value + is_vector_c_arg<C18>::value \r
+        + is_vector_c_arg<C19>::value + is_vector_c_arg<C20>::value\r
+        );\r
+\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+    >\r
+struct vector_c_impl\r
+{\r
+    typedef aux::vector_c_count_args<\r
+          C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19\r
+        > arg_num_;\r
+\r
+    typedef typename aux::vector_c_chooser< arg_num_::value >\r
+        ::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;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX\r
+    , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX\r
+    , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX\r
+    , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX\r
+    , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX\r
+    , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX\r
+    , long C18 = LONG_MAX, long C19 = LONG_MAX\r
+    >\r
+struct vector_c\r
+    : aux::vector_c_impl<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19\r
+        >::type\r
+{\r
+    typedef typename aux::vector_c_impl<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19\r
+        >::type type;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..2d65040
--- /dev/null
@@ -0,0 +1,97 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/advance_backward.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+template< long N > struct advance_backward;\r
+template<>\r
+struct advance_backward<0>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef iter0 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct advance_backward<1>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef typename prior<iter0>::type iter1;\r
+        typedef iter1 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct advance_backward<2>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef typename prior<iter0>::type iter1;\r
+        typedef typename prior<iter1>::type iter2;\r
+        typedef iter2 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct advance_backward<3>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef typename prior<iter0>::type iter1;\r
+        typedef typename prior<iter1>::type iter2;\r
+        typedef typename prior<iter2>::type iter3;\r
+        typedef iter3 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct advance_backward<4>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef typename prior<iter0>::type iter1;\r
+        typedef typename prior<iter1>::type iter2;\r
+        typedef typename prior<iter2>::type iter3;\r
+        typedef typename prior<iter3>::type iter4;\r
+        typedef iter4 type;\r
+    };\r
+};\r
+\r
+template< long N >\r
+struct advance_backward\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef typename apply_wrap1<\r
+              advance_backward<4>\r
+            , Iterator\r
+            >::type chunk_result_;\r
+\r
+        typedef typename apply_wrap1<\r
+              advance_backward<(\r
+                (N - 4) < 0\r
+                    ? 0\r
+                    : N - 4\r
+                    )>\r
+            , chunk_result_\r
+            >::type type;\r
+    };\r
+};\r
+\r
+}}}\r
+\r
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 (file)
index 0000000..9762f7b
--- /dev/null
@@ -0,0 +1,97 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/advance_forward.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+template< long N > struct advance_forward;\r
+template<>\r
+struct advance_forward<0>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef iter0 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct advance_forward<1>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef typename next<iter0>::type iter1;\r
+        typedef iter1 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct advance_forward<2>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef typename next<iter0>::type iter1;\r
+        typedef typename next<iter1>::type iter2;\r
+        typedef iter2 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct advance_forward<3>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef typename next<iter0>::type iter1;\r
+        typedef typename next<iter1>::type iter2;\r
+        typedef typename next<iter2>::type iter3;\r
+        typedef iter3 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct advance_forward<4>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef typename next<iter0>::type iter1;\r
+        typedef typename next<iter1>::type iter2;\r
+        typedef typename next<iter2>::type iter3;\r
+        typedef typename next<iter3>::type iter4;\r
+        typedef iter4 type;\r
+    };\r
+};\r
+\r
+template< long N >\r
+struct advance_forward\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef typename apply_wrap1<\r
+              advance_forward<4>\r
+            , Iterator\r
+            >::type chunk_result_;\r
+\r
+        typedef typename apply_wrap1<\r
+              advance_forward<(\r
+                (N - 4) < 0\r
+                    ? 0\r
+                    : N - 4\r
+                    )>\r
+            , chunk_result_\r
+            >::type type;\r
+    };\r
+};\r
+\r
+}}}\r
+\r
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 (file)
index 0000000..71e3b78
--- /dev/null
@@ -0,0 +1,69 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/and.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+\r
+template< bool C_, typename T1, typename T2, typename T3, typename T4 >\r
+struct and_impl\r
+    : false_\r
+{\r
+};\r
+\r
+template< typename T1, typename T2, typename T3, typename T4 >\r
+struct and_impl< true,T1,T2,T3,T4 >\r
+    : and_impl<\r
+          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value\r
+        , T2, T3, T4\r
+        , true_\r
+        >\r
+{\r
+};\r
+\r
+template<>\r
+struct and_impl<\r
+          true\r
+        , true_, true_, true_, true_\r
+        >\r
+    : true_\r
+{\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(T1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(T2)\r
+    , typename T3 = true_, typename T4 = true_, typename T5 = true_\r
+    >\r
+struct and_\r
+\r
+    : aux::and_impl<\r
+          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value\r
+        , T2, T3, T4, T5\r
+        >\r
+\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , and_\r
+        , ( T1, T2, T3, T4, T5)\r
+        )\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(\r
+      2\r
+    , 5\r
+    , and_\r
+    )\r
+\r
+}}\r
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 (file)
index 0000000..9508903
--- /dev/null
@@ -0,0 +1,169 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/apply.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct apply0\r
+\r
+    : apply_wrap0<\r
+          typename lambda<F>::type\r
+       \r
+        >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          1\r
+        , apply0\r
+        , (F )\r
+        )\r
+};\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct apply< F,na,na,na,na,na >\r
+    : apply0<F>\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct apply1\r
+\r
+    : apply_wrap1<\r
+          typename lambda<F>::type\r
+        , T1\r
+        >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          2\r
+        , apply1\r
+        , (F, T1)\r
+        )\r
+};\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct apply< F,T1,na,na,na,na >\r
+    : apply1< F,T1 >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+struct apply2\r
+\r
+    : apply_wrap2<\r
+          typename lambda<F>::type\r
+        , T1, T2\r
+        >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          3\r
+        , apply2\r
+        , (F, T1, T2)\r
+        )\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+struct apply< F,T1,T2,na,na,na >\r
+    : apply2< F,T1,T2 >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+struct apply3\r
+\r
+    : apply_wrap3<\r
+          typename lambda<F>::type\r
+        , T1, T2, T3\r
+        >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          4\r
+        , apply3\r
+        , (F, T1, T2, T3)\r
+        )\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+struct apply< F,T1,T2,T3,na,na >\r
+    : apply3< F,T1,T2,T3 >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct apply4\r
+\r
+    : apply_wrap4<\r
+          typename lambda<F>::type\r
+        , T1, T2, T3, T4\r
+        >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , apply4\r
+        , (F, T1, T2, T3, T4)\r
+        )\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct apply< F,T1,T2,T3,T4,na >\r
+    : apply4< F,T1,T2,T3,T4 >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct apply5\r
+\r
+    : apply_wrap5<\r
+          typename lambda<F>::type\r
+        , T1, T2, T3, T4, T5\r
+        >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          6\r
+        , apply5\r
+        , (F, T1, T2, T3, T4, T5)\r
+        )\r
+};\r
+\r
+/// primary template (not a specialization!)\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct apply\r
+    : apply5< F,T1,T2,T3,T4,T5 >\r
+{\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..b1c5573
--- /dev/null
@@ -0,0 +1,52 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/apply_fwd.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename F, typename T1 = na, typename T2 = na, typename T3 = na\r
+    , typename T4 = na, typename T5 = na\r
+    >\r
+struct apply;\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct apply0;\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct apply1;\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+struct apply2;\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+struct apply3;\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct apply4;\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct apply5;\r
+\r
+}}\r
+\r
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 (file)
index 0000000..8603cc3
--- /dev/null
@@ -0,0 +1,456 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/apply_wrap.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      int N, typename F\r
+    >\r
+struct apply_wrap_impl0;\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct apply_wrap_impl0<\r
+          0\r
+        , F\r
+       \r
+        >\r
+{\r
+    typedef typename F::template apply<\r
+         \r
+/// since the defaults are "lost", we have to pass *something* even for nullary\r
+/// metafunction classes\r
+        na\r
+        > type;\r
+};\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct apply_wrap_impl0<\r
+          1\r
+        , F\r
+       \r
+        >\r
+{\r
+    typedef typename F::template apply<\r
+         \r
+        na\r
+        > type;\r
+};\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct apply_wrap_impl0<\r
+          2\r
+        , F\r
+       \r
+        >\r
+{\r
+    typedef typename F::template apply<\r
+         \r
+        na, na\r
+\r
+        > type;\r
+};\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct apply_wrap_impl0<\r
+          3\r
+        , F\r
+       \r
+        >\r
+{\r
+    typedef typename F::template apply<\r
+         \r
+        na, na, na\r
+\r
+        > type;\r
+};\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct apply_wrap_impl0<\r
+          4\r
+        , F\r
+       \r
+        >\r
+{\r
+    typedef typename F::template apply<\r
+         \r
+        na, na, na, na\r
+\r
+        > type;\r
+};\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct apply_wrap_impl0<\r
+          5\r
+        , F\r
+       \r
+        >\r
+{\r
+    typedef typename F::template apply<\r
+         \r
+        na, na, na, na, na\r
+\r
+        > type;\r
+};\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct apply_wrap0\r
+    : apply_wrap_impl0<\r
+          ::boost::mpl::aux::arity< F,0 >::value\r
+        , F\r
+       \r
+        >::type\r
+{\r
+};\r
+\r
+template<\r
+      int N, typename F, typename T1\r
+    >\r
+struct apply_wrap_impl1;\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct apply_wrap_impl1<\r
+          1\r
+        , F\r
+        , T1\r
+        >\r
+{\r
+    typedef typename F::template apply<\r
+          T1\r
+        > type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct apply_wrap_impl1<\r
+          2\r
+        , F\r
+        , T1\r
+        >\r
+{\r
+    typedef typename F::template apply<\r
+          T1\r
+        , na\r
+\r
+        > type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct apply_wrap_impl1<\r
+          3\r
+        , F\r
+        , T1\r
+        >\r
+{\r
+    typedef typename F::template apply<\r
+          T1\r
+        , na, na\r
+\r
+        > type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct apply_wrap_impl1<\r
+          4\r
+        , F\r
+        , T1\r
+        >\r
+{\r
+    typedef typename F::template apply<\r
+          T1\r
+        , na, na, na\r
+\r
+        > type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct apply_wrap_impl1<\r
+          5\r
+        , F\r
+        , T1\r
+        >\r
+{\r
+    typedef typename F::template apply<\r
+          T1\r
+        , na, na, na, na\r
+\r
+        > type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct apply_wrap1\r
+    : apply_wrap_impl1<\r
+          ::boost::mpl::aux::arity< F,1 >::value\r
+        , F\r
+        , T1\r
+        >::type\r
+{\r
+};\r
+\r
+template<\r
+      int N, typename F, typename T1, typename T2\r
+    >\r
+struct apply_wrap_impl2;\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+struct apply_wrap_impl2<\r
+          2\r
+        , F\r
+        , T1, T2\r
+        >\r
+{\r
+    typedef typename F::template apply<\r
+          T1, T2\r
+\r
+        > type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+struct apply_wrap_impl2<\r
+          3\r
+        , F\r
+        , T1, T2\r
+        >\r
+{\r
+    typedef typename F::template apply<\r
+          T1, T2\r
+\r
+        , na\r
+\r
+        > type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+struct apply_wrap_impl2<\r
+          4\r
+        , F\r
+        , T1, T2\r
+        >\r
+{\r
+    typedef typename F::template apply<\r
+          T1, T2\r
+\r
+        , na, na\r
+\r
+        > type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+struct apply_wrap_impl2<\r
+          5\r
+        , F\r
+        , T1, T2\r
+        >\r
+{\r
+    typedef typename F::template apply<\r
+          T1, T2\r
+\r
+        , na, na, na\r
+\r
+        > type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+struct apply_wrap2\r
+    : apply_wrap_impl2<\r
+          ::boost::mpl::aux::arity< F,2 >::value\r
+        , F\r
+        , T1, T2\r
+        >::type\r
+{\r
+};\r
+\r
+template<\r
+      int N, typename F, typename T1, typename T2, typename T3\r
+    >\r
+struct apply_wrap_impl3;\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+struct apply_wrap_impl3<\r
+          3\r
+        , F\r
+        , T1, T2, T3\r
+        >\r
+{\r
+    typedef typename F::template apply<\r
+          T1, T2, T3\r
+\r
+        > type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+struct apply_wrap_impl3<\r
+          4\r
+        , F\r
+        , T1, T2, T3\r
+        >\r
+{\r
+    typedef typename F::template apply<\r
+          T1, T2, T3\r
+\r
+        , na\r
+\r
+        > type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+struct apply_wrap_impl3<\r
+          5\r
+        , F\r
+        , T1, T2, T3\r
+        >\r
+{\r
+    typedef typename F::template apply<\r
+          T1, T2, T3\r
+\r
+        , na, na\r
+\r
+        > type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+struct apply_wrap3\r
+    : apply_wrap_impl3<\r
+          ::boost::mpl::aux::arity< F,3 >::value\r
+        , F\r
+        , T1, T2, T3\r
+        >::type\r
+{\r
+};\r
+\r
+template<\r
+      int N, typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct apply_wrap_impl4;\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct apply_wrap_impl4<\r
+          4\r
+        , F\r
+        , T1, T2, T3, T4\r
+        >\r
+{\r
+    typedef typename F::template apply<\r
+          T1, T2, T3, T4\r
+\r
+        > type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct apply_wrap_impl4<\r
+          5\r
+        , F\r
+        , T1, T2, T3, T4\r
+        >\r
+{\r
+    typedef typename F::template apply<\r
+          T1, T2, T3, T4\r
+\r
+        , na\r
+\r
+        > type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct apply_wrap4\r
+    : apply_wrap_impl4<\r
+          ::boost::mpl::aux::arity< F,4 >::value\r
+        , F\r
+        , T1, T2, T3, T4\r
+        >::type\r
+{\r
+};\r
+\r
+template<\r
+      int N, typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct apply_wrap_impl5;\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct apply_wrap_impl5<\r
+          5\r
+        , F\r
+        , T1, T2, T3, T4, T5\r
+        >\r
+{\r
+    typedef typename F::template apply<\r
+          T1, T2, T3, T4, T5\r
+\r
+        > type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct apply_wrap5\r
+    : apply_wrap_impl5<\r
+          ::boost::mpl::aux::arity< F,5 >::value\r
+        , F\r
+        , T1, T2, T3, T4, T5\r
+        >::type\r
+{\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..a77b8a2
--- /dev/null
@@ -0,0 +1,123 @@
+\r
+// Copyright Peter Dimov 2001-2002\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/arg.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+template<> struct arg< -1 >\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value  = -1);\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)\r
+\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+        typedef U1 type;\r
+        BOOST_MPL_AUX_ASSERT_NOT_NA(type);\r
+    };\r
+};\r
+\r
+template<> struct arg<1>\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value  = 1);\r
+    typedef arg<2> next;\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)\r
+\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+        typedef U1 type;\r
+        BOOST_MPL_AUX_ASSERT_NOT_NA(type);\r
+    };\r
+};\r
+\r
+template<> struct arg<2>\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value  = 2);\r
+    typedef arg<3> next;\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)\r
+\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+        typedef U2 type;\r
+        BOOST_MPL_AUX_ASSERT_NOT_NA(type);\r
+    };\r
+};\r
+\r
+template<> struct arg<3>\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value  = 3);\r
+    typedef arg<4> next;\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)\r
+\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+        typedef U3 type;\r
+        BOOST_MPL_AUX_ASSERT_NOT_NA(type);\r
+    };\r
+};\r
+\r
+template<> struct arg<4>\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value  = 4);\r
+    typedef arg<5> next;\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)\r
+\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+        typedef U4 type;\r
+        BOOST_MPL_AUX_ASSERT_NOT_NA(type);\r
+    };\r
+};\r
+\r
+template<> struct arg<5>\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value  = 5);\r
+    typedef arg<6> next;\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)\r
+\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+        typedef U5 type;\r
+        BOOST_MPL_AUX_ASSERT_NOT_NA(type);\r
+    };\r
+};\r
+\r
+BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg)\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
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 (file)
index 0000000..74072c9
--- /dev/null
@@ -0,0 +1,440 @@
+\r
+// Copyright Peter Dimov 2001\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/basic_bind.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename T, typename U1, typename U2, typename U3, typename U4\r
+    , typename U5\r
+    >\r
+struct resolve_bind_arg\r
+{\r
+    typedef T type;\r
+};\r
+\r
+template<\r
+      int N, typename U1, typename U2, typename U3, typename U4, typename U5\r
+    >\r
+struct resolve_bind_arg< arg<N>, U1, U2, U3, U4, U5 >\r
+{\r
+    typedef typename apply_wrap5<mpl::arg<N>, U1, U2, U3, U4, U5>::type type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename U1, typename U2, typename U3, typename U4\r
+    , typename U5\r
+    >\r
+struct resolve_bind_arg< bind< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 >\r
+{\r
+    typedef bind< F,T1,T2,T3,T4,T5 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct bind0\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;\r
+\r
+     public:\r
+        typedef typename apply_wrap0<\r
+              f_\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename U1, typename U2, typename U3, typename U4\r
+    , typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind0<F>, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind0<F> f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(1, bind0)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct bind< F,na,na,na,na,na >\r
+    : bind0<F>\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct bind1\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;\r
+        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;\r
+\r
+     public:\r
+        typedef typename apply_wrap1<\r
+              f_\r
+            , typename t1::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename U1, typename U2, typename U3\r
+    , typename U4, typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind1< F,T1 >, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind1< F,T1 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(2, bind1)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct bind< F,T1,na,na,na,na >\r
+    : bind1< F,T1 >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+struct bind2\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;\r
+        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;\r
+        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;\r
+\r
+     public:\r
+        typedef typename apply_wrap2<\r
+              f_\r
+            , typename t1::type, typename t2::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename U1, typename U2\r
+    , typename U3, typename U4, typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind2< F,T1,T2 >, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind2< F,T1,T2 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(3, bind2)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+struct bind< F,T1,T2,na,na,na >\r
+    : bind2< F,T1,T2 >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+struct bind3\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;\r
+        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;\r
+        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;\r
+        typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;\r
+\r
+     public:\r
+        typedef typename apply_wrap3<\r
+              f_\r
+            , typename t1::type, typename t2::type, typename t3::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename U1\r
+    , typename U2, typename U3, typename U4, typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind3< F,T1,T2,T3 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(4, bind3)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+struct bind< F,T1,T2,T3,na,na >\r
+    : bind3< F,T1,T2,T3 >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct bind4\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;\r
+        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;\r
+        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;\r
+        typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;\r
+        typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4;\r
+\r
+     public:\r
+        typedef typename apply_wrap4<\r
+              f_\r
+            , typename t1::type, typename t2::type, typename t3::type\r
+            , typename t4::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename U1, typename U2, typename U3, typename U4, typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind4< F,T1,T2,T3,T4 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(5, bind4)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct bind< F,T1,T2,T3,T4,na >\r
+    : bind4< F,T1,T2,T3,T4 >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct bind5\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;\r
+        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;\r
+        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;\r
+        typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;\r
+        typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4;\r
+        typedef aux::resolve_bind_arg< T5,U1,U2,U3,U4,U5 > t5;\r
+\r
+     public:\r
+        typedef typename apply_wrap5<\r
+              f_\r
+            , typename t1::type, typename t2::type, typename t3::type\r
+            , typename t4::type, typename t5::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename U1, typename U2, typename U3, typename U4\r
+    , typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind5< F,T1,T2,T3,T4,T5 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(6, bind5)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)\r
+\r
+/// primary template (not a specialization!)\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct bind\r
+    : bind5< F,T1,T2,T3,T4,T5 >\r
+{\r
+};\r
+\r
+/// if_/eval_if specializations\r
+template< template< typename T1, typename T2, typename T3 > class F, typename Tag >\r
+struct quote3;\r
+\r
+template< typename T1, typename T2, typename T3 > struct if_;\r
+\r
+template<\r
+      typename Tag, typename T1, typename T2, typename T3\r
+    >\r
+struct bind3<\r
+      quote3< if_,Tag >\r
+    , T1, T2, T3\r
+    >\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef mpl::arg<1> n1;\r
+        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;\r
+        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;\r
+        typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;\r
+        typedef typename if_<\r
+              typename t1::type\r
+            , t2, t3\r
+            >::type f_;\r
+\r
+     public:\r
+        typedef typename f_::type type;\r
+    };\r
+};\r
+\r
+template<\r
+      template< typename T1, typename T2, typename T3 > class F, typename Tag\r
+    >\r
+struct quote3;\r
+\r
+template< typename T1, typename T2, typename T3 > struct eval_if;\r
+\r
+template<\r
+      typename Tag, typename T1, typename T2, typename T3\r
+    >\r
+struct bind3<\r
+      quote3< eval_if,Tag >\r
+    , T1, T2, T3\r
+    >\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef mpl::arg<1> n1;\r
+        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;\r
+        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;\r
+        typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;\r
+        typedef typename eval_if<\r
+              typename t1::type\r
+            , t2, t3\r
+            >::type f_;\r
+\r
+     public:\r
+        typedef typename f_::type type;\r
+    };\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..888fbc6
--- /dev/null
@@ -0,0 +1,561 @@
+\r
+// Copyright Peter Dimov 2001\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/bind.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename T, typename U1, typename U2, typename U3, typename U4\r
+    , typename U5\r
+    >\r
+struct resolve_bind_arg\r
+{\r
+    typedef T type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , typename Arg\r
+    >\r
+struct replace_unnamed_arg\r
+{\r
+    typedef Arg next;\r
+    typedef T type;\r
+};\r
+\r
+template<\r
+      typename Arg\r
+    >\r
+struct replace_unnamed_arg< arg< -1 >, Arg >\r
+{\r
+    typedef typename Arg::next next;\r
+    typedef Arg type;\r
+};\r
+\r
+template<\r
+      int N, typename U1, typename U2, typename U3, typename U4, typename U5\r
+    >\r
+struct resolve_bind_arg< arg<N>, U1, U2, U3, U4, U5 >\r
+{\r
+    typedef typename apply_wrap5<mpl::arg<N>, U1, U2, U3, U4, U5>::type type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename U1, typename U2, typename U3, typename U4\r
+    , typename U5\r
+    >\r
+struct resolve_bind_arg< bind< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 >\r
+{\r
+    typedef bind< F,T1,T2,T3,T4,T5 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct bind0\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;\r
+        typedef typename r0::type a0;\r
+        typedef typename r0::next n1;\r
+        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;\r
+        ///\r
+     public:\r
+        typedef typename apply_wrap0<\r
+              f_\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename U1, typename U2, typename U3, typename U4\r
+    , typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind0<F>, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind0<F> f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(1, bind0)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct bind< F,na,na,na,na,na >\r
+    : bind0<F>\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct bind1\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;\r
+        typedef typename r0::type a0;\r
+        typedef typename r0::next n1;\r
+        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T1,n1 > r1;\r
+        typedef typename r1::type a1;\r
+        typedef typename r1::next n2;\r
+        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;\r
+        ///\r
+     public:\r
+        typedef typename apply_wrap1<\r
+              f_\r
+            , typename t1::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename U1, typename U2, typename U3\r
+    , typename U4, typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind1< F,T1 >, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind1< F,T1 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(2, bind1)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct bind< F,T1,na,na,na,na >\r
+    : bind1< F,T1 >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+struct bind2\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;\r
+        typedef typename r0::type a0;\r
+        typedef typename r0::next n1;\r
+        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T1,n1 > r1;\r
+        typedef typename r1::type a1;\r
+        typedef typename r1::next n2;\r
+        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T2,n2 > r2;\r
+        typedef typename r2::type a2;\r
+        typedef typename r2::next n3;\r
+        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;\r
+        ///\r
+     public:\r
+        typedef typename apply_wrap2<\r
+              f_\r
+            , typename t1::type, typename t2::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename U1, typename U2\r
+    , typename U3, typename U4, typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind2< F,T1,T2 >, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind2< F,T1,T2 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(3, bind2)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+struct bind< F,T1,T2,na,na,na >\r
+    : bind2< F,T1,T2 >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+struct bind3\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;\r
+        typedef typename r0::type a0;\r
+        typedef typename r0::next n1;\r
+        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T1,n1 > r1;\r
+        typedef typename r1::type a1;\r
+        typedef typename r1::next n2;\r
+        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T2,n2 > r2;\r
+        typedef typename r2::type a2;\r
+        typedef typename r2::next n3;\r
+        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T3,n3 > r3;\r
+        typedef typename r3::type a3;\r
+        typedef typename r3::next n4;\r
+        typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;\r
+        ///\r
+     public:\r
+        typedef typename apply_wrap3<\r
+              f_\r
+            , typename t1::type, typename t2::type, typename t3::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename U1\r
+    , typename U2, typename U3, typename U4, typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind3< F,T1,T2,T3 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(4, bind3)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+struct bind< F,T1,T2,T3,na,na >\r
+    : bind3< F,T1,T2,T3 >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct bind4\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;\r
+        typedef typename r0::type a0;\r
+        typedef typename r0::next n1;\r
+        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T1,n1 > r1;\r
+        typedef typename r1::type a1;\r
+        typedef typename r1::next n2;\r
+        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T2,n2 > r2;\r
+        typedef typename r2::type a2;\r
+        typedef typename r2::next n3;\r
+        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T3,n3 > r3;\r
+        typedef typename r3::type a3;\r
+        typedef typename r3::next n4;\r
+        typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T4,n4 > r4;\r
+        typedef typename r4::type a4;\r
+        typedef typename r4::next n5;\r
+        typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4;\r
+        ///\r
+     public:\r
+        typedef typename apply_wrap4<\r
+              f_\r
+            , typename t1::type, typename t2::type, typename t3::type\r
+            , typename t4::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename U1, typename U2, typename U3, typename U4, typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind4< F,T1,T2,T3,T4 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(5, bind4)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct bind< F,T1,T2,T3,T4,na >\r
+    : bind4< F,T1,T2,T3,T4 >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct bind5\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;\r
+        typedef typename r0::type a0;\r
+        typedef typename r0::next n1;\r
+        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T1,n1 > r1;\r
+        typedef typename r1::type a1;\r
+        typedef typename r1::next n2;\r
+        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T2,n2 > r2;\r
+        typedef typename r2::type a2;\r
+        typedef typename r2::next n3;\r
+        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T3,n3 > r3;\r
+        typedef typename r3::type a3;\r
+        typedef typename r3::next n4;\r
+        typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T4,n4 > r4;\r
+        typedef typename r4::type a4;\r
+        typedef typename r4::next n5;\r
+        typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T5,n5 > r5;\r
+        typedef typename r5::type a5;\r
+        typedef typename r5::next n6;\r
+        typedef aux::resolve_bind_arg< a5,U1,U2,U3,U4,U5 > t5;\r
+        ///\r
+     public:\r
+        typedef typename apply_wrap5<\r
+              f_\r
+            , typename t1::type, typename t2::type, typename t3::type\r
+            , typename t4::type, typename t5::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename U1, typename U2, typename U3, typename U4\r
+    , typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind5< F,T1,T2,T3,T4,T5 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(6, bind5)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)\r
+\r
+/// primary template (not a specialization!)\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct bind\r
+    : bind5< F,T1,T2,T3,T4,T5 >\r
+{\r
+};\r
+\r
+/// if_/eval_if specializations\r
+template< template< typename T1, typename T2, typename T3 > class F, typename Tag >\r
+struct quote3;\r
+\r
+template< typename T1, typename T2, typename T3 > struct if_;\r
+\r
+template<\r
+      typename Tag, typename T1, typename T2, typename T3\r
+    >\r
+struct bind3<\r
+      quote3< if_,Tag >\r
+    , T1, T2, T3\r
+    >\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef mpl::arg<1> n1;\r
+        typedef aux::replace_unnamed_arg< T1,n1 > r1;\r
+        typedef typename r1::type a1;\r
+        typedef typename r1::next n2;\r
+        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T2,n2 > r2;\r
+        typedef typename r2::type a2;\r
+        typedef typename r2::next n3;\r
+        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T3,n3 > r3;\r
+        typedef typename r3::type a3;\r
+        typedef typename r3::next n4;\r
+        typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;\r
+        ///\r
+        typedef typename if_<\r
+              typename t1::type\r
+            , t2, t3\r
+            >::type f_;\r
+\r
+     public:\r
+        typedef typename f_::type type;\r
+    };\r
+};\r
+\r
+template<\r
+      template< typename T1, typename T2, typename T3 > class F, typename Tag\r
+    >\r
+struct quote3;\r
+\r
+template< typename T1, typename T2, typename T3 > struct eval_if;\r
+\r
+template<\r
+      typename Tag, typename T1, typename T2, typename T3\r
+    >\r
+struct bind3<\r
+      quote3< eval_if,Tag >\r
+    , T1, T2, T3\r
+    >\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef mpl::arg<1> n1;\r
+        typedef aux::replace_unnamed_arg< T1,n1 > r1;\r
+        typedef typename r1::type a1;\r
+        typedef typename r1::next n2;\r
+        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T2,n2 > r2;\r
+        typedef typename r2::type a2;\r
+        typedef typename r2::next n3;\r
+        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T3,n3 > r3;\r
+        typedef typename r3::type a3;\r
+        typedef typename r3::next n4;\r
+        typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;\r
+        ///\r
+        typedef typename eval_if<\r
+              typename t1::type\r
+            , t2, t3\r
+            >::type f_;\r
+\r
+     public:\r
+        typedef typename f_::type type;\r
+    };\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..e47dd92
--- /dev/null
@@ -0,0 +1,52 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/bind_fwd.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename F, typename T1 = na, typename T2 = na, typename T3 = na\r
+    , typename T4 = na, typename T5 = na\r
+    >\r
+struct bind;\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct bind0;\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct bind1;\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+struct bind2;\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+struct bind3;\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct bind4;\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct bind5;\r
+\r
+}}\r
+\r
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 (file)
index 0000000..38cf55e
--- /dev/null
@@ -0,0 +1,147 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright Jaap Suter 2003\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/bitand.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct bitand_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< bitand_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< bitand_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct bitand_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct bitand_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct bitand_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct bitand_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    , typename N3 = na, typename N4 = na, typename N5 = na\r
+    >\r
+struct bitand_\r
+    : bitand_< bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>, N5>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , bitand_\r
+        , ( N1, N2, N3, N4, N5 )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3, typename N4\r
+    >\r
+struct bitand_< N1,N2,N3,N4,na >\r
+\r
+    : bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , bitand_\r
+        , ( N1, N2, N3, N4, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3\r
+    >\r
+struct bitand_< N1,N2,N3,na,na >\r
+\r
+    : bitand_< bitand_< N1,N2 >, N3>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , bitand_\r
+        , ( N1, N2, N3, na, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2\r
+    >\r
+struct bitand_< N1,N2,na,na,na >\r
+    : bitand_impl<\r
+          typename bitand_tag<N1>::type\r
+        , typename bitand_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , bitand_\r
+        , ( N1, N2, na, na, na )\r
+        )\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+template<>\r
+struct bitand_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : integral_c<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value\r
+                  & BOOST_MPL_AUX_VALUE_WKND(N2)::value\r
+                )\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..2f4162d
--- /dev/null
@@ -0,0 +1,147 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright Jaap Suter 2003\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/bitor.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct bitor_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< bitor_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< bitor_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct bitor_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct bitor_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct bitor_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct bitor_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    , typename N3 = na, typename N4 = na, typename N5 = na\r
+    >\r
+struct bitor_\r
+    : bitor_< bitor_< bitor_< bitor_< N1,N2 >, N3>, N4>, N5>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , bitor_\r
+        , ( N1, N2, N3, N4, N5 )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3, typename N4\r
+    >\r
+struct bitor_< N1,N2,N3,N4,na >\r
+\r
+    : bitor_< bitor_< bitor_< N1,N2 >, N3>, N4>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , bitor_\r
+        , ( N1, N2, N3, N4, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3\r
+    >\r
+struct bitor_< N1,N2,N3,na,na >\r
+\r
+    : bitor_< bitor_< N1,N2 >, N3>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , bitor_\r
+        , ( N1, N2, N3, na, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2\r
+    >\r
+struct bitor_< N1,N2,na,na,na >\r
+    : bitor_impl<\r
+          typename bitor_tag<N1>::type\r
+        , typename bitor_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , bitor_\r
+        , ( N1, N2, na, na, na )\r
+        )\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 5, bitor_)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+template<>\r
+struct bitor_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : integral_c<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value\r
+                  | BOOST_MPL_AUX_VALUE_WKND(N2)::value\r
+                )\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..b4daf8d
--- /dev/null
@@ -0,0 +1,147 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright Jaap Suter 2003\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/bitxor.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct bitxor_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< bitxor_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< bitxor_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct bitxor_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct bitxor_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct bitxor_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct bitxor_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    , typename N3 = na, typename N4 = na, typename N5 = na\r
+    >\r
+struct bitxor_\r
+    : bitxor_< bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>, N5>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , bitxor_\r
+        , ( N1, N2, N3, N4, N5 )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3, typename N4\r
+    >\r
+struct bitxor_< N1,N2,N3,N4,na >\r
+\r
+    : bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , bitxor_\r
+        , ( N1, N2, N3, N4, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3\r
+    >\r
+struct bitxor_< N1,N2,N3,na,na >\r
+\r
+    : bitxor_< bitxor_< N1,N2 >, N3>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , bitxor_\r
+        , ( N1, N2, N3, na, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2\r
+    >\r
+struct bitxor_< N1,N2,na,na,na >\r
+    : bitxor_impl<\r
+          typename bitxor_tag<N1>::type\r
+        , typename bitxor_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , bitxor_\r
+        , ( N1, N2, na, na, na )\r
+        )\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+template<>\r
+struct bitxor_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : integral_c<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value\r
+                  ^ BOOST_MPL_AUX_VALUE_WKND(N2)::value\r
+                )\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..ede9716
--- /dev/null
@@ -0,0 +1,323 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/deque.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na\r
+    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na\r
+    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na\r
+    , typename T12 = na, typename T13 = na, typename T14 = na\r
+    , typename T15 = na, typename T16 = na, typename T17 = na\r
+    , typename T18 = na, typename T19 = na\r
+    >\r
+struct deque;\r
+\r
+template<\r
+     \r
+    >\r
+struct deque<\r
+          na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector0<  >\r
+{\r
+    typedef vector0<  >::type type;\r
+};\r
+\r
+template<\r
+      typename T0\r
+    >\r
+struct deque<\r
+          T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector1<T0>\r
+{\r
+    typedef typename vector1<T0>::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1\r
+    >\r
+struct deque<\r
+          T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector2< T0,T1 >\r
+{\r
+    typedef typename vector2< T0,T1 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2\r
+    >\r
+struct deque<\r
+          T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector3< T0,T1,T2 >\r
+{\r
+    typedef typename vector3< T0,T1,T2 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector4< T0,T1,T2,T3 >\r
+{\r
+    typedef typename vector4< T0,T1,T2,T3 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector5< T0,T1,T2,T3,T4 >\r
+{\r
+    typedef typename vector5< T0,T1,T2,T3,T4 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector6< T0,T1,T2,T3,T4,T5 >\r
+{\r
+    typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector7< T0,T1,T2,T3,T4,T5,T6 >\r
+{\r
+    typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector8< T0,T1,T2,T3,T4,T5,T6,T7 >\r
+{\r
+    typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >\r
+{\r
+    typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >\r
+{\r
+    typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >\r
+{\r
+    typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na\r
+        , na, na, na, na\r
+        >\r
+    : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >\r
+{\r
+    typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na\r
+        , na, na, na, na\r
+        >\r
+    : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >\r
+{\r
+    typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na\r
+        , na, na, na, na\r
+        >\r
+    : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >\r
+{\r
+    typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na\r
+        , na, na, na, na\r
+        >\r
+    : vector15<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        >\r
+{\r
+    typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, na, na, na, na\r
+        >\r
+    : vector16<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15\r
+        >\r
+{\r
+    typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, na, na, na\r
+        >\r
+    : vector17<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16\r
+        >\r
+{\r
+    typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, na, na\r
+        >\r
+    : vector18<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17\r
+        >\r
+{\r
+    typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18, na\r
+        >\r
+    : vector19<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18\r
+        >\r
+{\r
+    typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;\r
+};\r
+\r
+/// primary template (not a specialization!)\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    >\r
+struct deque\r
+    : vector20<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18, T19\r
+        >\r
+{\r
+    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;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..55d9396
--- /dev/null
@@ -0,0 +1,146 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/divides.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct divides_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< divides_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< divides_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct divides_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct divides_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct divides_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct divides_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    , typename N3 = na, typename N4 = na, typename N5 = na\r
+    >\r
+struct divides\r
+    : divides< divides< divides< divides< N1,N2 >, N3>, N4>, N5>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , divides\r
+        , ( N1, N2, N3, N4, N5 )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3, typename N4\r
+    >\r
+struct divides< N1,N2,N3,N4,na >\r
+\r
+    : divides< divides< divides< N1,N2 >, N3>, N4>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , divides\r
+        , ( N1, N2, N3, N4, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3\r
+    >\r
+struct divides< N1,N2,N3,na,na >\r
+\r
+    : divides< divides< N1,N2 >, N3>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , divides\r
+        , ( N1, N2, N3, na, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2\r
+    >\r
+struct divides< N1,N2,na,na,na >\r
+    : divides_impl<\r
+          typename divides_tag<N1>::type\r
+        , typename divides_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , divides\r
+        , ( N1, N2, na, na, na )\r
+        )\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 5, divides)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+template<>\r
+struct divides_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : integral_c<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value\r
+                  / BOOST_MPL_AUX_VALUE_WKND(N2)::value\r
+                )\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..211236e
--- /dev/null
@@ -0,0 +1,94 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/equal_to.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct equal_to_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct equal_to_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct equal_to_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct equal_to_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct equal_to_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct equal_to\r
+\r
+    : equal_to_impl<\r
+          typename equal_to_tag<N1>::type\r
+        , typename equal_to_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, equal_to, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct equal_to_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value  == BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..6d94f48
--- /dev/null
@@ -0,0 +1,180 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/fold_impl.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+/// forward declaration\r
+\r
+template<\r
+      int N\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct fold_impl;\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct fold_impl< 0,First,Last,State,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State state0;\r
+    typedef state0 state;\r
+    typedef iter0 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct fold_impl< 1,First,Last,State,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State state0;\r
+    typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    \r
+\r
+    typedef state1 state;\r
+    typedef iter1 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct fold_impl< 2,First,Last,State,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State state0;\r
+    typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;\r
+    typedef typename mpl::next<iter1>::type iter2;\r
+    \r
+\r
+    typedef state2 state;\r
+    typedef iter2 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct fold_impl< 3,First,Last,State,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State state0;\r
+    typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;\r
+    typedef typename mpl::next<iter1>::type iter2;\r
+    typedef typename apply2< ForwardOp, state2, typename deref<iter2>::type >::type state3;\r
+    typedef typename mpl::next<iter2>::type iter3;\r
+    \r
+\r
+    typedef state3 state;\r
+    typedef iter3 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct fold_impl< 4,First,Last,State,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State state0;\r
+    typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;\r
+    typedef typename mpl::next<iter1>::type iter2;\r
+    typedef typename apply2< ForwardOp, state2, typename deref<iter2>::type >::type state3;\r
+    typedef typename mpl::next<iter2>::type iter3;\r
+    typedef typename apply2< ForwardOp, state3, typename deref<iter3>::type >::type state4;\r
+    typedef typename mpl::next<iter3>::type iter4;\r
+    \r
+\r
+    typedef state4 state;\r
+    typedef iter4 iterator;\r
+};\r
+\r
+template<\r
+      int N\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct fold_impl\r
+{\r
+    typedef fold_impl<\r
+          4\r
+        , First\r
+        , Last\r
+        , State\r
+        , ForwardOp\r
+        > chunk_;\r
+\r
+    typedef fold_impl<\r
+          ( (N - 4) < 0 ? 0 : N - 4 )\r
+        , typename chunk_::iterator\r
+        , Last\r
+        , typename chunk_::state\r
+        , ForwardOp\r
+        > res_;\r
+\r
+    typedef typename res_::state state;\r
+    typedef typename res_::iterator iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct fold_impl< -1,First,Last,State,ForwardOp >\r
+    : fold_impl<\r
+          -1\r
+        , typename mpl::next<First>::type\r
+        , Last\r
+        , typename apply2<ForwardOp,State, typename deref<First>::type>::type\r
+        , ForwardOp\r
+        >\r
+{\r
+};\r
+\r
+template<\r
+      typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct fold_impl< -1,Last,Last,State,ForwardOp >\r
+{\r
+    typedef State state;\r
+    typedef Last iterator;\r
+};\r
+\r
+}}}\r
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 (file)
index 0000000..78cb47c
--- /dev/null
@@ -0,0 +1,554 @@
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/full_lambda.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+\r
+template<\r
+      bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false\r
+    , bool C5 = false\r
+    >\r
+struct lambda_or\r
+    : true_\r
+{\r
+};\r
+\r
+template<>\r
+struct lambda_or< false,false,false,false,false >\r
+    : false_\r
+{\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename T\r
+    , typename Tag\r
+   \r
+    >\r
+struct lambda\r
+{\r
+    typedef false_ is_le;\r
+    typedef T result_;\r
+    typedef T type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    >\r
+struct is_lambda_expression\r
+    : lambda<T>::is_le\r
+{\r
+};\r
+\r
+template< int N, typename Tag >\r
+struct lambda< arg<N>, Tag >\r
+{\r
+    typedef true_ is_le;\r
+    typedef mpl::arg<N> result_; // qualified for the sake of MIPSpro 7.41\r
+    typedef mpl::protect<result_> type;\r
+};\r
+\r
+template<\r
+      typename F\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          bind0<F>\r
+        , Tag\r
+       \r
+        >\r
+{\r
+    typedef false_ is_le;\r
+    typedef bind0<\r
+          F\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename IsLE, typename Tag\r
+    , template< typename P1 > class F\r
+    , typename L1\r
+    >\r
+struct le_result1\r
+{\r
+    typedef F<\r
+          typename L1::type\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+template<\r
+      typename Tag\r
+    , template< typename P1 > class F\r
+    , typename L1\r
+    >\r
+struct le_result1< true_,Tag,F,L1 >\r
+{\r
+    typedef bind1<\r
+          quote1< F,Tag >\r
+        , typename L1::result_\r
+        > result_;\r
+\r
+    typedef mpl::protect<result_> type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      template< typename P1 > class F\r
+    , typename T1\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          F<T1>\r
+        , Tag\r
+       \r
+        >\r
+{\r
+    typedef lambda< T1,Tag > l1;\r
+    typedef typename l1::is_le is_le1;\r
+    typedef typename aux::lambda_or<\r
+          is_le1::value\r
+        >::type is_le;\r
+\r
+    typedef aux::le_result1<\r
+          is_le, Tag, F, l1\r
+        > le_result_;\r
+\r
+    typedef typename le_result_::result_ result_;\r
+    typedef typename le_result_::type type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          bind1< F,T1 >\r
+        , Tag\r
+       \r
+        >\r
+{\r
+    typedef false_ is_le;\r
+    typedef bind1<\r
+          F\r
+        , T1\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename IsLE, typename Tag\r
+    , template< typename P1, typename P2 > class F\r
+    , typename L1, typename L2\r
+    >\r
+struct le_result2\r
+{\r
+    typedef F<\r
+          typename L1::type, typename L2::type\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+template<\r
+      typename Tag\r
+    , template< typename P1, typename P2 > class F\r
+    , typename L1, typename L2\r
+    >\r
+struct le_result2< true_,Tag,F,L1,L2 >\r
+{\r
+    typedef bind2<\r
+          quote2< F,Tag >\r
+        , typename L1::result_, typename L2::result_\r
+        > result_;\r
+\r
+    typedef mpl::protect<result_> type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      template< typename P1, typename P2 > class F\r
+    , typename T1, typename T2\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          F< T1,T2 >\r
+        , Tag\r
+       \r
+        >\r
+{\r
+    typedef lambda< T1,Tag > l1;\r
+    typedef lambda< T2,Tag > l2;\r
+    \r
+    typedef typename l1::is_le is_le1;\r
+    typedef typename l2::is_le is_le2;\r
+    \r
+\r
+    typedef typename aux::lambda_or<\r
+          is_le1::value, is_le2::value\r
+        >::type is_le;\r
+\r
+    typedef aux::le_result2<\r
+          is_le, Tag, F, l1, l2\r
+        > le_result_;\r
+\r
+    typedef typename le_result_::result_ result_;\r
+    typedef typename le_result_::type type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          bind2< F,T1,T2 >\r
+        , Tag\r
+       \r
+        >\r
+{\r
+    typedef false_ is_le;\r
+    typedef bind2<\r
+          F\r
+        , T1, T2\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename IsLE, typename Tag\r
+    , template< typename P1, typename P2, typename P3 > class F\r
+    , typename L1, typename L2, typename L3\r
+    >\r
+struct le_result3\r
+{\r
+    typedef F<\r
+          typename L1::type, typename L2::type, typename L3::type\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+template<\r
+      typename Tag\r
+    , template< typename P1, typename P2, typename P3 > class F\r
+    , typename L1, typename L2, typename L3\r
+    >\r
+struct le_result3< true_,Tag,F,L1,L2,L3 >\r
+{\r
+    typedef bind3<\r
+          quote3< F,Tag >\r
+        , typename L1::result_, typename L2::result_, typename L3::result_\r
+        > result_;\r
+\r
+    typedef mpl::protect<result_> type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      template< typename P1, typename P2, typename P3 > class F\r
+    , typename T1, typename T2, typename T3\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          F< T1,T2,T3 >\r
+        , Tag\r
+       \r
+        >\r
+{\r
+    typedef lambda< T1,Tag > l1;\r
+    typedef lambda< T2,Tag > l2;\r
+    typedef lambda< T3,Tag > l3;\r
+    \r
+    typedef typename l1::is_le is_le1;\r
+    typedef typename l2::is_le is_le2;\r
+    typedef typename l3::is_le is_le3;\r
+    \r
+\r
+    typedef typename aux::lambda_or<\r
+          is_le1::value, is_le2::value, is_le3::value\r
+        >::type is_le;\r
+\r
+    typedef aux::le_result3<\r
+          is_le, Tag, F, l1, l2, l3\r
+        > le_result_;\r
+\r
+    typedef typename le_result_::result_ result_;\r
+    typedef typename le_result_::type type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          bind3< F,T1,T2,T3 >\r
+        , Tag\r
+       \r
+        >\r
+{\r
+    typedef false_ is_le;\r
+    typedef bind3<\r
+          F\r
+        , T1, T2, T3\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename IsLE, typename Tag\r
+    , template< typename P1, typename P2, typename P3, typename P4 > class F\r
+    , typename L1, typename L2, typename L3, typename L4\r
+    >\r
+struct le_result4\r
+{\r
+    typedef F<\r
+          typename L1::type, typename L2::type, typename L3::type\r
+        , typename L4::type\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+template<\r
+      typename Tag\r
+    , template< typename P1, typename P2, typename P3, typename P4 > class F\r
+    , typename L1, typename L2, typename L3, typename L4\r
+    >\r
+struct le_result4< true_,Tag,F,L1,L2,L3,L4 >\r
+{\r
+    typedef bind4<\r
+          quote4< F,Tag >\r
+        , typename L1::result_, typename L2::result_, typename L3::result_\r
+        , typename L4::result_\r
+        > result_;\r
+\r
+    typedef mpl::protect<result_> type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      template< typename P1, typename P2, typename P3, typename P4 > class F\r
+    , typename T1, typename T2, typename T3, typename T4\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          F< T1,T2,T3,T4 >\r
+        , Tag\r
+       \r
+        >\r
+{\r
+    typedef lambda< T1,Tag > l1;\r
+    typedef lambda< T2,Tag > l2;\r
+    typedef lambda< T3,Tag > l3;\r
+    typedef lambda< T4,Tag > l4;\r
+    \r
+    typedef typename l1::is_le is_le1;\r
+    typedef typename l2::is_le is_le2;\r
+    typedef typename l3::is_le is_le3;\r
+    typedef typename l4::is_le is_le4;\r
+    \r
+\r
+    typedef typename aux::lambda_or<\r
+          is_le1::value, is_le2::value, is_le3::value, is_le4::value\r
+        >::type is_le;\r
+\r
+    typedef aux::le_result4<\r
+          is_le, Tag, F, l1, l2, l3, l4\r
+        > le_result_;\r
+\r
+    typedef typename le_result_::result_ result_;\r
+    typedef typename le_result_::type type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          bind4< F,T1,T2,T3,T4 >\r
+        , Tag\r
+       \r
+        >\r
+{\r
+    typedef false_ is_le;\r
+    typedef bind4<\r
+          F\r
+        , T1, T2, T3, T4\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename IsLE, typename Tag\r
+    , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F\r
+    , typename L1, typename L2, typename L3, typename L4, typename L5\r
+    >\r
+struct le_result5\r
+{\r
+    typedef F<\r
+          typename L1::type, typename L2::type, typename L3::type\r
+        , typename L4::type, typename L5::type\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+template<\r
+      typename Tag\r
+    , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F\r
+    , typename L1, typename L2, typename L3, typename L4, typename L5\r
+    >\r
+struct le_result5< true_,Tag,F,L1,L2,L3,L4,L5 >\r
+{\r
+    typedef bind5<\r
+          quote5< F,Tag >\r
+        , typename L1::result_, typename L2::result_, typename L3::result_\r
+        , typename L4::result_, typename L5::result_\r
+        > result_;\r
+\r
+    typedef mpl::protect<result_> type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      template<\r
+          typename P1, typename P2, typename P3, typename P4\r
+        , typename P5\r
+        >\r
+      class F\r
+    , typename T1, typename T2, typename T3, typename T4, typename T5\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          F< T1,T2,T3,T4,T5 >\r
+        , Tag\r
+       \r
+        >\r
+{\r
+    typedef lambda< T1,Tag > l1;\r
+    typedef lambda< T2,Tag > l2;\r
+    typedef lambda< T3,Tag > l3;\r
+    typedef lambda< T4,Tag > l4;\r
+    typedef lambda< T5,Tag > l5;\r
+    \r
+    typedef typename l1::is_le is_le1;\r
+    typedef typename l2::is_le is_le2;\r
+    typedef typename l3::is_le is_le3;\r
+    typedef typename l4::is_le is_le4;\r
+    typedef typename l5::is_le is_le5;\r
+    \r
+\r
+    typedef typename aux::lambda_or<\r
+          is_le1::value, is_le2::value, is_le3::value, is_le4::value\r
+        , is_le5::value\r
+        >::type is_le;\r
+\r
+    typedef aux::le_result5<\r
+          is_le, Tag, F, l1, l2, l3, l4, l5\r
+        > le_result_;\r
+\r
+    typedef typename le_result_::result_ result_;\r
+    typedef typename le_result_::type type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          bind5< F,T1,T2,T3,T4,T5 >\r
+        , Tag\r
+       \r
+        >\r
+{\r
+    typedef false_ is_le;\r
+    typedef bind5<\r
+          F\r
+        , T1, T2, T3, T4, T5\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+/// special case for 'protect'\r
+template< typename T, typename Tag >\r
+struct lambda< mpl::protect<T>, Tag >\r
+{\r
+    typedef false_ is_le;\r
+    typedef mpl::protect<T> result_;\r
+    typedef result_ type;\r
+};\r
+\r
+/// specializations for the main 'bind' form\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          bind< F,T1,T2,T3,T4,T5 >\r
+        , Tag\r
+       \r
+        >\r
+{\r
+    typedef false_ is_le;\r
+    typedef bind< F,T1,T2,T3,T4,T5 > result_;\r
+    typedef result_ type;\r
+};\r
+\r
+/// workaround for MWCW 8.3+/EDG < 303, leads to ambiguity on Digital Mars\r
+\r
+template<\r
+      typename F, typename Tag1, typename Tag2\r
+    >\r
+struct lambda<\r
+          lambda< F,Tag1 >\r
+        , Tag2\r
+        >\r
+{\r
+    typedef lambda< F,Tag2 > l1;\r
+    typedef lambda< Tag1,Tag2 > l2;\r
+    typedef typename l1::is_le is_le;\r
+    typedef aux::le_result2<is_le, Tag2, mpl::lambda, l1, l2> le_result_;\r
+    typedef typename le_result_::result_ result_;\r
+    typedef typename le_result_::type type;\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(2, lambda)\r
+\r
+}}\r
+\r
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 (file)
index 0000000..e626a2b
--- /dev/null
@@ -0,0 +1,94 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/greater.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct greater_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< greater_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< greater_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct greater_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct greater_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct greater_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct greater_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct greater\r
+\r
+    : greater_impl<\r
+          typename greater_tag<N1>::type\r
+        , typename greater_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, greater)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct greater_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value > BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..a4bc28e
--- /dev/null
@@ -0,0 +1,94 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/greater_equal.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct greater_equal_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< greater_equal_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< greater_equal_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct greater_equal_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct greater_equal_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct greater_equal_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct greater_equal_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct greater_equal\r
+\r
+    : greater_equal_impl<\r
+          typename greater_equal_tag<N1>::type\r
+        , typename greater_equal_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater_equal, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct greater_equal_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..3eb3bae
--- /dev/null
@@ -0,0 +1,141 @@
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/inherit.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(T1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(T2)\r
+    >\r
+struct inherit2\r
+    : T1, T2\r
+{\r
+    typedef inherit2 type;\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1, T2))\r
+};\r
+\r
+template< typename T1 >\r
+struct inherit2< T1,empty_base >\r
+{\r
+    typedef T1 type;\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (T1, empty_base))\r
+};\r
+\r
+template< typename T2 >\r
+struct inherit2< empty_base,T2 >\r
+{\r
+    typedef T2 type;\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, T2))\r
+};\r
+\r
+template<>\r
+struct inherit2< empty_base,empty_base >\r
+{\r
+    typedef empty_base type;\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, empty_base))\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(2, inherit2)\r
+\r
+template<\r
+      typename T1 = na, typename T2 = na, typename T3 = na\r
+    >\r
+struct inherit3\r
+    : inherit2<\r
+          typename inherit2<\r
+              T1, T2\r
+            >::type\r
+        , T3\r
+        >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          3\r
+        , inherit3\r
+        , ( T1, T2, T3)\r
+        )\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(3, inherit3)\r
+\r
+template<\r
+      typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na\r
+    >\r
+struct inherit4\r
+    : inherit2<\r
+          typename inherit3<\r
+              T1, T2, T3\r
+            >::type\r
+        , T4\r
+        >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          4\r
+        , inherit4\r
+        , ( T1, T2, T3, T4)\r
+        )\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(4, inherit4)\r
+\r
+template<\r
+      typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na\r
+    , typename T5 = na\r
+    >\r
+struct inherit5\r
+    : inherit2<\r
+          typename inherit4<\r
+              T1, T2, T3, T4\r
+            >::type\r
+        , T5\r
+        >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , inherit5\r
+        , ( T1, T2, T3, T4, T5)\r
+        )\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(5, inherit5)\r
+\r
+/// primary template\r
+\r
+template<\r
+      typename T1 = empty_base, typename T2 = empty_base\r
+    , typename T3 = empty_base, typename T4 = empty_base\r
+    , typename T5 = empty_base\r
+    >\r
+struct inherit\r
+    : inherit5< T1,T2,T3,T4,T5 >\r
+{\r
+};\r
+\r
+template<>\r
+struct inherit< na,na,na,na,na >\r
+{\r
+    template<\r
+\r
+          typename T1 = empty_base, typename T2 = empty_base\r
+        , typename T3 = empty_base, typename T4 = empty_base\r
+        , typename T5 = empty_base\r
+\r
+        >\r
+    struct apply\r
+        : inherit< T1,T2,T3,T4,T5 >\r
+    {\r
+    };\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit)\r
+BOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit)\r
+BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit)\r
+}}\r
+\r
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 (file)
index 0000000..233e7dd
--- /dev/null
@@ -0,0 +1,133 @@
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+// Copyright David Abrahams 2001-2002\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/iter_fold_if_impl.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+template< typename Iterator, typename State >\r
+struct iter_fold_if_null_step\r
+{\r
+    typedef State state;\r
+    typedef Iterator iterator;\r
+};\r
+\r
+template< bool >\r
+struct iter_fold_if_step_impl\r
+{\r
+    template<\r
+          typename Iterator\r
+        , typename State\r
+        , typename StateOp\r
+        , typename IteratorOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename apply2< StateOp,State,Iterator >::type state;\r
+        typedef typename IteratorOp::type iterator;\r
+    };\r
+};\r
+\r
+template<>\r
+struct iter_fold_if_step_impl<false>\r
+{\r
+    template<\r
+          typename Iterator\r
+        , typename State\r
+        , typename StateOp\r
+        , typename IteratorOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef State state;\r
+        typedef Iterator iterator;\r
+    };\r
+};\r
+\r
+template<\r
+      typename Iterator\r
+    , typename State\r
+    , typename ForwardOp\r
+    , typename Predicate\r
+    >\r
+struct iter_fold_if_forward_step\r
+{\r
+    typedef typename apply2< Predicate,State,Iterator >::type not_last;\r
+    typedef typename iter_fold_if_step_impl<\r
+          BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value\r
+        >::template result_< Iterator,State,ForwardOp, mpl::next<Iterator> > impl_;\r
+\r
+    typedef typename impl_::state state;\r
+    typedef typename impl_::iterator iterator;\r
+};\r
+\r
+template<\r
+      typename Iterator\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename Predicate\r
+    >\r
+struct iter_fold_if_backward_step\r
+{\r
+    typedef typename apply2< Predicate,State,Iterator >::type not_last;\r
+    typedef typename iter_fold_if_step_impl<\r
+          BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value\r
+        >::template result_< Iterator,State,BackwardOp, identity<Iterator> > impl_;\r
+\r
+    typedef typename impl_::state state;\r
+    typedef typename impl_::iterator iterator;\r
+};\r
+\r
+template<\r
+      typename Iterator\r
+    , typename State\r
+    , typename ForwardOp\r
+    , typename ForwardPredicate\r
+    , typename BackwardOp\r
+    , typename BackwardPredicate\r
+    >\r
+struct iter_fold_if_impl\r
+{\r
+ private:\r
+    typedef iter_fold_if_null_step< Iterator,State > forward_step0;\r
+    typedef iter_fold_if_forward_step< typename forward_step0::iterator, typename forward_step0::state, ForwardOp, ForwardPredicate > forward_step1;\r
+    typedef iter_fold_if_forward_step< typename forward_step1::iterator, typename forward_step1::state, ForwardOp, ForwardPredicate > forward_step2;\r
+    typedef iter_fold_if_forward_step< typename forward_step2::iterator, typename forward_step2::state, ForwardOp, ForwardPredicate > forward_step3;\r
+    typedef iter_fold_if_forward_step< typename forward_step3::iterator, typename forward_step3::state, ForwardOp, ForwardPredicate > forward_step4;\r
+    \r
+\r
+    typedef typename if_<\r
+          typename forward_step4::not_last\r
+        , iter_fold_if_impl<\r
+              typename forward_step4::iterator\r
+            , typename forward_step4::state\r
+            , ForwardOp\r
+            , ForwardPredicate\r
+            , BackwardOp\r
+            , BackwardPredicate\r
+            >\r
+        , iter_fold_if_null_step<\r
+              typename forward_step4::iterator\r
+            , typename forward_step4::state\r
+            >\r
+        >::type backward_step4;\r
+\r
+    typedef iter_fold_if_backward_step< typename forward_step3::iterator, typename backward_step4::state, BackwardOp, BackwardPredicate > backward_step3;\r
+    typedef iter_fold_if_backward_step< typename forward_step2::iterator, typename backward_step3::state, BackwardOp, BackwardPredicate > backward_step2;\r
+    typedef iter_fold_if_backward_step< typename forward_step1::iterator, typename backward_step2::state, BackwardOp, BackwardPredicate > backward_step1;\r
+    typedef iter_fold_if_backward_step< typename forward_step0::iterator, typename backward_step1::state, BackwardOp, BackwardPredicate > backward_step0;\r
+    \r
+\r
+ public:\r
+    typedef typename backward_step0::state state;\r
+    typedef typename backward_step4::iterator iterator;\r
+};\r
+\r
+}}}\r
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 (file)
index 0000000..f633d1b
--- /dev/null
@@ -0,0 +1,180 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/iter_fold_impl.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+/// forward declaration\r
+\r
+template<\r
+      int N\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct iter_fold_impl;\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct iter_fold_impl< 0,First,Last,State,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State state0;\r
+    typedef state0 state;\r
+    typedef iter0 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct iter_fold_impl< 1,First,Last,State,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State state0;\r
+    typedef typename apply2< ForwardOp,state0,iter0 >::type state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    \r
+\r
+    typedef state1 state;\r
+    typedef iter1 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct iter_fold_impl< 2,First,Last,State,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State state0;\r
+    typedef typename apply2< ForwardOp,state0,iter0 >::type state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    typedef typename apply2< ForwardOp,state1,iter1 >::type state2;\r
+    typedef typename mpl::next<iter1>::type iter2;\r
+    \r
+\r
+    typedef state2 state;\r
+    typedef iter2 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct iter_fold_impl< 3,First,Last,State,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State state0;\r
+    typedef typename apply2< ForwardOp,state0,iter0 >::type state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    typedef typename apply2< ForwardOp,state1,iter1 >::type state2;\r
+    typedef typename mpl::next<iter1>::type iter2;\r
+    typedef typename apply2< ForwardOp,state2,iter2 >::type state3;\r
+    typedef typename mpl::next<iter2>::type iter3;\r
+    \r
+\r
+    typedef state3 state;\r
+    typedef iter3 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct iter_fold_impl< 4,First,Last,State,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State state0;\r
+    typedef typename apply2< ForwardOp,state0,iter0 >::type state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    typedef typename apply2< ForwardOp,state1,iter1 >::type state2;\r
+    typedef typename mpl::next<iter1>::type iter2;\r
+    typedef typename apply2< ForwardOp,state2,iter2 >::type state3;\r
+    typedef typename mpl::next<iter2>::type iter3;\r
+    typedef typename apply2< ForwardOp,state3,iter3 >::type state4;\r
+    typedef typename mpl::next<iter3>::type iter4;\r
+    \r
+\r
+    typedef state4 state;\r
+    typedef iter4 iterator;\r
+};\r
+\r
+template<\r
+      int N\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct iter_fold_impl\r
+{\r
+    typedef iter_fold_impl<\r
+          4\r
+        , First\r
+        , Last\r
+        , State\r
+        , ForwardOp\r
+        > chunk_;\r
+\r
+    typedef iter_fold_impl<\r
+          ( (N - 4) < 0 ? 0 : N - 4 )\r
+        , typename chunk_::iterator\r
+        , Last\r
+        , typename chunk_::state\r
+        , ForwardOp\r
+        > res_;\r
+\r
+    typedef typename res_::state state;\r
+    typedef typename res_::iterator iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct iter_fold_impl< -1,First,Last,State,ForwardOp >\r
+    : iter_fold_impl<\r
+          -1\r
+        , typename mpl::next<First>::type\r
+        , Last\r
+        , typename apply2< ForwardOp,State,First >::type\r
+        , ForwardOp\r
+        >\r
+{\r
+};\r
+\r
+template<\r
+      typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct iter_fold_impl< -1,Last,Last,State,ForwardOp >\r
+{\r
+    typedef State state;\r
+    typedef Last iterator;\r
+};\r
+\r
+}}}\r
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 (file)
index 0000000..c4ac608
--- /dev/null
@@ -0,0 +1,229 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/lambda_no_ctps.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+\r
+template<\r
+      bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false\r
+    , bool C5 = false\r
+    >\r
+struct lambda_or\r
+    : true_\r
+{\r
+};\r
+\r
+template<>\r
+struct lambda_or< false,false,false,false,false >\r
+    : false_\r
+{\r
+};\r
+\r
+template< typename Arity > struct lambda_impl\r
+{\r
+    template< typename T, typename Tag, typename Protect > struct result_\r
+    {\r
+        typedef T type;\r
+        typedef is_placeholder<T> is_le;\r
+    };\r
+};\r
+\r
+template<> struct lambda_impl< int_<1> >\r
+{\r
+    template< typename F, typename Tag, typename Protect > struct result_\r
+    {\r
+        typedef lambda< typename F::arg1, Tag, false_ > l1;\r
+        typedef typename l1::is_le is_le1;\r
+        typedef aux::lambda_or<\r
+              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value\r
+            > is_le;\r
+\r
+        typedef bind1<\r
+              typename F::rebind\r
+            , typename l1::type\r
+            > bind_;\r
+\r
+        typedef typename if_<\r
+              is_le\r
+            , if_< Protect, mpl::protect<bind_>, bind_ >\r
+            , identity<F>\r
+            >::type type_;\r
+\r
+        typedef typename type_::type type;\r
+    };\r
+};\r
+\r
+template<> struct lambda_impl< int_<2> >\r
+{\r
+    template< typename F, typename Tag, typename Protect > struct result_\r
+    {\r
+        typedef lambda< typename F::arg1, Tag, false_ > l1;\r
+        typedef lambda< typename F::arg2, Tag, false_ > l2;\r
+        \r
+        typedef typename l1::is_le is_le1;\r
+        typedef typename l2::is_le is_le2;\r
+        \r
+\r
+        typedef aux::lambda_or<\r
+              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value\r
+            > is_le;\r
+\r
+        typedef bind2<\r
+              typename F::rebind\r
+            , typename l1::type, typename l2::type\r
+            > bind_;\r
+\r
+        typedef typename if_<\r
+              is_le\r
+            , if_< Protect, mpl::protect<bind_>, bind_ >\r
+            , identity<F>\r
+            >::type type_;\r
+\r
+        typedef typename type_::type type;\r
+    };\r
+};\r
+\r
+template<> struct lambda_impl< int_<3> >\r
+{\r
+    template< typename F, typename Tag, typename Protect > struct result_\r
+    {\r
+        typedef lambda< typename F::arg1, Tag, false_ > l1;\r
+        typedef lambda< typename F::arg2, Tag, false_ > l2;\r
+        typedef lambda< typename F::arg3, Tag, false_ > l3;\r
+        \r
+        typedef typename l1::is_le is_le1;\r
+        typedef typename l2::is_le is_le2;\r
+        typedef typename l3::is_le is_le3;\r
+        \r
+\r
+        typedef aux::lambda_or<\r
+              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\r
+            > is_le;\r
+\r
+        typedef bind3<\r
+              typename F::rebind\r
+            , typename l1::type, typename l2::type, typename l3::type\r
+            > bind_;\r
+\r
+        typedef typename if_<\r
+              is_le\r
+            , if_< Protect, mpl::protect<bind_>, bind_ >\r
+            , identity<F>\r
+            >::type type_;\r
+\r
+        typedef typename type_::type type;\r
+    };\r
+};\r
+\r
+template<> struct lambda_impl< int_<4> >\r
+{\r
+    template< typename F, typename Tag, typename Protect > struct result_\r
+    {\r
+        typedef lambda< typename F::arg1, Tag, false_ > l1;\r
+        typedef lambda< typename F::arg2, Tag, false_ > l2;\r
+        typedef lambda< typename F::arg3, Tag, false_ > l3;\r
+        typedef lambda< typename F::arg4, Tag, false_ > l4;\r
+        \r
+        typedef typename l1::is_le is_le1;\r
+        typedef typename l2::is_le is_le2;\r
+        typedef typename l3::is_le is_le3;\r
+        typedef typename l4::is_le is_le4;\r
+        \r
+\r
+        typedef aux::lambda_or<\r
+              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\r
+            > is_le;\r
+\r
+        typedef bind4<\r
+              typename F::rebind\r
+            , typename l1::type, typename l2::type, typename l3::type\r
+            , typename l4::type\r
+            > bind_;\r
+\r
+        typedef typename if_<\r
+              is_le\r
+            , if_< Protect, mpl::protect<bind_>, bind_ >\r
+            , identity<F>\r
+            >::type type_;\r
+\r
+        typedef typename type_::type type;\r
+    };\r
+};\r
+\r
+template<> struct lambda_impl< int_<5> >\r
+{\r
+    template< typename F, typename Tag, typename Protect > struct result_\r
+    {\r
+        typedef lambda< typename F::arg1, Tag, false_ > l1;\r
+        typedef lambda< typename F::arg2, Tag, false_ > l2;\r
+        typedef lambda< typename F::arg3, Tag, false_ > l3;\r
+        typedef lambda< typename F::arg4, Tag, false_ > l4;\r
+        typedef lambda< typename F::arg5, Tag, false_ > l5;\r
+        \r
+        typedef typename l1::is_le is_le1;\r
+        typedef typename l2::is_le is_le2;\r
+        typedef typename l3::is_le is_le3;\r
+        typedef typename l4::is_le is_le4;\r
+        typedef typename l5::is_le is_le5;\r
+        \r
+\r
+        typedef aux::lambda_or<\r
+              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\r
+            > is_le;\r
+\r
+        typedef bind5<\r
+              typename F::rebind\r
+            , typename l1::type, typename l2::type, typename l3::type\r
+            , typename l4::type, typename l5::type\r
+            > bind_;\r
+\r
+        typedef typename if_<\r
+              is_le\r
+            , if_< Protect, mpl::protect<bind_>, bind_ >\r
+            , identity<F>\r
+            >::type type_;\r
+\r
+        typedef typename type_::type type;\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename T\r
+    , typename Tag\r
+    , typename Protect\r
+    >\r
+struct lambda\r
+{\r
+    /// Metafunction forwarding confuses MSVC 6.x\r
+    typedef typename aux::template_arity<T>::type arity_;\r
+    typedef typename aux::lambda_impl<arity_>\r
+        ::template result_< T,Tag,Protect > l_;\r
+\r
+    typedef typename l_::type type;\r
+    typedef typename l_::is_le is_le;\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect))\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(1, 3, lambda)\r
+\r
+template<\r
+      typename T\r
+    >\r
+struct is_lambda_expression\r
+    : lambda<T>::is_le\r
+{\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..01dc25f
--- /dev/null
@@ -0,0 +1,94 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/less.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct less_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< less_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< less_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct less_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct less_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct less_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct less_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct less\r
+\r
+    : less_impl<\r
+          typename less_tag<N1>::type\r
+        , typename less_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, less)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct less_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N2)::value > BOOST_MPL_AUX_VALUE_WKND(N1)::value ) >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..233e936
--- /dev/null
@@ -0,0 +1,94 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/less_equal.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct less_equal_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< less_equal_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< less_equal_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct less_equal_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct less_equal_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct less_equal_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct less_equal_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct less_equal\r
+\r
+    : less_equal_impl<\r
+          typename less_equal_tag<N1>::type\r
+        , typename less_equal_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less_equal, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct less_equal_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value <= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..1dcd58b
--- /dev/null
@@ -0,0 +1,323 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/list.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na\r
+    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na\r
+    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na\r
+    , typename T12 = na, typename T13 = na, typename T14 = na\r
+    , typename T15 = na, typename T16 = na, typename T17 = na\r
+    , typename T18 = na, typename T19 = na\r
+    >\r
+struct list;\r
+\r
+template<\r
+     \r
+    >\r
+struct list<\r
+          na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list0<  >\r
+{\r
+    typedef list0<  >::type type;\r
+};\r
+\r
+template<\r
+      typename T0\r
+    >\r
+struct list<\r
+          T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list1<T0>\r
+{\r
+    typedef typename list1<T0>::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1\r
+    >\r
+struct list<\r
+          T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list2< T0,T1 >\r
+{\r
+    typedef typename list2< T0,T1 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2\r
+    >\r
+struct list<\r
+          T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list3< T0,T1,T2 >\r
+{\r
+    typedef typename list3< T0,T1,T2 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list4< T0,T1,T2,T3 >\r
+{\r
+    typedef typename list4< T0,T1,T2,T3 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list5< T0,T1,T2,T3,T4 >\r
+{\r
+    typedef typename list5< T0,T1,T2,T3,T4 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list6< T0,T1,T2,T3,T4,T5 >\r
+{\r
+    typedef typename list6< T0,T1,T2,T3,T4,T5 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list7< T0,T1,T2,T3,T4,T5,T6 >\r
+{\r
+    typedef typename list7< T0,T1,T2,T3,T4,T5,T6 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list8< T0,T1,T2,T3,T4,T5,T6,T7 >\r
+{\r
+    typedef typename list8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >\r
+{\r
+    typedef typename list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >\r
+{\r
+    typedef typename list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >\r
+{\r
+    typedef typename list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na\r
+        , na, na, na, na\r
+        >\r
+    : list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >\r
+{\r
+    typedef typename list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na\r
+        , na, na, na, na\r
+        >\r
+    : list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >\r
+{\r
+    typedef typename list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na\r
+        , na, na, na, na\r
+        >\r
+    : list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >\r
+{\r
+    typedef typename list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na\r
+        , na, na, na, na\r
+        >\r
+    : list15<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        >\r
+{\r
+    typedef typename list15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, na, na, na, na\r
+        >\r
+    : list16<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15\r
+        >\r
+{\r
+    typedef typename list16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, na, na, na\r
+        >\r
+    : list17<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16\r
+        >\r
+{\r
+    typedef typename list17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, na, na\r
+        >\r
+    : list18<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17\r
+        >\r
+{\r
+    typedef typename list18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18, na\r
+        >\r
+    : list19<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18\r
+        >\r
+{\r
+    typedef typename list19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;\r
+};\r
+\r
+/// primary template (not a specialization!)\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    >\r
+struct list\r
+    : list20<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18, T19\r
+        >\r
+{\r
+    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;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..578474e
--- /dev/null
@@ -0,0 +1,328 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/list_c.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX\r
+    , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX\r
+    , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX\r
+    , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX\r
+    , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX\r
+    , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX\r
+    , long C18 = LONG_MAX, long C19 = LONG_MAX\r
+    >\r
+struct list_c;\r
+\r
+template<\r
+      typename T\r
+    >\r
+struct list_c<\r
+          T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list0_c<T>\r
+{\r
+    typedef typename list0_c<T>::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0\r
+    >\r
+struct list_c<\r
+          T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list1_c< T,C0 >\r
+{\r
+    typedef typename list1_c< T,C0 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1\r
+    >\r
+struct list_c<\r
+          T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list2_c< T,C0,C1 >\r
+{\r
+    typedef typename list2_c< T,C0,C1 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list3_c< T,C0,C1,C2 >\r
+{\r
+    typedef typename list3_c< T,C0,C1,C2 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list4_c< T,C0,C1,C2,C3 >\r
+{\r
+    typedef typename list4_c< T,C0,C1,C2,C3 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list5_c< T,C0,C1,C2,C3,C4 >\r
+{\r
+    typedef typename list5_c< T,C0,C1,C2,C3,C4 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list6_c< T,C0,C1,C2,C3,C4,C5 >\r
+{\r
+    typedef typename list6_c< T,C0,C1,C2,C3,C4,C5 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list7_c< T,C0,C1,C2,C3,C4,C5,C6 >\r
+{\r
+    typedef typename list7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX\r
+        >\r
+    : list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >\r
+{\r
+    typedef typename list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX\r
+        >\r
+    : list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >\r
+{\r
+    typedef typename list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX\r
+        >\r
+    : list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >\r
+{\r
+    typedef typename list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >\r
+{\r
+    typedef typename list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >\r
+{\r
+    typedef typename list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >\r
+{\r
+    typedef typename list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list14_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13\r
+        >\r
+{\r
+    typedef typename list14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list15_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        >\r
+{\r
+    typedef typename list15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list16_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15\r
+        >\r
+{\r
+    typedef typename list16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list17_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16\r
+        >\r
+{\r
+    typedef typename list17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16, long C17\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17, LONG_MAX, LONG_MAX\r
+        >\r
+    : list18_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17\r
+        >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16, long C17, long C18\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17, C18, LONG_MAX\r
+        >\r
+    : list19_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17, C18\r
+        >\r
+{\r
+    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;\r
+};\r
+\r
+/// primary template (not a specialization!)\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+    >\r
+struct list_c\r
+    : list20_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17, C18, C19\r
+        >\r
+{\r
+    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;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..2f22291
--- /dev/null
@@ -0,0 +1,323 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/map.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na\r
+    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na\r
+    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na\r
+    , typename T12 = na, typename T13 = na, typename T14 = na\r
+    , typename T15 = na, typename T16 = na, typename T17 = na\r
+    , typename T18 = na, typename T19 = na\r
+    >\r
+struct map;\r
+\r
+template<\r
+     \r
+    >\r
+struct map<\r
+          na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map0<  >\r
+{\r
+    typedef map0<  >::type type;\r
+};\r
+\r
+template<\r
+      typename T0\r
+    >\r
+struct map<\r
+          T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map1<T0>\r
+{\r
+    typedef typename map1<T0>::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1\r
+    >\r
+struct map<\r
+          T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map2< T0,T1 >\r
+{\r
+    typedef typename map2< T0,T1 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2\r
+    >\r
+struct map<\r
+          T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map3< T0,T1,T2 >\r
+{\r
+    typedef typename map3< T0,T1,T2 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map4< T0,T1,T2,T3 >\r
+{\r
+    typedef typename map4< T0,T1,T2,T3 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map5< T0,T1,T2,T3,T4 >\r
+{\r
+    typedef typename map5< T0,T1,T2,T3,T4 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map6< T0,T1,T2,T3,T4,T5 >\r
+{\r
+    typedef typename map6< T0,T1,T2,T3,T4,T5 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map7< T0,T1,T2,T3,T4,T5,T6 >\r
+{\r
+    typedef typename map7< T0,T1,T2,T3,T4,T5,T6 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map8< T0,T1,T2,T3,T4,T5,T6,T7 >\r
+{\r
+    typedef typename map8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >\r
+{\r
+    typedef typename map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >\r
+{\r
+    typedef typename map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >\r
+{\r
+    typedef typename map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na\r
+        , na, na, na, na\r
+        >\r
+    : map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >\r
+{\r
+    typedef typename map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na\r
+        , na, na, na, na\r
+        >\r
+    : map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >\r
+{\r
+    typedef typename map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na\r
+        , na, na, na, na\r
+        >\r
+    : map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >\r
+{\r
+    typedef typename map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na\r
+        , na, na, na, na\r
+        >\r
+    : map15<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        >\r
+{\r
+    typedef typename map15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, na, na, na, na\r
+        >\r
+    : map16<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15\r
+        >\r
+{\r
+    typedef typename map16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, na, na, na\r
+        >\r
+    : map17<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16\r
+        >\r
+{\r
+    typedef typename map17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, na, na\r
+        >\r
+    : map18<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17\r
+        >\r
+{\r
+    typedef typename map18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18, na\r
+        >\r
+    : map19<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18\r
+        >\r
+{\r
+    typedef typename map19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;\r
+};\r
+\r
+/// primary template (not a specialization!)\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    >\r
+struct map\r
+    : map20<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18, T19\r
+        >\r
+{\r
+    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;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..afbdda2
--- /dev/null
@@ -0,0 +1,146 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/minus.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct minus_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< minus_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< minus_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct minus_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct minus_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct minus_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct minus_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    , typename N3 = na, typename N4 = na, typename N5 = na\r
+    >\r
+struct minus\r
+    : minus< minus< minus< minus< N1,N2 >, N3>, N4>, N5>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , minus\r
+        , ( N1, N2, N3, N4, N5 )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3, typename N4\r
+    >\r
+struct minus< N1,N2,N3,N4,na >\r
+\r
+    : minus< minus< minus< N1,N2 >, N3>, N4>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , minus\r
+        , ( N1, N2, N3, N4, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3\r
+    >\r
+struct minus< N1,N2,N3,na,na >\r
+\r
+    : minus< minus< N1,N2 >, N3>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , minus\r
+        , ( N1, N2, N3, na, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2\r
+    >\r
+struct minus< N1,N2,na,na,na >\r
+    : minus_impl<\r
+          typename minus_tag<N1>::type\r
+        , typename minus_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , minus\r
+        , ( N1, N2, na, na, na )\r
+        )\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 5, minus)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+template<>\r
+struct minus_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : integral_c<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value\r
+                  - BOOST_MPL_AUX_VALUE_WKND(N2)::value\r
+                )\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..d8f81ef
--- /dev/null
@@ -0,0 +1,101 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/modulus.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct modulus_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< modulus_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< modulus_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct modulus_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct modulus_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct modulus_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct modulus_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct modulus\r
+\r
+    : modulus_impl<\r
+          typename modulus_tag<N1>::type\r
+        , typename modulus_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, modulus, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, modulus)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+template<>\r
+struct modulus_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : integral_c<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value\r
+                  % BOOST_MPL_AUX_VALUE_WKND(N2)::value\r
+                )\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..a68e69e
--- /dev/null
@@ -0,0 +1,94 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/not_equal_to.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct not_equal_to_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< not_equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct not_equal_to_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct not_equal_to_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct not_equal_to_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct not_equal_to_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct not_equal_to\r
+\r
+    : not_equal_to_impl<\r
+          typename not_equal_to_tag<N1>::type\r
+        , typename not_equal_to_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, not_equal_to, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct not_equal_to_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value != BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..1a05656
--- /dev/null
@@ -0,0 +1,69 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/or.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+\r
+template< bool C_, typename T1, typename T2, typename T3, typename T4 >\r
+struct or_impl\r
+    : true_\r
+{\r
+};\r
+\r
+template< typename T1, typename T2, typename T3, typename T4 >\r
+struct or_impl< false,T1,T2,T3,T4 >\r
+    : or_impl<\r
+          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value\r
+        , T2, T3, T4\r
+        , false_\r
+        >\r
+{\r
+};\r
+\r
+template<>\r
+struct or_impl<\r
+          false\r
+        , false_, false_, false_, false_\r
+        >\r
+    : false_\r
+{\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(T1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(T2)\r
+    , typename T3 = false_, typename T4 = false_, typename T5 = false_\r
+    >\r
+struct or_\r
+\r
+    : aux::or_impl<\r
+          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value\r
+        , T2, T3, T4, T5\r
+        >\r
+\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , or_\r
+        , ( T1, T2, T3, T4, T5)\r
+        )\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(\r
+      2\r
+    , 5\r
+    , or_\r
+    )\r
+\r
+}}\r
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 (file)
index 0000000..df5cb1d
--- /dev/null
@@ -0,0 +1,105 @@
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+// Copyright Peter Dimov 2001-2003\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/placeholders.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+typedef arg< -1 > _;\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+namespace boost { namespace mpl {\r
+\r
+BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_)\r
+\r
+namespace placeholders {\r
+using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_;\r
+}\r
+\r
+}}\r
+\r
+/// agurt, 17/mar/02: one more placeholder for the last 'apply#' \r
+/// specialization\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+typedef arg<1> _1;\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+namespace boost { namespace mpl {\r
+\r
+BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1)\r
+\r
+namespace placeholders {\r
+using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1;\r
+}\r
+\r
+}}\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+typedef arg<2> _2;\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+namespace boost { namespace mpl {\r
+\r
+BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2)\r
+\r
+namespace placeholders {\r
+using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2;\r
+}\r
+\r
+}}\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+typedef arg<3> _3;\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+namespace boost { namespace mpl {\r
+\r
+BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3)\r
+\r
+namespace placeholders {\r
+using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3;\r
+}\r
+\r
+}}\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+typedef arg<4> _4;\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+namespace boost { namespace mpl {\r
+\r
+BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4)\r
+\r
+namespace placeholders {\r
+using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4;\r
+}\r
+\r
+}}\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+typedef arg<5> _5;\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+namespace boost { namespace mpl {\r
+\r
+BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5)\r
+\r
+namespace placeholders {\r
+using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5;\r
+}\r
+\r
+}}\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+typedef arg<6> _6;\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+namespace boost { namespace mpl {\r
+\r
+BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6)\r
+\r
+namespace placeholders {\r
+using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6;\r
+}\r
+\r
+}}\r
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 (file)
index 0000000..631898f
--- /dev/null
@@ -0,0 +1,146 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/plus.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct plus_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< plus_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< plus_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct plus_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct plus_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct plus_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct plus_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    , typename N3 = na, typename N4 = na, typename N5 = na\r
+    >\r
+struct plus\r
+    : plus< plus< plus< plus< N1,N2 >, N3>, N4>, N5>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , plus\r
+        , ( N1, N2, N3, N4, N5 )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3, typename N4\r
+    >\r
+struct plus< N1,N2,N3,N4,na >\r
+\r
+    : plus< plus< plus< N1,N2 >, N3>, N4>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , plus\r
+        , ( N1, N2, N3, N4, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3\r
+    >\r
+struct plus< N1,N2,N3,na,na >\r
+\r
+    : plus< plus< N1,N2 >, N3>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , plus\r
+        , ( N1, N2, N3, na, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2\r
+    >\r
+struct plus< N1,N2,na,na,na >\r
+    : plus_impl<\r
+          typename plus_tag<N1>::type\r
+        , typename plus_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , plus\r
+        , ( N1, N2, na, na, na )\r
+        )\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 5, plus)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+template<>\r
+struct plus_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : integral_c<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value\r
+                  + BOOST_MPL_AUX_VALUE_WKND(N2)::value\r
+                )\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..4b4e539
--- /dev/null
@@ -0,0 +1,123 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/quote.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template< typename T, bool has_type_ >\r
+struct quote_impl\r
+    : T\r
+{\r
+};\r
+\r
+template< typename T >\r
+struct quote_impl< T,false >\r
+{\r
+    typedef T type;\r
+};\r
+\r
+template<\r
+      template< typename P1 > class F\r
+    , typename Tag = void_\r
+    >\r
+struct quote1\r
+{\r
+    template< typename U1 > struct apply\r
+\r
+        : quote_impl<\r
+              F<U1>\r
+            , aux::has_type< F<U1> >::value\r
+            >\r
+\r
+    {\r
+    };\r
+};\r
+\r
+template<\r
+      template< typename P1, typename P2 > class F\r
+    , typename Tag = void_\r
+    >\r
+struct quote2\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+\r
+        : quote_impl<\r
+              F< U1,U2 >\r
+            , aux::has_type< F< U1,U2 > >::value\r
+            >\r
+\r
+    {\r
+    };\r
+};\r
+\r
+template<\r
+      template< typename P1, typename P2, typename P3 > class F\r
+    , typename Tag = void_\r
+    >\r
+struct quote3\r
+{\r
+    template< typename U1, typename U2, typename U3 > struct apply\r
+\r
+        : quote_impl<\r
+              F< U1,U2,U3 >\r
+            , aux::has_type< F< U1,U2,U3 > >::value\r
+            >\r
+\r
+    {\r
+    };\r
+};\r
+\r
+template<\r
+      template< typename P1, typename P2, typename P3, typename P4 > class F\r
+    , typename Tag = void_\r
+    >\r
+struct quote4\r
+{\r
+    template<\r
+          typename U1, typename U2, typename U3, typename U4\r
+        >\r
+    struct apply\r
+\r
+        : quote_impl<\r
+              F< U1,U2,U3,U4 >\r
+            , aux::has_type< F< U1,U2,U3,U4 > >::value\r
+            >\r
+\r
+    {\r
+    };\r
+};\r
+\r
+template<\r
+      template<\r
+          typename P1, typename P2, typename P3, typename P4\r
+        , typename P5\r
+        >\r
+      class F\r
+    , typename Tag = void_\r
+    >\r
+struct quote5\r
+{\r
+    template<\r
+          typename U1, typename U2, typename U3, typename U4\r
+        , typename U5\r
+        >\r
+    struct apply\r
+\r
+        : quote_impl<\r
+              F< U1,U2,U3,U4,U5 >\r
+            , aux::has_type< F< U1,U2,U3,U4,U5 > >::value\r
+            >\r
+\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..1c4364a
--- /dev/null
@@ -0,0 +1,231 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/reverse_fold_impl.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+/// forward declaration\r
+\r
+template<\r
+      long N\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_fold_impl;\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_fold_impl< 0,First,Last,State,BackwardOp,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State fwd_state0;\r
+    typedef fwd_state0 bkwd_state0;\r
+    typedef bkwd_state0 state;\r
+    typedef iter0 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_fold_impl< 1,First,Last,State,BackwardOp,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State fwd_state0;\r
+    typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    \r
+\r
+    typedef fwd_state1 bkwd_state1;\r
+    typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;\r
+    typedef bkwd_state0 state;\r
+    typedef iter1 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_fold_impl< 2,First,Last,State,BackwardOp,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State fwd_state0;\r
+    typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;\r
+    typedef typename mpl::next<iter1>::type iter2;\r
+    \r
+\r
+    typedef fwd_state2 bkwd_state2;\r
+    typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;\r
+    typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;\r
+    \r
+\r
+    typedef bkwd_state0 state;\r
+    typedef iter2 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_fold_impl< 3,First,Last,State,BackwardOp,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State fwd_state0;\r
+    typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;\r
+    typedef typename mpl::next<iter1>::type iter2;\r
+    typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;\r
+    typedef typename mpl::next<iter2>::type iter3;\r
+    \r
+\r
+    typedef fwd_state3 bkwd_state3;\r
+    typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;\r
+    typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;\r
+    typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;\r
+    \r
+\r
+    typedef bkwd_state0 state;\r
+    typedef iter3 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_fold_impl< 4,First,Last,State,BackwardOp,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State fwd_state0;\r
+    typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;\r
+    typedef typename mpl::next<iter1>::type iter2;\r
+    typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;\r
+    typedef typename mpl::next<iter2>::type iter3;\r
+    typedef typename apply2< ForwardOp, fwd_state3, typename deref<iter3>::type >::type fwd_state4;\r
+    typedef typename mpl::next<iter3>::type iter4;\r
+    \r
+\r
+    typedef fwd_state4 bkwd_state4;\r
+    typedef typename apply2< BackwardOp, bkwd_state4, typename deref<iter3>::type >::type bkwd_state3;\r
+    typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;\r
+    typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;\r
+    typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;\r
+    \r
+\r
+    typedef bkwd_state0 state;\r
+    typedef iter4 iterator;\r
+};\r
+\r
+template<\r
+      long N\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_fold_impl\r
+{\r
+    typedef First iter0;\r
+    typedef State fwd_state0;\r
+    typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;\r
+    typedef typename mpl::next<iter1>::type iter2;\r
+    typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;\r
+    typedef typename mpl::next<iter2>::type iter3;\r
+    typedef typename apply2< ForwardOp, fwd_state3, typename deref<iter3>::type >::type fwd_state4;\r
+    typedef typename mpl::next<iter3>::type iter4;\r
+    \r
+\r
+    typedef reverse_fold_impl<\r
+          ( (N - 4) < 0 ? 0 : N - 4 )\r
+        , iter4\r
+        , Last\r
+        , fwd_state4\r
+        , BackwardOp\r
+        , ForwardOp\r
+        > nested_chunk;\r
+\r
+    typedef typename nested_chunk::state bkwd_state4;\r
+    typedef typename apply2< BackwardOp, bkwd_state4, typename deref<iter3>::type >::type bkwd_state3;\r
+    typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;\r
+    typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;\r
+    typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;\r
+    \r
+\r
+    typedef bkwd_state0 state;\r
+    typedef typename nested_chunk::iterator iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_fold_impl< -1,First,Last,State,BackwardOp,ForwardOp >\r
+{\r
+    typedef reverse_fold_impl<\r
+          -1\r
+        , typename mpl::next<First>::type\r
+        , Last\r
+        , typename apply2<ForwardOp,State, typename deref<First>::type>::type\r
+        , BackwardOp\r
+        , ForwardOp\r
+        > nested_step;\r
+\r
+    typedef typename apply2<\r
+          BackwardOp\r
+        , typename nested_step::state\r
+        , typename deref<First>::type\r
+        >::type state;\r
+\r
+    typedef typename nested_step::iterator iterator;\r
+};\r
+\r
+template<\r
+      typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_fold_impl< -1,Last,Last,State,BackwardOp,ForwardOp >\r
+{\r
+    typedef State state;\r
+    typedef Last iterator;\r
+};\r
+\r
+}}}\r
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 (file)
index 0000000..f06c88b
--- /dev/null
@@ -0,0 +1,231 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/reverse_iter_fold_impl.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+/// forward declaration\r
+\r
+template<\r
+      long N\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_iter_fold_impl;\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_iter_fold_impl< 0,First,Last,State,BackwardOp,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State fwd_state0;\r
+    typedef fwd_state0 bkwd_state0;\r
+    typedef bkwd_state0 state;\r
+    typedef iter0 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_iter_fold_impl< 1,First,Last,State,BackwardOp,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State fwd_state0;\r
+    typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    \r
+\r
+    typedef fwd_state1 bkwd_state1;\r
+    typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;\r
+    typedef bkwd_state0 state;\r
+    typedef iter1 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_iter_fold_impl< 2,First,Last,State,BackwardOp,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State fwd_state0;\r
+    typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;\r
+    typedef typename mpl::next<iter1>::type iter2;\r
+    \r
+\r
+    typedef fwd_state2 bkwd_state2;\r
+    typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;\r
+    typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;\r
+    \r
+\r
+    typedef bkwd_state0 state;\r
+    typedef iter2 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_iter_fold_impl< 3,First,Last,State,BackwardOp,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State fwd_state0;\r
+    typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;\r
+    typedef typename mpl::next<iter1>::type iter2;\r
+    typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;\r
+    typedef typename mpl::next<iter2>::type iter3;\r
+    \r
+\r
+    typedef fwd_state3 bkwd_state3;\r
+    typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;\r
+    typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;\r
+    typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;\r
+    \r
+\r
+    typedef bkwd_state0 state;\r
+    typedef iter3 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_iter_fold_impl< 4,First,Last,State,BackwardOp,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State fwd_state0;\r
+    typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;\r
+    typedef typename mpl::next<iter1>::type iter2;\r
+    typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;\r
+    typedef typename mpl::next<iter2>::type iter3;\r
+    typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4;\r
+    typedef typename mpl::next<iter3>::type iter4;\r
+    \r
+\r
+    typedef fwd_state4 bkwd_state4;\r
+    typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3;\r
+    typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;\r
+    typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;\r
+    typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;\r
+    \r
+\r
+    typedef bkwd_state0 state;\r
+    typedef iter4 iterator;\r
+};\r
+\r
+template<\r
+      long N\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_iter_fold_impl\r
+{\r
+    typedef First iter0;\r
+    typedef State fwd_state0;\r
+    typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;\r
+    typedef typename mpl::next<iter1>::type iter2;\r
+    typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;\r
+    typedef typename mpl::next<iter2>::type iter3;\r
+    typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4;\r
+    typedef typename mpl::next<iter3>::type iter4;\r
+    \r
+\r
+    typedef reverse_iter_fold_impl<\r
+          ( (N - 4) < 0 ? 0 : N - 4 )\r
+        , iter4\r
+        , Last\r
+        , fwd_state4\r
+        , BackwardOp\r
+        , ForwardOp\r
+        > nested_chunk;\r
+\r
+    typedef typename nested_chunk::state bkwd_state4;\r
+    typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3;\r
+    typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;\r
+    typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;\r
+    typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;\r
+    \r
+\r
+    typedef bkwd_state0 state;\r
+    typedef typename nested_chunk::iterator iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_iter_fold_impl< -1,First,Last,State,BackwardOp,ForwardOp >\r
+{\r
+    typedef reverse_iter_fold_impl<\r
+          -1\r
+        , typename mpl::next<First>::type\r
+        , Last\r
+        , typename apply2< ForwardOp,State,First >::type\r
+        , BackwardOp\r
+        , ForwardOp\r
+        > nested_step;\r
+\r
+    typedef typename apply2<\r
+          BackwardOp\r
+        , typename nested_step::state\r
+        , First\r
+        >::type state;\r
+\r
+    typedef typename nested_step::iterator iterator;\r
+};\r
+\r
+template<\r
+      typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_iter_fold_impl< -1,Last,Last,State,BackwardOp,ForwardOp >\r
+{\r
+    typedef State state;\r
+    typedef Last iterator;\r
+};\r
+\r
+}}}\r
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 (file)
index 0000000..b7e3f0b
--- /dev/null
@@ -0,0 +1,323 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/set.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na\r
+    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na\r
+    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na\r
+    , typename T12 = na, typename T13 = na, typename T14 = na\r
+    , typename T15 = na, typename T16 = na, typename T17 = na\r
+    , typename T18 = na, typename T19 = na\r
+    >\r
+struct set;\r
+\r
+template<\r
+     \r
+    >\r
+struct set<\r
+          na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set0<  >\r
+{\r
+    typedef set0<  >::type type;\r
+};\r
+\r
+template<\r
+      typename T0\r
+    >\r
+struct set<\r
+          T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set1<T0>\r
+{\r
+    typedef typename set1<T0>::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1\r
+    >\r
+struct set<\r
+          T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set2< T0,T1 >\r
+{\r
+    typedef typename set2< T0,T1 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2\r
+    >\r
+struct set<\r
+          T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set3< T0,T1,T2 >\r
+{\r
+    typedef typename set3< T0,T1,T2 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set4< T0,T1,T2,T3 >\r
+{\r
+    typedef typename set4< T0,T1,T2,T3 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set5< T0,T1,T2,T3,T4 >\r
+{\r
+    typedef typename set5< T0,T1,T2,T3,T4 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set6< T0,T1,T2,T3,T4,T5 >\r
+{\r
+    typedef typename set6< T0,T1,T2,T3,T4,T5 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set7< T0,T1,T2,T3,T4,T5,T6 >\r
+{\r
+    typedef typename set7< T0,T1,T2,T3,T4,T5,T6 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set8< T0,T1,T2,T3,T4,T5,T6,T7 >\r
+{\r
+    typedef typename set8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >\r
+{\r
+    typedef typename set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >\r
+{\r
+    typedef typename set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >\r
+{\r
+    typedef typename set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na\r
+        , na, na, na, na\r
+        >\r
+    : set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >\r
+{\r
+    typedef typename set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na\r
+        , na, na, na, na\r
+        >\r
+    : set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >\r
+{\r
+    typedef typename set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na\r
+        , na, na, na, na\r
+        >\r
+    : set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >\r
+{\r
+    typedef typename set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na\r
+        , na, na, na, na\r
+        >\r
+    : set15<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        >\r
+{\r
+    typedef typename set15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, na, na, na, na\r
+        >\r
+    : set16<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15\r
+        >\r
+{\r
+    typedef typename set16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, na, na, na\r
+        >\r
+    : set17<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16\r
+        >\r
+{\r
+    typedef typename set17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, na, na\r
+        >\r
+    : set18<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17\r
+        >\r
+{\r
+    typedef typename set18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18, na\r
+        >\r
+    : set19<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18\r
+        >\r
+{\r
+    typedef typename set19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;\r
+};\r
+\r
+/// primary template (not a specialization!)\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    >\r
+struct set\r
+    : set20<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18, T19\r
+        >\r
+{\r
+    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;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..acdf68b
--- /dev/null
@@ -0,0 +1,328 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/set_c.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX\r
+    , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX\r
+    , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX\r
+    , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX\r
+    , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX\r
+    , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX\r
+    , long C18 = LONG_MAX, long C19 = LONG_MAX\r
+    >\r
+struct set_c;\r
+\r
+template<\r
+      typename T\r
+    >\r
+struct set_c<\r
+          T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set0_c<T>\r
+{\r
+    typedef typename set0_c<T>::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0\r
+    >\r
+struct set_c<\r
+          T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set1_c< T,C0 >\r
+{\r
+    typedef typename set1_c< T,C0 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1\r
+    >\r
+struct set_c<\r
+          T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set2_c< T,C0,C1 >\r
+{\r
+    typedef typename set2_c< T,C0,C1 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set3_c< T,C0,C1,C2 >\r
+{\r
+    typedef typename set3_c< T,C0,C1,C2 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set4_c< T,C0,C1,C2,C3 >\r
+{\r
+    typedef typename set4_c< T,C0,C1,C2,C3 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set5_c< T,C0,C1,C2,C3,C4 >\r
+{\r
+    typedef typename set5_c< T,C0,C1,C2,C3,C4 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set6_c< T,C0,C1,C2,C3,C4,C5 >\r
+{\r
+    typedef typename set6_c< T,C0,C1,C2,C3,C4,C5 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set7_c< T,C0,C1,C2,C3,C4,C5,C6 >\r
+{\r
+    typedef typename set7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX\r
+        >\r
+    : set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >\r
+{\r
+    typedef typename set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX\r
+        >\r
+    : set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >\r
+{\r
+    typedef typename set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX\r
+        >\r
+    : set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >\r
+{\r
+    typedef typename set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >\r
+{\r
+    typedef typename set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >\r
+{\r
+    typedef typename set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >\r
+{\r
+    typedef typename set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set14_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13\r
+        >\r
+{\r
+    typedef typename set14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set15_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        >\r
+{\r
+    typedef typename set15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set16_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15\r
+        >\r
+{\r
+    typedef typename set16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set17_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16\r
+        >\r
+{\r
+    typedef typename set17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16, long C17\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17, LONG_MAX, LONG_MAX\r
+        >\r
+    : set18_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17\r
+        >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16, long C17, long C18\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17, C18, LONG_MAX\r
+        >\r
+    : set19_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17, C18\r
+        >\r
+{\r
+    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;\r
+};\r
+\r
+/// primary template (not a specialization!)\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+    >\r
+struct set_c\r
+    : set20_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17, C18, C19\r
+        >\r
+{\r
+    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;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..81679a1
--- /dev/null
@@ -0,0 +1,99 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright Jaap Suter 2003\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/shift_left.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct shift_left_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< shift_left_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< shift_left_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct shift_left_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct shift_left_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct shift_left_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct shift_left_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct shift_left\r
+\r
+    : shift_left_impl<\r
+          typename shift_left_tag<N1>::type\r
+        , typename shift_left_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_left, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_left)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+template<>\r
+struct shift_left_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N, typename S > struct apply\r
+\r
+        : integral_c<\r
+              typename N::value_type\r
+            , ( BOOST_MPL_AUX_VALUE_WKND(N)::value\r
+                  << BOOST_MPL_AUX_VALUE_WKND(S)::value\r
+                )\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..55b7821
--- /dev/null
@@ -0,0 +1,99 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright Jaap Suter 2003\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/shift_right.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct shift_right_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< shift_right_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< shift_right_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct shift_right_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct shift_right_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct shift_right_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct shift_right_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct shift_right\r
+\r
+    : shift_right_impl<\r
+          typename shift_right_tag<N1>::type\r
+        , typename shift_right_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_right, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+template<>\r
+struct shift_right_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N, typename S > struct apply\r
+\r
+        : integral_c<\r
+              typename N::value_type\r
+            , ( BOOST_MPL_AUX_VALUE_WKND(N)::value\r
+                  >> BOOST_MPL_AUX_VALUE_WKND(S)::value\r
+                )\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..03f2dbd
--- /dev/null
@@ -0,0 +1,11 @@
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/template_arity.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
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 (file)
index 0000000..46e68cb
--- /dev/null
@@ -0,0 +1,146 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/times.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct times_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< times_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< times_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct times_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct times_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct times_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct times_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    , typename N3 = na, typename N4 = na, typename N5 = na\r
+    >\r
+struct times\r
+    : times< times< times< times< N1,N2 >, N3>, N4>, N5>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , times\r
+        , ( N1, N2, N3, N4, N5 )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3, typename N4\r
+    >\r
+struct times< N1,N2,N3,N4,na >\r
+\r
+    : times< times< times< N1,N2 >, N3>, N4>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , times\r
+        , ( N1, N2, N3, N4, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3\r
+    >\r
+struct times< N1,N2,N3,na,na >\r
+\r
+    : times< times< N1,N2 >, N3>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , times\r
+        , ( N1, N2, N3, na, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2\r
+    >\r
+struct times< N1,N2,na,na,na >\r
+    : times_impl<\r
+          typename times_tag<N1>::type\r
+        , typename times_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , times\r
+        , ( N1, N2, na, na, na )\r
+        )\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 5, times)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+template<>\r
+struct times_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : integral_c<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value\r
+                  * BOOST_MPL_AUX_VALUE_WKND(N2)::value\r
+                )\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..7f8c577
--- /dev/null
@@ -0,0 +1,94 @@
+\r
+// Copyright Aleksey Gurtovoy 2002-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/unpack_args.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+\r
+template< int size, typename F, typename Args >\r
+struct unpack_args_impl;\r
+\r
+template< typename F, typename Args >\r
+struct unpack_args_impl< 0,F,Args >\r
+    : apply0<\r
+          F\r
+        >\r
+{\r
+};\r
+\r
+template< typename F, typename Args >\r
+struct unpack_args_impl< 1,F,Args >\r
+    : apply1<\r
+          F\r
+        , typename at_c< Args,0 >::type\r
+        >\r
+{\r
+};\r
+\r
+template< typename F, typename Args >\r
+struct unpack_args_impl< 2,F,Args >\r
+    : apply2<\r
+          F\r
+        , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type\r
+        >\r
+{\r
+};\r
+\r
+template< typename F, typename Args >\r
+struct unpack_args_impl< 3,F,Args >\r
+    : apply3<\r
+          F\r
+        , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type\r
+        , typename at_c< Args,2 >::type\r
+        >\r
+{\r
+};\r
+\r
+template< typename F, typename Args >\r
+struct unpack_args_impl< 4,F,Args >\r
+    : apply4<\r
+          F\r
+        , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type\r
+        , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type\r
+        >\r
+{\r
+};\r
+\r
+template< typename F, typename Args >\r
+struct unpack_args_impl< 5,F,Args >\r
+    : apply5<\r
+          F\r
+        , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type\r
+        , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type\r
+        , typename at_c< Args,4 >::type\r
+        >\r
+{\r
+};\r
+\r
+}\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct unpack_args\r
+{\r
+    template< typename Args > struct apply\r
+\r
+        : aux::unpack_args_impl< size<Args>::value,F, Args >\r
+\r
+    {\r
+    };\r
+};\r
+\r
+BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args)\r
+\r
+}}\r
+\r
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 (file)
index 0000000..d1da8b1
--- /dev/null
@@ -0,0 +1,323 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/vector.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na\r
+    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na\r
+    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na\r
+    , typename T12 = na, typename T13 = na, typename T14 = na\r
+    , typename T15 = na, typename T16 = na, typename T17 = na\r
+    , typename T18 = na, typename T19 = na\r
+    >\r
+struct vector;\r
+\r
+template<\r
+     \r
+    >\r
+struct vector<\r
+          na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector0<  >\r
+{\r
+    typedef vector0<  >::type type;\r
+};\r
+\r
+template<\r
+      typename T0\r
+    >\r
+struct vector<\r
+          T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector1<T0>\r
+{\r
+    typedef typename vector1<T0>::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1\r
+    >\r
+struct vector<\r
+          T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector2< T0,T1 >\r
+{\r
+    typedef typename vector2< T0,T1 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2\r
+    >\r
+struct vector<\r
+          T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector3< T0,T1,T2 >\r
+{\r
+    typedef typename vector3< T0,T1,T2 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector4< T0,T1,T2,T3 >\r
+{\r
+    typedef typename vector4< T0,T1,T2,T3 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector5< T0,T1,T2,T3,T4 >\r
+{\r
+    typedef typename vector5< T0,T1,T2,T3,T4 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector6< T0,T1,T2,T3,T4,T5 >\r
+{\r
+    typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector7< T0,T1,T2,T3,T4,T5,T6 >\r
+{\r
+    typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector8< T0,T1,T2,T3,T4,T5,T6,T7 >\r
+{\r
+    typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >\r
+{\r
+    typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >\r
+{\r
+    typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >\r
+{\r
+    typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na\r
+        , na, na, na, na\r
+        >\r
+    : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >\r
+{\r
+    typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na\r
+        , na, na, na, na\r
+        >\r
+    : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >\r
+{\r
+    typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na\r
+        , na, na, na, na\r
+        >\r
+    : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >\r
+{\r
+    typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na\r
+        , na, na, na, na\r
+        >\r
+    : vector15<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        >\r
+{\r
+    typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, na, na, na, na\r
+        >\r
+    : vector16<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15\r
+        >\r
+{\r
+    typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, na, na, na\r
+        >\r
+    : vector17<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16\r
+        >\r
+{\r
+    typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, na, na\r
+        >\r
+    : vector18<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17\r
+        >\r
+{\r
+    typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18, na\r
+        >\r
+    : vector19<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18\r
+        >\r
+{\r
+    typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;\r
+};\r
+\r
+/// primary template (not a specialization!)\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    >\r
+struct vector\r
+    : vector20<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18, T19\r
+        >\r
+{\r
+    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;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..ce33340
--- /dev/null
@@ -0,0 +1,309 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/vector_c.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX\r
+    , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX\r
+    , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX\r
+    , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX\r
+    , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX\r
+    , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX\r
+    , long C18 = LONG_MAX, long C19 = LONG_MAX\r
+    >\r
+struct vector_c;\r
+\r
+template<\r
+      typename T\r
+    >\r
+struct vector_c<\r
+          T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : vector0_c<T>\r
+{\r
+    typedef typename vector0_c<T>::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0\r
+    >\r
+struct vector_c<\r
+          T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : vector1_c< T, T(C0) >\r
+{\r
+    typedef typename vector1_c< T, T(C0) >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : vector2_c< T, T(C0), T(C1) >\r
+{\r
+    typedef typename vector2_c< T, T(C0), T(C1) >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : vector3_c< T, T(C0), T(C1), T(C2) >\r
+{\r
+    typedef typename vector3_c< T, T(C0), T(C1), T(C2) >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : vector4_c< T, T(C0), T(C1), T(C2), T(C3) >\r
+{\r
+    typedef typename vector4_c< T, T(C0), T(C1), T(C2), T(C3) >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) >\r
+{\r
+    typedef typename vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) >\r
+{\r
+    typedef typename vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) >\r
+{\r
+    typedef typename vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX\r
+        >\r
+    : vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) >\r
+{\r
+    typedef typename vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX\r
+        >\r
+    : vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX\r
+        >\r
+    : vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : 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) >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : 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) >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : 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) >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : 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) >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : 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) >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : 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) >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : 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) >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16, long C17\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17, LONG_MAX, LONG_MAX\r
+        >\r
+    : 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) >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16, long C17, long C18\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17, C18, LONG_MAX\r
+        >\r
+    : 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) >\r
+{\r
+    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;\r
+};\r
+\r
+/// primary template (not a specialization!)\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+    >\r
+struct vector_c\r
+    : 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) >\r
+{\r
+    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;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..2d65040
--- /dev/null
@@ -0,0 +1,97 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/advance_backward.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+template< long N > struct advance_backward;\r
+template<>\r
+struct advance_backward<0>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef iter0 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct advance_backward<1>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef typename prior<iter0>::type iter1;\r
+        typedef iter1 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct advance_backward<2>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef typename prior<iter0>::type iter1;\r
+        typedef typename prior<iter1>::type iter2;\r
+        typedef iter2 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct advance_backward<3>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef typename prior<iter0>::type iter1;\r
+        typedef typename prior<iter1>::type iter2;\r
+        typedef typename prior<iter2>::type iter3;\r
+        typedef iter3 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct advance_backward<4>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef typename prior<iter0>::type iter1;\r
+        typedef typename prior<iter1>::type iter2;\r
+        typedef typename prior<iter2>::type iter3;\r
+        typedef typename prior<iter3>::type iter4;\r
+        typedef iter4 type;\r
+    };\r
+};\r
+\r
+template< long N >\r
+struct advance_backward\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef typename apply_wrap1<\r
+              advance_backward<4>\r
+            , Iterator\r
+            >::type chunk_result_;\r
+\r
+        typedef typename apply_wrap1<\r
+              advance_backward<(\r
+                (N - 4) < 0\r
+                    ? 0\r
+                    : N - 4\r
+                    )>\r
+            , chunk_result_\r
+            >::type type;\r
+    };\r
+};\r
+\r
+}}}\r
+\r
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 (file)
index 0000000..9762f7b
--- /dev/null
@@ -0,0 +1,97 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/advance_forward.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+template< long N > struct advance_forward;\r
+template<>\r
+struct advance_forward<0>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef iter0 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct advance_forward<1>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef typename next<iter0>::type iter1;\r
+        typedef iter1 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct advance_forward<2>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef typename next<iter0>::type iter1;\r
+        typedef typename next<iter1>::type iter2;\r
+        typedef iter2 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct advance_forward<3>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef typename next<iter0>::type iter1;\r
+        typedef typename next<iter1>::type iter2;\r
+        typedef typename next<iter2>::type iter3;\r
+        typedef iter3 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct advance_forward<4>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef typename next<iter0>::type iter1;\r
+        typedef typename next<iter1>::type iter2;\r
+        typedef typename next<iter2>::type iter3;\r
+        typedef typename next<iter3>::type iter4;\r
+        typedef iter4 type;\r
+    };\r
+};\r
+\r
+template< long N >\r
+struct advance_forward\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef typename apply_wrap1<\r
+              advance_forward<4>\r
+            , Iterator\r
+            >::type chunk_result_;\r
+\r
+        typedef typename apply_wrap1<\r
+              advance_forward<(\r
+                (N - 4) < 0\r
+                    ? 0\r
+                    : N - 4\r
+                    )>\r
+            , chunk_result_\r
+            >::type type;\r
+    };\r
+};\r
+\r
+}}}\r
+\r
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 (file)
index 0000000..e2b4b08
--- /dev/null
@@ -0,0 +1,73 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/and.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+template< bool C_ > struct and_impl\r
+{\r
+    template<\r
+          typename T1, typename T2, typename T3, typename T4\r
+        >\r
+    struct result_\r
+        : false_\r
+    {\r
+    };\r
+};\r
+\r
+template<> struct and_impl<true>\r
+{\r
+    template<\r
+          typename T1, typename T2, typename T3, typename T4\r
+        >\r
+    struct result_\r
+        : and_impl<\r
+              BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value\r
+            >::template result_< T2,T3,T4,true_ >\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct and_impl<true>\r
+    ::result_< true_,true_,true_,true_ >\r
+        : true_\r
+{\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(T1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(T2)\r
+    , typename T3 = true_, typename T4 = true_, typename T5 = true_\r
+    >\r
+struct and_\r
+\r
+    : aux::and_impl<\r
+          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value\r
+        >::template result_< T2,T3,T4,T5 >\r
+\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , and_\r
+        , ( T1, T2, T3, T4, T5)\r
+        )\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(\r
+      2\r
+    , 5\r
+    , and_\r
+    )\r
+\r
+}}\r
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 (file)
index 0000000..4525009
--- /dev/null
@@ -0,0 +1,268 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/apply.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct apply0\r
+\r
+    : apply_wrap0<\r
+          typename lambda<F>::type\r
+       \r
+        >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          1\r
+        , apply0\r
+        , (F )\r
+        )\r
+};\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct apply_chooser<0>\r
+{\r
+    template<\r
+          typename F, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5\r
+        >\r
+    struct result_\r
+    {\r
+        typedef apply0<\r
+              F\r
+            > type;\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct apply1\r
+\r
+    : apply_wrap1<\r
+          typename lambda<F>::type\r
+        , T1\r
+        >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          2\r
+        , apply1\r
+        , (F, T1)\r
+        )\r
+};\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct apply_chooser<1>\r
+{\r
+    template<\r
+          typename F, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5\r
+        >\r
+    struct result_\r
+    {\r
+        typedef apply1<\r
+              F, T1\r
+            > type;\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+struct apply2\r
+\r
+    : apply_wrap2<\r
+          typename lambda<F>::type\r
+        , T1, T2\r
+        >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          3\r
+        , apply2\r
+        , (F, T1, T2)\r
+        )\r
+};\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct apply_chooser<2>\r
+{\r
+    template<\r
+          typename F, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5\r
+        >\r
+    struct result_\r
+    {\r
+        typedef apply2<\r
+              F, T1, T2\r
+            > type;\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+struct apply3\r
+\r
+    : apply_wrap3<\r
+          typename lambda<F>::type\r
+        , T1, T2, T3\r
+        >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          4\r
+        , apply3\r
+        , (F, T1, T2, T3)\r
+        )\r
+};\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct apply_chooser<3>\r
+{\r
+    template<\r
+          typename F, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5\r
+        >\r
+    struct result_\r
+    {\r
+        typedef apply3<\r
+              F, T1, T2, T3\r
+            > type;\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct apply4\r
+\r
+    : apply_wrap4<\r
+          typename lambda<F>::type\r
+        , T1, T2, T3, T4\r
+        >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , apply4\r
+        , (F, T1, T2, T3, T4)\r
+        )\r
+};\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct apply_chooser<4>\r
+{\r
+    template<\r
+          typename F, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5\r
+        >\r
+    struct result_\r
+    {\r
+        typedef apply4<\r
+              F, T1, T2, T3, T4\r
+            > type;\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct apply5\r
+\r
+    : apply_wrap5<\r
+          typename lambda<F>::type\r
+        , T1, T2, T3, T4, T5\r
+        >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          6\r
+        , apply5\r
+        , (F, T1, T2, T3, T4, T5)\r
+        )\r
+};\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct apply_chooser<5>\r
+{\r
+    template<\r
+          typename F, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5\r
+        >\r
+    struct result_\r
+    {\r
+        typedef apply5<\r
+              F, T1, T2, T3, T4, T5\r
+            > type;\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template< typename T >\r
+struct is_apply_arg\r
+{\r
+    static bool const value  = true;\r
+};\r
+\r
+template<>\r
+struct is_apply_arg<na>\r
+{\r
+    static bool const value  = false;\r
+};\r
+\r
+template<\r
+      typename T1, typename T2, typename T3, typename T4, typename T5\r
+    >\r
+struct apply_count_args\r
+{\r
+    static int const value  = is_apply_arg<T1>::value + is_apply_arg<T2>::value + is_apply_arg<T3>::value + is_apply_arg<T4>::value + is_apply_arg<T5>::value;\r
+\r
+};\r
+\r
+}\r
+\r
+template<\r
+      typename F, typename T1 = na, typename T2 = na, typename T3 = na\r
+    , typename T4 = na, typename T5 = na\r
+    >\r
+struct apply\r
+    : aux::apply_chooser<\r
+          aux::apply_count_args< T1,T2,T3,T4,T5 >::value\r
+        >::template result_< F,T1,T2,T3,T4,T5 >::type\r
+{\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..58dda62
--- /dev/null
@@ -0,0 +1,50 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/apply_fwd.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+template< BOOST_AUX_NTTP_DECL(int, arity_) > struct apply_chooser;\r
+}\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct apply0;\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct apply1;\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+struct apply2;\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+struct apply3;\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct apply4;\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct apply5;\r
+\r
+}}\r
+\r
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 (file)
index 0000000..682a80b
--- /dev/null
@@ -0,0 +1,78 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/apply_wrap.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename F\r
+\r
+    , typename has_apply_ = typename aux::has_apply<F>::type\r
+\r
+    >\r
+struct apply_wrap0\r
+\r
+    : F::template apply<  >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1\r
+\r
+    >\r
+struct apply_wrap1\r
+\r
+    : F::template apply<T1>\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+\r
+    >\r
+struct apply_wrap2\r
+\r
+    : F::template apply< T1,T2 >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+\r
+    >\r
+struct apply_wrap3\r
+\r
+    : F::template apply< T1,T2,T3 >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+\r
+    >\r
+struct apply_wrap4\r
+\r
+    : F::template apply< T1,T2,T3,T4 >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+\r
+    >\r
+struct apply_wrap5\r
+\r
+    : F::template apply< T1,T2,T3,T4,T5 >\r
+{\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..a77b8a2
--- /dev/null
@@ -0,0 +1,123 @@
+\r
+// Copyright Peter Dimov 2001-2002\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/arg.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+template<> struct arg< -1 >\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value  = -1);\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)\r
+\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+        typedef U1 type;\r
+        BOOST_MPL_AUX_ASSERT_NOT_NA(type);\r
+    };\r
+};\r
+\r
+template<> struct arg<1>\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value  = 1);\r
+    typedef arg<2> next;\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)\r
+\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+        typedef U1 type;\r
+        BOOST_MPL_AUX_ASSERT_NOT_NA(type);\r
+    };\r
+};\r
+\r
+template<> struct arg<2>\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value  = 2);\r
+    typedef arg<3> next;\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)\r
+\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+        typedef U2 type;\r
+        BOOST_MPL_AUX_ASSERT_NOT_NA(type);\r
+    };\r
+};\r
+\r
+template<> struct arg<3>\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value  = 3);\r
+    typedef arg<4> next;\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)\r
+\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+        typedef U3 type;\r
+        BOOST_MPL_AUX_ASSERT_NOT_NA(type);\r
+    };\r
+};\r
+\r
+template<> struct arg<4>\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value  = 4);\r
+    typedef arg<5> next;\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)\r
+\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+        typedef U4 type;\r
+        BOOST_MPL_AUX_ASSERT_NOT_NA(type);\r
+    };\r
+};\r
+\r
+template<> struct arg<5>\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value  = 5);\r
+    typedef arg<6> next;\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)\r
+\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+        typedef U5 type;\r
+        BOOST_MPL_AUX_ASSERT_NOT_NA(type);\r
+    };\r
+};\r
+\r
+BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg)\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
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 (file)
index 0000000..b2988d0
--- /dev/null
@@ -0,0 +1,486 @@
+\r
+// Copyright Peter Dimov 2001\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/basic_bind.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+template< bool >\r
+struct resolve_arg_impl\r
+{\r
+    template<\r
+          typename T, typename U1, typename U2, typename U3\r
+        , typename U4, typename U5\r
+        >\r
+    struct result_\r
+    {\r
+        typedef T type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct resolve_arg_impl<true>\r
+{\r
+    template<\r
+          typename T, typename U1, typename U2, typename U3\r
+        , typename U4, typename U5\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename apply_wrap5<\r
+              T\r
+            , U1, U2, U3, U4, U5\r
+            >::type type;\r
+    };\r
+};\r
+\r
+template< typename T > struct is_bind_template;\r
+\r
+template<\r
+      typename T, typename U1, typename U2, typename U3, typename U4\r
+    , typename U5\r
+    >\r
+struct resolve_bind_arg\r
+    : resolve_arg_impl< is_bind_template<T>::value >\r
+            ::template result_< T,U1,U2,U3,U4,U5 >\r
+{\r
+};\r
+\r
+template< int arity_ > struct bind_chooser;\r
+\r
+aux::no_tag is_bind_helper(...);\r
+template< typename T > aux::no_tag is_bind_helper(protect<T>*);\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+aux::yes_tag is_bind_helper(bind< F,T1,T2,T3,T4,T5 >*);\r
+\r
+template< int N >\r
+aux::yes_tag is_bind_helper(arg<N>*);\r
+\r
+template< bool is_ref_  = true >\r
+struct is_bind_template_impl\r
+{\r
+    template< typename T > struct result_\r
+    {\r
+        BOOST_STATIC_CONSTANT(bool, value  = false);\r
+    };\r
+};\r
+\r
+template<>\r
+struct is_bind_template_impl<false>\r
+{\r
+    template< typename T > struct result_\r
+    {\r
+        BOOST_STATIC_CONSTANT(bool, value =\r
+              sizeof(aux::is_bind_helper(static_cast<T*>(0)))\r
+                == sizeof(aux::yes_tag)\r
+            );\r
+    };\r
+};\r
+\r
+template< typename T > struct is_bind_template\r
+    : is_bind_template_impl< ::boost::detail::is_reference_impl<T>::value >\r
+        ::template result_<T>\r
+{\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct bind0\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;\r
+\r
+     public:\r
+        typedef typename apply_wrap0<\r
+              f_\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F\r
+    >\r
+aux::yes_tag\r
+is_bind_helper(bind0<F>*);\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(1, bind0)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct bind_chooser<0>\r
+{\r
+    template<\r
+          typename F, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5\r
+        >\r
+    struct result_\r
+    {\r
+        typedef bind0<F> type;\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct bind1\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;\r
+        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;\r
+\r
+     public:\r
+        typedef typename apply_wrap1<\r
+              f_\r
+            , typename t1::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+aux::yes_tag\r
+is_bind_helper(bind1< F,T1 >*);\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(2, bind1)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct bind_chooser<1>\r
+{\r
+    template<\r
+          typename F, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5\r
+        >\r
+    struct result_\r
+    {\r
+        typedef bind1< F,T1 > type;\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+struct bind2\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;\r
+        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;\r
+        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;\r
+\r
+     public:\r
+        typedef typename apply_wrap2<\r
+              f_\r
+            , typename t1::type, typename t2::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+aux::yes_tag\r
+is_bind_helper(bind2< F,T1,T2 >*);\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(3, bind2)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct bind_chooser<2>\r
+{\r
+    template<\r
+          typename F, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5\r
+        >\r
+    struct result_\r
+    {\r
+        typedef bind2< F,T1,T2 > type;\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+struct bind3\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;\r
+        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;\r
+        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;\r
+        typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;\r
+\r
+     public:\r
+        typedef typename apply_wrap3<\r
+              f_\r
+            , typename t1::type, typename t2::type, typename t3::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+aux::yes_tag\r
+is_bind_helper(bind3< F,T1,T2,T3 >*);\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(4, bind3)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct bind_chooser<3>\r
+{\r
+    template<\r
+          typename F, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5\r
+        >\r
+    struct result_\r
+    {\r
+        typedef bind3< F,T1,T2,T3 > type;\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct bind4\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;\r
+        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;\r
+        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;\r
+        typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;\r
+        typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4;\r
+\r
+     public:\r
+        typedef typename apply_wrap4<\r
+              f_\r
+            , typename t1::type, typename t2::type, typename t3::type\r
+            , typename t4::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+aux::yes_tag\r
+is_bind_helper(bind4< F,T1,T2,T3,T4 >*);\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(5, bind4)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct bind_chooser<4>\r
+{\r
+    template<\r
+          typename F, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5\r
+        >\r
+    struct result_\r
+    {\r
+        typedef bind4< F,T1,T2,T3,T4 > type;\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct bind5\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;\r
+        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;\r
+        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;\r
+        typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;\r
+        typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4;\r
+        typedef aux::resolve_bind_arg< T5,U1,U2,U3,U4,U5 > t5;\r
+\r
+     public:\r
+        typedef typename apply_wrap5<\r
+              f_\r
+            , typename t1::type, typename t2::type, typename t3::type\r
+            , typename t4::type, typename t5::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+aux::yes_tag\r
+is_bind_helper(bind5< F,T1,T2,T3,T4,T5 >*);\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(6, bind5)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct bind_chooser<5>\r
+{\r
+    template<\r
+          typename F, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5\r
+        >\r
+    struct result_\r
+    {\r
+        typedef bind5< F,T1,T2,T3,T4,T5 > type;\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template< typename T >\r
+struct is_bind_arg\r
+{\r
+    BOOST_STATIC_CONSTANT(bool, value  = true);\r
+};\r
+\r
+template<>\r
+struct is_bind_arg<na>\r
+{\r
+    BOOST_STATIC_CONSTANT(bool, value  = false);\r
+};\r
+\r
+template<\r
+      typename T1, typename T2, typename T3, typename T4, typename T5\r
+    >\r
+struct bind_count_args\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value =\r
+          is_bind_arg<T1>::value + is_bind_arg<T2>::value \r
+        + is_bind_arg<T3>::value + is_bind_arg<T4>::value \r
+        + is_bind_arg<T5>::value\r
+        );\r
+\r
+};\r
+\r
+}\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct bind\r
+    : aux::bind_chooser<\r
+          aux::bind_count_args< T1,T2,T3,T4,T5 >::value\r
+        >::template result_< F,T1,T2,T3,T4,T5 >::type\r
+{\r
+};\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(\r
+      6\r
+    , bind\r
+    )\r
+\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(\r
+      6\r
+    , bind\r
+    )\r
+}}\r
+\r
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 (file)
index 0000000..d54caa6
--- /dev/null
@@ -0,0 +1,590 @@
+\r
+// Copyright Peter Dimov 2001\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/bind.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+template< bool >\r
+struct resolve_arg_impl\r
+{\r
+    template<\r
+          typename T, typename U1, typename U2, typename U3\r
+        , typename U4, typename U5\r
+        >\r
+    struct result_\r
+    {\r
+        typedef T type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct resolve_arg_impl<true>\r
+{\r
+    template<\r
+          typename T, typename U1, typename U2, typename U3\r
+        , typename U4, typename U5\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename apply_wrap5<\r
+              T\r
+            , U1, U2, U3, U4, U5\r
+            >::type type;\r
+    };\r
+};\r
+\r
+template< typename T > struct is_bind_template;\r
+\r
+template<\r
+      typename T, typename U1, typename U2, typename U3, typename U4\r
+    , typename U5\r
+    >\r
+struct resolve_bind_arg\r
+    : resolve_arg_impl< is_bind_template<T>::value >\r
+            ::template result_< T,U1,U2,U3,U4,U5 >\r
+{\r
+};\r
+\r
+template< typename T >\r
+struct replace_unnamed_arg_impl\r
+{\r
+    template< typename Arg > struct result_\r
+    {\r
+        typedef Arg next;\r
+        typedef T type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct replace_unnamed_arg_impl< arg< -1 > >\r
+{\r
+    template< typename Arg > struct result_\r
+    {\r
+        typedef typename next<Arg>::type next;\r
+        typedef Arg type;\r
+    };\r
+};\r
+\r
+template< typename T, typename Arg >\r
+struct replace_unnamed_arg\r
+    : replace_unnamed_arg_impl<T>::template result_<Arg>\r
+{\r
+};\r
+\r
+template< int arity_ > struct bind_chooser;\r
+\r
+aux::no_tag is_bind_helper(...);\r
+template< typename T > aux::no_tag is_bind_helper(protect<T>*);\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+aux::yes_tag is_bind_helper(bind< F,T1,T2,T3,T4,T5 >*);\r
+\r
+template< int N >\r
+aux::yes_tag is_bind_helper(arg<N>*);\r
+\r
+template< bool is_ref_  = true >\r
+struct is_bind_template_impl\r
+{\r
+    template< typename T > struct result_\r
+    {\r
+        BOOST_STATIC_CONSTANT(bool, value  = false);\r
+    };\r
+};\r
+\r
+template<>\r
+struct is_bind_template_impl<false>\r
+{\r
+    template< typename T > struct result_\r
+    {\r
+        BOOST_STATIC_CONSTANT(bool, value =\r
+              sizeof(aux::is_bind_helper(static_cast<T*>(0)))\r
+                == sizeof(aux::yes_tag)\r
+            );\r
+    };\r
+};\r
+\r
+template< typename T > struct is_bind_template\r
+    : is_bind_template_impl< ::boost::detail::is_reference_impl<T>::value >\r
+        ::template result_<T>\r
+{\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct bind0\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;\r
+        typedef typename r0::type a0;\r
+        typedef typename r0::next n1;\r
+        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;\r
+        ///\r
+     public:\r
+        typedef typename apply_wrap0<\r
+              f_\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F\r
+    >\r
+aux::yes_tag\r
+is_bind_helper(bind0<F>*);\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(1, bind0)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct bind_chooser<0>\r
+{\r
+    template<\r
+          typename F, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5\r
+        >\r
+    struct result_\r
+    {\r
+        typedef bind0<F> type;\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct bind1\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;\r
+        typedef typename r0::type a0;\r
+        typedef typename r0::next n1;\r
+        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T1,n1 > r1;\r
+        typedef typename r1::type a1;\r
+        typedef typename r1::next n2;\r
+        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;\r
+        ///\r
+     public:\r
+        typedef typename apply_wrap1<\r
+              f_\r
+            , typename t1::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+aux::yes_tag\r
+is_bind_helper(bind1< F,T1 >*);\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(2, bind1)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct bind_chooser<1>\r
+{\r
+    template<\r
+          typename F, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5\r
+        >\r
+    struct result_\r
+    {\r
+        typedef bind1< F,T1 > type;\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+struct bind2\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;\r
+        typedef typename r0::type a0;\r
+        typedef typename r0::next n1;\r
+        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T1,n1 > r1;\r
+        typedef typename r1::type a1;\r
+        typedef typename r1::next n2;\r
+        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T2,n2 > r2;\r
+        typedef typename r2::type a2;\r
+        typedef typename r2::next n3;\r
+        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;\r
+        ///\r
+     public:\r
+        typedef typename apply_wrap2<\r
+              f_\r
+            , typename t1::type, typename t2::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+aux::yes_tag\r
+is_bind_helper(bind2< F,T1,T2 >*);\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(3, bind2)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct bind_chooser<2>\r
+{\r
+    template<\r
+          typename F, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5\r
+        >\r
+    struct result_\r
+    {\r
+        typedef bind2< F,T1,T2 > type;\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+struct bind3\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;\r
+        typedef typename r0::type a0;\r
+        typedef typename r0::next n1;\r
+        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T1,n1 > r1;\r
+        typedef typename r1::type a1;\r
+        typedef typename r1::next n2;\r
+        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T2,n2 > r2;\r
+        typedef typename r2::type a2;\r
+        typedef typename r2::next n3;\r
+        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T3,n3 > r3;\r
+        typedef typename r3::type a3;\r
+        typedef typename r3::next n4;\r
+        typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;\r
+        ///\r
+     public:\r
+        typedef typename apply_wrap3<\r
+              f_\r
+            , typename t1::type, typename t2::type, typename t3::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+aux::yes_tag\r
+is_bind_helper(bind3< F,T1,T2,T3 >*);\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(4, bind3)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct bind_chooser<3>\r
+{\r
+    template<\r
+          typename F, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5\r
+        >\r
+    struct result_\r
+    {\r
+        typedef bind3< F,T1,T2,T3 > type;\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct bind4\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;\r
+        typedef typename r0::type a0;\r
+        typedef typename r0::next n1;\r
+        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T1,n1 > r1;\r
+        typedef typename r1::type a1;\r
+        typedef typename r1::next n2;\r
+        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T2,n2 > r2;\r
+        typedef typename r2::type a2;\r
+        typedef typename r2::next n3;\r
+        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T3,n3 > r3;\r
+        typedef typename r3::type a3;\r
+        typedef typename r3::next n4;\r
+        typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T4,n4 > r4;\r
+        typedef typename r4::type a4;\r
+        typedef typename r4::next n5;\r
+        typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4;\r
+        ///\r
+     public:\r
+        typedef typename apply_wrap4<\r
+              f_\r
+            , typename t1::type, typename t2::type, typename t3::type\r
+            , typename t4::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+aux::yes_tag\r
+is_bind_helper(bind4< F,T1,T2,T3,T4 >*);\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(5, bind4)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct bind_chooser<4>\r
+{\r
+    template<\r
+          typename F, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5\r
+        >\r
+    struct result_\r
+    {\r
+        typedef bind4< F,T1,T2,T3,T4 > type;\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct bind5\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;\r
+        typedef typename r0::type a0;\r
+        typedef typename r0::next n1;\r
+        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T1,n1 > r1;\r
+        typedef typename r1::type a1;\r
+        typedef typename r1::next n2;\r
+        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T2,n2 > r2;\r
+        typedef typename r2::type a2;\r
+        typedef typename r2::next n3;\r
+        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T3,n3 > r3;\r
+        typedef typename r3::type a3;\r
+        typedef typename r3::next n4;\r
+        typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T4,n4 > r4;\r
+        typedef typename r4::type a4;\r
+        typedef typename r4::next n5;\r
+        typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T5,n5 > r5;\r
+        typedef typename r5::type a5;\r
+        typedef typename r5::next n6;\r
+        typedef aux::resolve_bind_arg< a5,U1,U2,U3,U4,U5 > t5;\r
+        ///\r
+     public:\r
+        typedef typename apply_wrap5<\r
+              f_\r
+            , typename t1::type, typename t2::type, typename t3::type\r
+            , typename t4::type, typename t5::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+aux::yes_tag\r
+is_bind_helper(bind5< F,T1,T2,T3,T4,T5 >*);\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(6, bind5)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct bind_chooser<5>\r
+{\r
+    template<\r
+          typename F, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5\r
+        >\r
+    struct result_\r
+    {\r
+        typedef bind5< F,T1,T2,T3,T4,T5 > type;\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template< typename T >\r
+struct is_bind_arg\r
+{\r
+    BOOST_STATIC_CONSTANT(bool, value  = true);\r
+};\r
+\r
+template<>\r
+struct is_bind_arg<na>\r
+{\r
+    BOOST_STATIC_CONSTANT(bool, value  = false);\r
+};\r
+\r
+template<\r
+      typename T1, typename T2, typename T3, typename T4, typename T5\r
+    >\r
+struct bind_count_args\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value =\r
+          is_bind_arg<T1>::value + is_bind_arg<T2>::value \r
+        + is_bind_arg<T3>::value + is_bind_arg<T4>::value \r
+        + is_bind_arg<T5>::value\r
+        );\r
+\r
+};\r
+\r
+}\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct bind\r
+    : aux::bind_chooser<\r
+          aux::bind_count_args< T1,T2,T3,T4,T5 >::value\r
+        >::template result_< F,T1,T2,T3,T4,T5 >::type\r
+{\r
+};\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(\r
+      6\r
+    , bind\r
+    )\r
+\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(\r
+      6\r
+    , bind\r
+    )\r
+}}\r
+\r
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 (file)
index 0000000..e47dd92
--- /dev/null
@@ -0,0 +1,52 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/bind_fwd.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename F, typename T1 = na, typename T2 = na, typename T3 = na\r
+    , typename T4 = na, typename T5 = na\r
+    >\r
+struct bind;\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct bind0;\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct bind1;\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+struct bind2;\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+struct bind3;\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct bind4;\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct bind5;\r
+\r
+}}\r
+\r
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 (file)
index 0000000..f3649ac
--- /dev/null
@@ -0,0 +1,134 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright Jaap Suter 2003\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/bitand.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct bitand_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< bitand_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< bitand_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct bitand_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct bitand_impl< na,integral_c_tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct bitand_impl< integral_c_tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct bitand_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+/// forward declaration\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct bitand_2;\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    , typename N3 = na, typename N4 = na, typename N5 = na\r
+    >\r
+struct bitand_\r
+\r
+    : if_<\r
+\r
+          is_na<N3>\r
+        , bitand_2< N1,N2 >\r
+        , bitand_<\r
+              bitand_2< N1,N2 >\r
+            , N3, N4, N5\r
+            >\r
+        >::type\r
+\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , bitand_\r
+        , ( N1, N2, N3, N4, N5 )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1\r
+    , typename N2\r
+    >\r
+struct bitand_2\r
+    : bitand_impl<\r
+          typename bitand_tag<N1>::type\r
+        , typename bitand_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, bitand_2, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+template<>\r
+struct bitand_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : integral_c<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value\r
+                  & BOOST_MPL_AUX_VALUE_WKND(N2)::value\r
+                )\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..10ba883
--- /dev/null
@@ -0,0 +1,134 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright Jaap Suter 2003\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/bitor.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct bitor_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< bitor_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< bitor_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct bitor_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct bitor_impl< na,integral_c_tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct bitor_impl< integral_c_tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct bitor_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+/// forward declaration\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct bitor_2;\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    , typename N3 = na, typename N4 = na, typename N5 = na\r
+    >\r
+struct bitor_\r
+\r
+    : if_<\r
+\r
+          is_na<N3>\r
+        , bitor_2< N1,N2 >\r
+        , bitor_<\r
+              bitor_2< N1,N2 >\r
+            , N3, N4, N5\r
+            >\r
+        >::type\r
+\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , bitor_\r
+        , ( N1, N2, N3, N4, N5 )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1\r
+    , typename N2\r
+    >\r
+struct bitor_2\r
+    : bitor_impl<\r
+          typename bitor_tag<N1>::type\r
+        , typename bitor_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, bitor_2, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 5, bitor_)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+template<>\r
+struct bitor_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : integral_c<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value\r
+                  | BOOST_MPL_AUX_VALUE_WKND(N2)::value\r
+                )\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..5212126
--- /dev/null
@@ -0,0 +1,134 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright Jaap Suter 2003\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/bitxor.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct bitxor_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< bitxor_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< bitxor_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct bitxor_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct bitxor_impl< na,integral_c_tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct bitxor_impl< integral_c_tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct bitxor_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+/// forward declaration\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct bitxor_2;\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    , typename N3 = na, typename N4 = na, typename N5 = na\r
+    >\r
+struct bitxor_\r
+\r
+    : if_<\r
+\r
+          is_na<N3>\r
+        , bitxor_2< N1,N2 >\r
+        , bitxor_<\r
+              bitxor_2< N1,N2 >\r
+            , N3, N4, N5\r
+            >\r
+        >::type\r
+\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , bitxor_\r
+        , ( N1, N2, N3, N4, N5 )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1\r
+    , typename N2\r
+    >\r
+struct bitxor_2\r
+    : bitxor_impl<\r
+          typename bitxor_tag<N1>::type\r
+        , typename bitxor_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, bitxor_2, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+template<>\r
+struct bitxor_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : integral_c<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value\r
+                  ^ BOOST_MPL_AUX_VALUE_WKND(N2)::value\r
+                )\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..fb8ef1a
--- /dev/null
@@ -0,0 +1,556 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/deque.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+template< int N >\r
+struct deque_chooser;\r
+\r
+}\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct deque_chooser<0>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef vector0<\r
+             \r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct deque_chooser<1>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector1<\r
+              T0\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct deque_chooser<2>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector2<\r
+              T0, T1\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct deque_chooser<3>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector3<\r
+              T0, T1, T2\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct deque_chooser<4>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector4<\r
+              T0, T1, T2, T3\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct deque_chooser<5>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector5<\r
+              T0, T1, T2, T3, T4\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct deque_chooser<6>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector6<\r
+              T0, T1, T2, T3, T4, T5\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct deque_chooser<7>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector7<\r
+              T0, T1, T2, T3, T4, T5, T6\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct deque_chooser<8>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector8<\r
+              T0, T1, T2, T3, T4, T5, T6, T7\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct deque_chooser<9>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector9<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct deque_chooser<10>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector10<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct deque_chooser<11>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector11<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct deque_chooser<12>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector12<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct deque_chooser<13>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector13<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct deque_chooser<14>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector14<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct deque_chooser<15>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector15<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct deque_chooser<16>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector16<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct deque_chooser<17>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector17<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct deque_chooser<18>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector18<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct deque_chooser<19>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector19<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct deque_chooser<20>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector20<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template< typename T >\r
+struct is_deque_arg\r
+{\r
+    BOOST_STATIC_CONSTANT(bool, value  = true);\r
+};\r
+\r
+template<>\r
+struct is_deque_arg<na>\r
+{\r
+    BOOST_STATIC_CONSTANT(bool, value  = false);\r
+};\r
+\r
+template<\r
+      typename T1, typename T2, typename T3, typename T4, typename T5\r
+    , typename T6, typename T7, typename T8, typename T9, typename T10\r
+    , typename T11, typename T12, typename T13, typename T14, typename T15\r
+    , typename T16, typename T17, typename T18, typename T19, typename T20\r
+    >\r
+struct deque_count_args\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value =\r
+          is_deque_arg<T1>::value + is_deque_arg<T2>::value \r
+        + is_deque_arg<T3>::value + is_deque_arg<T4>::value \r
+        + is_deque_arg<T5>::value + is_deque_arg<T6>::value \r
+        + is_deque_arg<T7>::value + is_deque_arg<T8>::value \r
+        + is_deque_arg<T9>::value + is_deque_arg<T10>::value \r
+        + is_deque_arg<T11>::value + is_deque_arg<T12>::value \r
+        + is_deque_arg<T13>::value + is_deque_arg<T14>::value \r
+        + is_deque_arg<T15>::value + is_deque_arg<T16>::value \r
+        + is_deque_arg<T17>::value + is_deque_arg<T18>::value \r
+        + is_deque_arg<T19>::value + is_deque_arg<T20>::value\r
+        );\r
+\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    >\r
+struct deque_impl\r
+{\r
+    typedef aux::deque_count_args<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19\r
+        > arg_num_;\r
+\r
+    typedef typename aux::deque_chooser< arg_num_::value >\r
+        ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na\r
+    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na\r
+    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na\r
+    , typename T12 = na, typename T13 = na, typename T14 = na\r
+    , typename T15 = na, typename T16 = na, typename T17 = na\r
+    , typename T18 = na, typename T19 = na\r
+    >\r
+struct deque\r
+    : aux::deque_impl<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19\r
+        >::type\r
+{\r
+    typedef typename aux::deque_impl<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19\r
+        >::type type;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..2497134
--- /dev/null
@@ -0,0 +1,133 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/divides.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct divides_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< divides_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< divides_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct divides_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct divides_impl< na,integral_c_tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct divides_impl< integral_c_tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct divides_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+/// forward declaration\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct divides2;\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    , typename N3 = na, typename N4 = na, typename N5 = na\r
+    >\r
+struct divides\r
+\r
+    : if_<\r
+\r
+          is_na<N3>\r
+        , divides2< N1,N2 >\r
+        , divides<\r
+              divides2< N1,N2 >\r
+            , N3, N4, N5\r
+            >\r
+        >::type\r
+\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , divides\r
+        , ( N1, N2, N3, N4, N5 )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1\r
+    , typename N2\r
+    >\r
+struct divides2\r
+    : divides_impl<\r
+          typename divides_tag<N1>::type\r
+        , typename divides_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, divides2, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 5, divides)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+template<>\r
+struct divides_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : integral_c<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value\r
+                  / BOOST_MPL_AUX_VALUE_WKND(N2)::value\r
+                )\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..e5faecd
--- /dev/null
@@ -0,0 +1,94 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/equal_to.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct equal_to_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct equal_to_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct equal_to_impl< na,integral_c_tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct equal_to_impl< integral_c_tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct equal_to_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct equal_to\r
+\r
+    : equal_to_impl<\r
+          typename equal_to_tag<N1>::type\r
+        , typename equal_to_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, equal_to, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct equal_to_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value  == BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..07659ae
--- /dev/null
@@ -0,0 +1,245 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/fold_impl.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+/// forward declaration\r
+\r
+template<\r
+      int N\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct fold_impl;\r
+\r
+template< int N >\r
+struct fold_chunk;\r
+\r
+template<> struct fold_chunk<0>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State state0;\r
+        typedef state0 state;\r
+        typedef iter0 iterator;\r
+    };\r
+};\r
+\r
+template<> struct fold_chunk<1>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State state0;\r
+        typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;\r
+        typedef typename mpl::next<iter0>::type iter1;\r
+        \r
+\r
+        typedef state1 state;\r
+        typedef iter1 iterator;\r
+    };\r
+};\r
+\r
+template<> struct fold_chunk<2>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State state0;\r
+        typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;\r
+        typedef typename mpl::next<iter0>::type iter1;\r
+        typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;\r
+        typedef typename mpl::next<iter1>::type iter2;\r
+        \r
+\r
+        typedef state2 state;\r
+        typedef iter2 iterator;\r
+    };\r
+};\r
+\r
+template<> struct fold_chunk<3>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State state0;\r
+        typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;\r
+        typedef typename mpl::next<iter0>::type iter1;\r
+        typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;\r
+        typedef typename mpl::next<iter1>::type iter2;\r
+        typedef typename apply2< ForwardOp, state2, typename deref<iter2>::type >::type state3;\r
+        typedef typename mpl::next<iter2>::type iter3;\r
+        \r
+\r
+        typedef state3 state;\r
+        typedef iter3 iterator;\r
+    };\r
+};\r
+\r
+template<> struct fold_chunk<4>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State state0;\r
+        typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;\r
+        typedef typename mpl::next<iter0>::type iter1;\r
+        typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;\r
+        typedef typename mpl::next<iter1>::type iter2;\r
+        typedef typename apply2< ForwardOp, state2, typename deref<iter2>::type >::type state3;\r
+        typedef typename mpl::next<iter2>::type iter3;\r
+        typedef typename apply2< ForwardOp, state3, typename deref<iter3>::type >::type state4;\r
+        typedef typename mpl::next<iter3>::type iter4;\r
+        \r
+\r
+        typedef state4 state;\r
+        typedef iter4 iterator;\r
+    };\r
+};\r
+\r
+template< int N >\r
+struct fold_chunk\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef fold_impl<\r
+              4\r
+            , First\r
+            , Last\r
+            , State\r
+            , ForwardOp\r
+            > chunk_;\r
+\r
+        typedef fold_impl<\r
+              ( (N - 4) < 0 ? 0 : N - 4 )\r
+            , typename chunk_::iterator\r
+            , Last\r
+            , typename chunk_::state\r
+            , ForwardOp\r
+            > res_;\r
+\r
+        typedef typename res_::state state;\r
+        typedef typename res_::iterator iterator;\r
+    };\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct fold_step;\r
+\r
+template<\r
+      typename Last\r
+    , typename State\r
+    >\r
+struct fold_null_step\r
+{\r
+    typedef Last iterator;\r
+    typedef State state;\r
+};\r
+\r
+template<>\r
+struct fold_chunk< -1 >\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename if_<\r
+              typename is_same< First,Last >::type\r
+            , fold_null_step< Last,State >\r
+            , fold_step< First,Last,State,ForwardOp >\r
+            >::type res_;\r
+\r
+        typedef typename res_::state state;\r
+        typedef typename res_::iterator iterator;\r
+    };\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct fold_step\r
+{\r
+    typedef fold_chunk< -1 >::template result_<\r
+          typename mpl::next<First>::type\r
+        , Last\r
+        , typename apply2<ForwardOp,State, typename deref<First>::type>::type\r
+        , ForwardOp\r
+        > chunk_;\r
+\r
+    typedef typename chunk_::state state;\r
+    typedef typename chunk_::iterator iterator;\r
+};\r
+\r
+template<\r
+      int N\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct fold_impl\r
+    : fold_chunk<N>\r
+        ::template result_< First,Last,State,ForwardOp >\r
+{\r
+};\r
+\r
+}}}\r
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 (file)
index 0000000..78cb47c
--- /dev/null
@@ -0,0 +1,554 @@
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/full_lambda.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+\r
+template<\r
+      bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false\r
+    , bool C5 = false\r
+    >\r
+struct lambda_or\r
+    : true_\r
+{\r
+};\r
+\r
+template<>\r
+struct lambda_or< false,false,false,false,false >\r
+    : false_\r
+{\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename T\r
+    , typename Tag\r
+   \r
+    >\r
+struct lambda\r
+{\r
+    typedef false_ is_le;\r
+    typedef T result_;\r
+    typedef T type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    >\r
+struct is_lambda_expression\r
+    : lambda<T>::is_le\r
+{\r
+};\r
+\r
+template< int N, typename Tag >\r
+struct lambda< arg<N>, Tag >\r
+{\r
+    typedef true_ is_le;\r
+    typedef mpl::arg<N> result_; // qualified for the sake of MIPSpro 7.41\r
+    typedef mpl::protect<result_> type;\r
+};\r
+\r
+template<\r
+      typename F\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          bind0<F>\r
+        , Tag\r
+       \r
+        >\r
+{\r
+    typedef false_ is_le;\r
+    typedef bind0<\r
+          F\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename IsLE, typename Tag\r
+    , template< typename P1 > class F\r
+    , typename L1\r
+    >\r
+struct le_result1\r
+{\r
+    typedef F<\r
+          typename L1::type\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+template<\r
+      typename Tag\r
+    , template< typename P1 > class F\r
+    , typename L1\r
+    >\r
+struct le_result1< true_,Tag,F,L1 >\r
+{\r
+    typedef bind1<\r
+          quote1< F,Tag >\r
+        , typename L1::result_\r
+        > result_;\r
+\r
+    typedef mpl::protect<result_> type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      template< typename P1 > class F\r
+    , typename T1\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          F<T1>\r
+        , Tag\r
+       \r
+        >\r
+{\r
+    typedef lambda< T1,Tag > l1;\r
+    typedef typename l1::is_le is_le1;\r
+    typedef typename aux::lambda_or<\r
+          is_le1::value\r
+        >::type is_le;\r
+\r
+    typedef aux::le_result1<\r
+          is_le, Tag, F, l1\r
+        > le_result_;\r
+\r
+    typedef typename le_result_::result_ result_;\r
+    typedef typename le_result_::type type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          bind1< F,T1 >\r
+        , Tag\r
+       \r
+        >\r
+{\r
+    typedef false_ is_le;\r
+    typedef bind1<\r
+          F\r
+        , T1\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename IsLE, typename Tag\r
+    , template< typename P1, typename P2 > class F\r
+    , typename L1, typename L2\r
+    >\r
+struct le_result2\r
+{\r
+    typedef F<\r
+          typename L1::type, typename L2::type\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+template<\r
+      typename Tag\r
+    , template< typename P1, typename P2 > class F\r
+    , typename L1, typename L2\r
+    >\r
+struct le_result2< true_,Tag,F,L1,L2 >\r
+{\r
+    typedef bind2<\r
+          quote2< F,Tag >\r
+        , typename L1::result_, typename L2::result_\r
+        > result_;\r
+\r
+    typedef mpl::protect<result_> type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      template< typename P1, typename P2 > class F\r
+    , typename T1, typename T2\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          F< T1,T2 >\r
+        , Tag\r
+       \r
+        >\r
+{\r
+    typedef lambda< T1,Tag > l1;\r
+    typedef lambda< T2,Tag > l2;\r
+    \r
+    typedef typename l1::is_le is_le1;\r
+    typedef typename l2::is_le is_le2;\r
+    \r
+\r
+    typedef typename aux::lambda_or<\r
+          is_le1::value, is_le2::value\r
+        >::type is_le;\r
+\r
+    typedef aux::le_result2<\r
+          is_le, Tag, F, l1, l2\r
+        > le_result_;\r
+\r
+    typedef typename le_result_::result_ result_;\r
+    typedef typename le_result_::type type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          bind2< F,T1,T2 >\r
+        , Tag\r
+       \r
+        >\r
+{\r
+    typedef false_ is_le;\r
+    typedef bind2<\r
+          F\r
+        , T1, T2\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename IsLE, typename Tag\r
+    , template< typename P1, typename P2, typename P3 > class F\r
+    , typename L1, typename L2, typename L3\r
+    >\r
+struct le_result3\r
+{\r
+    typedef F<\r
+          typename L1::type, typename L2::type, typename L3::type\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+template<\r
+      typename Tag\r
+    , template< typename P1, typename P2, typename P3 > class F\r
+    , typename L1, typename L2, typename L3\r
+    >\r
+struct le_result3< true_,Tag,F,L1,L2,L3 >\r
+{\r
+    typedef bind3<\r
+          quote3< F,Tag >\r
+        , typename L1::result_, typename L2::result_, typename L3::result_\r
+        > result_;\r
+\r
+    typedef mpl::protect<result_> type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      template< typename P1, typename P2, typename P3 > class F\r
+    , typename T1, typename T2, typename T3\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          F< T1,T2,T3 >\r
+        , Tag\r
+       \r
+        >\r
+{\r
+    typedef lambda< T1,Tag > l1;\r
+    typedef lambda< T2,Tag > l2;\r
+    typedef lambda< T3,Tag > l3;\r
+    \r
+    typedef typename l1::is_le is_le1;\r
+    typedef typename l2::is_le is_le2;\r
+    typedef typename l3::is_le is_le3;\r
+    \r
+\r
+    typedef typename aux::lambda_or<\r
+          is_le1::value, is_le2::value, is_le3::value\r
+        >::type is_le;\r
+\r
+    typedef aux::le_result3<\r
+          is_le, Tag, F, l1, l2, l3\r
+        > le_result_;\r
+\r
+    typedef typename le_result_::result_ result_;\r
+    typedef typename le_result_::type type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          bind3< F,T1,T2,T3 >\r
+        , Tag\r
+       \r
+        >\r
+{\r
+    typedef false_ is_le;\r
+    typedef bind3<\r
+          F\r
+        , T1, T2, T3\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename IsLE, typename Tag\r
+    , template< typename P1, typename P2, typename P3, typename P4 > class F\r
+    , typename L1, typename L2, typename L3, typename L4\r
+    >\r
+struct le_result4\r
+{\r
+    typedef F<\r
+          typename L1::type, typename L2::type, typename L3::type\r
+        , typename L4::type\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+template<\r
+      typename Tag\r
+    , template< typename P1, typename P2, typename P3, typename P4 > class F\r
+    , typename L1, typename L2, typename L3, typename L4\r
+    >\r
+struct le_result4< true_,Tag,F,L1,L2,L3,L4 >\r
+{\r
+    typedef bind4<\r
+          quote4< F,Tag >\r
+        , typename L1::result_, typename L2::result_, typename L3::result_\r
+        , typename L4::result_\r
+        > result_;\r
+\r
+    typedef mpl::protect<result_> type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      template< typename P1, typename P2, typename P3, typename P4 > class F\r
+    , typename T1, typename T2, typename T3, typename T4\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          F< T1,T2,T3,T4 >\r
+        , Tag\r
+       \r
+        >\r
+{\r
+    typedef lambda< T1,Tag > l1;\r
+    typedef lambda< T2,Tag > l2;\r
+    typedef lambda< T3,Tag > l3;\r
+    typedef lambda< T4,Tag > l4;\r
+    \r
+    typedef typename l1::is_le is_le1;\r
+    typedef typename l2::is_le is_le2;\r
+    typedef typename l3::is_le is_le3;\r
+    typedef typename l4::is_le is_le4;\r
+    \r
+\r
+    typedef typename aux::lambda_or<\r
+          is_le1::value, is_le2::value, is_le3::value, is_le4::value\r
+        >::type is_le;\r
+\r
+    typedef aux::le_result4<\r
+          is_le, Tag, F, l1, l2, l3, l4\r
+        > le_result_;\r
+\r
+    typedef typename le_result_::result_ result_;\r
+    typedef typename le_result_::type type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          bind4< F,T1,T2,T3,T4 >\r
+        , Tag\r
+       \r
+        >\r
+{\r
+    typedef false_ is_le;\r
+    typedef bind4<\r
+          F\r
+        , T1, T2, T3, T4\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename IsLE, typename Tag\r
+    , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F\r
+    , typename L1, typename L2, typename L3, typename L4, typename L5\r
+    >\r
+struct le_result5\r
+{\r
+    typedef F<\r
+          typename L1::type, typename L2::type, typename L3::type\r
+        , typename L4::type, typename L5::type\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+template<\r
+      typename Tag\r
+    , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F\r
+    , typename L1, typename L2, typename L3, typename L4, typename L5\r
+    >\r
+struct le_result5< true_,Tag,F,L1,L2,L3,L4,L5 >\r
+{\r
+    typedef bind5<\r
+          quote5< F,Tag >\r
+        , typename L1::result_, typename L2::result_, typename L3::result_\r
+        , typename L4::result_, typename L5::result_\r
+        > result_;\r
+\r
+    typedef mpl::protect<result_> type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      template<\r
+          typename P1, typename P2, typename P3, typename P4\r
+        , typename P5\r
+        >\r
+      class F\r
+    , typename T1, typename T2, typename T3, typename T4, typename T5\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          F< T1,T2,T3,T4,T5 >\r
+        , Tag\r
+       \r
+        >\r
+{\r
+    typedef lambda< T1,Tag > l1;\r
+    typedef lambda< T2,Tag > l2;\r
+    typedef lambda< T3,Tag > l3;\r
+    typedef lambda< T4,Tag > l4;\r
+    typedef lambda< T5,Tag > l5;\r
+    \r
+    typedef typename l1::is_le is_le1;\r
+    typedef typename l2::is_le is_le2;\r
+    typedef typename l3::is_le is_le3;\r
+    typedef typename l4::is_le is_le4;\r
+    typedef typename l5::is_le is_le5;\r
+    \r
+\r
+    typedef typename aux::lambda_or<\r
+          is_le1::value, is_le2::value, is_le3::value, is_le4::value\r
+        , is_le5::value\r
+        >::type is_le;\r
+\r
+    typedef aux::le_result5<\r
+          is_le, Tag, F, l1, l2, l3, l4, l5\r
+        > le_result_;\r
+\r
+    typedef typename le_result_::result_ result_;\r
+    typedef typename le_result_::type type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          bind5< F,T1,T2,T3,T4,T5 >\r
+        , Tag\r
+       \r
+        >\r
+{\r
+    typedef false_ is_le;\r
+    typedef bind5<\r
+          F\r
+        , T1, T2, T3, T4, T5\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+/// special case for 'protect'\r
+template< typename T, typename Tag >\r
+struct lambda< mpl::protect<T>, Tag >\r
+{\r
+    typedef false_ is_le;\r
+    typedef mpl::protect<T> result_;\r
+    typedef result_ type;\r
+};\r
+\r
+/// specializations for the main 'bind' form\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          bind< F,T1,T2,T3,T4,T5 >\r
+        , Tag\r
+       \r
+        >\r
+{\r
+    typedef false_ is_le;\r
+    typedef bind< F,T1,T2,T3,T4,T5 > result_;\r
+    typedef result_ type;\r
+};\r
+\r
+/// workaround for MWCW 8.3+/EDG < 303, leads to ambiguity on Digital Mars\r
+\r
+template<\r
+      typename F, typename Tag1, typename Tag2\r
+    >\r
+struct lambda<\r
+          lambda< F,Tag1 >\r
+        , Tag2\r
+        >\r
+{\r
+    typedef lambda< F,Tag2 > l1;\r
+    typedef lambda< Tag1,Tag2 > l2;\r
+    typedef typename l1::is_le is_le;\r
+    typedef aux::le_result2<is_le, Tag2, mpl::lambda, l1, l2> le_result_;\r
+    typedef typename le_result_::result_ result_;\r
+    typedef typename le_result_::type type;\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(2, lambda)\r
+\r
+}}\r
+\r
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 (file)
index 0000000..9cd0cd9
--- /dev/null
@@ -0,0 +1,94 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/greater.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct greater_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< greater_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< greater_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct greater_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct greater_impl< na,integral_c_tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct greater_impl< integral_c_tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct greater_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct greater\r
+\r
+    : greater_impl<\r
+          typename greater_tag<N1>::type\r
+        , typename greater_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, greater)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct greater_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value > BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..6178c7a
--- /dev/null
@@ -0,0 +1,94 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/greater_equal.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct greater_equal_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< greater_equal_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< greater_equal_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct greater_equal_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct greater_equal_impl< na,integral_c_tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct greater_equal_impl< integral_c_tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct greater_equal_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct greater_equal\r
+\r
+    : greater_equal_impl<\r
+          typename greater_equal_tag<N1>::type\r
+        , typename greater_equal_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater_equal, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct greater_equal_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..c61fc27
--- /dev/null
@@ -0,0 +1,166 @@
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/inherit.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+\r
+template< bool C1, bool C2 >\r
+struct inherit2_impl\r
+{\r
+    template< typename Derived, typename T1, typename T2 > struct result_\r
+        : T1, T2\r
+    {\r
+        typedef Derived type_;\r
+    };\r
+};\r
+\r
+template<>\r
+struct inherit2_impl< false,true >\r
+{\r
+    template< typename Derived, typename T1, typename T2 > struct result_\r
+        : T1\r
+    {\r
+        typedef T1 type_;\r
+    };\r
+};\r
+\r
+template<>\r
+struct inherit2_impl< true,false >\r
+{\r
+    template< typename Derived, typename T1, typename T2 > struct result_\r
+        : T2\r
+    {\r
+        typedef T2 type_;\r
+    };\r
+};\r
+\r
+template<>\r
+struct inherit2_impl< true,true >\r
+{\r
+    template< typename Derived, typename T1, typename T2 > struct result_\r
+    {\r
+        typedef T1 type_;\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(T1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(T2)\r
+    >\r
+struct inherit2\r
+    : aux::inherit2_impl<\r
+          is_empty_base<T1>::value\r
+        , is_empty_base<T2>::value\r
+        >::template result_< inherit2< T1,T2 >,T1, T2 >\r
+{\r
+    typedef typename inherit2::type_ type;\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1, T2))\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(2, inherit2)\r
+\r
+template<\r
+      typename T1 = na, typename T2 = na, typename T3 = na\r
+    >\r
+struct inherit3\r
+    : inherit2<\r
+          typename inherit2<\r
+              T1, T2\r
+            >::type\r
+        , T3\r
+        >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          3\r
+        , inherit3\r
+        , ( T1, T2, T3)\r
+        )\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(3, inherit3)\r
+\r
+template<\r
+      typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na\r
+    >\r
+struct inherit4\r
+    : inherit2<\r
+          typename inherit3<\r
+              T1, T2, T3\r
+            >::type\r
+        , T4\r
+        >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          4\r
+        , inherit4\r
+        , ( T1, T2, T3, T4)\r
+        )\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(4, inherit4)\r
+\r
+template<\r
+      typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na\r
+    , typename T5 = na\r
+    >\r
+struct inherit5\r
+    : inherit2<\r
+          typename inherit4<\r
+              T1, T2, T3, T4\r
+            >::type\r
+        , T5\r
+        >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , inherit5\r
+        , ( T1, T2, T3, T4, T5)\r
+        )\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(5, inherit5)\r
+\r
+/// primary template\r
+\r
+template<\r
+      typename T1 = empty_base, typename T2 = empty_base\r
+    , typename T3 = empty_base, typename T4 = empty_base\r
+    , typename T5 = empty_base\r
+    >\r
+struct inherit\r
+    : inherit5< T1,T2,T3,T4,T5 >\r
+{\r
+};\r
+\r
+template<>\r
+struct inherit< na,na,na,na,na >\r
+{\r
+    template<\r
+\r
+          typename T1 = empty_base, typename T2 = empty_base\r
+        , typename T3 = empty_base, typename T4 = empty_base\r
+        , typename T5 = empty_base\r
+\r
+        >\r
+    struct apply\r
+        : inherit< T1,T2,T3,T4,T5 >\r
+    {\r
+    };\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit)\r
+BOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit)\r
+BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit)\r
+}}\r
+\r
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 (file)
index 0000000..233e7dd
--- /dev/null
@@ -0,0 +1,133 @@
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+// Copyright David Abrahams 2001-2002\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/iter_fold_if_impl.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+template< typename Iterator, typename State >\r
+struct iter_fold_if_null_step\r
+{\r
+    typedef State state;\r
+    typedef Iterator iterator;\r
+};\r
+\r
+template< bool >\r
+struct iter_fold_if_step_impl\r
+{\r
+    template<\r
+          typename Iterator\r
+        , typename State\r
+        , typename StateOp\r
+        , typename IteratorOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename apply2< StateOp,State,Iterator >::type state;\r
+        typedef typename IteratorOp::type iterator;\r
+    };\r
+};\r
+\r
+template<>\r
+struct iter_fold_if_step_impl<false>\r
+{\r
+    template<\r
+          typename Iterator\r
+        , typename State\r
+        , typename StateOp\r
+        , typename IteratorOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef State state;\r
+        typedef Iterator iterator;\r
+    };\r
+};\r
+\r
+template<\r
+      typename Iterator\r
+    , typename State\r
+    , typename ForwardOp\r
+    , typename Predicate\r
+    >\r
+struct iter_fold_if_forward_step\r
+{\r
+    typedef typename apply2< Predicate,State,Iterator >::type not_last;\r
+    typedef typename iter_fold_if_step_impl<\r
+          BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value\r
+        >::template result_< Iterator,State,ForwardOp, mpl::next<Iterator> > impl_;\r
+\r
+    typedef typename impl_::state state;\r
+    typedef typename impl_::iterator iterator;\r
+};\r
+\r
+template<\r
+      typename Iterator\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename Predicate\r
+    >\r
+struct iter_fold_if_backward_step\r
+{\r
+    typedef typename apply2< Predicate,State,Iterator >::type not_last;\r
+    typedef typename iter_fold_if_step_impl<\r
+          BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value\r
+        >::template result_< Iterator,State,BackwardOp, identity<Iterator> > impl_;\r
+\r
+    typedef typename impl_::state state;\r
+    typedef typename impl_::iterator iterator;\r
+};\r
+\r
+template<\r
+      typename Iterator\r
+    , typename State\r
+    , typename ForwardOp\r
+    , typename ForwardPredicate\r
+    , typename BackwardOp\r
+    , typename BackwardPredicate\r
+    >\r
+struct iter_fold_if_impl\r
+{\r
+ private:\r
+    typedef iter_fold_if_null_step< Iterator,State > forward_step0;\r
+    typedef iter_fold_if_forward_step< typename forward_step0::iterator, typename forward_step0::state, ForwardOp, ForwardPredicate > forward_step1;\r
+    typedef iter_fold_if_forward_step< typename forward_step1::iterator, typename forward_step1::state, ForwardOp, ForwardPredicate > forward_step2;\r
+    typedef iter_fold_if_forward_step< typename forward_step2::iterator, typename forward_step2::state, ForwardOp, ForwardPredicate > forward_step3;\r
+    typedef iter_fold_if_forward_step< typename forward_step3::iterator, typename forward_step3::state, ForwardOp, ForwardPredicate > forward_step4;\r
+    \r
+\r
+    typedef typename if_<\r
+          typename forward_step4::not_last\r
+        , iter_fold_if_impl<\r
+              typename forward_step4::iterator\r
+            , typename forward_step4::state\r
+            , ForwardOp\r
+            , ForwardPredicate\r
+            , BackwardOp\r
+            , BackwardPredicate\r
+            >\r
+        , iter_fold_if_null_step<\r
+              typename forward_step4::iterator\r
+            , typename forward_step4::state\r
+            >\r
+        >::type backward_step4;\r
+\r
+    typedef iter_fold_if_backward_step< typename forward_step3::iterator, typename backward_step4::state, BackwardOp, BackwardPredicate > backward_step3;\r
+    typedef iter_fold_if_backward_step< typename forward_step2::iterator, typename backward_step3::state, BackwardOp, BackwardPredicate > backward_step2;\r
+    typedef iter_fold_if_backward_step< typename forward_step1::iterator, typename backward_step2::state, BackwardOp, BackwardPredicate > backward_step1;\r
+    typedef iter_fold_if_backward_step< typename forward_step0::iterator, typename backward_step1::state, BackwardOp, BackwardPredicate > backward_step0;\r
+    \r
+\r
+ public:\r
+    typedef typename backward_step0::state state;\r
+    typedef typename backward_step4::iterator iterator;\r
+};\r
+\r
+}}}\r
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 (file)
index 0000000..aa74420
--- /dev/null
@@ -0,0 +1,245 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/iter_fold_impl.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+/// forward declaration\r
+\r
+template<\r
+      int N\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct iter_fold_impl;\r
+\r
+template< int N >\r
+struct iter_fold_chunk;\r
+\r
+template<> struct iter_fold_chunk<0>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State state0;\r
+        typedef state0 state;\r
+        typedef iter0 iterator;\r
+    };\r
+};\r
+\r
+template<> struct iter_fold_chunk<1>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State state0;\r
+        typedef typename apply2< ForwardOp,state0,iter0 >::type state1;\r
+        typedef typename mpl::next<iter0>::type iter1;\r
+        \r
+\r
+        typedef state1 state;\r
+        typedef iter1 iterator;\r
+    };\r
+};\r
+\r
+template<> struct iter_fold_chunk<2>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State state0;\r
+        typedef typename apply2< ForwardOp,state0,iter0 >::type state1;\r
+        typedef typename mpl::next<iter0>::type iter1;\r
+        typedef typename apply2< ForwardOp,state1,iter1 >::type state2;\r
+        typedef typename mpl::next<iter1>::type iter2;\r
+        \r
+\r
+        typedef state2 state;\r
+        typedef iter2 iterator;\r
+    };\r
+};\r
+\r
+template<> struct iter_fold_chunk<3>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State state0;\r
+        typedef typename apply2< ForwardOp,state0,iter0 >::type state1;\r
+        typedef typename mpl::next<iter0>::type iter1;\r
+        typedef typename apply2< ForwardOp,state1,iter1 >::type state2;\r
+        typedef typename mpl::next<iter1>::type iter2;\r
+        typedef typename apply2< ForwardOp,state2,iter2 >::type state3;\r
+        typedef typename mpl::next<iter2>::type iter3;\r
+        \r
+\r
+        typedef state3 state;\r
+        typedef iter3 iterator;\r
+    };\r
+};\r
+\r
+template<> struct iter_fold_chunk<4>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State state0;\r
+        typedef typename apply2< ForwardOp,state0,iter0 >::type state1;\r
+        typedef typename mpl::next<iter0>::type iter1;\r
+        typedef typename apply2< ForwardOp,state1,iter1 >::type state2;\r
+        typedef typename mpl::next<iter1>::type iter2;\r
+        typedef typename apply2< ForwardOp,state2,iter2 >::type state3;\r
+        typedef typename mpl::next<iter2>::type iter3;\r
+        typedef typename apply2< ForwardOp,state3,iter3 >::type state4;\r
+        typedef typename mpl::next<iter3>::type iter4;\r
+        \r
+\r
+        typedef state4 state;\r
+        typedef iter4 iterator;\r
+    };\r
+};\r
+\r
+template< int N >\r
+struct iter_fold_chunk\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef iter_fold_impl<\r
+              4\r
+            , First\r
+            , Last\r
+            , State\r
+            , ForwardOp\r
+            > chunk_;\r
+\r
+        typedef iter_fold_impl<\r
+              ( (N - 4) < 0 ? 0 : N - 4 )\r
+            , typename chunk_::iterator\r
+            , Last\r
+            , typename chunk_::state\r
+            , ForwardOp\r
+            > res_;\r
+\r
+        typedef typename res_::state state;\r
+        typedef typename res_::iterator iterator;\r
+    };\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct iter_fold_step;\r
+\r
+template<\r
+      typename Last\r
+    , typename State\r
+    >\r
+struct iter_fold_null_step\r
+{\r
+    typedef Last iterator;\r
+    typedef State state;\r
+};\r
+\r
+template<>\r
+struct iter_fold_chunk< -1 >\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename if_<\r
+              typename is_same< First,Last >::type\r
+            , iter_fold_null_step< Last,State >\r
+            , iter_fold_step< First,Last,State,ForwardOp >\r
+            >::type res_;\r
+\r
+        typedef typename res_::state state;\r
+        typedef typename res_::iterator iterator;\r
+    };\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct iter_fold_step\r
+{\r
+    typedef iter_fold_chunk< -1 >::template result_<\r
+          typename mpl::next<First>::type\r
+        , Last\r
+        , typename apply2< ForwardOp,State,First >::type\r
+        , ForwardOp\r
+        > chunk_;\r
+\r
+    typedef typename chunk_::state state;\r
+    typedef typename chunk_::iterator iterator;\r
+};\r
+\r
+template<\r
+      int N\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct iter_fold_impl\r
+    : iter_fold_chunk<N>\r
+        ::template result_< First,Last,State,ForwardOp >\r
+{\r
+};\r
+\r
+}}}\r
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 (file)
index 0000000..c4ac608
--- /dev/null
@@ -0,0 +1,229 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/lambda_no_ctps.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+\r
+template<\r
+      bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false\r
+    , bool C5 = false\r
+    >\r
+struct lambda_or\r
+    : true_\r
+{\r
+};\r
+\r
+template<>\r
+struct lambda_or< false,false,false,false,false >\r
+    : false_\r
+{\r
+};\r
+\r
+template< typename Arity > struct lambda_impl\r
+{\r
+    template< typename T, typename Tag, typename Protect > struct result_\r
+    {\r
+        typedef T type;\r
+        typedef is_placeholder<T> is_le;\r
+    };\r
+};\r
+\r
+template<> struct lambda_impl< int_<1> >\r
+{\r
+    template< typename F, typename Tag, typename Protect > struct result_\r
+    {\r
+        typedef lambda< typename F::arg1, Tag, false_ > l1;\r
+        typedef typename l1::is_le is_le1;\r
+        typedef aux::lambda_or<\r
+              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value\r
+            > is_le;\r
+\r
+        typedef bind1<\r
+              typename F::rebind\r
+            , typename l1::type\r
+            > bind_;\r
+\r
+        typedef typename if_<\r
+              is_le\r
+            , if_< Protect, mpl::protect<bind_>, bind_ >\r
+            , identity<F>\r
+            >::type type_;\r
+\r
+        typedef typename type_::type type;\r
+    };\r
+};\r
+\r
+template<> struct lambda_impl< int_<2> >\r
+{\r
+    template< typename F, typename Tag, typename Protect > struct result_\r
+    {\r
+        typedef lambda< typename F::arg1, Tag, false_ > l1;\r
+        typedef lambda< typename F::arg2, Tag, false_ > l2;\r
+        \r
+        typedef typename l1::is_le is_le1;\r
+        typedef typename l2::is_le is_le2;\r
+        \r
+\r
+        typedef aux::lambda_or<\r
+              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value\r
+            > is_le;\r
+\r
+        typedef bind2<\r
+              typename F::rebind\r
+            , typename l1::type, typename l2::type\r
+            > bind_;\r
+\r
+        typedef typename if_<\r
+              is_le\r
+            , if_< Protect, mpl::protect<bind_>, bind_ >\r
+            , identity<F>\r
+            >::type type_;\r
+\r
+        typedef typename type_::type type;\r
+    };\r
+};\r
+\r
+template<> struct lambda_impl< int_<3> >\r
+{\r
+    template< typename F, typename Tag, typename Protect > struct result_\r
+    {\r
+        typedef lambda< typename F::arg1, Tag, false_ > l1;\r
+        typedef lambda< typename F::arg2, Tag, false_ > l2;\r
+        typedef lambda< typename F::arg3, Tag, false_ > l3;\r
+        \r
+        typedef typename l1::is_le is_le1;\r
+        typedef typename l2::is_le is_le2;\r
+        typedef typename l3::is_le is_le3;\r
+        \r
+\r
+        typedef aux::lambda_or<\r
+              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\r
+            > is_le;\r
+\r
+        typedef bind3<\r
+              typename F::rebind\r
+            , typename l1::type, typename l2::type, typename l3::type\r
+            > bind_;\r
+\r
+        typedef typename if_<\r
+              is_le\r
+            , if_< Protect, mpl::protect<bind_>, bind_ >\r
+            , identity<F>\r
+            >::type type_;\r
+\r
+        typedef typename type_::type type;\r
+    };\r
+};\r
+\r
+template<> struct lambda_impl< int_<4> >\r
+{\r
+    template< typename F, typename Tag, typename Protect > struct result_\r
+    {\r
+        typedef lambda< typename F::arg1, Tag, false_ > l1;\r
+        typedef lambda< typename F::arg2, Tag, false_ > l2;\r
+        typedef lambda< typename F::arg3, Tag, false_ > l3;\r
+        typedef lambda< typename F::arg4, Tag, false_ > l4;\r
+        \r
+        typedef typename l1::is_le is_le1;\r
+        typedef typename l2::is_le is_le2;\r
+        typedef typename l3::is_le is_le3;\r
+        typedef typename l4::is_le is_le4;\r
+        \r
+\r
+        typedef aux::lambda_or<\r
+              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\r
+            > is_le;\r
+\r
+        typedef bind4<\r
+              typename F::rebind\r
+            , typename l1::type, typename l2::type, typename l3::type\r
+            , typename l4::type\r
+            > bind_;\r
+\r
+        typedef typename if_<\r
+              is_le\r
+            , if_< Protect, mpl::protect<bind_>, bind_ >\r
+            , identity<F>\r
+            >::type type_;\r
+\r
+        typedef typename type_::type type;\r
+    };\r
+};\r
+\r
+template<> struct lambda_impl< int_<5> >\r
+{\r
+    template< typename F, typename Tag, typename Protect > struct result_\r
+    {\r
+        typedef lambda< typename F::arg1, Tag, false_ > l1;\r
+        typedef lambda< typename F::arg2, Tag, false_ > l2;\r
+        typedef lambda< typename F::arg3, Tag, false_ > l3;\r
+        typedef lambda< typename F::arg4, Tag, false_ > l4;\r
+        typedef lambda< typename F::arg5, Tag, false_ > l5;\r
+        \r
+        typedef typename l1::is_le is_le1;\r
+        typedef typename l2::is_le is_le2;\r
+        typedef typename l3::is_le is_le3;\r
+        typedef typename l4::is_le is_le4;\r
+        typedef typename l5::is_le is_le5;\r
+        \r
+\r
+        typedef aux::lambda_or<\r
+              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\r
+            > is_le;\r
+\r
+        typedef bind5<\r
+              typename F::rebind\r
+            , typename l1::type, typename l2::type, typename l3::type\r
+            , typename l4::type, typename l5::type\r
+            > bind_;\r
+\r
+        typedef typename if_<\r
+              is_le\r
+            , if_< Protect, mpl::protect<bind_>, bind_ >\r
+            , identity<F>\r
+            >::type type_;\r
+\r
+        typedef typename type_::type type;\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename T\r
+    , typename Tag\r
+    , typename Protect\r
+    >\r
+struct lambda\r
+{\r
+    /// Metafunction forwarding confuses MSVC 6.x\r
+    typedef typename aux::template_arity<T>::type arity_;\r
+    typedef typename aux::lambda_impl<arity_>\r
+        ::template result_< T,Tag,Protect > l_;\r
+\r
+    typedef typename l_::type type;\r
+    typedef typename l_::is_le is_le;\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect))\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(1, 3, lambda)\r
+\r
+template<\r
+      typename T\r
+    >\r
+struct is_lambda_expression\r
+    : lambda<T>::is_le\r
+{\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..5ba156d
--- /dev/null
@@ -0,0 +1,94 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/less.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct less_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< less_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< less_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct less_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct less_impl< na,integral_c_tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct less_impl< integral_c_tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct less_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct less\r
+\r
+    : less_impl<\r
+          typename less_tag<N1>::type\r
+        , typename less_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, less)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct less_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N2)::value > BOOST_MPL_AUX_VALUE_WKND(N1)::value ) >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..d195ee5
--- /dev/null
@@ -0,0 +1,94 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/less_equal.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct less_equal_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< less_equal_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< less_equal_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct less_equal_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct less_equal_impl< na,integral_c_tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct less_equal_impl< integral_c_tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct less_equal_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct less_equal\r
+\r
+    : less_equal_impl<\r
+          typename less_equal_tag<N1>::type\r
+        , typename less_equal_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less_equal, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct less_equal_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value <= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..d1e03d2
--- /dev/null
@@ -0,0 +1,556 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/list.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+template< int N >\r
+struct list_chooser;\r
+\r
+}\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_chooser<0>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef list0<\r
+             \r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_chooser<1>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list1<\r
+              T0\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_chooser<2>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list2<\r
+              T0, T1\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_chooser<3>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list3<\r
+              T0, T1, T2\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_chooser<4>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list4<\r
+              T0, T1, T2, T3\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_chooser<5>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list5<\r
+              T0, T1, T2, T3, T4\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_chooser<6>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list6<\r
+              T0, T1, T2, T3, T4, T5\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_chooser<7>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list7<\r
+              T0, T1, T2, T3, T4, T5, T6\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_chooser<8>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list8<\r
+              T0, T1, T2, T3, T4, T5, T6, T7\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_chooser<9>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list9<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_chooser<10>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list10<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_chooser<11>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list11<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_chooser<12>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list12<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_chooser<13>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list13<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_chooser<14>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list14<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_chooser<15>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list15<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_chooser<16>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list16<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_chooser<17>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list17<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_chooser<18>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list18<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_chooser<19>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list19<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_chooser<20>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list20<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template< typename T >\r
+struct is_list_arg\r
+{\r
+    BOOST_STATIC_CONSTANT(bool, value  = true);\r
+};\r
+\r
+template<>\r
+struct is_list_arg<na>\r
+{\r
+    BOOST_STATIC_CONSTANT(bool, value  = false);\r
+};\r
+\r
+template<\r
+      typename T1, typename T2, typename T3, typename T4, typename T5\r
+    , typename T6, typename T7, typename T8, typename T9, typename T10\r
+    , typename T11, typename T12, typename T13, typename T14, typename T15\r
+    , typename T16, typename T17, typename T18, typename T19, typename T20\r
+    >\r
+struct list_count_args\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value =\r
+          is_list_arg<T1>::value + is_list_arg<T2>::value \r
+        + is_list_arg<T3>::value + is_list_arg<T4>::value \r
+        + is_list_arg<T5>::value + is_list_arg<T6>::value \r
+        + is_list_arg<T7>::value + is_list_arg<T8>::value \r
+        + is_list_arg<T9>::value + is_list_arg<T10>::value \r
+        + is_list_arg<T11>::value + is_list_arg<T12>::value \r
+        + is_list_arg<T13>::value + is_list_arg<T14>::value \r
+        + is_list_arg<T15>::value + is_list_arg<T16>::value \r
+        + is_list_arg<T17>::value + is_list_arg<T18>::value \r
+        + is_list_arg<T19>::value + is_list_arg<T20>::value\r
+        );\r
+\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    >\r
+struct list_impl\r
+{\r
+    typedef aux::list_count_args<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19\r
+        > arg_num_;\r
+\r
+    typedef typename aux::list_chooser< arg_num_::value >\r
+        ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na\r
+    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na\r
+    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na\r
+    , typename T12 = na, typename T13 = na, typename T14 = na\r
+    , typename T15 = na, typename T16 = na, typename T17 = na\r
+    , typename T18 = na, typename T19 = na\r
+    >\r
+struct list\r
+    : aux::list_impl<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19\r
+        >::type\r
+{\r
+    typedef typename aux::list_impl<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19\r
+        >::type type;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..b821770
--- /dev/null
@@ -0,0 +1,534 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/list_c.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+template< int N >\r
+struct list_c_chooser;\r
+\r
+}\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_c_chooser<0>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list0_c<\r
+              T\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_c_chooser<1>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list1_c<\r
+              T, C0\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_c_chooser<2>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list2_c<\r
+              T, C0, C1\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_c_chooser<3>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list3_c<\r
+              T, C0, C1, C2\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_c_chooser<4>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list4_c<\r
+              T, C0, C1, C2, C3\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_c_chooser<5>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list5_c<\r
+              T, C0, C1, C2, C3, C4\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_c_chooser<6>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list6_c<\r
+              T, C0, C1, C2, C3, C4, C5\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_c_chooser<7>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list7_c<\r
+              T, C0, C1, C2, C3, C4, C5, C6\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_c_chooser<8>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list8_c<\r
+              T, C0, C1, C2, C3, C4, C5, C6, C7\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_c_chooser<9>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list9_c<\r
+              T, C0, C1, C2, C3, C4, C5, C6, C7, C8\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_c_chooser<10>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list10_c<\r
+              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_c_chooser<11>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list11_c<\r
+              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_c_chooser<12>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list12_c<\r
+              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_c_chooser<13>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list13_c<\r
+              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_c_chooser<14>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list14_c<\r
+              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_c_chooser<15>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list15_c<\r
+              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_c_chooser<16>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list16_c<\r
+              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_c_chooser<17>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list17_c<\r
+              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_c_chooser<18>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list18_c<\r
+              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_c_chooser<19>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list19_c<\r
+              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct list_c_chooser<20>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename list20_c<\r
+              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template< long C >\r
+struct is_list_c_arg\r
+{\r
+    BOOST_STATIC_CONSTANT(bool, value  = true);\r
+};\r
+\r
+template<>\r
+struct is_list_c_arg<LONG_MAX>\r
+{\r
+    BOOST_STATIC_CONSTANT(bool, value  = false);\r
+};\r
+\r
+template<\r
+      long C1, long C2, long C3, long C4, long C5, long C6, long C7, long C8\r
+    , long C9, long C10, long C11, long C12, long C13, long C14, long C15\r
+    , long C16, long C17, long C18, long C19, long C20\r
+    >\r
+struct list_c_count_args\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value =\r
+          is_list_c_arg<C1>::value + is_list_c_arg<C2>::value \r
+        + is_list_c_arg<C3>::value + is_list_c_arg<C4>::value \r
+        + is_list_c_arg<C5>::value + is_list_c_arg<C6>::value \r
+        + is_list_c_arg<C7>::value + is_list_c_arg<C8>::value \r
+        + is_list_c_arg<C9>::value + is_list_c_arg<C10>::value \r
+        + is_list_c_arg<C11>::value + is_list_c_arg<C12>::value \r
+        + is_list_c_arg<C13>::value + is_list_c_arg<C14>::value \r
+        + is_list_c_arg<C15>::value + is_list_c_arg<C16>::value \r
+        + is_list_c_arg<C17>::value + is_list_c_arg<C18>::value \r
+        + is_list_c_arg<C19>::value + is_list_c_arg<C20>::value\r
+        );\r
+\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+    >\r
+struct list_c_impl\r
+{\r
+    typedef aux::list_c_count_args<\r
+          C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19\r
+        > arg_num_;\r
+\r
+    typedef typename aux::list_c_chooser< arg_num_::value >\r
+        ::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;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX\r
+    , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX\r
+    , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX\r
+    , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX\r
+    , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX\r
+    , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX\r
+    , long C18 = LONG_MAX, long C19 = LONG_MAX\r
+    >\r
+struct list_c\r
+    : aux::list_c_impl<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19\r
+        >::type\r
+{\r
+    typedef typename aux::list_c_impl<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19\r
+        >::type type;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..0e1ae00
--- /dev/null
@@ -0,0 +1,556 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/map.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+template< int N >\r
+struct map_chooser;\r
+\r
+}\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct map_chooser<0>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef map0<\r
+             \r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct map_chooser<1>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename map1<\r
+              T0\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct map_chooser<2>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename map2<\r
+              T0, T1\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct map_chooser<3>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename map3<\r
+              T0, T1, T2\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct map_chooser<4>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename map4<\r
+              T0, T1, T2, T3\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct map_chooser<5>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename map5<\r
+              T0, T1, T2, T3, T4\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct map_chooser<6>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename map6<\r
+              T0, T1, T2, T3, T4, T5\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct map_chooser<7>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename map7<\r
+              T0, T1, T2, T3, T4, T5, T6\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct map_chooser<8>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename map8<\r
+              T0, T1, T2, T3, T4, T5, T6, T7\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct map_chooser<9>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename map9<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct map_chooser<10>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename map10<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct map_chooser<11>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename map11<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct map_chooser<12>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename map12<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct map_chooser<13>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename map13<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct map_chooser<14>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename map14<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct map_chooser<15>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename map15<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct map_chooser<16>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename map16<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct map_chooser<17>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename map17<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct map_chooser<18>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename map18<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct map_chooser<19>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename map19<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct map_chooser<20>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename map20<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template< typename T >\r
+struct is_map_arg\r
+{\r
+    BOOST_STATIC_CONSTANT(bool, value  = true);\r
+};\r
+\r
+template<>\r
+struct is_map_arg<na>\r
+{\r
+    BOOST_STATIC_CONSTANT(bool, value  = false);\r
+};\r
+\r
+template<\r
+      typename T1, typename T2, typename T3, typename T4, typename T5\r
+    , typename T6, typename T7, typename T8, typename T9, typename T10\r
+    , typename T11, typename T12, typename T13, typename T14, typename T15\r
+    , typename T16, typename T17, typename T18, typename T19, typename T20\r
+    >\r
+struct map_count_args\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value =\r
+          is_map_arg<T1>::value + is_map_arg<T2>::value \r
+        + is_map_arg<T3>::value + is_map_arg<T4>::value \r
+        + is_map_arg<T5>::value + is_map_arg<T6>::value \r
+        + is_map_arg<T7>::value + is_map_arg<T8>::value \r
+        + is_map_arg<T9>::value + is_map_arg<T10>::value \r
+        + is_map_arg<T11>::value + is_map_arg<T12>::value \r
+        + is_map_arg<T13>::value + is_map_arg<T14>::value \r
+        + is_map_arg<T15>::value + is_map_arg<T16>::value \r
+        + is_map_arg<T17>::value + is_map_arg<T18>::value \r
+        + is_map_arg<T19>::value + is_map_arg<T20>::value\r
+        );\r
+\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    >\r
+struct map_impl\r
+{\r
+    typedef aux::map_count_args<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19\r
+        > arg_num_;\r
+\r
+    typedef typename aux::map_chooser< arg_num_::value >\r
+        ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na\r
+    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na\r
+    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na\r
+    , typename T12 = na, typename T13 = na, typename T14 = na\r
+    , typename T15 = na, typename T16 = na, typename T17 = na\r
+    , typename T18 = na, typename T19 = na\r
+    >\r
+struct map\r
+    : aux::map_impl<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19\r
+        >::type\r
+{\r
+    typedef typename aux::map_impl<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19\r
+        >::type type;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..2f3758f
--- /dev/null
@@ -0,0 +1,133 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/minus.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct minus_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< minus_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< minus_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct minus_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct minus_impl< na,integral_c_tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct minus_impl< integral_c_tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct minus_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+/// forward declaration\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct minus2;\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    , typename N3 = na, typename N4 = na, typename N5 = na\r
+    >\r
+struct minus\r
+\r
+    : if_<\r
+\r
+          is_na<N3>\r
+        , minus2< N1,N2 >\r
+        , minus<\r
+              minus2< N1,N2 >\r
+            , N3, N4, N5\r
+            >\r
+        >::type\r
+\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , minus\r
+        , ( N1, N2, N3, N4, N5 )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1\r
+    , typename N2\r
+    >\r
+struct minus2\r
+    : minus_impl<\r
+          typename minus_tag<N1>::type\r
+        , typename minus_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, minus2, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 5, minus)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+template<>\r
+struct minus_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : integral_c<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value\r
+                  - BOOST_MPL_AUX_VALUE_WKND(N2)::value\r
+                )\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..abe8677
--- /dev/null
@@ -0,0 +1,101 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/modulus.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct modulus_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< modulus_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< modulus_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct modulus_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct modulus_impl< na,integral_c_tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct modulus_impl< integral_c_tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct modulus_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct modulus\r
+\r
+    : modulus_impl<\r
+          typename modulus_tag<N1>::type\r
+        , typename modulus_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, modulus, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, modulus)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+template<>\r
+struct modulus_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : integral_c<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value\r
+                  % BOOST_MPL_AUX_VALUE_WKND(N2)::value\r
+                )\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..3ac3990
--- /dev/null
@@ -0,0 +1,94 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/not_equal_to.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct not_equal_to_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< not_equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct not_equal_to_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct not_equal_to_impl< na,integral_c_tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct not_equal_to_impl< integral_c_tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct not_equal_to_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct not_equal_to\r
+\r
+    : not_equal_to_impl<\r
+          typename not_equal_to_tag<N1>::type\r
+        , typename not_equal_to_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, not_equal_to, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct not_equal_to_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value != BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..c404d09
--- /dev/null
@@ -0,0 +1,73 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/or.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+template< bool C_ > struct or_impl\r
+{\r
+    template<\r
+          typename T1, typename T2, typename T3, typename T4\r
+        >\r
+    struct result_\r
+        : true_\r
+    {\r
+    };\r
+};\r
+\r
+template<> struct or_impl<false>\r
+{\r
+    template<\r
+          typename T1, typename T2, typename T3, typename T4\r
+        >\r
+    struct result_\r
+        : or_impl<\r
+              BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value\r
+            >::template result_< T2,T3,T4,false_ >\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct or_impl<false>\r
+    ::result_< false_,false_,false_,false_ >\r
+        : false_\r
+{\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(T1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(T2)\r
+    , typename T3 = false_, typename T4 = false_, typename T5 = false_\r
+    >\r
+struct or_\r
+\r
+    : aux::or_impl<\r
+          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value\r
+        >::template result_< T2,T3,T4,T5 >\r
+\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , or_\r
+        , ( T1, T2, T3, T4, T5)\r
+        )\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(\r
+      2\r
+    , 5\r
+    , or_\r
+    )\r
+\r
+}}\r
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 (file)
index 0000000..df5cb1d
--- /dev/null
@@ -0,0 +1,105 @@
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+// Copyright Peter Dimov 2001-2003\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/placeholders.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+typedef arg< -1 > _;\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+namespace boost { namespace mpl {\r
+\r
+BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_)\r
+\r
+namespace placeholders {\r
+using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_;\r
+}\r
+\r
+}}\r
+\r
+/// agurt, 17/mar/02: one more placeholder for the last 'apply#' \r
+/// specialization\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+typedef arg<1> _1;\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+namespace boost { namespace mpl {\r
+\r
+BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1)\r
+\r
+namespace placeholders {\r
+using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1;\r
+}\r
+\r
+}}\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+typedef arg<2> _2;\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+namespace boost { namespace mpl {\r
+\r
+BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2)\r
+\r
+namespace placeholders {\r
+using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2;\r
+}\r
+\r
+}}\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+typedef arg<3> _3;\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+namespace boost { namespace mpl {\r
+\r
+BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3)\r
+\r
+namespace placeholders {\r
+using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3;\r
+}\r
+\r
+}}\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+typedef arg<4> _4;\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+namespace boost { namespace mpl {\r
+\r
+BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4)\r
+\r
+namespace placeholders {\r
+using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4;\r
+}\r
+\r
+}}\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+typedef arg<5> _5;\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+namespace boost { namespace mpl {\r
+\r
+BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5)\r
+\r
+namespace placeholders {\r
+using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5;\r
+}\r
+\r
+}}\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+typedef arg<6> _6;\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+namespace boost { namespace mpl {\r
+\r
+BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6)\r
+\r
+namespace placeholders {\r
+using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6;\r
+}\r
+\r
+}}\r
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 (file)
index 0000000..0fb5f9c
--- /dev/null
@@ -0,0 +1,133 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/plus.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct plus_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< plus_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< plus_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct plus_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct plus_impl< na,integral_c_tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct plus_impl< integral_c_tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct plus_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+/// forward declaration\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct plus2;\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    , typename N3 = na, typename N4 = na, typename N5 = na\r
+    >\r
+struct plus\r
+\r
+    : if_<\r
+\r
+          is_na<N3>\r
+        , plus2< N1,N2 >\r
+        , plus<\r
+              plus2< N1,N2 >\r
+            , N3, N4, N5\r
+            >\r
+        >::type\r
+\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , plus\r
+        , ( N1, N2, N3, N4, N5 )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1\r
+    , typename N2\r
+    >\r
+struct plus2\r
+    : plus_impl<\r
+          typename plus_tag<N1>::type\r
+        , typename plus_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, plus2, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 5, plus)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+template<>\r
+struct plus_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : integral_c<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value\r
+                  + BOOST_MPL_AUX_VALUE_WKND(N2)::value\r
+                )\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..621e440
--- /dev/null
@@ -0,0 +1,116 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/quote.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+template< bool > struct quote_impl\r
+{\r
+    template< typename T > struct result_\r
+        : T\r
+    {\r
+    };\r
+};\r
+\r
+template<> struct quote_impl<false>\r
+{\r
+    template< typename T > struct result_\r
+    {\r
+        typedef T type;\r
+    };\r
+};\r
+\r
+template<\r
+      template< typename P1 > class F\r
+    , typename Tag = void_\r
+    >\r
+struct quote1\r
+{\r
+    template< typename U1 > struct apply\r
+\r
+        : quote_impl< aux::has_type< F<U1> >::value >\r
+            ::template result_< F<U1> >\r
+\r
+    {\r
+    };\r
+};\r
+\r
+template<\r
+      template< typename P1, typename P2 > class F\r
+    , typename Tag = void_\r
+    >\r
+struct quote2\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+\r
+        : quote_impl< aux::has_type< F< U1,U2 > >::value >\r
+            ::template result_< F< U1,U2 > >\r
+\r
+    {\r
+    };\r
+};\r
+\r
+template<\r
+      template< typename P1, typename P2, typename P3 > class F\r
+    , typename Tag = void_\r
+    >\r
+struct quote3\r
+{\r
+    template< typename U1, typename U2, typename U3 > struct apply\r
+\r
+        : quote_impl< aux::has_type< F< U1,U2,U3 > >::value >\r
+            ::template result_< F< U1,U2,U3 > >\r
+\r
+    {\r
+    };\r
+};\r
+\r
+template<\r
+      template< typename P1, typename P2, typename P3, typename P4 > class F\r
+    , typename Tag = void_\r
+    >\r
+struct quote4\r
+{\r
+    template<\r
+          typename U1, typename U2, typename U3, typename U4\r
+        >\r
+    struct apply\r
+\r
+        : quote_impl< aux::has_type< F< U1,U2,U3,U4 > >::value >\r
+            ::template result_< F< U1,U2,U3,U4 > >\r
+\r
+    {\r
+    };\r
+};\r
+\r
+template<\r
+      template<\r
+          typename P1, typename P2, typename P3, typename P4\r
+        , typename P5\r
+        >\r
+      class F\r
+    , typename Tag = void_\r
+    >\r
+struct quote5\r
+{\r
+    template<\r
+          typename U1, typename U2, typename U3, typename U4\r
+        , typename U5\r
+        >\r
+    struct apply\r
+\r
+        : quote_impl< aux::has_type< F< U1,U2,U3,U4,U5 > >::value >\r
+            ::template result_< F< U1,U2,U3,U4,U5 > >\r
+\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..5907002
--- /dev/null
@@ -0,0 +1,295 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/reverse_fold_impl.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+/// forward declaration\r
+\r
+template<\r
+      long N\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_fold_impl;\r
+\r
+template< long N >\r
+struct reverse_fold_chunk;\r
+\r
+template<> struct reverse_fold_chunk<0>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename BackwardOp\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State fwd_state0;\r
+        typedef fwd_state0 bkwd_state0;\r
+        typedef bkwd_state0 state;\r
+        typedef iter0 iterator;\r
+    };\r
+};\r
+\r
+template<> struct reverse_fold_chunk<1>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename BackwardOp\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State fwd_state0;\r
+        typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;\r
+        typedef typename mpl::next<iter0>::type iter1;\r
+        \r
+\r
+        typedef fwd_state1 bkwd_state1;\r
+        typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;\r
+        typedef bkwd_state0 state;\r
+        typedef iter1 iterator;\r
+    };\r
+};\r
+\r
+template<> struct reverse_fold_chunk<2>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename BackwardOp\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State fwd_state0;\r
+        typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;\r
+        typedef typename mpl::next<iter0>::type iter1;\r
+        typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;\r
+        typedef typename mpl::next<iter1>::type iter2;\r
+        \r
+\r
+        typedef fwd_state2 bkwd_state2;\r
+        typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;\r
+        typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;\r
+        \r
+\r
+        typedef bkwd_state0 state;\r
+        typedef iter2 iterator;\r
+    };\r
+};\r
+\r
+template<> struct reverse_fold_chunk<3>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename BackwardOp\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State fwd_state0;\r
+        typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;\r
+        typedef typename mpl::next<iter0>::type iter1;\r
+        typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;\r
+        typedef typename mpl::next<iter1>::type iter2;\r
+        typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;\r
+        typedef typename mpl::next<iter2>::type iter3;\r
+        \r
+\r
+        typedef fwd_state3 bkwd_state3;\r
+        typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;\r
+        typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;\r
+        typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;\r
+        \r
+\r
+        typedef bkwd_state0 state;\r
+        typedef iter3 iterator;\r
+    };\r
+};\r
+\r
+template<> struct reverse_fold_chunk<4>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename BackwardOp\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State fwd_state0;\r
+        typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;\r
+        typedef typename mpl::next<iter0>::type iter1;\r
+        typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;\r
+        typedef typename mpl::next<iter1>::type iter2;\r
+        typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;\r
+        typedef typename mpl::next<iter2>::type iter3;\r
+        typedef typename apply2< ForwardOp, fwd_state3, typename deref<iter3>::type >::type fwd_state4;\r
+        typedef typename mpl::next<iter3>::type iter4;\r
+        \r
+\r
+        typedef fwd_state4 bkwd_state4;\r
+        typedef typename apply2< BackwardOp, bkwd_state4, typename deref<iter3>::type >::type bkwd_state3;\r
+        typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;\r
+        typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;\r
+        typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;\r
+        \r
+\r
+        typedef bkwd_state0 state;\r
+        typedef iter4 iterator;\r
+    };\r
+};\r
+\r
+template< long N >\r
+struct reverse_fold_chunk\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename BackwardOp\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State fwd_state0;\r
+        typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;\r
+        typedef typename mpl::next<iter0>::type iter1;\r
+        typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;\r
+        typedef typename mpl::next<iter1>::type iter2;\r
+        typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;\r
+        typedef typename mpl::next<iter2>::type iter3;\r
+        typedef typename apply2< ForwardOp, fwd_state3, typename deref<iter3>::type >::type fwd_state4;\r
+        typedef typename mpl::next<iter3>::type iter4;\r
+        \r
+\r
+        typedef reverse_fold_impl<\r
+              ( (N - 4) < 0 ? 0 : N - 4 )\r
+            , iter4\r
+            , Last\r
+            , fwd_state4\r
+            , BackwardOp\r
+            , ForwardOp\r
+            > nested_chunk;\r
+\r
+        typedef typename nested_chunk::state bkwd_state4;\r
+        typedef typename apply2< BackwardOp, bkwd_state4, typename deref<iter3>::type >::type bkwd_state3;\r
+        typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;\r
+        typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;\r
+        typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;\r
+        \r
+\r
+        typedef bkwd_state0 state;\r
+        typedef typename nested_chunk::iterator iterator;\r
+    };\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_fold_step;\r
+\r
+template<\r
+      typename Last\r
+    , typename State\r
+    >\r
+struct reverse_fold_null_step\r
+{\r
+    typedef Last iterator;\r
+    typedef State state;\r
+};\r
+\r
+template<>\r
+struct reverse_fold_chunk< -1 >\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename BackwardOp\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename if_<\r
+              typename is_same< First,Last >::type\r
+            , reverse_fold_null_step< Last,State >\r
+            , reverse_fold_step< First,Last,State,BackwardOp,ForwardOp >\r
+            >::type res_;\r
+\r
+        typedef typename res_::state state;\r
+        typedef typename res_::iterator iterator;\r
+    };\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_fold_step\r
+{\r
+    typedef reverse_fold_chunk< -1 >::template result_<\r
+          typename mpl::next<First>::type\r
+        , Last\r
+        , typename apply2<ForwardOp,State, typename deref<First>::type>::type\r
+        , BackwardOp\r
+        , ForwardOp\r
+        > nested_step;\r
+\r
+    typedef typename apply2<\r
+          BackwardOp\r
+        , typename nested_step::state\r
+        , typename deref<First>::type\r
+        >::type state;\r
+\r
+    typedef typename nested_step::iterator iterator;\r
+};\r
+\r
+template<\r
+      long N\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_fold_impl\r
+    : reverse_fold_chunk<N>\r
+        ::template result_< First,Last,State,BackwardOp,ForwardOp >\r
+{\r
+};\r
+\r
+}}}\r
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 (file)
index 0000000..b85b2f2
--- /dev/null
@@ -0,0 +1,295 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/reverse_iter_fold_impl.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+/// forward declaration\r
+\r
+template<\r
+      long N\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_iter_fold_impl;\r
+\r
+template< long N >\r
+struct reverse_iter_fold_chunk;\r
+\r
+template<> struct reverse_iter_fold_chunk<0>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename BackwardOp\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State fwd_state0;\r
+        typedef fwd_state0 bkwd_state0;\r
+        typedef bkwd_state0 state;\r
+        typedef iter0 iterator;\r
+    };\r
+};\r
+\r
+template<> struct reverse_iter_fold_chunk<1>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename BackwardOp\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State fwd_state0;\r
+        typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;\r
+        typedef typename mpl::next<iter0>::type iter1;\r
+        \r
+\r
+        typedef fwd_state1 bkwd_state1;\r
+        typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;\r
+        typedef bkwd_state0 state;\r
+        typedef iter1 iterator;\r
+    };\r
+};\r
+\r
+template<> struct reverse_iter_fold_chunk<2>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename BackwardOp\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State fwd_state0;\r
+        typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;\r
+        typedef typename mpl::next<iter0>::type iter1;\r
+        typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;\r
+        typedef typename mpl::next<iter1>::type iter2;\r
+        \r
+\r
+        typedef fwd_state2 bkwd_state2;\r
+        typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;\r
+        typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;\r
+        \r
+\r
+        typedef bkwd_state0 state;\r
+        typedef iter2 iterator;\r
+    };\r
+};\r
+\r
+template<> struct reverse_iter_fold_chunk<3>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename BackwardOp\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State fwd_state0;\r
+        typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;\r
+        typedef typename mpl::next<iter0>::type iter1;\r
+        typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;\r
+        typedef typename mpl::next<iter1>::type iter2;\r
+        typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;\r
+        typedef typename mpl::next<iter2>::type iter3;\r
+        \r
+\r
+        typedef fwd_state3 bkwd_state3;\r
+        typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;\r
+        typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;\r
+        typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;\r
+        \r
+\r
+        typedef bkwd_state0 state;\r
+        typedef iter3 iterator;\r
+    };\r
+};\r
+\r
+template<> struct reverse_iter_fold_chunk<4>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename BackwardOp\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State fwd_state0;\r
+        typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;\r
+        typedef typename mpl::next<iter0>::type iter1;\r
+        typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;\r
+        typedef typename mpl::next<iter1>::type iter2;\r
+        typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;\r
+        typedef typename mpl::next<iter2>::type iter3;\r
+        typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4;\r
+        typedef typename mpl::next<iter3>::type iter4;\r
+        \r
+\r
+        typedef fwd_state4 bkwd_state4;\r
+        typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3;\r
+        typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;\r
+        typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;\r
+        typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;\r
+        \r
+\r
+        typedef bkwd_state0 state;\r
+        typedef iter4 iterator;\r
+    };\r
+};\r
+\r
+template< long N >\r
+struct reverse_iter_fold_chunk\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename BackwardOp\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State fwd_state0;\r
+        typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;\r
+        typedef typename mpl::next<iter0>::type iter1;\r
+        typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;\r
+        typedef typename mpl::next<iter1>::type iter2;\r
+        typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;\r
+        typedef typename mpl::next<iter2>::type iter3;\r
+        typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4;\r
+        typedef typename mpl::next<iter3>::type iter4;\r
+        \r
+\r
+        typedef reverse_iter_fold_impl<\r
+              ( (N - 4) < 0 ? 0 : N - 4 )\r
+            , iter4\r
+            , Last\r
+            , fwd_state4\r
+            , BackwardOp\r
+            , ForwardOp\r
+            > nested_chunk;\r
+\r
+        typedef typename nested_chunk::state bkwd_state4;\r
+        typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3;\r
+        typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;\r
+        typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;\r
+        typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;\r
+        \r
+\r
+        typedef bkwd_state0 state;\r
+        typedef typename nested_chunk::iterator iterator;\r
+    };\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_iter_fold_step;\r
+\r
+template<\r
+      typename Last\r
+    , typename State\r
+    >\r
+struct reverse_iter_fold_null_step\r
+{\r
+    typedef Last iterator;\r
+    typedef State state;\r
+};\r
+\r
+template<>\r
+struct reverse_iter_fold_chunk< -1 >\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename BackwardOp\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename if_<\r
+              typename is_same< First,Last >::type\r
+            , reverse_iter_fold_null_step< Last,State >\r
+            , reverse_iter_fold_step< First,Last,State,BackwardOp,ForwardOp >\r
+            >::type res_;\r
+\r
+        typedef typename res_::state state;\r
+        typedef typename res_::iterator iterator;\r
+    };\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_iter_fold_step\r
+{\r
+    typedef reverse_iter_fold_chunk< -1 >::template result_<\r
+          typename mpl::next<First>::type\r
+        , Last\r
+        , typename apply2< ForwardOp,State,First >::type\r
+        , BackwardOp\r
+        , ForwardOp\r
+        > nested_step;\r
+\r
+    typedef typename apply2<\r
+          BackwardOp\r
+        , typename nested_step::state\r
+        , First\r
+        >::type state;\r
+\r
+    typedef typename nested_step::iterator iterator;\r
+};\r
+\r
+template<\r
+      long N\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_iter_fold_impl\r
+    : reverse_iter_fold_chunk<N>\r
+        ::template result_< First,Last,State,BackwardOp,ForwardOp >\r
+{\r
+};\r
+\r
+}}}\r
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 (file)
index 0000000..aa1a8b1
--- /dev/null
@@ -0,0 +1,556 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/set.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+template< int N >\r
+struct set_chooser;\r
+\r
+}\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_chooser<0>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef set0<\r
+             \r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_chooser<1>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set1<\r
+              T0\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_chooser<2>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set2<\r
+              T0, T1\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_chooser<3>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set3<\r
+              T0, T1, T2\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_chooser<4>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set4<\r
+              T0, T1, T2, T3\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_chooser<5>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set5<\r
+              T0, T1, T2, T3, T4\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_chooser<6>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set6<\r
+              T0, T1, T2, T3, T4, T5\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_chooser<7>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set7<\r
+              T0, T1, T2, T3, T4, T5, T6\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_chooser<8>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set8<\r
+              T0, T1, T2, T3, T4, T5, T6, T7\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_chooser<9>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set9<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_chooser<10>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set10<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_chooser<11>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set11<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_chooser<12>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set12<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_chooser<13>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set13<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_chooser<14>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set14<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_chooser<15>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set15<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_chooser<16>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set16<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_chooser<17>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set17<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_chooser<18>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set18<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_chooser<19>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set19<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_chooser<20>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set20<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template< typename T >\r
+struct is_set_arg\r
+{\r
+    BOOST_STATIC_CONSTANT(bool, value  = true);\r
+};\r
+\r
+template<>\r
+struct is_set_arg<na>\r
+{\r
+    BOOST_STATIC_CONSTANT(bool, value  = false);\r
+};\r
+\r
+template<\r
+      typename T1, typename T2, typename T3, typename T4, typename T5\r
+    , typename T6, typename T7, typename T8, typename T9, typename T10\r
+    , typename T11, typename T12, typename T13, typename T14, typename T15\r
+    , typename T16, typename T17, typename T18, typename T19, typename T20\r
+    >\r
+struct set_count_args\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value =\r
+          is_set_arg<T1>::value + is_set_arg<T2>::value \r
+        + is_set_arg<T3>::value + is_set_arg<T4>::value \r
+        + is_set_arg<T5>::value + is_set_arg<T6>::value \r
+        + is_set_arg<T7>::value + is_set_arg<T8>::value \r
+        + is_set_arg<T9>::value + is_set_arg<T10>::value \r
+        + is_set_arg<T11>::value + is_set_arg<T12>::value \r
+        + is_set_arg<T13>::value + is_set_arg<T14>::value \r
+        + is_set_arg<T15>::value + is_set_arg<T16>::value \r
+        + is_set_arg<T17>::value + is_set_arg<T18>::value \r
+        + is_set_arg<T19>::value + is_set_arg<T20>::value\r
+        );\r
+\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    >\r
+struct set_impl\r
+{\r
+    typedef aux::set_count_args<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19\r
+        > arg_num_;\r
+\r
+    typedef typename aux::set_chooser< arg_num_::value >\r
+        ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na\r
+    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na\r
+    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na\r
+    , typename T12 = na, typename T13 = na, typename T14 = na\r
+    , typename T15 = na, typename T16 = na, typename T17 = na\r
+    , typename T18 = na, typename T19 = na\r
+    >\r
+struct set\r
+    : aux::set_impl<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19\r
+        >::type\r
+{\r
+    typedef typename aux::set_impl<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19\r
+        >::type type;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..eb0f084
--- /dev/null
@@ -0,0 +1,534 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/set_c.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+template< int N >\r
+struct set_c_chooser;\r
+\r
+}\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_c_chooser<0>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set0_c<\r
+              T\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_c_chooser<1>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set1_c<\r
+              T, C0\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_c_chooser<2>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set2_c<\r
+              T, C0, C1\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_c_chooser<3>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set3_c<\r
+              T, C0, C1, C2\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_c_chooser<4>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set4_c<\r
+              T, C0, C1, C2, C3\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_c_chooser<5>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set5_c<\r
+              T, C0, C1, C2, C3, C4\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_c_chooser<6>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set6_c<\r
+              T, C0, C1, C2, C3, C4, C5\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_c_chooser<7>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set7_c<\r
+              T, C0, C1, C2, C3, C4, C5, C6\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_c_chooser<8>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set8_c<\r
+              T, C0, C1, C2, C3, C4, C5, C6, C7\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_c_chooser<9>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set9_c<\r
+              T, C0, C1, C2, C3, C4, C5, C6, C7, C8\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_c_chooser<10>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set10_c<\r
+              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_c_chooser<11>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set11_c<\r
+              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_c_chooser<12>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set12_c<\r
+              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_c_chooser<13>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set13_c<\r
+              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_c_chooser<14>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set14_c<\r
+              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_c_chooser<15>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set15_c<\r
+              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_c_chooser<16>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set16_c<\r
+              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_c_chooser<17>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set17_c<\r
+              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_c_chooser<18>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set18_c<\r
+              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_c_chooser<19>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set19_c<\r
+              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct set_c_chooser<20>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename set20_c<\r
+              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template< long C >\r
+struct is_set_c_arg\r
+{\r
+    BOOST_STATIC_CONSTANT(bool, value  = true);\r
+};\r
+\r
+template<>\r
+struct is_set_c_arg<LONG_MAX>\r
+{\r
+    BOOST_STATIC_CONSTANT(bool, value  = false);\r
+};\r
+\r
+template<\r
+      long C1, long C2, long C3, long C4, long C5, long C6, long C7, long C8\r
+    , long C9, long C10, long C11, long C12, long C13, long C14, long C15\r
+    , long C16, long C17, long C18, long C19, long C20\r
+    >\r
+struct set_c_count_args\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value =\r
+          is_set_c_arg<C1>::value + is_set_c_arg<C2>::value \r
+        + is_set_c_arg<C3>::value + is_set_c_arg<C4>::value \r
+        + is_set_c_arg<C5>::value + is_set_c_arg<C6>::value \r
+        + is_set_c_arg<C7>::value + is_set_c_arg<C8>::value \r
+        + is_set_c_arg<C9>::value + is_set_c_arg<C10>::value \r
+        + is_set_c_arg<C11>::value + is_set_c_arg<C12>::value \r
+        + is_set_c_arg<C13>::value + is_set_c_arg<C14>::value \r
+        + is_set_c_arg<C15>::value + is_set_c_arg<C16>::value \r
+        + is_set_c_arg<C17>::value + is_set_c_arg<C18>::value \r
+        + is_set_c_arg<C19>::value + is_set_c_arg<C20>::value\r
+        );\r
+\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+    >\r
+struct set_c_impl\r
+{\r
+    typedef aux::set_c_count_args<\r
+          C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19\r
+        > arg_num_;\r
+\r
+    typedef typename aux::set_c_chooser< arg_num_::value >\r
+        ::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;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX\r
+    , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX\r
+    , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX\r
+    , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX\r
+    , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX\r
+    , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX\r
+    , long C18 = LONG_MAX, long C19 = LONG_MAX\r
+    >\r
+struct set_c\r
+    : aux::set_c_impl<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19\r
+        >::type\r
+{\r
+    typedef typename aux::set_c_impl<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19\r
+        >::type type;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..65e0ff5
--- /dev/null
@@ -0,0 +1,99 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright Jaap Suter 2003\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/shift_left.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct shift_left_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< shift_left_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< shift_left_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct shift_left_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct shift_left_impl< na,integral_c_tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct shift_left_impl< integral_c_tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct shift_left_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct shift_left\r
+\r
+    : shift_left_impl<\r
+          typename shift_left_tag<N1>::type\r
+        , typename shift_left_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_left, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_left)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+template<>\r
+struct shift_left_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N, typename S > struct apply\r
+\r
+        : integral_c<\r
+              typename N::value_type\r
+            , ( BOOST_MPL_AUX_VALUE_WKND(N)::value\r
+                  << BOOST_MPL_AUX_VALUE_WKND(S)::value\r
+                )\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..f7ce4f0
--- /dev/null
@@ -0,0 +1,99 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright Jaap Suter 2003\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/shift_right.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct shift_right_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< shift_right_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< shift_right_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct shift_right_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct shift_right_impl< na,integral_c_tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct shift_right_impl< integral_c_tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct shift_right_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct shift_right\r
+\r
+    : shift_right_impl<\r
+          typename shift_right_tag<N1>::type\r
+        , typename shift_right_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_right, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+template<>\r
+struct shift_right_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N, typename S > struct apply\r
+\r
+        : integral_c<\r
+              typename N::value_type\r
+            , ( BOOST_MPL_AUX_VALUE_WKND(N)::value\r
+                  >> BOOST_MPL_AUX_VALUE_WKND(S)::value\r
+                )\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..b81c2d3
--- /dev/null
@@ -0,0 +1,40 @@
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/template_arity.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+template< bool >\r
+struct template_arity_impl\r
+{\r
+    template< typename F > struct result_\r
+        : mpl::int_< -1 >\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct template_arity_impl<true>\r
+{\r
+    template< typename F > struct result_\r
+        : F::arity\r
+    {\r
+    };\r
+};\r
+\r
+template< typename F >\r
+struct template_arity\r
+    : template_arity_impl< ::boost::mpl::aux::has_rebind<F>::value >\r
+        ::template result_<F>\r
+{\r
+};\r
+\r
+}}}\r
+\r
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 (file)
index 0000000..00c2bf7
--- /dev/null
@@ -0,0 +1,133 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/times.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct times_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< times_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< times_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct times_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct times_impl< na,integral_c_tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template<> struct times_impl< integral_c_tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct times_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+/// forward declaration\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct times2;\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    , typename N3 = na, typename N4 = na, typename N5 = na\r
+    >\r
+struct times\r
+\r
+    : if_<\r
+\r
+          is_na<N3>\r
+        , times2< N1,N2 >\r
+        , times<\r
+              times2< N1,N2 >\r
+            , N3, N4, N5\r
+            >\r
+        >::type\r
+\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , times\r
+        , ( N1, N2, N3, N4, N5 )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1\r
+    , typename N2\r
+    >\r
+struct times2\r
+    : times_impl<\r
+          typename times_tag<N1>::type\r
+        , typename times_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, times2, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 5, times)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+template<>\r
+struct times_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : integral_c<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value\r
+                  * BOOST_MPL_AUX_VALUE_WKND(N2)::value\r
+                )\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..17718d9
--- /dev/null
@@ -0,0 +1,109 @@
+\r
+// Copyright Aleksey Gurtovoy 2002-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/unpack_args.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+\r
+template< BOOST_MPL_AUX_NTTP_DECL(int, size) > struct unpack_args_impl\r
+{\r
+    template< typename F, typename Args > struct apply;\r
+};\r
+\r
+template<> struct unpack_args_impl<0>\r
+{\r
+    template< typename F, typename Args > struct apply\r
+        : apply0<\r
+              F\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+template<> struct unpack_args_impl<1>\r
+{\r
+    template< typename F, typename Args > struct apply\r
+        : apply1<\r
+              F\r
+            , typename at_c< Args,0 >::type\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+template<> struct unpack_args_impl<2>\r
+{\r
+    template< typename F, typename Args > struct apply\r
+        : apply2<\r
+              F\r
+            , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+template<> struct unpack_args_impl<3>\r
+{\r
+    template< typename F, typename Args > struct apply\r
+        : apply3<\r
+              F\r
+            , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type\r
+            , typename at_c< Args,2 >::type\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+template<> struct unpack_args_impl<4>\r
+{\r
+    template< typename F, typename Args > struct apply\r
+        : apply4<\r
+              F\r
+            , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type\r
+            , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+template<> struct unpack_args_impl<5>\r
+{\r
+    template< typename F, typename Args > struct apply\r
+        : apply5<\r
+              F\r
+            , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type\r
+            , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type\r
+            , typename at_c< Args,4 >::type\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct unpack_args\r
+{\r
+    template< typename Args > struct apply\r
+\r
+        : aux::unpack_args_impl< size<Args>::value >\r
+            ::template apply< F,Args >\r
+\r
+    {\r
+    };\r
+};\r
+\r
+BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args)\r
+\r
+}}\r
+\r
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 (file)
index 0000000..6c6fca5
--- /dev/null
@@ -0,0 +1,556 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/vector.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+template< int N >\r
+struct vector_chooser;\r
+\r
+}\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_chooser<0>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef vector0<\r
+             \r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_chooser<1>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector1<\r
+              T0\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_chooser<2>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector2<\r
+              T0, T1\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_chooser<3>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector3<\r
+              T0, T1, T2\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_chooser<4>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector4<\r
+              T0, T1, T2, T3\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_chooser<5>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector5<\r
+              T0, T1, T2, T3, T4\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_chooser<6>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector6<\r
+              T0, T1, T2, T3, T4, T5\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_chooser<7>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector7<\r
+              T0, T1, T2, T3, T4, T5, T6\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_chooser<8>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector8<\r
+              T0, T1, T2, T3, T4, T5, T6, T7\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_chooser<9>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector9<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_chooser<10>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector10<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_chooser<11>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector11<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_chooser<12>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector12<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_chooser<13>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector13<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_chooser<14>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector14<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_chooser<15>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector15<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_chooser<16>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector16<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_chooser<17>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector17<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_chooser<18>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector18<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_chooser<19>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector19<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_chooser<20>\r
+{\r
+    template<\r
+          typename T0, typename T1, typename T2, typename T3, typename T4\r
+        , typename T5, typename T6, typename T7, typename T8, typename T9\r
+        , typename T10, typename T11, typename T12, typename T13, typename T14\r
+        , typename T15, typename T16, typename T17, typename T18, typename T19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector20<\r
+              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template< typename T >\r
+struct is_vector_arg\r
+{\r
+    BOOST_STATIC_CONSTANT(bool, value  = true);\r
+};\r
+\r
+template<>\r
+struct is_vector_arg<na>\r
+{\r
+    BOOST_STATIC_CONSTANT(bool, value  = false);\r
+};\r
+\r
+template<\r
+      typename T1, typename T2, typename T3, typename T4, typename T5\r
+    , typename T6, typename T7, typename T8, typename T9, typename T10\r
+    , typename T11, typename T12, typename T13, typename T14, typename T15\r
+    , typename T16, typename T17, typename T18, typename T19, typename T20\r
+    >\r
+struct vector_count_args\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value =\r
+          is_vector_arg<T1>::value + is_vector_arg<T2>::value \r
+        + is_vector_arg<T3>::value + is_vector_arg<T4>::value \r
+        + is_vector_arg<T5>::value + is_vector_arg<T6>::value \r
+        + is_vector_arg<T7>::value + is_vector_arg<T8>::value \r
+        + is_vector_arg<T9>::value + is_vector_arg<T10>::value \r
+        + is_vector_arg<T11>::value + is_vector_arg<T12>::value \r
+        + is_vector_arg<T13>::value + is_vector_arg<T14>::value \r
+        + is_vector_arg<T15>::value + is_vector_arg<T16>::value \r
+        + is_vector_arg<T17>::value + is_vector_arg<T18>::value \r
+        + is_vector_arg<T19>::value + is_vector_arg<T20>::value\r
+        );\r
+\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    >\r
+struct vector_impl\r
+{\r
+    typedef aux::vector_count_args<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19\r
+        > arg_num_;\r
+\r
+    typedef typename aux::vector_chooser< arg_num_::value >\r
+        ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na\r
+    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na\r
+    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na\r
+    , typename T12 = na, typename T13 = na, typename T14 = na\r
+    , typename T15 = na, typename T16 = na, typename T17 = na\r
+    , typename T18 = na, typename T19 = na\r
+    >\r
+struct vector\r
+    : aux::vector_impl<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19\r
+        >::type\r
+{\r
+    typedef typename aux::vector_impl<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19\r
+        >::type type;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..894023e
--- /dev/null
@@ -0,0 +1,534 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/vector_c.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+template< int N >\r
+struct vector_c_chooser;\r
+\r
+}\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_c_chooser<0>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector0_c<\r
+              T\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_c_chooser<1>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector1_c<\r
+              T, T(C0)\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_c_chooser<2>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector2_c<\r
+              T, T(C0), T(C1)\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_c_chooser<3>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector3_c<\r
+              T, T(C0), T(C1), T(C2)\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_c_chooser<4>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector4_c<\r
+              T, T(C0), T(C1), T(C2), T(C3)\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_c_chooser<5>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector5_c<\r
+              T, T(C0), T(C1), T(C2), T(C3), T(C4)\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_c_chooser<6>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector6_c<\r
+              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5)\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_c_chooser<7>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector7_c<\r
+              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6)\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_c_chooser<8>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector8_c<\r
+              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7)\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_c_chooser<9>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector9_c<\r
+              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8)\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_c_chooser<10>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector10_c<\r
+              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9)\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_c_chooser<11>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector11_c<\r
+              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10)\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_c_chooser<12>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector12_c<\r
+              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11)\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_c_chooser<13>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector13_c<\r
+              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12)\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_c_chooser<14>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector14_c<\r
+              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13)\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_c_chooser<15>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector15_c<\r
+              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14)\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_c_chooser<16>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector16_c<\r
+              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15)\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_c_chooser<17>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector17_c<\r
+              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16)\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_c_chooser<18>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector18_c<\r
+              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17)\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_c_chooser<19>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector19_c<\r
+              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18)\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct vector_c_chooser<20>\r
+{\r
+    template<\r
+          typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+        , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+        , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename vector20_c<\r
+              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19)\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+namespace aux {\r
+\r
+template< long C >\r
+struct is_vector_c_arg\r
+{\r
+    BOOST_STATIC_CONSTANT(bool, value  = true);\r
+};\r
+\r
+template<>\r
+struct is_vector_c_arg<LONG_MAX>\r
+{\r
+    BOOST_STATIC_CONSTANT(bool, value  = false);\r
+};\r
+\r
+template<\r
+      long C1, long C2, long C3, long C4, long C5, long C6, long C7, long C8\r
+    , long C9, long C10, long C11, long C12, long C13, long C14, long C15\r
+    , long C16, long C17, long C18, long C19, long C20\r
+    >\r
+struct vector_c_count_args\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value =\r
+          is_vector_c_arg<C1>::value + is_vector_c_arg<C2>::value \r
+        + is_vector_c_arg<C3>::value + is_vector_c_arg<C4>::value \r
+        + is_vector_c_arg<C5>::value + is_vector_c_arg<C6>::value \r
+        + is_vector_c_arg<C7>::value + is_vector_c_arg<C8>::value \r
+        + is_vector_c_arg<C9>::value + is_vector_c_arg<C10>::value \r
+        + is_vector_c_arg<C11>::value + is_vector_c_arg<C12>::value \r
+        + is_vector_c_arg<C13>::value + is_vector_c_arg<C14>::value \r
+        + is_vector_c_arg<C15>::value + is_vector_c_arg<C16>::value \r
+        + is_vector_c_arg<C17>::value + is_vector_c_arg<C18>::value \r
+        + is_vector_c_arg<C19>::value + is_vector_c_arg<C20>::value\r
+        );\r
+\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+    >\r
+struct vector_c_impl\r
+{\r
+    typedef aux::vector_c_count_args<\r
+          C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19\r
+        > arg_num_;\r
+\r
+    typedef typename aux::vector_c_chooser< arg_num_::value >\r
+        ::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;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX\r
+    , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX\r
+    , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX\r
+    , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX\r
+    , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX\r
+    , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX\r
+    , long C18 = LONG_MAX, long C19 = LONG_MAX\r
+    >\r
+struct vector_c\r
+    : aux::vector_c_impl<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19\r
+        >::type\r
+{\r
+    typedef typename aux::vector_c_impl<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19\r
+        >::type type;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..2d65040
--- /dev/null
@@ -0,0 +1,97 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/advance_backward.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+template< long N > struct advance_backward;\r
+template<>\r
+struct advance_backward<0>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef iter0 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct advance_backward<1>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef typename prior<iter0>::type iter1;\r
+        typedef iter1 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct advance_backward<2>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef typename prior<iter0>::type iter1;\r
+        typedef typename prior<iter1>::type iter2;\r
+        typedef iter2 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct advance_backward<3>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef typename prior<iter0>::type iter1;\r
+        typedef typename prior<iter1>::type iter2;\r
+        typedef typename prior<iter2>::type iter3;\r
+        typedef iter3 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct advance_backward<4>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef typename prior<iter0>::type iter1;\r
+        typedef typename prior<iter1>::type iter2;\r
+        typedef typename prior<iter2>::type iter3;\r
+        typedef typename prior<iter3>::type iter4;\r
+        typedef iter4 type;\r
+    };\r
+};\r
+\r
+template< long N >\r
+struct advance_backward\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef typename apply_wrap1<\r
+              advance_backward<4>\r
+            , Iterator\r
+            >::type chunk_result_;\r
+\r
+        typedef typename apply_wrap1<\r
+              advance_backward<(\r
+                (N - 4) < 0\r
+                    ? 0\r
+                    : N - 4\r
+                    )>\r
+            , chunk_result_\r
+            >::type type;\r
+    };\r
+};\r
+\r
+}}}\r
+\r
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 (file)
index 0000000..9762f7b
--- /dev/null
@@ -0,0 +1,97 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/advance_forward.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+template< long N > struct advance_forward;\r
+template<>\r
+struct advance_forward<0>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef iter0 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct advance_forward<1>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef typename next<iter0>::type iter1;\r
+        typedef iter1 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct advance_forward<2>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef typename next<iter0>::type iter1;\r
+        typedef typename next<iter1>::type iter2;\r
+        typedef iter2 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct advance_forward<3>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef typename next<iter0>::type iter1;\r
+        typedef typename next<iter1>::type iter2;\r
+        typedef typename next<iter2>::type iter3;\r
+        typedef iter3 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct advance_forward<4>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef typename next<iter0>::type iter1;\r
+        typedef typename next<iter1>::type iter2;\r
+        typedef typename next<iter2>::type iter3;\r
+        typedef typename next<iter3>::type iter4;\r
+        typedef iter4 type;\r
+    };\r
+};\r
+\r
+template< long N >\r
+struct advance_forward\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef typename apply_wrap1<\r
+              advance_forward<4>\r
+            , Iterator\r
+            >::type chunk_result_;\r
+\r
+        typedef typename apply_wrap1<\r
+              advance_forward<(\r
+                (N - 4) < 0\r
+                    ? 0\r
+                    : N - 4\r
+                    )>\r
+            , chunk_result_\r
+            >::type type;\r
+    };\r
+};\r
+\r
+}}}\r
+\r
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 (file)
index 0000000..71e3b78
--- /dev/null
@@ -0,0 +1,69 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/and.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+\r
+template< bool C_, typename T1, typename T2, typename T3, typename T4 >\r
+struct and_impl\r
+    : false_\r
+{\r
+};\r
+\r
+template< typename T1, typename T2, typename T3, typename T4 >\r
+struct and_impl< true,T1,T2,T3,T4 >\r
+    : and_impl<\r
+          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value\r
+        , T2, T3, T4\r
+        , true_\r
+        >\r
+{\r
+};\r
+\r
+template<>\r
+struct and_impl<\r
+          true\r
+        , true_, true_, true_, true_\r
+        >\r
+    : true_\r
+{\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(T1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(T2)\r
+    , typename T3 = true_, typename T4 = true_, typename T5 = true_\r
+    >\r
+struct and_\r
+\r
+    : aux::and_impl<\r
+          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value\r
+        , T2, T3, T4, T5\r
+        >\r
+\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , and_\r
+        , ( T1, T2, T3, T4, T5)\r
+        )\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(\r
+      2\r
+    , 5\r
+    , and_\r
+    )\r
+\r
+}}\r
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 (file)
index 0000000..9508903
--- /dev/null
@@ -0,0 +1,169 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/apply.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct apply0\r
+\r
+    : apply_wrap0<\r
+          typename lambda<F>::type\r
+       \r
+        >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          1\r
+        , apply0\r
+        , (F )\r
+        )\r
+};\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct apply< F,na,na,na,na,na >\r
+    : apply0<F>\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct apply1\r
+\r
+    : apply_wrap1<\r
+          typename lambda<F>::type\r
+        , T1\r
+        >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          2\r
+        , apply1\r
+        , (F, T1)\r
+        )\r
+};\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct apply< F,T1,na,na,na,na >\r
+    : apply1< F,T1 >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+struct apply2\r
+\r
+    : apply_wrap2<\r
+          typename lambda<F>::type\r
+        , T1, T2\r
+        >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          3\r
+        , apply2\r
+        , (F, T1, T2)\r
+        )\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+struct apply< F,T1,T2,na,na,na >\r
+    : apply2< F,T1,T2 >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+struct apply3\r
+\r
+    : apply_wrap3<\r
+          typename lambda<F>::type\r
+        , T1, T2, T3\r
+        >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          4\r
+        , apply3\r
+        , (F, T1, T2, T3)\r
+        )\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+struct apply< F,T1,T2,T3,na,na >\r
+    : apply3< F,T1,T2,T3 >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct apply4\r
+\r
+    : apply_wrap4<\r
+          typename lambda<F>::type\r
+        , T1, T2, T3, T4\r
+        >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , apply4\r
+        , (F, T1, T2, T3, T4)\r
+        )\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct apply< F,T1,T2,T3,T4,na >\r
+    : apply4< F,T1,T2,T3,T4 >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct apply5\r
+\r
+    : apply_wrap5<\r
+          typename lambda<F>::type\r
+        , T1, T2, T3, T4, T5\r
+        >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          6\r
+        , apply5\r
+        , (F, T1, T2, T3, T4, T5)\r
+        )\r
+};\r
+\r
+/// primary template (not a specialization!)\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct apply\r
+    : apply5< F,T1,T2,T3,T4,T5 >\r
+{\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..b1c5573
--- /dev/null
@@ -0,0 +1,52 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/apply_fwd.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename F, typename T1 = na, typename T2 = na, typename T3 = na\r
+    , typename T4 = na, typename T5 = na\r
+    >\r
+struct apply;\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct apply0;\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct apply1;\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+struct apply2;\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+struct apply3;\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct apply4;\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct apply5;\r
+\r
+}}\r
+\r
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 (file)
index 0000000..e6de047
--- /dev/null
@@ -0,0 +1,84 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/apply_wrap.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename F\r
+\r
+    , typename has_apply_ = typename aux::has_apply<F>::type\r
+\r
+    >\r
+struct apply_wrap0\r
+\r
+    : F::template apply<  >\r
+{\r
+};\r
+\r
+template< typename F >\r
+struct apply_wrap0< F,true_ >\r
+    : F::apply\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1\r
+\r
+    >\r
+struct apply_wrap1\r
+\r
+    : F::template apply<T1>\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+\r
+    >\r
+struct apply_wrap2\r
+\r
+    : F::template apply< T1,T2 >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+\r
+    >\r
+struct apply_wrap3\r
+\r
+    : F::template apply< T1,T2,T3 >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+\r
+    >\r
+struct apply_wrap4\r
+\r
+    : F::template apply< T1,T2,T3,T4 >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+\r
+    >\r
+struct apply_wrap5\r
+\r
+    : F::template apply< T1,T2,T3,T4,T5 >\r
+{\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..a77b8a2
--- /dev/null
@@ -0,0 +1,123 @@
+\r
+// Copyright Peter Dimov 2001-2002\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/arg.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+template<> struct arg< -1 >\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value  = -1);\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)\r
+\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+        typedef U1 type;\r
+        BOOST_MPL_AUX_ASSERT_NOT_NA(type);\r
+    };\r
+};\r
+\r
+template<> struct arg<1>\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value  = 1);\r
+    typedef arg<2> next;\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)\r
+\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+        typedef U1 type;\r
+        BOOST_MPL_AUX_ASSERT_NOT_NA(type);\r
+    };\r
+};\r
+\r
+template<> struct arg<2>\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value  = 2);\r
+    typedef arg<3> next;\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)\r
+\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+        typedef U2 type;\r
+        BOOST_MPL_AUX_ASSERT_NOT_NA(type);\r
+    };\r
+};\r
+\r
+template<> struct arg<3>\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value  = 3);\r
+    typedef arg<4> next;\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)\r
+\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+        typedef U3 type;\r
+        BOOST_MPL_AUX_ASSERT_NOT_NA(type);\r
+    };\r
+};\r
+\r
+template<> struct arg<4>\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value  = 4);\r
+    typedef arg<5> next;\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)\r
+\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+        typedef U4 type;\r
+        BOOST_MPL_AUX_ASSERT_NOT_NA(type);\r
+    };\r
+};\r
+\r
+template<> struct arg<5>\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value  = 5);\r
+    typedef arg<6> next;\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)\r
+\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+        typedef U5 type;\r
+        BOOST_MPL_AUX_ASSERT_NOT_NA(type);\r
+    };\r
+};\r
+\r
+BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg)\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
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 (file)
index 0000000..87dbf14
--- /dev/null
@@ -0,0 +1,369 @@
+\r
+// Copyright Peter Dimov 2001\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/basic_bind.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename T, typename U1, typename U2, typename U3, typename U4\r
+    , typename U5\r
+    >\r
+struct resolve_bind_arg\r
+{\r
+    typedef T type;\r
+};\r
+\r
+template<\r
+      int N, typename U1, typename U2, typename U3, typename U4, typename U5\r
+    >\r
+struct resolve_bind_arg< arg<N>, U1, U2, U3, U4, U5 >\r
+{\r
+    typedef typename apply_wrap5<mpl::arg<N>, U1, U2, U3, U4, U5>::type type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename U1, typename U2, typename U3, typename U4\r
+    , typename U5\r
+    >\r
+struct resolve_bind_arg< bind< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 >\r
+{\r
+    typedef bind< F,T1,T2,T3,T4,T5 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct bind0\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;\r
+\r
+     public:\r
+        typedef typename apply_wrap0<\r
+              f_\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename U1, typename U2, typename U3, typename U4\r
+    , typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind0<F>, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind0<F> f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(1, bind0)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct bind< F,na,na,na,na,na >\r
+    : bind0<F>\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct bind1\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;\r
+        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;\r
+\r
+     public:\r
+        typedef typename apply_wrap1<\r
+              f_\r
+            , typename t1::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename U1, typename U2, typename U3\r
+    , typename U4, typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind1< F,T1 >, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind1< F,T1 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(2, bind1)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct bind< F,T1,na,na,na,na >\r
+    : bind1< F,T1 >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+struct bind2\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;\r
+        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;\r
+        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;\r
+\r
+     public:\r
+        typedef typename apply_wrap2<\r
+              f_\r
+            , typename t1::type, typename t2::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename U1, typename U2\r
+    , typename U3, typename U4, typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind2< F,T1,T2 >, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind2< F,T1,T2 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(3, bind2)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+struct bind< F,T1,T2,na,na,na >\r
+    : bind2< F,T1,T2 >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+struct bind3\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;\r
+        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;\r
+        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;\r
+        typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;\r
+\r
+     public:\r
+        typedef typename apply_wrap3<\r
+              f_\r
+            , typename t1::type, typename t2::type, typename t3::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename U1\r
+    , typename U2, typename U3, typename U4, typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind3< F,T1,T2,T3 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(4, bind3)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+struct bind< F,T1,T2,T3,na,na >\r
+    : bind3< F,T1,T2,T3 >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct bind4\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;\r
+        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;\r
+        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;\r
+        typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;\r
+        typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4;\r
+\r
+     public:\r
+        typedef typename apply_wrap4<\r
+              f_\r
+            , typename t1::type, typename t2::type, typename t3::type\r
+            , typename t4::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename U1, typename U2, typename U3, typename U4, typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind4< F,T1,T2,T3,T4 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(5, bind4)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct bind< F,T1,T2,T3,T4,na >\r
+    : bind4< F,T1,T2,T3,T4 >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct bind5\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;\r
+        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;\r
+        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;\r
+        typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;\r
+        typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4;\r
+        typedef aux::resolve_bind_arg< T5,U1,U2,U3,U4,U5 > t5;\r
+\r
+     public:\r
+        typedef typename apply_wrap5<\r
+              f_\r
+            , typename t1::type, typename t2::type, typename t3::type\r
+            , typename t4::type, typename t5::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename U1, typename U2, typename U3, typename U4\r
+    , typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind5< F,T1,T2,T3,T4,T5 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(6, bind5)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)\r
+\r
+/// primary template (not a specialization!)\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct bind\r
+    : bind5< F,T1,T2,T3,T4,T5 >\r
+{\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..091cd9c
--- /dev/null
@@ -0,0 +1,466 @@
+\r
+// Copyright Peter Dimov 2001\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/bind.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename T, typename U1, typename U2, typename U3, typename U4\r
+    , typename U5\r
+    >\r
+struct resolve_bind_arg\r
+{\r
+    typedef T type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , typename Arg\r
+    >\r
+struct replace_unnamed_arg\r
+{\r
+    typedef Arg next;\r
+    typedef T type;\r
+};\r
+\r
+template<\r
+      typename Arg\r
+    >\r
+struct replace_unnamed_arg< arg< -1 >, Arg >\r
+{\r
+    typedef typename Arg::next next;\r
+    typedef Arg type;\r
+};\r
+\r
+template<\r
+      int N, typename U1, typename U2, typename U3, typename U4, typename U5\r
+    >\r
+struct resolve_bind_arg< arg<N>, U1, U2, U3, U4, U5 >\r
+{\r
+    typedef typename apply_wrap5<mpl::arg<N>, U1, U2, U3, U4, U5>::type type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename U1, typename U2, typename U3, typename U4\r
+    , typename U5\r
+    >\r
+struct resolve_bind_arg< bind< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 >\r
+{\r
+    typedef bind< F,T1,T2,T3,T4,T5 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct bind0\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;\r
+        typedef typename r0::type a0;\r
+        typedef typename r0::next n1;\r
+        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;\r
+        ///\r
+     public:\r
+        typedef typename apply_wrap0<\r
+              f_\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename U1, typename U2, typename U3, typename U4\r
+    , typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind0<F>, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind0<F> f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(1, bind0)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct bind< F,na,na,na,na,na >\r
+    : bind0<F>\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct bind1\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;\r
+        typedef typename r0::type a0;\r
+        typedef typename r0::next n1;\r
+        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T1,n1 > r1;\r
+        typedef typename r1::type a1;\r
+        typedef typename r1::next n2;\r
+        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;\r
+        ///\r
+     public:\r
+        typedef typename apply_wrap1<\r
+              f_\r
+            , typename t1::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename U1, typename U2, typename U3\r
+    , typename U4, typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind1< F,T1 >, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind1< F,T1 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(2, bind1)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct bind< F,T1,na,na,na,na >\r
+    : bind1< F,T1 >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+struct bind2\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;\r
+        typedef typename r0::type a0;\r
+        typedef typename r0::next n1;\r
+        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T1,n1 > r1;\r
+        typedef typename r1::type a1;\r
+        typedef typename r1::next n2;\r
+        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T2,n2 > r2;\r
+        typedef typename r2::type a2;\r
+        typedef typename r2::next n3;\r
+        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;\r
+        ///\r
+     public:\r
+        typedef typename apply_wrap2<\r
+              f_\r
+            , typename t1::type, typename t2::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename U1, typename U2\r
+    , typename U3, typename U4, typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind2< F,T1,T2 >, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind2< F,T1,T2 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(3, bind2)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+struct bind< F,T1,T2,na,na,na >\r
+    : bind2< F,T1,T2 >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+struct bind3\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;\r
+        typedef typename r0::type a0;\r
+        typedef typename r0::next n1;\r
+        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T1,n1 > r1;\r
+        typedef typename r1::type a1;\r
+        typedef typename r1::next n2;\r
+        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T2,n2 > r2;\r
+        typedef typename r2::type a2;\r
+        typedef typename r2::next n3;\r
+        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T3,n3 > r3;\r
+        typedef typename r3::type a3;\r
+        typedef typename r3::next n4;\r
+        typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;\r
+        ///\r
+     public:\r
+        typedef typename apply_wrap3<\r
+              f_\r
+            , typename t1::type, typename t2::type, typename t3::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename U1\r
+    , typename U2, typename U3, typename U4, typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind3< F,T1,T2,T3 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(4, bind3)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+struct bind< F,T1,T2,T3,na,na >\r
+    : bind3< F,T1,T2,T3 >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct bind4\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;\r
+        typedef typename r0::type a0;\r
+        typedef typename r0::next n1;\r
+        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T1,n1 > r1;\r
+        typedef typename r1::type a1;\r
+        typedef typename r1::next n2;\r
+        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T2,n2 > r2;\r
+        typedef typename r2::type a2;\r
+        typedef typename r2::next n3;\r
+        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T3,n3 > r3;\r
+        typedef typename r3::type a3;\r
+        typedef typename r3::next n4;\r
+        typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T4,n4 > r4;\r
+        typedef typename r4::type a4;\r
+        typedef typename r4::next n5;\r
+        typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4;\r
+        ///\r
+     public:\r
+        typedef typename apply_wrap4<\r
+              f_\r
+            , typename t1::type, typename t2::type, typename t3::type\r
+            , typename t4::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename U1, typename U2, typename U3, typename U4, typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind4< F,T1,T2,T3,T4 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(5, bind4)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct bind< F,T1,T2,T3,T4,na >\r
+    : bind4< F,T1,T2,T3,T4 >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct bind5\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;\r
+        typedef typename r0::type a0;\r
+        typedef typename r0::next n1;\r
+        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T1,n1 > r1;\r
+        typedef typename r1::type a1;\r
+        typedef typename r1::next n2;\r
+        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T2,n2 > r2;\r
+        typedef typename r2::type a2;\r
+        typedef typename r2::next n3;\r
+        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T3,n3 > r3;\r
+        typedef typename r3::type a3;\r
+        typedef typename r3::next n4;\r
+        typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T4,n4 > r4;\r
+        typedef typename r4::type a4;\r
+        typedef typename r4::next n5;\r
+        typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T5,n5 > r5;\r
+        typedef typename r5::type a5;\r
+        typedef typename r5::next n6;\r
+        typedef aux::resolve_bind_arg< a5,U1,U2,U3,U4,U5 > t5;\r
+        ///\r
+     public:\r
+        typedef typename apply_wrap5<\r
+              f_\r
+            , typename t1::type, typename t2::type, typename t3::type\r
+            , typename t4::type, typename t5::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename U1, typename U2, typename U3, typename U4\r
+    , typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind5< F,T1,T2,T3,T4,T5 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(6, bind5)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)\r
+\r
+/// primary template (not a specialization!)\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct bind\r
+    : bind5< F,T1,T2,T3,T4,T5 >\r
+{\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..e47dd92
--- /dev/null
@@ -0,0 +1,52 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/bind_fwd.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename F, typename T1 = na, typename T2 = na, typename T3 = na\r
+    , typename T4 = na, typename T5 = na\r
+    >\r
+struct bind;\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct bind0;\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct bind1;\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+struct bind2;\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+struct bind3;\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct bind4;\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct bind5;\r
+\r
+}}\r
+\r
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 (file)
index 0000000..503aca0
--- /dev/null
@@ -0,0 +1,157 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright Jaap Suter 2003\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/bitand.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct bitand_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< bitand_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< bitand_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct bitand_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct bitand_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct bitand_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct bitand_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    , typename N3 = na, typename N4 = na, typename N5 = na\r
+    >\r
+struct bitand_\r
+    : bitand_< bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>, N5>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , bitand_\r
+        , ( N1, N2, N3, N4, N5 )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3, typename N4\r
+    >\r
+struct bitand_< N1,N2,N3,N4,na >\r
+\r
+    : bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , bitand_\r
+        , ( N1, N2, N3, N4, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3\r
+    >\r
+struct bitand_< N1,N2,N3,na,na >\r
+\r
+    : bitand_< bitand_< N1,N2 >, N3>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , bitand_\r
+        , ( N1, N2, N3, na, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2\r
+    >\r
+struct bitand_< N1,N2,na,na,na >\r
+    : bitand_impl<\r
+          typename bitand_tag<N1>::type\r
+        , typename bitand_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , bitand_\r
+        , ( N1, N2, na, na, na )\r
+        )\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+template< typename T, T n1, T n2 >\r
+struct bitand_wknd\r
+{\r
+    BOOST_STATIC_CONSTANT(T, value  = (n1 & n2));\r
+    typedef integral_c< T,value > type;\r
+};\r
+\r
+}\r
+\r
+template<>\r
+struct bitand_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+        : aux::bitand_wknd<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , N1::value\r
+            , N2::value\r
+            >::type\r
+\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..215feb7
--- /dev/null
@@ -0,0 +1,157 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright Jaap Suter 2003\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/bitor.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct bitor_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< bitor_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< bitor_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct bitor_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct bitor_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct bitor_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct bitor_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    , typename N3 = na, typename N4 = na, typename N5 = na\r
+    >\r
+struct bitor_\r
+    : bitor_< bitor_< bitor_< bitor_< N1,N2 >, N3>, N4>, N5>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , bitor_\r
+        , ( N1, N2, N3, N4, N5 )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3, typename N4\r
+    >\r
+struct bitor_< N1,N2,N3,N4,na >\r
+\r
+    : bitor_< bitor_< bitor_< N1,N2 >, N3>, N4>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , bitor_\r
+        , ( N1, N2, N3, N4, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3\r
+    >\r
+struct bitor_< N1,N2,N3,na,na >\r
+\r
+    : bitor_< bitor_< N1,N2 >, N3>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , bitor_\r
+        , ( N1, N2, N3, na, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2\r
+    >\r
+struct bitor_< N1,N2,na,na,na >\r
+    : bitor_impl<\r
+          typename bitor_tag<N1>::type\r
+        , typename bitor_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , bitor_\r
+        , ( N1, N2, na, na, na )\r
+        )\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 5, bitor_)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+template< typename T, T n1, T n2 >\r
+struct bitor_wknd\r
+{\r
+    BOOST_STATIC_CONSTANT(T, value  = (n1 | n2));\r
+    typedef integral_c< T,value > type;\r
+};\r
+\r
+}\r
+\r
+template<>\r
+struct bitor_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+        : aux::bitor_wknd<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , N1::value\r
+            , N2::value\r
+            >::type\r
+\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..b999bd3
--- /dev/null
@@ -0,0 +1,157 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright Jaap Suter 2003\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/bitxor.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct bitxor_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< bitxor_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< bitxor_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct bitxor_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct bitxor_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct bitxor_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct bitxor_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    , typename N3 = na, typename N4 = na, typename N5 = na\r
+    >\r
+struct bitxor_\r
+    : bitxor_< bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>, N5>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , bitxor_\r
+        , ( N1, N2, N3, N4, N5 )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3, typename N4\r
+    >\r
+struct bitxor_< N1,N2,N3,N4,na >\r
+\r
+    : bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , bitxor_\r
+        , ( N1, N2, N3, N4, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3\r
+    >\r
+struct bitxor_< N1,N2,N3,na,na >\r
+\r
+    : bitxor_< bitxor_< N1,N2 >, N3>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , bitxor_\r
+        , ( N1, N2, N3, na, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2\r
+    >\r
+struct bitxor_< N1,N2,na,na,na >\r
+    : bitxor_impl<\r
+          typename bitxor_tag<N1>::type\r
+        , typename bitxor_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , bitxor_\r
+        , ( N1, N2, na, na, na )\r
+        )\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+template< typename T, T n1, T n2 >\r
+struct bitxor_wknd\r
+{\r
+    BOOST_STATIC_CONSTANT(T, value  = (n1 ^ n2));\r
+    typedef integral_c< T,value > type;\r
+};\r
+\r
+}\r
+\r
+template<>\r
+struct bitxor_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+        : aux::bitxor_wknd<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , N1::value\r
+            , N2::value\r
+            >::type\r
+\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..ede9716
--- /dev/null
@@ -0,0 +1,323 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/deque.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na\r
+    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na\r
+    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na\r
+    , typename T12 = na, typename T13 = na, typename T14 = na\r
+    , typename T15 = na, typename T16 = na, typename T17 = na\r
+    , typename T18 = na, typename T19 = na\r
+    >\r
+struct deque;\r
+\r
+template<\r
+     \r
+    >\r
+struct deque<\r
+          na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector0<  >\r
+{\r
+    typedef vector0<  >::type type;\r
+};\r
+\r
+template<\r
+      typename T0\r
+    >\r
+struct deque<\r
+          T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector1<T0>\r
+{\r
+    typedef typename vector1<T0>::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1\r
+    >\r
+struct deque<\r
+          T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector2< T0,T1 >\r
+{\r
+    typedef typename vector2< T0,T1 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2\r
+    >\r
+struct deque<\r
+          T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector3< T0,T1,T2 >\r
+{\r
+    typedef typename vector3< T0,T1,T2 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector4< T0,T1,T2,T3 >\r
+{\r
+    typedef typename vector4< T0,T1,T2,T3 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector5< T0,T1,T2,T3,T4 >\r
+{\r
+    typedef typename vector5< T0,T1,T2,T3,T4 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector6< T0,T1,T2,T3,T4,T5 >\r
+{\r
+    typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector7< T0,T1,T2,T3,T4,T5,T6 >\r
+{\r
+    typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector8< T0,T1,T2,T3,T4,T5,T6,T7 >\r
+{\r
+    typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >\r
+{\r
+    typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >\r
+{\r
+    typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >\r
+{\r
+    typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na\r
+        , na, na, na, na\r
+        >\r
+    : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >\r
+{\r
+    typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na\r
+        , na, na, na, na\r
+        >\r
+    : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >\r
+{\r
+    typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na\r
+        , na, na, na, na\r
+        >\r
+    : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >\r
+{\r
+    typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na\r
+        , na, na, na, na\r
+        >\r
+    : vector15<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        >\r
+{\r
+    typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, na, na, na, na\r
+        >\r
+    : vector16<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15\r
+        >\r
+{\r
+    typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, na, na, na\r
+        >\r
+    : vector17<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16\r
+        >\r
+{\r
+    typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, na, na\r
+        >\r
+    : vector18<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17\r
+        >\r
+{\r
+    typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18, na\r
+        >\r
+    : vector19<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18\r
+        >\r
+{\r
+    typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;\r
+};\r
+\r
+/// primary template (not a specialization!)\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    >\r
+struct deque\r
+    : vector20<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18, T19\r
+        >\r
+{\r
+    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;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..f1497b1
--- /dev/null
@@ -0,0 +1,156 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/divides.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct divides_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< divides_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< divides_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct divides_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct divides_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct divides_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct divides_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    , typename N3 = na, typename N4 = na, typename N5 = na\r
+    >\r
+struct divides\r
+    : divides< divides< divides< divides< N1,N2 >, N3>, N4>, N5>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , divides\r
+        , ( N1, N2, N3, N4, N5 )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3, typename N4\r
+    >\r
+struct divides< N1,N2,N3,N4,na >\r
+\r
+    : divides< divides< divides< N1,N2 >, N3>, N4>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , divides\r
+        , ( N1, N2, N3, N4, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3\r
+    >\r
+struct divides< N1,N2,N3,na,na >\r
+\r
+    : divides< divides< N1,N2 >, N3>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , divides\r
+        , ( N1, N2, N3, na, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2\r
+    >\r
+struct divides< N1,N2,na,na,na >\r
+    : divides_impl<\r
+          typename divides_tag<N1>::type\r
+        , typename divides_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , divides\r
+        , ( N1, N2, na, na, na )\r
+        )\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 5, divides)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+template< typename T, T n1, T n2 >\r
+struct divides_wknd\r
+{\r
+    BOOST_STATIC_CONSTANT(T, value  = (n1 / n2));\r
+    typedef integral_c< T,value > type;\r
+};\r
+\r
+}\r
+\r
+template<>\r
+struct divides_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+        : aux::divides_wknd<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , N1::value\r
+            , N2::value\r
+            >::type\r
+\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..1d05d89
--- /dev/null
@@ -0,0 +1,98 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/equal_to.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct equal_to_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct equal_to_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct equal_to_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct equal_to_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct equal_to_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct equal_to\r
+\r
+    : equal_to_impl<\r
+          typename equal_to_tag<N1>::type\r
+        , typename equal_to_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, equal_to, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct equal_to_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+    {\r
+        BOOST_STATIC_CONSTANT(bool, value =\r
+             ( BOOST_MPL_AUX_VALUE_WKND(N1)::value ==\r
+             BOOST_MPL_AUX_VALUE_WKND(N2)::value )\r
+            );\r
+        typedef bool_<value> type;\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..6d94f48
--- /dev/null
@@ -0,0 +1,180 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/fold_impl.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+/// forward declaration\r
+\r
+template<\r
+      int N\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct fold_impl;\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct fold_impl< 0,First,Last,State,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State state0;\r
+    typedef state0 state;\r
+    typedef iter0 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct fold_impl< 1,First,Last,State,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State state0;\r
+    typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    \r
+\r
+    typedef state1 state;\r
+    typedef iter1 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct fold_impl< 2,First,Last,State,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State state0;\r
+    typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;\r
+    typedef typename mpl::next<iter1>::type iter2;\r
+    \r
+\r
+    typedef state2 state;\r
+    typedef iter2 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct fold_impl< 3,First,Last,State,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State state0;\r
+    typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;\r
+    typedef typename mpl::next<iter1>::type iter2;\r
+    typedef typename apply2< ForwardOp, state2, typename deref<iter2>::type >::type state3;\r
+    typedef typename mpl::next<iter2>::type iter3;\r
+    \r
+\r
+    typedef state3 state;\r
+    typedef iter3 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct fold_impl< 4,First,Last,State,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State state0;\r
+    typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;\r
+    typedef typename mpl::next<iter1>::type iter2;\r
+    typedef typename apply2< ForwardOp, state2, typename deref<iter2>::type >::type state3;\r
+    typedef typename mpl::next<iter2>::type iter3;\r
+    typedef typename apply2< ForwardOp, state3, typename deref<iter3>::type >::type state4;\r
+    typedef typename mpl::next<iter3>::type iter4;\r
+    \r
+\r
+    typedef state4 state;\r
+    typedef iter4 iterator;\r
+};\r
+\r
+template<\r
+      int N\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct fold_impl\r
+{\r
+    typedef fold_impl<\r
+          4\r
+        , First\r
+        , Last\r
+        , State\r
+        , ForwardOp\r
+        > chunk_;\r
+\r
+    typedef fold_impl<\r
+          ( (N - 4) < 0 ? 0 : N - 4 )\r
+        , typename chunk_::iterator\r
+        , Last\r
+        , typename chunk_::state\r
+        , ForwardOp\r
+        > res_;\r
+\r
+    typedef typename res_::state state;\r
+    typedef typename res_::iterator iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct fold_impl< -1,First,Last,State,ForwardOp >\r
+    : fold_impl<\r
+          -1\r
+        , typename mpl::next<First>::type\r
+        , Last\r
+        , typename apply2<ForwardOp,State, typename deref<First>::type>::type\r
+        , ForwardOp\r
+        >\r
+{\r
+};\r
+\r
+template<\r
+      typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct fold_impl< -1,Last,Last,State,ForwardOp >\r
+{\r
+    typedef State state;\r
+    typedef Last iterator;\r
+};\r
+\r
+}}}\r
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 (file)
index 0000000..78cb47c
--- /dev/null
@@ -0,0 +1,554 @@
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/full_lambda.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+\r
+template<\r
+      bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false\r
+    , bool C5 = false\r
+    >\r
+struct lambda_or\r
+    : true_\r
+{\r
+};\r
+\r
+template<>\r
+struct lambda_or< false,false,false,false,false >\r
+    : false_\r
+{\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename T\r
+    , typename Tag\r
+   \r
+    >\r
+struct lambda\r
+{\r
+    typedef false_ is_le;\r
+    typedef T result_;\r
+    typedef T type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    >\r
+struct is_lambda_expression\r
+    : lambda<T>::is_le\r
+{\r
+};\r
+\r
+template< int N, typename Tag >\r
+struct lambda< arg<N>, Tag >\r
+{\r
+    typedef true_ is_le;\r
+    typedef mpl::arg<N> result_; // qualified for the sake of MIPSpro 7.41\r
+    typedef mpl::protect<result_> type;\r
+};\r
+\r
+template<\r
+      typename F\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          bind0<F>\r
+        , Tag\r
+       \r
+        >\r
+{\r
+    typedef false_ is_le;\r
+    typedef bind0<\r
+          F\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename IsLE, typename Tag\r
+    , template< typename P1 > class F\r
+    , typename L1\r
+    >\r
+struct le_result1\r
+{\r
+    typedef F<\r
+          typename L1::type\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+template<\r
+      typename Tag\r
+    , template< typename P1 > class F\r
+    , typename L1\r
+    >\r
+struct le_result1< true_,Tag,F,L1 >\r
+{\r
+    typedef bind1<\r
+          quote1< F,Tag >\r
+        , typename L1::result_\r
+        > result_;\r
+\r
+    typedef mpl::protect<result_> type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      template< typename P1 > class F\r
+    , typename T1\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          F<T1>\r
+        , Tag\r
+       \r
+        >\r
+{\r
+    typedef lambda< T1,Tag > l1;\r
+    typedef typename l1::is_le is_le1;\r
+    typedef typename aux::lambda_or<\r
+          is_le1::value\r
+        >::type is_le;\r
+\r
+    typedef aux::le_result1<\r
+          is_le, Tag, F, l1\r
+        > le_result_;\r
+\r
+    typedef typename le_result_::result_ result_;\r
+    typedef typename le_result_::type type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          bind1< F,T1 >\r
+        , Tag\r
+       \r
+        >\r
+{\r
+    typedef false_ is_le;\r
+    typedef bind1<\r
+          F\r
+        , T1\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename IsLE, typename Tag\r
+    , template< typename P1, typename P2 > class F\r
+    , typename L1, typename L2\r
+    >\r
+struct le_result2\r
+{\r
+    typedef F<\r
+          typename L1::type, typename L2::type\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+template<\r
+      typename Tag\r
+    , template< typename P1, typename P2 > class F\r
+    , typename L1, typename L2\r
+    >\r
+struct le_result2< true_,Tag,F,L1,L2 >\r
+{\r
+    typedef bind2<\r
+          quote2< F,Tag >\r
+        , typename L1::result_, typename L2::result_\r
+        > result_;\r
+\r
+    typedef mpl::protect<result_> type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      template< typename P1, typename P2 > class F\r
+    , typename T1, typename T2\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          F< T1,T2 >\r
+        , Tag\r
+       \r
+        >\r
+{\r
+    typedef lambda< T1,Tag > l1;\r
+    typedef lambda< T2,Tag > l2;\r
+    \r
+    typedef typename l1::is_le is_le1;\r
+    typedef typename l2::is_le is_le2;\r
+    \r
+\r
+    typedef typename aux::lambda_or<\r
+          is_le1::value, is_le2::value\r
+        >::type is_le;\r
+\r
+    typedef aux::le_result2<\r
+          is_le, Tag, F, l1, l2\r
+        > le_result_;\r
+\r
+    typedef typename le_result_::result_ result_;\r
+    typedef typename le_result_::type type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          bind2< F,T1,T2 >\r
+        , Tag\r
+       \r
+        >\r
+{\r
+    typedef false_ is_le;\r
+    typedef bind2<\r
+          F\r
+        , T1, T2\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename IsLE, typename Tag\r
+    , template< typename P1, typename P2, typename P3 > class F\r
+    , typename L1, typename L2, typename L3\r
+    >\r
+struct le_result3\r
+{\r
+    typedef F<\r
+          typename L1::type, typename L2::type, typename L3::type\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+template<\r
+      typename Tag\r
+    , template< typename P1, typename P2, typename P3 > class F\r
+    , typename L1, typename L2, typename L3\r
+    >\r
+struct le_result3< true_,Tag,F,L1,L2,L3 >\r
+{\r
+    typedef bind3<\r
+          quote3< F,Tag >\r
+        , typename L1::result_, typename L2::result_, typename L3::result_\r
+        > result_;\r
+\r
+    typedef mpl::protect<result_> type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      template< typename P1, typename P2, typename P3 > class F\r
+    , typename T1, typename T2, typename T3\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          F< T1,T2,T3 >\r
+        , Tag\r
+       \r
+        >\r
+{\r
+    typedef lambda< T1,Tag > l1;\r
+    typedef lambda< T2,Tag > l2;\r
+    typedef lambda< T3,Tag > l3;\r
+    \r
+    typedef typename l1::is_le is_le1;\r
+    typedef typename l2::is_le is_le2;\r
+    typedef typename l3::is_le is_le3;\r
+    \r
+\r
+    typedef typename aux::lambda_or<\r
+          is_le1::value, is_le2::value, is_le3::value\r
+        >::type is_le;\r
+\r
+    typedef aux::le_result3<\r
+          is_le, Tag, F, l1, l2, l3\r
+        > le_result_;\r
+\r
+    typedef typename le_result_::result_ result_;\r
+    typedef typename le_result_::type type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          bind3< F,T1,T2,T3 >\r
+        , Tag\r
+       \r
+        >\r
+{\r
+    typedef false_ is_le;\r
+    typedef bind3<\r
+          F\r
+        , T1, T2, T3\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename IsLE, typename Tag\r
+    , template< typename P1, typename P2, typename P3, typename P4 > class F\r
+    , typename L1, typename L2, typename L3, typename L4\r
+    >\r
+struct le_result4\r
+{\r
+    typedef F<\r
+          typename L1::type, typename L2::type, typename L3::type\r
+        , typename L4::type\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+template<\r
+      typename Tag\r
+    , template< typename P1, typename P2, typename P3, typename P4 > class F\r
+    , typename L1, typename L2, typename L3, typename L4\r
+    >\r
+struct le_result4< true_,Tag,F,L1,L2,L3,L4 >\r
+{\r
+    typedef bind4<\r
+          quote4< F,Tag >\r
+        , typename L1::result_, typename L2::result_, typename L3::result_\r
+        , typename L4::result_\r
+        > result_;\r
+\r
+    typedef mpl::protect<result_> type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      template< typename P1, typename P2, typename P3, typename P4 > class F\r
+    , typename T1, typename T2, typename T3, typename T4\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          F< T1,T2,T3,T4 >\r
+        , Tag\r
+       \r
+        >\r
+{\r
+    typedef lambda< T1,Tag > l1;\r
+    typedef lambda< T2,Tag > l2;\r
+    typedef lambda< T3,Tag > l3;\r
+    typedef lambda< T4,Tag > l4;\r
+    \r
+    typedef typename l1::is_le is_le1;\r
+    typedef typename l2::is_le is_le2;\r
+    typedef typename l3::is_le is_le3;\r
+    typedef typename l4::is_le is_le4;\r
+    \r
+\r
+    typedef typename aux::lambda_or<\r
+          is_le1::value, is_le2::value, is_le3::value, is_le4::value\r
+        >::type is_le;\r
+\r
+    typedef aux::le_result4<\r
+          is_le, Tag, F, l1, l2, l3, l4\r
+        > le_result_;\r
+\r
+    typedef typename le_result_::result_ result_;\r
+    typedef typename le_result_::type type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          bind4< F,T1,T2,T3,T4 >\r
+        , Tag\r
+       \r
+        >\r
+{\r
+    typedef false_ is_le;\r
+    typedef bind4<\r
+          F\r
+        , T1, T2, T3, T4\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename IsLE, typename Tag\r
+    , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F\r
+    , typename L1, typename L2, typename L3, typename L4, typename L5\r
+    >\r
+struct le_result5\r
+{\r
+    typedef F<\r
+          typename L1::type, typename L2::type, typename L3::type\r
+        , typename L4::type, typename L5::type\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+template<\r
+      typename Tag\r
+    , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F\r
+    , typename L1, typename L2, typename L3, typename L4, typename L5\r
+    >\r
+struct le_result5< true_,Tag,F,L1,L2,L3,L4,L5 >\r
+{\r
+    typedef bind5<\r
+          quote5< F,Tag >\r
+        , typename L1::result_, typename L2::result_, typename L3::result_\r
+        , typename L4::result_, typename L5::result_\r
+        > result_;\r
+\r
+    typedef mpl::protect<result_> type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      template<\r
+          typename P1, typename P2, typename P3, typename P4\r
+        , typename P5\r
+        >\r
+      class F\r
+    , typename T1, typename T2, typename T3, typename T4, typename T5\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          F< T1,T2,T3,T4,T5 >\r
+        , Tag\r
+       \r
+        >\r
+{\r
+    typedef lambda< T1,Tag > l1;\r
+    typedef lambda< T2,Tag > l2;\r
+    typedef lambda< T3,Tag > l3;\r
+    typedef lambda< T4,Tag > l4;\r
+    typedef lambda< T5,Tag > l5;\r
+    \r
+    typedef typename l1::is_le is_le1;\r
+    typedef typename l2::is_le is_le2;\r
+    typedef typename l3::is_le is_le3;\r
+    typedef typename l4::is_le is_le4;\r
+    typedef typename l5::is_le is_le5;\r
+    \r
+\r
+    typedef typename aux::lambda_or<\r
+          is_le1::value, is_le2::value, is_le3::value, is_le4::value\r
+        , is_le5::value\r
+        >::type is_le;\r
+\r
+    typedef aux::le_result5<\r
+          is_le, Tag, F, l1, l2, l3, l4, l5\r
+        > le_result_;\r
+\r
+    typedef typename le_result_::result_ result_;\r
+    typedef typename le_result_::type type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          bind5< F,T1,T2,T3,T4,T5 >\r
+        , Tag\r
+       \r
+        >\r
+{\r
+    typedef false_ is_le;\r
+    typedef bind5<\r
+          F\r
+        , T1, T2, T3, T4, T5\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+/// special case for 'protect'\r
+template< typename T, typename Tag >\r
+struct lambda< mpl::protect<T>, Tag >\r
+{\r
+    typedef false_ is_le;\r
+    typedef mpl::protect<T> result_;\r
+    typedef result_ type;\r
+};\r
+\r
+/// specializations for the main 'bind' form\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          bind< F,T1,T2,T3,T4,T5 >\r
+        , Tag\r
+       \r
+        >\r
+{\r
+    typedef false_ is_le;\r
+    typedef bind< F,T1,T2,T3,T4,T5 > result_;\r
+    typedef result_ type;\r
+};\r
+\r
+/// workaround for MWCW 8.3+/EDG < 303, leads to ambiguity on Digital Mars\r
+\r
+template<\r
+      typename F, typename Tag1, typename Tag2\r
+    >\r
+struct lambda<\r
+          lambda< F,Tag1 >\r
+        , Tag2\r
+        >\r
+{\r
+    typedef lambda< F,Tag2 > l1;\r
+    typedef lambda< Tag1,Tag2 > l2;\r
+    typedef typename l1::is_le is_le;\r
+    typedef aux::le_result2<is_le, Tag2, mpl::lambda, l1, l2> le_result_;\r
+    typedef typename le_result_::result_ result_;\r
+    typedef typename le_result_::type type;\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(2, lambda)\r
+\r
+}}\r
+\r
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 (file)
index 0000000..99d4a79
--- /dev/null
@@ -0,0 +1,98 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/greater.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct greater_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< greater_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< greater_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct greater_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct greater_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct greater_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct greater_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct greater\r
+\r
+    : greater_impl<\r
+          typename greater_tag<N1>::type\r
+        , typename greater_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, greater)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct greater_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+    {\r
+        BOOST_STATIC_CONSTANT(bool, value =\r
+             ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >\r
+             BOOST_MPL_AUX_VALUE_WKND(N2)::value )\r
+            );\r
+        typedef bool_<value> type;\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..a3e51da
--- /dev/null
@@ -0,0 +1,98 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/greater_equal.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct greater_equal_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< greater_equal_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< greater_equal_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct greater_equal_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct greater_equal_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct greater_equal_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct greater_equal_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct greater_equal\r
+\r
+    : greater_equal_impl<\r
+          typename greater_equal_tag<N1>::type\r
+        , typename greater_equal_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater_equal, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct greater_equal_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+    {\r
+        BOOST_STATIC_CONSTANT(bool, value =\r
+             ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >=\r
+             BOOST_MPL_AUX_VALUE_WKND(N2)::value )\r
+            );\r
+        typedef bool_<value> type;\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..3eb3bae
--- /dev/null
@@ -0,0 +1,141 @@
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/inherit.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(T1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(T2)\r
+    >\r
+struct inherit2\r
+    : T1, T2\r
+{\r
+    typedef inherit2 type;\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1, T2))\r
+};\r
+\r
+template< typename T1 >\r
+struct inherit2< T1,empty_base >\r
+{\r
+    typedef T1 type;\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (T1, empty_base))\r
+};\r
+\r
+template< typename T2 >\r
+struct inherit2< empty_base,T2 >\r
+{\r
+    typedef T2 type;\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, T2))\r
+};\r
+\r
+template<>\r
+struct inherit2< empty_base,empty_base >\r
+{\r
+    typedef empty_base type;\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, empty_base))\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(2, inherit2)\r
+\r
+template<\r
+      typename T1 = na, typename T2 = na, typename T3 = na\r
+    >\r
+struct inherit3\r
+    : inherit2<\r
+          typename inherit2<\r
+              T1, T2\r
+            >::type\r
+        , T3\r
+        >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          3\r
+        , inherit3\r
+        , ( T1, T2, T3)\r
+        )\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(3, inherit3)\r
+\r
+template<\r
+      typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na\r
+    >\r
+struct inherit4\r
+    : inherit2<\r
+          typename inherit3<\r
+              T1, T2, T3\r
+            >::type\r
+        , T4\r
+        >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          4\r
+        , inherit4\r
+        , ( T1, T2, T3, T4)\r
+        )\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(4, inherit4)\r
+\r
+template<\r
+      typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na\r
+    , typename T5 = na\r
+    >\r
+struct inherit5\r
+    : inherit2<\r
+          typename inherit4<\r
+              T1, T2, T3, T4\r
+            >::type\r
+        , T5\r
+        >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , inherit5\r
+        , ( T1, T2, T3, T4, T5)\r
+        )\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(5, inherit5)\r
+\r
+/// primary template\r
+\r
+template<\r
+      typename T1 = empty_base, typename T2 = empty_base\r
+    , typename T3 = empty_base, typename T4 = empty_base\r
+    , typename T5 = empty_base\r
+    >\r
+struct inherit\r
+    : inherit5< T1,T2,T3,T4,T5 >\r
+{\r
+};\r
+\r
+template<>\r
+struct inherit< na,na,na,na,na >\r
+{\r
+    template<\r
+\r
+          typename T1 = empty_base, typename T2 = empty_base\r
+        , typename T3 = empty_base, typename T4 = empty_base\r
+        , typename T5 = empty_base\r
+\r
+        >\r
+    struct apply\r
+        : inherit< T1,T2,T3,T4,T5 >\r
+    {\r
+    };\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit)\r
+BOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit)\r
+BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit)\r
+}}\r
+\r
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 (file)
index 0000000..233e7dd
--- /dev/null
@@ -0,0 +1,133 @@
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+// Copyright David Abrahams 2001-2002\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/iter_fold_if_impl.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+template< typename Iterator, typename State >\r
+struct iter_fold_if_null_step\r
+{\r
+    typedef State state;\r
+    typedef Iterator iterator;\r
+};\r
+\r
+template< bool >\r
+struct iter_fold_if_step_impl\r
+{\r
+    template<\r
+          typename Iterator\r
+        , typename State\r
+        , typename StateOp\r
+        , typename IteratorOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename apply2< StateOp,State,Iterator >::type state;\r
+        typedef typename IteratorOp::type iterator;\r
+    };\r
+};\r
+\r
+template<>\r
+struct iter_fold_if_step_impl<false>\r
+{\r
+    template<\r
+          typename Iterator\r
+        , typename State\r
+        , typename StateOp\r
+        , typename IteratorOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef State state;\r
+        typedef Iterator iterator;\r
+    };\r
+};\r
+\r
+template<\r
+      typename Iterator\r
+    , typename State\r
+    , typename ForwardOp\r
+    , typename Predicate\r
+    >\r
+struct iter_fold_if_forward_step\r
+{\r
+    typedef typename apply2< Predicate,State,Iterator >::type not_last;\r
+    typedef typename iter_fold_if_step_impl<\r
+          BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value\r
+        >::template result_< Iterator,State,ForwardOp, mpl::next<Iterator> > impl_;\r
+\r
+    typedef typename impl_::state state;\r
+    typedef typename impl_::iterator iterator;\r
+};\r
+\r
+template<\r
+      typename Iterator\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename Predicate\r
+    >\r
+struct iter_fold_if_backward_step\r
+{\r
+    typedef typename apply2< Predicate,State,Iterator >::type not_last;\r
+    typedef typename iter_fold_if_step_impl<\r
+          BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value\r
+        >::template result_< Iterator,State,BackwardOp, identity<Iterator> > impl_;\r
+\r
+    typedef typename impl_::state state;\r
+    typedef typename impl_::iterator iterator;\r
+};\r
+\r
+template<\r
+      typename Iterator\r
+    , typename State\r
+    , typename ForwardOp\r
+    , typename ForwardPredicate\r
+    , typename BackwardOp\r
+    , typename BackwardPredicate\r
+    >\r
+struct iter_fold_if_impl\r
+{\r
+ private:\r
+    typedef iter_fold_if_null_step< Iterator,State > forward_step0;\r
+    typedef iter_fold_if_forward_step< typename forward_step0::iterator, typename forward_step0::state, ForwardOp, ForwardPredicate > forward_step1;\r
+    typedef iter_fold_if_forward_step< typename forward_step1::iterator, typename forward_step1::state, ForwardOp, ForwardPredicate > forward_step2;\r
+    typedef iter_fold_if_forward_step< typename forward_step2::iterator, typename forward_step2::state, ForwardOp, ForwardPredicate > forward_step3;\r
+    typedef iter_fold_if_forward_step< typename forward_step3::iterator, typename forward_step3::state, ForwardOp, ForwardPredicate > forward_step4;\r
+    \r
+\r
+    typedef typename if_<\r
+          typename forward_step4::not_last\r
+        , iter_fold_if_impl<\r
+              typename forward_step4::iterator\r
+            , typename forward_step4::state\r
+            , ForwardOp\r
+            , ForwardPredicate\r
+            , BackwardOp\r
+            , BackwardPredicate\r
+            >\r
+        , iter_fold_if_null_step<\r
+              typename forward_step4::iterator\r
+            , typename forward_step4::state\r
+            >\r
+        >::type backward_step4;\r
+\r
+    typedef iter_fold_if_backward_step< typename forward_step3::iterator, typename backward_step4::state, BackwardOp, BackwardPredicate > backward_step3;\r
+    typedef iter_fold_if_backward_step< typename forward_step2::iterator, typename backward_step3::state, BackwardOp, BackwardPredicate > backward_step2;\r
+    typedef iter_fold_if_backward_step< typename forward_step1::iterator, typename backward_step2::state, BackwardOp, BackwardPredicate > backward_step1;\r
+    typedef iter_fold_if_backward_step< typename forward_step0::iterator, typename backward_step1::state, BackwardOp, BackwardPredicate > backward_step0;\r
+    \r
+\r
+ public:\r
+    typedef typename backward_step0::state state;\r
+    typedef typename backward_step4::iterator iterator;\r
+};\r
+\r
+}}}\r
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 (file)
index 0000000..f633d1b
--- /dev/null
@@ -0,0 +1,180 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/iter_fold_impl.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+/// forward declaration\r
+\r
+template<\r
+      int N\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct iter_fold_impl;\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct iter_fold_impl< 0,First,Last,State,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State state0;\r
+    typedef state0 state;\r
+    typedef iter0 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct iter_fold_impl< 1,First,Last,State,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State state0;\r
+    typedef typename apply2< ForwardOp,state0,iter0 >::type state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    \r
+\r
+    typedef state1 state;\r
+    typedef iter1 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct iter_fold_impl< 2,First,Last,State,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State state0;\r
+    typedef typename apply2< ForwardOp,state0,iter0 >::type state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    typedef typename apply2< ForwardOp,state1,iter1 >::type state2;\r
+    typedef typename mpl::next<iter1>::type iter2;\r
+    \r
+\r
+    typedef state2 state;\r
+    typedef iter2 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct iter_fold_impl< 3,First,Last,State,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State state0;\r
+    typedef typename apply2< ForwardOp,state0,iter0 >::type state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    typedef typename apply2< ForwardOp,state1,iter1 >::type state2;\r
+    typedef typename mpl::next<iter1>::type iter2;\r
+    typedef typename apply2< ForwardOp,state2,iter2 >::type state3;\r
+    typedef typename mpl::next<iter2>::type iter3;\r
+    \r
+\r
+    typedef state3 state;\r
+    typedef iter3 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct iter_fold_impl< 4,First,Last,State,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State state0;\r
+    typedef typename apply2< ForwardOp,state0,iter0 >::type state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    typedef typename apply2< ForwardOp,state1,iter1 >::type state2;\r
+    typedef typename mpl::next<iter1>::type iter2;\r
+    typedef typename apply2< ForwardOp,state2,iter2 >::type state3;\r
+    typedef typename mpl::next<iter2>::type iter3;\r
+    typedef typename apply2< ForwardOp,state3,iter3 >::type state4;\r
+    typedef typename mpl::next<iter3>::type iter4;\r
+    \r
+\r
+    typedef state4 state;\r
+    typedef iter4 iterator;\r
+};\r
+\r
+template<\r
+      int N\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct iter_fold_impl\r
+{\r
+    typedef iter_fold_impl<\r
+          4\r
+        , First\r
+        , Last\r
+        , State\r
+        , ForwardOp\r
+        > chunk_;\r
+\r
+    typedef iter_fold_impl<\r
+          ( (N - 4) < 0 ? 0 : N - 4 )\r
+        , typename chunk_::iterator\r
+        , Last\r
+        , typename chunk_::state\r
+        , ForwardOp\r
+        > res_;\r
+\r
+    typedef typename res_::state state;\r
+    typedef typename res_::iterator iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct iter_fold_impl< -1,First,Last,State,ForwardOp >\r
+    : iter_fold_impl<\r
+          -1\r
+        , typename mpl::next<First>::type\r
+        , Last\r
+        , typename apply2< ForwardOp,State,First >::type\r
+        , ForwardOp\r
+        >\r
+{\r
+};\r
+\r
+template<\r
+      typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct iter_fold_impl< -1,Last,Last,State,ForwardOp >\r
+{\r
+    typedef State state;\r
+    typedef Last iterator;\r
+};\r
+\r
+}}}\r
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 (file)
index 0000000..c4ac608
--- /dev/null
@@ -0,0 +1,229 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/lambda_no_ctps.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+\r
+template<\r
+      bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false\r
+    , bool C5 = false\r
+    >\r
+struct lambda_or\r
+    : true_\r
+{\r
+};\r
+\r
+template<>\r
+struct lambda_or< false,false,false,false,false >\r
+    : false_\r
+{\r
+};\r
+\r
+template< typename Arity > struct lambda_impl\r
+{\r
+    template< typename T, typename Tag, typename Protect > struct result_\r
+    {\r
+        typedef T type;\r
+        typedef is_placeholder<T> is_le;\r
+    };\r
+};\r
+\r
+template<> struct lambda_impl< int_<1> >\r
+{\r
+    template< typename F, typename Tag, typename Protect > struct result_\r
+    {\r
+        typedef lambda< typename F::arg1, Tag, false_ > l1;\r
+        typedef typename l1::is_le is_le1;\r
+        typedef aux::lambda_or<\r
+              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value\r
+            > is_le;\r
+\r
+        typedef bind1<\r
+              typename F::rebind\r
+            , typename l1::type\r
+            > bind_;\r
+\r
+        typedef typename if_<\r
+              is_le\r
+            , if_< Protect, mpl::protect<bind_>, bind_ >\r
+            , identity<F>\r
+            >::type type_;\r
+\r
+        typedef typename type_::type type;\r
+    };\r
+};\r
+\r
+template<> struct lambda_impl< int_<2> >\r
+{\r
+    template< typename F, typename Tag, typename Protect > struct result_\r
+    {\r
+        typedef lambda< typename F::arg1, Tag, false_ > l1;\r
+        typedef lambda< typename F::arg2, Tag, false_ > l2;\r
+        \r
+        typedef typename l1::is_le is_le1;\r
+        typedef typename l2::is_le is_le2;\r
+        \r
+\r
+        typedef aux::lambda_or<\r
+              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value\r
+            > is_le;\r
+\r
+        typedef bind2<\r
+              typename F::rebind\r
+            , typename l1::type, typename l2::type\r
+            > bind_;\r
+\r
+        typedef typename if_<\r
+              is_le\r
+            , if_< Protect, mpl::protect<bind_>, bind_ >\r
+            , identity<F>\r
+            >::type type_;\r
+\r
+        typedef typename type_::type type;\r
+    };\r
+};\r
+\r
+template<> struct lambda_impl< int_<3> >\r
+{\r
+    template< typename F, typename Tag, typename Protect > struct result_\r
+    {\r
+        typedef lambda< typename F::arg1, Tag, false_ > l1;\r
+        typedef lambda< typename F::arg2, Tag, false_ > l2;\r
+        typedef lambda< typename F::arg3, Tag, false_ > l3;\r
+        \r
+        typedef typename l1::is_le is_le1;\r
+        typedef typename l2::is_le is_le2;\r
+        typedef typename l3::is_le is_le3;\r
+        \r
+\r
+        typedef aux::lambda_or<\r
+              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\r
+            > is_le;\r
+\r
+        typedef bind3<\r
+              typename F::rebind\r
+            , typename l1::type, typename l2::type, typename l3::type\r
+            > bind_;\r
+\r
+        typedef typename if_<\r
+              is_le\r
+            , if_< Protect, mpl::protect<bind_>, bind_ >\r
+            , identity<F>\r
+            >::type type_;\r
+\r
+        typedef typename type_::type type;\r
+    };\r
+};\r
+\r
+template<> struct lambda_impl< int_<4> >\r
+{\r
+    template< typename F, typename Tag, typename Protect > struct result_\r
+    {\r
+        typedef lambda< typename F::arg1, Tag, false_ > l1;\r
+        typedef lambda< typename F::arg2, Tag, false_ > l2;\r
+        typedef lambda< typename F::arg3, Tag, false_ > l3;\r
+        typedef lambda< typename F::arg4, Tag, false_ > l4;\r
+        \r
+        typedef typename l1::is_le is_le1;\r
+        typedef typename l2::is_le is_le2;\r
+        typedef typename l3::is_le is_le3;\r
+        typedef typename l4::is_le is_le4;\r
+        \r
+\r
+        typedef aux::lambda_or<\r
+              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\r
+            > is_le;\r
+\r
+        typedef bind4<\r
+              typename F::rebind\r
+            , typename l1::type, typename l2::type, typename l3::type\r
+            , typename l4::type\r
+            > bind_;\r
+\r
+        typedef typename if_<\r
+              is_le\r
+            , if_< Protect, mpl::protect<bind_>, bind_ >\r
+            , identity<F>\r
+            >::type type_;\r
+\r
+        typedef typename type_::type type;\r
+    };\r
+};\r
+\r
+template<> struct lambda_impl< int_<5> >\r
+{\r
+    template< typename F, typename Tag, typename Protect > struct result_\r
+    {\r
+        typedef lambda< typename F::arg1, Tag, false_ > l1;\r
+        typedef lambda< typename F::arg2, Tag, false_ > l2;\r
+        typedef lambda< typename F::arg3, Tag, false_ > l3;\r
+        typedef lambda< typename F::arg4, Tag, false_ > l4;\r
+        typedef lambda< typename F::arg5, Tag, false_ > l5;\r
+        \r
+        typedef typename l1::is_le is_le1;\r
+        typedef typename l2::is_le is_le2;\r
+        typedef typename l3::is_le is_le3;\r
+        typedef typename l4::is_le is_le4;\r
+        typedef typename l5::is_le is_le5;\r
+        \r
+\r
+        typedef aux::lambda_or<\r
+              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\r
+            > is_le;\r
+\r
+        typedef bind5<\r
+              typename F::rebind\r
+            , typename l1::type, typename l2::type, typename l3::type\r
+            , typename l4::type, typename l5::type\r
+            > bind_;\r
+\r
+        typedef typename if_<\r
+              is_le\r
+            , if_< Protect, mpl::protect<bind_>, bind_ >\r
+            , identity<F>\r
+            >::type type_;\r
+\r
+        typedef typename type_::type type;\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename T\r
+    , typename Tag\r
+    , typename Protect\r
+    >\r
+struct lambda\r
+{\r
+    /// Metafunction forwarding confuses MSVC 6.x\r
+    typedef typename aux::template_arity<T>::type arity_;\r
+    typedef typename aux::lambda_impl<arity_>\r
+        ::template result_< T,Tag,Protect > l_;\r
+\r
+    typedef typename l_::type type;\r
+    typedef typename l_::is_le is_le;\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect))\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(1, 3, lambda)\r
+\r
+template<\r
+      typename T\r
+    >\r
+struct is_lambda_expression\r
+    : lambda<T>::is_le\r
+{\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..ab6dc49
--- /dev/null
@@ -0,0 +1,98 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/less.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct less_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< less_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< less_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct less_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct less_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct less_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct less_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct less\r
+\r
+    : less_impl<\r
+          typename less_tag<N1>::type\r
+        , typename less_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, less)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct less_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+    {\r
+        BOOST_STATIC_CONSTANT(bool, value =\r
+             ( BOOST_MPL_AUX_VALUE_WKND(N2)::value >\r
+             BOOST_MPL_AUX_VALUE_WKND(N1)::value )\r
+            );\r
+        typedef bool_<value> type;\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..f403094
--- /dev/null
@@ -0,0 +1,98 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/less_equal.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct less_equal_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< less_equal_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< less_equal_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct less_equal_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct less_equal_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct less_equal_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct less_equal_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct less_equal\r
+\r
+    : less_equal_impl<\r
+          typename less_equal_tag<N1>::type\r
+        , typename less_equal_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less_equal, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct less_equal_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+    {\r
+        BOOST_STATIC_CONSTANT(bool, value =\r
+             ( BOOST_MPL_AUX_VALUE_WKND(N1)::value <=\r
+             BOOST_MPL_AUX_VALUE_WKND(N2)::value )\r
+            );\r
+        typedef bool_<value> type;\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..1dcd58b
--- /dev/null
@@ -0,0 +1,323 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/list.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na\r
+    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na\r
+    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na\r
+    , typename T12 = na, typename T13 = na, typename T14 = na\r
+    , typename T15 = na, typename T16 = na, typename T17 = na\r
+    , typename T18 = na, typename T19 = na\r
+    >\r
+struct list;\r
+\r
+template<\r
+     \r
+    >\r
+struct list<\r
+          na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list0<  >\r
+{\r
+    typedef list0<  >::type type;\r
+};\r
+\r
+template<\r
+      typename T0\r
+    >\r
+struct list<\r
+          T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list1<T0>\r
+{\r
+    typedef typename list1<T0>::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1\r
+    >\r
+struct list<\r
+          T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list2< T0,T1 >\r
+{\r
+    typedef typename list2< T0,T1 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2\r
+    >\r
+struct list<\r
+          T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list3< T0,T1,T2 >\r
+{\r
+    typedef typename list3< T0,T1,T2 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list4< T0,T1,T2,T3 >\r
+{\r
+    typedef typename list4< T0,T1,T2,T3 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list5< T0,T1,T2,T3,T4 >\r
+{\r
+    typedef typename list5< T0,T1,T2,T3,T4 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list6< T0,T1,T2,T3,T4,T5 >\r
+{\r
+    typedef typename list6< T0,T1,T2,T3,T4,T5 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list7< T0,T1,T2,T3,T4,T5,T6 >\r
+{\r
+    typedef typename list7< T0,T1,T2,T3,T4,T5,T6 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list8< T0,T1,T2,T3,T4,T5,T6,T7 >\r
+{\r
+    typedef typename list8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >\r
+{\r
+    typedef typename list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >\r
+{\r
+    typedef typename list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >\r
+{\r
+    typedef typename list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na\r
+        , na, na, na, na\r
+        >\r
+    : list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >\r
+{\r
+    typedef typename list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na\r
+        , na, na, na, na\r
+        >\r
+    : list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >\r
+{\r
+    typedef typename list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na\r
+        , na, na, na, na\r
+        >\r
+    : list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >\r
+{\r
+    typedef typename list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na\r
+        , na, na, na, na\r
+        >\r
+    : list15<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        >\r
+{\r
+    typedef typename list15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, na, na, na, na\r
+        >\r
+    : list16<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15\r
+        >\r
+{\r
+    typedef typename list16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, na, na, na\r
+        >\r
+    : list17<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16\r
+        >\r
+{\r
+    typedef typename list17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, na, na\r
+        >\r
+    : list18<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17\r
+        >\r
+{\r
+    typedef typename list18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18, na\r
+        >\r
+    : list19<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18\r
+        >\r
+{\r
+    typedef typename list19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;\r
+};\r
+\r
+/// primary template (not a specialization!)\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    >\r
+struct list\r
+    : list20<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18, T19\r
+        >\r
+{\r
+    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;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..578474e
--- /dev/null
@@ -0,0 +1,328 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/list_c.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX\r
+    , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX\r
+    , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX\r
+    , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX\r
+    , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX\r
+    , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX\r
+    , long C18 = LONG_MAX, long C19 = LONG_MAX\r
+    >\r
+struct list_c;\r
+\r
+template<\r
+      typename T\r
+    >\r
+struct list_c<\r
+          T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list0_c<T>\r
+{\r
+    typedef typename list0_c<T>::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0\r
+    >\r
+struct list_c<\r
+          T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list1_c< T,C0 >\r
+{\r
+    typedef typename list1_c< T,C0 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1\r
+    >\r
+struct list_c<\r
+          T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list2_c< T,C0,C1 >\r
+{\r
+    typedef typename list2_c< T,C0,C1 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list3_c< T,C0,C1,C2 >\r
+{\r
+    typedef typename list3_c< T,C0,C1,C2 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list4_c< T,C0,C1,C2,C3 >\r
+{\r
+    typedef typename list4_c< T,C0,C1,C2,C3 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list5_c< T,C0,C1,C2,C3,C4 >\r
+{\r
+    typedef typename list5_c< T,C0,C1,C2,C3,C4 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list6_c< T,C0,C1,C2,C3,C4,C5 >\r
+{\r
+    typedef typename list6_c< T,C0,C1,C2,C3,C4,C5 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list7_c< T,C0,C1,C2,C3,C4,C5,C6 >\r
+{\r
+    typedef typename list7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX\r
+        >\r
+    : list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >\r
+{\r
+    typedef typename list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX\r
+        >\r
+    : list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >\r
+{\r
+    typedef typename list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX\r
+        >\r
+    : list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >\r
+{\r
+    typedef typename list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >\r
+{\r
+    typedef typename list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >\r
+{\r
+    typedef typename list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >\r
+{\r
+    typedef typename list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list14_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13\r
+        >\r
+{\r
+    typedef typename list14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list15_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        >\r
+{\r
+    typedef typename list15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list16_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15\r
+        >\r
+{\r
+    typedef typename list16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list17_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16\r
+        >\r
+{\r
+    typedef typename list17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16, long C17\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17, LONG_MAX, LONG_MAX\r
+        >\r
+    : list18_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17\r
+        >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16, long C17, long C18\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17, C18, LONG_MAX\r
+        >\r
+    : list19_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17, C18\r
+        >\r
+{\r
+    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;\r
+};\r
+\r
+/// primary template (not a specialization!)\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+    >\r
+struct list_c\r
+    : list20_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17, C18, C19\r
+        >\r
+{\r
+    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;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..2f22291
--- /dev/null
@@ -0,0 +1,323 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/map.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na\r
+    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na\r
+    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na\r
+    , typename T12 = na, typename T13 = na, typename T14 = na\r
+    , typename T15 = na, typename T16 = na, typename T17 = na\r
+    , typename T18 = na, typename T19 = na\r
+    >\r
+struct map;\r
+\r
+template<\r
+     \r
+    >\r
+struct map<\r
+          na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map0<  >\r
+{\r
+    typedef map0<  >::type type;\r
+};\r
+\r
+template<\r
+      typename T0\r
+    >\r
+struct map<\r
+          T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map1<T0>\r
+{\r
+    typedef typename map1<T0>::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1\r
+    >\r
+struct map<\r
+          T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map2< T0,T1 >\r
+{\r
+    typedef typename map2< T0,T1 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2\r
+    >\r
+struct map<\r
+          T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map3< T0,T1,T2 >\r
+{\r
+    typedef typename map3< T0,T1,T2 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map4< T0,T1,T2,T3 >\r
+{\r
+    typedef typename map4< T0,T1,T2,T3 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map5< T0,T1,T2,T3,T4 >\r
+{\r
+    typedef typename map5< T0,T1,T2,T3,T4 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map6< T0,T1,T2,T3,T4,T5 >\r
+{\r
+    typedef typename map6< T0,T1,T2,T3,T4,T5 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map7< T0,T1,T2,T3,T4,T5,T6 >\r
+{\r
+    typedef typename map7< T0,T1,T2,T3,T4,T5,T6 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map8< T0,T1,T2,T3,T4,T5,T6,T7 >\r
+{\r
+    typedef typename map8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >\r
+{\r
+    typedef typename map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >\r
+{\r
+    typedef typename map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >\r
+{\r
+    typedef typename map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na\r
+        , na, na, na, na\r
+        >\r
+    : map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >\r
+{\r
+    typedef typename map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na\r
+        , na, na, na, na\r
+        >\r
+    : map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >\r
+{\r
+    typedef typename map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na\r
+        , na, na, na, na\r
+        >\r
+    : map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >\r
+{\r
+    typedef typename map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na\r
+        , na, na, na, na\r
+        >\r
+    : map15<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        >\r
+{\r
+    typedef typename map15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, na, na, na, na\r
+        >\r
+    : map16<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15\r
+        >\r
+{\r
+    typedef typename map16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, na, na, na\r
+        >\r
+    : map17<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16\r
+        >\r
+{\r
+    typedef typename map17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, na, na\r
+        >\r
+    : map18<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17\r
+        >\r
+{\r
+    typedef typename map18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18, na\r
+        >\r
+    : map19<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18\r
+        >\r
+{\r
+    typedef typename map19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;\r
+};\r
+\r
+/// primary template (not a specialization!)\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    >\r
+struct map\r
+    : map20<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18, T19\r
+        >\r
+{\r
+    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;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..5793b00
--- /dev/null
@@ -0,0 +1,156 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/minus.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct minus_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< minus_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< minus_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct minus_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct minus_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct minus_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct minus_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    , typename N3 = na, typename N4 = na, typename N5 = na\r
+    >\r
+struct minus\r
+    : minus< minus< minus< minus< N1,N2 >, N3>, N4>, N5>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , minus\r
+        , ( N1, N2, N3, N4, N5 )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3, typename N4\r
+    >\r
+struct minus< N1,N2,N3,N4,na >\r
+\r
+    : minus< minus< minus< N1,N2 >, N3>, N4>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , minus\r
+        , ( N1, N2, N3, N4, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3\r
+    >\r
+struct minus< N1,N2,N3,na,na >\r
+\r
+    : minus< minus< N1,N2 >, N3>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , minus\r
+        , ( N1, N2, N3, na, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2\r
+    >\r
+struct minus< N1,N2,na,na,na >\r
+    : minus_impl<\r
+          typename minus_tag<N1>::type\r
+        , typename minus_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , minus\r
+        , ( N1, N2, na, na, na )\r
+        )\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 5, minus)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+template< typename T, T n1, T n2 >\r
+struct minus_wknd\r
+{\r
+    BOOST_STATIC_CONSTANT(T, value  = (n1 - n2));\r
+    typedef integral_c< T,value > type;\r
+};\r
+\r
+}\r
+\r
+template<>\r
+struct minus_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+        : aux::minus_wknd<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , N1::value\r
+            , N2::value\r
+            >::type\r
+\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..9400a45
--- /dev/null
@@ -0,0 +1,111 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/modulus.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct modulus_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< modulus_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< modulus_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct modulus_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct modulus_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct modulus_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct modulus_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct modulus\r
+\r
+    : modulus_impl<\r
+          typename modulus_tag<N1>::type\r
+        , typename modulus_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, modulus, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, modulus)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+template< typename T, T n1, T n2 >\r
+struct modulus_wknd\r
+{\r
+    BOOST_STATIC_CONSTANT(T, value  = (n1 % n2));\r
+    typedef integral_c< T,value > type;\r
+};\r
+\r
+}\r
+\r
+template<>\r
+struct modulus_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+        : aux::modulus_wknd<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , N1::value\r
+            , N2::value\r
+            >::type\r
+\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..e23796a
--- /dev/null
@@ -0,0 +1,98 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/not_equal_to.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct not_equal_to_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< not_equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct not_equal_to_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct not_equal_to_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct not_equal_to_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct not_equal_to_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct not_equal_to\r
+\r
+    : not_equal_to_impl<\r
+          typename not_equal_to_tag<N1>::type\r
+        , typename not_equal_to_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, not_equal_to, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct not_equal_to_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+    {\r
+        BOOST_STATIC_CONSTANT(bool, value =\r
+             ( BOOST_MPL_AUX_VALUE_WKND(N1)::value !=\r
+             BOOST_MPL_AUX_VALUE_WKND(N2)::value )\r
+            );\r
+        typedef bool_<value> type;\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..1a05656
--- /dev/null
@@ -0,0 +1,69 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/or.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+\r
+template< bool C_, typename T1, typename T2, typename T3, typename T4 >\r
+struct or_impl\r
+    : true_\r
+{\r
+};\r
+\r
+template< typename T1, typename T2, typename T3, typename T4 >\r
+struct or_impl< false,T1,T2,T3,T4 >\r
+    : or_impl<\r
+          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value\r
+        , T2, T3, T4\r
+        , false_\r
+        >\r
+{\r
+};\r
+\r
+template<>\r
+struct or_impl<\r
+          false\r
+        , false_, false_, false_, false_\r
+        >\r
+    : false_\r
+{\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(T1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(T2)\r
+    , typename T3 = false_, typename T4 = false_, typename T5 = false_\r
+    >\r
+struct or_\r
+\r
+    : aux::or_impl<\r
+          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value\r
+        , T2, T3, T4, T5\r
+        >\r
+\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , or_\r
+        , ( T1, T2, T3, T4, T5)\r
+        )\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(\r
+      2\r
+    , 5\r
+    , or_\r
+    )\r
+\r
+}}\r
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 (file)
index 0000000..df5cb1d
--- /dev/null
@@ -0,0 +1,105 @@
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+// Copyright Peter Dimov 2001-2003\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/placeholders.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+typedef arg< -1 > _;\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+namespace boost { namespace mpl {\r
+\r
+BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_)\r
+\r
+namespace placeholders {\r
+using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_;\r
+}\r
+\r
+}}\r
+\r
+/// agurt, 17/mar/02: one more placeholder for the last 'apply#' \r
+/// specialization\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+typedef arg<1> _1;\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+namespace boost { namespace mpl {\r
+\r
+BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1)\r
+\r
+namespace placeholders {\r
+using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1;\r
+}\r
+\r
+}}\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+typedef arg<2> _2;\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+namespace boost { namespace mpl {\r
+\r
+BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2)\r
+\r
+namespace placeholders {\r
+using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2;\r
+}\r
+\r
+}}\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+typedef arg<3> _3;\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+namespace boost { namespace mpl {\r
+\r
+BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3)\r
+\r
+namespace placeholders {\r
+using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3;\r
+}\r
+\r
+}}\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+typedef arg<4> _4;\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+namespace boost { namespace mpl {\r
+\r
+BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4)\r
+\r
+namespace placeholders {\r
+using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4;\r
+}\r
+\r
+}}\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+typedef arg<5> _5;\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+namespace boost { namespace mpl {\r
+\r
+BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5)\r
+\r
+namespace placeholders {\r
+using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5;\r
+}\r
+\r
+}}\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+typedef arg<6> _6;\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+namespace boost { namespace mpl {\r
+\r
+BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6)\r
+\r
+namespace placeholders {\r
+using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6;\r
+}\r
+\r
+}}\r
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 (file)
index 0000000..eba6c0c
--- /dev/null
@@ -0,0 +1,156 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/plus.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct plus_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< plus_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< plus_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct plus_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct plus_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct plus_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct plus_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    , typename N3 = na, typename N4 = na, typename N5 = na\r
+    >\r
+struct plus\r
+    : plus< plus< plus< plus< N1,N2 >, N3>, N4>, N5>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , plus\r
+        , ( N1, N2, N3, N4, N5 )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3, typename N4\r
+    >\r
+struct plus< N1,N2,N3,N4,na >\r
+\r
+    : plus< plus< plus< N1,N2 >, N3>, N4>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , plus\r
+        , ( N1, N2, N3, N4, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3\r
+    >\r
+struct plus< N1,N2,N3,na,na >\r
+\r
+    : plus< plus< N1,N2 >, N3>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , plus\r
+        , ( N1, N2, N3, na, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2\r
+    >\r
+struct plus< N1,N2,na,na,na >\r
+    : plus_impl<\r
+          typename plus_tag<N1>::type\r
+        , typename plus_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , plus\r
+        , ( N1, N2, na, na, na )\r
+        )\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 5, plus)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+template< typename T, T n1, T n2 >\r
+struct plus_wknd\r
+{\r
+    BOOST_STATIC_CONSTANT(T, value  = (n1 + n2));\r
+    typedef integral_c< T,value > type;\r
+};\r
+\r
+}\r
+\r
+template<>\r
+struct plus_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+        : aux::plus_wknd<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , N1::value\r
+            , N2::value\r
+            >::type\r
+\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..df25a69
--- /dev/null
@@ -0,0 +1,11 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/quote.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
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 (file)
index 0000000..1c4364a
--- /dev/null
@@ -0,0 +1,231 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/reverse_fold_impl.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+/// forward declaration\r
+\r
+template<\r
+      long N\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_fold_impl;\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_fold_impl< 0,First,Last,State,BackwardOp,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State fwd_state0;\r
+    typedef fwd_state0 bkwd_state0;\r
+    typedef bkwd_state0 state;\r
+    typedef iter0 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_fold_impl< 1,First,Last,State,BackwardOp,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State fwd_state0;\r
+    typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    \r
+\r
+    typedef fwd_state1 bkwd_state1;\r
+    typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;\r
+    typedef bkwd_state0 state;\r
+    typedef iter1 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_fold_impl< 2,First,Last,State,BackwardOp,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State fwd_state0;\r
+    typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;\r
+    typedef typename mpl::next<iter1>::type iter2;\r
+    \r
+\r
+    typedef fwd_state2 bkwd_state2;\r
+    typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;\r
+    typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;\r
+    \r
+\r
+    typedef bkwd_state0 state;\r
+    typedef iter2 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_fold_impl< 3,First,Last,State,BackwardOp,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State fwd_state0;\r
+    typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;\r
+    typedef typename mpl::next<iter1>::type iter2;\r
+    typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;\r
+    typedef typename mpl::next<iter2>::type iter3;\r
+    \r
+\r
+    typedef fwd_state3 bkwd_state3;\r
+    typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;\r
+    typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;\r
+    typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;\r
+    \r
+\r
+    typedef bkwd_state0 state;\r
+    typedef iter3 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_fold_impl< 4,First,Last,State,BackwardOp,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State fwd_state0;\r
+    typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;\r
+    typedef typename mpl::next<iter1>::type iter2;\r
+    typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;\r
+    typedef typename mpl::next<iter2>::type iter3;\r
+    typedef typename apply2< ForwardOp, fwd_state3, typename deref<iter3>::type >::type fwd_state4;\r
+    typedef typename mpl::next<iter3>::type iter4;\r
+    \r
+\r
+    typedef fwd_state4 bkwd_state4;\r
+    typedef typename apply2< BackwardOp, bkwd_state4, typename deref<iter3>::type >::type bkwd_state3;\r
+    typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;\r
+    typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;\r
+    typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;\r
+    \r
+\r
+    typedef bkwd_state0 state;\r
+    typedef iter4 iterator;\r
+};\r
+\r
+template<\r
+      long N\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_fold_impl\r
+{\r
+    typedef First iter0;\r
+    typedef State fwd_state0;\r
+    typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;\r
+    typedef typename mpl::next<iter1>::type iter2;\r
+    typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;\r
+    typedef typename mpl::next<iter2>::type iter3;\r
+    typedef typename apply2< ForwardOp, fwd_state3, typename deref<iter3>::type >::type fwd_state4;\r
+    typedef typename mpl::next<iter3>::type iter4;\r
+    \r
+\r
+    typedef reverse_fold_impl<\r
+          ( (N - 4) < 0 ? 0 : N - 4 )\r
+        , iter4\r
+        , Last\r
+        , fwd_state4\r
+        , BackwardOp\r
+        , ForwardOp\r
+        > nested_chunk;\r
+\r
+    typedef typename nested_chunk::state bkwd_state4;\r
+    typedef typename apply2< BackwardOp, bkwd_state4, typename deref<iter3>::type >::type bkwd_state3;\r
+    typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;\r
+    typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;\r
+    typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;\r
+    \r
+\r
+    typedef bkwd_state0 state;\r
+    typedef typename nested_chunk::iterator iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_fold_impl< -1,First,Last,State,BackwardOp,ForwardOp >\r
+{\r
+    typedef reverse_fold_impl<\r
+          -1\r
+        , typename mpl::next<First>::type\r
+        , Last\r
+        , typename apply2<ForwardOp,State, typename deref<First>::type>::type\r
+        , BackwardOp\r
+        , ForwardOp\r
+        > nested_step;\r
+\r
+    typedef typename apply2<\r
+          BackwardOp\r
+        , typename nested_step::state\r
+        , typename deref<First>::type\r
+        >::type state;\r
+\r
+    typedef typename nested_step::iterator iterator;\r
+};\r
+\r
+template<\r
+      typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_fold_impl< -1,Last,Last,State,BackwardOp,ForwardOp >\r
+{\r
+    typedef State state;\r
+    typedef Last iterator;\r
+};\r
+\r
+}}}\r
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 (file)
index 0000000..f06c88b
--- /dev/null
@@ -0,0 +1,231 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/reverse_iter_fold_impl.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+/// forward declaration\r
+\r
+template<\r
+      long N\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_iter_fold_impl;\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_iter_fold_impl< 0,First,Last,State,BackwardOp,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State fwd_state0;\r
+    typedef fwd_state0 bkwd_state0;\r
+    typedef bkwd_state0 state;\r
+    typedef iter0 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_iter_fold_impl< 1,First,Last,State,BackwardOp,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State fwd_state0;\r
+    typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    \r
+\r
+    typedef fwd_state1 bkwd_state1;\r
+    typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;\r
+    typedef bkwd_state0 state;\r
+    typedef iter1 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_iter_fold_impl< 2,First,Last,State,BackwardOp,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State fwd_state0;\r
+    typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;\r
+    typedef typename mpl::next<iter1>::type iter2;\r
+    \r
+\r
+    typedef fwd_state2 bkwd_state2;\r
+    typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;\r
+    typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;\r
+    \r
+\r
+    typedef bkwd_state0 state;\r
+    typedef iter2 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_iter_fold_impl< 3,First,Last,State,BackwardOp,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State fwd_state0;\r
+    typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;\r
+    typedef typename mpl::next<iter1>::type iter2;\r
+    typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;\r
+    typedef typename mpl::next<iter2>::type iter3;\r
+    \r
+\r
+    typedef fwd_state3 bkwd_state3;\r
+    typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;\r
+    typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;\r
+    typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;\r
+    \r
+\r
+    typedef bkwd_state0 state;\r
+    typedef iter3 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_iter_fold_impl< 4,First,Last,State,BackwardOp,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State fwd_state0;\r
+    typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;\r
+    typedef typename mpl::next<iter1>::type iter2;\r
+    typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;\r
+    typedef typename mpl::next<iter2>::type iter3;\r
+    typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4;\r
+    typedef typename mpl::next<iter3>::type iter4;\r
+    \r
+\r
+    typedef fwd_state4 bkwd_state4;\r
+    typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3;\r
+    typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;\r
+    typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;\r
+    typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;\r
+    \r
+\r
+    typedef bkwd_state0 state;\r
+    typedef iter4 iterator;\r
+};\r
+\r
+template<\r
+      long N\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_iter_fold_impl\r
+{\r
+    typedef First iter0;\r
+    typedef State fwd_state0;\r
+    typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;\r
+    typedef typename mpl::next<iter1>::type iter2;\r
+    typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;\r
+    typedef typename mpl::next<iter2>::type iter3;\r
+    typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4;\r
+    typedef typename mpl::next<iter3>::type iter4;\r
+    \r
+\r
+    typedef reverse_iter_fold_impl<\r
+          ( (N - 4) < 0 ? 0 : N - 4 )\r
+        , iter4\r
+        , Last\r
+        , fwd_state4\r
+        , BackwardOp\r
+        , ForwardOp\r
+        > nested_chunk;\r
+\r
+    typedef typename nested_chunk::state bkwd_state4;\r
+    typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3;\r
+    typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;\r
+    typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;\r
+    typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;\r
+    \r
+\r
+    typedef bkwd_state0 state;\r
+    typedef typename nested_chunk::iterator iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_iter_fold_impl< -1,First,Last,State,BackwardOp,ForwardOp >\r
+{\r
+    typedef reverse_iter_fold_impl<\r
+          -1\r
+        , typename mpl::next<First>::type\r
+        , Last\r
+        , typename apply2< ForwardOp,State,First >::type\r
+        , BackwardOp\r
+        , ForwardOp\r
+        > nested_step;\r
+\r
+    typedef typename apply2<\r
+          BackwardOp\r
+        , typename nested_step::state\r
+        , First\r
+        >::type state;\r
+\r
+    typedef typename nested_step::iterator iterator;\r
+};\r
+\r
+template<\r
+      typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_iter_fold_impl< -1,Last,Last,State,BackwardOp,ForwardOp >\r
+{\r
+    typedef State state;\r
+    typedef Last iterator;\r
+};\r
+\r
+}}}\r
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 (file)
index 0000000..b7e3f0b
--- /dev/null
@@ -0,0 +1,323 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/set.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na\r
+    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na\r
+    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na\r
+    , typename T12 = na, typename T13 = na, typename T14 = na\r
+    , typename T15 = na, typename T16 = na, typename T17 = na\r
+    , typename T18 = na, typename T19 = na\r
+    >\r
+struct set;\r
+\r
+template<\r
+     \r
+    >\r
+struct set<\r
+          na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set0<  >\r
+{\r
+    typedef set0<  >::type type;\r
+};\r
+\r
+template<\r
+      typename T0\r
+    >\r
+struct set<\r
+          T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set1<T0>\r
+{\r
+    typedef typename set1<T0>::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1\r
+    >\r
+struct set<\r
+          T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set2< T0,T1 >\r
+{\r
+    typedef typename set2< T0,T1 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2\r
+    >\r
+struct set<\r
+          T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set3< T0,T1,T2 >\r
+{\r
+    typedef typename set3< T0,T1,T2 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set4< T0,T1,T2,T3 >\r
+{\r
+    typedef typename set4< T0,T1,T2,T3 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set5< T0,T1,T2,T3,T4 >\r
+{\r
+    typedef typename set5< T0,T1,T2,T3,T4 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set6< T0,T1,T2,T3,T4,T5 >\r
+{\r
+    typedef typename set6< T0,T1,T2,T3,T4,T5 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set7< T0,T1,T2,T3,T4,T5,T6 >\r
+{\r
+    typedef typename set7< T0,T1,T2,T3,T4,T5,T6 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set8< T0,T1,T2,T3,T4,T5,T6,T7 >\r
+{\r
+    typedef typename set8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >\r
+{\r
+    typedef typename set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >\r
+{\r
+    typedef typename set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >\r
+{\r
+    typedef typename set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na\r
+        , na, na, na, na\r
+        >\r
+    : set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >\r
+{\r
+    typedef typename set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na\r
+        , na, na, na, na\r
+        >\r
+    : set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >\r
+{\r
+    typedef typename set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na\r
+        , na, na, na, na\r
+        >\r
+    : set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >\r
+{\r
+    typedef typename set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na\r
+        , na, na, na, na\r
+        >\r
+    : set15<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        >\r
+{\r
+    typedef typename set15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, na, na, na, na\r
+        >\r
+    : set16<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15\r
+        >\r
+{\r
+    typedef typename set16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, na, na, na\r
+        >\r
+    : set17<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16\r
+        >\r
+{\r
+    typedef typename set17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, na, na\r
+        >\r
+    : set18<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17\r
+        >\r
+{\r
+    typedef typename set18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18, na\r
+        >\r
+    : set19<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18\r
+        >\r
+{\r
+    typedef typename set19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;\r
+};\r
+\r
+/// primary template (not a specialization!)\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    >\r
+struct set\r
+    : set20<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18, T19\r
+        >\r
+{\r
+    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;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..acdf68b
--- /dev/null
@@ -0,0 +1,328 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/set_c.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX\r
+    , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX\r
+    , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX\r
+    , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX\r
+    , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX\r
+    , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX\r
+    , long C18 = LONG_MAX, long C19 = LONG_MAX\r
+    >\r
+struct set_c;\r
+\r
+template<\r
+      typename T\r
+    >\r
+struct set_c<\r
+          T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set0_c<T>\r
+{\r
+    typedef typename set0_c<T>::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0\r
+    >\r
+struct set_c<\r
+          T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set1_c< T,C0 >\r
+{\r
+    typedef typename set1_c< T,C0 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1\r
+    >\r
+struct set_c<\r
+          T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set2_c< T,C0,C1 >\r
+{\r
+    typedef typename set2_c< T,C0,C1 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set3_c< T,C0,C1,C2 >\r
+{\r
+    typedef typename set3_c< T,C0,C1,C2 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set4_c< T,C0,C1,C2,C3 >\r
+{\r
+    typedef typename set4_c< T,C0,C1,C2,C3 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set5_c< T,C0,C1,C2,C3,C4 >\r
+{\r
+    typedef typename set5_c< T,C0,C1,C2,C3,C4 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set6_c< T,C0,C1,C2,C3,C4,C5 >\r
+{\r
+    typedef typename set6_c< T,C0,C1,C2,C3,C4,C5 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set7_c< T,C0,C1,C2,C3,C4,C5,C6 >\r
+{\r
+    typedef typename set7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX\r
+        >\r
+    : set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >\r
+{\r
+    typedef typename set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX\r
+        >\r
+    : set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >\r
+{\r
+    typedef typename set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX\r
+        >\r
+    : set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >\r
+{\r
+    typedef typename set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >\r
+{\r
+    typedef typename set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >\r
+{\r
+    typedef typename set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >\r
+{\r
+    typedef typename set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set14_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13\r
+        >\r
+{\r
+    typedef typename set14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set15_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        >\r
+{\r
+    typedef typename set15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set16_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15\r
+        >\r
+{\r
+    typedef typename set16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set17_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16\r
+        >\r
+{\r
+    typedef typename set17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16, long C17\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17, LONG_MAX, LONG_MAX\r
+        >\r
+    : set18_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17\r
+        >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16, long C17, long C18\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17, C18, LONG_MAX\r
+        >\r
+    : set19_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17, C18\r
+        >\r
+{\r
+    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;\r
+};\r
+\r
+/// primary template (not a specialization!)\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+    >\r
+struct set_c\r
+    : set20_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17, C18, C19\r
+        >\r
+{\r
+    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;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..ba9217b
--- /dev/null
@@ -0,0 +1,110 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright Jaap Suter 2003\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/shift_left.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct shift_left_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< shift_left_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< shift_left_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct shift_left_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct shift_left_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct shift_left_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct shift_left_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct shift_left\r
+\r
+    : shift_left_impl<\r
+          typename shift_left_tag<N1>::type\r
+        , typename shift_left_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_left, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_left)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+template< typename T, typename Shift, T n, Shift s >\r
+struct shift_left_wknd\r
+{\r
+    BOOST_STATIC_CONSTANT(T, value  = (n << s));\r
+    typedef integral_c< T,value > type;\r
+};\r
+\r
+}\r
+\r
+template<>\r
+struct shift_left_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N, typename S > struct apply\r
+        : aux::shift_left_wknd<\r
+              typename N::value_type\r
+            , typename S::value_type\r
+            , N::value\r
+            , S::value\r
+            >::type\r
+\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..d161c0b
--- /dev/null
@@ -0,0 +1,110 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright Jaap Suter 2003\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/shift_right.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct shift_right_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< shift_right_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< shift_right_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct shift_right_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct shift_right_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct shift_right_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct shift_right_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct shift_right\r
+\r
+    : shift_right_impl<\r
+          typename shift_right_tag<N1>::type\r
+        , typename shift_right_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_right, (N1, N2))\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+template< typename T, typename Shift, T n, Shift s >\r
+struct shift_right_wknd\r
+{\r
+    BOOST_STATIC_CONSTANT(T, value  = (n >> s));\r
+    typedef integral_c< T,value > type;\r
+};\r
+\r
+}\r
+\r
+template<>\r
+struct shift_right_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N, typename S > struct apply\r
+        : aux::shift_right_wknd<\r
+              typename N::value_type\r
+            , typename S::value_type\r
+            , N::value\r
+            , S::value\r
+            >::type\r
+\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..b81c2d3
--- /dev/null
@@ -0,0 +1,40 @@
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/template_arity.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+template< bool >\r
+struct template_arity_impl\r
+{\r
+    template< typename F > struct result_\r
+        : mpl::int_< -1 >\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct template_arity_impl<true>\r
+{\r
+    template< typename F > struct result_\r
+        : F::arity\r
+    {\r
+    };\r
+};\r
+\r
+template< typename F >\r
+struct template_arity\r
+    : template_arity_impl< ::boost::mpl::aux::has_rebind<F>::value >\r
+        ::template result_<F>\r
+{\r
+};\r
+\r
+}}}\r
+\r
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 (file)
index 0000000..1d9690a
--- /dev/null
@@ -0,0 +1,156 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/times.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct times_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< times_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< times_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct times_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct times_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct times_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct times_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    , typename N3 = na, typename N4 = na, typename N5 = na\r
+    >\r
+struct times\r
+    : times< times< times< times< N1,N2 >, N3>, N4>, N5>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          5\r
+        , times\r
+        , ( N1, N2, N3, N4, N5 )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3, typename N4\r
+    >\r
+struct times< N1,N2,N3,N4,na >\r
+\r
+    : times< times< times< N1,N2 >, N3>, N4>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , times\r
+        , ( N1, N2, N3, N4, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3\r
+    >\r
+struct times< N1,N2,N3,na,na >\r
+\r
+    : times< times< N1,N2 >, N3>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , times\r
+        , ( N1, N2, N3, na, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2\r
+    >\r
+struct times< N1,N2,na,na,na >\r
+    : times_impl<\r
+          typename times_tag<N1>::type\r
+        , typename times_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , times\r
+        , ( N1, N2, na, na, na )\r
+        )\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 5, times)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+template< typename T, T n1, T n2 >\r
+struct times_wknd\r
+{\r
+    BOOST_STATIC_CONSTANT(T, value  = (n1 * n2));\r
+    typedef integral_c< T,value > type;\r
+};\r
+\r
+}\r
+\r
+template<>\r
+struct times_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+        : aux::times_wknd<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , N1::value\r
+            , N2::value\r
+            >::type\r
+\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..7f8c577
--- /dev/null
@@ -0,0 +1,94 @@
+\r
+// Copyright Aleksey Gurtovoy 2002-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/unpack_args.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+\r
+template< int size, typename F, typename Args >\r
+struct unpack_args_impl;\r
+\r
+template< typename F, typename Args >\r
+struct unpack_args_impl< 0,F,Args >\r
+    : apply0<\r
+          F\r
+        >\r
+{\r
+};\r
+\r
+template< typename F, typename Args >\r
+struct unpack_args_impl< 1,F,Args >\r
+    : apply1<\r
+          F\r
+        , typename at_c< Args,0 >::type\r
+        >\r
+{\r
+};\r
+\r
+template< typename F, typename Args >\r
+struct unpack_args_impl< 2,F,Args >\r
+    : apply2<\r
+          F\r
+        , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type\r
+        >\r
+{\r
+};\r
+\r
+template< typename F, typename Args >\r
+struct unpack_args_impl< 3,F,Args >\r
+    : apply3<\r
+          F\r
+        , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type\r
+        , typename at_c< Args,2 >::type\r
+        >\r
+{\r
+};\r
+\r
+template< typename F, typename Args >\r
+struct unpack_args_impl< 4,F,Args >\r
+    : apply4<\r
+          F\r
+        , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type\r
+        , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type\r
+        >\r
+{\r
+};\r
+\r
+template< typename F, typename Args >\r
+struct unpack_args_impl< 5,F,Args >\r
+    : apply5<\r
+          F\r
+        , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type\r
+        , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type\r
+        , typename at_c< Args,4 >::type\r
+        >\r
+{\r
+};\r
+\r
+}\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct unpack_args\r
+{\r
+    template< typename Args > struct apply\r
+\r
+        : aux::unpack_args_impl< size<Args>::value,F, Args >\r
+\r
+    {\r
+    };\r
+};\r
+\r
+BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args)\r
+\r
+}}\r
+\r
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 (file)
index 0000000..d1da8b1
--- /dev/null
@@ -0,0 +1,323 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/vector.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na\r
+    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na\r
+    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na\r
+    , typename T12 = na, typename T13 = na, typename T14 = na\r
+    , typename T15 = na, typename T16 = na, typename T17 = na\r
+    , typename T18 = na, typename T19 = na\r
+    >\r
+struct vector;\r
+\r
+template<\r
+     \r
+    >\r
+struct vector<\r
+          na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector0<  >\r
+{\r
+    typedef vector0<  >::type type;\r
+};\r
+\r
+template<\r
+      typename T0\r
+    >\r
+struct vector<\r
+          T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector1<T0>\r
+{\r
+    typedef typename vector1<T0>::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1\r
+    >\r
+struct vector<\r
+          T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector2< T0,T1 >\r
+{\r
+    typedef typename vector2< T0,T1 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2\r
+    >\r
+struct vector<\r
+          T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector3< T0,T1,T2 >\r
+{\r
+    typedef typename vector3< T0,T1,T2 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector4< T0,T1,T2,T3 >\r
+{\r
+    typedef typename vector4< T0,T1,T2,T3 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector5< T0,T1,T2,T3,T4 >\r
+{\r
+    typedef typename vector5< T0,T1,T2,T3,T4 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector6< T0,T1,T2,T3,T4,T5 >\r
+{\r
+    typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector7< T0,T1,T2,T3,T4,T5,T6 >\r
+{\r
+    typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector8< T0,T1,T2,T3,T4,T5,T6,T7 >\r
+{\r
+    typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >\r
+{\r
+    typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >\r
+{\r
+    typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >\r
+{\r
+    typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na\r
+        , na, na, na, na\r
+        >\r
+    : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >\r
+{\r
+    typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na\r
+        , na, na, na, na\r
+        >\r
+    : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >\r
+{\r
+    typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na\r
+        , na, na, na, na\r
+        >\r
+    : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >\r
+{\r
+    typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na\r
+        , na, na, na, na\r
+        >\r
+    : vector15<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        >\r
+{\r
+    typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, na, na, na, na\r
+        >\r
+    : vector16<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15\r
+        >\r
+{\r
+    typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, na, na, na\r
+        >\r
+    : vector17<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16\r
+        >\r
+{\r
+    typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, na, na\r
+        >\r
+    : vector18<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17\r
+        >\r
+{\r
+    typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18, na\r
+        >\r
+    : vector19<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18\r
+        >\r
+{\r
+    typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;\r
+};\r
+\r
+/// primary template (not a specialization!)\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    >\r
+struct vector\r
+    : vector20<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18, T19\r
+        >\r
+{\r
+    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;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..ce33340
--- /dev/null
@@ -0,0 +1,309 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/vector_c.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX\r
+    , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX\r
+    , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX\r
+    , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX\r
+    , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX\r
+    , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX\r
+    , long C18 = LONG_MAX, long C19 = LONG_MAX\r
+    >\r
+struct vector_c;\r
+\r
+template<\r
+      typename T\r
+    >\r
+struct vector_c<\r
+          T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : vector0_c<T>\r
+{\r
+    typedef typename vector0_c<T>::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0\r
+    >\r
+struct vector_c<\r
+          T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : vector1_c< T, T(C0) >\r
+{\r
+    typedef typename vector1_c< T, T(C0) >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : vector2_c< T, T(C0), T(C1) >\r
+{\r
+    typedef typename vector2_c< T, T(C0), T(C1) >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : vector3_c< T, T(C0), T(C1), T(C2) >\r
+{\r
+    typedef typename vector3_c< T, T(C0), T(C1), T(C2) >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : vector4_c< T, T(C0), T(C1), T(C2), T(C3) >\r
+{\r
+    typedef typename vector4_c< T, T(C0), T(C1), T(C2), T(C3) >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) >\r
+{\r
+    typedef typename vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) >\r
+{\r
+    typedef typename vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) >\r
+{\r
+    typedef typename vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX\r
+        >\r
+    : vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) >\r
+{\r
+    typedef typename vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX\r
+        >\r
+    : vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX\r
+        >\r
+    : vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : 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) >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : 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) >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : 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) >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : 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) >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : 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) >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : 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) >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : 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) >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16, long C17\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17, LONG_MAX, LONG_MAX\r
+        >\r
+    : 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) >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16, long C17, long C18\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17, C18, LONG_MAX\r
+        >\r
+    : 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) >\r
+{\r
+    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;\r
+};\r
+\r
+/// primary template (not a specialization!)\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+    >\r
+struct vector_c\r
+    : 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) >\r
+{\r
+    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;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..2d65040
--- /dev/null
@@ -0,0 +1,97 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/advance_backward.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+template< long N > struct advance_backward;\r
+template<>\r
+struct advance_backward<0>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef iter0 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct advance_backward<1>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef typename prior<iter0>::type iter1;\r
+        typedef iter1 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct advance_backward<2>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef typename prior<iter0>::type iter1;\r
+        typedef typename prior<iter1>::type iter2;\r
+        typedef iter2 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct advance_backward<3>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef typename prior<iter0>::type iter1;\r
+        typedef typename prior<iter1>::type iter2;\r
+        typedef typename prior<iter2>::type iter3;\r
+        typedef iter3 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct advance_backward<4>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef typename prior<iter0>::type iter1;\r
+        typedef typename prior<iter1>::type iter2;\r
+        typedef typename prior<iter2>::type iter3;\r
+        typedef typename prior<iter3>::type iter4;\r
+        typedef iter4 type;\r
+    };\r
+};\r
+\r
+template< long N >\r
+struct advance_backward\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef typename apply_wrap1<\r
+              advance_backward<4>\r
+            , Iterator\r
+            >::type chunk_result_;\r
+\r
+        typedef typename apply_wrap1<\r
+              advance_backward<(\r
+                (N - 4) < 0\r
+                    ? 0\r
+                    : N - 4\r
+                    )>\r
+            , chunk_result_\r
+            >::type type;\r
+    };\r
+};\r
+\r
+}}}\r
+\r
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 (file)
index 0000000..9762f7b
--- /dev/null
@@ -0,0 +1,97 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/advance_forward.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+template< long N > struct advance_forward;\r
+template<>\r
+struct advance_forward<0>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef iter0 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct advance_forward<1>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef typename next<iter0>::type iter1;\r
+        typedef iter1 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct advance_forward<2>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef typename next<iter0>::type iter1;\r
+        typedef typename next<iter1>::type iter2;\r
+        typedef iter2 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct advance_forward<3>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef typename next<iter0>::type iter1;\r
+        typedef typename next<iter1>::type iter2;\r
+        typedef typename next<iter2>::type iter3;\r
+        typedef iter3 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct advance_forward<4>\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef Iterator iter0;\r
+        typedef typename next<iter0>::type iter1;\r
+        typedef typename next<iter1>::type iter2;\r
+        typedef typename next<iter2>::type iter3;\r
+        typedef typename next<iter3>::type iter4;\r
+        typedef iter4 type;\r
+    };\r
+};\r
+\r
+template< long N >\r
+struct advance_forward\r
+{\r
+    template< typename Iterator > struct apply\r
+    {\r
+        typedef typename apply_wrap1<\r
+              advance_forward<4>\r
+            , Iterator\r
+            >::type chunk_result_;\r
+\r
+        typedef typename apply_wrap1<\r
+              advance_forward<(\r
+                (N - 4) < 0\r
+                    ? 0\r
+                    : N - 4\r
+                    )>\r
+            , chunk_result_\r
+            >::type type;\r
+    };\r
+};\r
+\r
+}}}\r
+\r
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 (file)
index 0000000..aae95c5
--- /dev/null
@@ -0,0 +1,64 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/and.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+\r
+template< bool C_, typename T1, typename T2, typename T3, typename T4 >\r
+struct and_impl\r
+    : false_\r
+{\r
+};\r
+\r
+template< typename T1, typename T2, typename T3, typename T4 >\r
+struct and_impl< true,T1,T2,T3,T4 >\r
+    : and_impl<\r
+          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value\r
+        , T2, T3, T4\r
+        , true_\r
+        >\r
+{\r
+};\r
+\r
+template<>\r
+struct and_impl<\r
+          true\r
+        , true_, true_, true_, true_\r
+        >\r
+    : true_\r
+{\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(T1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(T2)\r
+    , typename T3 = true_, typename T4 = true_, typename T5 = true_\r
+    >\r
+struct and_\r
+\r
+    : aux::and_impl<\r
+          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value\r
+        , T2, T3, T4, T5\r
+        >\r
+\r
+{\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(\r
+      2\r
+    , 5\r
+    , and_\r
+    )\r
+\r
+}}\r
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 (file)
index 0000000..d18329c
--- /dev/null
@@ -0,0 +1,139 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/apply.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct apply0\r
+\r
+    : apply_wrap0<\r
+          typename lambda<F>::type\r
+       \r
+        >\r
+{\r
+};\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct apply< F,na,na,na,na,na >\r
+    : apply0<F>\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct apply1\r
+\r
+    : apply_wrap1<\r
+          typename lambda<F>::type\r
+        , T1\r
+        >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct apply< F,T1,na,na,na,na >\r
+    : apply1< F,T1 >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+struct apply2\r
+\r
+    : apply_wrap2<\r
+          typename lambda<F>::type\r
+        , T1, T2\r
+        >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+struct apply< F,T1,T2,na,na,na >\r
+    : apply2< F,T1,T2 >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+struct apply3\r
+\r
+    : apply_wrap3<\r
+          typename lambda<F>::type\r
+        , T1, T2, T3\r
+        >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+struct apply< F,T1,T2,T3,na,na >\r
+    : apply3< F,T1,T2,T3 >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct apply4\r
+\r
+    : apply_wrap4<\r
+          typename lambda<F>::type\r
+        , T1, T2, T3, T4\r
+        >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct apply< F,T1,T2,T3,T4,na >\r
+    : apply4< F,T1,T2,T3,T4 >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct apply5\r
+\r
+    : apply_wrap5<\r
+          typename lambda<F>::type\r
+        , T1, T2, T3, T4, T5\r
+        >\r
+{\r
+};\r
+\r
+/// primary template (not a specialization!)\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct apply\r
+    : apply5< F,T1,T2,T3,T4,T5 >\r
+{\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..b1c5573
--- /dev/null
@@ -0,0 +1,52 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/apply_fwd.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename F, typename T1 = na, typename T2 = na, typename T3 = na\r
+    , typename T4 = na, typename T5 = na\r
+    >\r
+struct apply;\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct apply0;\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct apply1;\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+struct apply2;\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+struct apply3;\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct apply4;\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct apply5;\r
+\r
+}}\r
+\r
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 (file)
index 0000000..e6de047
--- /dev/null
@@ -0,0 +1,84 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/apply_wrap.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename F\r
+\r
+    , typename has_apply_ = typename aux::has_apply<F>::type\r
+\r
+    >\r
+struct apply_wrap0\r
+\r
+    : F::template apply<  >\r
+{\r
+};\r
+\r
+template< typename F >\r
+struct apply_wrap0< F,true_ >\r
+    : F::apply\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1\r
+\r
+    >\r
+struct apply_wrap1\r
+\r
+    : F::template apply<T1>\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+\r
+    >\r
+struct apply_wrap2\r
+\r
+    : F::template apply< T1,T2 >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+\r
+    >\r
+struct apply_wrap3\r
+\r
+    : F::template apply< T1,T2,T3 >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+\r
+    >\r
+struct apply_wrap4\r
+\r
+    : F::template apply< T1,T2,T3,T4 >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+\r
+    >\r
+struct apply_wrap5\r
+\r
+    : F::template apply< T1,T2,T3,T4,T5 >\r
+{\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..a77b8a2
--- /dev/null
@@ -0,0 +1,123 @@
+\r
+// Copyright Peter Dimov 2001-2002\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/arg.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+template<> struct arg< -1 >\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value  = -1);\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)\r
+\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+        typedef U1 type;\r
+        BOOST_MPL_AUX_ASSERT_NOT_NA(type);\r
+    };\r
+};\r
+\r
+template<> struct arg<1>\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value  = 1);\r
+    typedef arg<2> next;\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)\r
+\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+        typedef U1 type;\r
+        BOOST_MPL_AUX_ASSERT_NOT_NA(type);\r
+    };\r
+};\r
+\r
+template<> struct arg<2>\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value  = 2);\r
+    typedef arg<3> next;\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)\r
+\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+        typedef U2 type;\r
+        BOOST_MPL_AUX_ASSERT_NOT_NA(type);\r
+    };\r
+};\r
+\r
+template<> struct arg<3>\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value  = 3);\r
+    typedef arg<4> next;\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)\r
+\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+        typedef U3 type;\r
+        BOOST_MPL_AUX_ASSERT_NOT_NA(type);\r
+    };\r
+};\r
+\r
+template<> struct arg<4>\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value  = 4);\r
+    typedef arg<5> next;\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)\r
+\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+        typedef U4 type;\r
+        BOOST_MPL_AUX_ASSERT_NOT_NA(type);\r
+    };\r
+};\r
+\r
+template<> struct arg<5>\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value  = 5);\r
+    typedef arg<6> next;\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)\r
+    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)\r
+\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+        typedef U5 type;\r
+        BOOST_MPL_AUX_ASSERT_NOT_NA(type);\r
+    };\r
+};\r
+\r
+BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg)\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
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 (file)
index 0000000..74072c9
--- /dev/null
@@ -0,0 +1,440 @@
+\r
+// Copyright Peter Dimov 2001\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/basic_bind.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename T, typename U1, typename U2, typename U3, typename U4\r
+    , typename U5\r
+    >\r
+struct resolve_bind_arg\r
+{\r
+    typedef T type;\r
+};\r
+\r
+template<\r
+      int N, typename U1, typename U2, typename U3, typename U4, typename U5\r
+    >\r
+struct resolve_bind_arg< arg<N>, U1, U2, U3, U4, U5 >\r
+{\r
+    typedef typename apply_wrap5<mpl::arg<N>, U1, U2, U3, U4, U5>::type type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename U1, typename U2, typename U3, typename U4\r
+    , typename U5\r
+    >\r
+struct resolve_bind_arg< bind< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 >\r
+{\r
+    typedef bind< F,T1,T2,T3,T4,T5 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct bind0\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;\r
+\r
+     public:\r
+        typedef typename apply_wrap0<\r
+              f_\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename U1, typename U2, typename U3, typename U4\r
+    , typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind0<F>, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind0<F> f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(1, bind0)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct bind< F,na,na,na,na,na >\r
+    : bind0<F>\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct bind1\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;\r
+        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;\r
+\r
+     public:\r
+        typedef typename apply_wrap1<\r
+              f_\r
+            , typename t1::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename U1, typename U2, typename U3\r
+    , typename U4, typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind1< F,T1 >, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind1< F,T1 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(2, bind1)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct bind< F,T1,na,na,na,na >\r
+    : bind1< F,T1 >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+struct bind2\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;\r
+        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;\r
+        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;\r
+\r
+     public:\r
+        typedef typename apply_wrap2<\r
+              f_\r
+            , typename t1::type, typename t2::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename U1, typename U2\r
+    , typename U3, typename U4, typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind2< F,T1,T2 >, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind2< F,T1,T2 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(3, bind2)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+struct bind< F,T1,T2,na,na,na >\r
+    : bind2< F,T1,T2 >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+struct bind3\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;\r
+        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;\r
+        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;\r
+        typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;\r
+\r
+     public:\r
+        typedef typename apply_wrap3<\r
+              f_\r
+            , typename t1::type, typename t2::type, typename t3::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename U1\r
+    , typename U2, typename U3, typename U4, typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind3< F,T1,T2,T3 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(4, bind3)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+struct bind< F,T1,T2,T3,na,na >\r
+    : bind3< F,T1,T2,T3 >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct bind4\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;\r
+        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;\r
+        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;\r
+        typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;\r
+        typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4;\r
+\r
+     public:\r
+        typedef typename apply_wrap4<\r
+              f_\r
+            , typename t1::type, typename t2::type, typename t3::type\r
+            , typename t4::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename U1, typename U2, typename U3, typename U4, typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind4< F,T1,T2,T3,T4 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(5, bind4)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct bind< F,T1,T2,T3,T4,na >\r
+    : bind4< F,T1,T2,T3,T4 >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct bind5\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;\r
+        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;\r
+        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;\r
+        typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;\r
+        typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4;\r
+        typedef aux::resolve_bind_arg< T5,U1,U2,U3,U4,U5 > t5;\r
+\r
+     public:\r
+        typedef typename apply_wrap5<\r
+              f_\r
+            , typename t1::type, typename t2::type, typename t3::type\r
+            , typename t4::type, typename t5::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename U1, typename U2, typename U3, typename U4\r
+    , typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind5< F,T1,T2,T3,T4,T5 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(6, bind5)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)\r
+\r
+/// primary template (not a specialization!)\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct bind\r
+    : bind5< F,T1,T2,T3,T4,T5 >\r
+{\r
+};\r
+\r
+/// if_/eval_if specializations\r
+template< template< typename T1, typename T2, typename T3 > class F, typename Tag >\r
+struct quote3;\r
+\r
+template< typename T1, typename T2, typename T3 > struct if_;\r
+\r
+template<\r
+      typename Tag, typename T1, typename T2, typename T3\r
+    >\r
+struct bind3<\r
+      quote3< if_,Tag >\r
+    , T1, T2, T3\r
+    >\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef mpl::arg<1> n1;\r
+        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;\r
+        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;\r
+        typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;\r
+        typedef typename if_<\r
+              typename t1::type\r
+            , t2, t3\r
+            >::type f_;\r
+\r
+     public:\r
+        typedef typename f_::type type;\r
+    };\r
+};\r
+\r
+template<\r
+      template< typename T1, typename T2, typename T3 > class F, typename Tag\r
+    >\r
+struct quote3;\r
+\r
+template< typename T1, typename T2, typename T3 > struct eval_if;\r
+\r
+template<\r
+      typename Tag, typename T1, typename T2, typename T3\r
+    >\r
+struct bind3<\r
+      quote3< eval_if,Tag >\r
+    , T1, T2, T3\r
+    >\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef mpl::arg<1> n1;\r
+        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;\r
+        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;\r
+        typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;\r
+        typedef typename eval_if<\r
+              typename t1::type\r
+            , t2, t3\r
+            >::type f_;\r
+\r
+     public:\r
+        typedef typename f_::type type;\r
+    };\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..888fbc6
--- /dev/null
@@ -0,0 +1,561 @@
+\r
+// Copyright Peter Dimov 2001\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/bind.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename T, typename U1, typename U2, typename U3, typename U4\r
+    , typename U5\r
+    >\r
+struct resolve_bind_arg\r
+{\r
+    typedef T type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , typename Arg\r
+    >\r
+struct replace_unnamed_arg\r
+{\r
+    typedef Arg next;\r
+    typedef T type;\r
+};\r
+\r
+template<\r
+      typename Arg\r
+    >\r
+struct replace_unnamed_arg< arg< -1 >, Arg >\r
+{\r
+    typedef typename Arg::next next;\r
+    typedef Arg type;\r
+};\r
+\r
+template<\r
+      int N, typename U1, typename U2, typename U3, typename U4, typename U5\r
+    >\r
+struct resolve_bind_arg< arg<N>, U1, U2, U3, U4, U5 >\r
+{\r
+    typedef typename apply_wrap5<mpl::arg<N>, U1, U2, U3, U4, U5>::type type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename U1, typename U2, typename U3, typename U4\r
+    , typename U5\r
+    >\r
+struct resolve_bind_arg< bind< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 >\r
+{\r
+    typedef bind< F,T1,T2,T3,T4,T5 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct bind0\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;\r
+        typedef typename r0::type a0;\r
+        typedef typename r0::next n1;\r
+        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;\r
+        ///\r
+     public:\r
+        typedef typename apply_wrap0<\r
+              f_\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename U1, typename U2, typename U3, typename U4\r
+    , typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind0<F>, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind0<F> f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(1, bind0)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct bind< F,na,na,na,na,na >\r
+    : bind0<F>\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct bind1\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;\r
+        typedef typename r0::type a0;\r
+        typedef typename r0::next n1;\r
+        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T1,n1 > r1;\r
+        typedef typename r1::type a1;\r
+        typedef typename r1::next n2;\r
+        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;\r
+        ///\r
+     public:\r
+        typedef typename apply_wrap1<\r
+              f_\r
+            , typename t1::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename U1, typename U2, typename U3\r
+    , typename U4, typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind1< F,T1 >, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind1< F,T1 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(2, bind1)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct bind< F,T1,na,na,na,na >\r
+    : bind1< F,T1 >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+struct bind2\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;\r
+        typedef typename r0::type a0;\r
+        typedef typename r0::next n1;\r
+        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T1,n1 > r1;\r
+        typedef typename r1::type a1;\r
+        typedef typename r1::next n2;\r
+        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T2,n2 > r2;\r
+        typedef typename r2::type a2;\r
+        typedef typename r2::next n3;\r
+        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;\r
+        ///\r
+     public:\r
+        typedef typename apply_wrap2<\r
+              f_\r
+            , typename t1::type, typename t2::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename U1, typename U2\r
+    , typename U3, typename U4, typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind2< F,T1,T2 >, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind2< F,T1,T2 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(3, bind2)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+struct bind< F,T1,T2,na,na,na >\r
+    : bind2< F,T1,T2 >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+struct bind3\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;\r
+        typedef typename r0::type a0;\r
+        typedef typename r0::next n1;\r
+        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T1,n1 > r1;\r
+        typedef typename r1::type a1;\r
+        typedef typename r1::next n2;\r
+        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T2,n2 > r2;\r
+        typedef typename r2::type a2;\r
+        typedef typename r2::next n3;\r
+        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T3,n3 > r3;\r
+        typedef typename r3::type a3;\r
+        typedef typename r3::next n4;\r
+        typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;\r
+        ///\r
+     public:\r
+        typedef typename apply_wrap3<\r
+              f_\r
+            , typename t1::type, typename t2::type, typename t3::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename U1\r
+    , typename U2, typename U3, typename U4, typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind3< F,T1,T2,T3 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(4, bind3)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+struct bind< F,T1,T2,T3,na,na >\r
+    : bind3< F,T1,T2,T3 >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct bind4\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;\r
+        typedef typename r0::type a0;\r
+        typedef typename r0::next n1;\r
+        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T1,n1 > r1;\r
+        typedef typename r1::type a1;\r
+        typedef typename r1::next n2;\r
+        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T2,n2 > r2;\r
+        typedef typename r2::type a2;\r
+        typedef typename r2::next n3;\r
+        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T3,n3 > r3;\r
+        typedef typename r3::type a3;\r
+        typedef typename r3::next n4;\r
+        typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T4,n4 > r4;\r
+        typedef typename r4::type a4;\r
+        typedef typename r4::next n5;\r
+        typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4;\r
+        ///\r
+     public:\r
+        typedef typename apply_wrap4<\r
+              f_\r
+            , typename t1::type, typename t2::type, typename t3::type\r
+            , typename t4::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename U1, typename U2, typename U3, typename U4, typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind4< F,T1,T2,T3,T4 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(5, bind4)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct bind< F,T1,T2,T3,T4,na >\r
+    : bind4< F,T1,T2,T3,T4 >\r
+{\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct bind5\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;\r
+        typedef typename r0::type a0;\r
+        typedef typename r0::next n1;\r
+        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T1,n1 > r1;\r
+        typedef typename r1::type a1;\r
+        typedef typename r1::next n2;\r
+        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T2,n2 > r2;\r
+        typedef typename r2::type a2;\r
+        typedef typename r2::next n3;\r
+        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T3,n3 > r3;\r
+        typedef typename r3::type a3;\r
+        typedef typename r3::next n4;\r
+        typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T4,n4 > r4;\r
+        typedef typename r4::type a4;\r
+        typedef typename r4::next n5;\r
+        typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T5,n5 > r5;\r
+        typedef typename r5::type a5;\r
+        typedef typename r5::next n6;\r
+        typedef aux::resolve_bind_arg< a5,U1,U2,U3,U4,U5 > t5;\r
+        ///\r
+     public:\r
+        typedef typename apply_wrap5<\r
+              f_\r
+            , typename t1::type, typename t2::type, typename t3::type\r
+            , typename t4::type, typename t5::type\r
+            >::type type;\r
+\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename U1, typename U2, typename U3, typename U4\r
+    , typename U5\r
+    >\r
+struct resolve_bind_arg<\r
+      bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5\r
+    >\r
+{\r
+    typedef bind5< F,T1,T2,T3,T4,T5 > f_;\r
+    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(6, bind5)\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)\r
+\r
+/// primary template (not a specialization!)\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct bind\r
+    : bind5< F,T1,T2,T3,T4,T5 >\r
+{\r
+};\r
+\r
+/// if_/eval_if specializations\r
+template< template< typename T1, typename T2, typename T3 > class F, typename Tag >\r
+struct quote3;\r
+\r
+template< typename T1, typename T2, typename T3 > struct if_;\r
+\r
+template<\r
+      typename Tag, typename T1, typename T2, typename T3\r
+    >\r
+struct bind3<\r
+      quote3< if_,Tag >\r
+    , T1, T2, T3\r
+    >\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef mpl::arg<1> n1;\r
+        typedef aux::replace_unnamed_arg< T1,n1 > r1;\r
+        typedef typename r1::type a1;\r
+        typedef typename r1::next n2;\r
+        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T2,n2 > r2;\r
+        typedef typename r2::type a2;\r
+        typedef typename r2::next n3;\r
+        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T3,n3 > r3;\r
+        typedef typename r3::type a3;\r
+        typedef typename r3::next n4;\r
+        typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;\r
+        ///\r
+        typedef typename if_<\r
+              typename t1::type\r
+            , t2, t3\r
+            >::type f_;\r
+\r
+     public:\r
+        typedef typename f_::type type;\r
+    };\r
+};\r
+\r
+template<\r
+      template< typename T1, typename T2, typename T3 > class F, typename Tag\r
+    >\r
+struct quote3;\r
+\r
+template< typename T1, typename T2, typename T3 > struct eval_if;\r
+\r
+template<\r
+      typename Tag, typename T1, typename T2, typename T3\r
+    >\r
+struct bind3<\r
+      quote3< eval_if,Tag >\r
+    , T1, T2, T3\r
+    >\r
+{\r
+    template<\r
+          typename U1 = na, typename U2 = na, typename U3 = na\r
+        , typename U4 = na, typename U5 = na\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef mpl::arg<1> n1;\r
+        typedef aux::replace_unnamed_arg< T1,n1 > r1;\r
+        typedef typename r1::type a1;\r
+        typedef typename r1::next n2;\r
+        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T2,n2 > r2;\r
+        typedef typename r2::type a2;\r
+        typedef typename r2::next n3;\r
+        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;\r
+        ///\r
+        typedef aux::replace_unnamed_arg< T3,n3 > r3;\r
+        typedef typename r3::type a3;\r
+        typedef typename r3::next n4;\r
+        typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;\r
+        ///\r
+        typedef typename eval_if<\r
+              typename t1::type\r
+            , t2, t3\r
+            >::type f_;\r
+\r
+     public:\r
+        typedef typename f_::type type;\r
+    };\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..e47dd92
--- /dev/null
@@ -0,0 +1,52 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/bind_fwd.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename F, typename T1 = na, typename T2 = na, typename T3 = na\r
+    , typename T4 = na, typename T5 = na\r
+    >\r
+struct bind;\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct bind0;\r
+\r
+template<\r
+      typename F, typename T1\r
+    >\r
+struct bind1;\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    >\r
+struct bind2;\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    >\r
+struct bind3;\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct bind4;\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct bind5;\r
+\r
+}}\r
+\r
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 (file)
index 0000000..31aa9a8
--- /dev/null
@@ -0,0 +1,142 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright Jaap Suter 2003\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/bitand.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct bitand_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< bitand_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< bitand_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct bitand_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct bitand_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct bitand_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct bitand_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    , typename N3 = na, typename N4 = na, typename N5 = na\r
+    >\r
+struct bitand_\r
+    : bitand_< bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>, N5>\r
+{\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3, typename N4\r
+    >\r
+struct bitand_< N1,N2,N3,N4,na >\r
+\r
+    : bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , bitand_\r
+        , ( N1, N2, N3, N4, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3\r
+    >\r
+struct bitand_< N1,N2,N3,na,na >\r
+\r
+    : bitand_< bitand_< N1,N2 >, N3>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , bitand_\r
+        , ( N1, N2, N3, na, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2\r
+    >\r
+struct bitand_< N1,N2,na,na,na >\r
+    : bitand_impl<\r
+          typename bitand_tag<N1>::type\r
+        , typename bitand_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , bitand_\r
+        , ( N1, N2, na, na, na )\r
+        )\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+template<>\r
+struct bitand_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : integral_c<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value\r
+                  & BOOST_MPL_AUX_VALUE_WKND(N2)::value\r
+                )\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..08e0fec
--- /dev/null
@@ -0,0 +1,142 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright Jaap Suter 2003\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/bitor.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct bitor_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< bitor_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< bitor_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct bitor_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct bitor_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct bitor_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct bitor_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    , typename N3 = na, typename N4 = na, typename N5 = na\r
+    >\r
+struct bitor_\r
+    : bitor_< bitor_< bitor_< bitor_< N1,N2 >, N3>, N4>, N5>\r
+{\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3, typename N4\r
+    >\r
+struct bitor_< N1,N2,N3,N4,na >\r
+\r
+    : bitor_< bitor_< bitor_< N1,N2 >, N3>, N4>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , bitor_\r
+        , ( N1, N2, N3, N4, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3\r
+    >\r
+struct bitor_< N1,N2,N3,na,na >\r
+\r
+    : bitor_< bitor_< N1,N2 >, N3>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , bitor_\r
+        , ( N1, N2, N3, na, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2\r
+    >\r
+struct bitor_< N1,N2,na,na,na >\r
+    : bitor_impl<\r
+          typename bitor_tag<N1>::type\r
+        , typename bitor_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , bitor_\r
+        , ( N1, N2, na, na, na )\r
+        )\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 5, bitor_)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+template<>\r
+struct bitor_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : integral_c<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value\r
+                  | BOOST_MPL_AUX_VALUE_WKND(N2)::value\r
+                )\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..b2a74ea
--- /dev/null
@@ -0,0 +1,142 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright Jaap Suter 2003\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/bitxor.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct bitxor_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< bitxor_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< bitxor_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct bitxor_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct bitxor_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct bitxor_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct bitxor_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    , typename N3 = na, typename N4 = na, typename N5 = na\r
+    >\r
+struct bitxor_\r
+    : bitxor_< bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>, N5>\r
+{\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3, typename N4\r
+    >\r
+struct bitxor_< N1,N2,N3,N4,na >\r
+\r
+    : bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , bitxor_\r
+        , ( N1, N2, N3, N4, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3\r
+    >\r
+struct bitxor_< N1,N2,N3,na,na >\r
+\r
+    : bitxor_< bitxor_< N1,N2 >, N3>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , bitxor_\r
+        , ( N1, N2, N3, na, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2\r
+    >\r
+struct bitxor_< N1,N2,na,na,na >\r
+    : bitxor_impl<\r
+          typename bitxor_tag<N1>::type\r
+        , typename bitxor_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , bitxor_\r
+        , ( N1, N2, na, na, na )\r
+        )\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+template<>\r
+struct bitxor_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : integral_c<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value\r
+                  ^ BOOST_MPL_AUX_VALUE_WKND(N2)::value\r
+                )\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..ede9716
--- /dev/null
@@ -0,0 +1,323 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/deque.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na\r
+    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na\r
+    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na\r
+    , typename T12 = na, typename T13 = na, typename T14 = na\r
+    , typename T15 = na, typename T16 = na, typename T17 = na\r
+    , typename T18 = na, typename T19 = na\r
+    >\r
+struct deque;\r
+\r
+template<\r
+     \r
+    >\r
+struct deque<\r
+          na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector0<  >\r
+{\r
+    typedef vector0<  >::type type;\r
+};\r
+\r
+template<\r
+      typename T0\r
+    >\r
+struct deque<\r
+          T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector1<T0>\r
+{\r
+    typedef typename vector1<T0>::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1\r
+    >\r
+struct deque<\r
+          T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector2< T0,T1 >\r
+{\r
+    typedef typename vector2< T0,T1 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2\r
+    >\r
+struct deque<\r
+          T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector3< T0,T1,T2 >\r
+{\r
+    typedef typename vector3< T0,T1,T2 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector4< T0,T1,T2,T3 >\r
+{\r
+    typedef typename vector4< T0,T1,T2,T3 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector5< T0,T1,T2,T3,T4 >\r
+{\r
+    typedef typename vector5< T0,T1,T2,T3,T4 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector6< T0,T1,T2,T3,T4,T5 >\r
+{\r
+    typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector7< T0,T1,T2,T3,T4,T5,T6 >\r
+{\r
+    typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector8< T0,T1,T2,T3,T4,T5,T6,T7 >\r
+{\r
+    typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >\r
+{\r
+    typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >\r
+{\r
+    typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >\r
+{\r
+    typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na\r
+        , na, na, na, na\r
+        >\r
+    : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >\r
+{\r
+    typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na\r
+        , na, na, na, na\r
+        >\r
+    : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >\r
+{\r
+    typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na\r
+        , na, na, na, na\r
+        >\r
+    : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >\r
+{\r
+    typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na\r
+        , na, na, na, na\r
+        >\r
+    : vector15<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        >\r
+{\r
+    typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, na, na, na, na\r
+        >\r
+    : vector16<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15\r
+        >\r
+{\r
+    typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, na, na, na\r
+        >\r
+    : vector17<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16\r
+        >\r
+{\r
+    typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, na, na\r
+        >\r
+    : vector18<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17\r
+        >\r
+{\r
+    typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18\r
+    >\r
+struct deque<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18, na\r
+        >\r
+    : vector19<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18\r
+        >\r
+{\r
+    typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;\r
+};\r
+\r
+/// primary template (not a specialization!)\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    >\r
+struct deque\r
+    : vector20<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18, T19\r
+        >\r
+{\r
+    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;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..e2322d7
--- /dev/null
@@ -0,0 +1,141 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/divides.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct divides_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< divides_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< divides_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct divides_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct divides_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct divides_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct divides_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    , typename N3 = na, typename N4 = na, typename N5 = na\r
+    >\r
+struct divides\r
+    : divides< divides< divides< divides< N1,N2 >, N3>, N4>, N5>\r
+{\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3, typename N4\r
+    >\r
+struct divides< N1,N2,N3,N4,na >\r
+\r
+    : divides< divides< divides< N1,N2 >, N3>, N4>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , divides\r
+        , ( N1, N2, N3, N4, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3\r
+    >\r
+struct divides< N1,N2,N3,na,na >\r
+\r
+    : divides< divides< N1,N2 >, N3>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , divides\r
+        , ( N1, N2, N3, na, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2\r
+    >\r
+struct divides< N1,N2,na,na,na >\r
+    : divides_impl<\r
+          typename divides_tag<N1>::type\r
+        , typename divides_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , divides\r
+        , ( N1, N2, na, na, na )\r
+        )\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 5, divides)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+template<>\r
+struct divides_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : integral_c<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value\r
+                  / BOOST_MPL_AUX_VALUE_WKND(N2)::value\r
+                )\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..d108db4
--- /dev/null
@@ -0,0 +1,92 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/equal_to.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct equal_to_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct equal_to_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct equal_to_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct equal_to_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct equal_to_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct equal_to\r
+\r
+    : equal_to_impl<\r
+          typename equal_to_tag<N1>::type\r
+        , typename equal_to_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct equal_to_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value  == BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..6d94f48
--- /dev/null
@@ -0,0 +1,180 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/fold_impl.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+/// forward declaration\r
+\r
+template<\r
+      int N\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct fold_impl;\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct fold_impl< 0,First,Last,State,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State state0;\r
+    typedef state0 state;\r
+    typedef iter0 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct fold_impl< 1,First,Last,State,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State state0;\r
+    typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    \r
+\r
+    typedef state1 state;\r
+    typedef iter1 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct fold_impl< 2,First,Last,State,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State state0;\r
+    typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;\r
+    typedef typename mpl::next<iter1>::type iter2;\r
+    \r
+\r
+    typedef state2 state;\r
+    typedef iter2 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct fold_impl< 3,First,Last,State,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State state0;\r
+    typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;\r
+    typedef typename mpl::next<iter1>::type iter2;\r
+    typedef typename apply2< ForwardOp, state2, typename deref<iter2>::type >::type state3;\r
+    typedef typename mpl::next<iter2>::type iter3;\r
+    \r
+\r
+    typedef state3 state;\r
+    typedef iter3 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct fold_impl< 4,First,Last,State,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State state0;\r
+    typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;\r
+    typedef typename mpl::next<iter1>::type iter2;\r
+    typedef typename apply2< ForwardOp, state2, typename deref<iter2>::type >::type state3;\r
+    typedef typename mpl::next<iter2>::type iter3;\r
+    typedef typename apply2< ForwardOp, state3, typename deref<iter3>::type >::type state4;\r
+    typedef typename mpl::next<iter3>::type iter4;\r
+    \r
+\r
+    typedef state4 state;\r
+    typedef iter4 iterator;\r
+};\r
+\r
+template<\r
+      int N\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct fold_impl\r
+{\r
+    typedef fold_impl<\r
+          4\r
+        , First\r
+        , Last\r
+        , State\r
+        , ForwardOp\r
+        > chunk_;\r
+\r
+    typedef fold_impl<\r
+          ( (N - 4) < 0 ? 0 : N - 4 )\r
+        , typename chunk_::iterator\r
+        , Last\r
+        , typename chunk_::state\r
+        , ForwardOp\r
+        > res_;\r
+\r
+    typedef typename res_::state state;\r
+    typedef typename res_::iterator iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct fold_impl< -1,First,Last,State,ForwardOp >\r
+    : fold_impl<\r
+          -1\r
+        , typename mpl::next<First>::type\r
+        , Last\r
+        , typename apply2<ForwardOp,State, typename deref<First>::type>::type\r
+        , ForwardOp\r
+        >\r
+{\r
+};\r
+\r
+template<\r
+      typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct fold_impl< -1,Last,Last,State,ForwardOp >\r
+{\r
+    typedef State state;\r
+    typedef Last iterator;\r
+};\r
+\r
+}}}\r
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 (file)
index 0000000..78cb47c
--- /dev/null
@@ -0,0 +1,554 @@
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/full_lambda.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+\r
+template<\r
+      bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false\r
+    , bool C5 = false\r
+    >\r
+struct lambda_or\r
+    : true_\r
+{\r
+};\r
+\r
+template<>\r
+struct lambda_or< false,false,false,false,false >\r
+    : false_\r
+{\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename T\r
+    , typename Tag\r
+   \r
+    >\r
+struct lambda\r
+{\r
+    typedef false_ is_le;\r
+    typedef T result_;\r
+    typedef T type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    >\r
+struct is_lambda_expression\r
+    : lambda<T>::is_le\r
+{\r
+};\r
+\r
+template< int N, typename Tag >\r
+struct lambda< arg<N>, Tag >\r
+{\r
+    typedef true_ is_le;\r
+    typedef mpl::arg<N> result_; // qualified for the sake of MIPSpro 7.41\r
+    typedef mpl::protect<result_> type;\r
+};\r
+\r
+template<\r
+      typename F\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          bind0<F>\r
+        , Tag\r
+       \r
+        >\r
+{\r
+    typedef false_ is_le;\r
+    typedef bind0<\r
+          F\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename IsLE, typename Tag\r
+    , template< typename P1 > class F\r
+    , typename L1\r
+    >\r
+struct le_result1\r
+{\r
+    typedef F<\r
+          typename L1::type\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+template<\r
+      typename Tag\r
+    , template< typename P1 > class F\r
+    , typename L1\r
+    >\r
+struct le_result1< true_,Tag,F,L1 >\r
+{\r
+    typedef bind1<\r
+          quote1< F,Tag >\r
+        , typename L1::result_\r
+        > result_;\r
+\r
+    typedef mpl::protect<result_> type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      template< typename P1 > class F\r
+    , typename T1\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          F<T1>\r
+        , Tag\r
+       \r
+        >\r
+{\r
+    typedef lambda< T1,Tag > l1;\r
+    typedef typename l1::is_le is_le1;\r
+    typedef typename aux::lambda_or<\r
+          is_le1::value\r
+        >::type is_le;\r
+\r
+    typedef aux::le_result1<\r
+          is_le, Tag, F, l1\r
+        > le_result_;\r
+\r
+    typedef typename le_result_::result_ result_;\r
+    typedef typename le_result_::type type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          bind1< F,T1 >\r
+        , Tag\r
+       \r
+        >\r
+{\r
+    typedef false_ is_le;\r
+    typedef bind1<\r
+          F\r
+        , T1\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename IsLE, typename Tag\r
+    , template< typename P1, typename P2 > class F\r
+    , typename L1, typename L2\r
+    >\r
+struct le_result2\r
+{\r
+    typedef F<\r
+          typename L1::type, typename L2::type\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+template<\r
+      typename Tag\r
+    , template< typename P1, typename P2 > class F\r
+    , typename L1, typename L2\r
+    >\r
+struct le_result2< true_,Tag,F,L1,L2 >\r
+{\r
+    typedef bind2<\r
+          quote2< F,Tag >\r
+        , typename L1::result_, typename L2::result_\r
+        > result_;\r
+\r
+    typedef mpl::protect<result_> type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      template< typename P1, typename P2 > class F\r
+    , typename T1, typename T2\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          F< T1,T2 >\r
+        , Tag\r
+       \r
+        >\r
+{\r
+    typedef lambda< T1,Tag > l1;\r
+    typedef lambda< T2,Tag > l2;\r
+    \r
+    typedef typename l1::is_le is_le1;\r
+    typedef typename l2::is_le is_le2;\r
+    \r
+\r
+    typedef typename aux::lambda_or<\r
+          is_le1::value, is_le2::value\r
+        >::type is_le;\r
+\r
+    typedef aux::le_result2<\r
+          is_le, Tag, F, l1, l2\r
+        > le_result_;\r
+\r
+    typedef typename le_result_::result_ result_;\r
+    typedef typename le_result_::type type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          bind2< F,T1,T2 >\r
+        , Tag\r
+       \r
+        >\r
+{\r
+    typedef false_ is_le;\r
+    typedef bind2<\r
+          F\r
+        , T1, T2\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename IsLE, typename Tag\r
+    , template< typename P1, typename P2, typename P3 > class F\r
+    , typename L1, typename L2, typename L3\r
+    >\r
+struct le_result3\r
+{\r
+    typedef F<\r
+          typename L1::type, typename L2::type, typename L3::type\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+template<\r
+      typename Tag\r
+    , template< typename P1, typename P2, typename P3 > class F\r
+    , typename L1, typename L2, typename L3\r
+    >\r
+struct le_result3< true_,Tag,F,L1,L2,L3 >\r
+{\r
+    typedef bind3<\r
+          quote3< F,Tag >\r
+        , typename L1::result_, typename L2::result_, typename L3::result_\r
+        > result_;\r
+\r
+    typedef mpl::protect<result_> type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      template< typename P1, typename P2, typename P3 > class F\r
+    , typename T1, typename T2, typename T3\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          F< T1,T2,T3 >\r
+        , Tag\r
+       \r
+        >\r
+{\r
+    typedef lambda< T1,Tag > l1;\r
+    typedef lambda< T2,Tag > l2;\r
+    typedef lambda< T3,Tag > l3;\r
+    \r
+    typedef typename l1::is_le is_le1;\r
+    typedef typename l2::is_le is_le2;\r
+    typedef typename l3::is_le is_le3;\r
+    \r
+\r
+    typedef typename aux::lambda_or<\r
+          is_le1::value, is_le2::value, is_le3::value\r
+        >::type is_le;\r
+\r
+    typedef aux::le_result3<\r
+          is_le, Tag, F, l1, l2, l3\r
+        > le_result_;\r
+\r
+    typedef typename le_result_::result_ result_;\r
+    typedef typename le_result_::type type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          bind3< F,T1,T2,T3 >\r
+        , Tag\r
+       \r
+        >\r
+{\r
+    typedef false_ is_le;\r
+    typedef bind3<\r
+          F\r
+        , T1, T2, T3\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename IsLE, typename Tag\r
+    , template< typename P1, typename P2, typename P3, typename P4 > class F\r
+    , typename L1, typename L2, typename L3, typename L4\r
+    >\r
+struct le_result4\r
+{\r
+    typedef F<\r
+          typename L1::type, typename L2::type, typename L3::type\r
+        , typename L4::type\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+template<\r
+      typename Tag\r
+    , template< typename P1, typename P2, typename P3, typename P4 > class F\r
+    , typename L1, typename L2, typename L3, typename L4\r
+    >\r
+struct le_result4< true_,Tag,F,L1,L2,L3,L4 >\r
+{\r
+    typedef bind4<\r
+          quote4< F,Tag >\r
+        , typename L1::result_, typename L2::result_, typename L3::result_\r
+        , typename L4::result_\r
+        > result_;\r
+\r
+    typedef mpl::protect<result_> type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      template< typename P1, typename P2, typename P3, typename P4 > class F\r
+    , typename T1, typename T2, typename T3, typename T4\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          F< T1,T2,T3,T4 >\r
+        , Tag\r
+       \r
+        >\r
+{\r
+    typedef lambda< T1,Tag > l1;\r
+    typedef lambda< T2,Tag > l2;\r
+    typedef lambda< T3,Tag > l3;\r
+    typedef lambda< T4,Tag > l4;\r
+    \r
+    typedef typename l1::is_le is_le1;\r
+    typedef typename l2::is_le is_le2;\r
+    typedef typename l3::is_le is_le3;\r
+    typedef typename l4::is_le is_le4;\r
+    \r
+\r
+    typedef typename aux::lambda_or<\r
+          is_le1::value, is_le2::value, is_le3::value, is_le4::value\r
+        >::type is_le;\r
+\r
+    typedef aux::le_result4<\r
+          is_le, Tag, F, l1, l2, l3, l4\r
+        > le_result_;\r
+\r
+    typedef typename le_result_::result_ result_;\r
+    typedef typename le_result_::type type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          bind4< F,T1,T2,T3,T4 >\r
+        , Tag\r
+       \r
+        >\r
+{\r
+    typedef false_ is_le;\r
+    typedef bind4<\r
+          F\r
+        , T1, T2, T3, T4\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename IsLE, typename Tag\r
+    , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F\r
+    , typename L1, typename L2, typename L3, typename L4, typename L5\r
+    >\r
+struct le_result5\r
+{\r
+    typedef F<\r
+          typename L1::type, typename L2::type, typename L3::type\r
+        , typename L4::type, typename L5::type\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+template<\r
+      typename Tag\r
+    , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F\r
+    , typename L1, typename L2, typename L3, typename L4, typename L5\r
+    >\r
+struct le_result5< true_,Tag,F,L1,L2,L3,L4,L5 >\r
+{\r
+    typedef bind5<\r
+          quote5< F,Tag >\r
+        , typename L1::result_, typename L2::result_, typename L3::result_\r
+        , typename L4::result_, typename L5::result_\r
+        > result_;\r
+\r
+    typedef mpl::protect<result_> type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      template<\r
+          typename P1, typename P2, typename P3, typename P4\r
+        , typename P5\r
+        >\r
+      class F\r
+    , typename T1, typename T2, typename T3, typename T4, typename T5\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          F< T1,T2,T3,T4,T5 >\r
+        , Tag\r
+       \r
+        >\r
+{\r
+    typedef lambda< T1,Tag > l1;\r
+    typedef lambda< T2,Tag > l2;\r
+    typedef lambda< T3,Tag > l3;\r
+    typedef lambda< T4,Tag > l4;\r
+    typedef lambda< T5,Tag > l5;\r
+    \r
+    typedef typename l1::is_le is_le1;\r
+    typedef typename l2::is_le is_le2;\r
+    typedef typename l3::is_le is_le3;\r
+    typedef typename l4::is_le is_le4;\r
+    typedef typename l5::is_le is_le5;\r
+    \r
+\r
+    typedef typename aux::lambda_or<\r
+          is_le1::value, is_le2::value, is_le3::value, is_le4::value\r
+        , is_le5::value\r
+        >::type is_le;\r
+\r
+    typedef aux::le_result5<\r
+          is_le, Tag, F, l1, l2, l3, l4, l5\r
+        > le_result_;\r
+\r
+    typedef typename le_result_::result_ result_;\r
+    typedef typename le_result_::type type;\r
+};\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          bind5< F,T1,T2,T3,T4,T5 >\r
+        , Tag\r
+       \r
+        >\r
+{\r
+    typedef false_ is_le;\r
+    typedef bind5<\r
+          F\r
+        , T1, T2, T3, T4, T5\r
+        > result_;\r
+\r
+    typedef result_ type;\r
+};\r
+\r
+/// special case for 'protect'\r
+template< typename T, typename Tag >\r
+struct lambda< mpl::protect<T>, Tag >\r
+{\r
+    typedef false_ is_le;\r
+    typedef mpl::protect<T> result_;\r
+    typedef result_ type;\r
+};\r
+\r
+/// specializations for the main 'bind' form\r
+\r
+template<\r
+      typename F, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    , typename Tag\r
+    >\r
+struct lambda<\r
+          bind< F,T1,T2,T3,T4,T5 >\r
+        , Tag\r
+       \r
+        >\r
+{\r
+    typedef false_ is_le;\r
+    typedef bind< F,T1,T2,T3,T4,T5 > result_;\r
+    typedef result_ type;\r
+};\r
+\r
+/// workaround for MWCW 8.3+/EDG < 303, leads to ambiguity on Digital Mars\r
+\r
+template<\r
+      typename F, typename Tag1, typename Tag2\r
+    >\r
+struct lambda<\r
+          lambda< F,Tag1 >\r
+        , Tag2\r
+        >\r
+{\r
+    typedef lambda< F,Tag2 > l1;\r
+    typedef lambda< Tag1,Tag2 > l2;\r
+    typedef typename l1::is_le is_le;\r
+    typedef aux::le_result2<is_le, Tag2, mpl::lambda, l1, l2> le_result_;\r
+    typedef typename le_result_::result_ result_;\r
+    typedef typename le_result_::type type;\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(2, lambda)\r
+\r
+}}\r
+\r
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 (file)
index 0000000..32f5165
--- /dev/null
@@ -0,0 +1,92 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/greater.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct greater_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< greater_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< greater_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct greater_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct greater_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct greater_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct greater_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct greater\r
+\r
+    : greater_impl<\r
+          typename greater_tag<N1>::type\r
+        , typename greater_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, greater)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct greater_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value > BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..84da0aa
--- /dev/null
@@ -0,0 +1,92 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/greater_equal.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct greater_equal_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< greater_equal_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< greater_equal_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct greater_equal_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct greater_equal_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct greater_equal_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct greater_equal_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct greater_equal\r
+\r
+    : greater_equal_impl<\r
+          typename greater_equal_tag<N1>::type\r
+        , typename greater_equal_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct greater_equal_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..35eb35f
--- /dev/null
@@ -0,0 +1,125 @@
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/inherit.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(T1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(T2)\r
+    >\r
+struct inherit2\r
+    : T1, T2\r
+{\r
+    typedef inherit2 type;\r
+};\r
+\r
+template< typename T1 >\r
+struct inherit2< T1,empty_base >\r
+{\r
+    typedef T1 type;\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (T1, empty_base))\r
+};\r
+\r
+template< typename T2 >\r
+struct inherit2< empty_base,T2 >\r
+{\r
+    typedef T2 type;\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, T2))\r
+};\r
+\r
+template<>\r
+struct inherit2< empty_base,empty_base >\r
+{\r
+    typedef empty_base type;\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, empty_base))\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(2, inherit2)\r
+\r
+template<\r
+      typename T1 = na, typename T2 = na, typename T3 = na\r
+    >\r
+struct inherit3\r
+    : inherit2<\r
+          typename inherit2<\r
+              T1, T2\r
+            >::type\r
+        , T3\r
+        >\r
+{\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(3, inherit3)\r
+\r
+template<\r
+      typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na\r
+    >\r
+struct inherit4\r
+    : inherit2<\r
+          typename inherit3<\r
+              T1, T2, T3\r
+            >::type\r
+        , T4\r
+        >\r
+{\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(4, inherit4)\r
+\r
+template<\r
+      typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na\r
+    , typename T5 = na\r
+    >\r
+struct inherit5\r
+    : inherit2<\r
+          typename inherit4<\r
+              T1, T2, T3, T4\r
+            >::type\r
+        , T5\r
+        >\r
+{\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(5, inherit5)\r
+\r
+/// primary template\r
+\r
+template<\r
+      typename T1 = empty_base, typename T2 = empty_base\r
+    , typename T3 = empty_base, typename T4 = empty_base\r
+    , typename T5 = empty_base\r
+    >\r
+struct inherit\r
+    : inherit5< T1,T2,T3,T4,T5 >\r
+{\r
+};\r
+\r
+template<>\r
+struct inherit< na,na,na,na,na >\r
+{\r
+    template<\r
+\r
+          typename T1 = empty_base, typename T2 = empty_base\r
+        , typename T3 = empty_base, typename T4 = empty_base\r
+        , typename T5 = empty_base\r
+\r
+        >\r
+    struct apply\r
+        : inherit< T1,T2,T3,T4,T5 >\r
+    {\r
+    };\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit)\r
+BOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit)\r
+BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit)\r
+}}\r
+\r
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 (file)
index 0000000..233e7dd
--- /dev/null
@@ -0,0 +1,133 @@
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+// Copyright David Abrahams 2001-2002\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/iter_fold_if_impl.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+template< typename Iterator, typename State >\r
+struct iter_fold_if_null_step\r
+{\r
+    typedef State state;\r
+    typedef Iterator iterator;\r
+};\r
+\r
+template< bool >\r
+struct iter_fold_if_step_impl\r
+{\r
+    template<\r
+          typename Iterator\r
+        , typename State\r
+        , typename StateOp\r
+        , typename IteratorOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef typename apply2< StateOp,State,Iterator >::type state;\r
+        typedef typename IteratorOp::type iterator;\r
+    };\r
+};\r
+\r
+template<>\r
+struct iter_fold_if_step_impl<false>\r
+{\r
+    template<\r
+          typename Iterator\r
+        , typename State\r
+        , typename StateOp\r
+        , typename IteratorOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef State state;\r
+        typedef Iterator iterator;\r
+    };\r
+};\r
+\r
+template<\r
+      typename Iterator\r
+    , typename State\r
+    , typename ForwardOp\r
+    , typename Predicate\r
+    >\r
+struct iter_fold_if_forward_step\r
+{\r
+    typedef typename apply2< Predicate,State,Iterator >::type not_last;\r
+    typedef typename iter_fold_if_step_impl<\r
+          BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value\r
+        >::template result_< Iterator,State,ForwardOp, mpl::next<Iterator> > impl_;\r
+\r
+    typedef typename impl_::state state;\r
+    typedef typename impl_::iterator iterator;\r
+};\r
+\r
+template<\r
+      typename Iterator\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename Predicate\r
+    >\r
+struct iter_fold_if_backward_step\r
+{\r
+    typedef typename apply2< Predicate,State,Iterator >::type not_last;\r
+    typedef typename iter_fold_if_step_impl<\r
+          BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value\r
+        >::template result_< Iterator,State,BackwardOp, identity<Iterator> > impl_;\r
+\r
+    typedef typename impl_::state state;\r
+    typedef typename impl_::iterator iterator;\r
+};\r
+\r
+template<\r
+      typename Iterator\r
+    , typename State\r
+    , typename ForwardOp\r
+    , typename ForwardPredicate\r
+    , typename BackwardOp\r
+    , typename BackwardPredicate\r
+    >\r
+struct iter_fold_if_impl\r
+{\r
+ private:\r
+    typedef iter_fold_if_null_step< Iterator,State > forward_step0;\r
+    typedef iter_fold_if_forward_step< typename forward_step0::iterator, typename forward_step0::state, ForwardOp, ForwardPredicate > forward_step1;\r
+    typedef iter_fold_if_forward_step< typename forward_step1::iterator, typename forward_step1::state, ForwardOp, ForwardPredicate > forward_step2;\r
+    typedef iter_fold_if_forward_step< typename forward_step2::iterator, typename forward_step2::state, ForwardOp, ForwardPredicate > forward_step3;\r
+    typedef iter_fold_if_forward_step< typename forward_step3::iterator, typename forward_step3::state, ForwardOp, ForwardPredicate > forward_step4;\r
+    \r
+\r
+    typedef typename if_<\r
+          typename forward_step4::not_last\r
+        , iter_fold_if_impl<\r
+              typename forward_step4::iterator\r
+            , typename forward_step4::state\r
+            , ForwardOp\r
+            , ForwardPredicate\r
+            , BackwardOp\r
+            , BackwardPredicate\r
+            >\r
+        , iter_fold_if_null_step<\r
+              typename forward_step4::iterator\r
+            , typename forward_step4::state\r
+            >\r
+        >::type backward_step4;\r
+\r
+    typedef iter_fold_if_backward_step< typename forward_step3::iterator, typename backward_step4::state, BackwardOp, BackwardPredicate > backward_step3;\r
+    typedef iter_fold_if_backward_step< typename forward_step2::iterator, typename backward_step3::state, BackwardOp, BackwardPredicate > backward_step2;\r
+    typedef iter_fold_if_backward_step< typename forward_step1::iterator, typename backward_step2::state, BackwardOp, BackwardPredicate > backward_step1;\r
+    typedef iter_fold_if_backward_step< typename forward_step0::iterator, typename backward_step1::state, BackwardOp, BackwardPredicate > backward_step0;\r
+    \r
+\r
+ public:\r
+    typedef typename backward_step0::state state;\r
+    typedef typename backward_step4::iterator iterator;\r
+};\r
+\r
+}}}\r
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 (file)
index 0000000..f633d1b
--- /dev/null
@@ -0,0 +1,180 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/iter_fold_impl.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+/// forward declaration\r
+\r
+template<\r
+      int N\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct iter_fold_impl;\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct iter_fold_impl< 0,First,Last,State,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State state0;\r
+    typedef state0 state;\r
+    typedef iter0 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct iter_fold_impl< 1,First,Last,State,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State state0;\r
+    typedef typename apply2< ForwardOp,state0,iter0 >::type state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    \r
+\r
+    typedef state1 state;\r
+    typedef iter1 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct iter_fold_impl< 2,First,Last,State,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State state0;\r
+    typedef typename apply2< ForwardOp,state0,iter0 >::type state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    typedef typename apply2< ForwardOp,state1,iter1 >::type state2;\r
+    typedef typename mpl::next<iter1>::type iter2;\r
+    \r
+\r
+    typedef state2 state;\r
+    typedef iter2 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct iter_fold_impl< 3,First,Last,State,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State state0;\r
+    typedef typename apply2< ForwardOp,state0,iter0 >::type state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    typedef typename apply2< ForwardOp,state1,iter1 >::type state2;\r
+    typedef typename mpl::next<iter1>::type iter2;\r
+    typedef typename apply2< ForwardOp,state2,iter2 >::type state3;\r
+    typedef typename mpl::next<iter2>::type iter3;\r
+    \r
+\r
+    typedef state3 state;\r
+    typedef iter3 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct iter_fold_impl< 4,First,Last,State,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State state0;\r
+    typedef typename apply2< ForwardOp,state0,iter0 >::type state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    typedef typename apply2< ForwardOp,state1,iter1 >::type state2;\r
+    typedef typename mpl::next<iter1>::type iter2;\r
+    typedef typename apply2< ForwardOp,state2,iter2 >::type state3;\r
+    typedef typename mpl::next<iter2>::type iter3;\r
+    typedef typename apply2< ForwardOp,state3,iter3 >::type state4;\r
+    typedef typename mpl::next<iter3>::type iter4;\r
+    \r
+\r
+    typedef state4 state;\r
+    typedef iter4 iterator;\r
+};\r
+\r
+template<\r
+      int N\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct iter_fold_impl\r
+{\r
+    typedef iter_fold_impl<\r
+          4\r
+        , First\r
+        , Last\r
+        , State\r
+        , ForwardOp\r
+        > chunk_;\r
+\r
+    typedef iter_fold_impl<\r
+          ( (N - 4) < 0 ? 0 : N - 4 )\r
+        , typename chunk_::iterator\r
+        , Last\r
+        , typename chunk_::state\r
+        , ForwardOp\r
+        > res_;\r
+\r
+    typedef typename res_::state state;\r
+    typedef typename res_::iterator iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct iter_fold_impl< -1,First,Last,State,ForwardOp >\r
+    : iter_fold_impl<\r
+          -1\r
+        , typename mpl::next<First>::type\r
+        , Last\r
+        , typename apply2< ForwardOp,State,First >::type\r
+        , ForwardOp\r
+        >\r
+{\r
+};\r
+\r
+template<\r
+      typename Last\r
+    , typename State\r
+    , typename ForwardOp\r
+    >\r
+struct iter_fold_impl< -1,Last,Last,State,ForwardOp >\r
+{\r
+    typedef State state;\r
+    typedef Last iterator;\r
+};\r
+\r
+}}}\r
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 (file)
index 0000000..7786a11
--- /dev/null
@@ -0,0 +1,228 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/lambda_no_ctps.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+\r
+template<\r
+      bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false\r
+    , bool C5 = false\r
+    >\r
+struct lambda_or\r
+    : true_\r
+{\r
+};\r
+\r
+template<>\r
+struct lambda_or< false,false,false,false,false >\r
+    : false_\r
+{\r
+};\r
+\r
+template< typename Arity > struct lambda_impl\r
+{\r
+    template< typename T, typename Tag, typename Protect > struct result_\r
+    {\r
+        typedef T type;\r
+        typedef is_placeholder<T> is_le;\r
+    };\r
+};\r
+\r
+template<> struct lambda_impl< int_<1> >\r
+{\r
+    template< typename F, typename Tag, typename Protect > struct result_\r
+    {\r
+        typedef lambda< typename F::arg1, Tag, false_ > l1;\r
+        typedef typename l1::is_le is_le1;\r
+        typedef aux::lambda_or<\r
+              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value\r
+            > is_le;\r
+\r
+        typedef bind1<\r
+              typename F::rebind\r
+            , typename l1::type\r
+            > bind_;\r
+\r
+        typedef typename if_<\r
+              is_le\r
+            , if_< Protect, mpl::protect<bind_>, bind_ >\r
+            , identity<F>\r
+            >::type type_;\r
+\r
+        typedef typename type_::type type;\r
+    };\r
+};\r
+\r
+template<> struct lambda_impl< int_<2> >\r
+{\r
+    template< typename F, typename Tag, typename Protect > struct result_\r
+    {\r
+        typedef lambda< typename F::arg1, Tag, false_ > l1;\r
+        typedef lambda< typename F::arg2, Tag, false_ > l2;\r
+        \r
+        typedef typename l1::is_le is_le1;\r
+        typedef typename l2::is_le is_le2;\r
+        \r
+\r
+        typedef aux::lambda_or<\r
+              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value\r
+            > is_le;\r
+\r
+        typedef bind2<\r
+              typename F::rebind\r
+            , typename l1::type, typename l2::type\r
+            > bind_;\r
+\r
+        typedef typename if_<\r
+              is_le\r
+            , if_< Protect, mpl::protect<bind_>, bind_ >\r
+            , identity<F>\r
+            >::type type_;\r
+\r
+        typedef typename type_::type type;\r
+    };\r
+};\r
+\r
+template<> struct lambda_impl< int_<3> >\r
+{\r
+    template< typename F, typename Tag, typename Protect > struct result_\r
+    {\r
+        typedef lambda< typename F::arg1, Tag, false_ > l1;\r
+        typedef lambda< typename F::arg2, Tag, false_ > l2;\r
+        typedef lambda< typename F::arg3, Tag, false_ > l3;\r
+        \r
+        typedef typename l1::is_le is_le1;\r
+        typedef typename l2::is_le is_le2;\r
+        typedef typename l3::is_le is_le3;\r
+        \r
+\r
+        typedef aux::lambda_or<\r
+              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\r
+            > is_le;\r
+\r
+        typedef bind3<\r
+              typename F::rebind\r
+            , typename l1::type, typename l2::type, typename l3::type\r
+            > bind_;\r
+\r
+        typedef typename if_<\r
+              is_le\r
+            , if_< Protect, mpl::protect<bind_>, bind_ >\r
+            , identity<F>\r
+            >::type type_;\r
+\r
+        typedef typename type_::type type;\r
+    };\r
+};\r
+\r
+template<> struct lambda_impl< int_<4> >\r
+{\r
+    template< typename F, typename Tag, typename Protect > struct result_\r
+    {\r
+        typedef lambda< typename F::arg1, Tag, false_ > l1;\r
+        typedef lambda< typename F::arg2, Tag, false_ > l2;\r
+        typedef lambda< typename F::arg3, Tag, false_ > l3;\r
+        typedef lambda< typename F::arg4, Tag, false_ > l4;\r
+        \r
+        typedef typename l1::is_le is_le1;\r
+        typedef typename l2::is_le is_le2;\r
+        typedef typename l3::is_le is_le3;\r
+        typedef typename l4::is_le is_le4;\r
+        \r
+\r
+        typedef aux::lambda_or<\r
+              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\r
+            > is_le;\r
+\r
+        typedef bind4<\r
+              typename F::rebind\r
+            , typename l1::type, typename l2::type, typename l3::type\r
+            , typename l4::type\r
+            > bind_;\r
+\r
+        typedef typename if_<\r
+              is_le\r
+            , if_< Protect, mpl::protect<bind_>, bind_ >\r
+            , identity<F>\r
+            >::type type_;\r
+\r
+        typedef typename type_::type type;\r
+    };\r
+};\r
+\r
+template<> struct lambda_impl< int_<5> >\r
+{\r
+    template< typename F, typename Tag, typename Protect > struct result_\r
+    {\r
+        typedef lambda< typename F::arg1, Tag, false_ > l1;\r
+        typedef lambda< typename F::arg2, Tag, false_ > l2;\r
+        typedef lambda< typename F::arg3, Tag, false_ > l3;\r
+        typedef lambda< typename F::arg4, Tag, false_ > l4;\r
+        typedef lambda< typename F::arg5, Tag, false_ > l5;\r
+        \r
+        typedef typename l1::is_le is_le1;\r
+        typedef typename l2::is_le is_le2;\r
+        typedef typename l3::is_le is_le3;\r
+        typedef typename l4::is_le is_le4;\r
+        typedef typename l5::is_le is_le5;\r
+        \r
+\r
+        typedef aux::lambda_or<\r
+              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\r
+            > is_le;\r
+\r
+        typedef bind5<\r
+              typename F::rebind\r
+            , typename l1::type, typename l2::type, typename l3::type\r
+            , typename l4::type, typename l5::type\r
+            > bind_;\r
+\r
+        typedef typename if_<\r
+              is_le\r
+            , if_< Protect, mpl::protect<bind_>, bind_ >\r
+            , identity<F>\r
+            >::type type_;\r
+\r
+        typedef typename type_::type type;\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename T\r
+    , typename Tag\r
+    , typename Protect\r
+    >\r
+struct lambda\r
+{\r
+    /// Metafunction forwarding confuses MSVC 6.x\r
+    typedef typename aux::template_arity<T>::type arity_;\r
+    typedef typename aux::lambda_impl<arity_>\r
+        ::template result_< T,Tag,Protect > l_;\r
+\r
+    typedef typename l_::type type;\r
+    typedef typename l_::is_le is_le;\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(1, 3, lambda)\r
+\r
+template<\r
+      typename T\r
+    >\r
+struct is_lambda_expression\r
+    : lambda<T>::is_le\r
+{\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..a79d45b
--- /dev/null
@@ -0,0 +1,92 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/less.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct less_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< less_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< less_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct less_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct less_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct less_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct less_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct less\r
+\r
+    : less_impl<\r
+          typename less_tag<N1>::type\r
+        , typename less_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, less)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct less_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N2)::value > BOOST_MPL_AUX_VALUE_WKND(N1)::value ) >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..1a647e5
--- /dev/null
@@ -0,0 +1,92 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/less_equal.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct less_equal_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< less_equal_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< less_equal_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct less_equal_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct less_equal_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct less_equal_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct less_equal_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct less_equal\r
+\r
+    : less_equal_impl<\r
+          typename less_equal_tag<N1>::type\r
+        , typename less_equal_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct less_equal_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value <= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..1dcd58b
--- /dev/null
@@ -0,0 +1,323 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/list.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na\r
+    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na\r
+    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na\r
+    , typename T12 = na, typename T13 = na, typename T14 = na\r
+    , typename T15 = na, typename T16 = na, typename T17 = na\r
+    , typename T18 = na, typename T19 = na\r
+    >\r
+struct list;\r
+\r
+template<\r
+     \r
+    >\r
+struct list<\r
+          na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list0<  >\r
+{\r
+    typedef list0<  >::type type;\r
+};\r
+\r
+template<\r
+      typename T0\r
+    >\r
+struct list<\r
+          T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list1<T0>\r
+{\r
+    typedef typename list1<T0>::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1\r
+    >\r
+struct list<\r
+          T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list2< T0,T1 >\r
+{\r
+    typedef typename list2< T0,T1 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2\r
+    >\r
+struct list<\r
+          T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list3< T0,T1,T2 >\r
+{\r
+    typedef typename list3< T0,T1,T2 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list4< T0,T1,T2,T3 >\r
+{\r
+    typedef typename list4< T0,T1,T2,T3 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list5< T0,T1,T2,T3,T4 >\r
+{\r
+    typedef typename list5< T0,T1,T2,T3,T4 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list6< T0,T1,T2,T3,T4,T5 >\r
+{\r
+    typedef typename list6< T0,T1,T2,T3,T4,T5 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list7< T0,T1,T2,T3,T4,T5,T6 >\r
+{\r
+    typedef typename list7< T0,T1,T2,T3,T4,T5,T6 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list8< T0,T1,T2,T3,T4,T5,T6,T7 >\r
+{\r
+    typedef typename list8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >\r
+{\r
+    typedef typename list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >\r
+{\r
+    typedef typename list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >\r
+{\r
+    typedef typename list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na\r
+        , na, na, na, na\r
+        >\r
+    : list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >\r
+{\r
+    typedef typename list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na\r
+        , na, na, na, na\r
+        >\r
+    : list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >\r
+{\r
+    typedef typename list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na\r
+        , na, na, na, na\r
+        >\r
+    : list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >\r
+{\r
+    typedef typename list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na\r
+        , na, na, na, na\r
+        >\r
+    : list15<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        >\r
+{\r
+    typedef typename list15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, na, na, na, na\r
+        >\r
+    : list16<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15\r
+        >\r
+{\r
+    typedef typename list16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, na, na, na\r
+        >\r
+    : list17<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16\r
+        >\r
+{\r
+    typedef typename list17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, na, na\r
+        >\r
+    : list18<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17\r
+        >\r
+{\r
+    typedef typename list18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18\r
+    >\r
+struct list<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18, na\r
+        >\r
+    : list19<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18\r
+        >\r
+{\r
+    typedef typename list19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;\r
+};\r
+\r
+/// primary template (not a specialization!)\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    >\r
+struct list\r
+    : list20<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18, T19\r
+        >\r
+{\r
+    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;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..578474e
--- /dev/null
@@ -0,0 +1,328 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/list_c.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX\r
+    , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX\r
+    , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX\r
+    , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX\r
+    , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX\r
+    , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX\r
+    , long C18 = LONG_MAX, long C19 = LONG_MAX\r
+    >\r
+struct list_c;\r
+\r
+template<\r
+      typename T\r
+    >\r
+struct list_c<\r
+          T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list0_c<T>\r
+{\r
+    typedef typename list0_c<T>::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0\r
+    >\r
+struct list_c<\r
+          T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list1_c< T,C0 >\r
+{\r
+    typedef typename list1_c< T,C0 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1\r
+    >\r
+struct list_c<\r
+          T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list2_c< T,C0,C1 >\r
+{\r
+    typedef typename list2_c< T,C0,C1 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list3_c< T,C0,C1,C2 >\r
+{\r
+    typedef typename list3_c< T,C0,C1,C2 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list4_c< T,C0,C1,C2,C3 >\r
+{\r
+    typedef typename list4_c< T,C0,C1,C2,C3 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list5_c< T,C0,C1,C2,C3,C4 >\r
+{\r
+    typedef typename list5_c< T,C0,C1,C2,C3,C4 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list6_c< T,C0,C1,C2,C3,C4,C5 >\r
+{\r
+    typedef typename list6_c< T,C0,C1,C2,C3,C4,C5 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list7_c< T,C0,C1,C2,C3,C4,C5,C6 >\r
+{\r
+    typedef typename list7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX\r
+        >\r
+    : list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >\r
+{\r
+    typedef typename list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX\r
+        >\r
+    : list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >\r
+{\r
+    typedef typename list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX\r
+        >\r
+    : list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >\r
+{\r
+    typedef typename list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >\r
+{\r
+    typedef typename list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >\r
+{\r
+    typedef typename list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >\r
+{\r
+    typedef typename list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list14_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13\r
+        >\r
+{\r
+    typedef typename list14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list15_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        >\r
+{\r
+    typedef typename list15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list16_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15\r
+        >\r
+{\r
+    typedef typename list16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : list17_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16\r
+        >\r
+{\r
+    typedef typename list17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16, long C17\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17, LONG_MAX, LONG_MAX\r
+        >\r
+    : list18_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17\r
+        >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16, long C17, long C18\r
+    >\r
+struct list_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17, C18, LONG_MAX\r
+        >\r
+    : list19_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17, C18\r
+        >\r
+{\r
+    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;\r
+};\r
+\r
+/// primary template (not a specialization!)\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+    >\r
+struct list_c\r
+    : list20_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17, C18, C19\r
+        >\r
+{\r
+    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;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..2f22291
--- /dev/null
@@ -0,0 +1,323 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/map.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na\r
+    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na\r
+    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na\r
+    , typename T12 = na, typename T13 = na, typename T14 = na\r
+    , typename T15 = na, typename T16 = na, typename T17 = na\r
+    , typename T18 = na, typename T19 = na\r
+    >\r
+struct map;\r
+\r
+template<\r
+     \r
+    >\r
+struct map<\r
+          na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map0<  >\r
+{\r
+    typedef map0<  >::type type;\r
+};\r
+\r
+template<\r
+      typename T0\r
+    >\r
+struct map<\r
+          T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map1<T0>\r
+{\r
+    typedef typename map1<T0>::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1\r
+    >\r
+struct map<\r
+          T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map2< T0,T1 >\r
+{\r
+    typedef typename map2< T0,T1 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2\r
+    >\r
+struct map<\r
+          T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map3< T0,T1,T2 >\r
+{\r
+    typedef typename map3< T0,T1,T2 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map4< T0,T1,T2,T3 >\r
+{\r
+    typedef typename map4< T0,T1,T2,T3 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map5< T0,T1,T2,T3,T4 >\r
+{\r
+    typedef typename map5< T0,T1,T2,T3,T4 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map6< T0,T1,T2,T3,T4,T5 >\r
+{\r
+    typedef typename map6< T0,T1,T2,T3,T4,T5 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map7< T0,T1,T2,T3,T4,T5,T6 >\r
+{\r
+    typedef typename map7< T0,T1,T2,T3,T4,T5,T6 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map8< T0,T1,T2,T3,T4,T5,T6,T7 >\r
+{\r
+    typedef typename map8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >\r
+{\r
+    typedef typename map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >\r
+{\r
+    typedef typename map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >\r
+{\r
+    typedef typename map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na\r
+        , na, na, na, na\r
+        >\r
+    : map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >\r
+{\r
+    typedef typename map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na\r
+        , na, na, na, na\r
+        >\r
+    : map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >\r
+{\r
+    typedef typename map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na\r
+        , na, na, na, na\r
+        >\r
+    : map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >\r
+{\r
+    typedef typename map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na\r
+        , na, na, na, na\r
+        >\r
+    : map15<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        >\r
+{\r
+    typedef typename map15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, na, na, na, na\r
+        >\r
+    : map16<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15\r
+        >\r
+{\r
+    typedef typename map16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, na, na, na\r
+        >\r
+    : map17<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16\r
+        >\r
+{\r
+    typedef typename map17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, na, na\r
+        >\r
+    : map18<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17\r
+        >\r
+{\r
+    typedef typename map18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18\r
+    >\r
+struct map<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18, na\r
+        >\r
+    : map19<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18\r
+        >\r
+{\r
+    typedef typename map19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;\r
+};\r
+\r
+/// primary template (not a specialization!)\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    >\r
+struct map\r
+    : map20<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18, T19\r
+        >\r
+{\r
+    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;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..394e904
--- /dev/null
@@ -0,0 +1,141 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/minus.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct minus_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< minus_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< minus_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct minus_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct minus_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct minus_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct minus_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    , typename N3 = na, typename N4 = na, typename N5 = na\r
+    >\r
+struct minus\r
+    : minus< minus< minus< minus< N1,N2 >, N3>, N4>, N5>\r
+{\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3, typename N4\r
+    >\r
+struct minus< N1,N2,N3,N4,na >\r
+\r
+    : minus< minus< minus< N1,N2 >, N3>, N4>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , minus\r
+        , ( N1, N2, N3, N4, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3\r
+    >\r
+struct minus< N1,N2,N3,na,na >\r
+\r
+    : minus< minus< N1,N2 >, N3>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , minus\r
+        , ( N1, N2, N3, na, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2\r
+    >\r
+struct minus< N1,N2,na,na,na >\r
+    : minus_impl<\r
+          typename minus_tag<N1>::type\r
+        , typename minus_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , minus\r
+        , ( N1, N2, na, na, na )\r
+        )\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 5, minus)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+template<>\r
+struct minus_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : integral_c<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value\r
+                  - BOOST_MPL_AUX_VALUE_WKND(N2)::value\r
+                )\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..4d7e5d9
--- /dev/null
@@ -0,0 +1,99 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/modulus.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct modulus_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< modulus_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< modulus_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct modulus_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct modulus_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct modulus_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct modulus_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct modulus\r
+\r
+    : modulus_impl<\r
+          typename modulus_tag<N1>::type\r
+        , typename modulus_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, modulus)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+template<>\r
+struct modulus_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : integral_c<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value\r
+                  % BOOST_MPL_AUX_VALUE_WKND(N2)::value\r
+                )\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..9344fab
--- /dev/null
@@ -0,0 +1,92 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/not_equal_to.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct not_equal_to_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< not_equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct not_equal_to_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct not_equal_to_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct not_equal_to_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct not_equal_to_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct not_equal_to\r
+\r
+    : not_equal_to_impl<\r
+          typename not_equal_to_tag<N1>::type\r
+        , typename not_equal_to_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct not_equal_to_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value != BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..35136b0
--- /dev/null
@@ -0,0 +1,64 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/or.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+\r
+template< bool C_, typename T1, typename T2, typename T3, typename T4 >\r
+struct or_impl\r
+    : true_\r
+{\r
+};\r
+\r
+template< typename T1, typename T2, typename T3, typename T4 >\r
+struct or_impl< false,T1,T2,T3,T4 >\r
+    : or_impl<\r
+          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value\r
+        , T2, T3, T4\r
+        , false_\r
+        >\r
+{\r
+};\r
+\r
+template<>\r
+struct or_impl<\r
+          false\r
+        , false_, false_, false_, false_\r
+        >\r
+    : false_\r
+{\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(T1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(T2)\r
+    , typename T3 = false_, typename T4 = false_, typename T5 = false_\r
+    >\r
+struct or_\r
+\r
+    : aux::or_impl<\r
+          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value\r
+        , T2, T3, T4, T5\r
+        >\r
+\r
+{\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(\r
+      2\r
+    , 5\r
+    , or_\r
+    )\r
+\r
+}}\r
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 (file)
index 0000000..df5cb1d
--- /dev/null
@@ -0,0 +1,105 @@
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+// Copyright Peter Dimov 2001-2003\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/placeholders.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+typedef arg< -1 > _;\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+namespace boost { namespace mpl {\r
+\r
+BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_)\r
+\r
+namespace placeholders {\r
+using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_;\r
+}\r
+\r
+}}\r
+\r
+/// agurt, 17/mar/02: one more placeholder for the last 'apply#' \r
+/// specialization\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+typedef arg<1> _1;\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+namespace boost { namespace mpl {\r
+\r
+BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1)\r
+\r
+namespace placeholders {\r
+using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1;\r
+}\r
+\r
+}}\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+typedef arg<2> _2;\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+namespace boost { namespace mpl {\r
+\r
+BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2)\r
+\r
+namespace placeholders {\r
+using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2;\r
+}\r
+\r
+}}\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+typedef arg<3> _3;\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+namespace boost { namespace mpl {\r
+\r
+BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3)\r
+\r
+namespace placeholders {\r
+using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3;\r
+}\r
+\r
+}}\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+typedef arg<4> _4;\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+namespace boost { namespace mpl {\r
+\r
+BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4)\r
+\r
+namespace placeholders {\r
+using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4;\r
+}\r
+\r
+}}\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+typedef arg<5> _5;\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+namespace boost { namespace mpl {\r
+\r
+BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5)\r
+\r
+namespace placeholders {\r
+using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5;\r
+}\r
+\r
+}}\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+typedef arg<6> _6;\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+namespace boost { namespace mpl {\r
+\r
+BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6)\r
+\r
+namespace placeholders {\r
+using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6;\r
+}\r
+\r
+}}\r
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 (file)
index 0000000..461d470
--- /dev/null
@@ -0,0 +1,141 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/plus.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct plus_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< plus_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< plus_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct plus_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct plus_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct plus_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct plus_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    , typename N3 = na, typename N4 = na, typename N5 = na\r
+    >\r
+struct plus\r
+    : plus< plus< plus< plus< N1,N2 >, N3>, N4>, N5>\r
+{\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3, typename N4\r
+    >\r
+struct plus< N1,N2,N3,N4,na >\r
+\r
+    : plus< plus< plus< N1,N2 >, N3>, N4>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , plus\r
+        , ( N1, N2, N3, N4, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3\r
+    >\r
+struct plus< N1,N2,N3,na,na >\r
+\r
+    : plus< plus< N1,N2 >, N3>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , plus\r
+        , ( N1, N2, N3, na, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2\r
+    >\r
+struct plus< N1,N2,na,na,na >\r
+    : plus_impl<\r
+          typename plus_tag<N1>::type\r
+        , typename plus_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , plus\r
+        , ( N1, N2, na, na, na )\r
+        )\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 5, plus)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+template<>\r
+struct plus_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : integral_c<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value\r
+                  + BOOST_MPL_AUX_VALUE_WKND(N2)::value\r
+                )\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..4b4e539
--- /dev/null
@@ -0,0 +1,123 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/quote.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template< typename T, bool has_type_ >\r
+struct quote_impl\r
+    : T\r
+{\r
+};\r
+\r
+template< typename T >\r
+struct quote_impl< T,false >\r
+{\r
+    typedef T type;\r
+};\r
+\r
+template<\r
+      template< typename P1 > class F\r
+    , typename Tag = void_\r
+    >\r
+struct quote1\r
+{\r
+    template< typename U1 > struct apply\r
+\r
+        : quote_impl<\r
+              F<U1>\r
+            , aux::has_type< F<U1> >::value\r
+            >\r
+\r
+    {\r
+    };\r
+};\r
+\r
+template<\r
+      template< typename P1, typename P2 > class F\r
+    , typename Tag = void_\r
+    >\r
+struct quote2\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+\r
+        : quote_impl<\r
+              F< U1,U2 >\r
+            , aux::has_type< F< U1,U2 > >::value\r
+            >\r
+\r
+    {\r
+    };\r
+};\r
+\r
+template<\r
+      template< typename P1, typename P2, typename P3 > class F\r
+    , typename Tag = void_\r
+    >\r
+struct quote3\r
+{\r
+    template< typename U1, typename U2, typename U3 > struct apply\r
+\r
+        : quote_impl<\r
+              F< U1,U2,U3 >\r
+            , aux::has_type< F< U1,U2,U3 > >::value\r
+            >\r
+\r
+    {\r
+    };\r
+};\r
+\r
+template<\r
+      template< typename P1, typename P2, typename P3, typename P4 > class F\r
+    , typename Tag = void_\r
+    >\r
+struct quote4\r
+{\r
+    template<\r
+          typename U1, typename U2, typename U3, typename U4\r
+        >\r
+    struct apply\r
+\r
+        : quote_impl<\r
+              F< U1,U2,U3,U4 >\r
+            , aux::has_type< F< U1,U2,U3,U4 > >::value\r
+            >\r
+\r
+    {\r
+    };\r
+};\r
+\r
+template<\r
+      template<\r
+          typename P1, typename P2, typename P3, typename P4\r
+        , typename P5\r
+        >\r
+      class F\r
+    , typename Tag = void_\r
+    >\r
+struct quote5\r
+{\r
+    template<\r
+          typename U1, typename U2, typename U3, typename U4\r
+        , typename U5\r
+        >\r
+    struct apply\r
+\r
+        : quote_impl<\r
+              F< U1,U2,U3,U4,U5 >\r
+            , aux::has_type< F< U1,U2,U3,U4,U5 > >::value\r
+            >\r
+\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..1c4364a
--- /dev/null
@@ -0,0 +1,231 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/reverse_fold_impl.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+/// forward declaration\r
+\r
+template<\r
+      long N\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_fold_impl;\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_fold_impl< 0,First,Last,State,BackwardOp,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State fwd_state0;\r
+    typedef fwd_state0 bkwd_state0;\r
+    typedef bkwd_state0 state;\r
+    typedef iter0 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_fold_impl< 1,First,Last,State,BackwardOp,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State fwd_state0;\r
+    typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    \r
+\r
+    typedef fwd_state1 bkwd_state1;\r
+    typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;\r
+    typedef bkwd_state0 state;\r
+    typedef iter1 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_fold_impl< 2,First,Last,State,BackwardOp,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State fwd_state0;\r
+    typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;\r
+    typedef typename mpl::next<iter1>::type iter2;\r
+    \r
+\r
+    typedef fwd_state2 bkwd_state2;\r
+    typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;\r
+    typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;\r
+    \r
+\r
+    typedef bkwd_state0 state;\r
+    typedef iter2 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_fold_impl< 3,First,Last,State,BackwardOp,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State fwd_state0;\r
+    typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;\r
+    typedef typename mpl::next<iter1>::type iter2;\r
+    typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;\r
+    typedef typename mpl::next<iter2>::type iter3;\r
+    \r
+\r
+    typedef fwd_state3 bkwd_state3;\r
+    typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;\r
+    typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;\r
+    typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;\r
+    \r
+\r
+    typedef bkwd_state0 state;\r
+    typedef iter3 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_fold_impl< 4,First,Last,State,BackwardOp,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State fwd_state0;\r
+    typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;\r
+    typedef typename mpl::next<iter1>::type iter2;\r
+    typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;\r
+    typedef typename mpl::next<iter2>::type iter3;\r
+    typedef typename apply2< ForwardOp, fwd_state3, typename deref<iter3>::type >::type fwd_state4;\r
+    typedef typename mpl::next<iter3>::type iter4;\r
+    \r
+\r
+    typedef fwd_state4 bkwd_state4;\r
+    typedef typename apply2< BackwardOp, bkwd_state4, typename deref<iter3>::type >::type bkwd_state3;\r
+    typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;\r
+    typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;\r
+    typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;\r
+    \r
+\r
+    typedef bkwd_state0 state;\r
+    typedef iter4 iterator;\r
+};\r
+\r
+template<\r
+      long N\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_fold_impl\r
+{\r
+    typedef First iter0;\r
+    typedef State fwd_state0;\r
+    typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;\r
+    typedef typename mpl::next<iter1>::type iter2;\r
+    typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;\r
+    typedef typename mpl::next<iter2>::type iter3;\r
+    typedef typename apply2< ForwardOp, fwd_state3, typename deref<iter3>::type >::type fwd_state4;\r
+    typedef typename mpl::next<iter3>::type iter4;\r
+    \r
+\r
+    typedef reverse_fold_impl<\r
+          ( (N - 4) < 0 ? 0 : N - 4 )\r
+        , iter4\r
+        , Last\r
+        , fwd_state4\r
+        , BackwardOp\r
+        , ForwardOp\r
+        > nested_chunk;\r
+\r
+    typedef typename nested_chunk::state bkwd_state4;\r
+    typedef typename apply2< BackwardOp, bkwd_state4, typename deref<iter3>::type >::type bkwd_state3;\r
+    typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;\r
+    typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;\r
+    typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;\r
+    \r
+\r
+    typedef bkwd_state0 state;\r
+    typedef typename nested_chunk::iterator iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_fold_impl< -1,First,Last,State,BackwardOp,ForwardOp >\r
+{\r
+    typedef reverse_fold_impl<\r
+          -1\r
+        , typename mpl::next<First>::type\r
+        , Last\r
+        , typename apply2<ForwardOp,State, typename deref<First>::type>::type\r
+        , BackwardOp\r
+        , ForwardOp\r
+        > nested_step;\r
+\r
+    typedef typename apply2<\r
+          BackwardOp\r
+        , typename nested_step::state\r
+        , typename deref<First>::type\r
+        >::type state;\r
+\r
+    typedef typename nested_step::iterator iterator;\r
+};\r
+\r
+template<\r
+      typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_fold_impl< -1,Last,Last,State,BackwardOp,ForwardOp >\r
+{\r
+    typedef State state;\r
+    typedef Last iterator;\r
+};\r
+\r
+}}}\r
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 (file)
index 0000000..f06c88b
--- /dev/null
@@ -0,0 +1,231 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/reverse_iter_fold_impl.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+/// forward declaration\r
+\r
+template<\r
+      long N\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_iter_fold_impl;\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_iter_fold_impl< 0,First,Last,State,BackwardOp,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State fwd_state0;\r
+    typedef fwd_state0 bkwd_state0;\r
+    typedef bkwd_state0 state;\r
+    typedef iter0 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_iter_fold_impl< 1,First,Last,State,BackwardOp,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State fwd_state0;\r
+    typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    \r
+\r
+    typedef fwd_state1 bkwd_state1;\r
+    typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;\r
+    typedef bkwd_state0 state;\r
+    typedef iter1 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_iter_fold_impl< 2,First,Last,State,BackwardOp,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State fwd_state0;\r
+    typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;\r
+    typedef typename mpl::next<iter1>::type iter2;\r
+    \r
+\r
+    typedef fwd_state2 bkwd_state2;\r
+    typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;\r
+    typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;\r
+    \r
+\r
+    typedef bkwd_state0 state;\r
+    typedef iter2 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_iter_fold_impl< 3,First,Last,State,BackwardOp,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State fwd_state0;\r
+    typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;\r
+    typedef typename mpl::next<iter1>::type iter2;\r
+    typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;\r
+    typedef typename mpl::next<iter2>::type iter3;\r
+    \r
+\r
+    typedef fwd_state3 bkwd_state3;\r
+    typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;\r
+    typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;\r
+    typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;\r
+    \r
+\r
+    typedef bkwd_state0 state;\r
+    typedef iter3 iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_iter_fold_impl< 4,First,Last,State,BackwardOp,ForwardOp >\r
+{\r
+    typedef First iter0;\r
+    typedef State fwd_state0;\r
+    typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;\r
+    typedef typename mpl::next<iter1>::type iter2;\r
+    typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;\r
+    typedef typename mpl::next<iter2>::type iter3;\r
+    typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4;\r
+    typedef typename mpl::next<iter3>::type iter4;\r
+    \r
+\r
+    typedef fwd_state4 bkwd_state4;\r
+    typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3;\r
+    typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;\r
+    typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;\r
+    typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;\r
+    \r
+\r
+    typedef bkwd_state0 state;\r
+    typedef iter4 iterator;\r
+};\r
+\r
+template<\r
+      long N\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_iter_fold_impl\r
+{\r
+    typedef First iter0;\r
+    typedef State fwd_state0;\r
+    typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;\r
+    typedef typename mpl::next<iter0>::type iter1;\r
+    typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;\r
+    typedef typename mpl::next<iter1>::type iter2;\r
+    typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;\r
+    typedef typename mpl::next<iter2>::type iter3;\r
+    typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4;\r
+    typedef typename mpl::next<iter3>::type iter4;\r
+    \r
+\r
+    typedef reverse_iter_fold_impl<\r
+          ( (N - 4) < 0 ? 0 : N - 4 )\r
+        , iter4\r
+        , Last\r
+        , fwd_state4\r
+        , BackwardOp\r
+        , ForwardOp\r
+        > nested_chunk;\r
+\r
+    typedef typename nested_chunk::state bkwd_state4;\r
+    typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3;\r
+    typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;\r
+    typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;\r
+    typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;\r
+    \r
+\r
+    typedef bkwd_state0 state;\r
+    typedef typename nested_chunk::iterator iterator;\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_iter_fold_impl< -1,First,Last,State,BackwardOp,ForwardOp >\r
+{\r
+    typedef reverse_iter_fold_impl<\r
+          -1\r
+        , typename mpl::next<First>::type\r
+        , Last\r
+        , typename apply2< ForwardOp,State,First >::type\r
+        , BackwardOp\r
+        , ForwardOp\r
+        > nested_step;\r
+\r
+    typedef typename apply2<\r
+          BackwardOp\r
+        , typename nested_step::state\r
+        , First\r
+        >::type state;\r
+\r
+    typedef typename nested_step::iterator iterator;\r
+};\r
+\r
+template<\r
+      typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct reverse_iter_fold_impl< -1,Last,Last,State,BackwardOp,ForwardOp >\r
+{\r
+    typedef State state;\r
+    typedef Last iterator;\r
+};\r
+\r
+}}}\r
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 (file)
index 0000000..b7e3f0b
--- /dev/null
@@ -0,0 +1,323 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/set.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na\r
+    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na\r
+    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na\r
+    , typename T12 = na, typename T13 = na, typename T14 = na\r
+    , typename T15 = na, typename T16 = na, typename T17 = na\r
+    , typename T18 = na, typename T19 = na\r
+    >\r
+struct set;\r
+\r
+template<\r
+     \r
+    >\r
+struct set<\r
+          na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set0<  >\r
+{\r
+    typedef set0<  >::type type;\r
+};\r
+\r
+template<\r
+      typename T0\r
+    >\r
+struct set<\r
+          T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set1<T0>\r
+{\r
+    typedef typename set1<T0>::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1\r
+    >\r
+struct set<\r
+          T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set2< T0,T1 >\r
+{\r
+    typedef typename set2< T0,T1 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2\r
+    >\r
+struct set<\r
+          T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set3< T0,T1,T2 >\r
+{\r
+    typedef typename set3< T0,T1,T2 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set4< T0,T1,T2,T3 >\r
+{\r
+    typedef typename set4< T0,T1,T2,T3 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set5< T0,T1,T2,T3,T4 >\r
+{\r
+    typedef typename set5< T0,T1,T2,T3,T4 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set6< T0,T1,T2,T3,T4,T5 >\r
+{\r
+    typedef typename set6< T0,T1,T2,T3,T4,T5 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set7< T0,T1,T2,T3,T4,T5,T6 >\r
+{\r
+    typedef typename set7< T0,T1,T2,T3,T4,T5,T6 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set8< T0,T1,T2,T3,T4,T5,T6,T7 >\r
+{\r
+    typedef typename set8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >\r
+{\r
+    typedef typename set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >\r
+{\r
+    typedef typename set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >\r
+{\r
+    typedef typename set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na\r
+        , na, na, na, na\r
+        >\r
+    : set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >\r
+{\r
+    typedef typename set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na\r
+        , na, na, na, na\r
+        >\r
+    : set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >\r
+{\r
+    typedef typename set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na\r
+        , na, na, na, na\r
+        >\r
+    : set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >\r
+{\r
+    typedef typename set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na\r
+        , na, na, na, na\r
+        >\r
+    : set15<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        >\r
+{\r
+    typedef typename set15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, na, na, na, na\r
+        >\r
+    : set16<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15\r
+        >\r
+{\r
+    typedef typename set16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, na, na, na\r
+        >\r
+    : set17<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16\r
+        >\r
+{\r
+    typedef typename set17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, na, na\r
+        >\r
+    : set18<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17\r
+        >\r
+{\r
+    typedef typename set18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18\r
+    >\r
+struct set<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18, na\r
+        >\r
+    : set19<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18\r
+        >\r
+{\r
+    typedef typename set19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;\r
+};\r
+\r
+/// primary template (not a specialization!)\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    >\r
+struct set\r
+    : set20<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18, T19\r
+        >\r
+{\r
+    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;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..acdf68b
--- /dev/null
@@ -0,0 +1,328 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/set_c.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX\r
+    , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX\r
+    , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX\r
+    , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX\r
+    , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX\r
+    , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX\r
+    , long C18 = LONG_MAX, long C19 = LONG_MAX\r
+    >\r
+struct set_c;\r
+\r
+template<\r
+      typename T\r
+    >\r
+struct set_c<\r
+          T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set0_c<T>\r
+{\r
+    typedef typename set0_c<T>::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0\r
+    >\r
+struct set_c<\r
+          T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set1_c< T,C0 >\r
+{\r
+    typedef typename set1_c< T,C0 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1\r
+    >\r
+struct set_c<\r
+          T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set2_c< T,C0,C1 >\r
+{\r
+    typedef typename set2_c< T,C0,C1 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set3_c< T,C0,C1,C2 >\r
+{\r
+    typedef typename set3_c< T,C0,C1,C2 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set4_c< T,C0,C1,C2,C3 >\r
+{\r
+    typedef typename set4_c< T,C0,C1,C2,C3 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set5_c< T,C0,C1,C2,C3,C4 >\r
+{\r
+    typedef typename set5_c< T,C0,C1,C2,C3,C4 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set6_c< T,C0,C1,C2,C3,C4,C5 >\r
+{\r
+    typedef typename set6_c< T,C0,C1,C2,C3,C4,C5 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set7_c< T,C0,C1,C2,C3,C4,C5,C6 >\r
+{\r
+    typedef typename set7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX\r
+        >\r
+    : set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >\r
+{\r
+    typedef typename set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX\r
+        >\r
+    : set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >\r
+{\r
+    typedef typename set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX\r
+        >\r
+    : set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >\r
+{\r
+    typedef typename set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >\r
+{\r
+    typedef typename set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >\r
+{\r
+    typedef typename set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >\r
+{\r
+    typedef typename set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set14_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13\r
+        >\r
+{\r
+    typedef typename set14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set15_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        >\r
+{\r
+    typedef typename set15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set16_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15\r
+        >\r
+{\r
+    typedef typename set16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : set17_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16\r
+        >\r
+{\r
+    typedef typename set17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16, long C17\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17, LONG_MAX, LONG_MAX\r
+        >\r
+    : set18_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17\r
+        >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16, long C17, long C18\r
+    >\r
+struct set_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17, C18, LONG_MAX\r
+        >\r
+    : set19_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17, C18\r
+        >\r
+{\r
+    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;\r
+};\r
+\r
+/// primary template (not a specialization!)\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+    >\r
+struct set_c\r
+    : set20_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17, C18, C19\r
+        >\r
+{\r
+    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;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..376c5d5
--- /dev/null
@@ -0,0 +1,97 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright Jaap Suter 2003\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/shift_left.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct shift_left_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< shift_left_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< shift_left_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct shift_left_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct shift_left_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct shift_left_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct shift_left_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct shift_left\r
+\r
+    : shift_left_impl<\r
+          typename shift_left_tag<N1>::type\r
+        , typename shift_left_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_left)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+template<>\r
+struct shift_left_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N, typename S > struct apply\r
+\r
+        : integral_c<\r
+              typename N::value_type\r
+            , ( BOOST_MPL_AUX_VALUE_WKND(N)::value\r
+                  << BOOST_MPL_AUX_VALUE_WKND(S)::value\r
+                )\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..2abc42a
--- /dev/null
@@ -0,0 +1,97 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright Jaap Suter 2003\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/shift_right.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct shift_right_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< shift_right_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< shift_right_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct shift_right_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct shift_right_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct shift_right_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct shift_right_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct shift_right\r
+\r
+    : shift_right_impl<\r
+          typename shift_right_tag<N1>::type\r
+        , typename shift_right_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+template<>\r
+struct shift_right_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N, typename S > struct apply\r
+\r
+        : integral_c<\r
+              typename N::value_type\r
+            , ( BOOST_MPL_AUX_VALUE_WKND(N)::value\r
+                  >> BOOST_MPL_AUX_VALUE_WKND(S)::value\r
+                )\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..03f2dbd
--- /dev/null
@@ -0,0 +1,11 @@
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/aux_/template_arity.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
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 (file)
index 0000000..685f246
--- /dev/null
@@ -0,0 +1,141 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/times.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Tag1\r
+    , typename Tag2\r
+    >\r
+struct times_impl\r
+    : if_c<\r
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
+            )\r
+\r
+        , aux::cast2nd_impl< times_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
+        , aux::cast1st_impl< times_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
+        >::type\r
+{\r
+};\r
+\r
+/// for Digital Mars C++/compilers with no CTPS/TTP support\r
+template<> struct times_impl< na,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct times_impl< na,Tag >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename Tag > struct times_impl< Tag,na >\r
+{\r
+    template< typename U1, typename U2 > struct apply\r
+    {\r
+        typedef apply type;\r
+        BOOST_STATIC_CONSTANT(int, value  = 0);\r
+    };\r
+};\r
+\r
+template< typename T > struct times_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    , typename N3 = na, typename N4 = na, typename N5 = na\r
+    >\r
+struct times\r
+    : times< times< times< times< N1,N2 >, N3>, N4>, N5>\r
+{\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3, typename N4\r
+    >\r
+struct times< N1,N2,N3,N4,na >\r
+\r
+    : times< times< times< N1,N2 >, N3>, N4>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , times\r
+        , ( N1, N2, N3, N4, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2, typename N3\r
+    >\r
+struct times< N1,N2,N3,na,na >\r
+\r
+    : times< times< N1,N2 >, N3>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , times\r
+        , ( N1, N2, N3, na, na )\r
+        )\r
+};\r
+\r
+template<\r
+      typename N1, typename N2\r
+    >\r
+struct times< N1,N2,na,na,na >\r
+    : times_impl<\r
+          typename times_tag<N1>::type\r
+        , typename times_tag<N2>::type\r
+        >::template apply< N1,N2 >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
+          5\r
+        , times\r
+        , ( N1, N2, na, na, na )\r
+        )\r
+\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC2(2, 5, times)\r
+\r
+}}\r
+\r
+namespace boost { namespace mpl {\r
+template<>\r
+struct times_impl< integral_c_tag,integral_c_tag >\r
+{\r
+    template< typename N1, typename N2 > struct apply\r
+\r
+        : integral_c<\r
+              typename aux::largest_int<\r
+                  typename N1::value_type\r
+                , typename N2::value_type\r
+                >::type\r
+            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value\r
+                  * BOOST_MPL_AUX_VALUE_WKND(N2)::value\r
+                )\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..7f8c577
--- /dev/null
@@ -0,0 +1,94 @@
+\r
+// Copyright Aleksey Gurtovoy 2002-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/unpack_args.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+\r
+template< int size, typename F, typename Args >\r
+struct unpack_args_impl;\r
+\r
+template< typename F, typename Args >\r
+struct unpack_args_impl< 0,F,Args >\r
+    : apply0<\r
+          F\r
+        >\r
+{\r
+};\r
+\r
+template< typename F, typename Args >\r
+struct unpack_args_impl< 1,F,Args >\r
+    : apply1<\r
+          F\r
+        , typename at_c< Args,0 >::type\r
+        >\r
+{\r
+};\r
+\r
+template< typename F, typename Args >\r
+struct unpack_args_impl< 2,F,Args >\r
+    : apply2<\r
+          F\r
+        , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type\r
+        >\r
+{\r
+};\r
+\r
+template< typename F, typename Args >\r
+struct unpack_args_impl< 3,F,Args >\r
+    : apply3<\r
+          F\r
+        , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type\r
+        , typename at_c< Args,2 >::type\r
+        >\r
+{\r
+};\r
+\r
+template< typename F, typename Args >\r
+struct unpack_args_impl< 4,F,Args >\r
+    : apply4<\r
+          F\r
+        , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type\r
+        , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type\r
+        >\r
+{\r
+};\r
+\r
+template< typename F, typename Args >\r
+struct unpack_args_impl< 5,F,Args >\r
+    : apply5<\r
+          F\r
+        , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type\r
+        , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type\r
+        , typename at_c< Args,4 >::type\r
+        >\r
+{\r
+};\r
+\r
+}\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct unpack_args\r
+{\r
+    template< typename Args > struct apply\r
+\r
+        : aux::unpack_args_impl< size<Args>::value,F, Args >\r
+\r
+    {\r
+    };\r
+};\r
+\r
+BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args)\r
+\r
+}}\r
+\r
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 (file)
index 0000000..d1da8b1
--- /dev/null
@@ -0,0 +1,323 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/vector.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na\r
+    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na\r
+    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na\r
+    , typename T12 = na, typename T13 = na, typename T14 = na\r
+    , typename T15 = na, typename T16 = na, typename T17 = na\r
+    , typename T18 = na, typename T19 = na\r
+    >\r
+struct vector;\r
+\r
+template<\r
+     \r
+    >\r
+struct vector<\r
+          na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector0<  >\r
+{\r
+    typedef vector0<  >::type type;\r
+};\r
+\r
+template<\r
+      typename T0\r
+    >\r
+struct vector<\r
+          T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector1<T0>\r
+{\r
+    typedef typename vector1<T0>::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1\r
+    >\r
+struct vector<\r
+          T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector2< T0,T1 >\r
+{\r
+    typedef typename vector2< T0,T1 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2\r
+    >\r
+struct vector<\r
+          T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector3< T0,T1,T2 >\r
+{\r
+    typedef typename vector3< T0,T1,T2 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector4< T0,T1,T2,T3 >\r
+{\r
+    typedef typename vector4< T0,T1,T2,T3 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector5< T0,T1,T2,T3,T4 >\r
+{\r
+    typedef typename vector5< T0,T1,T2,T3,T4 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector6< T0,T1,T2,T3,T4,T5 >\r
+{\r
+    typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector7< T0,T1,T2,T3,T4,T5,T6 >\r
+{\r
+    typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector8< T0,T1,T2,T3,T4,T5,T6,T7 >\r
+{\r
+    typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >\r
+{\r
+    typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >\r
+{\r
+    typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na\r
+        , na, na, na\r
+        >\r
+    : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >\r
+{\r
+    typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na\r
+        , na, na, na, na\r
+        >\r
+    : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >\r
+{\r
+    typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na\r
+        , na, na, na, na\r
+        >\r
+    : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >\r
+{\r
+    typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na\r
+        , na, na, na, na\r
+        >\r
+    : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >\r
+{\r
+    typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na\r
+        , na, na, na, na\r
+        >\r
+    : vector15<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        >\r
+{\r
+    typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, na, na, na, na\r
+        >\r
+    : vector16<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15\r
+        >\r
+{\r
+    typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, na, na, na\r
+        >\r
+    : vector17<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16\r
+        >\r
+{\r
+    typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, na, na\r
+        >\r
+    : vector18<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17\r
+        >\r
+{\r
+    typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18\r
+    >\r
+struct vector<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18, na\r
+        >\r
+    : vector19<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18\r
+        >\r
+{\r
+    typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;\r
+};\r
+\r
+/// primary template (not a specialization!)\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    >\r
+struct vector\r
+    : vector20<\r
+          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
+        , T15, T16, T17, T18, T19\r
+        >\r
+{\r
+    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;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..ce33340
--- /dev/null
@@ -0,0 +1,309 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/vector_c.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX\r
+    , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX\r
+    , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX\r
+    , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX\r
+    , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX\r
+    , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX\r
+    , long C18 = LONG_MAX, long C19 = LONG_MAX\r
+    >\r
+struct vector_c;\r
+\r
+template<\r
+      typename T\r
+    >\r
+struct vector_c<\r
+          T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : vector0_c<T>\r
+{\r
+    typedef typename vector0_c<T>::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0\r
+    >\r
+struct vector_c<\r
+          T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : vector1_c< T, T(C0) >\r
+{\r
+    typedef typename vector1_c< T, T(C0) >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : vector2_c< T, T(C0), T(C1) >\r
+{\r
+    typedef typename vector2_c< T, T(C0), T(C1) >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : vector3_c< T, T(C0), T(C1), T(C2) >\r
+{\r
+    typedef typename vector3_c< T, T(C0), T(C1), T(C2) >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : vector4_c< T, T(C0), T(C1), T(C2), T(C3) >\r
+{\r
+    typedef typename vector4_c< T, T(C0), T(C1), T(C2), T(C3) >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) >\r
+{\r
+    typedef typename vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) >\r
+{\r
+    typedef typename vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) >\r
+{\r
+    typedef typename vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX\r
+        >\r
+    : vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) >\r
+{\r
+    typedef typename vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) >::type type;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX\r
+        >\r
+    : vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        , LONG_MAX\r
+        >\r
+    : vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : 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) >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : 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) >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : 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) >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : 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) >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : 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) >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : 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) >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX\r
+        >\r
+    : 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) >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16, long C17\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17, LONG_MAX, LONG_MAX\r
+        >\r
+    : 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) >\r
+{\r
+    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;\r
+};\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16, long C17, long C18\r
+    >\r
+struct vector_c<\r
+          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
+        , C15, C16, C17, C18, LONG_MAX\r
+        >\r
+    : 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) >\r
+{\r
+    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;\r
+};\r
+\r
+/// primary template (not a specialization!)\r
+\r
+template<\r
+      typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
+    , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
+    , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
+    >\r
+struct vector_c\r
+    : 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) >\r
+{\r
+    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;\r
+};\r
+\r
+}}\r
+\r
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 (file)
index 0000000..727e06b
--- /dev/null
@@ -0,0 +1,65 @@
+\r
+#ifndef BOOST_MPL_AUX_PREPROCESSOR_ADD_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_PREPROCESSOR_ADD_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2002-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: add.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/aux_/config/preprocessor.hpp>\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES)\r
+\r
+#   include <boost/mpl/aux_/preprocessor/tuple.hpp>\r
+\r
+#if defined(BOOST_MPL_CFG_BROKEN_PP_MACRO_EXPANSION)\r
+#   include <boost/preprocessor/cat.hpp>\r
+\r
+#   define BOOST_MPL_PP_ADD(i,j) \\r
+    BOOST_MPL_PP_ADD_DELAY(i,j) \\r
+    /**/\r
+\r
+#   define BOOST_MPL_PP_ADD_DELAY(i,j) \\r
+    BOOST_PP_CAT(BOOST_MPL_PP_TUPLE_11_ELEM_##i,BOOST_MPL_PP_ADD_##j) \\r
+    /**/\r
+#else\r
+#   define BOOST_MPL_PP_ADD(i,j) \\r
+    BOOST_MPL_PP_ADD_DELAY(i,j) \\r
+    /**/\r
+\r
+#   define BOOST_MPL_PP_ADD_DELAY(i,j) \\r
+    BOOST_MPL_PP_TUPLE_11_ELEM_##i BOOST_MPL_PP_ADD_##j \\r
+    /**/\r
+#endif\r
+\r
+#   define BOOST_MPL_PP_ADD_0 (0,1,2,3,4,5,6,7,8,9,10)\r
+#   define BOOST_MPL_PP_ADD_1 (1,2,3,4,5,6,7,8,9,10,0)\r
+#   define BOOST_MPL_PP_ADD_2 (2,3,4,5,6,7,8,9,10,0,0)\r
+#   define BOOST_MPL_PP_ADD_3 (3,4,5,6,7,8,9,10,0,0,0)\r
+#   define BOOST_MPL_PP_ADD_4 (4,5,6,7,8,9,10,0,0,0,0)\r
+#   define BOOST_MPL_PP_ADD_5 (5,6,7,8,9,10,0,0,0,0,0)\r
+#   define BOOST_MPL_PP_ADD_6 (6,7,8,9,10,0,0,0,0,0,0)\r
+#   define BOOST_MPL_PP_ADD_7 (7,8,9,10,0,0,0,0,0,0,0)\r
+#   define BOOST_MPL_PP_ADD_8 (8,9,10,0,0,0,0,0,0,0,0)\r
+#   define BOOST_MPL_PP_ADD_9 (9,10,0,0,0,0,0,0,0,0,0)\r
+#   define BOOST_MPL_PP_ADD_10 (10,0,0,0,0,0,0,0,0,0,0)\r
+\r
+#else\r
+\r
+#   include <boost/preprocessor/arithmetic/add.hpp>\r
+\r
+#   define BOOST_MPL_PP_ADD(i,j) \\r
+    BOOST_PP_ADD(i,j) \\r
+    /**/\r
+    \r
+#endif \r
+\r
+#endif // BOOST_MPL_AUX_PREPROCESSOR_ADD_HPP_INCLUDED\r
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 (file)
index 0000000..a40b85e
--- /dev/null
@@ -0,0 +1,105 @@
+\r
+#ifndef BOOST_MPL_AUX_PREPROCESSOR_DEF_PARAMS_TAIL_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_PREPROCESSOR_DEF_PARAMS_TAIL_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: def_params_tail.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/limits/arity.hpp>\r
+#include <boost/mpl/aux_/config/dtp.hpp>\r
+#include <boost/mpl/aux_/config/preprocessor.hpp>\r
+\r
+#include <boost/preprocessor/comma_if.hpp>\r
+#include <boost/preprocessor/logical/and.hpp>\r
+#include <boost/preprocessor/identity.hpp>\r
+#include <boost/preprocessor/empty.hpp>\r
+\r
+// BOOST_MPL_PP_DEF_PARAMS_TAIL(1,T,value): , T1 = value, .., Tn = value\r
+// BOOST_MPL_PP_DEF_PARAMS_TAIL(2,T,value): , T2 = value, .., Tn = value\r
+// BOOST_MPL_PP_DEF_PARAMS_TAIL(n,T,value): <nothing>\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES)\r
+\r
+#   include <boost/mpl/aux_/preprocessor/filter_params.hpp>\r
+#   include <boost/mpl/aux_/preprocessor/sub.hpp>\r
+\r
+#   define BOOST_MPL_PP_DEF_PARAMS_TAIL_IMPL(i, param, value_func) \\r
+    BOOST_MPL_PP_DEF_PARAMS_TAIL_DELAY_1( \\r
+          i \\r
+        , BOOST_MPL_PP_SUB(BOOST_MPL_LIMIT_METAFUNCTION_ARITY,i) \\r
+        , param \\r
+        , value_func \\r
+        ) \\r
+    /**/\r
+\r
+#   define BOOST_MPL_PP_DEF_PARAMS_TAIL_DELAY_1(i, n, param, value_func) \\r
+    BOOST_MPL_PP_DEF_PARAMS_TAIL_DELAY_2(i,n,param,value_func) \\r
+    /**/\r
+\r
+#   define BOOST_MPL_PP_DEF_PARAMS_TAIL_DELAY_2(i, n, param, value_func) \\r
+    BOOST_PP_COMMA_IF(BOOST_PP_AND(i,n)) \\r
+    BOOST_MPL_PP_DEF_PARAMS_TAIL_##i(n,param,value_func) \\r
+    /**/\r
+\r
+#   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())\r
+#   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)\r
+#   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)\r
+#   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)\r
+#   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)\r
+#   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)\r
+#   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)\r
+#   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)\r
+#   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)\r
+#   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)\r
+\r
+#else\r
+\r
+#   include <boost/preprocessor/arithmetic/add.hpp>\r
+#   include <boost/preprocessor/arithmetic/sub.hpp>\r
+#   include <boost/preprocessor/inc.hpp>\r
+#   include <boost/preprocessor/tuple/elem.hpp>\r
+#   include <boost/preprocessor/repeat.hpp>\r
+#   include <boost/preprocessor/cat.hpp>\r
+\r
+#   define BOOST_MPL_PP_AUX_TAIL_PARAM_FUNC(unused, i, op) \\r
+    , BOOST_PP_CAT( \\r
+          BOOST_PP_TUPLE_ELEM(3, 1, op) \\r
+        , BOOST_PP_ADD_D(1, i, BOOST_PP_INC(BOOST_PP_TUPLE_ELEM(3, 0, op))) \\r
+        ) BOOST_PP_TUPLE_ELEM(3, 2, op)() \\r
+    /**/\r
+\r
+#   define BOOST_MPL_PP_DEF_PARAMS_TAIL_IMPL(i, param, value_func) \\r
+    BOOST_PP_REPEAT( \\r
+          BOOST_PP_SUB_D(1, BOOST_MPL_LIMIT_METAFUNCTION_ARITY, i) \\r
+        , BOOST_MPL_PP_AUX_TAIL_PARAM_FUNC \\r
+        , (i, param, value_func) \\r
+        ) \\r
+    /**/\r
+\r
+\r
+#endif // BOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES\r
+\r
+#define BOOST_MPL_PP_DEF_PARAMS_TAIL(i, param, value) \\r
+    BOOST_MPL_PP_DEF_PARAMS_TAIL_IMPL(i, param, BOOST_PP_IDENTITY(=value)) \\r
+    /**/\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES)\r
+#   define BOOST_MPL_PP_NESTED_DEF_PARAMS_TAIL(i, param, value) \\r
+    BOOST_MPL_PP_DEF_PARAMS_TAIL_IMPL(i, param, BOOST_PP_IDENTITY(=value)) \\r
+    /**/\r
+#else\r
+#   define BOOST_MPL_PP_NESTED_DEF_PARAMS_TAIL(i, param, value) \\r
+    BOOST_MPL_PP_DEF_PARAMS_TAIL_IMPL(i, param, BOOST_PP_EMPTY) \\r
+    /**/\r
+#endif\r
+\r
+#endif // BOOST_MPL_AUX_PREPROCESSOR_DEF_PARAMS_TAIL_HPP_INCLUDED\r
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 (file)
index 0000000..54dc347
--- /dev/null
@@ -0,0 +1,67 @@
+\r
+#ifndef BOOST_MPL_AUX_PREPROCESSOR_DEFAULT_PARAMS_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_PREPROCESSOR_DEFAULT_PARAMS_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2002-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: default_params.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/aux_/config/preprocessor.hpp>\r
+\r
+// BOOST_MPL_PP_DEFAULT_PARAMS(0,T,int): <nothing>\r
+// BOOST_MPL_PP_DEFAULT_PARAMS(1,T,int): T1 = int\r
+// BOOST_MPL_PP_DEFAULT_PARAMS(2,T,int): T1 = int, T2 = int\r
+// BOOST_MPL_PP_DEFAULT_PARAMS(n,T,int): T1 = int, T2 = int, .., Tn = int\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES)\r
+\r
+#   include <boost/preprocessor/cat.hpp>\r
+\r
+#   define BOOST_MPL_PP_DEFAULT_PARAMS(n,p,v) \\r
+    BOOST_PP_CAT(BOOST_MPL_PP_DEFAULT_PARAMS_,n)(p,v) \\r
+    /**/\r
+    \r
+#   define BOOST_MPL_PP_DEFAULT_PARAMS_0(p,v)\r
+#   define BOOST_MPL_PP_DEFAULT_PARAMS_1(p,v) p##1=v\r
+#   define BOOST_MPL_PP_DEFAULT_PARAMS_2(p,v) p##1=v,p##2=v\r
+#   define BOOST_MPL_PP_DEFAULT_PARAMS_3(p,v) p##1=v,p##2=v,p##3=v\r
+#   define BOOST_MPL_PP_DEFAULT_PARAMS_4(p,v) p##1=v,p##2=v,p##3=v,p##4=v\r
+#   define BOOST_MPL_PP_DEFAULT_PARAMS_5(p,v) p##1=v,p##2=v,p##3=v,p##4=v,p##5=v\r
+#   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\r
+#   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\r
+#   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\r
+#   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\r
+\r
+#else\r
+\r
+#   include <boost/preprocessor/tuple/elem.hpp>\r
+#   include <boost/preprocessor/comma_if.hpp>\r
+#   include <boost/preprocessor/repeat.hpp>\r
+#   include <boost/preprocessor/inc.hpp>\r
+#   include <boost/preprocessor/cat.hpp>\r
+\r
+#   define BOOST_MPL_PP_AUX_DEFAULT_PARAM_FUNC(unused, i, pv) \\r
+    BOOST_PP_COMMA_IF(i) \\r
+    BOOST_PP_CAT( BOOST_PP_TUPLE_ELEM(2,0,pv), BOOST_PP_INC(i) ) \\r
+        = BOOST_PP_TUPLE_ELEM(2,1,pv) \\r
+    /**/\r
+\r
+#   define BOOST_MPL_PP_DEFAULT_PARAMS(n, param, value) \\r
+    BOOST_PP_REPEAT( \\r
+          n \\r
+        , BOOST_MPL_PP_AUX_DEFAULT_PARAM_FUNC \\r
+        , (param,value) \\r
+        ) \\r
+    /**/\r
+\r
+#endif\r
+\r
+#endif // BOOST_MPL_AUX_PREPROCESSOR_DEFAULT_PARAMS_HPP_INCLUDED\r
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 (file)
index 0000000..8c90859
--- /dev/null
@@ -0,0 +1,62 @@
+\r
+#ifndef BOOST_MPL_AUX_PREPROCESSOR_ENUM_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_PREPROCESSOR_ENUM_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: enum.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/aux_/config/preprocessor.hpp>\r
+\r
+// BOOST_MPL_PP_ENUM(0,int): <nothing>\r
+// BOOST_MPL_PP_ENUM(1,int): int\r
+// BOOST_MPL_PP_ENUM(2,int): int, int\r
+// BOOST_MPL_PP_ENUM(n,int): int, int, .., int\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES)\r
+\r
+#   include <boost/preprocessor/cat.hpp>\r
+\r
+#   define BOOST_MPL_PP_ENUM(n, param) \\r
+    BOOST_PP_CAT(BOOST_MPL_PP_ENUM_,n)(param) \\r
+    /**/\r
+    \r
+#   define BOOST_MPL_PP_ENUM_0(p)\r
+#   define BOOST_MPL_PP_ENUM_1(p) p\r
+#   define BOOST_MPL_PP_ENUM_2(p) p,p\r
+#   define BOOST_MPL_PP_ENUM_3(p) p,p,p\r
+#   define BOOST_MPL_PP_ENUM_4(p) p,p,p,p\r
+#   define BOOST_MPL_PP_ENUM_5(p) p,p,p,p,p\r
+#   define BOOST_MPL_PP_ENUM_6(p) p,p,p,p,p,p\r
+#   define BOOST_MPL_PP_ENUM_7(p) p,p,p,p,p,p,p\r
+#   define BOOST_MPL_PP_ENUM_8(p) p,p,p,p,p,p,p,p\r
+#   define BOOST_MPL_PP_ENUM_9(p) p,p,p,p,p,p,p,p,p\r
+\r
+#else\r
+\r
+#   include <boost/preprocessor/comma_if.hpp>\r
+#   include <boost/preprocessor/repeat.hpp>\r
+\r
+#   define BOOST_MPL_PP_AUX_ENUM_FUNC(unused, i, param) \\r
+    BOOST_PP_COMMA_IF(i) param \\r
+    /**/\r
+\r
+#   define BOOST_MPL_PP_ENUM(n, param) \\r
+    BOOST_PP_REPEAT( \\r
+          n \\r
+        , BOOST_MPL_PP_AUX_ENUM_FUNC \\r
+        , param \\r
+        ) \\r
+    /**/\r
+\r
+#endif\r
+\r
+#endif // BOOST_MPL_AUX_PREPROCESSOR_ENUM_HPP_INCLUDED\r
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 (file)
index 0000000..c32eb86
--- /dev/null
@@ -0,0 +1,78 @@
+\r
+#ifndef BOOST_MPL_AUX_PREPROCESSOR_EXT_PARAMS_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_PREPROCESSOR_EXT_PARAMS_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: ext_params.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/aux_/config/preprocessor.hpp>\r
+\r
+// BOOST_MPL_PP_EXT_PARAMS(2,2,T): <nothing>\r
+// BOOST_MPL_PP_EXT_PARAMS(2,3,T): T2\r
+// BOOST_MPL_PP_EXT_PARAMS(2,4,T): T2, T3\r
+// BOOST_MPL_PP_EXT_PARAMS(2,n,T): T2, T3, .., Tn-1\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES)\r
+\r
+#   include <boost/mpl/aux_/preprocessor/filter_params.hpp>\r
+#   include <boost/mpl/aux_/preprocessor/sub.hpp>\r
+\r
+#   define BOOST_MPL_PP_EXT_PARAMS(i,j,p) \\r
+    BOOST_MPL_PP_EXT_PARAMS_DELAY_1(i,BOOST_MPL_PP_SUB(j,i),p) \\r
+    /**/\r
+\r
+#   define BOOST_MPL_PP_EXT_PARAMS_DELAY_1(i,n,p) \\r
+    BOOST_MPL_PP_EXT_PARAMS_DELAY_2(i,n,p) \\r
+    /**/\r
+\r
+#   define BOOST_MPL_PP_EXT_PARAMS_DELAY_2(i,n,p) \\r
+    BOOST_MPL_PP_EXT_PARAMS_##i(n,p) \\r
+    /**/\r
+\r
+#   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)\r
+#   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)\r
+#   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)\r
+#   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)\r
+#   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)\r
+#   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)\r
+#   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)\r
+#   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)\r
+#   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)\r
+\r
+#else\r
+\r
+#   include <boost/preprocessor/arithmetic/add.hpp>\r
+#   include <boost/preprocessor/arithmetic/sub.hpp>\r
+#   include <boost/preprocessor/comma_if.hpp>\r
+#   include <boost/preprocessor/repeat.hpp>\r
+#   include <boost/preprocessor/tuple/elem.hpp>\r
+#   include <boost/preprocessor/cat.hpp>\r
+\r
+#   define BOOST_MPL_PP_AUX_EXT_PARAM_FUNC(unused, i, op) \\r
+    BOOST_PP_COMMA_IF(i) \\r
+    BOOST_PP_CAT( \\r
+          BOOST_PP_TUPLE_ELEM(2,1,op) \\r
+        , BOOST_PP_ADD_D(1, i, BOOST_PP_TUPLE_ELEM(2,0,op)) \\r
+        ) \\r
+    /**/\r
+\r
+#   define BOOST_MPL_PP_EXT_PARAMS(i, j, param) \\r
+    BOOST_PP_REPEAT( \\r
+          BOOST_PP_SUB_D(1,j,i) \\r
+        , BOOST_MPL_PP_AUX_EXT_PARAM_FUNC \\r
+        , (i,param) \\r
+        ) \\r
+    /**/\r
+\r
+#endif\r
+\r
+#endif // BOOST_MPL_AUX_PREPROCESSOR_EXT_PARAMS_HPP_INCLUDED\r
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 (file)
index 0000000..dbbfed3
--- /dev/null
@@ -0,0 +1,28 @@
+\r
+#ifndef BOOST_MPL_AUX_PREPROCESSOR_FILTER_PARAMS_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_PREPROCESSOR_FILTER_PARAMS_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: filter_params.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#define BOOST_MPL_PP_FILTER_PARAMS_0(p1,p2,p3,p4,p5,p6,p7,p8,p9) \r
+#define BOOST_MPL_PP_FILTER_PARAMS_1(p1,p2,p3,p4,p5,p6,p7,p8,p9) p1\r
+#define BOOST_MPL_PP_FILTER_PARAMS_2(p1,p2,p3,p4,p5,p6,p7,p8,p9) p1,p2\r
+#define BOOST_MPL_PP_FILTER_PARAMS_3(p1,p2,p3,p4,p5,p6,p7,p8,p9) p1,p2,p3\r
+#define BOOST_MPL_PP_FILTER_PARAMS_4(p1,p2,p3,p4,p5,p6,p7,p8,p9) p1,p2,p3,p4\r
+#define BOOST_MPL_PP_FILTER_PARAMS_5(p1,p2,p3,p4,p5,p6,p7,p8,p9) p1,p2,p3,p4,p5\r
+#define BOOST_MPL_PP_FILTER_PARAMS_6(p1,p2,p3,p4,p5,p6,p7,p8,p9) p1,p2,p3,p4,p5,p6\r
+#define BOOST_MPL_PP_FILTER_PARAMS_7(p1,p2,p3,p4,p5,p6,p7,p8,p9) p1,p2,p3,p4,p5,p6,p7\r
+#define BOOST_MPL_PP_FILTER_PARAMS_8(p1,p2,p3,p4,p5,p6,p7,p8,p9) p1,p2,p3,p4,p5,p6,p7,p8\r
+#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\r
+\r
+#endif // BOOST_MPL_AUX_PREPROCESSOR_FILTER_PARAMS_HPP_INCLUDED\r
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 (file)
index 0000000..f8b70f8
--- /dev/null
@@ -0,0 +1,54 @@
+\r
+#ifndef BOOST_MPL_AUX_PREPROCESSOR_IS_SEQ_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_PREPROCESSOR_IS_SEQ_HPP_INCLUDED\r
+\r
+// Copyright Paul Mensonides 2003\r
+// Copyright Aleksey Gurtovoy 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: is_seq.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/preprocessor/seq/size.hpp>\r
+#include <boost/preprocessor/arithmetic/dec.hpp>\r
+#include <boost/preprocessor/punctuation/paren.hpp>\r
+#include <boost/preprocessor/cat.hpp>\r
+#include <boost/preprocessor/config/config.hpp>\r
+\r
+// returns 1 if 'seq' is a PP-sequence, 0 otherwise:\r
+//\r
+//   BOOST_PP_ASSERT( BOOST_PP_NOT( BOOST_MPL_PP_IS_SEQ( int ) ) )\r
+//   BOOST_PP_ASSERT( BOOST_MPL_PP_IS_SEQ( (int) ) )\r
+//   BOOST_PP_ASSERT( BOOST_MPL_PP_IS_SEQ( (1)(2) ) )\r
+\r
+#if (BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_BCC()) || defined(_MSC_VER) && defined(__INTEL_COMPILER) && __INTEL_COMPILER == 1010\r
+\r
+#   define BOOST_MPL_PP_IS_SEQ(seq) BOOST_PP_DEC( BOOST_PP_SEQ_SIZE( BOOST_MPL_PP_IS_SEQ_(seq) ) )\r
+#   define BOOST_MPL_PP_IS_SEQ_(seq) BOOST_MPL_PP_IS_SEQ_SEQ_( BOOST_MPL_PP_IS_SEQ_SPLIT_ seq )\r
+#   define BOOST_MPL_PP_IS_SEQ_SEQ_(x) (x)\r
+#   define BOOST_MPL_PP_IS_SEQ_SPLIT_(unused) unused)((unused)\r
+\r
+#else\r
+\r
+#   if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()\r
+#       define BOOST_MPL_PP_IS_SEQ(seq) BOOST_MPL_PP_IS_SEQ_MWCC_((seq))\r
+#       define BOOST_MPL_PP_IS_SEQ_MWCC_(args) BOOST_MPL_PP_IS_SEQ_ ## args\r
+#   else\r
+#       define BOOST_MPL_PP_IS_SEQ(seq) BOOST_MPL_PP_IS_SEQ_(seq)\r
+#   endif\r
+\r
+#   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())\r
+#   define BOOST_MPL_PP_IS_SEQ_0(x) BOOST_MPL_PP_IS_SEQ_1(x\r
+#   define BOOST_MPL_PP_IS_SEQ_ALWAYS_0(unused) 0\r
+#   define BOOST_MPL_PP_IS_SEQ_BOOST_MPL_PP_IS_SEQ_0 BOOST_MPL_PP_IS_SEQ_ALWAYS_0(\r
+#   define BOOST_MPL_PP_IS_SEQ_BOOST_MPL_PP_IS_SEQ_1(unused) 1\r
+\r
+#endif\r
+\r
+#endif // BOOST_MPL_AUX_PREPROCESSOR_IS_SEQ_HPP_INCLUDED\r
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 (file)
index 0000000..24f3071
--- /dev/null
@@ -0,0 +1,65 @@
+\r
+#ifndef BOOST_MPL_AUX_PREPROCESSOR_PARAMS_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_PREPROCESSOR_PARAMS_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: params.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/aux_/config/preprocessor.hpp>\r
+\r
+// BOOST_MPL_PP_PARAMS(0,T): <nothing>\r
+// BOOST_MPL_PP_PARAMS(1,T): T1\r
+// BOOST_MPL_PP_PARAMS(2,T): T1, T2\r
+// BOOST_MPL_PP_PARAMS(n,T): T1, T2, .., Tn\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES)\r
+\r
+#   include <boost/preprocessor/cat.hpp>\r
+\r
+#   define BOOST_MPL_PP_PARAMS(n,p) \\r
+    BOOST_PP_CAT(BOOST_MPL_PP_PARAMS_,n)(p) \\r
+    /**/\r
+\r
+#   define BOOST_MPL_PP_PARAMS_0(p)\r
+#   define BOOST_MPL_PP_PARAMS_1(p) p##1\r
+#   define BOOST_MPL_PP_PARAMS_2(p) p##1,p##2\r
+#   define BOOST_MPL_PP_PARAMS_3(p) p##1,p##2,p##3\r
+#   define BOOST_MPL_PP_PARAMS_4(p) p##1,p##2,p##3,p##4\r
+#   define BOOST_MPL_PP_PARAMS_5(p) p##1,p##2,p##3,p##4,p##5\r
+#   define BOOST_MPL_PP_PARAMS_6(p) p##1,p##2,p##3,p##4,p##5,p##6\r
+#   define BOOST_MPL_PP_PARAMS_7(p) p##1,p##2,p##3,p##4,p##5,p##6,p##7\r
+#   define BOOST_MPL_PP_PARAMS_8(p) p##1,p##2,p##3,p##4,p##5,p##6,p##7,p##8\r
+#   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\r
+\r
+#else\r
+\r
+#   include <boost/preprocessor/comma_if.hpp>\r
+#   include <boost/preprocessor/repeat.hpp>\r
+#   include <boost/preprocessor/inc.hpp>\r
+#   include <boost/preprocessor/cat.hpp>\r
+\r
+#   define BOOST_MPL_PP_AUX_PARAM_FUNC(unused, i, param) \\r
+    BOOST_PP_COMMA_IF(i) \\r
+    BOOST_PP_CAT(param, BOOST_PP_INC(i)) \\r
+    /**/\r
+\r
+#   define BOOST_MPL_PP_PARAMS(n, param) \\r
+    BOOST_PP_REPEAT( \\r
+          n \\r
+        , BOOST_MPL_PP_AUX_PARAM_FUNC \\r
+        , param \\r
+        ) \\r
+    /**/\r
+\r
+#endif \r
+\r
+#endif // BOOST_MPL_AUX_PREPROCESSOR_PARAMS_HPP_INCLUDED\r
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 (file)
index 0000000..a52d9c6
--- /dev/null
@@ -0,0 +1,32 @@
+\r
+#ifndef BOOST_MPL_AUX_PREPROCESSOR_PARTIAL_SPEC_PARAMS_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_PREPROCESSOR_PARTIAL_SPEC_PARAMS_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: partial_spec_params.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/limits/arity.hpp>\r
+#include <boost/mpl/aux_/preprocessor/params.hpp>\r
+#include <boost/mpl/aux_/preprocessor/enum.hpp>\r
+#include <boost/mpl/aux_/preprocessor/sub.hpp>\r
+#include <boost/preprocessor/comma_if.hpp>\r
+\r
+#define BOOST_MPL_PP_PARTIAL_SPEC_PARAMS(n, param, def) \\r
+BOOST_MPL_PP_PARAMS(n, param) \\r
+BOOST_PP_COMMA_IF(BOOST_MPL_PP_SUB(BOOST_MPL_LIMIT_METAFUNCTION_ARITY,n)) \\r
+BOOST_MPL_PP_ENUM( \\r
+      BOOST_MPL_PP_SUB(BOOST_MPL_LIMIT_METAFUNCTION_ARITY,n) \\r
+    , def \\r
+    ) \\r
+/**/\r
+\r
+#endif // BOOST_MPL_AUX_PREPROCESSOR_PARTIAL_SPEC_PARAMS_HPP_INCLUDED\r
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 (file)
index 0000000..a4b2be5
--- /dev/null
@@ -0,0 +1,23 @@
+\r
+#ifndef BOOST_MPL_AUX_PREPROCESSOR_RANGE_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_PREPROCESSOR_RANGE_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2002-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: range.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/preprocessor/seq/subseq.hpp>\r
+\r
+#define BOOST_MPL_PP_RANGE(first, length) \\r
+    BOOST_PP_SEQ_SUBSEQ((0)(1)(2)(3)(4)(5)(6)(7)(8)(9), first, length) \\r
+/**/\r
+\r
+#endif // BOOST_MPL_AUX_PREPROCESSOR_RANGE_HPP_INCLUDED\r
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 (file)
index 0000000..556a235
--- /dev/null
@@ -0,0 +1,51 @@
+\r
+#ifndef BOOST_MPL_AUX_PREPROCESSOR_REPEAT_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_PREPROCESSOR_REPEAT_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2002-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: repeat.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/aux_/config/preprocessor.hpp>\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES)\r
+\r
+#   include <boost/preprocessor/cat.hpp>\r
+\r
+#   define BOOST_MPL_PP_REPEAT(n,f,param) \\r
+    BOOST_PP_CAT(BOOST_MPL_PP_REPEAT_,n)(f,param) \\r
+    /**/\r
+    \r
+#   define BOOST_MPL_PP_REPEAT_0(f,p)\r
+#   define BOOST_MPL_PP_REPEAT_1(f,p) f(0,0,p)\r
+#   define BOOST_MPL_PP_REPEAT_2(f,p) f(0,0,p) f(0,1,p)\r
+#   define BOOST_MPL_PP_REPEAT_3(f,p) f(0,0,p) f(0,1,p) f(0,2,p)\r
+#   define BOOST_MPL_PP_REPEAT_4(f,p) f(0,0,p) f(0,1,p) f(0,2,p) f(0,3,p)\r
+#   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)\r
+#   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)\r
+#   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)\r
+#   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)\r
+#   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)\r
+#   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)\r
+\r
+#else \r
+\r
+#   include <boost/preprocessor/repeat.hpp>\r
+\r
+#   define BOOST_MPL_PP_REPEAT(n,f,param) \\r
+    BOOST_PP_REPEAT(n,f,param) \\r
+    /**/\r
+\r
+#endif \r
+\r
+#define BOOST_MPL_PP_REPEAT_IDENTITY_FUNC(unused1, unused2, x) x\r
+\r
+#endif // BOOST_MPL_AUX_PREPROCESSOR_REPEAT_HPP_INCLUDED\r
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 (file)
index 0000000..3819399
--- /dev/null
@@ -0,0 +1,65 @@
+\r
+#ifndef BOOST_MPL_AUX_PREPROCESSOR_SUB_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_PREPROCESSOR_SUB_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2002-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: sub.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/aux_/config/preprocessor.hpp>\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES)\r
+\r
+#   include <boost/mpl/aux_/preprocessor/tuple.hpp>\r
+\r
+#if defined(BOOST_MPL_CFG_BROKEN_PP_MACRO_EXPANSION)\r
+#   include <boost/preprocessor/cat.hpp>\r
+\r
+#   define BOOST_MPL_PP_SUB(i,j) \\r
+    BOOST_MPL_PP_SUB_DELAY(i,j) \\r
+    /**/\r
+\r
+#   define BOOST_MPL_PP_SUB_DELAY(i,j) \\r
+    BOOST_PP_CAT(BOOST_MPL_PP_TUPLE_11_ELEM_##i,BOOST_MPL_PP_SUB_##j) \\r
+    /**/\r
+#else\r
+#   define BOOST_MPL_PP_SUB(i,j) \\r
+    BOOST_MPL_PP_SUB_DELAY(i,j) \\r
+    /**/\r
+\r
+#   define BOOST_MPL_PP_SUB_DELAY(i,j) \\r
+    BOOST_MPL_PP_TUPLE_11_ELEM_##i BOOST_MPL_PP_SUB_##j \\r
+    /**/\r
+#endif\r
+\r
+#   define BOOST_MPL_PP_SUB_0 (0,1,2,3,4,5,6,7,8,9,10)\r
+#   define BOOST_MPL_PP_SUB_1 (0,0,1,2,3,4,5,6,7,8,9)\r
+#   define BOOST_MPL_PP_SUB_2 (0,0,0,1,2,3,4,5,6,7,8)\r
+#   define BOOST_MPL_PP_SUB_3 (0,0,0,0,1,2,3,4,5,6,7)\r
+#   define BOOST_MPL_PP_SUB_4 (0,0,0,0,0,1,2,3,4,5,6)\r
+#   define BOOST_MPL_PP_SUB_5 (0,0,0,0,0,0,1,2,3,4,5)\r
+#   define BOOST_MPL_PP_SUB_6 (0,0,0,0,0,0,0,1,2,3,4)\r
+#   define BOOST_MPL_PP_SUB_7 (0,0,0,0,0,0,0,0,1,2,3)\r
+#   define BOOST_MPL_PP_SUB_8 (0,0,0,0,0,0,0,0,0,1,2)\r
+#   define BOOST_MPL_PP_SUB_9 (0,0,0,0,0,0,0,0,0,0,1)\r
+#   define BOOST_MPL_PP_SUB_10 (0,0,0,0,0,0,0,0,0,0,0)\r
+\r
+#else\r
+\r
+#   include <boost/preprocessor/arithmetic/sub.hpp>\r
+\r
+#   define BOOST_MPL_PP_SUB(i,j) \\r
+    BOOST_PP_SUB(i,j) \\r
+    /**/\r
+    \r
+#endif\r
+\r
+#endif // BOOST_MPL_AUX_PREPROCESSOR_SUB_HPP_INCLUDED\r
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 (file)
index 0000000..830faa6
--- /dev/null
@@ -0,0 +1,56 @@
+\r
+#ifndef BOOST_MPL_AUX_PREPROCESSOR_TOKEN_EQUAL_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_PREPROCESSOR_TOKEN_EQUAL_HPP_INCLUDED\r
+\r
+// Copyright Paul Mensonides 2003\r
+// Copyright Aleksey Gurtovoy 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: token_equal.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/aux_/preprocessor/is_seq.hpp>\r
+\r
+#include <boost/preprocessor/if.hpp>\r
+#include <boost/preprocessor/logical/bitand.hpp>\r
+#include <boost/preprocessor/logical/compl.hpp>\r
+#include <boost/preprocessor/tuple/eat.hpp>\r
+#include <boost/preprocessor/cat.hpp>\r
+\r
+// compares tokens 'a' and 'b' for equality:\r
+//\r
+//   #define BOOST_MPL_PP_TOKEN_EQUAL_apple(x) x\r
+//   #define BOOST_MPL_PP_TOKEN_EQUAL_orange(x) x\r
+//\r
+//   BOOST_PP_ASSERT( BOOST_PP_NOT( BOOST_MPL_PP_TOKEN_EQUAL(apple, abc) ) )\r
+//   BOOST_PP_ASSERT( BOOST_PP_NOT( BOOST_MPL_PP_TOKEN_EQUAL(abc, apple) ) )\r
+//   BOOST_PP_ASSERT( BOOST_PP_NOT( BOOST_MPL_PP_TOKEN_EQUAL(apple, orange) ) )\r
+//   BOOST_PP_ASSERT( BOOST_MPL_PP_TOKEN_EQUAL(apple, apple) )\r
+//   BOOST_PP_ASSERT( BOOST_MPL_PP_TOKEN_EQUAL(orange, orange) )\r
+\r
+#define BOOST_MPL_PP_TOKEN_EQUAL(a, b) \\r
+    BOOST_PP_IIF( \\r
+        BOOST_PP_BITAND( \\r
+              BOOST_MPL_PP_IS_SEQ( BOOST_PP_CAT(BOOST_MPL_PP_TOKEN_EQUAL_, a)((unused)) ) \\r
+            , BOOST_MPL_PP_IS_SEQ( BOOST_PP_CAT(BOOST_MPL_PP_TOKEN_EQUAL_, b)((unused)) ) \\r
+            ) \\r
+        , BOOST_MPL_PP_TOKEN_EQUAL_I \\r
+        , 0 BOOST_PP_TUPLE_EAT(2) \\r
+        )(a, b) \\r
+/**/\r
+\r
+#define BOOST_MPL_PP_TOKEN_EQUAL_I(a, b) \\r
+    BOOST_PP_COMPL(BOOST_MPL_PP_IS_SEQ( \\r
+        BOOST_MPL_PP_TOKEN_EQUAL_ ## a( \\r
+            BOOST_MPL_PP_TOKEN_EQUAL_ ## b \\r
+            )((unused)) \\r
+        )) \\r
+/**/\r
+\r
+#endif // BOOST_MPL_AUX_PREPROCESSOR_TOKEN_EQUAL_HPP_INCLUDED\r
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 (file)
index 0000000..ddaec8b
--- /dev/null
@@ -0,0 +1,29 @@
+\r
+#ifndef BOOST_MPL_AUX_PREPROCESSOR_TUPLE_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_PREPROCESSOR_TUPLE_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2002-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: tuple.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#define BOOST_MPL_PP_TUPLE_11_ELEM_0(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e0\r
+#define BOOST_MPL_PP_TUPLE_11_ELEM_1(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e1\r
+#define BOOST_MPL_PP_TUPLE_11_ELEM_2(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e2\r
+#define BOOST_MPL_PP_TUPLE_11_ELEM_3(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e3\r
+#define BOOST_MPL_PP_TUPLE_11_ELEM_4(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e4\r
+#define BOOST_MPL_PP_TUPLE_11_ELEM_5(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e5\r
+#define BOOST_MPL_PP_TUPLE_11_ELEM_6(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e6\r
+#define BOOST_MPL_PP_TUPLE_11_ELEM_7(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e7\r
+#define BOOST_MPL_PP_TUPLE_11_ELEM_8(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e8\r
+#define BOOST_MPL_PP_TUPLE_11_ELEM_9(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e9\r
+#define BOOST_MPL_PP_TUPLE_11_ELEM_10(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e10\r
+\r
+#endif // BOOST_MPL_AUX_PREPROCESSOR_TUPLE_HPP_INCLUDED\r
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 (file)
index 0000000..d4f7352
--- /dev/null
@@ -0,0 +1,46 @@
+\r
+#ifndef BOOST_MPL_AUX_PTR_TO_REF_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_PTR_TO_REF_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: ptr_to_ref.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/aux_/static_cast.hpp>\r
+#include <boost/mpl/aux_/config/msvc.hpp>\r
+#include <boost/mpl/aux_/config/workaround.hpp>\r
+\r
+\r
+#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1400)) \\r
+    ||  ( BOOST_WORKAROUND(__EDG_VERSION__, <= 245) \\r
+        && !(defined(__STD_STRICT_ANSI) \\r
+            || defined(__STD_STRICT_ANSI_ERRORS)) )\r
+\r
+#   define BOOST_MPL_AUX_PTR_TO_REF(X) \\r
+    *BOOST_MPL_AUX_STATIC_CAST(X*, 0) \\r
+/**/\r
+\r
+#else\r
+\r
+#   define BOOST_MPL_AUX_PTR_TO_REF(X) \\r
+    aux::ptr_to_ref(BOOST_MPL_AUX_STATIC_CAST(X*, 0)) \\r
+/**/\r
+\r
+#endif\r
+\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+template< typename T > static T const& ptr_to_ref(T*);\r
+\r
+}}}\r
+\r
+#endif // BOOST_MPL_AUX_PTR_TO_REF_HPP_INCLUDED\r
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 (file)
index 0000000..f5d8045
--- /dev/null
@@ -0,0 +1,70 @@
+\r
+#ifndef BOOST_MPL_AUX_PUSH_BACK_IMPL_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_PUSH_BACK_IMPL_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2008\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: push_back_impl.hpp 55679 2009-08-20 07:50:16Z agurtovoy $\r
+// $Date: 2009-08-20 03:50:16 -0400 (Thu, 20 Aug 2009) $\r
+// $Revision: 55679 $\r
+\r
+#include <boost/mpl/push_back_fwd.hpp>\r
+#include <boost/mpl/assert.hpp>\r
+#include <boost/mpl/aux_/has_type.hpp>\r
+#include <boost/mpl/aux_/traits_lambda_spec.hpp>\r
+#include <boost/mpl/aux_/config/forwarding.hpp>\r
+#include <boost/mpl/aux_/config/static_constant.hpp>\r
+\r
+#include <boost/type_traits/is_same.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+struct has_push_back_arg {};\r
+\r
+// agurt 05/feb/04: no default implementation; the stub definition is needed \r
+// to enable the default 'has_push_back' implementation below\r
+template< typename Tag >\r
+struct push_back_impl\r
+{\r
+    template< typename Sequence, typename T > struct apply\r
+    {\r
+        // should be instantiated only in the context of 'has_push_back_impl';\r
+        // if you've got an assert here, you are requesting a 'push_back' \r
+        // specialization that doesn't exist.\r
+        BOOST_MPL_ASSERT_MSG(\r
+              ( boost::is_same< T, has_push_back_arg >::value )\r
+            , REQUESTED_PUSH_BACK_SPECIALIZATION_FOR_SEQUENCE_DOES_NOT_EXIST\r
+            , ( Sequence )\r
+            );\r
+    };\r
+};\r
+\r
+template< typename Tag >\r
+struct has_push_back_impl\r
+{\r
+    template< typename Seq > struct apply\r
+#if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING)\r
+        : aux::has_type< push_back< Seq, has_push_back_arg > >\r
+    {\r
+#else\r
+    {\r
+        typedef aux::has_type< push_back< Seq, has_push_back_arg > > type;\r
+        BOOST_STATIC_CONSTANT(bool, value = \r
+              (aux::has_type< push_back< Seq, has_push_back_arg > >::value)\r
+            );\r
+#endif\r
+    };\r
+};\r
+\r
+BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(2, push_back_impl)\r
+BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(1, has_push_back_impl)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_AUX_PUSH_BACK_IMPL_HPP_INCLUDED\r
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 (file)
index 0000000..9e3fd82
--- /dev/null
@@ -0,0 +1,71 @@
+\r
+#ifndef BOOST_MPL_AUX_PUSH_FRONT_IMPL_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_PUSH_FRONT_IMPL_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2008\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: push_front_impl.hpp 55679 2009-08-20 07:50:16Z agurtovoy $\r
+// $Date: 2009-08-20 03:50:16 -0400 (Thu, 20 Aug 2009) $\r
+// $Revision: 55679 $\r
+\r
+#include <boost/mpl/push_front_fwd.hpp>\r
+#include <boost/mpl/assert.hpp>\r
+#include <boost/mpl/aux_/has_type.hpp>\r
+#include <boost/mpl/aux_/traits_lambda_spec.hpp>\r
+#include <boost/mpl/aux_/config/forwarding.hpp>\r
+#include <boost/mpl/aux_/config/static_constant.hpp>\r
+\r
+#include <boost/type_traits/is_same.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+struct has_push_front_arg {};\r
+\r
+// agurt 05/feb/04: no default implementation; the stub definition is needed \r
+// to enable the default 'has_push_front' implementation below\r
+\r
+template< typename Tag >\r
+struct push_front_impl\r
+{\r
+    template< typename Sequence, typename T > struct apply\r
+    {\r
+        // should be instantiated only in the context of 'has_push_front_impl';\r
+        // if you've got an assert here, you are requesting a 'push_front' \r
+        // specialization that doesn't exist.\r
+        BOOST_MPL_ASSERT_MSG(\r
+              ( boost::is_same< T, has_push_front_arg >::value )\r
+            , REQUESTED_PUSH_FRONT_SPECIALIZATION_FOR_SEQUENCE_DOES_NOT_EXIST\r
+            , ( Sequence )\r
+            );\r
+    };\r
+};\r
+\r
+template< typename Tag >\r
+struct has_push_front_impl\r
+{\r
+    template< typename Seq > struct apply\r
+#if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING)\r
+        : aux::has_type< push_front< Seq, has_push_front_arg > >\r
+    {\r
+#else\r
+    {\r
+        typedef aux::has_type< push_front< Seq, has_push_front_arg > > type;\r
+        BOOST_STATIC_CONSTANT(bool, value = \r
+              (aux::has_type< push_front< Seq, has_push_front_arg > >::value)\r
+            );\r
+#endif\r
+    };\r
+};\r
+\r
+BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(2, push_front_impl)\r
+BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(1, has_push_front_impl)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_AUX_PUSH_FRONT_IMPL_HPP_INCLUDED\r
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 (file)
index 0000000..0bcfd22
--- /dev/null
@@ -0,0 +1,31 @@
+\r
+#ifndef BOOST_MPL_AUX_RANGE_C_O1_SIZE_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_RANGE_C_O1_SIZE_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: O1_size.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/O1_size_fwd.hpp>\r
+#include <boost/mpl/aux_/range_c/size.hpp>\r
+#include <boost/mpl/aux_/range_c/tag.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct O1_size_impl< aux::half_open_range_tag >\r
+    : size_impl< aux::half_open_range_tag >\r
+{\r
+};\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_AUX_RANGE_C_O1_SIZE_HPP_INCLUDED\r
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 (file)
index 0000000..8a4e708
--- /dev/null
@@ -0,0 +1,34 @@
+\r
+#ifndef BOOST_MPL_AUX_RANGE_C_BACK_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_RANGE_C_BACK_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: back.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/back_fwd.hpp>\r
+#include <boost/mpl/prior.hpp>\r
+#include <boost/mpl/aux_/range_c/tag.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct back_impl< aux::half_open_range_tag >\r
+{\r
+    template< typename Range > struct apply\r
+    {\r
+        typedef typename prior< typename Range::finish >::type type;\r
+    };\r
+};\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_AUX_RANGE_C_BACK_HPP_INCLUDED\r
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 (file)
index 0000000..bbc03c7
--- /dev/null
@@ -0,0 +1,37 @@
+\r
+#ifndef BOOST_MPL_AUX_RANGE_C_EMPTY_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_RANGE_C_EMPTY_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: empty.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/empty_fwd.hpp>\r
+#include <boost/mpl/equal_to.hpp>\r
+#include <boost/mpl/aux_/range_c/tag.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct empty_impl< aux::half_open_range_tag >\r
+{\r
+    template< typename Range > struct apply\r
+        : equal_to<\r
+              typename Range::start\r
+            , typename Range::finish\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_AUX_RANGE_C_EMPTY_HPP_INCLUDED\r
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 (file)
index 0000000..fe53f92
--- /dev/null
@@ -0,0 +1,33 @@
+\r
+#ifndef BOOST_MPL_AUX_RANGE_C_FRONT_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_RANGE_C_FRONT_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: front.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/front_fwd.hpp>\r
+#include <boost/mpl/aux_/range_c/tag.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct front_impl< aux::half_open_range_tag >\r
+{\r
+    template< typename Range > struct apply\r
+    {\r
+        typedef typename Range::start type;\r
+    };\r
+};\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_AUX_RANGE_C_FRONT_HPP_INCLUDED\r
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 (file)
index 0000000..001bc8c
--- /dev/null
@@ -0,0 +1,106 @@
+\r
+#ifndef BOOST_MPL_AUX_RANGE_C_ITERATOR_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_RANGE_C_ITERATOR_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: iterator.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/iterator_tags.hpp>\r
+#include <boost/mpl/advance_fwd.hpp>\r
+#include <boost/mpl/distance_fwd.hpp>\r
+#include <boost/mpl/next_prior.hpp>\r
+#include <boost/mpl/deref.hpp>\r
+#include <boost/mpl/plus.hpp>\r
+#include <boost/mpl/minus.hpp>\r
+#include <boost/mpl/aux_/value_wknd.hpp>\r
+#include <boost/mpl/aux_/config/ctps.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+// theoretically will work on any discrete numeric type\r
+template< typename N > struct r_iter\r
+{\r
+    typedef aux::r_iter_tag tag;\r
+    typedef random_access_iterator_tag category;\r
+    typedef N type;\r
+\r
+#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)\r
+    typedef r_iter< typename mpl::next<N>::type > next;\r
+    typedef r_iter< typename mpl::prior<N>::type > prior;\r
+#endif\r
+};\r
+\r
+#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)\r
+\r
+template<\r
+      typename N\r
+    >\r
+struct next< r_iter<N> >\r
+{\r
+    typedef r_iter< typename mpl::next<N>::type > type;\r
+};\r
+\r
+template<\r
+      typename N\r
+    >\r
+struct prior< r_iter<N> >\r
+{\r
+    typedef r_iter< typename mpl::prior<N>::type > type;\r
+};\r
+\r
+#endif\r
+\r
+\r
+template<> struct advance_impl<aux::r_iter_tag>\r
+{\r
+    template< typename Iter, typename Dist > struct apply\r
+    {\r
+        typedef typename deref<Iter>::type n_;\r
+#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)\r
+        typedef typename plus_impl<integral_c_tag,integral_c_tag>\r
+            ::template apply<n_,Dist>::type m_;\r
+#else\r
+        typedef typename plus<n_,Dist>::type m_;\r
+#endif\r
+        // agurt, 10/nov/04: to be generic, the code have to do something along\r
+        // the lines below...\r
+        //\r
+        // typedef typename apply_wrap1<\r
+        //       numeric_cast< typename m_::tag, typename n_::tag >\r
+        //     , m_\r
+        //     >::type result_;\r
+        //\r
+        // ... meanwhile:\r
+        \r
+        typedef integral_c< \r
+              typename aux::value_type_wknd<n_>::type\r
+            , BOOST_MPL_AUX_VALUE_WKND(m_)::value \r
+            > result_;\r
+        \r
+        typedef r_iter<result_> type;\r
+    };\r
+};\r
+\r
+template<> struct distance_impl<aux::r_iter_tag>\r
+{\r
+    template< typename Iter1, typename Iter2 > struct apply\r
+        : minus<\r
+              typename Iter2::type\r
+            , typename Iter1::type\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_AUX_RANGE_C_ITERATOR_HPP_INCLUDED\r
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 (file)
index 0000000..05cafc3
--- /dev/null
@@ -0,0 +1,37 @@
+\r
+#ifndef BOOST_MPL_AUX_RANGE_C_SIZE_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_RANGE_C_SIZE_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: size.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/size_fwd.hpp>\r
+#include <boost/mpl/minus.hpp>\r
+#include <boost/mpl/aux_/range_c/tag.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct size_impl< aux::half_open_range_tag >\r
+{\r
+    template< typename Range > struct apply\r
+        : minus<\r
+              typename Range::finish\r
+            , typename Range::start\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_AUX_RANGE_C_SIZE_HPP_INCLUDED\r
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 (file)
index 0000000..1d4ed2b
--- /dev/null
@@ -0,0 +1,24 @@
+\r
+#ifndef BOOST_MPL_AUX_RANGE_C_TAG_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_RANGE_C_TAG_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: tag.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+struct half_open_range_tag;\r
+struct r_iter_tag;\r
+\r
+}}}\r
+\r
+#endif // BOOST_MPL_AUX_RANGE_C_TAG_HPP_INCLUDED\r
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 (file)
index 0000000..88bfcfc
--- /dev/null
@@ -0,0 +1,44 @@
+\r
+#ifndef BOOST_MPL_AUX_REVERSE_FOLD_IMPL_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_REVERSE_FOLD_IMPL_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: reverse_fold_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#if !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+#   include <boost/mpl/next_prior.hpp>\r
+#   include <boost/mpl/deref.hpp>\r
+#   include <boost/mpl/apply.hpp>\r
+#   include <boost/mpl/aux_/config/ctps.hpp>\r
+#   if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \\r
+    || defined(BOOST_MPL_CFG_NO_NONTYPE_TEMPLATE_PARTIAL_SPEC)\r
+#       include <boost/mpl/if.hpp>\r
+#       include <boost/type_traits/is_same.hpp>\r
+#   endif\r
+#endif\r
+\r
+#include <boost/mpl/aux_/config/use_preprocessed.hpp>\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \\r
+    && !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+\r
+#   define BOOST_MPL_PREPROCESSED_HEADER reverse_fold_impl.hpp\r
+#   include <boost/mpl/aux_/include_preprocessed.hpp>\r
+\r
+#else\r
+\r
+#   define AUX778076_FOLD_IMPL_OP(iter) typename deref<iter>::type\r
+#   define AUX778076_FOLD_IMPL_NAME_PREFIX reverse_fold\r
+#   include <boost/mpl/aux_/reverse_fold_impl_body.hpp>\r
+\r
+#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS\r
+#endif // BOOST_MPL_AUX_REVERSE_FOLD_IMPL_HPP_INCLUDED\r
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 (file)
index 0000000..59daafd
--- /dev/null
@@ -0,0 +1,412 @@
+\r
+// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION!\r
+\r
+#if !defined(BOOST_PP_IS_ITERATING)\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: reverse_fold_impl_body.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#   include <boost/mpl/limits/unrolling.hpp>\r
+#   include <boost/mpl/aux_/preprocessor/repeat.hpp>\r
+#   include <boost/mpl/aux_/config/ctps.hpp>\r
+#   include <boost/mpl/aux_/nttp_decl.hpp>\r
+\r
+#   include <boost/preprocessor/arithmetic/sub.hpp>\r
+#   include <boost/preprocessor/iterate.hpp>\r
+#   include <boost/preprocessor/dec.hpp>\r
+#   include <boost/preprocessor/inc.hpp>\r
+#   include <boost/preprocessor/cat.hpp>\r
+\r
+// local macros, #undef-ined at the end of the header\r
+\r
+#   define AUX778076_ITER_FOLD_FORWARD_STEP(unused, n_, unused2) \\r
+    typedef typename apply2< \\r
+          ForwardOp \\r
+        , BOOST_PP_CAT(fwd_state,n_) \\r
+        , AUX778076_FOLD_IMPL_OP(BOOST_PP_CAT(iter,n_)) \\r
+        >::type BOOST_PP_CAT(fwd_state,BOOST_PP_INC(n_)); \\r
+    typedef typename mpl::next<BOOST_PP_CAT(iter,n_)>::type \\r
+        BOOST_PP_CAT(iter,BOOST_PP_INC(n_)); \\r
+    /**/\r
+\r
+#   define AUX778076_ITER_FOLD_BACKWARD_STEP_FUNC(n_) \\r
+    typedef typename apply2< \\r
+          BackwardOp \\r
+        , BOOST_PP_CAT(bkwd_state,n_) \\r
+        , AUX778076_FOLD_IMPL_OP(BOOST_PP_CAT(iter,BOOST_PP_DEC(n_))) \\r
+        >::type BOOST_PP_CAT(bkwd_state,BOOST_PP_DEC(n_)); \\r
+    /**/\r
+\r
+#   define AUX778076_ITER_FOLD_BACKWARD_STEP(unused, n_, j) \\r
+    AUX778076_ITER_FOLD_BACKWARD_STEP_FUNC( \\r
+          BOOST_PP_SUB_D(1,j,n_) \\r
+        ) \\r
+    /**/\r
+\r
+#   define AUX778076_FIRST_BACKWARD_STATE_TYPEDEF(n_) \\r
+    typedef typename nested_chunk::state BOOST_PP_CAT(bkwd_state,n_);\r
+    /**/\r
+\r
+#   define AUX778076_FOLD_IMPL_NAME \\r
+    BOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_impl) \\r
+    /**/\r
+\r
+#   define AUX778076_FOLD_CHUNK_NAME \\r
+    BOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_chunk) \\r
+    /**/\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+/// forward declaration\r
+template<\r
+      BOOST_MPL_AUX_NTTP_DECL(long, N)\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    > \r
+struct AUX778076_FOLD_IMPL_NAME;\r
+\r
+#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \\r
+    && !defined(BOOST_MPL_CFG_NO_NONTYPE_TEMPLATE_PARTIAL_SPEC)\r
+\r
+#   define BOOST_PP_ITERATION_PARAMS_1 \\r
+    (3,(0, BOOST_MPL_LIMIT_UNROLLING, <boost/mpl/aux_/reverse_fold_impl_body.hpp>))\r
+#   include BOOST_PP_ITERATE()\r
+\r
+// implementation for N that exceeds BOOST_MPL_LIMIT_UNROLLING\r
+template<\r
+      BOOST_MPL_AUX_NTTP_DECL(long, N)\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    > \r
+struct AUX778076_FOLD_IMPL_NAME\r
+{\r
+    typedef First iter0;\r
+    typedef State fwd_state0;\r
+\r
+    BOOST_MPL_PP_REPEAT(\r
+          BOOST_MPL_LIMIT_UNROLLING\r
+        , AUX778076_ITER_FOLD_FORWARD_STEP\r
+        , unused\r
+        )\r
+\r
+    typedef AUX778076_FOLD_IMPL_NAME<\r
+          ( (N - BOOST_MPL_LIMIT_UNROLLING) < 0 ? 0 : N - BOOST_MPL_LIMIT_UNROLLING )\r
+        , BOOST_PP_CAT(iter,BOOST_MPL_LIMIT_UNROLLING)\r
+        , Last\r
+        , BOOST_PP_CAT(fwd_state,BOOST_MPL_LIMIT_UNROLLING)\r
+        , BackwardOp\r
+        , ForwardOp\r
+        > nested_chunk;\r
+        \r
+    AUX778076_FIRST_BACKWARD_STATE_TYPEDEF(BOOST_MPL_LIMIT_UNROLLING)\r
+\r
+    BOOST_MPL_PP_REPEAT(\r
+          BOOST_MPL_LIMIT_UNROLLING\r
+        , AUX778076_ITER_FOLD_BACKWARD_STEP\r
+        , BOOST_MPL_LIMIT_UNROLLING\r
+        )\r
+\r
+    typedef bkwd_state0 state;\r
+    typedef typename nested_chunk::iterator iterator;\r
+};\r
+\r
+// fallback implementation for sequences of unknown size\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    > \r
+struct AUX778076_FOLD_IMPL_NAME<-1,First,Last,State,BackwardOp,ForwardOp>\r
+{\r
+    typedef AUX778076_FOLD_IMPL_NAME<\r
+          -1\r
+        , typename mpl::next<First>::type\r
+        , Last\r
+        , typename apply2<ForwardOp,State,AUX778076_FOLD_IMPL_OP(First)>::type\r
+        , BackwardOp\r
+        , ForwardOp\r
+        > nested_step;\r
+\r
+    typedef typename apply2<\r
+          BackwardOp\r
+        , typename nested_step::state\r
+        , AUX778076_FOLD_IMPL_OP(First)\r
+        >::type state;\r
+\r
+    typedef typename nested_step::iterator iterator;\r
+};\r
+\r
+template<\r
+      typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    > \r
+struct AUX778076_FOLD_IMPL_NAME<-1,Last,Last,State,BackwardOp,ForwardOp>\r
+{\r
+    typedef State state;\r
+    typedef Last iterator;\r
+};\r
+\r
+#else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+\r
+template< BOOST_MPL_AUX_NTTP_DECL(long, N) >\r
+struct AUX778076_FOLD_CHUNK_NAME;\r
+\r
+#   define BOOST_PP_ITERATION_PARAMS_1 \\r
+    (3,(0, BOOST_MPL_LIMIT_UNROLLING, <boost/mpl/aux_/reverse_fold_impl_body.hpp>))\r
+#   include BOOST_PP_ITERATE()\r
+\r
+// implementation for N that exceeds BOOST_MPL_LIMIT_UNROLLING\r
+template< BOOST_MPL_AUX_NTTP_DECL(long, N) > \r
+struct AUX778076_FOLD_CHUNK_NAME\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename BackwardOp\r
+        , typename ForwardOp\r
+        > \r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State fwd_state0;\r
+\r
+        BOOST_MPL_PP_REPEAT(\r
+              BOOST_MPL_LIMIT_UNROLLING\r
+            , AUX778076_ITER_FOLD_FORWARD_STEP\r
+            , unused\r
+            )\r
+\r
+        typedef AUX778076_FOLD_IMPL_NAME<\r
+              ( (N - BOOST_MPL_LIMIT_UNROLLING) < 0 ? 0 : N - BOOST_MPL_LIMIT_UNROLLING )\r
+            , BOOST_PP_CAT(iter,BOOST_MPL_LIMIT_UNROLLING)\r
+            , Last\r
+            , BOOST_PP_CAT(fwd_state,BOOST_MPL_LIMIT_UNROLLING)\r
+            , BackwardOp\r
+            , ForwardOp\r
+            > nested_chunk;\r
+            \r
+        AUX778076_FIRST_BACKWARD_STATE_TYPEDEF(BOOST_MPL_LIMIT_UNROLLING)\r
+\r
+        BOOST_MPL_PP_REPEAT(\r
+              BOOST_MPL_LIMIT_UNROLLING\r
+            , AUX778076_ITER_FOLD_BACKWARD_STEP\r
+            , BOOST_MPL_LIMIT_UNROLLING\r
+            )\r
+\r
+        typedef bkwd_state0 state;\r
+        typedef typename nested_chunk::iterator iterator;\r
+    };\r
+};\r
+\r
+// fallback implementation for sequences of unknown size\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    > \r
+struct BOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_step);\r
+\r
+template<\r
+      typename Last\r
+    , typename State\r
+    >\r
+struct BOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_null_step)\r
+{\r
+    typedef Last iterator;\r
+    typedef State state;\r
+};\r
+\r
+template<> \r
+struct AUX778076_FOLD_CHUNK_NAME<-1>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename BackwardOp\r
+        , typename ForwardOp\r
+        > \r
+    struct result_\r
+    {\r
+        typedef typename if_<\r
+              typename is_same<First,Last>::type\r
+            , BOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_null_step)<Last,State>\r
+            , BOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_step)<First,Last,State,BackwardOp,ForwardOp>\r
+            >::type res_;\r
+\r
+        typedef typename res_::state state;\r
+        typedef typename res_::iterator iterator;\r
+    };\r
+\r
+#if defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG)\r
+    /// ETI workaround\r
+    template<> struct result_<int,int,int,int,int>\r
+    {\r
+        typedef int state;\r
+        typedef int iterator;\r
+    };\r
+#endif\r
+};\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    > \r
+struct BOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_step)\r
+{\r
+    typedef AUX778076_FOLD_CHUNK_NAME<-1>::template result_<\r
+          typename mpl::next<First>::type\r
+        , Last\r
+        , typename apply2<ForwardOp,State,AUX778076_FOLD_IMPL_OP(First)>::type\r
+        , BackwardOp\r
+        , ForwardOp\r
+        > nested_step;\r
+\r
+    typedef typename apply2<\r
+          BackwardOp\r
+        , typename nested_step::state\r
+        , AUX778076_FOLD_IMPL_OP(First)\r
+        >::type state;\r
+\r
+    typedef typename nested_step::iterator iterator;\r
+};\r
+\r
+template<\r
+      BOOST_MPL_AUX_NTTP_DECL(long, N)\r
+    , typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    > \r
+struct AUX778076_FOLD_IMPL_NAME\r
+    : AUX778076_FOLD_CHUNK_NAME<N>\r
+        ::template result_<First,Last,State,BackwardOp,ForwardOp>\r
+{\r
+};\r
+\r
+#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+\r
+}}}\r
+\r
+#   undef AUX778076_FIRST_BACKWARD_STATE_TYPEDEF\r
+#   undef AUX778076_ITER_FOLD_BACKWARD_STEP\r
+#   undef AUX778076_ITER_FOLD_BACKWARD_STEP_FUNC\r
+#   undef AUX778076_ITER_FOLD_FORWARD_STEP\r
+\r
+#undef AUX778076_FOLD_IMPL_OP\r
+#undef AUX778076_FOLD_IMPL_NAME_PREFIX\r
+\r
+///// iteration\r
+\r
+#else\r
+\r
+#   define n_ BOOST_PP_FRAME_ITERATION(1)\r
+\r
+#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \\r
+    && !defined(BOOST_MPL_CFG_NO_NONTYPE_TEMPLATE_PARTIAL_SPEC)\r
+\r
+template<\r
+      typename First\r
+    , typename Last\r
+    , typename State\r
+    , typename BackwardOp\r
+    , typename ForwardOp\r
+    >\r
+struct AUX778076_FOLD_IMPL_NAME<n_,First,Last,State,BackwardOp,ForwardOp>\r
+{\r
+    typedef First iter0;\r
+    typedef State fwd_state0;\r
+\r
+    BOOST_MPL_PP_REPEAT(\r
+          n_\r
+        , AUX778076_ITER_FOLD_FORWARD_STEP\r
+        , unused\r
+        )\r
+\r
+    typedef BOOST_PP_CAT(fwd_state,n_) BOOST_PP_CAT(bkwd_state,n_);\r
+\r
+    BOOST_MPL_PP_REPEAT(\r
+          n_\r
+        , AUX778076_ITER_FOLD_BACKWARD_STEP\r
+        , n_\r
+        )\r
+\r
+    typedef bkwd_state0 state;\r
+    typedef BOOST_PP_CAT(iter,n_) iterator;\r
+};\r
+\r
+#else\r
+\r
+template<> struct AUX778076_FOLD_CHUNK_NAME<n_>\r
+{\r
+    template<\r
+          typename First\r
+        , typename Last\r
+        , typename State\r
+        , typename BackwardOp\r
+        , typename ForwardOp\r
+        >\r
+    struct result_\r
+    {\r
+        typedef First iter0;\r
+        typedef State fwd_state0;\r
+\r
+        BOOST_MPL_PP_REPEAT(\r
+              n_\r
+            , AUX778076_ITER_FOLD_FORWARD_STEP\r
+            , unused\r
+            )\r
+\r
+        typedef BOOST_PP_CAT(fwd_state,n_) BOOST_PP_CAT(bkwd_state,n_);\r
+\r
+        BOOST_MPL_PP_REPEAT(\r
+              n_\r
+            , AUX778076_ITER_FOLD_BACKWARD_STEP\r
+            , n_\r
+            )\r
+\r
+        typedef bkwd_state0 state;\r
+        typedef BOOST_PP_CAT(iter,n_) iterator;\r
+    };\r
+\r
+#if defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG)\r
+    /// ETI workaround\r
+    template<> struct result_<int,int,int,int,int>\r
+    {\r
+        typedef int state;\r
+        typedef int iterator;\r
+    };\r
+#endif\r
+};\r
+\r
+#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+\r
+#   undef n_\r
+\r
+#endif // BOOST_PP_IS_ITERATING\r
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 (file)
index 0000000..5edb291
--- /dev/null
@@ -0,0 +1,43 @@
+\r
+#ifndef BOOST_MPL_AUX_ITER_FOLD_BACKWARD_IMPL_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_ITER_FOLD_BACKWARD_IMPL_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: reverse_iter_fold_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#if !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+#   include <boost/mpl/next_prior.hpp>\r
+#   include <boost/mpl/apply.hpp>\r
+#   include <boost/mpl/aux_/config/ctps.hpp>\r
+#   if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \\r
+    || defined(BOOST_MPL_CFG_NO_NONTYPE_TEMPLATE_PARTIAL_SPEC)\r
+#       include <boost/mpl/if.hpp>\r
+#       include <boost/type_traits/is_same.hpp>\r
+#   endif\r
+#endif\r
+\r
+#include <boost/mpl/aux_/config/use_preprocessed.hpp>\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \\r
+    && !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+\r
+#   define BOOST_MPL_PREPROCESSED_HEADER reverse_iter_fold_impl.hpp\r
+#   include <boost/mpl/aux_/include_preprocessed.hpp>\r
+\r
+#else\r
+\r
+#   define AUX778076_FOLD_IMPL_OP(iter) iter\r
+#   define AUX778076_FOLD_IMPL_NAME_PREFIX reverse_iter_fold\r
+#   include <boost/mpl/aux_/reverse_fold_impl_body.hpp>\r
+\r
+#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS\r
+#endif // BOOST_MPL_AUX_ITER_FOLD_BACKWARD_IMPL_HPP_INCLUDED\r
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 (file)
index 0000000..cde921e
--- /dev/null
@@ -0,0 +1,292 @@
+\r
+// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION\r
+\r
+#if !defined(BOOST_PP_IS_ITERATING)\r
+\r
+///// header body\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2008\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: sequence_wrapper.hpp 49271 2008-10-11 06:46:00Z agurtovoy $\r
+// $Date: 2008-10-11 02:46:00 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49271 $\r
+\r
+#   include <boost/mpl/aux_/config/ctps.hpp>\r
+#   include <boost/mpl/aux_/config/static_constant.hpp>\r
+#   include <boost/mpl/aux_/nttp_decl.hpp>\r
+\r
+#   include <boost/preprocessor/arithmetic/sub.hpp>\r
+#   include <boost/preprocessor/tuple/elem.hpp>\r
+#   include <boost/preprocessor/enum_params_with_a_default.hpp>\r
+#   include <boost/preprocessor/enum_params.hpp>\r
+#   include <boost/preprocessor/enum.hpp>\r
+#   include <boost/preprocessor/repeat.hpp>\r
+#   include <boost/preprocessor/comma_if.hpp>\r
+#   include <boost/preprocessor/iterate.hpp>\r
+\r
+#if defined(BOOST_MPL_PREPROCESSING_MODE)\r
+#   undef LONG_MAX\r
+#endif\r
+\r
+namespace boost { namespace mpl {\r
+\r
+#if !defined(AUX778076_SEQUENCE_BASE_NAME)\r
+#   define AUX778076_SEQUENCE_BASE_NAME AUX778076_SEQUENCE_NAME\r
+#endif\r
+\r
+#if !defined(AUX778076_SEQUENCE_INTEGRAL_WRAPPER)\r
+\r
+#   define AUX778076_SEQUENCE_PARAM_NAME T\r
+#   define AUX778076_SEQUENCE_TEMPLATE_PARAM typename T\r
+#   define AUX778076_SEQUENCE_DEFAULT na\r
+\r
+#   define AUX778076_SEQUENCE_NAME_N(n) \\r
+    BOOST_PP_CAT(AUX778076_SEQUENCE_BASE_NAME,n) \\r
+    /**/\r
+\r
+#   define AUX778076_SEQUENCE_PARAMS() \\r
+    BOOST_PP_ENUM_PARAMS( \\r
+          AUX778076_SEQUENCE_LIMIT \\r
+        , AUX778076_SEQUENCE_TEMPLATE_PARAM \\r
+        ) \\r
+    /**/\r
+\r
+#   define AUX778076_SEQUENCE_ARGS() \\r
+    BOOST_PP_ENUM_PARAMS( \\r
+          AUX778076_SEQUENCE_LIMIT \\r
+        , T \\r
+        ) \\r
+    /**/\r
+\r
+#   define AUX778076_SEQUENCE_DEFAULT_PARAMS() \\r
+     BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( \\r
+          AUX778076_SEQUENCE_LIMIT \\r
+        , AUX778076_SEQUENCE_TEMPLATE_PARAM \\r
+        , AUX778076_SEQUENCE_DEFAULT \\r
+        ) \\r
+    /**/\r
+\r
+#   define AUX778076_SEQUENCE_N_PARAMS(n) \\r
+    BOOST_PP_ENUM_PARAMS(n, AUX778076_SEQUENCE_TEMPLATE_PARAM) \\r
+    /**/\r
+\r
+#   define AUX778076_SEQUENCE_N_ARGS(n) \\r
+    BOOST_PP_ENUM_PARAMS(n, T) \\r
+    /**/\r
+\r
+#   define AUX778076_SEQUENCE_N_PARTIAL_SPEC_ARGS(n) \\r
+    BOOST_PP_ENUM_PARAMS(n, T) \\r
+    BOOST_PP_COMMA_IF(n) \\r
+    BOOST_PP_ENUM( \\r
+          BOOST_PP_SUB_D(1,AUX778076_SEQUENCE_LIMIT,n) \\r
+        , BOOST_PP_TUPLE_ELEM_3_2 \\r
+        , AUX778076_SEQUENCE_DEFAULT \\r
+        ) \\r
+    /**/\r
+\r
+#else // AUX778076_SEQUENCE_INTEGRAL_WRAPPER\r
+\r
+#   define AUX778076_SEQUENCE_PARAM_NAME C\r
+#   define AUX778076_SEQUENCE_TEMPLATE_PARAM BOOST_MPL_AUX_NTTP_DECL(long, C)\r
+#   define AUX778076_SEQUENCE_DEFAULT LONG_MAX\r
+\r
+#   define AUX778076_SEQUENCE_PARAMS() \\r
+    typename T, BOOST_PP_ENUM_PARAMS( \\r
+          AUX778076_SEQUENCE_LIMIT \\r
+        , AUX778076_SEQUENCE_TEMPLATE_PARAM \\r
+        ) \\r
+    /**/\r
+\r
+#   define AUX778076_SEQUENCE_ARGS() \\r
+    T, BOOST_PP_ENUM_PARAMS( \\r
+          AUX778076_SEQUENCE_LIMIT \\r
+        , C \\r
+        ) \\r
+    /**/\r
+\r
+#   define AUX778076_SEQUENCE_DEFAULT_PARAMS() \\r
+    typename T, \\r
+    BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( \\r
+          AUX778076_SEQUENCE_LIMIT \\r
+        , AUX778076_SEQUENCE_TEMPLATE_PARAM \\r
+        , AUX778076_SEQUENCE_DEFAULT \\r
+        ) \\r
+    /**/\r
+\r
+#   define AUX778076_SEQUENCE_N_PARAMS(n) \\r
+    typename T BOOST_PP_COMMA_IF(n) \\r
+    BOOST_PP_ENUM_PARAMS(n, AUX778076_SEQUENCE_TEMPLATE_PARAM) \\r
+    /**/\r
+\r
+#   if !defined(AUX778076_SEQUENCE_CONVERT_CN_TO)\r
+#       define AUX778076_SEQUENCE_CONVERT_CN_TO(z,n,TARGET) BOOST_PP_CAT(C,n)\r
+#   endif\r
+\r
+#   define AUX778076_SEQUENCE_N_ARGS(n) \\r
+    T BOOST_PP_COMMA_IF(n) \\r
+    BOOST_PP_ENUM(n,AUX778076_SEQUENCE_CONVERT_CN_TO,T) \\r
+    /**/\r
+\r
+#   define AUX778076_SEQUENCE_N_PARTIAL_SPEC_ARGS(n) \\r
+    T, BOOST_PP_ENUM_PARAMS(n, C) \\r
+    BOOST_PP_COMMA_IF(n) \\r
+    BOOST_PP_ENUM( \\r
+          BOOST_PP_SUB_D(1,AUX778076_SEQUENCE_LIMIT,n) \\r
+        , BOOST_PP_TUPLE_ELEM_3_2 \\r
+        , AUX778076_SEQUENCE_DEFAULT \\r
+        ) \\r
+    /**/\r
+\r
+#endif // AUX778076_SEQUENCE_INTEGRAL_WRAPPER\r
+\r
+\r
+#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)\r
+// forward declaration\r
+template<\r
+      AUX778076_SEQUENCE_DEFAULT_PARAMS()\r
+    >\r
+struct AUX778076_SEQUENCE_NAME;\r
+#else\r
+namespace aux {\r
+template< BOOST_MPL_AUX_NTTP_DECL(int, N) > \r
+struct BOOST_PP_CAT(AUX778076_SEQUENCE_NAME,_chooser);\r
+}\r
+#endif\r
+\r
+#define BOOST_PP_ITERATION_PARAMS_1 \\r
+    (3,(0, AUX778076_SEQUENCE_LIMIT, <boost/mpl/aux_/sequence_wrapper.hpp>))\r
+#include BOOST_PP_ITERATE()\r
+\r
+// real C++ version is already taken care of\r
+#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)\r
+\r
+namespace aux {\r
+// ???_count_args\r
+#define AUX778076_COUNT_ARGS_PREFIX         AUX778076_SEQUENCE_NAME\r
+#define AUX778076_COUNT_ARGS_DEFAULT        AUX778076_SEQUENCE_DEFAULT\r
+#define AUX778076_COUNT_ARGS_PARAM_NAME     AUX778076_SEQUENCE_PARAM_NAME\r
+#define AUX778076_COUNT_ARGS_TEMPLATE_PARAM AUX778076_SEQUENCE_TEMPLATE_PARAM\r
+#define AUX778076_COUNT_ARGS_ARITY          AUX778076_SEQUENCE_LIMIT\r
+#define AUX778076_COUNT_ARGS_USE_STANDARD_PP_PRIMITIVES\r
+#include <boost/mpl/aux_/count_args.hpp>\r
+\r
+template<\r
+      AUX778076_SEQUENCE_PARAMS()\r
+    >\r
+struct BOOST_PP_CAT(AUX778076_SEQUENCE_NAME,_impl)\r
+{\r
+    typedef aux::BOOST_PP_CAT(AUX778076_SEQUENCE_NAME,_count_args)<\r
+          BOOST_PP_ENUM_PARAMS(AUX778076_SEQUENCE_LIMIT, AUX778076_SEQUENCE_PARAM_NAME)\r
+        > arg_num_;\r
+    \r
+    typedef typename aux::BOOST_PP_CAT(AUX778076_SEQUENCE_NAME,_chooser)< arg_num_::value >\r
+        ::template result_< AUX778076_SEQUENCE_ARGS() >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      AUX778076_SEQUENCE_DEFAULT_PARAMS()\r
+    >\r
+struct AUX778076_SEQUENCE_NAME\r
+    : aux::BOOST_PP_CAT(AUX778076_SEQUENCE_NAME,_impl)<\r
+          AUX778076_SEQUENCE_ARGS()\r
+        >::type\r
+{\r
+    typedef typename aux::BOOST_PP_CAT(AUX778076_SEQUENCE_NAME,_impl)<\r
+          AUX778076_SEQUENCE_ARGS()\r
+        >::type type;\r
+};\r
+\r
+#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+\r
+#   undef AUX778076_SEQUENCE_N_PARTIAL_SPEC_ARGS\r
+#   undef AUX778076_SEQUENCE_N_ARGS\r
+#   undef AUX778076_SEQUENCE_CONVERT_CN_TO\r
+#   undef AUX778076_SEQUENCE_N_PARAMS\r
+#   undef AUX778076_SEQUENCE_DEFAULT_PARAMS\r
+#   undef AUX778076_SEQUENCE_ARGS\r
+#   undef AUX778076_SEQUENCE_PARAMS\r
+#   undef AUX778076_SEQUENCE_NAME_N\r
+#   undef AUX778076_SEQUENCE_DEFAULT\r
+#   undef AUX778076_SEQUENCE_TEMPLATE_PARAM\r
+#   undef AUX778076_SEQUENCE_PARAM_NAME\r
+#   undef AUX778076_SEQUENCE_LIMIT\r
+#   undef AUX778076_SEQUENCE_BASE_NAME\r
+#   undef AUX778076_SEQUENCE_NAME\r
+#   undef AUX778076_SEQUENCE_INTEGRAL_WRAPPER\r
+\r
+}}\r
+\r
+///// iteration\r
+\r
+#else\r
+#define i_ BOOST_PP_FRAME_ITERATION(1)\r
+\r
+#   if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)\r
+\r
+#if i_ == AUX778076_SEQUENCE_LIMIT\r
+\r
+/// primary template (not a specialization!)\r
+template<\r
+      AUX778076_SEQUENCE_N_PARAMS(i_)\r
+    >\r
+struct AUX778076_SEQUENCE_NAME\r
+    : AUX778076_SEQUENCE_NAME_N(i_)< AUX778076_SEQUENCE_N_ARGS(i_) >\r
+{\r
+    typedef typename AUX778076_SEQUENCE_NAME_N(i_)< AUX778076_SEQUENCE_N_ARGS(i_) >::type type;\r
+};\r
+\r
+#else\r
+\r
+template<\r
+      AUX778076_SEQUENCE_N_PARAMS(i_)\r
+    >\r
+struct AUX778076_SEQUENCE_NAME< AUX778076_SEQUENCE_N_PARTIAL_SPEC_ARGS(i_) >\r
+    : AUX778076_SEQUENCE_NAME_N(i_)< AUX778076_SEQUENCE_N_ARGS(i_) >\r
+{\r
+#if i_ > 0 || defined(AUX778076_SEQUENCE_INTEGRAL_WRAPPER)\r
+    typedef typename AUX778076_SEQUENCE_NAME_N(i_)< AUX778076_SEQUENCE_N_ARGS(i_) >::type type;\r
+#else\r
+    typedef AUX778076_SEQUENCE_NAME_N(i_)< AUX778076_SEQUENCE_N_ARGS(i_) >::type type;\r
+#endif\r
+};\r
+\r
+#endif // i_ == AUX778076_SEQUENCE_LIMIT\r
+\r
+#   else\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct BOOST_PP_CAT(AUX778076_SEQUENCE_NAME,_chooser)<i_>\r
+{\r
+    template<\r
+          AUX778076_SEQUENCE_PARAMS()\r
+        >\r
+    struct result_\r
+    {\r
+#if i_ > 0 || defined(AUX778076_SEQUENCE_INTEGRAL_WRAPPER)\r
+        typedef typename AUX778076_SEQUENCE_NAME_N(i_)<\r
+              AUX778076_SEQUENCE_N_ARGS(i_)\r
+            >::type type;\r
+#else\r
+        typedef AUX778076_SEQUENCE_NAME_N(i_)<\r
+              AUX778076_SEQUENCE_N_ARGS(i_)\r
+            >::type type;\r
+#endif\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+#   endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+\r
+#undef i_\r
+#endif // BOOST_PP_IS_ITERATING\r
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 (file)
index 0000000..8a6561c
--- /dev/null
@@ -0,0 +1,87 @@
+\r
+// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: shift_op.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#if !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+#   include <boost/mpl/integral_c.hpp>\r
+#   include <boost/mpl/aux_/value_wknd.hpp>\r
+#endif\r
+\r
+#if !defined(AUX778076_OP_PREFIX)\r
+#   define AUX778076_OP_PREFIX AUX778076_OP_NAME\r
+#endif\r
+\r
+#define AUX778076_OP_ARITY 2\r
+\r
+#include <boost/mpl/aux_/numeric_op.hpp>\r
+#include <boost/mpl/aux_/config/static_constant.hpp>\r
+#include <boost/mpl/aux_/config/use_preprocessed.hpp>\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \\r
+    && !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+\r
+#   define BOOST_MPL_PREPROCESSED_HEADER AUX778076_OP_PREFIX.hpp\r
+#   include <boost/mpl/aux_/include_preprocessed.hpp>\r
+\r
+#else\r
+\r
+#   include <boost/mpl/aux_/config/integral.hpp>\r
+#   include <boost/preprocessor/cat.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+#if defined(BOOST_MPL_CFG_NO_NESTED_VALUE_ARITHMETIC)\r
+namespace aux {\r
+template< typename T, typename Shift, T n, Shift s >\r
+struct BOOST_PP_CAT(AUX778076_OP_PREFIX,_wknd)\r
+{\r
+    BOOST_STATIC_CONSTANT(T, value = (n AUX778076_OP_TOKEN s));\r
+    typedef integral_c<T,value> type;\r
+};\r
+}\r
+#endif\r
+\r
+template<>\r
+struct AUX778076_OP_IMPL_NAME<integral_c_tag,integral_c_tag>\r
+{\r
+    template< typename N, typename S > struct apply\r
+#if !defined(BOOST_MPL_CFG_NO_NESTED_VALUE_ARITHMETIC)\r
+        : integral_c<\r
+              typename N::value_type\r
+            , ( BOOST_MPL_AUX_VALUE_WKND(N)::value\r
+                  AUX778076_OP_TOKEN BOOST_MPL_AUX_VALUE_WKND(S)::value\r
+                )\r
+            >\r
+#else\r
+        : aux::BOOST_PP_CAT(AUX778076_OP_PREFIX,_wknd)<\r
+              typename N::value_type\r
+            , typename S::value_type\r
+            , N::value\r
+            , S::value\r
+            >::type\r
+#endif\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS\r
+\r
+#undef AUX778076_OP_TAG_NAME\r
+#undef AUX778076_OP_IMPL_NAME\r
+#undef AUX778076_OP_ARITY\r
+#undef AUX778076_OP_PREFIX\r
+#undef AUX778076_OP_NAME\r
+#undef AUX778076_OP_TOKEN\r
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 (file)
index 0000000..0b37acc
--- /dev/null
@@ -0,0 +1,118 @@
+\r
+#ifndef BOOST_MPL_AUX_SINGLE_ELEMENT_ITER_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_SINGLE_ELEMENT_ITER_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: single_element_iter.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/iterator_tags.hpp>\r
+#include <boost/mpl/advance_fwd.hpp>\r
+#include <boost/mpl/distance_fwd.hpp>\r
+#include <boost/mpl/next_prior.hpp>\r
+#include <boost/mpl/deref.hpp>\r
+#include <boost/mpl/int.hpp>\r
+#include <boost/mpl/aux_/nttp_decl.hpp>\r
+#include <boost/mpl/aux_/value_wknd.hpp>\r
+#include <boost/mpl/aux_/config/ctps.hpp>\r
+\r
+namespace boost { namespace mpl { \r
+\r
+#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)\r
+\r
+namespace aux {\r
+\r
+template< typename T, BOOST_MPL_AUX_NTTP_DECL(int, is_last_) >\r
+struct sel_iter;\r
+\r
+template< typename T >\r
+struct sel_iter<T,0>\r
+{\r
+    typedef random_access_iterator_tag category;\r
+    typedef sel_iter<T,1> next;\r
+    typedef T type;\r
+};\r
+\r
+template< typename T >\r
+struct sel_iter<T,1>\r
+{\r
+    typedef random_access_iterator_tag category;\r
+    typedef sel_iter<T,0> prior;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template< typename T, BOOST_MPL_AUX_NTTP_DECL(int, is_last_), typename Distance >\r
+struct advance< aux::sel_iter<T,is_last_>,Distance>\r
+{\r
+    typedef aux::sel_iter<\r
+          T\r
+        , ( is_last_ + BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Distance) )\r
+        > type;\r
+};\r
+\r
+template< \r
+      typename T\r
+    , BOOST_MPL_AUX_NTTP_DECL(int, l1)\r
+    , BOOST_MPL_AUX_NTTP_DECL(int, l2) \r
+    >\r
+struct distance< aux::sel_iter<T,l1>, aux::sel_iter<T,l2> >\r
+    : int_<( l2 - l1 )>\r
+{\r
+};\r
+\r
+#else\r
+\r
+namespace aux {\r
+\r
+struct sel_iter_tag;\r
+\r
+template< typename T, BOOST_MPL_AUX_NTTP_DECL(int, is_last_) >\r
+struct sel_iter\r
+{\r
+    enum { pos_ = is_last_ };\r
+    typedef aux::sel_iter_tag tag;\r
+    typedef random_access_iterator_tag category;\r
+\r
+    typedef sel_iter<T,(is_last_ + 1)> next;\r
+    typedef sel_iter<T,(is_last_ - 1)> prior;\r
+    typedef T type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<> struct advance_impl<aux::sel_iter_tag>\r
+{\r
+    template< typename Iterator, typename N > struct apply\r
+    {\r
+        enum { pos_ = Iterator::pos_, n_ = N::value };\r
+        typedef aux::sel_iter<\r
+              typename Iterator::type\r
+            , (pos_ + n_)\r
+            > type;\r
+    };\r
+};\r
+\r
+template<> struct distance_impl<aux::sel_iter_tag>\r
+{\r
+    template< typename Iter1, typename Iter2 > struct apply\r
+    {\r
+        enum { pos1_ = Iter1::pos_, pos2_ = Iter2::pos_ };\r
+        typedef int_<( pos2_ - pos1_ )> type;\r
+        BOOST_STATIC_CONSTANT(int, value = ( pos2_ - pos1_ ));\r
+    };\r
+};\r
+\r
+#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_AUX_SINGLE_ELEMENT_ITER_HPP_INCLUDED\r
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 (file)
index 0000000..1c4d010
--- /dev/null
@@ -0,0 +1,52 @@
+\r
+#ifndef BOOST_MPL_AUX_SIZE_IMPL_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_SIZE_IMPL_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: size_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/size_fwd.hpp>\r
+#include <boost/mpl/begin_end.hpp>\r
+#include <boost/mpl/distance.hpp>\r
+#include <boost/mpl/aux_/traits_lambda_spec.hpp>\r
+#include <boost/mpl/aux_/config/workaround.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+// default implementation; conrete sequences might override it by \r
+// specializing either the 'size_impl' or the primary 'size' template\r
+\r
+template< typename Tag >\r
+struct size_impl\r
+{\r
+    template< typename Sequence > struct apply\r
+#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x561))\r
+        : distance<\r
+              typename begin<Sequence>::type\r
+            , typename end<Sequence>::type\r
+            >\r
+    {\r
+#else\r
+    {\r
+        typedef typename distance<\r
+              typename begin<Sequence>::type\r
+            , typename end<Sequence>::type\r
+            >::type type;\r
+#endif\r
+    };\r
+};\r
+\r
+BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(1, size_impl)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_AUX_SIZE_IMPL_HPP_INCLUDED\r
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 (file)
index 0000000..320b756
--- /dev/null
@@ -0,0 +1,121 @@
+\r
+#ifndef BOOST_MPL_AUX_SORT_IMPL_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_SORT_IMPL_HPP_INCLUDED\r
+\r
+// Copyright Eric Friedman 2002-2003\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: sort_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/partition.hpp>\r
+#include <boost/mpl/copy.hpp>\r
+#include <boost/mpl/vector.hpp>\r
+#include <boost/mpl/back_inserter.hpp>\r
+#include <boost/mpl/front_inserter.hpp>\r
+#include <boost/mpl/iterator_range.hpp>\r
+#include <boost/mpl/joint_view.hpp>\r
+#include <boost/mpl/single_view.hpp>\r
+#include <boost/mpl/begin_end.hpp>\r
+#include <boost/mpl/empty.hpp>\r
+#include <boost/mpl/deref.hpp>\r
+#include <boost/mpl/eval_if.hpp>\r
+#include <boost/mpl/apply.hpp>\r
+#include <boost/mpl/identity.hpp>\r
+#include <boost/mpl/less.hpp>\r
+#include <boost/mpl/aux_/na.hpp>\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+template< typename Seq, typename Pred >\r
+struct quick_sort;\r
+\r
+// agurt, 10/nov/04: for the sake of deficeint compilers \r
+template< typename Pred, typename Pivot >\r
+struct quick_sort_pred\r
+{\r
+    template< typename T > struct apply\r
+    {\r
+        typedef typename apply2<Pred,T,Pivot>::type type;\r
+    };\r
+};\r
+\r
+template< \r
+      typename Seq\r
+    , typename Pred\r
+    >\r
+struct quick_sort_impl\r
+{\r
+    typedef typename begin<Seq>::type pivot;\r
+    typedef typename partition<\r
+          iterator_range< \r
+              typename next<pivot>::type\r
+            , typename end<Seq>::type\r
+            >\r
+        , protect< aux::quick_sort_pred< Pred, typename deref<pivot>::type > >\r
+        , back_inserter< vector<> >\r
+        , back_inserter< vector<> >\r
+        >::type partitioned;\r
+\r
+    typedef typename quick_sort< typename partitioned::first, Pred >::type part1;\r
+    typedef typename quick_sort< typename partitioned::second, Pred >::type part2;\r
+\r
+    typedef joint_view< \r
+              joint_view< part1, single_view< typename deref<pivot>::type > >\r
+            , part2\r
+            > type;\r
+};\r
+\r
+template< \r
+      typename Seq\r
+    , typename Pred\r
+    >\r
+struct quick_sort\r
+    : eval_if<\r
+          empty<Seq>\r
+        , identity<Seq>\r
+        , quick_sort_impl<Seq,Pred>\r
+        >\r
+{\r
+};\r
+\r
+\r
+template <\r
+      typename Sequence\r
+    , typename Pred\r
+    , typename In\r
+    >\r
+struct sort_impl\r
+{\r
+    typedef typename quick_sort< \r
+          Sequence\r
+        , typename if_na<Pred,less<> >::type\r
+        >::type result_;\r
+        \r
+    typedef typename copy<result_,In>::type type;\r
+};\r
+\r
+template <\r
+      typename Sequence\r
+    , typename Pred\r
+    , typename In\r
+    >\r
+struct reverse_sort_impl\r
+{\r
+    typedef typename quick_sort< \r
+          Sequence\r
+        , typename if_na<Pred,less<> >::type\r
+        >::type result_;\r
+        \r
+    typedef typename reverse_copy<result_,In>::type type;\r
+};\r
+\r
+}}}\r
+\r
+#endif // BOOST_MPL_AUX_SORT_IMPL_HPP_INCLUDED\r
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 (file)
index 0000000..35e3461
--- /dev/null
@@ -0,0 +1,27 @@
+\r
+#ifndef BOOST_MPL_AUX_STATIC_CAST_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_STATIC_CAST_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: static_cast.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/aux_/config/workaround.hpp>\r
+\r
+#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x561)) \\r
+ || BOOST_WORKAROUND(__GNUC__, < 3) \\r
+ || BOOST_WORKAROUND(__MWERKS__, <= 0x3001)\r
+#   define BOOST_MPL_AUX_STATIC_CAST(T, expr) (T)(expr)\r
+#else\r
+#   define BOOST_MPL_AUX_STATIC_CAST(T, expr) static_cast<T>(expr)\r
+#endif\r
+\r
+#endif // BOOST_MPL_AUX_STATIC_CAST_HPP_INCLUDED\r
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 (file)
index 0000000..157fe56
--- /dev/null
@@ -0,0 +1,189 @@
+\r
+#if !defined(BOOST_PP_IS_ITERATING)\r
+\r
+///// header body\r
+\r
+#ifndef BOOST_MPL_AUX_TEMPLATE_ARITY_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_TEMPLATE_ARITY_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: template_arity.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/aux_/config/ttp.hpp>\r
+#include <boost/mpl/aux_/config/lambda.hpp>\r
+\r
+#if !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+#   include <boost/mpl/aux_/template_arity_fwd.hpp>\r
+#   include <boost/mpl/int.hpp>\r
+#   if !defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT)\r
+#   if defined(BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING)\r
+#       include <boost/mpl/aux_/type_wrapper.hpp>\r
+#   endif\r
+#   else\r
+#       include <boost/mpl/aux_/has_rebind.hpp>\r
+#   endif\r
+#endif\r
+\r
+#include <boost/mpl/aux_/config/static_constant.hpp>\r
+#include <boost/mpl/aux_/config/use_preprocessed.hpp>\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \\r
+    && !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+\r
+#   define BOOST_MPL_PREPROCESSED_HEADER template_arity.hpp\r
+#   include <boost/mpl/aux_/include_preprocessed.hpp>\r
+\r
+#else\r
+\r
+#   if !defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT)\r
+#   if defined(BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING)\r
+\r
+#   include <boost/mpl/limits/arity.hpp>\r
+#   include <boost/mpl/aux_/preprocessor/range.hpp>\r
+#   include <boost/mpl/aux_/preprocessor/repeat.hpp>\r
+#   include <boost/mpl/aux_/preprocessor/params.hpp>\r
+#   include <boost/mpl/aux_/nttp_decl.hpp>\r
+\r
+#   include <boost/preprocessor/seq/fold_left.hpp>\r
+#   include <boost/preprocessor/comma_if.hpp>\r
+#   include <boost/preprocessor/iterate.hpp>\r
+#   include <boost/preprocessor/inc.hpp>\r
+#   include <boost/preprocessor/cat.hpp>\r
+\r
+#   define AUX778076_ARITY BOOST_PP_INC(BOOST_MPL_LIMIT_METAFUNCTION_ARITY)\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+template< BOOST_MPL_AUX_NTTP_DECL(int, N) > struct arity_tag\r
+{\r
+    typedef char (&type)[N + 1];\r
+};\r
+\r
+#   define AUX778076_MAX_ARITY_OP(unused, state, i_) \\r
+    ( BOOST_PP_CAT(C,i_) > 0 ? BOOST_PP_CAT(C,i_) : state ) \\r
+/**/\r
+\r
+template<\r
+      BOOST_MPL_PP_PARAMS(AUX778076_ARITY, BOOST_MPL_AUX_NTTP_DECL(int, C))\r
+    >\r
+struct max_arity\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value = \r
+          BOOST_PP_SEQ_FOLD_LEFT(\r
+              AUX778076_MAX_ARITY_OP\r
+            , -1\r
+            , BOOST_MPL_PP_RANGE(1, AUX778076_ARITY)\r
+            )\r
+        );\r
+};\r
+\r
+#   undef AUX778076_MAX_ARITY_OP\r
+\r
+arity_tag<0>::type arity_helper(...);\r
+\r
+#   define BOOST_PP_ITERATION_LIMITS (1, AUX778076_ARITY)\r
+#   define BOOST_PP_FILENAME_1 <boost/mpl/aux_/template_arity.hpp>\r
+#   include BOOST_PP_ITERATE()\r
+\r
+template< typename F, BOOST_MPL_AUX_NTTP_DECL(int, N) >\r
+struct template_arity_impl\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value = \r
+          sizeof(arity_helper(type_wrapper<F>(),arity_tag<N>())) - 1\r
+        );\r
+};\r
+\r
+#   define AUX778076_TEMPLATE_ARITY_IMPL_INVOCATION(unused, i_, F) \\r
+    BOOST_PP_COMMA_IF(i_) template_arity_impl<F,BOOST_PP_INC(i_)>::value \\r
+/**/\r
+\r
+template< typename F >\r
+struct template_arity\r
+{\r
+    BOOST_STATIC_CONSTANT(int, value = (\r
+          max_arity< BOOST_MPL_PP_REPEAT(\r
+              AUX778076_ARITY\r
+            , AUX778076_TEMPLATE_ARITY_IMPL_INVOCATION\r
+            , F\r
+            ) >::value\r
+        ));\r
+        \r
+    typedef mpl::int_<value> type;\r
+};\r
+\r
+#   undef AUX778076_TEMPLATE_ARITY_IMPL_INVOCATION\r
+\r
+#   undef AUX778076_ARITY\r
+\r
+}}}\r
+\r
+#   endif // BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING\r
+#   else // BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT\r
+\r
+#   include <boost/mpl/aux_/config/eti.hpp>\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+template< bool >\r
+struct template_arity_impl\r
+{\r
+    template< typename F > struct result_\r
+        : mpl::int_<-1>\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct template_arity_impl<true>\r
+{\r
+    template< typename F > struct result_\r
+        : F::arity\r
+    {\r
+    };\r
+};\r
+\r
+template< typename F >\r
+struct template_arity\r
+    : template_arity_impl< ::boost::mpl::aux::has_rebind<F>::value >\r
+        ::template result_<F>\r
+{\r
+};\r
+\r
+#if defined(BOOST_MPL_CFG_MSVC_ETI_BUG)\r
+template<>\r
+struct template_arity<int>\r
+    : mpl::int_<-1>\r
+{\r
+};\r
+#endif\r
+\r
+}}}\r
+\r
+#   endif // BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT\r
+\r
+#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS\r
+#endif // BOOST_MPL_AUX_TEMPLATE_ARITY_HPP_INCLUDED\r
+\r
+///// iteration\r
+\r
+#else\r
+#define i_ BOOST_PP_FRAME_ITERATION(1)\r
+\r
+template<\r
+      template< BOOST_MPL_PP_PARAMS(i_, typename P) > class F\r
+    , BOOST_MPL_PP_PARAMS(i_, typename T)\r
+    >\r
+typename arity_tag<i_>::type\r
+arity_helper(type_wrapper< F<BOOST_MPL_PP_PARAMS(i_, T)> >, arity_tag<i_>);\r
+\r
+#undef i_\r
+#endif // BOOST_PP_IS_ITERATING\r
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 (file)
index 0000000..06f4ff3
--- /dev/null
@@ -0,0 +1,23 @@
+\r
+#ifndef BOOST_MPL_AUX_TEMPLATE_ARITY_FWD_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_TEMPLATE_ARITY_FWD_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: template_arity_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+template< typename F > struct template_arity;\r
+\r
+}}}\r
+\r
+#endif // BOOST_MPL_AUX_TEMPLATE_ARITY_FWD_HPP_INCLUDED\r
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 (file)
index 0000000..6af245b
--- /dev/null
@@ -0,0 +1,32 @@
+\r
+#ifndef BOOST_MPL_AUX_TEST_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_TEST_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2002-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: test.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/aux_/test/test_case.hpp>\r
+#include <boost/mpl/aux_/test/data.hpp>\r
+#include <boost/mpl/aux_/test/assert.hpp>\r
+#include <boost/detail/lightweight_test.hpp>\r
+\r
+#include <boost/type_traits/is_same.hpp>\r
+\r
+int main()\r
+{\r
+    return boost::report_errors();\r
+}\r
+\r
+using namespace boost;\r
+using namespace mpl;\r
+\r
+#endif // BOOST_MPL_AUX_TEST_HPP_INCLUDED\r
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 (file)
index 0000000..8117b88
--- /dev/null
@@ -0,0 +1,29 @@
+\r
+#ifndef BOOST_MPL_AUX_TEST_ASSERT_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_TEST_ASSERT_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2002-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: assert.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/assert.hpp>\r
+#include <boost/preprocessor/cat.hpp>\r
+\r
+#define MPL_ASSERT(pred)                BOOST_MPL_ASSERT(pred)\r
+#define MPL_ASSERT_NOT(pred)            BOOST_MPL_ASSERT_NOT(pred)\r
+#define MPL_ASSERT_MSG(c, msg, types)   BOOST_MPL_ASSERT_MSG(c, msg, types)\r
+#define MPL_ASSERT_RELATION(x, rel, y)  BOOST_MPL_ASSERT_RELATION(x, rel, y)\r
+\r
+#define MPL_ASSERT_INSTANTIATION(x) \\r
+    enum { BOOST_PP_CAT(instantiation_test, __LINE__) = sizeof( x ) } \\r
+/**/\r
+\r
+#endif // BOOST_MPL_AUX_TEST_ASSERT_HPP_INCLUDED\r
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 (file)
index 0000000..e6be8ed
--- /dev/null
@@ -0,0 +1,25 @@
+\r
+#ifndef BOOST_MPL_AUX_TEST_DATA_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_TEST_DATA_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2002-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: data.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/noncopyable.hpp>\r
+\r
+enum enum_ {};\r
+struct UDT {};\r
+struct incomplete;\r
+class abstract { public: virtual ~abstract() = 0; };\r
+using boost::noncopyable;\r
+\r
+#endif // BOOST_MPL_AUX_TEST_DATA_HPP_INCLUDED\r
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 (file)
index 0000000..13f0342
--- /dev/null
@@ -0,0 +1,21 @@
+\r
+#ifndef BOOST_MPL_AUX_TEST_TEST_CASE_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_TEST_TEST_CASE_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2002-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: test_case.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/preprocessor/cat.hpp>\r
+\r
+#define MPL_TEST_CASE() void BOOST_PP_CAT(test,__LINE__)()\r
+\r
+#endif // BOOST_MPL_AUX_TEST_TEST_CASE_HPP_INCLUDED\r
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 (file)
index 0000000..a38f8aa
--- /dev/null
@@ -0,0 +1,63 @@
+\r
+#ifndef BOOST_MPL_AUX_TRAITS_LAMBDA_SPEC_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_TRAITS_LAMBDA_SPEC_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2008\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: traits_lambda_spec.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/sequence_tag_fwd.hpp>\r
+#include <boost/mpl/void.hpp>\r
+#include <boost/mpl/aux_/preprocessor/params.hpp>\r
+#include <boost/mpl/aux_/config/lambda.hpp>\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT)\r
+\r
+#   define BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC_IMPL(i, trait) /**/\r
+\r
+#elif !defined(BOOST_MPL_CFG_MSVC_ETI_BUG)\r
+\r
+#   define BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC_IMPL(i, trait) \\r
+template<> struct trait<void_> \\r
+{ \\r
+    template< BOOST_MPL_PP_PARAMS(i, typename T) > struct apply \\r
+    { \\r
+    }; \\r
+}; \\r
+/**/\r
+\r
+#else\r
+\r
+#   define BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC_IMPL(i, trait) \\r
+template<> struct trait<void_> \\r
+{ \\r
+    template< BOOST_MPL_PP_PARAMS(i, typename T) > struct apply \\r
+    { \\r
+    }; \\r
+}; \\r
+template<> struct trait<int> \\r
+{ \\r
+    template< BOOST_MPL_PP_PARAMS(i, typename T) > struct apply \\r
+    { \\r
+        typedef int type; \\r
+    }; \\r
+}; \\r
+/**/\r
+\r
+#endif // BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT\r
+\r
+\r
+#define BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(i, trait) \\r
+    BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC_IMPL(i, trait) \\r
+    template<> struct trait<non_sequence_tag> {}; \\r
+/**/\r
+\r
+#endif // BOOST_MPL_AUX_TRAITS_LAMBDA_SPEC_HPP_INCLUDED\r
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 (file)
index 0000000..9ca7106
--- /dev/null
@@ -0,0 +1,123 @@
+\r
+#ifndef BOOST_MPL_AUX_TRANSFORM_ITER_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_TRANSFORM_ITER_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: transform_iter.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/apply.hpp>\r
+#include <boost/mpl/iterator_tags.hpp>\r
+#include <boost/mpl/next.hpp>\r
+#include <boost/mpl/deref.hpp>\r
+#include <boost/mpl/aux_/lambda_spec.hpp>\r
+#include <boost/mpl/aux_/config/ctps.hpp>\r
+#include <boost/type_traits/is_same.hpp>\r
+\r
+namespace boost { namespace mpl { \r
+\r
+namespace aux {\r
+\r
+#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)\r
+\r
+template<\r
+      typename Iterator\r
+    , typename LastIterator\r
+    , typename F\r
+    >\r
+struct transform_iter\r
+{\r
+    typedef Iterator base;\r
+    typedef forward_iterator_tag category;\r
+    typedef transform_iter< typename mpl::next<base>::type,LastIterator,F > next;\r
+    \r
+    typedef typename apply1<\r
+          F\r
+        , typename deref<base>::type\r
+        >::type type;\r
+};\r
+\r
+template<\r
+      typename LastIterator\r
+    , typename F\r
+    >\r
+struct transform_iter< LastIterator,LastIterator,F >\r
+{\r
+    typedef LastIterator base;\r
+    typedef forward_iterator_tag category;\r
+};\r
+\r
+#else\r
+\r
+template<\r
+      typename Iterator\r
+    , typename LastIterator\r
+    , typename F\r
+    >\r
+struct transform_iter;\r
+\r
+template< bool >\r
+struct transform_iter_impl \r
+{\r
+    template<\r
+          typename Iterator\r
+        , typename LastIterator\r
+        , typename F\r
+        >\r
+    struct result_\r
+    {\r
+        typedef Iterator base;\r
+        typedef forward_iterator_tag category;\r
+        typedef transform_iter< typename mpl::next<Iterator>::type,LastIterator,F > next;\r
+        \r
+        typedef typename apply1<\r
+              F\r
+            , typename deref<Iterator>::type\r
+            >::type type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct transform_iter_impl<true>\r
+{\r
+    template<\r
+          typename Iterator\r
+        , typename LastIterator\r
+        , typename F\r
+        >\r
+    struct result_\r
+    {\r
+        typedef Iterator base;\r
+        typedef forward_iterator_tag category;\r
+    };\r
+};\r
+\r
+template<\r
+      typename Iterator\r
+    , typename LastIterator\r
+    , typename F\r
+    >\r
+struct transform_iter\r
+    : transform_iter_impl<\r
+          ::boost::is_same<Iterator,LastIterator>::value\r
+        >::template result_< Iterator,LastIterator,F >\r
+{\r
+};\r
+\r
+#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(3, aux::transform_iter)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_AUX_TRANSFORM_ITER_HPP_INCLUDED\r
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 (file)
index 0000000..02ae1a2
--- /dev/null
@@ -0,0 +1,47 @@
+\r
+#ifndef BOOST_MPL_AUX_TYPE_WRAPPER_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_TYPE_WRAPPER_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright Peter Dimov 2000-2003\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: type_wrapper.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/aux_/config/ctps.hpp>\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+template< typename T > struct type_wrapper\r
+{\r
+    typedef T type;\r
+};\r
+\r
+#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)\r
+// agurt 08/may/03: a complicated way to extract the wrapped type; need it \r
+// mostly for the sake of GCC (3.2.x), which ICEs if you try to extract the \r
+// nested 'type' from 'type_wrapper<T>' when the latter was the result of a\r
+// 'typeof' expression\r
+template< typename T > struct wrapped_type;\r
+\r
+template< typename T > struct wrapped_type< type_wrapper<T> >\r
+{\r
+    typedef T type;\r
+};\r
+#else\r
+template< typename W > struct wrapped_type\r
+{\r
+    typedef typename W::type type;\r
+};\r
+#endif\r
+\r
+}}}\r
+\r
+#endif // BOOST_MPL_AUX_TYPE_WRAPPER_HPP_INCLUDED\r
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 (file)
index 0000000..db19c0f
--- /dev/null
@@ -0,0 +1,47 @@
+\r
+#ifndef BOOST_MPL_AUX_UNWRAP_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_UNWRAP_HPP_INCLUDED\r
+\r
+// Copyright Peter Dimov and Multi Media Ltd 2001, 2002\r
+// Copyright David Abrahams 2001\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: unwrap.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/ref.hpp>\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+template< typename F >\r
+inline\r
+F& unwrap(F& f, long)\r
+{\r
+    return f;\r
+}\r
+\r
+template< typename F >\r
+inline\r
+F&\r
+unwrap(reference_wrapper<F>& f, int)\r
+{\r
+    return f;\r
+}\r
+\r
+template< typename F >\r
+inline\r
+F&\r
+unwrap(reference_wrapper<F> const& f, int)\r
+{\r
+    return f;\r
+}\r
+\r
+}}}\r
+\r
+#endif // BOOST_MPL_AUX_UNWRAP_HPP_INCLUDED\r
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 (file)
index 0000000..513108a
--- /dev/null
@@ -0,0 +1,89 @@
+\r
+#ifndef BOOST_MPL_AUX_VALUE_WKND_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_VALUE_WKND_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: value_wknd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/aux_/static_cast.hpp>\r
+#include <boost/mpl/aux_/config/integral.hpp>\r
+#include <boost/mpl/aux_/config/eti.hpp>\r
+#include <boost/mpl/aux_/config/workaround.hpp>\r
+\r
+#if defined(BOOST_MPL_CFG_BCC_INTEGRAL_CONSTANTS) \\r
+    || defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG)\r
+\r
+#   include <boost/mpl/int.hpp>\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+template< typename C_ > struct value_wknd\r
+    : C_\r
+{\r
+};\r
+\r
+#if defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG)\r
+template<> struct value_wknd<int>\r
+    : int_<1>\r
+{\r
+    using int_<1>::value;\r
+};\r
+#endif\r
+}}}\r
+\r
+\r
+#if !defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG)\r
+#   define BOOST_MPL_AUX_VALUE_WKND(C) \\r
+    ::BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::aux::value_wknd< C > \\r
+/**/\r
+#    define BOOST_MPL_AUX_MSVC_VALUE_WKND(C) BOOST_MPL_AUX_VALUE_WKND(C)\r
+#else\r
+#   define BOOST_MPL_AUX_VALUE_WKND(C) C\r
+#   define BOOST_MPL_AUX_MSVC_VALUE_WKND(C) \\r
+    ::boost::mpl::aux::value_wknd< C > \\r
+/**/\r
+#endif\r
+\r
+#else // BOOST_MPL_CFG_BCC_INTEGRAL_CONSTANTS\r
+\r
+#   define BOOST_MPL_AUX_VALUE_WKND(C) C\r
+#   define BOOST_MPL_AUX_MSVC_VALUE_WKND(C) C\r
+\r
+#endif\r
+\r
+#if BOOST_WORKAROUND(__EDG_VERSION__, <= 238)\r
+#   define BOOST_MPL_AUX_NESTED_VALUE_WKND(T, C) \\r
+    BOOST_MPL_AUX_STATIC_CAST(T, C::value) \\r
+/**/\r
+#else\r
+#   define BOOST_MPL_AUX_NESTED_VALUE_WKND(T, C) \\r
+    BOOST_MPL_AUX_VALUE_WKND(C)::value \\r
+/**/\r
+#endif\r
+\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+template< typename T > struct value_type_wknd\r
+{\r
+    typedef typename T::value_type type;\r
+};\r
+\r
+#if defined(BOOST_MPL_CFG_MSVC_ETI_BUG)\r
+template<> struct value_type_wknd<int>\r
+{\r
+    typedef int type;\r
+};\r
+#endif\r
+\r
+}}}\r
+\r
+#endif // BOOST_MPL_AUX_VALUE_WKND_HPP_INCLUDED\r
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 (file)
index 0000000..3aa1c1a
--- /dev/null
@@ -0,0 +1,58 @@
+\r
+#ifndef BOOST_MPL_AUX_YES_NO_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_YES_NO_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: yes_no.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/aux_/nttp_decl.hpp>\r
+#include <boost/mpl/aux_/config/arrays.hpp>\r
+#include <boost/mpl/aux_/config/msvc.hpp>\r
+#include <boost/mpl/aux_/config/workaround.hpp>\r
+\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+typedef char (&no_tag)[1];\r
+typedef char (&yes_tag)[2];\r
+\r
+template< bool C_ > struct yes_no_tag\r
+{\r
+    typedef no_tag type;\r
+};\r
+\r
+template<> struct yes_no_tag<true>\r
+{\r
+    typedef yes_tag type;\r
+};\r
+\r
+\r
+template< BOOST_MPL_AUX_NTTP_DECL(long, n) > struct weighted_tag\r
+{\r
+#if !BOOST_WORKAROUND(BOOST_MSVC, < 1300)\r
+    typedef char (&type)[n];\r
+#else\r
+    char buf[n];\r
+    typedef weighted_tag type;\r
+#endif\r
+};\r
+\r
+#if defined(BOOST_MPL_CFG_NO_DEPENDENT_ARRAY_TYPES)\r
+template<> struct weighted_tag<0>\r
+{\r
+    typedef char (&type)[1];\r
+};\r
+#endif\r
+\r
+}}}\r
+\r
+#endif // BOOST_MPL_AUX_YES_NO_HPP_INCLUDED\r
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 (file)
index 0000000..b4bba6c
--- /dev/null
@@ -0,0 +1,39 @@
+\r
+#ifndef BOOST_MPL_BACK_HPP_INCLUDED\r
+#define BOOST_MPL_BACK_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: back.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/back_fwd.hpp>\r
+#include <boost/mpl/aux_/back_impl.hpp>\r
+#include <boost/mpl/sequence_tag.hpp>\r
+#include <boost/mpl/aux_/na_spec.hpp>\r
+#include <boost/mpl/aux_/lambda_support.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(Sequence)\r
+    >\r
+struct back\r
+    : back_impl< typename sequence_tag<Sequence>::type >\r
+        ::template apply< Sequence >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,back,(Sequence))\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(1, back)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_BACK_HPP_INCLUDED\r
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 (file)
index 0000000..f5dcbf5
--- /dev/null
@@ -0,0 +1,24 @@
+\r
+#ifndef BOOST_MPL_BACK_FWD_HPP_INCLUDED\r
+#define BOOST_MPL_BACK_FWD_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: back_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template< typename Tag > struct back_impl;\r
+template< typename Sequence > struct back;\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_BACK_FWD_HPP_INCLUDED\r
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 (file)
index 0000000..f4f2656
--- /dev/null
@@ -0,0 +1,34 @@
+\r
+#ifndef BOOST_MPL_BACK_INSERTER_HPP_INCLUDED\r
+#define BOOST_MPL_BACK_INSERTER_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2003-2004\r
+// Copyright David Abrahams 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: back_inserter.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/push_back.hpp>\r
+#include <boost/mpl/inserter.hpp>\r
+\r
+namespace boost {\r
+namespace mpl {\r
+\r
+template<\r
+      typename Sequence\r
+    >\r
+struct back_inserter\r
+    : inserter< Sequence,push_back<> >\r
+{\r
+};\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_BACK_INSERTER_HPP_INCLUDED\r
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 (file)
index 0000000..cc3b844
--- /dev/null
@@ -0,0 +1,35 @@
+\r
+#ifndef BOOST_MPL_BASE_HPP_INCLUDED\r
+#define BOOST_MPL_BASE_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: base.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/aux_/na_spec.hpp>\r
+#include <boost/mpl/aux_/lambda_support.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(T)\r
+    >\r
+struct base\r
+{\r
+    typedef typename T::base type;\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,base,(T))\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(1, base)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_BASE_HPP_INCLUDED\r
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 (file)
index 0000000..7387497
--- /dev/null
@@ -0,0 +1,19 @@
+\r
+#ifndef BOOST_MPL_BEGIN_HPP_INCLUDED\r
+#define BOOST_MPL_BEGIN_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: begin.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/begin_end.hpp>\r
+\r
+#endif // BOOST_MPL_BEGIN_HPP_INCLUDED\r
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 (file)
index 0000000..b28368a
--- /dev/null
@@ -0,0 +1,57 @@
+\r
+#ifndef BOOST_MPL_BEGIN_END_HPP_INCLUDED\r
+#define BOOST_MPL_BEGIN_END_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: begin_end.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/begin_end_fwd.hpp>\r
+#include <boost/mpl/aux_/begin_end_impl.hpp>\r
+#include <boost/mpl/sequence_tag.hpp>\r
+#include <boost/mpl/aux_/na_spec.hpp>\r
+#include <boost/mpl/aux_/lambda_support.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+// agurt, 13/sep/02: switched from inheritance to typedef; MSVC is more\r
+// happy this way (less ETI-related errors), and it doesn't affect \r
+// anything else\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(Sequence)\r
+    >\r
+struct begin\r
+{\r
+    typedef typename sequence_tag<Sequence>::type tag_;\r
+    typedef typename begin_impl< tag_ >\r
+        ::template apply< Sequence >::type type;\r
+\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,begin,(Sequence))\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(Sequence)\r
+    >\r
+struct end\r
+{\r
+    typedef typename sequence_tag<Sequence>::type tag_;\r
+    typedef typename end_impl< tag_ >\r
+        ::template apply< Sequence >::type type;\r
+\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,end,(Sequence))\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(1, begin)\r
+BOOST_MPL_AUX_NA_SPEC(1, end)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_BEGIN_END_HPP_INCLUDED\r
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 (file)
index 0000000..29d0a51
--- /dev/null
@@ -0,0 +1,27 @@
+\r
+#ifndef BOOST_MPL_BEGIN_END_FWD_HPP_INCLUDED\r
+#define BOOST_MPL_BEGIN_END_FWD_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: begin_end_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template< typename Tag > struct begin_impl;\r
+template< typename Tag > struct end_impl;\r
+\r
+template< typename Sequence > struct begin;\r
+template< typename Sequence > struct end;\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_BEGIN_END_FWD_HPP_INCLUDED\r
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 (file)
index 0000000..2a045c1
--- /dev/null
@@ -0,0 +1,551 @@
+\r
+#if !defined(BOOST_PP_IS_ITERATING)\r
+\r
+///// header body\r
+\r
+#ifndef BOOST_MPL_BIND_HPP_INCLUDED\r
+#define BOOST_MPL_BIND_HPP_INCLUDED\r
+\r
+// Copyright Peter Dimov 2001\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: bind.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#if !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+#   include <boost/mpl/bind_fwd.hpp>\r
+#   include <boost/mpl/placeholders.hpp>\r
+#   include <boost/mpl/next.hpp>\r
+#   include <boost/mpl/protect.hpp>\r
+#   include <boost/mpl/apply_wrap.hpp>\r
+#   include <boost/mpl/limits/arity.hpp>\r
+#   include <boost/mpl/aux_/na.hpp>\r
+#   include <boost/mpl/aux_/arity_spec.hpp>\r
+#   include <boost/mpl/aux_/type_wrapper.hpp>\r
+#   include <boost/mpl/aux_/yes_no.hpp>\r
+#   if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)\r
+#       include <boost/type_traits/is_reference.hpp>\r
+#   endif \r
+#endif\r
+\r
+#include <boost/mpl/aux_/config/bind.hpp>\r
+#include <boost/mpl/aux_/config/static_constant.hpp>\r
+#include <boost/mpl/aux_/config/use_preprocessed.hpp>\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \\r
+    && !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+\r
+#   if defined(BOOST_MPL_CFG_NO_UNNAMED_PLACEHOLDER_SUPPORT)\r
+#       define BOOST_MPL_PREPROCESSED_HEADER basic_bind.hpp\r
+#   else\r
+#       define BOOST_MPL_PREPROCESSED_HEADER bind.hpp\r
+#   endif\r
+#   include <boost/mpl/aux_/include_preprocessed.hpp>\r
+\r
+#else\r
+\r
+#   include <boost/mpl/aux_/preprocessor/params.hpp>\r
+#   include <boost/mpl/aux_/preprocessor/default_params.hpp>\r
+#   include <boost/mpl/aux_/preprocessor/def_params_tail.hpp>\r
+#   include <boost/mpl/aux_/preprocessor/partial_spec_params.hpp>\r
+#   include <boost/mpl/aux_/preprocessor/ext_params.hpp>\r
+#   include <boost/mpl/aux_/preprocessor/repeat.hpp>\r
+#   include <boost/mpl/aux_/preprocessor/enum.hpp>\r
+#   include <boost/mpl/aux_/preprocessor/add.hpp>\r
+#   include <boost/mpl/aux_/config/dmc_ambiguous_ctps.hpp>\r
+#   include <boost/mpl/aux_/config/ctps.hpp>\r
+#   include <boost/mpl/aux_/config/ttp.hpp>\r
+#   include <boost/mpl/aux_/config/dtp.hpp>\r
+#   include <boost/mpl/aux_/nttp_decl.hpp>\r
+\r
+#   include <boost/preprocessor/iterate.hpp>\r
+#   include <boost/preprocessor/comma_if.hpp>\r
+#   include <boost/preprocessor/cat.hpp>\r
+#   include <boost/preprocessor/inc.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+// local macros, #undef-ined at the end of the header\r
+#   define AUX778076_APPLY \\r
+    BOOST_PP_CAT(apply_wrap,BOOST_MPL_LIMIT_METAFUNCTION_ARITY) \\r
+    /**/\r
+\r
+#   if defined(BOOST_MPL_CFG_DMC_AMBIGUOUS_CTPS)\r
+#       define AUX778076_DMC_PARAM() , int dummy_\r
+#   else\r
+#       define AUX778076_DMC_PARAM()\r
+#   endif\r
+\r
+#   define AUX778076_BIND_PARAMS(param) \\r
+    BOOST_MPL_PP_PARAMS( \\r
+          BOOST_MPL_LIMIT_METAFUNCTION_ARITY \\r
+        , param \\r
+        ) \\r
+    /**/\r
+\r
+#   define AUX778076_BIND_DEFAULT_PARAMS(param, value) \\r
+    BOOST_MPL_PP_DEFAULT_PARAMS( \\r
+          BOOST_MPL_LIMIT_METAFUNCTION_ARITY \\r
+        , param \\r
+        , value \\r
+        ) \\r
+    /**/\r
+\r
+#   define AUX778076_BIND_N_PARAMS(n, param) \\r
+    BOOST_PP_COMMA_IF(n) BOOST_MPL_PP_PARAMS(n, param) \\r
+    /**/\r
+\r
+#   define AUX778076_BIND_N_SPEC_PARAMS(n, param, def) \\r
+    BOOST_PP_COMMA_IF(n) \\r
+    BOOST_MPL_PP_PARTIAL_SPEC_PARAMS(n, param, def) \\r
+    /**/\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES)\r
+#   define AUX778076_BIND_NESTED_DEFAULT_PARAMS(param, value) \\r
+    AUX778076_BIND_DEFAULT_PARAMS(param, value) \\r
+    /**/\r
+#else\r
+#   define AUX778076_BIND_NESTED_DEFAULT_PARAMS(param, value) \\r
+    AUX778076_BIND_PARAMS(param) \\r
+    /**/\r
+#endif\r
+\r
+namespace aux {\r
+\r
+#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)\r
+\r
+template<\r
+      typename T, AUX778076_BIND_PARAMS(typename U)\r
+    >\r
+struct resolve_bind_arg\r
+{\r
+    typedef T type;\r
+};\r
+\r
+#   if !defined(BOOST_MPL_CFG_NO_UNNAMED_PLACEHOLDER_SUPPORT)\r
+\r
+template<\r
+      typename T\r
+    , typename Arg\r
+    >\r
+struct replace_unnamed_arg\r
+{\r
+    typedef Arg next;\r
+    typedef T type;\r
+};\r
+\r
+template<\r
+      typename Arg\r
+    >\r
+struct replace_unnamed_arg< arg<-1>,Arg >\r
+{\r
+    typedef typename Arg::next next;\r
+    typedef Arg type;\r
+};\r
+\r
+#   endif // BOOST_MPL_CFG_NO_UNNAMED_PLACEHOLDER_SUPPORT\r
+\r
+template<\r
+      BOOST_MPL_AUX_NTTP_DECL(int, N), AUX778076_BIND_PARAMS(typename U)\r
+    >\r
+struct resolve_bind_arg< arg<N>,AUX778076_BIND_PARAMS(U) >\r
+{\r
+    typedef typename AUX778076_APPLY<mpl::arg<N>, AUX778076_BIND_PARAMS(U)>::type type;\r
+};\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_BIND_TEMPLATE)\r
+template<\r
+      typename F, AUX778076_BIND_PARAMS(typename T), AUX778076_BIND_PARAMS(typename U)\r
+    >\r
+struct resolve_bind_arg< bind<F,AUX778076_BIND_PARAMS(T)>,AUX778076_BIND_PARAMS(U) >\r
+{\r
+    typedef bind<F,AUX778076_BIND_PARAMS(T)> f_;\r
+    typedef typename AUX778076_APPLY<f_, AUX778076_BIND_PARAMS(U)>::type type;\r
+};\r
+#endif\r
+\r
+#else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+\r
+// agurt, 15/jan/02: it's not a intended to be used as a function class, and \r
+// MSVC6.5 has problems with 'apply' name here (the code compiles, but doesn't\r
+// work), so I went with the 'result_' here, and in all other similar cases\r
+template< bool >\r
+struct resolve_arg_impl\r
+{\r
+    template< typename T, AUX778076_BIND_PARAMS(typename U) > struct result_\r
+    {\r
+        typedef T type;\r
+    };\r
+};\r
+\r
+template<> \r
+struct resolve_arg_impl<true>\r
+{\r
+    template< typename T, AUX778076_BIND_PARAMS(typename U) > struct result_\r
+    {\r
+        typedef typename AUX778076_APPLY<\r
+              T\r
+            , AUX778076_BIND_PARAMS(U)\r
+            >::type type;\r
+    };\r
+};\r
+\r
+// for 'resolve_bind_arg'\r
+template< typename T > struct is_bind_template;\r
+\r
+template< \r
+      typename T, AUX778076_BIND_PARAMS(typename U)\r
+    >\r
+struct resolve_bind_arg\r
+    : resolve_arg_impl< is_bind_template<T>::value >\r
+            ::template result_< T,AUX778076_BIND_PARAMS(U) >\r
+{\r
+};\r
+\r
+#   if !defined(BOOST_MPL_CFG_NO_UNNAMED_PLACEHOLDER_SUPPORT)\r
+\r
+template< typename T > \r
+struct replace_unnamed_arg_impl\r
+{\r
+    template< typename Arg > struct result_\r
+    {\r
+        typedef Arg next;\r
+        typedef T type;\r
+    };\r
+};\r
+\r
+template<> \r
+struct replace_unnamed_arg_impl< arg<-1> >\r
+{\r
+    template< typename Arg > struct result_\r
+    {\r
+        typedef typename next<Arg>::type next;\r
+        typedef Arg type;\r
+    };\r
+};\r
+\r
+template< typename T, typename Arg > \r
+struct replace_unnamed_arg\r
+    : replace_unnamed_arg_impl<T>::template result_<Arg>\r
+{\r
+};\r
+\r
+#   endif // BOOST_MPL_CFG_NO_UNNAMED_PLACEHOLDER_SUPPORT\r
+\r
+// agurt, 10/mar/02: the forward declaration has to appear before any of\r
+// 'is_bind_helper' overloads, otherwise MSVC6.5 issues an ICE on it\r
+template< BOOST_MPL_AUX_NTTP_DECL(int, arity_) > struct bind_chooser;\r
+\r
+aux::no_tag is_bind_helper(...);\r
+template< typename T > aux::no_tag is_bind_helper(protect<T>*);\r
+\r
+// overload for "main" form\r
+// agurt, 15/mar/02: MSVC 6.5 fails to properly resolve the overload \r
+// in case if we use 'aux::type_wrapper< bind<...> >' here, and all \r
+// 'bind' instantiations form a complete type anyway\r
+#if !defined(BOOST_MPL_CFG_NO_BIND_TEMPLATE)\r
+template<\r
+      typename F, AUX778076_BIND_PARAMS(typename T)\r
+    >\r
+aux::yes_tag is_bind_helper(bind<F,AUX778076_BIND_PARAMS(T)>*);\r
+#endif\r
+\r
+template< BOOST_MPL_AUX_NTTP_DECL(int, N) >\r
+aux::yes_tag is_bind_helper(arg<N>*);\r
+\r
+template< bool is_ref_ = true >\r
+struct is_bind_template_impl\r
+{\r
+    template< typename T > struct result_\r
+    {\r
+        BOOST_STATIC_CONSTANT(bool, value = false);\r
+    };\r
+};\r
+\r
+template<>\r
+struct is_bind_template_impl<false>\r
+{\r
+    template< typename T > struct result_\r
+    {\r
+        BOOST_STATIC_CONSTANT(bool, value = \r
+              sizeof(aux::is_bind_helper(static_cast<T*>(0))) \r
+                == sizeof(aux::yes_tag)\r
+            );\r
+    };\r
+};\r
+\r
+template< typename T > struct is_bind_template\r
+    : is_bind_template_impl< ::boost::detail::is_reference_impl<T>::value >\r
+        ::template result_<T>\r
+{\r
+};\r
+\r
+#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+\r
+} // namespace aux\r
+\r
+\r
+#define BOOST_PP_ITERATION_PARAMS_1 \\r
+    (3,(0, BOOST_MPL_LIMIT_METAFUNCTION_ARITY, <boost/mpl/bind.hpp>))\r
+#include BOOST_PP_ITERATE()\r
+\r
+#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \\r
+    && !defined(BOOST_MPL_CFG_NO_TEMPLATE_TEMPLATE_PARAMETERS)\r
+/// if_/eval_if specializations\r
+#   define AUX778076_SPEC_NAME if_\r
+#   define BOOST_PP_ITERATION_PARAMS_1 (3,(3, 3, <boost/mpl/bind.hpp>))\r
+#   include BOOST_PP_ITERATE()\r
+\r
+#if !defined(BOOST_MPL_CFG_DMC_AMBIGUOUS_CTPS)\r
+#   define AUX778076_SPEC_NAME eval_if\r
+#   define BOOST_PP_ITERATION_PARAMS_1 (3,(3, 3, <boost/mpl/bind.hpp>))\r
+#   include BOOST_PP_ITERATE()\r
+#endif\r
+#endif\r
+\r
+// real C++ version is already taken care of\r
+#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \\r
+    && !defined(BOOST_MPL_CFG_NO_BIND_TEMPLATE)\r
+\r
+namespace aux {\r
+// apply_count_args\r
+#define AUX778076_COUNT_ARGS_PREFIX bind\r
+#define AUX778076_COUNT_ARGS_DEFAULT na\r
+#define AUX778076_COUNT_ARGS_ARITY BOOST_MPL_LIMIT_METAFUNCTION_ARITY\r
+#include <boost/mpl/aux_/count_args.hpp>\r
+}\r
+\r
+// bind\r
+template<\r
+      typename F, AUX778076_BIND_PARAMS(typename T) AUX778076_DMC_PARAM()\r
+    >\r
+struct bind\r
+    : aux::bind_chooser<\r
+          aux::bind_count_args<AUX778076_BIND_PARAMS(T)>::value\r
+        >::template result_< F,AUX778076_BIND_PARAMS(T) >::type\r
+{\r
+};\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(\r
+      BOOST_PP_INC(BOOST_MPL_LIMIT_METAFUNCTION_ARITY)\r
+    , bind\r
+    )\r
+\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(\r
+      BOOST_PP_INC(BOOST_MPL_LIMIT_METAFUNCTION_ARITY)\r
+    , bind\r
+    )\r
+\r
+\r
+#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+\r
+#   undef AUX778076_BIND_NESTED_DEFAULT_PARAMS\r
+#   undef AUX778076_BIND_N_SPEC_PARAMS\r
+#   undef AUX778076_BIND_N_PARAMS\r
+#   undef AUX778076_BIND_DEFAULT_PARAMS\r
+#   undef AUX778076_BIND_PARAMS\r
+#   undef AUX778076_DMC_PARAM\r
+#   undef AUX778076_APPLY\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS\r
+#endif // BOOST_MPL_BIND_HPP_INCLUDED\r
+\r
+///// iteration, depth == 1\r
+\r
+// For gcc 4.4 compatability, we must include the\r
+// BOOST_PP_ITERATION_DEPTH test inside an #else clause.\r
+#else // BOOST_PP_IS_ITERATING\r
+#if BOOST_PP_ITERATION_DEPTH() == 1\r
+\r
+#   define i_ BOOST_PP_FRAME_ITERATION(1)\r
+\r
+#if defined(AUX778076_SPEC_NAME)\r
+\r
+// lazy metafunction specialization\r
+template< template< BOOST_MPL_PP_PARAMS(i_, typename T) > class F, typename Tag >\r
+struct BOOST_PP_CAT(quote,i_);\r
+\r
+template< BOOST_MPL_PP_PARAMS(i_, typename T) > struct AUX778076_SPEC_NAME;\r
+\r
+template<\r
+      typename Tag AUX778076_BIND_N_PARAMS(i_, typename T)\r
+    >\r
+struct BOOST_PP_CAT(bind,i_)< \r
+      BOOST_PP_CAT(quote,i_)<AUX778076_SPEC_NAME,Tag>\r
+    AUX778076_BIND_N_PARAMS(i_,T)\r
+    >\r
+{\r
+    template<\r
+          AUX778076_BIND_NESTED_DEFAULT_PARAMS(typename U, na)\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+        typedef mpl::arg<1> n1;\r
+#       define BOOST_PP_ITERATION_PARAMS_2 (3,(1, i_, <boost/mpl/bind.hpp>))\r
+#       include BOOST_PP_ITERATE()\r
+\r
+        typedef typename AUX778076_SPEC_NAME<\r
+              typename t1::type\r
+            , BOOST_MPL_PP_EXT_PARAMS(2, BOOST_PP_INC(i_), t)\r
+            >::type f_;\r
+\r
+     public:\r
+        typedef typename f_::type type;\r
+    };\r
+};\r
+\r
+#undef AUX778076_SPEC_NAME\r
+\r
+#else // AUX778076_SPEC_NAME\r
+\r
+template<\r
+      typename F AUX778076_BIND_N_PARAMS(i_, typename T) AUX778076_DMC_PARAM()\r
+    >\r
+struct BOOST_PP_CAT(bind,i_)\r
+{\r
+    template<\r
+          AUX778076_BIND_NESTED_DEFAULT_PARAMS(typename U, na)\r
+        >\r
+    struct apply\r
+    {\r
+     private:\r
+#   if !defined(BOOST_MPL_CFG_NO_UNNAMED_PLACEHOLDER_SUPPORT)\r
+\r
+        typedef aux::replace_unnamed_arg< F,mpl::arg<1> > r0;\r
+        typedef typename r0::type a0;\r
+        typedef typename r0::next n1;\r
+        typedef typename aux::resolve_bind_arg<a0,AUX778076_BIND_PARAMS(U)>::type f_;\r
+        ///\r
+#   else\r
+        typedef typename aux::resolve_bind_arg<F,AUX778076_BIND_PARAMS(U)>::type f_;\r
+\r
+#   endif // BOOST_MPL_CFG_NO_UNNAMED_PLACEHOLDER_SUPPORT\r
+\r
+#   if i_ > 0\r
+#       define BOOST_PP_ITERATION_PARAMS_2 (3,(1, i_, <boost/mpl/bind.hpp>))\r
+#       include BOOST_PP_ITERATE()\r
+#   endif\r
+\r
+     public:\r
+\r
+#   define AUX778076_ARG(unused, i_, t) \\r
+    BOOST_PP_COMMA_IF(i_) \\r
+    typename BOOST_PP_CAT(t,BOOST_PP_INC(i_))::type \\r
+/**/\r
+\r
+        typedef typename BOOST_PP_CAT(apply_wrap,i_)<\r
+              f_ \r
+            BOOST_PP_COMMA_IF(i_) BOOST_MPL_PP_REPEAT(i_, AUX778076_ARG, t)\r
+            >::type type;\r
+\r
+#   undef AUX778076_ARG\r
+    };\r
+};\r
+\r
+namespace aux {\r
+\r
+#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)\r
+\r
+template<\r
+      typename F AUX778076_BIND_N_PARAMS(i_, typename T), AUX778076_BIND_PARAMS(typename U)\r
+    >\r
+struct resolve_bind_arg<\r
+      BOOST_PP_CAT(bind,i_)<F AUX778076_BIND_N_PARAMS(i_,T)>,AUX778076_BIND_PARAMS(U)\r
+    >\r
+{\r
+    typedef BOOST_PP_CAT(bind,i_)<F AUX778076_BIND_N_PARAMS(i_,T)> f_;\r
+    typedef typename AUX778076_APPLY<f_, AUX778076_BIND_PARAMS(U)>::type type;\r
+};\r
+\r
+#else\r
+\r
+template<\r
+      typename F AUX778076_BIND_N_PARAMS(i_, typename T)\r
+    >\r
+aux::yes_tag\r
+is_bind_helper(BOOST_PP_CAT(bind,i_)<F AUX778076_BIND_N_PARAMS(i_,T)>*);\r
+\r
+#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_ARITY_SPEC(BOOST_PP_INC(i_), BOOST_PP_CAT(bind,i_))\r
+BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(BOOST_PP_INC(i_), BOOST_PP_CAT(bind,i_))\r
+\r
+#   if !defined(BOOST_MPL_CFG_NO_BIND_TEMPLATE)\r
+#   if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)\r
+    \r
+#if i_ == BOOST_MPL_LIMIT_METAFUNCTION_ARITY\r
+/// primary template (not a specialization!)\r
+template<\r
+      typename F AUX778076_BIND_N_PARAMS(i_, typename T) AUX778076_DMC_PARAM()\r
+    >\r
+struct bind\r
+    : BOOST_PP_CAT(bind,i_)<F AUX778076_BIND_N_PARAMS(i_,T) >\r
+{\r
+};\r
+#else\r
+template<\r
+      typename F AUX778076_BIND_N_PARAMS(i_, typename T) AUX778076_DMC_PARAM()\r
+    >\r
+struct bind< F AUX778076_BIND_N_SPEC_PARAMS(i_, T, na) >\r
+    : BOOST_PP_CAT(bind,i_)<F AUX778076_BIND_N_PARAMS(i_,T) >\r
+{\r
+};\r
+#endif\r
+\r
+#   else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+\r
+namespace aux {\r
+\r
+template<>\r
+struct bind_chooser<i_>\r
+{\r
+    template<\r
+          typename F, AUX778076_BIND_PARAMS(typename T)\r
+        >\r
+    struct result_\r
+    {\r
+        typedef BOOST_PP_CAT(bind,i_)< F AUX778076_BIND_N_PARAMS(i_,T) > type;\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+#   endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+#   endif // BOOST_MPL_CFG_NO_BIND_TEMPLATE\r
+\r
+#endif // AUX778076_SPEC_NAME\r
+\r
+#   undef i_\r
+\r
+///// iteration, depth == 2\r
+\r
+#elif BOOST_PP_ITERATION_DEPTH() == 2\r
+\r
+#   define j_ BOOST_PP_FRAME_ITERATION(2)\r
+#   if !defined(BOOST_MPL_CFG_NO_UNNAMED_PLACEHOLDER_SUPPORT)\r
+\r
+        typedef aux::replace_unnamed_arg< BOOST_PP_CAT(T,j_),BOOST_PP_CAT(n,j_) > BOOST_PP_CAT(r,j_);\r
+        typedef typename BOOST_PP_CAT(r,j_)::type BOOST_PP_CAT(a,j_);\r
+        typedef typename BOOST_PP_CAT(r,j_)::next BOOST_PP_CAT(n,BOOST_PP_INC(j_));\r
+        typedef aux::resolve_bind_arg<BOOST_PP_CAT(a,j_), AUX778076_BIND_PARAMS(U)> BOOST_PP_CAT(t,j_);\r
+        ///\r
+#   else\r
+        typedef aux::resolve_bind_arg< BOOST_PP_CAT(T,j_),AUX778076_BIND_PARAMS(U)> BOOST_PP_CAT(t,j_);\r
+\r
+#   endif\r
+#   undef j_\r
+\r
+#endif // BOOST_PP_ITERATION_DEPTH()\r
+#endif // BOOST_PP_IS_ITERATING\r
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 (file)
index 0000000..1619916
--- /dev/null
@@ -0,0 +1,99 @@
+\r
+#if !defined(BOOST_PP_IS_ITERATING)\r
+\r
+///// header body\r
+\r
+#ifndef BOOST_MPL_BIND_FWD_HPP_INCLUDED\r
+#define BOOST_MPL_BIND_FWD_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: bind_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#if !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+#   include <boost/mpl/aux_/na.hpp>\r
+#endif\r
+\r
+#include <boost/mpl/aux_/config/bind.hpp>\r
+#include <boost/mpl/aux_/config/use_preprocessed.hpp>\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \\r
+    && !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+\r
+#   define BOOST_MPL_PREPROCESSED_HEADER bind_fwd.hpp\r
+#   include <boost/mpl/aux_/include_preprocessed.hpp>\r
+\r
+#else\r
+\r
+#   include <boost/mpl/limits/arity.hpp>\r
+#   include <boost/mpl/aux_/preprocessor/params.hpp>\r
+#   include <boost/mpl/aux_/preprocessor/default_params.hpp>\r
+#   include <boost/mpl/aux_/config/dmc_ambiguous_ctps.hpp>\r
+\r
+#   include <boost/preprocessor/comma_if.hpp>\r
+#   include <boost/preprocessor/iterate.hpp>\r
+#   include <boost/preprocessor/cat.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+// local macros, #undef-ined at the end of the header\r
+\r
+#   if defined(BOOST_MPL_CFG_DMC_AMBIGUOUS_CTPS)\r
+#       define AUX778076_DMC_PARAM() , int dummy_ = 0\r
+#   else\r
+#       define AUX778076_DMC_PARAM()\r
+#   endif\r
+\r
+#   define AUX778076_BIND_DEFAULT_PARAMS(param, value) \\r
+    BOOST_MPL_PP_DEFAULT_PARAMS( \\r
+          BOOST_MPL_LIMIT_METAFUNCTION_ARITY \\r
+        , param \\r
+        , value \\r
+        ) \\r
+    AUX778076_DMC_PARAM() \\r
+    /**/\r
+\r
+#   define AUX778076_BIND_N_PARAMS(n, param) \\r
+    BOOST_PP_COMMA_IF(n) BOOST_MPL_PP_PARAMS(n, param) \\r
+    AUX778076_DMC_PARAM() \\r
+    /**/\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_BIND_TEMPLATE)\r
+template<\r
+      typename F, AUX778076_BIND_DEFAULT_PARAMS(typename T, na)\r
+    >\r
+struct bind;\r
+#endif\r
+\r
+#define BOOST_PP_ITERATION_PARAMS_1 \\r
+    (3,(0, BOOST_MPL_LIMIT_METAFUNCTION_ARITY, <boost/mpl/bind_fwd.hpp>))\r
+#include BOOST_PP_ITERATE()\r
+\r
+#   undef AUX778076_BIND_N_PARAMS\r
+#   undef AUX778076_BIND_DEFAULT_PARAMS\r
+#   undef AUX778076_DMC_PARAM\r
+}}\r
+\r
+#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS\r
+#endif // BOOST_MPL_BIND_FWD_HPP_INCLUDED\r
+\r
+///// iteration\r
+\r
+#else\r
+#define i_ BOOST_PP_FRAME_ITERATION(1)\r
+\r
+template<\r
+      typename F AUX778076_BIND_N_PARAMS(i_, typename T)\r
+    >\r
+struct BOOST_PP_CAT(bind,i_);\r
+\r
+#undef i_\r
+#endif // BOOST_PP_IS_ITERATING\r
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 (file)
index 0000000..561f633
--- /dev/null
@@ -0,0 +1,23 @@
+\r
+#ifndef BOOST_MPL_BITAND_HPP_INCLUDED\r
+#define BOOST_MPL_BITAND_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright Jaap Suter 2003\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: bitand.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#define AUX778076_OP_NAME   bitand_\r
+#define AUX778076_OP_PREFIX bitand\r
+#define AUX778076_OP_TOKEN  &\r
+#include <boost/mpl/aux_/arithmetic_op.hpp>\r
+\r
+#endif // BOOST_MPL_BITAND_HPP_INCLUDED\r
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 (file)
index 0000000..6070981
--- /dev/null
@@ -0,0 +1,23 @@
+\r
+#ifndef BOOST_MPL_BITOR_HPP_INCLUDED\r
+#define BOOST_MPL_BITOR_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright Jaap Suter 2003\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: bitor.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#define AUX778076_OP_NAME   bitor_\r
+#define AUX778076_OP_PREFIX bitor\r
+#define AUX778076_OP_TOKEN  |\r
+#include <boost/mpl/aux_/arithmetic_op.hpp>\r
+\r
+#endif // BOOST_MPL_BITOR_HPP_INCLUDED\r
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 (file)
index 0000000..a538da3
--- /dev/null
@@ -0,0 +1,24 @@
+\r
+#ifndef BOOST_MPL_BITWISE_HPP_INCLUDED\r
+#define BOOST_MPL_BITWISE_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2003-2004\r
+// Copyright Jaap Suter 2003\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: bitwise.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/bitand.hpp>\r
+#include <boost/mpl/bitor.hpp>\r
+#include <boost/mpl/bitxor.hpp>\r
+#include <boost/mpl/shift_left.hpp>\r
+#include <boost/mpl/shift_right.hpp>\r
+\r
+#endif // BOOST_MPL_BITWISE_HPP_INCLUDED\r
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 (file)
index 0000000..d603659
--- /dev/null
@@ -0,0 +1,23 @@
+\r
+#ifndef BOOST_MPL_BITXOR_HPP_INCLUDED\r
+#define BOOST_MPL_BITXOR_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright Jaap Suter 2003\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: bitxor.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#define AUX778076_OP_NAME   bitxor_\r
+#define AUX778076_OP_PREFIX bitxor\r
+#define AUX778076_OP_TOKEN  ^\r
+#include <boost/mpl/aux_/arithmetic_op.hpp>\r
+\r
+#endif // BOOST_MPL_BITXOR_HPP_INCLUDED\r
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 (file)
index 0000000..9c4dbb2
--- /dev/null
@@ -0,0 +1,39 @@
+\r
+#ifndef BOOST_MPL_BOOL_HPP_INCLUDED\r
+#define BOOST_MPL_BOOL_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: bool.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/bool_fwd.hpp>\r
+#include <boost/mpl/integral_c_tag.hpp>\r
+#include <boost/mpl/aux_/config/static_constant.hpp>\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+\r
+template< bool C_ > struct bool_\r
+{\r
+    BOOST_STATIC_CONSTANT(bool, value = C_);\r
+    typedef integral_c_tag tag;\r
+    typedef bool_ type;\r
+    typedef bool value_type;\r
+    operator bool() const { return this->value; }\r
+};\r
+\r
+#if !defined(BOOST_NO_INCLASS_MEMBER_INITIALIZATION)\r
+template< bool C_ >\r
+bool const bool_<C_>::value;\r
+#endif\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+\r
+#endif // BOOST_MPL_BOOL_HPP_INCLUDED\r
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 (file)
index 0000000..a3787b8
--- /dev/null
@@ -0,0 +1,33 @@
+\r
+#ifndef BOOST_MPL_BOOL_FWD_HPP_INCLUDED\r
+#define BOOST_MPL_BOOL_FWD_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: bool_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/aux_/adl_barrier.hpp>\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+\r
+template< bool C_ > struct bool_;\r
+\r
+// shorcuts\r
+typedef bool_<true> true_;\r
+typedef bool_<false> false_;\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_DECL(bool_)\r
+BOOST_MPL_AUX_ADL_BARRIER_DECL(true_)\r
+BOOST_MPL_AUX_ADL_BARRIER_DECL(false_)\r
+\r
+#endif // BOOST_MPL_BOOL_FWD_HPP_INCLUDED\r
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 (file)
index 0000000..366ec05
--- /dev/null
@@ -0,0 +1,22 @@
+\r
+#ifndef BOOST_MPL_CHAR_HPP_INCLUDED\r
+#define BOOST_MPL_CHAR_HPP_INCLUDED\r
+\r
+// Copyright Eric Niebler 2008\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Source$\r
+// $Date: 2008-06-14 08:41:37 -0700 (Sat, 16 Jun 2008) $\r
+// $Revision: 24874 $\r
+\r
+#include <boost/mpl/char_fwd.hpp>\r
+\r
+#define AUX_WRAPPER_VALUE_TYPE char\r
+#include <boost/mpl/aux_/integral_wrapper.hpp>\r
+\r
+#endif // BOOST_MPL_CHAR_HPP_INCLUDED\r
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 (file)
index 0000000..65d741c
--- /dev/null
@@ -0,0 +1,27 @@
+\r
+#ifndef BOOST_MPL_CHAR_FWD_HPP_INCLUDED\r
+#define BOOST_MPL_CHAR_FWD_HPP_INCLUDED\r
+\r
+// Copyright Eric Niebler 2008\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Source$\r
+// $Date: 2008-06-14 08:41:37 -0700 (Sat, 16 Jun 2008) $\r
+// $Revision: 24874 $\r
+\r
+#include <boost/mpl/aux_/adl_barrier.hpp>\r
+#include <boost/mpl/aux_/nttp_decl.hpp>\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+\r
+template< BOOST_MPL_AUX_NTTP_DECL(char, N) > struct char_;\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+BOOST_MPL_AUX_ADL_BARRIER_DECL(char_)\r
+\r
+#endif // BOOST_MPL_CHAR_FWD_HPP_INCLUDED\r
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 (file)
index 0000000..74ffa3e
--- /dev/null
@@ -0,0 +1,39 @@
+\r
+#ifndef BOOST_MPL_CLEAR_HPP_INCLUDED\r
+#define BOOST_MPL_CLEAR_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: clear.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/clear_fwd.hpp>\r
+#include <boost/mpl/aux_/clear_impl.hpp>\r
+#include <boost/mpl/sequence_tag.hpp>\r
+#include <boost/mpl/aux_/na_spec.hpp>\r
+#include <boost/mpl/aux_/lambda_support.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(Sequence)\r
+    >\r
+struct clear\r
+    : clear_impl< typename sequence_tag<Sequence>::type >\r
+        ::template apply< Sequence >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,clear,(Sequence))\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(1, clear)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_CLEAR_HPP_INCLUDED\r
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 (file)
index 0000000..656d77b
--- /dev/null
@@ -0,0 +1,24 @@
+\r
+#ifndef BOOST_MPL_CLEAR_FWD_HPP_INCLUDED\r
+#define BOOST_MPL_CLEAR_FWD_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: clear_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template< typename Tag > struct clear_impl;\r
+template< typename Sequence > struct clear;\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_CLEAR_FWD_HPP_INCLUDED\r
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 (file)
index 0000000..26cc415
--- /dev/null
@@ -0,0 +1,24 @@
+\r
+#ifndef BOOST_MPL_COMPARISON_HPP_INCLUDED\r
+#define BOOST_MPL_COMPARISON_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: comparison.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/equal_to.hpp>\r
+#include <boost/mpl/not_equal_to.hpp>\r
+#include <boost/mpl/less.hpp>\r
+#include <boost/mpl/greater.hpp>\r
+#include <boost/mpl/less_equal.hpp>\r
+#include <boost/mpl/greater_equal.hpp>\r
+\r
+#endif // BOOST_MPL_COMPARISON_HPP_INCLUDED\r
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 (file)
index 0000000..c3aa0f7
--- /dev/null
@@ -0,0 +1,41 @@
+\r
+#ifndef BOOST_MPL_CONTAINS_HPP_INCLUDED\r
+#define BOOST_MPL_CONTAINS_HPP_INCLUDED\r
+\r
+// Copyright Eric Friedman 2002\r
+// Copyright Aleksey Gurtovoy 2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: contains.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/contains_fwd.hpp>\r
+#include <boost/mpl/sequence_tag.hpp>\r
+#include <boost/mpl/aux_/contains_impl.hpp>\r
+#include <boost/mpl/aux_/na_spec.hpp>\r
+#include <boost/mpl/aux_/lambda_support.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(Sequence)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(T)\r
+    >\r
+struct contains\r
+    : contains_impl< typename sequence_tag<Sequence>::type >\r
+        ::template apply< Sequence,T >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2,contains,(Sequence,T))\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(2, contains)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_CONTAINS_HPP_INCLUDED\r
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 (file)
index 0000000..d6f5bf8
--- /dev/null
@@ -0,0 +1,25 @@
+\r
+#ifndef BOOST_MPL_CONTAINS_FWD_HPP_INCLUDED\r
+#define BOOST_MPL_CONTAINS_FWD_HPP_INCLUDED\r
+\r
+// Copyright Eric Friedman 2002\r
+// Copyright Aleksey Gurtovoy 2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: contains_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template< typename Tag > struct contains_impl;\r
+template< typename Sequence, typename T > struct contains;\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_CONTAINS_FWD_HPP_INCLUDED\r
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 (file)
index 0000000..8fdbd61
--- /dev/null
@@ -0,0 +1,58 @@
+\r
+#ifndef BOOST_MPL_COPY_HPP_INCLUDED\r
+#define BOOST_MPL_COPY_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright David Abrahams 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: copy.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/fold.hpp>\r
+#include <boost/mpl/reverse_fold.hpp>\r
+#include <boost/mpl/aux_/inserter_algorithm.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename Sequence\r
+    , typename Inserter\r
+    >\r
+struct copy_impl\r
+    : fold< \r
+          Sequence\r
+        , typename Inserter::state\r
+        , typename Inserter::operation\r
+        >\r
+{\r
+};\r
+\r
+template<\r
+      typename Sequence\r
+    , typename Inserter\r
+    >\r
+struct reverse_copy_impl\r
+    : reverse_fold<\r
+          Sequence\r
+        , typename Inserter::state\r
+        , typename Inserter::operation\r
+        >\r
+{\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_INSERTER_ALGORITHM_DEF(2, copy)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_COPY_HPP_INCLUDED\r
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 (file)
index 0000000..ffe0110
--- /dev/null
@@ -0,0 +1,96 @@
+\r
+#ifndef BOOST_MPL_COPY_IF_HPP_INCLUDED\r
+#define BOOST_MPL_COPY_IF_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright David Abrahams 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: copy_if.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/fold.hpp>\r
+#include <boost/mpl/reverse_fold.hpp>\r
+#include <boost/mpl/apply.hpp>\r
+#include <boost/mpl/eval_if.hpp>\r
+#include <boost/mpl/identity.hpp>\r
+#include <boost/mpl/protect.hpp>\r
+#include <boost/mpl/aux_/inserter_algorithm.hpp>\r
+#include <boost/mpl/aux_/config/forwarding.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename Operation\r
+    , typename Predicate\r
+    >\r
+struct copy_if_op\r
+{\r
+    template< typename Sequence, typename T > struct apply\r
+#if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING)\r
+        : eval_if<\r
+              typename apply1<Predicate,T>::type\r
+            , apply2<Operation,Sequence,T>\r
+            , identity<Sequence>\r
+            >\r
+    {\r
+#else\r
+    {\r
+        typedef typename eval_if<\r
+              typename apply1<Predicate,T>::type\r
+            , apply2<Operation,Sequence,T>\r
+            , identity<Sequence>\r
+            >::type type;\r
+#endif\r
+    };\r
+};\r
+\r
+template<\r
+      typename Sequence\r
+    , typename Predicate\r
+    , typename Inserter\r
+    >\r
+struct copy_if_impl\r
+    : fold<\r
+          Sequence\r
+        , typename Inserter::state\r
+        , protect< aux::copy_if_op<\r
+              typename Inserter::operation\r
+            , Predicate\r
+            > >\r
+        >\r
+{\r
+};\r
+\r
+template<\r
+      typename Sequence\r
+    , typename Predicate\r
+    , typename Inserter\r
+    >\r
+struct reverse_copy_if_impl\r
+    : reverse_fold<\r
+          Sequence\r
+        , typename Inserter::state\r
+        , protect< aux::copy_if_op<\r
+              typename Inserter::operation\r
+            , Predicate\r
+            > >\r
+        >\r
+{\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_INSERTER_ALGORITHM_DEF(3, copy_if)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_COPY_IF_HPP_INCLUDED\r
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 (file)
index 0000000..19b71eb
--- /dev/null
@@ -0,0 +1,40 @@
+\r
+#ifndef BOOST_MPL_COUNT_HPP_INCLUDED\r
+#define BOOST_MPL_COUNT_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: count.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/count_fwd.hpp>\r
+#include <boost/mpl/sequence_tag.hpp>\r
+#include <boost/mpl/aux_/count_impl.hpp>\r
+#include <boost/mpl/aux_/na_spec.hpp>\r
+#include <boost/mpl/aux_/lambda_support.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(Sequence)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(T)\r
+    >\r
+struct count\r
+    : count_impl< typename sequence_tag<Sequence>::type >\r
+        ::template apply<Sequence,T>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2,count,(Sequence,T))\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(2, count)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_COUNT_HPP_INCLUDED\r
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 (file)
index 0000000..8e5db04
--- /dev/null
@@ -0,0 +1,24 @@
+\r
+#ifndef BOOST_MPL_COUNT_FWD_HPP_INCLUDED\r
+#define BOOST_MPL_COUNT_FWD_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: count_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template< typename Tag > struct count_impl;\r
+template< typename Sequence, typename T > struct count;\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_COUNT_FWD_HPP_INCLUDED\r
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 (file)
index 0000000..c3058e4
--- /dev/null
@@ -0,0 +1,79 @@
+\r
+#ifndef BOOST_MPL_COUNT_IF_HPP_INCLUDED\r
+#define BOOST_MPL_COUNT_IF_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2002\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: count_if.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/fold.hpp>\r
+#include <boost/mpl/next.hpp>\r
+#include <boost/mpl/integral_c.hpp>\r
+#include <boost/mpl/identity.hpp>\r
+#include <boost/mpl/eval_if.hpp>\r
+#include <boost/mpl/apply.hpp>\r
+#include <boost/mpl/aux_/msvc_eti_base.hpp>\r
+#include <boost/mpl/aux_/na_spec.hpp>\r
+#include <boost/mpl/aux_/lambda_support.hpp>\r
+#include <boost/mpl/aux_/config/forwarding.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+\r
+template< typename Predicate >\r
+struct next_if\r
+{\r
+    template<\r
+          typename N\r
+        , typename T\r
+        >\r
+    struct apply\r
+#if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING)\r
+        : eval_if<\r
+              typename apply1<Predicate,T>::type\r
+            , next<N>\r
+            , identity<N>\r
+            >\r
+    {\r
+#else\r
+    {\r
+        typedef typename eval_if<\r
+              typename apply1<Predicate,T>::type\r
+            , next<N>\r
+            , identity<N>\r
+            >::type type;\r
+#endif\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(Sequence)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(Predicate)\r
+    >\r
+struct count_if\r
+    : aux::msvc_eti_base< typename fold<\r
+          Sequence\r
+        , integral_c<unsigned long,0>\r
+        , protect< aux::next_if<Predicate> >\r
+        >::type >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2,count_if,(Sequence,Predicate))\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(2, count_if)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_COUNT_IF_HPP_INCLUDED\r
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 (file)
index 0000000..8b58d57
--- /dev/null
@@ -0,0 +1,58 @@
+\r
+#ifndef BOOST_MPL_DEQUE_HPP_INCLUDED\r
+#define BOOST_MPL_DEQUE_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: deque.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#if !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+#   include <boost/mpl/limits/vector.hpp>\r
+#   include <boost/mpl/aux_/na.hpp>\r
+#   include <boost/mpl/aux_/config/preprocessor.hpp>\r
+\r
+#   include <boost/preprocessor/inc.hpp>\r
+#   include <boost/preprocessor/cat.hpp>\r
+#   include <boost/preprocessor/stringize.hpp>\r
+\r
+#if !defined(BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING)\r
+#   define AUX778076_DEQUE_HEADER \\r
+    BOOST_PP_CAT(vector, BOOST_MPL_LIMIT_VECTOR_SIZE).hpp \\r
+    /**/\r
+#else\r
+#   define AUX778076_DEQUE_HEADER \\r
+    BOOST_PP_CAT(vector, BOOST_MPL_LIMIT_VECTOR_SIZE)##.hpp \\r
+    /**/\r
+#endif\r
+\r
+#   include BOOST_PP_STRINGIZE(boost/mpl/vector/AUX778076_DEQUE_HEADER)\r
+#   undef AUX778076_DEQUE_HEADER\r
+#endif\r
+\r
+#include <boost/mpl/aux_/config/use_preprocessed.hpp>\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \\r
+    && !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+\r
+#   define BOOST_MPL_PREPROCESSED_HEADER deque.hpp\r
+#   include <boost/mpl/aux_/include_preprocessed.hpp>\r
+\r
+#else\r
+\r
+#   include <boost/mpl/limits/vector.hpp>\r
+\r
+#   define AUX778076_SEQUENCE_NAME deque\r
+#   define AUX778076_SEQUENCE_BASE_NAME vector\r
+#   define AUX778076_SEQUENCE_LIMIT BOOST_MPL_LIMIT_VECTOR_SIZE\r
+#   include <boost/mpl/aux_/sequence_wrapper.hpp>\r
+\r
+#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS\r
+#endif // BOOST_MPL_DEQUE_HPP_INCLUDED\r
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 (file)
index 0000000..3f4473e
--- /dev/null
@@ -0,0 +1,41 @@
+\r
+#ifndef BOOST_MPL_DEREF_HPP_INCLUDED\r
+#define BOOST_MPL_DEREF_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2002-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: deref.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/aux_/msvc_type.hpp>\r
+#include <boost/mpl/aux_/na_spec.hpp>\r
+#include <boost/mpl/aux_/lambda_support.hpp>\r
+#include <boost/mpl/aux_/config/eti.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(Iterator)\r
+    >\r
+struct deref\r
+{\r
+#if !defined(BOOST_MPL_CFG_MSVC_70_ETI_BUG)\r
+    typedef typename Iterator::type type;\r
+#else\r
+    typedef typename aux::msvc_type<Iterator>::type type;\r
+#endif\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,deref,(Iterator))\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(1, deref)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_DEREF_HPP_INCLUDED\r
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 (file)
index 0000000..a943549
--- /dev/null
@@ -0,0 +1,78 @@
+\r
+#ifndef BOOST_MPL_DISTANCE_HPP_INCLUDED\r
+#define BOOST_MPL_DISTANCE_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: distance.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/distance_fwd.hpp>\r
+#include <boost/mpl/iter_fold.hpp>\r
+#include <boost/mpl/iterator_range.hpp>\r
+#include <boost/mpl/long.hpp>\r
+#include <boost/mpl/next.hpp>\r
+#include <boost/mpl/tag.hpp>\r
+#include <boost/mpl/apply_wrap.hpp>\r
+#include <boost/mpl/aux_/msvc_eti_base.hpp>\r
+#include <boost/mpl/aux_/value_wknd.hpp>\r
+#include <boost/mpl/aux_/na_spec.hpp>\r
+#include <boost/mpl/aux_/config/forwarding.hpp>\r
+#include <boost/mpl/aux_/config/static_constant.hpp>\r
+\r
+\r
+namespace boost { namespace mpl {\r
+\r
+// default implementation for forward/bidirectional iterators\r
+template< typename Tag > struct distance_impl\r
+{\r
+    template< typename First, typename Last > struct apply\r
+#if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING)\r
+        : aux::msvc_eti_base< typename iter_fold<\r
+              iterator_range<First,Last>\r
+            , mpl::long_<0>\r
+            , next<>\r
+            >::type >\r
+    {\r
+#else\r
+    {\r
+        typedef typename iter_fold<\r
+              iterator_range<First,Last>\r
+            , mpl::long_<0>\r
+            , next<>\r
+            >::type type;\r
+        \r
+        BOOST_STATIC_CONSTANT(long, value =\r
+              (iter_fold<\r
+                  iterator_range<First,Last>\r
+                , mpl::long_<0>\r
+                , next<>\r
+                >::type::value)\r
+            );\r
+#endif\r
+    };\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(First)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(Last)\r
+    >\r
+struct distance\r
+    : distance_impl< typename tag<First>::type >\r
+        ::template apply<First, Last>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, distance, (First, Last))\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(2, distance)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_DISTANCE_HPP_INCLUDED\r
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 (file)
index 0000000..7c946cb
--- /dev/null
@@ -0,0 +1,28 @@
+\r
+#ifndef BOOST_MPL_DISTANCE_FWD_HPP_INCLUDED\r
+#define BOOST_MPL_DISTANCE_FWD_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: distance_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/aux_/common_name_wknd.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+BOOST_MPL_AUX_COMMON_NAME_WKND(distance)\r
+\r
+template< typename Tag > struct distance_impl;\r
+template< typename First, typename Last > struct distance;\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_DISTANCE_FWD_HPP_INCLUDED\r
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 (file)
index 0000000..d58db4b
--- /dev/null
@@ -0,0 +1,21 @@
+\r
+#ifndef BOOST_MPL_DIVIDES_HPP_INCLUDED\r
+#define BOOST_MPL_DIVIDES_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: divides.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#define AUX778076_OP_NAME divides\r
+#define AUX778076_OP_TOKEN /\r
+#include <boost/mpl/aux_/arithmetic_op.hpp>\r
+\r
+#endif // BOOST_MPL_DIVIDES_HPP_INCLUDED\r
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 (file)
index 0000000..eca39ae
--- /dev/null
@@ -0,0 +1,39 @@
+\r
+#ifndef BOOST_MPL_EMPTY_HPP_INCLUDED\r
+#define BOOST_MPL_EMPTY_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: empty.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/empty_fwd.hpp>\r
+#include <boost/mpl/sequence_tag.hpp>\r
+#include <boost/mpl/aux_/empty_impl.hpp>\r
+#include <boost/mpl/aux_/na_spec.hpp>\r
+#include <boost/mpl/aux_/lambda_support.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(Sequence)\r
+    >\r
+struct empty\r
+    : empty_impl< typename sequence_tag<Sequence>::type >\r
+        ::template apply< Sequence >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,empty,(Sequence))\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(1, empty)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_EMPTY_HPP_INCLUDED\r
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 (file)
index 0000000..500e438
--- /dev/null
@@ -0,0 +1,59 @@
+\r
+#ifndef BOOST_MPL_EMPTY_BASE_HPP_INCLUDED\r
+#define BOOST_MPL_EMPTY_BASE_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: empty_base.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/bool.hpp>\r
+#include <boost/mpl/aux_/config/msvc.hpp>\r
+#include <boost/mpl/aux_/config/workaround.hpp>\r
+\r
+#include <boost/type_traits/is_empty.hpp>\r
+\r
+// should be always the last #include directive\r
+#include <boost/type_traits/detail/bool_trait_def.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+// empty base class, guaranteed to have no members; inheritance from\r
+// 'empty_base' through the 'inherit' metafunction is a no-op - see \r
+// "mpl/inherit.hpp> header for the details\r
+struct empty_base {};\r
+\r
+template< typename T >\r
+struct is_empty_base\r
+    : false_\r
+{\r
+#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)\r
+    using false_::value;\r
+#endif\r
+};\r
+\r
+template<>\r
+struct is_empty_base<empty_base>\r
+    : true_\r
+{\r
+#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)\r
+    using true_::value;\r
+#endif\r
+};\r
+\r
+}}\r
+\r
+namespace boost {\r
+BOOST_TT_AUX_BOOL_TRAIT_SPEC1(is_empty, mpl::empty_base, true)\r
+}\r
+\r
+#include <boost/type_traits/detail/bool_trait_undef.hpp>\r
+\r
+#endif // BOOST_MPL_EMPTY_BASE_HPP_INCLUDED\r
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 (file)
index 0000000..27c659b
--- /dev/null
@@ -0,0 +1,24 @@
+\r
+#ifndef BOOST_MPL_EMPTY_FWD_HPP_INCLUDED\r
+#define BOOST_MPL_EMPTY_FWD_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: empty_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template< typename Tag > struct empty_impl;\r
+template< typename Sequence > struct empty;\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_EMPTY_FWD_HPP_INCLUDED\r
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 (file)
index 0000000..20c1aa0
--- /dev/null
@@ -0,0 +1,42 @@
+\r
+#ifndef BOOST_MPL_EMPTY_SEQUENCE_HPP_INCLUDED\r
+#define BOOST_MPL_EMPTY_SEQUENCE_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2004\r
+// Copyright Alexander Nasonov 2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: empty_sequence.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/size_fwd.hpp>\r
+#include <boost/mpl/int.hpp>\r
+#include <boost/mpl/iterator_tags.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+struct empty_sequence\r
+{\r
+    struct tag; \r
+    struct begin { typedef random_access_iterator_tag category; };    \r
+    typedef begin end;\r
+};\r
+\r
+template<>\r
+struct size_impl<empty_sequence::tag>\r
+{\r
+    template< typename Sequence > struct apply\r
+        : int_<0>\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
+\r
+#endif // #ifndef BOOST_MPL_EMPTY_SEQUENCE_HPP_INCLUDED\r
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 (file)
index 0000000..aebcca5
--- /dev/null
@@ -0,0 +1,19 @@
+\r
+#ifndef BOOST_MPL_END_HPP_INCLUDED\r
+#define BOOST_MPL_END_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: end.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/begin_end.hpp>\r
+\r
+#endif // BOOST_MPL_END_HPP_INCLUDED\r
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 (file)
index 0000000..45a21f4
--- /dev/null
@@ -0,0 +1,112 @@
+\r
+#ifndef BOOST_MPL_EQUAL_HPP_INCLUDED\r
+#define BOOST_MPL_EQUAL_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: equal.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/aux_/iter_fold_if_impl.hpp>\r
+#include <boost/mpl/aux_/iter_apply.hpp>\r
+#include <boost/mpl/and.hpp>\r
+#include <boost/mpl/not.hpp>\r
+#include <boost/mpl/begin_end.hpp>\r
+#include <boost/mpl/next.hpp>\r
+#include <boost/mpl/always.hpp>\r
+#include <boost/mpl/bool.hpp>\r
+#include <boost/mpl/lambda.hpp>\r
+#include <boost/mpl/bind.hpp>\r
+#include <boost/mpl/apply.hpp>\r
+#include <boost/mpl/void.hpp>\r
+#include <boost/mpl/aux_/na_spec.hpp>\r
+#include <boost/mpl/aux_/lambda_support.hpp>\r
+#include <boost/mpl/aux_/msvc_eti_base.hpp>\r
+\r
+#include <boost/type_traits/is_same.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename Predicate\r
+    , typename LastIterator1\r
+    , typename LastIterator2\r
+    >\r
+struct equal_pred\r
+{\r
+    template<\r
+          typename Iterator2\r
+        , typename Iterator1\r
+        >\r
+    struct apply\r
+    {\r
+        typedef typename and_< \r
+              not_< is_same<Iterator1,LastIterator1> >\r
+            , not_< is_same<Iterator2,LastIterator2> >\r
+            , aux::iter_apply2<Predicate,Iterator1,Iterator2>\r
+            >::type type;\r
+    };\r
+};\r
+\r
+template<\r
+      typename Sequence1\r
+    , typename Sequence2\r
+    , typename Predicate\r
+    >\r
+struct equal_impl\r
+{\r
+    typedef typename begin<Sequence1>::type first1_;\r
+    typedef typename begin<Sequence2>::type first2_;\r
+    typedef typename end<Sequence1>::type last1_;\r
+    typedef typename end<Sequence2>::type last2_;\r
+\r
+    typedef aux::iter_fold_if_impl<\r
+          first1_\r
+        , first2_\r
+        , next<>\r
+        , protect< aux::equal_pred<Predicate,last1_,last2_> >\r
+        , void_\r
+        , always<false_>\r
+        > fold_;\r
+\r
+    typedef typename fold_::iterator iter1_;\r
+    typedef typename fold_::state iter2_;\r
+    typedef and_<\r
+          is_same<iter1_,last1_>\r
+        , is_same<iter2_,last2_>\r
+        > result_;\r
+\r
+    typedef typename result_::type type;\r
+};\r
+\r
+\r
+} // namespace aux\r
+\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(Sequence1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(Sequence2)\r
+    , typename Predicate = is_same<_,_>\r
+    >\r
+struct equal\r
+    : aux::msvc_eti_base< \r
+          typename aux::equal_impl<Sequence1,Sequence2,Predicate>::type\r
+        >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2,equal,(Sequence1,Sequence2))\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(2, equal)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_EQUAL_HPP_INCLUDED\r
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 (file)
index 0000000..a3973f5
--- /dev/null
@@ -0,0 +1,21 @@
+\r
+#ifndef BOOST_MPL_EQUAL_TO_HPP_INCLUDED\r
+#define BOOST_MPL_EQUAL_TO_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: equal_to.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#define AUX778076_OP_NAME equal_to\r
+#define AUX778076_OP_TOKEN ==\r
+#include <boost/mpl/aux_/comparison_op.hpp>\r
+\r
+#endif // BOOST_MPL_EQUAL_TO_HPP_INCLUDED\r
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 (file)
index 0000000..08e395a
--- /dev/null
@@ -0,0 +1,42 @@
+\r
+#ifndef BOOST_MPL_ERASE_HPP_INCLUDED\r
+#define BOOST_MPL_ERASE_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: erase.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/erase_fwd.hpp>\r
+#include <boost/mpl/sequence_tag.hpp>\r
+#include <boost/mpl/aux_/erase_impl.hpp>\r
+#include <boost/mpl/aux_/na_spec.hpp>\r
+#include <boost/mpl/aux_/lambda_support.hpp>\r
+#include <boost/mpl/aux_/config/msvc_typename.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(Sequence)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(First)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(Last)\r
+    >\r
+struct erase\r
+    : erase_impl< typename sequence_tag<Sequence>::type >\r
+        ::template apply< Sequence,First,Last >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(3,erase,(Sequence,First,Last))\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(3,erase)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_ERASE_HPP_INCLUDED\r
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 (file)
index 0000000..860eef4
--- /dev/null
@@ -0,0 +1,24 @@
+\r
+#ifndef BOOST_MPL_ERASE_FWD_HPP_INCLUDED\r
+#define BOOST_MPL_ERASE_FWD_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: erase_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template< typename Tag > struct erase_impl;\r
+template< typename Sequence, typename First, typename Last > struct erase;\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_ERASE_FWD_HPP_INCLUDED\r
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 (file)
index 0000000..05e8391
--- /dev/null
@@ -0,0 +1,41 @@
+\r
+#ifndef BOOST_MPL_ERASE_KEY_HPP_INCLUDED\r
+#define BOOST_MPL_ERASE_KEY_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: erase_key.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/erase_key_fwd.hpp>\r
+#include <boost/mpl/sequence_tag.hpp>\r
+#include <boost/mpl/aux_/erase_key_impl.hpp>\r
+#include <boost/mpl/aux_/na_spec.hpp>\r
+#include <boost/mpl/aux_/lambda_support.hpp>\r
+#include <boost/mpl/aux_/config/msvc_typename.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(Sequence)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(Key)\r
+    >\r
+struct erase_key\r
+    : erase_key_impl< typename sequence_tag<Sequence>::type >\r
+        ::template apply< Sequence,Key >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2,erase_key,(Sequence,Key))\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(2,erase_key)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_ERASE_KEY_HPP_INCLUDED\r
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 (file)
index 0000000..98d716f
--- /dev/null
@@ -0,0 +1,24 @@
+\r
+#ifndef BOOST_MPL_ERASE_KEY_FWD_HPP_INCLUDED\r
+#define BOOST_MPL_ERASE_KEY_FWD_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: erase_key_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template< typename Tag > struct erase_key_impl;\r
+template< typename Sequence, typename Key > struct erase_key;\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_ERASE_KEY_FWD_HPP_INCLUDED\r
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 (file)
index 0000000..f5f8a55
--- /dev/null
@@ -0,0 +1,71 @@
+\r
+#ifndef BOOST_MPL_EVAL_IF_HPP_INCLUDED\r
+#define BOOST_MPL_EVAL_IF_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: eval_if.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/if.hpp>\r
+#include <boost/mpl/aux_/na_spec.hpp>\r
+#include <boost/mpl/aux_/lambda_support.hpp>\r
+#include <boost/mpl/aux_/config/msvc.hpp>\r
+#include <boost/mpl/aux_/config/gcc.hpp>\r
+#include <boost/mpl/aux_/config/workaround.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(C)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(F1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(F2)\r
+    >\r
+struct eval_if\r
+#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) \\r
+     || ( BOOST_WORKAROUND(BOOST_MPL_CFG_GCC, >= 0x0300) \\r
+        && BOOST_WORKAROUND(BOOST_MPL_CFG_GCC, BOOST_TESTED_AT(0x0304)) \\r
+        )\r
+{\r
+    typedef typename if_<C,F1,F2>::type f_;\r
+    typedef typename f_::type type;\r
+#else\r
+    : if_<C,F1,F2>::type\r
+{\r
+#endif\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(3,eval_if,(C,F1,F2))\r
+};\r
+\r
+// (almost) copy & paste in order to save one more \r
+// recursively nested template instantiation to user\r
+template<\r
+      bool C\r
+    , typename F1\r
+    , typename F2\r
+    >\r
+struct eval_if_c\r
+#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) \\r
+     || ( BOOST_WORKAROUND(BOOST_MPL_CFG_GCC, >= 0x0300) \\r
+        && BOOST_WORKAROUND(BOOST_MPL_CFG_GCC, BOOST_TESTED_AT(0x0304)) \\r
+        )\r
+{\r
+    typedef typename if_c<C,F1,F2>::type f_;\r
+    typedef typename f_::type type;\r
+#else\r
+    : if_c<C,F1,F2>::type\r
+{\r
+#endif\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(3, eval_if)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_EVAL_IF_HPP_INCLUDED\r
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 (file)
index 0000000..6391e80
--- /dev/null
@@ -0,0 +1,46 @@
+\r
+#ifndef BOOST_MPL_FILTER_VIEW_HPP_INCLUDED\r
+#define BOOST_MPL_FILTER_VIEW_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: filter_view.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/begin_end.hpp>\r
+#include <boost/mpl/lambda.hpp>\r
+#include <boost/mpl/aux_/filter_iter.hpp>\r
+#include <boost/mpl/aux_/na_spec.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(Sequence)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(Predicate)\r
+    >\r
+struct filter_view\r
+{\r
+ private:    \r
+    typedef typename lambda<Predicate>::type pred_;\r
+    typedef typename begin<Sequence>::type first_;\r
+    typedef typename end<Sequence>::type last_;\r
+\r
+ public:\r
+    struct tag;\r
+    typedef filter_view type;\r
+    typedef typename aux::next_filter_iter< first_,last_,pred_ >::type begin;\r
+    typedef aux::filter_iter< last_,last_,pred_ > end;\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(2, filter_view)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_FILTER_VIEW_HPP_INCLUDED\r
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 (file)
index 0000000..482cc05
--- /dev/null
@@ -0,0 +1,38 @@
+\r
+#ifndef BOOST_MPL_FIND_HPP_INCLUDED\r
+#define BOOST_MPL_FIND_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2002\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: find.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/find_if.hpp>\r
+#include <boost/mpl/same_as.hpp>\r
+#include <boost/mpl/aux_/na_spec.hpp>\r
+#include <boost/mpl/aux_/lambda_support.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(Sequence)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(T)\r
+    >\r
+struct find\r
+    : find_if< Sequence,same_as<T> >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2,find,(Sequence,T))\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(2, find)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_FIND_HPP_INCLUDED\r
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 (file)
index 0000000..80953ba
--- /dev/null
@@ -0,0 +1,50 @@
+\r
+#ifndef BOOST_MPL_FIND_IF_HPP_INCLUDED\r
+#define BOOST_MPL_FIND_IF_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: find_if.hpp 49274 2008-10-11 07:22:05Z agurtovoy $\r
+// $Date: 2008-10-11 03:22:05 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49274 $\r
+\r
+#include <boost/mpl/aux_/find_if_pred.hpp>\r
+#include <boost/mpl/arg.hpp>\r
+#include <boost/mpl/iter_fold_if.hpp>\r
+#include <boost/mpl/aux_/common_name_wknd.hpp>\r
+#include <boost/mpl/aux_/na_spec.hpp>\r
+#include <boost/mpl/aux_/lambda_support.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+BOOST_MPL_AUX_COMMON_NAME_WKND(find_if)\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(Sequence)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(Predicate)\r
+    >\r
+struct find_if\r
+{\r
+    typedef typename iter_fold_if<\r
+          Sequence\r
+        , void\r
+        , mpl::arg<1> // ignore\r
+        , protect< aux::find_if_pred<Predicate> >\r
+        >::type result_;\r
+\r
+    typedef typename second<result_>::type type;\r
+\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2,find_if,(Sequence,Predicate))\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(2,find_if)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_FIND_IF_HPP_INCLUDED\r
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 (file)
index 0000000..50b44b1
--- /dev/null
@@ -0,0 +1,48 @@
+\r
+#ifndef BOOST_MPL_FOLD_HPP_INCLUDED\r
+#define BOOST_MPL_FOLD_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+// Copyright David Abrahams 2001-2002\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: fold.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/begin_end.hpp>\r
+#include <boost/mpl/O1_size.hpp>\r
+#include <boost/mpl/aux_/fold_impl.hpp>\r
+#include <boost/mpl/aux_/na_spec.hpp>\r
+#include <boost/mpl/aux_/lambda_support.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(Sequence)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(State)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(ForwardOp)\r
+    >\r
+struct fold\r
+{\r
+    typedef typename aux::fold_impl<\r
+          ::boost::mpl::O1_size<Sequence>::value\r
+        , typename begin<Sequence>::type\r
+        , typename end<Sequence>::type\r
+        , State\r
+        , ForwardOp\r
+        >::state type;\r
+\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(3,fold,(Sequence,State,ForwardOp))\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(3, fold)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_FOLD_HPP_INCLUDED\r
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 (file)
index 0000000..da93a5d
--- /dev/null
@@ -0,0 +1,116 @@
+\r
+#ifndef BOOST_MPL_FOR_EACH_HPP_INCLUDED\r
+#define BOOST_MPL_FOR_EACH_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2008\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: for_each.hpp 55648 2009-08-18 05:16:53Z agurtovoy $\r
+// $Date: 2009-08-18 01:16:53 -0400 (Tue, 18 Aug 2009) $\r
+// $Revision: 55648 $\r
+\r
+#include <boost/mpl/is_sequence.hpp>\r
+#include <boost/mpl/begin_end.hpp>\r
+#include <boost/mpl/apply.hpp>\r
+#include <boost/mpl/bool.hpp>\r
+#include <boost/mpl/next_prior.hpp>\r
+#include <boost/mpl/deref.hpp>\r
+#include <boost/mpl/identity.hpp>\r
+#include <boost/mpl/assert.hpp>\r
+#include <boost/mpl/aux_/unwrap.hpp>\r
+\r
+#include <boost/type_traits/is_same.hpp>\r
+#include <boost/utility/value_init.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+\r
+template< bool done = true >\r
+struct for_each_impl\r
+{\r
+    template<\r
+          typename Iterator\r
+        , typename LastIterator\r
+        , typename TransformFunc\r
+        , typename F\r
+        >\r
+    static void execute(\r
+          Iterator*\r
+        , LastIterator*\r
+        , TransformFunc*\r
+        , F\r
+        )\r
+    {\r
+    }\r
+};\r
+\r
+template<>\r
+struct for_each_impl<false>\r
+{\r
+    template<\r
+          typename Iterator\r
+        , typename LastIterator\r
+        , typename TransformFunc\r
+        , typename F\r
+        >\r
+    static void execute(\r
+          Iterator*\r
+        , LastIterator*\r
+        , TransformFunc* \r
+        , F f\r
+        )\r
+    {\r
+        typedef typename deref<Iterator>::type item;\r
+        typedef typename apply1<TransformFunc,item>::type arg;\r
+    \r
+        // dwa 2002/9/10 -- make sure not to invoke undefined behavior\r
+        // when we pass arg.\r
+        value_initialized<arg> x;\r
+        aux::unwrap(f, 0)(boost::get(x));\r
+        \r
+        typedef typename mpl::next<Iterator>::type iter;\r
+        for_each_impl<boost::is_same<iter,LastIterator>::value>\r
+            ::execute( static_cast<iter*>(0), static_cast<LastIterator*>(0), static_cast<TransformFunc*>(0), f);\r
+    }\r
+};\r
+\r
+} // namespace aux\r
+\r
+// agurt, 17/mar/02: pointer default parameters are necessary to workaround \r
+// MSVC 6.5 function template signature's mangling bug\r
+template<\r
+      typename Sequence\r
+    , typename TransformOp\r
+    , typename F\r
+    >\r
+inline\r
+void for_each(F f, Sequence* = 0, TransformOp* = 0)\r
+{\r
+    BOOST_MPL_ASSERT(( is_sequence<Sequence> ));\r
+\r
+    typedef typename begin<Sequence>::type first;\r
+    typedef typename end<Sequence>::type last;\r
+\r
+    aux::for_each_impl< boost::is_same<first,last>::value >\r
+        ::execute(static_cast<first*>(0), static_cast<last*>(0), static_cast<TransformOp*>(0), f);\r
+}\r
+\r
+template<\r
+      typename Sequence\r
+    , typename F\r
+    >\r
+inline\r
+void for_each(F f, Sequence* = 0)\r
+{\r
+    for_each<Sequence, identity<> >(f);\r
+}\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_FOR_EACH_HPP_INCLUDED\r
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 (file)
index 0000000..8fb2ff0
--- /dev/null
@@ -0,0 +1,39 @@
+\r
+#ifndef BOOST_MPL_FRONT_HPP_INCLUDED\r
+#define BOOST_MPL_FRONT_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: front.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/front_fwd.hpp>\r
+#include <boost/mpl/aux_/front_impl.hpp>\r
+#include <boost/mpl/sequence_tag.hpp>\r
+#include <boost/mpl/aux_/na_spec.hpp>\r
+#include <boost/mpl/aux_/lambda_support.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(Sequence)\r
+    >\r
+struct front\r
+    : front_impl< typename sequence_tag<Sequence>::type >\r
+        ::template apply< Sequence >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,front,(Sequence))\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(1, front)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_FRONT_HPP_INCLUDED\r
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 (file)
index 0000000..defb53d
--- /dev/null
@@ -0,0 +1,24 @@
+\r
+#ifndef BOOST_MPL_FRONT_FWD_HPP_INCLUDED\r
+#define BOOST_MPL_FRONT_FWD_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: front_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template< typename Tag > struct front_impl;\r
+template< typename Sequence > struct front;\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_FRONT_FWD_HPP_INCLUDED\r
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 (file)
index 0000000..0e6db97
--- /dev/null
@@ -0,0 +1,33 @@
+\r
+#ifndef BOOST_MPL_FRONT_INSERTER_HPP_INCLUDED\r
+#define BOOST_MPL_FRONT_INSERTER_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2003-2004\r
+// Copyright David Abrahams 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: front_inserter.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/push_front.hpp>\r
+#include <boost/mpl/inserter.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Sequence\r
+    >\r
+struct front_inserter\r
+    : inserter< Sequence,push_front<> >\r
+{\r
+};\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_FRONT_INSERTER_HPP_INCLUDED\r
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 (file)
index 0000000..8e8c662
--- /dev/null
@@ -0,0 +1,21 @@
+\r
+#ifndef BOOST_MPL_GREATER_HPP_INCLUDED\r
+#define BOOST_MPL_GREATER_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: greater.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#define AUX778076_OP_NAME greater\r
+#define AUX778076_OP_TOKEN >\r
+#include <boost/mpl/aux_/comparison_op.hpp>\r
+\r
+#endif // BOOST_MPL_GREATER_HPP_INCLUDED\r
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 (file)
index 0000000..c9eb444
--- /dev/null
@@ -0,0 +1,21 @@
+\r
+#ifndef BOOST_MPL_GREATER_EQUAL_HPP_INCLUDED\r
+#define BOOST_MPL_GREATER_EQUAL_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: greater_equal.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#define AUX778076_OP_NAME greater_equal\r
+#define AUX778076_OP_TOKEN >=\r
+#include <boost/mpl/aux_/comparison_op.hpp>\r
+\r
+#endif // BOOST_MPL_GREATER_EQUAL_HPP_INCLUDED\r
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 (file)
index 0000000..701eee5
--- /dev/null
@@ -0,0 +1,41 @@
+\r
+#ifndef BOOST_MPL_HAS_KEY_HPP_INCLUDED\r
+#define BOOST_MPL_HAS_KEY_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2003-2004\r
+// Copyright David Abrahams 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: has_key.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/has_key_fwd.hpp>\r
+#include <boost/mpl/sequence_tag.hpp>\r
+#include <boost/mpl/aux_/has_key_impl.hpp>\r
+#include <boost/mpl/aux_/na_spec.hpp>\r
+#include <boost/mpl/aux_/lambda_support.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(AssociativeSequence)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(Key)\r
+    >\r
+struct has_key\r
+    : has_key_impl< typename sequence_tag<AssociativeSequence>::type >\r
+        ::template apply<AssociativeSequence,Key>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2,has_key,(AssociativeSequence,Key))\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(2, has_key)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_HAS_KEY_HPP_INCLUDED\r
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 (file)
index 0000000..638044c
--- /dev/null
@@ -0,0 +1,25 @@
+\r
+#ifndef BOOST_MPL_HAS_KEY_FWD_HPP_INCLUDED\r
+#define BOOST_MPL_HAS_KEY_FWD_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2003-2004\r
+// Copyright David Abrahams 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: has_key_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template< typename Tag > struct has_key_impl;\r
+template< typename AssociativeSequence, typename Key > struct has_key;\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_HAS_KEY_FWD_HPP_INCLUDED\r
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 (file)
index 0000000..79f2ebf
--- /dev/null
@@ -0,0 +1,274 @@
+\r
+#ifndef BOOST_MPL_HAS_XXX_HPP_INCLUDED\r
+#define BOOST_MPL_HAS_XXX_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2002-2006\r
+// Copyright David Abrahams 2002-2003\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: has_xxx.hpp 49273 2008-10-11 06:54:06Z agurtovoy $\r
+// $Date: 2008-10-11 02:54:06 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49273 $\r
+\r
+#include <boost/mpl/bool.hpp>\r
+#include <boost/mpl/aux_/type_wrapper.hpp>\r
+#include <boost/mpl/aux_/yes_no.hpp>\r
+#include <boost/mpl/aux_/config/has_xxx.hpp>\r
+#include <boost/mpl/aux_/config/msvc_typename.hpp>\r
+#include <boost/mpl/aux_/config/msvc.hpp>\r
+#include <boost/mpl/aux_/config/static_constant.hpp>\r
+#include <boost/mpl/aux_/config/workaround.hpp>\r
+\r
+#include <boost/preprocessor/cat.hpp>\r
+\r
+#if BOOST_WORKAROUND( __BORLANDC__, BOOST_TESTED_AT(0x590) )\r
+# include <boost/type_traits/is_class.hpp>\r
+#endif\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_HAS_XXX)\r
+\r
+#   if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)\r
+\r
+// agurt, 11/sep/02: MSVC-specific version (< 7.1), based on a USENET \r
+// newsgroup's posting by John Madsen (comp.lang.c++.moderated, \r
+// 1999-11-12 19:17:06 GMT); the code is _not_ standard-conforming, but \r
+// it works way more reliably than the SFINAE-based implementation\r
+\r
+// Modified dwa 8/Oct/02 to handle reference types.\r
+\r
+#   include <boost/mpl/if.hpp>\r
+#   include <boost/mpl/bool.hpp>\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+struct has_xxx_tag;\r
+\r
+#if BOOST_WORKAROUND(BOOST_MSVC, == 1300)\r
+template< typename U > struct msvc_incomplete_array\r
+{\r
+    typedef char (&type)[sizeof(U) + 1];\r
+};\r
+#endif\r
+\r
+template< typename T >\r
+struct msvc_is_incomplete\r
+{\r
+    // MSVC is capable of some kinds of SFINAE.  If U is an incomplete\r
+    // type, it won't pick the second overload\r
+    static char tester(...);\r
+\r
+#if BOOST_WORKAROUND(BOOST_MSVC, == 1300)\r
+    template< typename U >\r
+    static typename msvc_incomplete_array<U>::type tester(type_wrapper<U>);\r
+#else\r
+    template< typename U >\r
+    static char (& tester(type_wrapper<U>) )[sizeof(U)+1];\r
+#endif \r
+    \r
+    BOOST_STATIC_CONSTANT(bool, value = \r
+          sizeof(tester(type_wrapper<T>())) == 1\r
+        );\r
+};\r
+\r
+template<>\r
+struct msvc_is_incomplete<int>\r
+{\r
+    BOOST_STATIC_CONSTANT(bool, value = false);\r
+};\r
+\r
+}}}\r
+\r
+#   define BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF_(trait, name, default_) \\r
+template< typename T, typename name = ::boost::mpl::aux::has_xxx_tag > \\r
+struct BOOST_PP_CAT(trait,_impl) : T \\r
+{ \\r
+    static boost::mpl::aux::no_tag \\r
+    test(void(*)(::boost::mpl::aux::has_xxx_tag)); \\r
+    \\r
+    static boost::mpl::aux::yes_tag test(...); \\r
+    \\r
+    BOOST_STATIC_CONSTANT(bool, value = \\r
+          sizeof(test(static_cast<void(*)(name)>(0))) \\r
+            != sizeof(boost::mpl::aux::no_tag) \\r
+        ); \\r
+    typedef boost::mpl::bool_<value> type; \\r
+}; \\r
+\\r
+template< typename T, typename fallback_ = boost::mpl::bool_<default_> > \\r
+struct trait \\r
+    : boost::mpl::if_c< \\r
+          boost::mpl::aux::msvc_is_incomplete<T>::value \\r
+        , boost::mpl::bool_<false> \\r
+        , BOOST_PP_CAT(trait,_impl)<T> \\r
+        >::type \\r
+{ \\r
+}; \\r
+\\r
+BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, void) \\r
+BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, bool) \\r
+BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, char) \\r
+BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, signed char) \\r
+BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, unsigned char) \\r
+BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, signed short) \\r
+BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, unsigned short) \\r
+BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, signed int) \\r
+BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, unsigned int) \\r
+BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, signed long) \\r
+BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, unsigned long) \\r
+BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, float) \\r
+BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, double) \\r
+BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, long double) \\r
+/**/\r
+\r
+#   define BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, T) \\r
+template<> struct trait<T> \\r
+{ \\r
+    BOOST_STATIC_CONSTANT(bool, value = false); \\r
+    typedef boost::mpl::bool_<false> type; \\r
+}; \\r
+/**/\r
+\r
+#if !defined(BOOST_NO_INTRINSIC_WCHAR_T)\r
+#   define BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(trait, name, unused) \\r
+    BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF_(trait, name, unused) \\r
+    BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, wchar_t) \\r
+/**/\r
+#else\r
+#   define BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(trait, name, unused) \\r
+    BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF_(trait, name, unused) \\r
+/**/\r
+#endif\r
+\r
+\r
+// SFINAE-based implementations below are derived from a USENET newsgroup's \r
+// posting by Rani Sharoni (comp.lang.c++.moderated, 2002-03-17 07:45:09 PST)\r
+\r
+#   elif BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1400)) \\r
+      || BOOST_WORKAROUND(__IBMCPP__, <= 700)\r
+\r
+// MSVC 7.1+ & VACPP\r
+\r
+// agurt, 15/jun/05: replace overload-based SFINAE implementation with SFINAE\r
+// applied to partial specialization to fix some apparently random failures \r
+// (thanks to Daniel Wallin for researching this!)\r
+\r
+#   define BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(trait, name, default_) \\r
+template< typename T > \\r
+struct BOOST_PP_CAT(trait, _msvc_sfinae_helper) \\r
+{ \\r
+    typedef void type; \\r
+};\\r
+\\r
+template< typename T, typename U = void > \\r
+struct BOOST_PP_CAT(trait,_impl_) \\r
+{ \\r
+    BOOST_STATIC_CONSTANT(bool, value = false); \\r
+    typedef boost::mpl::bool_<value> type; \\r
+}; \\r
+\\r
+template< typename T > \\r
+struct BOOST_PP_CAT(trait,_impl_)< \\r
+      T \\r
+    , typename BOOST_PP_CAT(trait, _msvc_sfinae_helper)< typename T::name >::type \\r
+    > \\r
+{ \\r
+    BOOST_STATIC_CONSTANT(bool, value = true); \\r
+    typedef boost::mpl::bool_<value> type; \\r
+}; \\r
+\\r
+template< typename T, typename fallback_ = boost::mpl::bool_<default_> > \\r
+struct trait \\r
+    : BOOST_PP_CAT(trait,_impl_)<T> \\r
+{ \\r
+}; \\r
+/**/\r
+\r
+#   elif BOOST_WORKAROUND( __BORLANDC__, BOOST_TESTED_AT(0x590) )\r
+\r
+#   define BOOST_MPL_HAS_XXX_TRAIT_NAMED_BCB_DEF(trait, trait_tester, name, default_) \\r
+template< typename T, bool IS_CLASS > \\r
+struct trait_tester \\r
+{ \\r
+    BOOST_STATIC_CONSTANT( bool,  value = false ); \\r
+}; \\r
+template< typename T > \\r
+struct trait_tester< T, true > \\r
+{ \\r
+    struct trait_tester_impl \\r
+    { \\r
+        template < class U > \\r
+        static int  resolve( boost::mpl::aux::type_wrapper<U> const volatile * \\r
+                           , boost::mpl::aux::type_wrapper<typename U::name >* = 0 ); \\r
+        static char resolve( ... ); \\r
+    }; \\r
+    typedef boost::mpl::aux::type_wrapper<T> t_; \\r
+    BOOST_STATIC_CONSTANT( bool, value = ( sizeof( trait_tester_impl::resolve( static_cast< t_ * >(0) ) ) == sizeof(int) ) ); \\r
+}; \\r
+template< typename T, typename fallback_ = boost::mpl::bool_<default_> > \\r
+struct trait           \\r
+{                      \\r
+    BOOST_STATIC_CONSTANT( bool, value = (trait_tester< T, boost::is_class< T >::value >::value) );     \\r
+    typedef boost::mpl::bool_< trait< T, fallback_ >::value > type; \\r
+};\r
+\r
+#   define BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(trait, name, default_) \\r
+    BOOST_MPL_HAS_XXX_TRAIT_NAMED_BCB_DEF( trait \\r
+                                         , BOOST_PP_CAT(trait,_tester)      \\r
+                                         , name       \\r
+                                         , default_ ) \\r
+/**/\r
+\r
+#   else // other SFINAE-capable compilers\r
+\r
+#   define BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(trait, name, default_) \\r
+template< typename T, typename fallback_ = boost::mpl::bool_<default_> > \\r
+struct trait \\r
+{ \\r
+    struct gcc_3_2_wknd \\r
+    { \\r
+        template< typename U > \\r
+        static boost::mpl::aux::yes_tag test( \\r
+              boost::mpl::aux::type_wrapper<U> const volatile* \\r
+            , boost::mpl::aux::type_wrapper<BOOST_MSVC_TYPENAME U::name>* = 0 \\r
+            ); \\r
+    \\r
+        static boost::mpl::aux::no_tag test(...); \\r
+    }; \\r
+    \\r
+    typedef boost::mpl::aux::type_wrapper<T> t_; \\r
+    BOOST_STATIC_CONSTANT(bool, value = \\r
+          sizeof(gcc_3_2_wknd::test(static_cast<t_*>(0))) \\r
+            == sizeof(boost::mpl::aux::yes_tag) \\r
+        ); \\r
+    typedef boost::mpl::bool_<value> type; \\r
+}; \\r
+/**/\r
+\r
+#   endif // BOOST_WORKAROUND(BOOST_MSVC, <= 1300)\r
+\r
+\r
+#else // BOOST_MPL_CFG_NO_HAS_XXX\r
+\r
+// placeholder implementation\r
+\r
+#   define BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(trait, name, default_) \\r
+template< typename T, typename fallback_ = boost::mpl::bool_<default_> > \\r
+struct trait \\r
+{ \\r
+    BOOST_STATIC_CONSTANT(bool, value = fallback_::value); \\r
+    typedef fallback_ type; \\r
+}; \\r
+/**/\r
+\r
+#endif\r
+\r
+#define BOOST_MPL_HAS_XXX_TRAIT_DEF(name) \\r
+    BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(BOOST_PP_CAT(has_,name), name, false) \\r
+/**/\r
+\r
+#endif // BOOST_MPL_HAS_XXX_HPP_INCLUDED\r
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 (file)
index 0000000..9046cf3
--- /dev/null
@@ -0,0 +1,45 @@
+\r
+#ifndef BOOST_MPL_IDENTITY_HPP_INCLUDED\r
+#define BOOST_MPL_IDENTITY_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: identity.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/aux_/na_spec.hpp>\r
+#include <boost/mpl/aux_/lambda_support.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(T)\r
+    >\r
+struct identity\r
+{\r
+    typedef T type;\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(1, identity, (T))\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(T)\r
+    >\r
+struct make_identity\r
+{\r
+    typedef identity<T> type;\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(1, make_identity, (T))\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC_NO_ETI(1, identity)\r
+BOOST_MPL_AUX_NA_SPEC_NO_ETI(1, make_identity)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_IDENTITY_HPP_INCLUDED\r
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 (file)
index 0000000..5f8c8f6
--- /dev/null
@@ -0,0 +1,135 @@
+\r
+#ifndef BOOST_MPL_IF_HPP_INCLUDED\r
+#define BOOST_MPL_IF_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: if.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/aux_/value_wknd.hpp>\r
+#include <boost/mpl/aux_/static_cast.hpp>\r
+#include <boost/mpl/aux_/na_spec.hpp>\r
+#include <boost/mpl/aux_/lambda_support.hpp>\r
+#include <boost/mpl/aux_/config/integral.hpp>\r
+#include <boost/mpl/aux_/config/ctps.hpp>\r
+#include <boost/mpl/aux_/config/workaround.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)\r
+\r
+template<\r
+      bool C\r
+    , typename T1\r
+    , typename T2\r
+    >\r
+struct if_c\r
+{\r
+    typedef T1 type;\r
+};\r
+\r
+template<\r
+      typename T1\r
+    , typename T2\r
+    >\r
+struct if_c<false,T1,T2>\r
+{\r
+    typedef T2 type;\r
+};\r
+\r
+// agurt, 05/sep/04: nondescriptive parameter names for the sake of DigitalMars\r
+// (and possibly MWCW < 8.0); see http://article.gmane.org/gmane.comp.lib.boost.devel/108959\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(T1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(T2)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(T3)\r
+    >\r
+struct if_\r
+{\r
+ private:\r
+    // agurt, 02/jan/03: two-step 'type' definition for the sake of aCC \r
+    typedef if_c<\r
+#if defined(BOOST_MPL_CFG_BCC_INTEGRAL_CONSTANTS)\r
+          BOOST_MPL_AUX_VALUE_WKND(T1)::value\r
+#else\r
+          BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)\r
+#endif\r
+        , T2\r
+        , T3\r
+        > almost_type_;\r
\r
+ public:\r
+    typedef typename almost_type_::type type;\r
+    \r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(3,if_,(T1,T2,T3))\r
+};\r
+\r
+#else\r
+\r
+// no partial class template specialization\r
+\r
+namespace aux {\r
+\r
+template< bool C >\r
+struct if_impl\r
+{\r
+    template< typename T1, typename T2 > struct result_\r
+    {\r
+        typedef T1 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct if_impl<false>\r
+{\r
+    template< typename T1, typename T2 > struct result_\r
+    { \r
+        typedef T2 type;\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      bool C_\r
+    , typename T1\r
+    , typename T2\r
+    >\r
+struct if_c\r
+{\r
+    typedef typename aux::if_impl< C_ >\r
+        ::template result_<T1,T2>::type type;\r
+};\r
+\r
+// (almost) copy & paste in order to save one more \r
+// recursively nested template instantiation to user\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(C_)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(T1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(T2)\r
+    >\r
+struct if_\r
+{\r
+    enum { msvc_wknd_ = BOOST_MPL_AUX_MSVC_VALUE_WKND(C_)::value };\r
+\r
+    typedef typename aux::if_impl< BOOST_MPL_AUX_STATIC_CAST(bool, msvc_wknd_) >\r
+        ::template result_<T1,T2>::type type;\r
+\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(3,if_,(C_,T1,T2))\r
+};\r
+\r
+#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+\r
+BOOST_MPL_AUX_NA_SPEC(3, if_)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_IF_HPP_INCLUDED\r
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 (file)
index 0000000..5c1b717
--- /dev/null
@@ -0,0 +1,60 @@
+\r
+#ifndef BOOST_MPL_INDEX_IF_HPP_INCLUDED\r
+#define BOOST_MPL_INDEX_IF_HPP_INCLUDED\r
+\r
+// Copyright Eric Friedman 2003\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: index_if.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/aux_/find_if_pred.hpp>\r
+#include <boost/mpl/begin_end.hpp>\r
+#include <boost/mpl/if.hpp>\r
+#include <boost/mpl/int.hpp>\r
+#include <boost/mpl/iter_fold_if.hpp>\r
+#include <boost/mpl/next.hpp>\r
+#include <boost/mpl/void.hpp>\r
+#include <boost/mpl/aux_/na_spec.hpp>\r
+#include <boost/mpl/aux_/lambda_support.hpp>\r
+#include <boost/type_traits/is_same.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(Sequence)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(Predicate)\r
+    >\r
+struct index_if\r
+{\r
+    typedef typename iter_fold_if<\r
+          Sequence\r
+        , int_<0>\r
+        , next<>\r
+        , aux::find_if_pred<Predicate>\r
+        >::type result_;\r
+\r
+    typedef typename end<Sequence>::type not_found_;\r
+    typedef typename first<result_>::type result_index_;\r
+    typedef typename second<result_>::type result_iterator_;\r
+\r
+    typedef typename if_<\r
+          is_same< result_iterator_,not_found_ >\r
+        , void_\r
+        , result_index_\r
+        >::type type;\r
+\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2,index_if,(Sequence,Predicate))\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(2, index_if)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_INDEX_IF_HPP_INCLUDED\r
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 (file)
index 0000000..9b42bef
--- /dev/null
@@ -0,0 +1,39 @@
+\r
+#ifndef BOOST_MPL_INDEX_OF_HPP_INCLUDED\r
+#define BOOST_MPL_INDEX_OF_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2003-2004\r
+// Copyright Eric Friedman 2003\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: index_of.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/index_if.hpp>\r
+#include <boost/mpl/same_as.hpp>\r
+#include <boost/mpl/aux_/na_spec.hpp>\r
+#include <boost/mpl/aux_/lambda_support.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(Sequence)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(T)\r
+    >\r
+struct index_of\r
+    : index_if< Sequence,same_as<T> >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2,index_of,(Sequence,T))\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(2, index_of)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_INDEX_OF_HPP_INCLUDED\r
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 (file)
index 0000000..b960446
--- /dev/null
@@ -0,0 +1,229 @@
+\r
+#if !defined(BOOST_PP_IS_ITERATING)\r
+\r
+///// header body\r
+\r
+#ifndef BOOST_MPL_INHERIT_HPP_INCLUDED\r
+#define BOOST_MPL_INHERIT_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: inherit.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#if !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+#   include <boost/mpl/empty_base.hpp>\r
+#   include <boost/mpl/aux_/na_spec.hpp>\r
+#   include <boost/mpl/aux_/lambda_support.hpp>\r
+#endif\r
+\r
+#include <boost/mpl/aux_/config/use_preprocessed.hpp>\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \\r
+    && !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+\r
+#   define BOOST_MPL_PREPROCESSED_HEADER inherit.hpp\r
+#   include <boost/mpl/aux_/include_preprocessed.hpp>\r
+\r
+#else\r
+\r
+#   include <boost/mpl/limits/arity.hpp>\r
+#   include <boost/mpl/aux_/preprocessor/params.hpp>\r
+#   include <boost/mpl/aux_/preprocessor/default_params.hpp>\r
+#   include <boost/mpl/aux_/preprocessor/enum.hpp>\r
+#   include <boost/mpl/aux_/config/ctps.hpp>\r
+#   include <boost/mpl/aux_/config/dtp.hpp>\r
+\r
+#   include <boost/preprocessor/iterate.hpp>\r
+#   include <boost/preprocessor/dec.hpp>\r
+#   include <boost/preprocessor/cat.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+// 'inherit<T1,T2,..,Tn>' metafunction; returns an unspecified class type\r
+// produced by public derivation from all metafunction's parameters \r
+// (T1,T2,..,Tn), except the parameters of 'empty_base' class type; \r
+// regardless the position and number of 'empty_base' parameters in the \r
+// metafunction's argument list, derivation from them is always a no-op;\r
+// for instance:\r
+//      inherit<her>::type == her\r
+//      inherit<her,my>::type == struct unspecified : her, my {};\r
+//      inherit<empty_base,her>::type == her\r
+//      inherit<empty_base,her,empty_base,empty_base>::type == her\r
+//      inherit<her,empty_base,my>::type == struct unspecified : her, my {};\r
+//      inherit<empty_base,empty_base>::type == empty_base\r
+\r
+#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)\r
+\r
+template< \r
+      typename BOOST_MPL_AUX_NA_PARAM(T1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(T2)\r
+    > \r
+struct inherit2\r
+    : T1, T2\r
+{\r
+    typedef inherit2 type;\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1,T2))\r
+};\r
+\r
+template< typename T1 > \r
+struct inherit2<T1,empty_base>\r
+{\r
+    typedef T1 type;\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (T1,empty_base))\r
+};\r
+\r
+template< typename T2 > \r
+struct inherit2<empty_base,T2>\r
+{\r
+    typedef T2 type;\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base,T2))\r
+};\r
+\r
+// needed to disambiguate the previous two in case when both \r
+// T1 and T2 == empty_base\r
+template<> \r
+struct inherit2<empty_base,empty_base>\r
+{\r
+    typedef empty_base type;\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base,empty_base))\r
+};\r
+\r
+#else\r
+\r
+namespace aux {\r
+\r
+template< bool C1, bool C2 >\r
+struct inherit2_impl\r
+{\r
+    template< typename Derived, typename T1, typename T2 > struct result_ \r
+        : T1, T2\r
+    {\r
+        typedef Derived type_;\r
+    };\r
+};\r
+\r
+template<>\r
+struct inherit2_impl<false,true>\r
+{\r
+    template< typename Derived, typename T1, typename T2 > struct result_\r
+        : T1\r
+    {\r
+        typedef T1 type_;\r
+    };\r
+};\r
+\r
+template<>\r
+struct inherit2_impl<true,false>\r
+{\r
+    template< typename Derived, typename T1, typename T2 > struct result_\r
+        : T2 \r
+    {\r
+        typedef T2 type_;\r
+    };\r
+};\r
+\r
+template<>\r
+struct inherit2_impl<true,true>\r
+{\r
+    template< typename Derived, typename T1, typename T2 > struct result_\r
+    {\r
+        typedef T1 type_;\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+template< \r
+      typename BOOST_MPL_AUX_NA_PARAM(T1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(T2)\r
+    > \r
+struct inherit2\r
+    : aux::inherit2_impl<\r
+          is_empty_base<T1>::value\r
+        , is_empty_base<T2>::value\r
+        >::template result_< inherit2<T1,T2>,T1,T2 >\r
+{\r
+    typedef typename inherit2::type_ type;\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1,T2))\r
+};\r
+\r
+#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+\r
+BOOST_MPL_AUX_NA_SPEC(2, inherit2)\r
+\r
+#define BOOST_PP_ITERATION_PARAMS_1 \\r
+    (3,(3, BOOST_MPL_LIMIT_METAFUNCTION_ARITY, <boost/mpl/inherit.hpp>))\r
+#include BOOST_PP_ITERATE()\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS\r
+#endif // BOOST_MPL_INHERIT_HPP_INCLUDED\r
+\r
+///// iteration\r
+\r
+#else\r
+#define n_ BOOST_PP_FRAME_ITERATION(1)\r
+\r
+template<\r
+      BOOST_MPL_PP_DEFAULT_PARAMS(n_, typename T, na)\r
+    >\r
+struct BOOST_PP_CAT(inherit,n_)\r
+    : inherit2<\r
+          typename BOOST_PP_CAT(inherit,BOOST_PP_DEC(n_))<\r
+              BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(n_), T)\r
+            >::type\r
+        , BOOST_PP_CAT(T,n_)\r
+        >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          n_\r
+        , BOOST_PP_CAT(inherit,n_)\r
+        , (BOOST_MPL_PP_PARAMS(n_, T))\r
+        )\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(n_, BOOST_PP_CAT(inherit,n_))\r
+\r
+#if n_ == BOOST_MPL_LIMIT_METAFUNCTION_ARITY\r
+/// primary template\r
+template<\r
+      BOOST_MPL_PP_DEFAULT_PARAMS(n_, typename T, empty_base)\r
+    >\r
+struct inherit\r
+    : BOOST_PP_CAT(inherit,n_)<BOOST_MPL_PP_PARAMS(n_, T)>\r
+{\r
+};\r
+\r
+// 'na' specialization\r
+template<>\r
+struct inherit< BOOST_MPL_PP_ENUM(5, na) >\r
+{\r
+    template<\r
+#if !defined(BOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES)\r
+          BOOST_MPL_PP_DEFAULT_PARAMS(n_, typename T, empty_base)\r
+#else\r
+          BOOST_MPL_PP_PARAMS(n_, typename T)\r
+#endif\r
+        >\r
+    struct apply\r
+        : inherit< BOOST_MPL_PP_PARAMS(n_, T) >\r
+    {\r
+    };\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC_LAMBDA(n_, inherit)\r
+BOOST_MPL_AUX_NA_SPEC_ARITY(n_, inherit)\r
+BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(n_, n_, inherit)\r
+#endif\r
+\r
+#undef n_\r
+#endif // BOOST_PP_IS_ITERATING\r
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 (file)
index 0000000..1b05f75
--- /dev/null
@@ -0,0 +1,39 @@
+\r
+#ifndef BOOST_MPL_INHERIT_FRONT_TO_BACK_HPP_INCLUDED\r
+#define BOOST_MPL_INHERIT_FRONT_TO_BACK_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: inherit_linearly.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/fold.hpp>\r
+#include <boost/mpl/empty_base.hpp>\r
+#include <boost/mpl/aux_/na_spec.hpp>\r
+#include <boost/mpl/aux_/lambda_support.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(Types_)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(Node_)\r
+    , typename Root_ = empty_base\r
+    >\r
+struct inherit_linearly\r
+    : fold<Types_,Root_,Node_>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(3,inherit_linearly,(Types_,Node_,Root_))\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(2, inherit_linearly)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_INHERIT_FRONT_TO_BACK_HPP_INCLUDED\r
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 (file)
index 0000000..e5b1e71
--- /dev/null
@@ -0,0 +1,41 @@
+\r
+#ifndef BOOST_MPL_INSERT_HPP_INCLUDED\r
+#define BOOST_MPL_INSERT_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: insert.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/insert_fwd.hpp>\r
+#include <boost/mpl/sequence_tag.hpp>\r
+#include <boost/mpl/aux_/insert_impl.hpp>\r
+#include <boost/mpl/aux_/na_spec.hpp>\r
+#include <boost/mpl/aux_/lambda_support.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(Sequence)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(Pos_or_T)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(T)\r
+    >\r
+struct insert\r
+    : insert_impl< typename sequence_tag<Sequence>::type >\r
+        ::template apply< Sequence,Pos_or_T,T >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(3,insert,(Sequence,Pos_or_T,T))\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(3, insert)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_INSERT_HPP_INCLUDED\r
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 (file)
index 0000000..0733f43
--- /dev/null
@@ -0,0 +1,24 @@
+\r
+#ifndef BOOST_MPL_INSERT_FWD_HPP_INCLUDED\r
+#define BOOST_MPL_INSERT_FWD_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: insert_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template< typename Tag > struct insert_impl;\r
+template< typename Sequence, typename Pos_or_T, typename T > struct insert;\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_INSERT_FWD_HPP_INCLUDED\r
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 (file)
index 0000000..449fccb
--- /dev/null
@@ -0,0 +1,41 @@
+\r
+#ifndef BOOST_MPL_INSERT_RANGE_HPP_INCLUDED\r
+#define BOOST_MPL_INSERT_RANGE_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: insert_range.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/insert_range_fwd.hpp>\r
+#include <boost/mpl/sequence_tag.hpp>\r
+#include <boost/mpl/aux_/insert_range_impl.hpp>\r
+#include <boost/mpl/aux_/na_spec.hpp>\r
+#include <boost/mpl/aux_/lambda_support.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(Sequence)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(Pos)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(Range)\r
+    >\r
+struct insert_range\r
+    : insert_range_impl< typename sequence_tag<Sequence>::type >\r
+        ::template apply< Sequence,Pos,Range >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(3,insert_range,(Sequence,Pos,Range))\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(3, insert_range)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_INSERT_RANGE_HPP_INCLUDED\r
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 (file)
index 0000000..6848997
--- /dev/null
@@ -0,0 +1,24 @@
+\r
+#ifndef BOOST_MPL_INSERT_RANGE_FWD_HPP_INCLUDED\r
+#define BOOST_MPL_INSERT_RANGE_FWD_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: insert_range_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template< typename Tag > struct insert_range_impl;\r
+template< typename Sequence, typename Pos, typename Range > struct insert_range;\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_INSERT_RANGE_FWD_HPP_INCLUDED\r
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 (file)
index 0000000..abe49c2
--- /dev/null
@@ -0,0 +1,32 @@
+\r
+#ifndef BOOST_MPL_INSERTER_HPP_INCLUDED\r
+#define BOOST_MPL_INSERTER_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2003-2004\r
+// Copyright David Abrahams 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: inserter.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Sequence\r
+    , typename Operation\r
+    >\r
+struct inserter\r
+{\r
+    typedef Sequence    state;\r
+    typedef Operation   operation;\r
+};\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_INSERTER_HPP_INCLUDED\r
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 (file)
index 0000000..af6b2ef
--- /dev/null
@@ -0,0 +1,22 @@
+\r
+#ifndef BOOST_MPL_INT_HPP_INCLUDED\r
+#define BOOST_MPL_INT_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: int.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/int_fwd.hpp>\r
+\r
+#define AUX_WRAPPER_VALUE_TYPE int\r
+#include <boost/mpl/aux_/integral_wrapper.hpp>\r
+\r
+#endif // BOOST_MPL_INT_HPP_INCLUDED\r
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 (file)
index 0000000..e6ac339
--- /dev/null
@@ -0,0 +1,27 @@
+\r
+#ifndef BOOST_MPL_INT_FWD_HPP_INCLUDED\r
+#define BOOST_MPL_INT_FWD_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: int_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/aux_/adl_barrier.hpp>\r
+#include <boost/mpl/aux_/nttp_decl.hpp>\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+\r
+template< BOOST_MPL_AUX_NTTP_DECL(int, N) > struct int_;\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+BOOST_MPL_AUX_ADL_BARRIER_DECL(int_)\r
+\r
+#endif // BOOST_MPL_INT_FWD_HPP_INCLUDED\r
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 (file)
index 0000000..378bbf3
--- /dev/null
@@ -0,0 +1,51 @@
+\r
+#ifndef BOOST_MPL_INTEGRAL_C_HPP_INCLUDED\r
+#define BOOST_MPL_INTEGRAL_C_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2006\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: integral_c.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/integral_c_fwd.hpp>\r
+#include <boost/mpl/aux_/config/ctps.hpp>\r
+#include <boost/mpl/aux_/config/static_constant.hpp>\r
+#include <boost/mpl/aux_/config/workaround.hpp>\r
+\r
+#if BOOST_WORKAROUND(__HP_aCC, <= 53800)\r
+// the type of non-type template arguments may not depend on template arguments\r
+#   define AUX_WRAPPER_PARAMS(N) typename T, long N\r
+#else\r
+#   define AUX_WRAPPER_PARAMS(N) typename T, T N\r
+#endif\r
+\r
+#define AUX_WRAPPER_NAME integral_c\r
+#define AUX_WRAPPER_VALUE_TYPE T\r
+#define AUX_WRAPPER_INST(value) AUX_WRAPPER_NAME< T, value >\r
+#include <boost/mpl/aux_/integral_wrapper.hpp>\r
+\r
+\r
+#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \\r
+ && !BOOST_WORKAROUND(__BORLANDC__, <= 0x551)\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+// 'bool' constant doesn't have 'next'/'prior' members\r
+template< bool C >\r
+struct integral_c<bool, C>\r
+{\r
+    BOOST_STATIC_CONSTANT(bool, value = C);\r
+    typedef integral_c_tag tag;\r
+    typedef integral_c type;\r
+    typedef bool value_type;\r
+    operator bool() const { return this->value; }\r
+};\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+#endif\r
+\r
+#endif // BOOST_MPL_INTEGRAL_C_HPP_INCLUDED\r
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 (file)
index 0000000..f82fa72
--- /dev/null
@@ -0,0 +1,32 @@
+\r
+#ifndef BOOST_MPL_INTEGRAL_C_FWD_HPP_INCLUDED\r
+#define BOOST_MPL_INTEGRAL_C_FWD_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2006\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: integral_c_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/aux_/config/workaround.hpp>\r
+#include <boost/mpl/aux_/adl_barrier.hpp>\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+\r
+#if BOOST_WORKAROUND(__HP_aCC, <= 53800)\r
+// the type of non-type template arguments may not depend on template arguments\r
+template< typename T, long N > struct integral_c;\r
+#else\r
+template< typename T, T N > struct integral_c;\r
+#endif\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+BOOST_MPL_AUX_ADL_BARRIER_DECL(integral_c)\r
+\r
+#endif // BOOST_MPL_INTEGRAL_C_FWD_HPP_INCLUDED\r
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 (file)
index 0000000..77964fb
--- /dev/null
@@ -0,0 +1,26 @@
+\r
+#ifndef BOOST_MPL_INTEGRAL_C_TAG_HPP_INCLUDED\r
+#define BOOST_MPL_INTEGRAL_C_TAG_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: integral_c_tag.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+\r
+#include <boost/mpl/aux_/adl_barrier.hpp>\r
+#include <boost/mpl/aux_/config/static_constant.hpp>\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+struct integral_c_tag { BOOST_STATIC_CONSTANT(int, value = 0); };\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+BOOST_MPL_AUX_ADL_BARRIER_DECL(integral_c_tag)\r
+\r
+#endif // BOOST_MPL_INTEGRAL_C_TAG_HPP_INCLUDED\r
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 (file)
index 0000000..f2282c8
--- /dev/null
@@ -0,0 +1,67 @@
+\r
+#ifndef BOOST_MPL_IS_PLACEHOLDER_HPP_INCLUDED\r
+#define BOOST_MPL_IS_PLACEHOLDER_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: is_placeholder.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/arg_fwd.hpp>\r
+#include <boost/mpl/bool.hpp>\r
+#include <boost/mpl/aux_/yes_no.hpp>\r
+#include <boost/mpl/aux_/type_wrapper.hpp>\r
+#include <boost/mpl/aux_/nttp_decl.hpp>\r
+#include <boost/mpl/aux_/config/ctps.hpp>\r
+#include <boost/mpl/aux_/config/static_constant.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)\r
+\r
+template< typename T >\r
+struct is_placeholder\r
+    : bool_<false>\r
+{\r
+};\r
+\r
+template< BOOST_MPL_AUX_NTTP_DECL(int, N) >\r
+struct is_placeholder< arg<N> >\r
+    : bool_<true>\r
+{\r
+};\r
+\r
+#else\r
+\r
+namespace aux {\r
+\r
+aux::no_tag is_placeholder_helper(...);\r
+\r
+template< BOOST_MPL_AUX_NTTP_DECL(int, N) >\r
+aux::yes_tag is_placeholder_helper(aux::type_wrapper< arg<N> >*);\r
+\r
+} // namespace aux\r
+\r
+template< typename T >\r
+struct is_placeholder\r
+{\r
+    static aux::type_wrapper<T>* get();\r
+    BOOST_STATIC_CONSTANT(bool, value = \r
+          sizeof(aux::is_placeholder_helper(get())) == sizeof(aux::yes_tag)\r
+        );\r
+    \r
+    typedef bool_<value> type;\r
+};\r
+\r
+#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_IS_PLACEHOLDER_HPP_INCLUDED\r
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 (file)
index 0000000..e2f12ca
--- /dev/null
@@ -0,0 +1,112 @@
+\r
+#ifndef BOOST_MPL_IS_SEQUENCE_HPP_INCLUDED\r
+#define BOOST_MPL_IS_SEQUENCE_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2002-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: is_sequence.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/not.hpp>\r
+#include <boost/mpl/and.hpp>\r
+#include <boost/mpl/begin_end.hpp>\r
+#include <boost/mpl/if.hpp>\r
+#include <boost/mpl/bool.hpp>\r
+#include <boost/mpl/sequence_tag_fwd.hpp>\r
+#include <boost/mpl/identity.hpp>\r
+#include <boost/mpl/void.hpp>\r
+#include <boost/mpl/aux_/has_tag.hpp>\r
+#include <boost/mpl/aux_/has_begin.hpp>\r
+#include <boost/mpl/aux_/na_spec.hpp>\r
+#include <boost/mpl/aux_/lambda_support.hpp>\r
+#include <boost/mpl/aux_/config/eti.hpp>\r
+#include <boost/mpl/aux_/config/msvc.hpp>\r
+#include <boost/mpl/aux_/config/workaround.hpp>\r
+#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)\r
+#   include <boost/mpl/aux_/msvc_is_class.hpp>\r
+#elif BOOST_WORKAROUND(BOOST_MSVC, == 1300)\r
+#   include <boost/type_traits/is_class.hpp>\r
+#endif\r
+\r
+#include <boost/type_traits/is_same.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)\r
+\r
+namespace aux {\r
+\r
+// agurt, 11/jun/03: \r
+// MSVC 6.5/7.0 fails if 'has_begin' is instantiated on a class type that has a\r
+// 'begin' member that doesn't name a type; e.g. 'has_begin< std::vector<int> >'\r
+// would fail; requiring 'T' to have _both_ 'tag' and 'begin' members workarounds\r
+// the issue for most real-world cases\r
+template< typename T > struct is_sequence_impl\r
+    : and_<\r
+          identity< aux::has_tag<T> >\r
+        , identity< aux::has_begin<T> >\r
+        >\r
+{\r
+};\r
+\r
+} // namespace aux\r
+        \r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(T)\r
+    >\r
+struct is_sequence\r
+    : if_<\r
+#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)\r
+          aux::msvc_is_class<T> \r
+#else\r
+          boost::is_class<T> \r
+#endif\r
+        , aux::is_sequence_impl<T>\r
+        , bool_<false>\r
+        >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(1, is_sequence, (T))\r
+};\r
+\r
+#elif defined(BOOST_MPL_CFG_NO_HAS_XXX)\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(T)\r
+    >\r
+struct is_sequence\r
+    : bool_<false>\r
+{\r
+};\r
+\r
+#else\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(T)\r
+    >\r
+struct is_sequence\r
+    : not_< is_same< typename begin<T>::type, void_ > >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(1, is_sequence, (T))\r
+};\r
+\r
+#endif // BOOST_MSVC\r
+\r
+#if defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG)\r
+template<> struct is_sequence<int>\r
+    : bool_<false>\r
+{\r
+};\r
+#endif\r
+\r
+BOOST_MPL_AUX_NA_SPEC_NO_ETI(1, is_sequence)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_IS_SEQUENCE_HPP_INCLUDED\r
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 (file)
index 0000000..ba1c93b
--- /dev/null
@@ -0,0 +1,49 @@
+\r
+#ifndef BOOST_MPL_ITER_FOLD_HPP_INCLUDED\r
+#define BOOST_MPL_ITER_FOLD_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+// Copyright David Abrahams 2001-2002\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: iter_fold.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/begin_end.hpp>\r
+#include <boost/mpl/O1_size.hpp>\r
+#include <boost/mpl/lambda.hpp>\r
+#include <boost/mpl/aux_/iter_fold_impl.hpp>\r
+#include <boost/mpl/aux_/na_spec.hpp>\r
+#include <boost/mpl/aux_/lambda_support.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(Sequence)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(State)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(ForwardOp)\r
+    >\r
+struct iter_fold\r
+{\r
+    typedef typename aux::iter_fold_impl<\r
+          ::boost::mpl::O1_size<Sequence>::value\r
+        , typename begin<Sequence>::type\r
+        , typename end<Sequence>::type\r
+        , State\r
+        , typename lambda<ForwardOp>::type\r
+        >::state type;\r
+\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(3,iter_fold,(Sequence,State,ForwardOp))\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(3, iter_fold)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_ITER_FOLD_HPP_INCLUDED\r
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 (file)
index 0000000..8f33c09
--- /dev/null
@@ -0,0 +1,117 @@
+\r
+#ifndef BOOST_MPL_ITER_FOLD_IF_HPP_INCLUDED\r
+#define BOOST_MPL_ITER_FOLD_IF_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2003-2004\r
+// Copyright Eric Friedman 2003\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: iter_fold_if.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/begin_end.hpp>\r
+#include <boost/mpl/logical.hpp>\r
+#include <boost/mpl/always.hpp>\r
+#include <boost/mpl/eval_if.hpp>\r
+#include <boost/mpl/if.hpp>\r
+#include <boost/mpl/pair.hpp>\r
+#include <boost/mpl/apply.hpp>\r
+#include <boost/mpl/aux_/iter_fold_if_impl.hpp>\r
+#include <boost/mpl/aux_/na_spec.hpp>\r
+#include <boost/mpl/aux_/lambda_support.hpp>\r
+#include <boost/mpl/aux_/config/forwarding.hpp>\r
+#include <boost/mpl/aux_/config/workaround.hpp>\r
+\r
+#include <boost/type_traits/is_same.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+\r
+template< typename Predicate, typename LastIterator >\r
+struct iter_fold_if_pred\r
+{\r
+    template< typename State, typename Iterator > struct apply\r
+#if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING)\r
+        : and_<\r
+              not_< is_same<Iterator,LastIterator> >\r
+            , apply1<Predicate,Iterator>\r
+            >\r
+    {\r
+#else\r
+    {\r
+        typedef and_<\r
+              not_< is_same<Iterator,LastIterator> >\r
+            , apply1<Predicate,Iterator>\r
+            > type;\r
+#endif\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(Sequence)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(State)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(ForwardOp)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(ForwardPredicate)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(BackwardOp)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(BackwardPredicate)\r
+    >\r
+struct iter_fold_if\r
+{\r
+\r
+    typedef typename begin<Sequence>::type first_;\r
+    typedef typename end<Sequence>::type last_;\r
+\r
+    typedef typename eval_if<\r
+          is_na<BackwardPredicate>\r
+        , if_< is_na<BackwardOp>, always<false_>, always<true_> >\r
+        , identity<BackwardPredicate>\r
+        >::type backward_pred_;\r
+\r
+// cwpro8 doesn't like 'cut-off' type here (use typedef instead)\r
+#if !BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3003)) && !BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(600))\r
+    struct result_ :\r
+#else\r
+    typedef\r
+#endif\r
+        aux::iter_fold_if_impl<\r
+          first_\r
+        , State\r
+        , ForwardOp\r
+        , protect< aux::iter_fold_if_pred< ForwardPredicate,last_ > >\r
+        , BackwardOp\r
+        , backward_pred_\r
+        >\r
+#if !BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3003)) && !BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(600))\r
+    { };\r
+#else\r
+    result_;\r
+#endif\r
+\r
+public:\r
+\r
+    typedef pair<\r
+          typename result_::state\r
+        , typename result_::iterator\r
+        > type;\r
+\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          6\r
+        , iter_fold_if\r
+        , (Sequence,State,ForwardOp,ForwardPredicate,BackwardOp,BackwardPredicate)\r
+        )\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(6, iter_fold_if)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_ITER_FOLD_IF_HPP_INCLUDED\r
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 (file)
index 0000000..bdb4d93
--- /dev/null
@@ -0,0 +1,35 @@
+\r
+#ifndef BOOST_MPL_ITERATOR_CATEGORY_HPP_INCLUDED\r
+#define BOOST_MPL_ITERATOR_CATEGORY_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: iterator_category.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/aux_/na_spec.hpp>\r
+#include <boost/mpl/aux_/lambda_support.hpp>\r
+\r
+namespace boost {  namespace mpl {\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(Iterator)\r
+    >\r
+struct iterator_category\r
+{\r
+    typedef typename Iterator::category type;\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,iterator_category,(Iterator))\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(1, iterator_category)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_ITERATOR_CATEGORY_HPP_INCLUDED\r
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 (file)
index 0000000..cc1c19f
--- /dev/null
@@ -0,0 +1,42 @@
+\r
+#ifndef BOOST_MPL_ITERATOR_RANGE_HPP_INCLUDED\r
+#define BOOST_MPL_ITERATOR_RANGE_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: iterator_range.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/aux_/na_spec.hpp>\r
+#include <boost/mpl/aux_/lambda_support.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+struct iterator_range_tag;\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(First)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(Last)\r
+    >\r
+struct iterator_range\r
+{\r
+    typedef iterator_range_tag tag;\r
+    typedef iterator_range type;\r
+    typedef First begin;\r
+    typedef Last end;\r
+\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2,iterator_range,(First,Last))\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(2, iterator_range)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_ITERATOR_RANGE_HPP_INCLUDED\r
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 (file)
index 0000000..4281217
--- /dev/null
@@ -0,0 +1,27 @@
+\r
+#ifndef BOOST_MPL_ITERATOR_TAG_HPP_INCLUDED\r
+#define BOOST_MPL_ITERATOR_TAG_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: iterator_tags.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/int.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+struct forward_iterator_tag       : int_<0> { typedef forward_iterator_tag type; };\r
+struct bidirectional_iterator_tag : int_<1> { typedef bidirectional_iterator_tag type; };\r
+struct random_access_iterator_tag : int_<2> { typedef random_access_iterator_tag type; };\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_ITERATOR_TAG_HPP_INCLUDED\r
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 (file)
index 0000000..1b61ea3
--- /dev/null
@@ -0,0 +1,65 @@
+\r
+#ifndef BOOST_MPL_JOINT_VIEW_HPP_INCLUDED\r
+#define BOOST_MPL_JOINT_VIEW_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: joint_view.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/aux_/joint_iter.hpp>\r
+#include <boost/mpl/plus.hpp>\r
+#include <boost/mpl/size_fwd.hpp>\r
+#include <boost/mpl/begin_end.hpp>\r
+#include <boost/mpl/aux_/na_spec.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+struct joint_view_tag;\r
+}\r
+\r
+template<>\r
+struct size_impl< aux::joint_view_tag >\r
+{\r
+    template < typename JointView > struct apply\r
+      : plus<\r
+            size<typename JointView::sequence1_>\r
+          , size<typename JointView::sequence2_>\r
+          >\r
+    {};\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(Sequence1_)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(Sequence2_)\r
+    >\r
+struct joint_view\r
+{\r
+    typedef typename mpl::begin<Sequence1_>::type   first1_;\r
+    typedef typename mpl::end<Sequence1_>::type     last1_;\r
+    typedef typename mpl::begin<Sequence2_>::type   first2_;\r
+    typedef typename mpl::end<Sequence2_>::type     last2_;\r
+\r
+    // agurt, 25/may/03: for the 'size_traits' implementation above\r
+    typedef Sequence1_ sequence1_;\r
+    typedef Sequence2_ sequence2_;\r
+\r
+    typedef joint_view type;\r
+    typedef aux::joint_view_tag tag;\r
+    typedef joint_iter<first1_,last1_,first2_>  begin;\r
+    typedef joint_iter<last1_,last1_,last2_>    end;\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(2, joint_view)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_JOINT_VIEW_HPP_INCLUDED\r
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 (file)
index 0000000..d45835c
--- /dev/null
@@ -0,0 +1,42 @@
+\r
+#ifndef BOOST_MPL_KEY_TYPE_HPP_INCLUDED\r
+#define BOOST_MPL_KEY_TYPE_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2003-2004\r
+// Copyright David Abrahams 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: key_type.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/key_type_fwd.hpp>\r
+#include <boost/mpl/sequence_tag.hpp>\r
+#include <boost/mpl/apply_wrap.hpp>\r
+#include <boost/mpl/aux_/na_spec.hpp>\r
+#include <boost/mpl/aux_/lambda_support.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(AssociativeSequence)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(T)\r
+    >\r
+struct key_type\r
+    : apply_wrap2< \r
+          key_type_impl< typename sequence_tag<AssociativeSequence>::type >\r
+        , AssociativeSequence, T>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2,key_type,(AssociativeSequence,T))\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(2, key_type)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_KEY_TYPE_HPP_INCLUDED\r
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 (file)
index 0000000..311f655
--- /dev/null
@@ -0,0 +1,25 @@
+\r
+#ifndef BOOST_MPL_KEY_TYPE_FWD_HPP_INCLUDED\r
+#define BOOST_MPL_KEY_TYPE_FWD_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2003-2004\r
+// Copyright David Abrahams 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: key_type_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template< typename Tag > struct key_type_impl;\r
+template< typename AssociativeSequence, typename T > struct key_type;\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_KEY_TYPE_FWD_HPP_INCLUDED\r
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 (file)
index 0000000..c1df035
--- /dev/null
@@ -0,0 +1,29 @@
+\r
+#ifndef BOOST_MPL_LAMBDA_HPP_INCLUDED\r
+#define BOOST_MPL_LAMBDA_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: lambda.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/lambda_fwd.hpp>\r
+#include <boost/mpl/bind.hpp>\r
+#include <boost/mpl/aux_/config/lambda.hpp>\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT)\r
+#   include <boost/mpl/aux_/full_lambda.hpp>\r
+#else\r
+#   include <boost/mpl/aux_/lambda_no_ctps.hpp>\r
+#   include <boost/mpl/aux_/lambda_support.hpp>\r
+#   define BOOST_MPL_CFG_NO_IMPLICIT_METAFUNCTIONS\r
+#endif\r
+\r
+#endif // BOOST_MPL_LAMBDA_HPP_INCLUDED\r
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 (file)
index 0000000..ae7619a
--- /dev/null
@@ -0,0 +1,57 @@
+\r
+#ifndef BOOST_MPL_LAMBDA_FWD_HPP_INCLUDED\r
+#define BOOST_MPL_LAMBDA_FWD_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: lambda_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/void_fwd.hpp>\r
+#include <boost/mpl/aux_/na.hpp>\r
+#include <boost/mpl/aux_/config/lambda.hpp>\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT)\r
+\r
+#   include <boost/mpl/int.hpp>\r
+#   include <boost/mpl/aux_/lambda_arity_param.hpp>\r
+#   include <boost/mpl/aux_/template_arity_fwd.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template< \r
+      typename T = na\r
+    , typename Tag = void_\r
+    BOOST_MPL_AUX_LAMBDA_ARITY_PARAM(\r
+          typename Arity = int_< aux::template_arity<T>::value >\r
+        )\r
+    >\r
+struct lambda;\r
+\r
+}}\r
+\r
+#else // BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT\r
+\r
+#   include <boost/mpl/bool.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template< \r
+      typename T = na\r
+    , typename Tag = void_\r
+    , typename Protect = true_\r
+    > \r
+struct lambda;\r
+\r
+}}\r
+\r
+#endif\r
+\r
+#endif // BOOST_MPL_LAMBDA_FWD_HPP_INCLUDED\r
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 (file)
index 0000000..3a8d094
--- /dev/null
@@ -0,0 +1,21 @@
+\r
+#ifndef BOOST_MPL_LESS_HPP_INCLUDED\r
+#define BOOST_MPL_LESS_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: less.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#define AUX778076_OP_NAME less\r
+#define AUX778076_OP_TOKEN <\r
+#include <boost/mpl/aux_/comparison_op.hpp>\r
+\r
+#endif // BOOST_MPL_LESS_HPP_INCLUDED\r
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 (file)
index 0000000..e870bc7
--- /dev/null
@@ -0,0 +1,21 @@
+\r
+#ifndef BOOST_MPL_LESS_EQUAL_HPP_INCLUDED\r
+#define BOOST_MPL_LESS_EQUAL_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: less_equal.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#define AUX778076_OP_NAME less_equal\r
+#define AUX778076_OP_TOKEN <=\r
+#include <boost/mpl/aux_/comparison_op.hpp>\r
+\r
+#endif // BOOST_MPL_LESS_EQUAL_HPP_INCLUDED\r
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 (file)
index 0000000..e83fcec
--- /dev/null
@@ -0,0 +1,21 @@
+\r
+#ifndef BOOST_MPL_LIMITS_ARITY_HPP_INCLUDED\r
+#define BOOST_MPL_LIMITS_ARITY_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: arity.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#if !defined(BOOST_MPL_LIMIT_METAFUNCTION_ARITY)\r
+#   define BOOST_MPL_LIMIT_METAFUNCTION_ARITY 5\r
+#endif\r
+\r
+#endif // BOOST_MPL_LIMITS_ARITY_HPP_INCLUDED\r
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 (file)
index 0000000..3a2263a
--- /dev/null
@@ -0,0 +1,21 @@
+\r
+#ifndef BOOST_MPL_LIMITS_LIST_HPP_INCLUDED\r
+#define BOOST_MPL_LIMITS_LIST_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: list.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#if !defined(BOOST_MPL_LIMIT_LIST_SIZE)\r
+#   define BOOST_MPL_LIMIT_LIST_SIZE 20\r
+#endif\r
+\r
+#endif // BOOST_MPL_LIMITS_LIST_HPP_INCLUDED\r
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 (file)
index 0000000..6a2c4ad
--- /dev/null
@@ -0,0 +1,21 @@
+\r
+#ifndef BOOST_MPL_LIMITS_MAP_HPP_INCLUDED\r
+#define BOOST_MPL_LIMITS_MAP_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: map.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#if !defined(BOOST_MPL_LIMIT_MAP_SIZE)\r
+#   define BOOST_MPL_LIMIT_MAP_SIZE 20\r
+#endif\r
+\r
+#endif // BOOST_MPL_LIMITS_MAP_HPP_INCLUDED\r
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 (file)
index 0000000..ff0c56f
--- /dev/null
@@ -0,0 +1,21 @@
+\r
+#ifndef BOOST_MPL_LIMITS_SET_HPP_INCLUDED\r
+#define BOOST_MPL_LIMITS_SET_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: set.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#if !defined(BOOST_MPL_LIMIT_SET_SIZE)\r
+#   define BOOST_MPL_LIMIT_SET_SIZE 20\r
+#endif\r
+\r
+#endif // BOOST_MPL_LIMITS_SET_HPP_INCLUDED\r
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 (file)
index 0000000..c51c0ef
--- /dev/null
@@ -0,0 +1,21 @@
+\r
+#ifndef BOOST_MPL_LIMITS_STRING_HPP_INCLUDED\r
+#define BOOST_MPL_LIMITS_STRING_HPP_INCLUDED\r
+\r
+// Copyright Eric Niebler 2009\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: string.hpp 49239 2009-04-01 09:10:26Z eric_niebler $\r
+// $Date: 2009-04-01 02:10:26 -0700 (Wed, 1 Apr 2009) $\r
+// $Revision: 49239 $\r
+\r
+#if !defined(BOOST_MPL_LIMIT_STRING_SIZE)\r
+#   define BOOST_MPL_LIMIT_STRING_SIZE 32\r
+#endif\r
+\r
+#endif // BOOST_MPL_LIMITS_STRING_HPP_INCLUDED\r
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 (file)
index 0000000..97b3bca
--- /dev/null
@@ -0,0 +1,21 @@
+\r
+#ifndef BOOST_MPL_LIMITS_UNROLLING_HPP_INCLUDED\r
+#define BOOST_MPL_LIMITS_UNROLLING_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: unrolling.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#if !defined(BOOST_MPL_LIMIT_UNROLLING)\r
+#   define BOOST_MPL_LIMIT_UNROLLING 4\r
+#endif\r
+\r
+#endif // BOOST_MPL_LIMITS_UNROLLING_HPP_INCLUDED\r
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 (file)
index 0000000..e333109
--- /dev/null
@@ -0,0 +1,21 @@
+\r
+#ifndef BOOST_MPL_LIMITS_VECTOR_HPP_INCLUDED\r
+#define BOOST_MPL_LIMITS_VECTOR_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: vector.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#if !defined(BOOST_MPL_LIMIT_VECTOR_SIZE)\r
+#   define BOOST_MPL_LIMIT_VECTOR_SIZE 20\r
+#endif\r
+\r
+#endif // BOOST_MPL_LIMITS_VECTOR_HPP_INCLUDED\r
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 (file)
index 0000000..b2c9261
--- /dev/null
@@ -0,0 +1,57 @@
+\r
+#ifndef BOOST_MPL_LIST_HPP_INCLUDED\r
+#define BOOST_MPL_LIST_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: list.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#if !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+#   include <boost/mpl/limits/list.hpp>\r
+#   include <boost/mpl/aux_/na.hpp>\r
+#   include <boost/mpl/aux_/config/preprocessor.hpp>\r
+\r
+#   include <boost/preprocessor/inc.hpp>\r
+#   include <boost/preprocessor/cat.hpp>\r
+#   include <boost/preprocessor/stringize.hpp>\r
+\r
+#if !defined(BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING)\r
+#   define AUX778076_LIST_HEADER \\r
+    BOOST_PP_CAT(list,BOOST_MPL_LIMIT_LIST_SIZE).hpp \\r
+    /**/\r
+#else\r
+#   define AUX778076_LIST_HEADER \\r
+    BOOST_PP_CAT(list,BOOST_MPL_LIMIT_LIST_SIZE)##.hpp \\r
+    /**/\r
+#endif\r
+\r
+#   include BOOST_PP_STRINGIZE(boost/mpl/list/AUX778076_LIST_HEADER)\r
+#   undef AUX778076_LIST_HEADER\r
+#endif\r
+\r
+#include <boost/mpl/aux_/config/use_preprocessed.hpp>\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \\r
+    && !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+\r
+#   define BOOST_MPL_PREPROCESSED_HEADER list.hpp\r
+#   include <boost/mpl/aux_/include_preprocessed.hpp>\r
+\r
+#else\r
+\r
+#   include <boost/mpl/limits/list.hpp>\r
+\r
+#   define AUX778076_SEQUENCE_NAME list\r
+#   define AUX778076_SEQUENCE_LIMIT BOOST_MPL_LIMIT_LIST_SIZE\r
+#   include <boost/mpl/aux_/sequence_wrapper.hpp>\r
+\r
+#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS\r
+#endif // BOOST_MPL_LIST_HPP_INCLUDED\r
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 (file)
index 0000000..f6e9889
--- /dev/null
@@ -0,0 +1,33 @@
+\r
+#ifndef BOOST_MPL_LIST_AUX_O1_SIZE_HPP_INCLUDED\r
+#define BOOST_MPL_LIST_AUX_O1_SIZE_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: O1_size.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/O1_size_fwd.hpp>\r
+#include <boost/mpl/list/aux_/tag.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct O1_size_impl< aux::list_tag >\r
+{\r
+    template< typename List > struct apply\r
+        : List::size\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_LIST_AUX_O1_SIZE_HPP_INCLUDED\r
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 (file)
index 0000000..63b2ee5
--- /dev/null
@@ -0,0 +1,44 @@
+\r
+#ifndef BOOST_MPL_LIST_AUX_BEGIN_END_HPP_INCLUDED\r
+#define BOOST_MPL_LIST_AUX_BEGIN_END_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: begin_end.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/begin_end_fwd.hpp>\r
+#include <boost/mpl/list/aux_/iterator.hpp>\r
+#include <boost/mpl/list/aux_/tag.hpp>\r
+#include <boost/mpl/list/aux_/item.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct begin_impl< aux::list_tag >\r
+{\r
+    template< typename List > struct apply\r
+    {\r
+        typedef l_iter<typename List::type> type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct end_impl< aux::list_tag >\r
+{\r
+    template< typename > struct apply\r
+    {\r
+        typedef l_iter<l_end> type;\r
+    };\r
+};\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_LIST_AUX_BEGIN_END_HPP_INCLUDED\r
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 (file)
index 0000000..7c3a308
--- /dev/null
@@ -0,0 +1,34 @@
+\r
+#ifndef BOOST_MPL_LIST_AUX_CLEAR_HPP_INCLUDED\r
+#define BOOST_MPL_LIST_AUX_CLEAR_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: clear.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/clear_fwd.hpp>\r
+#include <boost/mpl/list/aux_/item.hpp>\r
+#include <boost/mpl/list/aux_/tag.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct clear_impl< aux::list_tag >\r
+{\r
+    template< typename List > struct apply\r
+    {\r
+        typedef l_end type;\r
+    };\r
+};\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_LIST_AUX_CLEAR_HPP_INCLUDED\r
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 (file)
index 0000000..f71646c
--- /dev/null
@@ -0,0 +1,34 @@
+\r
+#ifndef BOOST_MPL_LIST_AUX_EMPTY_HPP_INCLUDED\r
+#define BOOST_MPL_LIST_AUX_EMPTY_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: empty.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/empty_fwd.hpp>\r
+#include <boost/mpl/not.hpp>\r
+#include <boost/mpl/list/aux_/tag.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct empty_impl< aux::list_tag >\r
+{\r
+    template< typename List > struct apply\r
+        : not_<typename List::size>\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_LIST_AUX_EMPTY_HPP_INCLUDED\r
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 (file)
index 0000000..4d0dec9
--- /dev/null
@@ -0,0 +1,33 @@
+\r
+#ifndef BOOST_MPL_LIST_AUX_FRONT_HPP_INCLUDED\r
+#define BOOST_MPL_LIST_AUX_FRONT_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: front.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/front_fwd.hpp>\r
+#include <boost/mpl/list/aux_/tag.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct front_impl< aux::list_tag >\r
+{\r
+    template< typename List > struct apply\r
+    {\r
+        typedef typename List::item type;\r
+    };\r
+};\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_LIST_AUX_FRONT_HPP_INCLUDED\r
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 (file)
index 0000000..e08139a
--- /dev/null
@@ -0,0 +1,35 @@
+\r
+// Copyright Aleksey Gurtovoy 2001-2006\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: include_preprocessed.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION!\r
+\r
+#include <boost/mpl/aux_/config/workaround.hpp>\r
+\r
+#include <boost/preprocessor/cat.hpp>\r
+#include <boost/preprocessor/stringize.hpp>\r
+\r
+#   define AUX778076_HEADER \\r
+    aux_/preprocessed/plain/BOOST_MPL_PREPROCESSED_HEADER \\r
+/**/\r
+\r
+#if BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(700))\r
+#   define AUX778076_INCLUDE_STRING BOOST_PP_STRINGIZE(boost/mpl/list/AUX778076_HEADER)\r
+#   include AUX778076_INCLUDE_STRING\r
+#   undef AUX778076_INCLUDE_STRING\r
+#else\r
+#   include BOOST_PP_STRINGIZE(boost/mpl/list/AUX778076_HEADER)\r
+#endif\r
+\r
+#   undef AUX778076_HEADER\r
+\r
+#undef BOOST_MPL_PREPROCESSED_HEADER\r
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 (file)
index 0000000..175ee57
--- /dev/null
@@ -0,0 +1,55 @@
+\r
+#ifndef BOOST_MPL_LIST_AUX_NODE_HPP_INCLUDED\r
+#define BOOST_MPL_LIST_AUX_NODE_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: item.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/long.hpp>\r
+#include <boost/mpl/list/aux_/tag.hpp>\r
+#include <boost/mpl/aux_/config/msvc.hpp>\r
+#include <boost/mpl/aux_/config/workaround.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Size\r
+    , typename T\r
+    , typename Next\r
+    >\r
+struct l_item\r
+{\r
+// agurt, 17/jul/03: to facilitate the deficient 'is_sequence' implementation \r
+#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)\r
+    typedef int begin;\r
+#endif\r
+    typedef aux::list_tag tag;\r
+    typedef l_item type;\r
+\r
+    typedef Size size;\r
+    typedef T item;\r
+    typedef Next next;\r
+};\r
+\r
+struct l_end\r
+{\r
+#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)\r
+    typedef int begin;\r
+#endif\r
+    typedef aux::list_tag tag;\r
+    typedef l_end type;\r
+    typedef long_<0> size;\r
+};\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_LIST_AUX_NODE_HPP_INCLUDED\r
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 (file)
index 0000000..bc830e4
--- /dev/null
@@ -0,0 +1,76 @@
+\r
+#ifndef BOOST_MPL_LIST_AUX_ITERATOR_HPP_INCLUDED\r
+#define BOOST_MPL_LIST_AUX_ITERATOR_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: iterator.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/iterator_tags.hpp>\r
+#include <boost/mpl/next_prior.hpp>\r
+#include <boost/mpl/deref.hpp>\r
+#include <boost/mpl/list/aux_/item.hpp>\r
+#include <boost/mpl/aux_/na.hpp>\r
+#include <boost/mpl/aux_/lambda_spec.hpp>\r
+#include <boost/mpl/aux_/config/ctps.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)\r
+\r
+template< typename Node >\r
+struct l_iter\r
+{\r
+    typedef aux::l_iter_tag tag;\r
+    typedef forward_iterator_tag category;\r
+};\r
+\r
+template< typename Node >\r
+struct deref< l_iter<Node> >\r
+{\r
+    typedef typename Node::item type;\r
+};\r
+\r
+template< typename Node >\r
+struct next< l_iter<Node> >\r
+{\r
+    typedef l_iter< typename Node::next > type;\r
+};\r
+\r
+#else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+\r
+template< typename Node >\r
+struct l_iter\r
+{\r
+    typedef aux::l_iter_tag tag;\r
+    typedef forward_iterator_tag category;\r
+    typedef typename Node::item type;\r
+    typedef l_iter< typename mpl::next<Node>::type > next;\r
+};\r
+\r
+#endif\r
+\r
+\r
+template<> struct l_iter<l_end>\r
+{\r
+    typedef aux::l_iter_tag tag;\r
+    typedef forward_iterator_tag category;\r
+#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)\r
+    typedef na type;\r
+    typedef l_iter next;\r
+#endif\r
+};\r
+\r
+BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, l_iter)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_LIST_AUX_ITERATOR_HPP_INCLUDED\r
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 (file)
index 0000000..397b19c
--- /dev/null
@@ -0,0 +1,68 @@
+\r
+// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION\r
+\r
+// Copyright Peter Dimov 2000-2002\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: numbered.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#if defined(BOOST_PP_IS_ITERATING)\r
+\r
+#include <boost/preprocessor/enum_params.hpp>\r
+#include <boost/preprocessor/enum_shifted_params.hpp>\r
+#include <boost/preprocessor/dec.hpp>\r
+#include <boost/preprocessor/cat.hpp>\r
+\r
+#define i BOOST_PP_FRAME_ITERATION(1)\r
+\r
+#if i == 1\r
+\r
+template<\r
+      BOOST_PP_ENUM_PARAMS(i, typename T)\r
+    >\r
+struct list1\r
+    : l_item<\r
+          long_<1>\r
+        , T0\r
+        , l_end\r
+        >\r
+{\r
+    typedef list1 type;\r
+};\r
+\r
+#else\r
+\r
+#   define MPL_AUX_LIST_TAIL(list, i, T) \\r
+    BOOST_PP_CAT(list,BOOST_PP_DEC(i))< \\r
+      BOOST_PP_ENUM_SHIFTED_PARAMS(i, T) \\r
+    > \\r
+    /**/\r
+    \r
+template<\r
+      BOOST_PP_ENUM_PARAMS(i, typename T)\r
+    >\r
+struct BOOST_PP_CAT(list,i)\r
+    : l_item<\r
+          long_<i>\r
+        , T0\r
+        , MPL_AUX_LIST_TAIL(list,i,T)\r
+        >\r
+{\r
+    typedef BOOST_PP_CAT(list,i) type;\r
+};\r
+\r
+#   undef MPL_AUX_LIST_TAIL\r
+\r
+#endif // i == 1\r
+\r
+#undef i\r
+\r
+#endif // BOOST_PP_IS_ITERATING\r
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 (file)
index 0000000..b147200
--- /dev/null
@@ -0,0 +1,71 @@
+\r
+// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: numbered_c.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#if defined(BOOST_PP_IS_ITERATING)\r
+\r
+#include <boost/preprocessor/enum_params.hpp>\r
+#include <boost/preprocessor/enum_shifted_params.hpp>\r
+#include <boost/preprocessor/dec.hpp>\r
+#include <boost/preprocessor/cat.hpp>\r
+\r
+#define i BOOST_PP_FRAME_ITERATION(1)\r
+\r
+#if i == 1\r
+\r
+template<\r
+      typename T\r
+    , BOOST_PP_ENUM_PARAMS(i, T C)\r
+    >\r
+struct list1_c\r
+    : l_item<\r
+          long_<1>\r
+        , integral_c<T,C0>\r
+        , l_end\r
+        >\r
+{\r
+    typedef list1_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+#else\r
+\r
+#   define MPL_AUX_LIST_C_TAIL(list, i, C) \\r
+    BOOST_PP_CAT(BOOST_PP_CAT(list,BOOST_PP_DEC(i)),_c)<T, \\r
+      BOOST_PP_ENUM_SHIFTED_PARAMS(i, C) \\r
+    > \\r
+    /**/\r
+    \r
+template<\r
+      typename T\r
+    , BOOST_PP_ENUM_PARAMS(i, T C)\r
+    >\r
+struct BOOST_PP_CAT(BOOST_PP_CAT(list,i),_c)\r
+    : l_item<\r
+          long_<i>\r
+        , integral_c<T,C0>\r
+        , MPL_AUX_LIST_C_TAIL(list,i,C)\r
+        >\r
+{\r
+    typedef BOOST_PP_CAT(BOOST_PP_CAT(list,i),_c) type;\r
+    typedef T value_type;\r
+};\r
+\r
+#   undef MPL_AUX_LIST_C_TAIL\r
+\r
+#endif // i == 1\r
+\r
+#undef i\r
+\r
+#endif // BOOST_PP_IS_ITERATING\r
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 (file)
index 0000000..afd732c
--- /dev/null
@@ -0,0 +1,34 @@
+\r
+#ifndef BOOST_MPL_LIST_AUX_POP_FRONT_HPP_INCLUDED\r
+#define BOOST_MPL_LIST_AUX_POP_FRONT_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: pop_front.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/pop_front_fwd.hpp>\r
+#include <boost/mpl/next_prior.hpp>\r
+#include <boost/mpl/list/aux_/tag.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct pop_front_impl< aux::list_tag >\r
+{\r
+    template< typename List > struct apply\r
+    {\r
+        typedef typename mpl::next<List>::type type;\r
+    };\r
+};\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_LIST_AUX_POP_FRONT_HPP_INCLUDED\r
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 (file)
index 0000000..4d0d4c1
--- /dev/null
@@ -0,0 +1,149 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/list/list10.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T0\r
+    >\r
+struct list1\r
+    : l_item<\r
+          long_<1>\r
+        , T0\r
+        , l_end\r
+        >\r
+{\r
+    typedef list1 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1\r
+    >\r
+struct list2\r
+    : l_item<\r
+          long_<2>\r
+        , T0\r
+        , list1<T1>\r
+        >\r
+{\r
+    typedef list2 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2\r
+    >\r
+struct list3\r
+    : l_item<\r
+          long_<3>\r
+        , T0\r
+        , list2< T1,T2 >\r
+        >\r
+{\r
+    typedef list3 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3\r
+    >\r
+struct list4\r
+    : l_item<\r
+          long_<4>\r
+        , T0\r
+        , list3< T1,T2,T3 >\r
+        >\r
+{\r
+    typedef list4 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct list5\r
+    : l_item<\r
+          long_<5>\r
+        , T0\r
+        , list4< T1,T2,T3,T4 >\r
+        >\r
+{\r
+    typedef list5 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct list6\r
+    : l_item<\r
+          long_<6>\r
+        , T0\r
+        , list5< T1,T2,T3,T4,T5 >\r
+        >\r
+{\r
+    typedef list6 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6\r
+    >\r
+struct list7\r
+    : l_item<\r
+          long_<7>\r
+        , T0\r
+        , list6< T1,T2,T3,T4,T5,T6 >\r
+        >\r
+{\r
+    typedef list7 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7\r
+    >\r
+struct list8\r
+    : l_item<\r
+          long_<8>\r
+        , T0\r
+        , list7< T1,T2,T3,T4,T5,T6,T7 >\r
+        >\r
+{\r
+    typedef list8 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8\r
+    >\r
+struct list9\r
+    : l_item<\r
+          long_<9>\r
+        , T0\r
+        , list8< T1,T2,T3,T4,T5,T6,T7,T8 >\r
+        >\r
+{\r
+    typedef list9 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    >\r
+struct list10\r
+    : l_item<\r
+          long_<10>\r
+        , T0\r
+        , list9< T1,T2,T3,T4,T5,T6,T7,T8,T9 >\r
+        >\r
+{\r
+    typedef list10 type;\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..637fdec
--- /dev/null
@@ -0,0 +1,164 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/list/list10_c.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T\r
+    , T C0\r
+    >\r
+struct list1_c\r
+    : l_item<\r
+          long_<1>\r
+        , integral_c< T,C0 >\r
+        , l_end\r
+        >\r
+{\r
+    typedef list1_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1\r
+    >\r
+struct list2_c\r
+    : l_item<\r
+          long_<2>\r
+        , integral_c< T,C0 >\r
+        , list1_c< T,C1 >\r
+        >\r
+{\r
+    typedef list2_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2\r
+    >\r
+struct list3_c\r
+    : l_item<\r
+          long_<3>\r
+        , integral_c< T,C0 >\r
+        , list2_c< T,C1,C2 >\r
+        >\r
+{\r
+    typedef list3_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3\r
+    >\r
+struct list4_c\r
+    : l_item<\r
+          long_<4>\r
+        , integral_c< T,C0 >\r
+        , list3_c< T,C1,C2,C3 >\r
+        >\r
+{\r
+    typedef list4_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4\r
+    >\r
+struct list5_c\r
+    : l_item<\r
+          long_<5>\r
+        , integral_c< T,C0 >\r
+        , list4_c< T,C1,C2,C3,C4 >\r
+        >\r
+{\r
+    typedef list5_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5\r
+    >\r
+struct list6_c\r
+    : l_item<\r
+          long_<6>\r
+        , integral_c< T,C0 >\r
+        , list5_c< T,C1,C2,C3,C4,C5 >\r
+        >\r
+{\r
+    typedef list6_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6\r
+    >\r
+struct list7_c\r
+    : l_item<\r
+          long_<7>\r
+        , integral_c< T,C0 >\r
+        , list6_c< T,C1,C2,C3,C4,C5,C6 >\r
+        >\r
+{\r
+    typedef list7_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7\r
+    >\r
+struct list8_c\r
+    : l_item<\r
+          long_<8>\r
+        , integral_c< T,C0 >\r
+        , list7_c< T,C1,C2,C3,C4,C5,C6,C7 >\r
+        >\r
+{\r
+    typedef list8_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8\r
+    >\r
+struct list9_c\r
+    : l_item<\r
+          long_<9>\r
+        , integral_c< T,C0 >\r
+        , list8_c< T,C1,C2,C3,C4,C5,C6,C7,C8 >\r
+        >\r
+{\r
+    typedef list9_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9\r
+    >\r
+struct list10_c\r
+    : l_item<\r
+          long_<10>\r
+        , integral_c< T,C0 >\r
+        , list9_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9 >\r
+        >\r
+{\r
+    typedef list10_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..0388c96
--- /dev/null
@@ -0,0 +1,169 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/list/list20.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10\r
+    >\r
+struct list11\r
+    : l_item<\r
+          long_<11>\r
+        , T0\r
+        , list10< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >\r
+        >\r
+{\r
+    typedef list11 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11\r
+    >\r
+struct list12\r
+    : l_item<\r
+          long_<12>\r
+        , T0\r
+        , list11< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >\r
+        >\r
+{\r
+    typedef list12 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12\r
+    >\r
+struct list13\r
+    : l_item<\r
+          long_<13>\r
+        , T0\r
+        , list12< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >\r
+        >\r
+{\r
+    typedef list13 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13\r
+    >\r
+struct list14\r
+    : l_item<\r
+          long_<14>\r
+        , T0\r
+        , list13< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >\r
+        >\r
+{\r
+    typedef list14 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    >\r
+struct list15\r
+    : l_item<\r
+          long_<15>\r
+        , T0\r
+        , list14< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >\r
+        >\r
+{\r
+    typedef list15 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15\r
+    >\r
+struct list16\r
+    : l_item<\r
+          long_<16>\r
+        , T0\r
+        , list15< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >\r
+        >\r
+{\r
+    typedef list16 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16\r
+    >\r
+struct list17\r
+    : l_item<\r
+          long_<17>\r
+        , T0\r
+        , list16< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >\r
+        >\r
+{\r
+    typedef list17 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17\r
+    >\r
+struct list18\r
+    : l_item<\r
+          long_<18>\r
+        , T0\r
+        , list17< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >\r
+        >\r
+{\r
+    typedef list18 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18\r
+    >\r
+struct list19\r
+    : l_item<\r
+          long_<19>\r
+        , T0\r
+        , list18< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >\r
+        >\r
+{\r
+    typedef list19 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    >\r
+struct list20\r
+    : l_item<\r
+          long_<20>\r
+        , T0\r
+        , list19< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >\r
+        >\r
+{\r
+    typedef list20 type;\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..197cd84
--- /dev/null
@@ -0,0 +1,173 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/list/list20_c.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    >\r
+struct list11_c\r
+    : l_item<\r
+          long_<11>\r
+        , integral_c< T,C0 >\r
+        , list10_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >\r
+        >\r
+{\r
+    typedef list11_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11\r
+    >\r
+struct list12_c\r
+    : l_item<\r
+          long_<12>\r
+        , integral_c< T,C0 >\r
+        , list11_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >\r
+        >\r
+{\r
+    typedef list12_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12\r
+    >\r
+struct list13_c\r
+    : l_item<\r
+          long_<13>\r
+        , integral_c< T,C0 >\r
+        , list12_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >\r
+        >\r
+{\r
+    typedef list13_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13\r
+    >\r
+struct list14_c\r
+    : l_item<\r
+          long_<14>\r
+        , integral_c< T,C0 >\r
+        , list13_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >\r
+        >\r
+{\r
+    typedef list14_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14\r
+    >\r
+struct list15_c\r
+    : l_item<\r
+          long_<15>\r
+        , integral_c< T,C0 >\r
+        , list14_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >\r
+        >\r
+{\r
+    typedef list15_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15\r
+    >\r
+struct list16_c\r
+    : l_item<\r
+          long_<16>\r
+        , integral_c< T,C0 >\r
+        , list15_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >\r
+        >\r
+{\r
+    typedef list16_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16\r
+    >\r
+struct list17_c\r
+    : l_item<\r
+          long_<17>\r
+        , integral_c< T,C0 >\r
+        , list16_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >\r
+        >\r
+{\r
+    typedef list17_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17\r
+    >\r
+struct list18_c\r
+    : l_item<\r
+          long_<18>\r
+        , integral_c< T,C0 >\r
+        , list17_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >\r
+        >\r
+{\r
+    typedef list18_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18\r
+    >\r
+struct list19_c\r
+    : l_item<\r
+          long_<19>\r
+        , integral_c< T,C0 >\r
+        , list18_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >\r
+        >\r
+{\r
+    typedef list19_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19\r
+    >\r
+struct list20_c\r
+    : l_item<\r
+          long_<20>\r
+        , integral_c< T,C0 >\r
+        , list19_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >\r
+        >\r
+{\r
+    typedef list20_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..8db5fdc
--- /dev/null
@@ -0,0 +1,189 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/list/list30.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20\r
+    >\r
+struct list21\r
+    : l_item<\r
+          long_<21>\r
+        , T0\r
+        , list20< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20 >\r
+        >\r
+{\r
+    typedef list21 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21\r
+    >\r
+struct list22\r
+    : l_item<\r
+          long_<22>\r
+        , T0\r
+        , list21< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21 >\r
+        >\r
+{\r
+    typedef list22 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22\r
+    >\r
+struct list23\r
+    : l_item<\r
+          long_<23>\r
+        , T0\r
+        , list22< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22 >\r
+        >\r
+{\r
+    typedef list23 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23\r
+    >\r
+struct list24\r
+    : l_item<\r
+          long_<24>\r
+        , T0\r
+        , list23< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23 >\r
+        >\r
+{\r
+    typedef list24 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    >\r
+struct list25\r
+    : l_item<\r
+          long_<25>\r
+        , T0\r
+        , 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 >\r
+        >\r
+{\r
+    typedef list25 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25\r
+    >\r
+struct list26\r
+    : l_item<\r
+          long_<26>\r
+        , T0\r
+        , 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 >\r
+        >\r
+{\r
+    typedef list26 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26\r
+    >\r
+struct list27\r
+    : l_item<\r
+          long_<27>\r
+        , T0\r
+        , 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 >\r
+        >\r
+{\r
+    typedef list27 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27\r
+    >\r
+struct list28\r
+    : l_item<\r
+          long_<28>\r
+        , T0\r
+        , 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 >\r
+        >\r
+{\r
+    typedef list28 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28\r
+    >\r
+struct list29\r
+    : l_item<\r
+          long_<29>\r
+        , T0\r
+        , 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 >\r
+        >\r
+{\r
+    typedef list29 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    >\r
+struct list30\r
+    : l_item<\r
+          long_<30>\r
+        , T0\r
+        , 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 >\r
+        >\r
+{\r
+    typedef list30 type;\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..d81d5d3
--- /dev/null
@@ -0,0 +1,183 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/list/list30_c.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    >\r
+struct list21_c\r
+    : l_item<\r
+          long_<21>\r
+        , integral_c< T,C0 >\r
+        , list20_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20 >\r
+        >\r
+{\r
+    typedef list21_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21\r
+    >\r
+struct list22_c\r
+    : l_item<\r
+          long_<22>\r
+        , integral_c< T,C0 >\r
+        , list21_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21 >\r
+        >\r
+{\r
+    typedef list22_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22\r
+    >\r
+struct list23_c\r
+    : l_item<\r
+          long_<23>\r
+        , integral_c< T,C0 >\r
+        , 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 >\r
+        >\r
+{\r
+    typedef list23_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23\r
+    >\r
+struct list24_c\r
+    : l_item<\r
+          long_<24>\r
+        , integral_c< T,C0 >\r
+        , 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 >\r
+        >\r
+{\r
+    typedef list24_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24\r
+    >\r
+struct list25_c\r
+    : l_item<\r
+          long_<25>\r
+        , integral_c< T,C0 >\r
+        , 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 >\r
+        >\r
+{\r
+    typedef list25_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25\r
+    >\r
+struct list26_c\r
+    : l_item<\r
+          long_<26>\r
+        , integral_c< T,C0 >\r
+        , 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 >\r
+        >\r
+{\r
+    typedef list26_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26\r
+    >\r
+struct list27_c\r
+    : l_item<\r
+          long_<27>\r
+        , integral_c< T,C0 >\r
+        , 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 >\r
+        >\r
+{\r
+    typedef list27_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27\r
+    >\r
+struct list28_c\r
+    : l_item<\r
+          long_<28>\r
+        , integral_c< T,C0 >\r
+        , 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 >\r
+        >\r
+{\r
+    typedef list28_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28\r
+    >\r
+struct list29_c\r
+    : l_item<\r
+          long_<29>\r
+        , integral_c< T,C0 >\r
+        , 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 >\r
+        >\r
+{\r
+    typedef list29_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29\r
+    >\r
+struct list30_c\r
+    : l_item<\r
+          long_<30>\r
+        , integral_c< T,C0 >\r
+        , 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 >\r
+        >\r
+{\r
+    typedef list30_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..52bf019
--- /dev/null
@@ -0,0 +1,209 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/list/list40.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30\r
+    >\r
+struct list31\r
+    : l_item<\r
+          long_<31>\r
+        , T0\r
+        , 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 >\r
+        >\r
+{\r
+    typedef list31 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31\r
+    >\r
+struct list32\r
+    : l_item<\r
+          long_<32>\r
+        , T0\r
+        , 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 >\r
+        >\r
+{\r
+    typedef list32 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32\r
+    >\r
+struct list33\r
+    : l_item<\r
+          long_<33>\r
+        , T0\r
+        , 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 >\r
+        >\r
+{\r
+    typedef list33 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32, typename T33\r
+    >\r
+struct list34\r
+    : l_item<\r
+          long_<34>\r
+        , T0\r
+        , 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 >\r
+        >\r
+{\r
+    typedef list34 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32, typename T33, typename T34\r
+    >\r
+struct list35\r
+    : l_item<\r
+          long_<35>\r
+        , T0\r
+        , 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 >\r
+        >\r
+{\r
+    typedef list35 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32, typename T33, typename T34\r
+    , typename T35\r
+    >\r
+struct list36\r
+    : l_item<\r
+          long_<36>\r
+        , T0\r
+        , 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 >\r
+        >\r
+{\r
+    typedef list36 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32, typename T33, typename T34\r
+    , typename T35, typename T36\r
+    >\r
+struct list37\r
+    : l_item<\r
+          long_<37>\r
+        , T0\r
+        , 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 >\r
+        >\r
+{\r
+    typedef list37 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32, typename T33, typename T34\r
+    , typename T35, typename T36, typename T37\r
+    >\r
+struct list38\r
+    : l_item<\r
+          long_<38>\r
+        , T0\r
+        , 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 >\r
+        >\r
+{\r
+    typedef list38 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32, typename T33, typename T34\r
+    , typename T35, typename T36, typename T37, typename T38\r
+    >\r
+struct list39\r
+    : l_item<\r
+          long_<39>\r
+        , T0\r
+        , 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 >\r
+        >\r
+{\r
+    typedef list39 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32, typename T33, typename T34\r
+    , typename T35, typename T36, typename T37, typename T38, typename T39\r
+    >\r
+struct list40\r
+    : l_item<\r
+          long_<40>\r
+        , T0\r
+        , 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 >\r
+        >\r
+{\r
+    typedef list40 type;\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..ea654b8
--- /dev/null
@@ -0,0 +1,193 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/list/list40_c.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    >\r
+struct list31_c\r
+    : l_item<\r
+          long_<31>\r
+        , integral_c< T,C0 >\r
+        , 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 >\r
+        >\r
+{\r
+    typedef list31_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31\r
+    >\r
+struct list32_c\r
+    : l_item<\r
+          long_<32>\r
+        , integral_c< T,C0 >\r
+        , 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 >\r
+        >\r
+{\r
+    typedef list32_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32\r
+    >\r
+struct list33_c\r
+    : l_item<\r
+          long_<33>\r
+        , integral_c< T,C0 >\r
+        , 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 >\r
+        >\r
+{\r
+    typedef list33_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32, T C33\r
+    >\r
+struct list34_c\r
+    : l_item<\r
+          long_<34>\r
+        , integral_c< T,C0 >\r
+        , 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 >\r
+        >\r
+{\r
+    typedef list34_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32, T C33, T C34\r
+    >\r
+struct list35_c\r
+    : l_item<\r
+          long_<35>\r
+        , integral_c< T,C0 >\r
+        , 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 >\r
+        >\r
+{\r
+    typedef list35_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32, T C33, T C34, T C35\r
+    >\r
+struct list36_c\r
+    : l_item<\r
+          long_<36>\r
+        , integral_c< T,C0 >\r
+        , 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 >\r
+        >\r
+{\r
+    typedef list36_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32, T C33, T C34, T C35, T C36\r
+    >\r
+struct list37_c\r
+    : l_item<\r
+          long_<37>\r
+        , integral_c< T,C0 >\r
+        , 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 >\r
+        >\r
+{\r
+    typedef list37_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32, T C33, T C34, T C35, T C36, T C37\r
+    >\r
+struct list38_c\r
+    : l_item<\r
+          long_<38>\r
+        , integral_c< T,C0 >\r
+        , 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 >\r
+        >\r
+{\r
+    typedef list38_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38\r
+    >\r
+struct list39_c\r
+    : l_item<\r
+          long_<39>\r
+        , integral_c< T,C0 >\r
+        , 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 >\r
+        >\r
+{\r
+    typedef list39_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39\r
+    >\r
+struct list40_c\r
+    : l_item<\r
+          long_<40>\r
+        , integral_c< T,C0 >\r
+        , 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 >\r
+        >\r
+{\r
+    typedef list40_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..33edb5b
--- /dev/null
@@ -0,0 +1,229 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/list/list50.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32, typename T33, typename T34\r
+    , typename T35, typename T36, typename T37, typename T38, typename T39\r
+    , typename T40\r
+    >\r
+struct list41\r
+    : l_item<\r
+          long_<41>\r
+        , T0\r
+        , 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 >\r
+        >\r
+{\r
+    typedef list41 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32, typename T33, typename T34\r
+    , typename T35, typename T36, typename T37, typename T38, typename T39\r
+    , typename T40, typename T41\r
+    >\r
+struct list42\r
+    : l_item<\r
+          long_<42>\r
+        , T0\r
+        , 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 >\r
+        >\r
+{\r
+    typedef list42 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32, typename T33, typename T34\r
+    , typename T35, typename T36, typename T37, typename T38, typename T39\r
+    , typename T40, typename T41, typename T42\r
+    >\r
+struct list43\r
+    : l_item<\r
+          long_<43>\r
+        , T0\r
+        , 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 >\r
+        >\r
+{\r
+    typedef list43 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32, typename T33, typename T34\r
+    , typename T35, typename T36, typename T37, typename T38, typename T39\r
+    , typename T40, typename T41, typename T42, typename T43\r
+    >\r
+struct list44\r
+    : l_item<\r
+          long_<44>\r
+        , T0\r
+        , 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 >\r
+        >\r
+{\r
+    typedef list44 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32, typename T33, typename T34\r
+    , typename T35, typename T36, typename T37, typename T38, typename T39\r
+    , typename T40, typename T41, typename T42, typename T43, typename T44\r
+    >\r
+struct list45\r
+    : l_item<\r
+          long_<45>\r
+        , T0\r
+        , 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 >\r
+        >\r
+{\r
+    typedef list45 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32, typename T33, typename T34\r
+    , typename T35, typename T36, typename T37, typename T38, typename T39\r
+    , typename T40, typename T41, typename T42, typename T43, typename T44\r
+    , typename T45\r
+    >\r
+struct list46\r
+    : l_item<\r
+          long_<46>\r
+        , T0\r
+        , 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 >\r
+        >\r
+{\r
+    typedef list46 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32, typename T33, typename T34\r
+    , typename T35, typename T36, typename T37, typename T38, typename T39\r
+    , typename T40, typename T41, typename T42, typename T43, typename T44\r
+    , typename T45, typename T46\r
+    >\r
+struct list47\r
+    : l_item<\r
+          long_<47>\r
+        , T0\r
+        , 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 >\r
+        >\r
+{\r
+    typedef list47 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32, typename T33, typename T34\r
+    , typename T35, typename T36, typename T37, typename T38, typename T39\r
+    , typename T40, typename T41, typename T42, typename T43, typename T44\r
+    , typename T45, typename T46, typename T47\r
+    >\r
+struct list48\r
+    : l_item<\r
+          long_<48>\r
+        , T0\r
+        , 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 >\r
+        >\r
+{\r
+    typedef list48 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32, typename T33, typename T34\r
+    , typename T35, typename T36, typename T37, typename T38, typename T39\r
+    , typename T40, typename T41, typename T42, typename T43, typename T44\r
+    , typename T45, typename T46, typename T47, typename T48\r
+    >\r
+struct list49\r
+    : l_item<\r
+          long_<49>\r
+        , T0\r
+        , 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 >\r
+        >\r
+{\r
+    typedef list49 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32, typename T33, typename T34\r
+    , typename T35, typename T36, typename T37, typename T38, typename T39\r
+    , typename T40, typename T41, typename T42, typename T43, typename T44\r
+    , typename T45, typename T46, typename T47, typename T48, typename T49\r
+    >\r
+struct list50\r
+    : l_item<\r
+          long_<50>\r
+        , T0\r
+        , 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 >\r
+        >\r
+{\r
+    typedef list50 type;\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..f9136cf
--- /dev/null
@@ -0,0 +1,203 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/list/list50_c.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40\r
+    >\r
+struct list41_c\r
+    : l_item<\r
+          long_<41>\r
+        , integral_c< T,C0 >\r
+        , 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 >\r
+        >\r
+{\r
+    typedef list41_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40\r
+    , T C41\r
+    >\r
+struct list42_c\r
+    : l_item<\r
+          long_<42>\r
+        , integral_c< T,C0 >\r
+        , 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 >\r
+        >\r
+{\r
+    typedef list42_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40\r
+    , T C41, T C42\r
+    >\r
+struct list43_c\r
+    : l_item<\r
+          long_<43>\r
+        , integral_c< T,C0 >\r
+        , 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 >\r
+        >\r
+{\r
+    typedef list43_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40\r
+    , T C41, T C42, T C43\r
+    >\r
+struct list44_c\r
+    : l_item<\r
+          long_<44>\r
+        , integral_c< T,C0 >\r
+        , 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 >\r
+        >\r
+{\r
+    typedef list44_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40\r
+    , T C41, T C42, T C43, T C44\r
+    >\r
+struct list45_c\r
+    : l_item<\r
+          long_<45>\r
+        , integral_c< T,C0 >\r
+        , 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 >\r
+        >\r
+{\r
+    typedef list45_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40\r
+    , T C41, T C42, T C43, T C44, T C45\r
+    >\r
+struct list46_c\r
+    : l_item<\r
+          long_<46>\r
+        , integral_c< T,C0 >\r
+        , 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 >\r
+        >\r
+{\r
+    typedef list46_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40\r
+    , T C41, T C42, T C43, T C44, T C45, T C46\r
+    >\r
+struct list47_c\r
+    : l_item<\r
+          long_<47>\r
+        , integral_c< T,C0 >\r
+        , 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 >\r
+        >\r
+{\r
+    typedef list47_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40\r
+    , T C41, T C42, T C43, T C44, T C45, T C46, T C47\r
+    >\r
+struct list48_c\r
+    : l_item<\r
+          long_<48>\r
+        , integral_c< T,C0 >\r
+        , 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 >\r
+        >\r
+{\r
+    typedef list48_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40\r
+    , T C41, T C42, T C43, T C44, T C45, T C46, T C47, T C48\r
+    >\r
+struct list49_c\r
+    : l_item<\r
+          long_<49>\r
+        , integral_c< T,C0 >\r
+        , 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 >\r
+        >\r
+{\r
+    typedef list49_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40\r
+    , T C41, T C42, T C43, T C44, T C45, T C46, T C47, T C48, T C49\r
+    >\r
+struct list50_c\r
+    : l_item<\r
+          long_<50>\r
+        , integral_c< T,C0 >\r
+        , 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 >\r
+        >\r
+{\r
+    typedef list50_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..f15db34
--- /dev/null
@@ -0,0 +1,36 @@
+\r
+#ifndef BOOST_MPL_LIST_AUX_PUSH_BACK_HPP_INCLUDED\r
+#define BOOST_MPL_LIST_AUX_PUSH_BACK_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: push_back.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/push_back_fwd.hpp>\r
+#include <boost/mpl/bool.hpp>\r
+#include <boost/mpl/list/aux_/tag.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template< typename Tag > struct has_push_back_impl;\r
+\r
+template<>\r
+struct has_push_back_impl< aux::list_tag >\r
+{\r
+    template< typename Seq > struct apply\r
+        : false_\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_LIST_AUX_PUSH_BACK_HPP_INCLUDED\r
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 (file)
index 0000000..ea52cbf
--- /dev/null
@@ -0,0 +1,39 @@
+\r
+#ifndef BOOST_MPL_LIST_AUX_PUSH_FRONT_HPP_INCLUDED\r
+#define BOOST_MPL_LIST_AUX_PUSH_FRONT_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: push_front.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/push_front_fwd.hpp>\r
+#include <boost/mpl/next.hpp>\r
+#include <boost/mpl/list/aux_/item.hpp>\r
+#include <boost/mpl/list/aux_/tag.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct push_front_impl< aux::list_tag >\r
+{\r
+    template< typename List, typename T > struct apply\r
+    {\r
+        typedef l_item<\r
+              typename next<typename List::size>::type\r
+            , T\r
+            , typename List::type\r
+            > type;\r
+    };\r
+};\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_LIST_AUX_PUSH_FRONT_HPP_INCLUDED\r
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 (file)
index 0000000..1ea9801
--- /dev/null
@@ -0,0 +1,33 @@
+\r
+#ifndef BOOST_MPL_LIST_AUX_SIZE_HPP_INCLUDED\r
+#define BOOST_MPL_LIST_AUX_SIZE_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: size.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/size_fwd.hpp>\r
+#include <boost/mpl/list/aux_/tag.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct size_impl< aux::list_tag >\r
+{\r
+    template< typename List > struct apply\r
+        : List::size\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_LIST_AUX_SIZE_HPP_INCLUDED\r
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 (file)
index 0000000..161de42
--- /dev/null
@@ -0,0 +1,24 @@
+\r
+#ifndef BOOST_MPL_LIST_AUX_TAG_HPP_INCLUDED\r
+#define BOOST_MPL_LIST_AUX_TAG_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: tag.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+struct list_tag;\r
+struct l_iter_tag;\r
+\r
+}}}\r
+\r
+#endif // BOOST_MPL_LIST_AUX_TAG_HPP_INCLUDED\r
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 (file)
index 0000000..6a8990f
--- /dev/null
@@ -0,0 +1,42 @@
+\r
+#ifndef BOOST_MPL_LIST_LIST0_HPP_INCLUDED\r
+#define BOOST_MPL_LIST_LIST0_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: list0.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/long.hpp>\r
+#include <boost/mpl/aux_/na.hpp>\r
+#include <boost/mpl/list/aux_/push_front.hpp>\r
+#include <boost/mpl/list/aux_/pop_front.hpp>\r
+#include <boost/mpl/list/aux_/push_back.hpp>\r
+#include <boost/mpl/list/aux_/front.hpp>\r
+#include <boost/mpl/list/aux_/clear.hpp>\r
+#include <boost/mpl/list/aux_/O1_size.hpp>\r
+#include <boost/mpl/list/aux_/size.hpp>\r
+#include <boost/mpl/list/aux_/empty.hpp>\r
+#include <boost/mpl/list/aux_/begin_end.hpp>\r
+#include <boost/mpl/list/aux_/item.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template< typename Dummy = na > struct list0;\r
+\r
+template<> struct list0<na>\r
+    : l_end\r
+{\r
+    typedef l_end type;\r
+};\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_LIST_LIST0_HPP_INCLUDED\r
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 (file)
index 0000000..21136b7
--- /dev/null
@@ -0,0 +1,31 @@
+\r
+#ifndef BOOST_MPL_LIST_LIST0_C_HPP_INCLUDED\r
+#define BOOST_MPL_LIST_LIST0_C_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: list0_c.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/list/list0.hpp>\r
+#include <boost/mpl/integral_c.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template< typename T > struct list0_c\r
+    : l_end\r
+{\r
+    typedef l_end type;\r
+    typedef T value_type;\r
+};\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_LIST_LIST0_C_HPP_INCLUDED\r
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 (file)
index 0000000..d4a2579
--- /dev/null
@@ -0,0 +1,43 @@
+\r
+#ifndef BOOST_MPL_LIST_LIST10_HPP_INCLUDED\r
+#define BOOST_MPL_LIST_LIST10_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: list10.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#if !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+#   include <boost/mpl/list/list0.hpp>\r
+#endif\r
+\r
+#include <boost/mpl/aux_/config/use_preprocessed.hpp>\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \\r
+    && !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+\r
+#   define BOOST_MPL_PREPROCESSED_HEADER list10.hpp\r
+#   include <boost/mpl/list/aux_/include_preprocessed.hpp>\r
+\r
+#else\r
+\r
+#   include <boost/preprocessor/iterate.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+#   define BOOST_PP_ITERATION_PARAMS_1 \\r
+    (3,(1, 10, <boost/mpl/list/aux_/numbered.hpp>))\r
+#   include BOOST_PP_ITERATE()\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS\r
+\r
+#endif // BOOST_MPL_LIST_LIST10_HPP_INCLUDED\r
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 (file)
index 0000000..fcc22ea
--- /dev/null
@@ -0,0 +1,43 @@
+\r
+#ifndef BOOST_MPL_LIST_LIST10_C_HPP_INCLUDED\r
+#define BOOST_MPL_LIST_LIST10_C_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: list10_c.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#if !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+#   include <boost/mpl/list/list0_c.hpp>\r
+#endif\r
+\r
+#include <boost/mpl/aux_/config/use_preprocessed.hpp>\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \\r
+ && !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+\r
+#   define BOOST_MPL_PREPROCESSED_HEADER list10_c.hpp\r
+#   include <boost/mpl/list/aux_/include_preprocessed.hpp>\r
+\r
+#else\r
+\r
+#   include <boost/preprocessor/iterate.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+#   define BOOST_PP_ITERATION_PARAMS_1 \\r
+    (3,(1, 10, <boost/mpl/list/aux_/numbered_c.hpp>))\r
+#   include BOOST_PP_ITERATE()\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS\r
+\r
+#endif // BOOST_MPL_LIST_LIST10_C_HPP_INCLUDED\r
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 (file)
index 0000000..c7412d6
--- /dev/null
@@ -0,0 +1,43 @@
+\r
+#ifndef BOOST_MPL_LIST_LIST20_HPP_INCLUDED\r
+#define BOOST_MPL_LIST_LIST20_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: list20.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#if !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+#   include <boost/mpl/list/list10.hpp>\r
+#endif\r
+\r
+#include <boost/mpl/aux_/config/use_preprocessed.hpp>\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \\r
+ && !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+\r
+#   define BOOST_MPL_PREPROCESSED_HEADER list20.hpp\r
+#   include <boost/mpl/list/aux_/include_preprocessed.hpp>\r
+\r
+#else\r
+\r
+#   include <boost/preprocessor/iterate.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+#   define BOOST_PP_ITERATION_PARAMS_1 \\r
+    (3,(11, 20, <boost/mpl/list/aux_/numbered.hpp>))\r
+#   include BOOST_PP_ITERATE()\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS\r
+\r
+#endif // BOOST_MPL_LIST_LIST20_HPP_INCLUDED\r
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 (file)
index 0000000..0cbf524
--- /dev/null
@@ -0,0 +1,43 @@
+\r
+#ifndef BOOST_MPL_LIST_LIST20_C_HPP_INCLUDED\r
+#define BOOST_MPL_LIST_LIST20_C_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: list20_c.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#if !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+#   include <boost/mpl/list/list10_c.hpp>\r
+#endif\r
+\r
+#include <boost/mpl/aux_/config/use_preprocessed.hpp>\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \\r
+ && !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+\r
+#   define BOOST_MPL_PREPROCESSED_HEADER list20_c.hpp\r
+#   include <boost/mpl/list/aux_/include_preprocessed.hpp>\r
+\r
+#else\r
+\r
+#   include <boost/preprocessor/iterate.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+#   define BOOST_PP_ITERATION_PARAMS_1 \\r
+    (3,(11, 20, <boost/mpl/list/aux_/numbered_c.hpp>))\r
+#   include BOOST_PP_ITERATE()\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS\r
+\r
+#endif // BOOST_MPL_LIST_LIST20_C_HPP_INCLUDED\r
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 (file)
index 0000000..954c073
--- /dev/null
@@ -0,0 +1,43 @@
+\r
+#ifndef BOOST_MPL_LIST_LIST30_HPP_INCLUDED\r
+#define BOOST_MPL_LIST_LIST30_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: list30.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#if !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+#   include <boost/mpl/list/list20.hpp>\r
+#endif\r
+\r
+#include <boost/mpl/aux_/config/use_preprocessed.hpp>\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \\r
+ && !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+\r
+#   define BOOST_MPL_PREPROCESSED_HEADER list30.hpp\r
+#   include <boost/mpl/list/aux_/include_preprocessed.hpp>\r
+\r
+#else\r
+\r
+#   include <boost/preprocessor/iterate.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+#   define BOOST_PP_ITERATION_PARAMS_1 \\r
+    (3,(21, 30, <boost/mpl/list/aux_/numbered.hpp>))\r
+#   include BOOST_PP_ITERATE()\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS\r
+\r
+#endif // BOOST_MPL_LIST_LIST30_HPP_INCLUDED\r
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 (file)
index 0000000..5a4170c
--- /dev/null
@@ -0,0 +1,43 @@
+\r
+#ifndef BOOST_MPL_LIST_LIST30_C_HPP_INCLUDED\r
+#define BOOST_MPL_LIST_LIST30_C_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: list30_c.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#if !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+#   include <boost/mpl/list/list20_c.hpp>\r
+#endif\r
+\r
+#include <boost/mpl/aux_/config/use_preprocessed.hpp>\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \\r
+ && !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+\r
+#   define BOOST_MPL_PREPROCESSED_HEADER list30_c.hpp\r
+#   include <boost/mpl/list/aux_/include_preprocessed.hpp>\r
+\r
+#else\r
+\r
+#   include <boost/preprocessor/iterate.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+#   define BOOST_PP_ITERATION_PARAMS_1 \\r
+    (3,(21, 30, <boost/mpl/list/aux_/numbered_c.hpp>))\r
+#   include BOOST_PP_ITERATE()\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS\r
+\r
+#endif // BOOST_MPL_LIST_LIST30_C_HPP_INCLUDED\r
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 (file)
index 0000000..e10f7fc
--- /dev/null
@@ -0,0 +1,43 @@
+\r
+#ifndef BOOST_MPL_LIST_LIST40_HPP_INCLUDED\r
+#define BOOST_MPL_LIST_LIST40_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: list40.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#if !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+#   include <boost/mpl/list/list30.hpp>\r
+#endif\r
+\r
+#include <boost/mpl/aux_/config/use_preprocessed.hpp>\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \\r
+ && !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+\r
+#   define BOOST_MPL_PREPROCESSED_HEADER list40.hpp\r
+#   include <boost/mpl/list/aux_/include_preprocessed.hpp>\r
+\r
+#else\r
+\r
+#   include <boost/preprocessor/iterate.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+#   define BOOST_PP_ITERATION_PARAMS_1 \\r
+    (3,(31, 40, <boost/mpl/list/aux_/numbered.hpp>))\r
+#   include BOOST_PP_ITERATE()\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS\r
+\r
+#endif // BOOST_MPL_LIST_LIST40_HPP_INCLUDED\r
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 (file)
index 0000000..8b1a773
--- /dev/null
@@ -0,0 +1,43 @@
+\r
+#ifndef BOOST_MPL_LIST_LIST40_C_HPP_INCLUDED\r
+#define BOOST_MPL_LIST_LIST40_C_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: list40_c.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#if !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+#   include <boost/mpl/list/list30_c.hpp>\r
+#endif\r
+\r
+#include <boost/mpl/aux_/config/use_preprocessed.hpp>\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \\r
+ && !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+\r
+#   define BOOST_MPL_PREPROCESSED_HEADER list40_c.hpp\r
+#   include <boost/mpl/list/aux_/include_preprocessed.hpp>\r
+\r
+#else\r
+\r
+#   include <boost/preprocessor/iterate.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+#   define BOOST_PP_ITERATION_PARAMS_1 \\r
+    (3,(31, 40, <boost/mpl/list/aux_/numbered_c.hpp>))\r
+#   include BOOST_PP_ITERATE()\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS\r
+\r
+#endif // BOOST_MPL_LIST_LIST40_C_HPP_INCLUDED\r
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 (file)
index 0000000..05e96ef
--- /dev/null
@@ -0,0 +1,43 @@
+\r
+#ifndef BOOST_MPL_LIST_LIST50_HPP_INCLUDED\r
+#define BOOST_MPL_LIST_LIST50_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: list50.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#if !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+#   include <boost/mpl/list/list40.hpp>\r
+#endif\r
+\r
+#include <boost/mpl/aux_/config/use_preprocessed.hpp>\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \\r
+ && !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+\r
+#   define BOOST_MPL_PREPROCESSED_HEADER list50.hpp\r
+#   include <boost/mpl/list/aux_/include_preprocessed.hpp>\r
+\r
+#else\r
+\r
+#   include <boost/preprocessor/iterate.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+#   define BOOST_PP_ITERATION_PARAMS_1 \\r
+    (3,(41, 50, <boost/mpl/list/aux_/numbered.hpp>))\r
+#   include BOOST_PP_ITERATE()\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS\r
+\r
+#endif // BOOST_MPL_LIST_LIST50_HPP_INCLUDED\r
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 (file)
index 0000000..a03a78c
--- /dev/null
@@ -0,0 +1,43 @@
+\r
+#ifndef BOOST_MPL_LIST_LIST50_C_HPP_INCLUDED\r
+#define BOOST_MPL_LIST_LIST50_C_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: list50_c.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#if !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+#   include <boost/mpl/list/list40_c.hpp>\r
+#endif\r
+\r
+#include <boost/mpl/aux_/config/use_preprocessed.hpp>\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \\r
+ && !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+\r
+#   define BOOST_MPL_PREPROCESSED_HEADER list50_c.hpp\r
+#   include <boost/mpl/list/aux_/include_preprocessed.hpp>\r
+\r
+#else\r
+\r
+#   include <boost/preprocessor/iterate.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+#   define BOOST_PP_ITERATION_PARAMS_1 \\r
+    (3,(41, 50, <boost/mpl/list/aux_/numbered_c.hpp>))\r
+#   include BOOST_PP_ITERATE()\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS\r
+\r
+#endif // BOOST_MPL_LIST_LIST50_C_HPP_INCLUDED\r
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 (file)
index 0000000..1cc6757
--- /dev/null
@@ -0,0 +1,60 @@
+\r
+#ifndef BOOST_MPL_LIST_C_HPP_INCLUDED\r
+#define BOOST_MPL_LIST_C_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: list_c.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#if !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+#   include <boost/mpl/limits/list.hpp>\r
+#   include <boost/mpl/aux_/nttp_decl.hpp>\r
+#   include <boost/mpl/aux_/config/preprocessor.hpp>\r
+\r
+#   include <boost/preprocessor/inc.hpp>\r
+#   include <boost/preprocessor/cat.hpp>\r
+#   include <boost/preprocessor/stringize.hpp>\r
+\r
+#if !defined(BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING)\r
+#   define AUX778076_LIST_C_HEADER \\r
+    BOOST_PP_CAT(BOOST_PP_CAT(list,BOOST_MPL_LIMIT_LIST_SIZE),_c).hpp \\r
+    /**/\r
+#else\r
+#   define AUX778076_LIST_C_HEADER \\r
+    BOOST_PP_CAT(BOOST_PP_CAT(list,BOOST_MPL_LIMIT_LIST_SIZE),_c)##.hpp \\r
+    /**/\r
+#endif\r
+\r
+#   include BOOST_PP_STRINGIZE(boost/mpl/list/AUX778076_LIST_C_HEADER)\r
+#   undef AUX778076_LIST_C_HEADER\r
+#   include <climits>\r
+#endif\r
+\r
+#include <boost/mpl/aux_/config/use_preprocessed.hpp>\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \\r
+    && !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+\r
+#   define BOOST_MPL_PREPROCESSED_HEADER list_c.hpp\r
+#   include <boost/mpl/aux_/include_preprocessed.hpp>\r
+\r
+#else\r
+\r
+#   include <boost/mpl/limits/list.hpp>\r
+\r
+#   define AUX778076_SEQUENCE_NAME list_c\r
+#   define AUX778076_SEQUENCE_LIMIT BOOST_MPL_LIMIT_LIST_SIZE\r
+#   define AUX778076_SEQUENCE_NAME_N(n) BOOST_PP_CAT(BOOST_PP_CAT(list,n),_c)\r
+#   define AUX778076_SEQUENCE_INTEGRAL_WRAPPER\r
+#   include <boost/mpl/aux_/sequence_wrapper.hpp>\r
+\r
+#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS\r
+#endif // BOOST_MPL_LIST_C_HPP_INCLUDED\r
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 (file)
index 0000000..2449568
--- /dev/null
@@ -0,0 +1,21 @@
+\r
+#ifndef BOOST_MPL_LOGICAL_HPP_INCLUDED\r
+#define BOOST_MPL_LOGICAL_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: logical.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/or.hpp>\r
+#include <boost/mpl/and.hpp>\r
+#include <boost/mpl/not.hpp>\r
+\r
+#endif // BOOST_MPL_LOGICAL_HPP_INCLUDED\r
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 (file)
index 0000000..decf28a
--- /dev/null
@@ -0,0 +1,22 @@
+\r
+#ifndef BOOST_MPL_LONG_HPP_INCLUDED\r
+#define BOOST_MPL_LONG_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: long.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/long_fwd.hpp>\r
+\r
+#define AUX_WRAPPER_VALUE_TYPE long\r
+#include <boost/mpl/aux_/integral_wrapper.hpp>\r
+\r
+#endif // BOOST_MPL_LONG_HPP_INCLUDED\r
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 (file)
index 0000000..3c04e5a
--- /dev/null
@@ -0,0 +1,27 @@
+\r
+#ifndef BOOST_MPL_LONG_FWD_HPP_INCLUDED\r
+#define BOOST_MPL_LONG_FWD_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: long_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/aux_/adl_barrier.hpp>\r
+#include <boost/mpl/aux_/nttp_decl.hpp>\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+\r
+template< BOOST_MPL_AUX_NTTP_DECL(long, N) > struct long_;\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+BOOST_MPL_AUX_ADL_BARRIER_DECL(long_)\r
+\r
+#endif // BOOST_MPL_LONG_FWD_HPP_INCLUDED\r
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 (file)
index 0000000..c3e3d73
--- /dev/null
@@ -0,0 +1,143 @@
+\r
+#ifndef BOOST_MPL_LOWER_BOUND_HPP_INCLUDED\r
+#define BOOST_MPL_LOWER_BOUND_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: lower_bound.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/less.hpp>\r
+#include <boost/mpl/lambda.hpp>\r
+#include <boost/mpl/aux_/na_spec.hpp>\r
+#include <boost/mpl/aux_/config/workaround.hpp>\r
+\r
+#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610))\r
+#   define BOOST_MPL_CFG_STRIPPED_DOWN_LOWER_BOUND_IMPL\r
+#endif\r
+\r
+#if !defined(BOOST_MPL_CFG_STRIPPED_DOWN_LOWER_BOUND_IMPL)\r
+#   include <boost/mpl/minus.hpp>\r
+#   include <boost/mpl/divides.hpp>\r
+#   include <boost/mpl/size.hpp>\r
+#   include <boost/mpl/advance.hpp>\r
+#   include <boost/mpl/begin_end.hpp>\r
+#   include <boost/mpl/long.hpp>\r
+#   include <boost/mpl/eval_if.hpp>\r
+#   include <boost/mpl/prior.hpp>\r
+#   include <boost/mpl/deref.hpp>\r
+#   include <boost/mpl/apply.hpp>\r
+#   include <boost/mpl/aux_/value_wknd.hpp>\r
+#else\r
+#   include <boost/mpl/not.hpp>\r
+#   include <boost/mpl/find.hpp>\r
+#   include <boost/mpl/bind.hpp>\r
+#endif\r
+\r
+#include <boost/config.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+#if defined(BOOST_MPL_CFG_STRIPPED_DOWN_LOWER_BOUND_IMPL)\r
+\r
+// agurt 23/oct/02: has a wrong complexity etc., but at least it works\r
+// feel free to contribute a better implementation!\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(Sequence)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(T)\r
+    , typename Predicate = less<>\r
+    , typename pred_ = typename lambda<Predicate>::type\r
+    >\r
+struct lower_bound\r
+    : find_if< Sequence, bind1< not_<>, bind2<pred_,_,T> > >\r
+{\r
+};\r
+\r
+#else\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename Distance\r
+    , typename Predicate\r
+    , typename T\r
+    , typename DeferredIterator\r
+    >\r
+struct lower_bound_step_impl;\r
+\r
+template< \r
+      typename Distance\r
+    , typename Predicate\r
+    , typename T\r
+    , typename DeferredIterator\r
+    >\r
+struct lower_bound_step\r
+{\r
+    typedef typename eval_if<\r
+          Distance\r
+        , lower_bound_step_impl<Distance,Predicate,T,DeferredIterator>\r
+        , DeferredIterator\r
+        >::type type;\r
+};\r
+    \r
+template<\r
+      typename Distance\r
+    , typename Predicate\r
+    , typename T\r
+    , typename DeferredIterator\r
+    >\r
+struct lower_bound_step_impl\r
+{\r
+    typedef typename divides< Distance, long_<2> >::type offset_;\r
+    typedef typename DeferredIterator::type iter_;\r
+    typedef typename advance< iter_,offset_ >::type middle_;\r
+    typedef typename apply2<\r
+              Predicate\r
+            , typename deref<middle_>::type\r
+            , T\r
+            >::type cond_;\r
+\r
+    typedef typename prior< minus< Distance, offset_> >::type step_;\r
+    typedef lower_bound_step< offset_,Predicate,T,DeferredIterator > step_forward_;\r
+    typedef lower_bound_step< step_,Predicate,T,next<middle_> > step_backward_;\r
+    typedef typename eval_if<\r
+          cond_\r
+        , step_backward_\r
+        , step_forward_\r
+        >::type type;\r
+};\r
+\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(Sequence)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(T)\r
+    , typename Predicate = less<>\r
+    >\r
+struct lower_bound\r
+{\r
+ private:\r
+    typedef typename lambda<Predicate>::type pred_;\r
+    typedef typename size<Sequence>::type size_;\r
+\r
+ public:\r
+    typedef typename aux::lower_bound_step<\r
+        size_,pred_,T,begin<Sequence>\r
+        >::type type;\r
+};\r
+\r
+#endif // BOOST_MPL_CFG_STRIPPED_DOWN_LOWER_BOUND_IMPL\r
+\r
+BOOST_MPL_AUX_NA_SPEC(2, lower_bound)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_LOWER_BOUND_HPP_INCLUDED\r
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 (file)
index 0000000..d839f55
--- /dev/null
@@ -0,0 +1,57 @@
+\r
+#ifndef BOOST_MPL_MAP_HPP_INCLUDED\r
+#define BOOST_MPL_MAP_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: map.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#if !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+#   include <boost/mpl/limits/map.hpp>\r
+#   include <boost/mpl/aux_/na.hpp>\r
+#   include <boost/mpl/aux_/config/preprocessor.hpp>\r
+\r
+#   include <boost/preprocessor/inc.hpp>\r
+#   include <boost/preprocessor/cat.hpp>\r
+#   include <boost/preprocessor/stringize.hpp>\r
+\r
+#if !defined(BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING)\r
+#   define AUX778076_MAP_HEADER \\r
+    BOOST_PP_CAT(map, BOOST_MPL_LIMIT_MAP_SIZE).hpp \\r
+    /**/\r
+#else\r
+#   define AUX778076_MAP_HEADER \\r
+    BOOST_PP_CAT(map, BOOST_MPL_LIMIT_MAP_SIZE)##.hpp \\r
+    /**/\r
+#endif\r
+\r
+#   include BOOST_PP_STRINGIZE(boost/mpl/map/AUX778076_MAP_HEADER)\r
+#   undef AUX778076_MAP_HEADER\r
+#endif\r
+\r
+#include <boost/mpl/aux_/config/use_preprocessed.hpp>\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \\r
+    && !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+\r
+#   define BOOST_MPL_PREPROCESSED_HEADER map.hpp\r
+#   include <boost/mpl/aux_/include_preprocessed.hpp>\r
+\r
+#else\r
+\r
+#   include <boost/mpl/limits/map.hpp>\r
+\r
+#   define AUX778076_SEQUENCE_NAME map\r
+#   define AUX778076_SEQUENCE_LIMIT BOOST_MPL_LIMIT_MAP_SIZE\r
+#   include <boost/mpl/aux_/sequence_wrapper.hpp>\r
+\r
+#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS\r
+#endif // BOOST_MPL_MAP_HPP_INCLUDED\r
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 (file)
index 0000000..b4edbb6
--- /dev/null
@@ -0,0 +1,144 @@
+\r
+#ifndef BOOST_MPL_MAP_AUX_AT_IMPL_HPP_INCLUDED\r
+#define BOOST_MPL_MAP_AUX_AT_IMPL_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2003-2004\r
+// Copyright David Abrahams 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: at_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/at_fwd.hpp>\r
+#include <boost/mpl/long.hpp>\r
+#include <boost/mpl/map/aux_/tag.hpp>\r
+#include <boost/mpl/aux_/order_impl.hpp>\r
+#include <boost/mpl/aux_/overload_names.hpp>\r
+#include <boost/mpl/aux_/type_wrapper.hpp>\r
+#include <boost/mpl/aux_/ptr_to_ref.hpp>\r
+#include <boost/mpl/aux_/static_cast.hpp>\r
+#include <boost/mpl/aux_/config/typeof.hpp>\r
+#include <boost/mpl/aux_/config/ctps.hpp>\r
+\r
+#if !defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)\r
+#   include <boost/mpl/eval_if.hpp>\r
+#   include <boost/mpl/pair.hpp>\r
+#   include <boost/mpl/void.hpp>\r
+#   include <boost/mpl/aux_/config/static_constant.hpp>\r
+#endif\r
+\r
+namespace boost { namespace mpl {\r
+\r
+#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)\r
+\r
+template< typename Map, typename Key >\r
+struct m_at\r
+{\r
+    typedef aux::type_wrapper<Key> key_;\r
+    typedef __typeof__( BOOST_MPL_AUX_OVERLOAD_CALL_VALUE_BY_KEY(\r
+          Map\r
+        , BOOST_MPL_AUX_STATIC_CAST(key_*, 0)\r
+        ) ) type;\r
+};\r
+\r
+template<>\r
+struct at_impl< aux::map_tag >\r
+{\r
+    template< typename Map, typename Key > struct apply\r
+        : aux::wrapped_type< typename m_at<\r
+              Map\r
+            , Key\r
+            >::type >\r
+    {\r
+    };\r
+};\r
+\r
+// agurt 31/jan/04: two-step implementation for the sake of GCC 3.x\r
+template< typename Map, long order > \r
+struct item_by_order_impl\r
+{\r
+    typedef __typeof__( BOOST_MPL_AUX_OVERLOAD_CALL_ITEM_BY_ORDER(\r
+          Map \r
+        , BOOST_MPL_AUX_STATIC_CAST(long_<order>*, 0)\r
+        ) ) type;\r
+};\r
+\r
+template< typename Map, long order >\r
+struct item_by_order\r
+    : aux::wrapped_type<\r
+          typename item_by_order_impl<Map,order>::type\r
+        >\r
+{\r
+};\r
+\r
+#else // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES\r
+\r
+#   if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)\r
+\r
+template< typename Map, long n > struct m_at\r
+{\r
+    typedef void_ type;\r
+};\r
+\r
+#   else\r
+\r
+template< long n > struct m_at_impl\r
+{\r
+    template< typename Map > struct result_\r
+    {\r
+        typedef void_ type;\r
+    };\r
+};\r
+\r
+template< typename Map, long n > struct m_at\r
+{\r
+    typedef typename m_at_impl<n>::result_<Map>::type type;\r
+};\r
+\r
+#   endif\r
+\r
+\r
+template<>\r
+struct at_impl< aux::map_tag >\r
+{\r
+    template< typename Map, typename Key > struct apply\r
+    {\r
+        typedef typename m_at< Map, (x_order_impl<Map,Key>::value - 2) >::type item_;       \r
+        typedef typename eval_if<\r
+              is_void_<item_>\r
+            , void_\r
+            , second<item_>\r
+            >::type type;\r
+    };\r
+};\r
+\r
+template< typename Map, long order > struct is_item_masked\r
+{\r
+    BOOST_STATIC_CONSTANT(bool, value = \r
+          sizeof( BOOST_MPL_AUX_OVERLOAD_CALL_IS_MASKED(\r
+              Map\r
+            , BOOST_MPL_AUX_STATIC_CAST(long_<order>*, 0)\r
+            ) ) == sizeof(aux::yes_tag)\r
+        );\r
+};\r
+\r
+template< typename Map, long order > struct item_by_order\r
+{    \r
+    typedef typename eval_if_c< \r
+          is_item_masked<Map,order>::value\r
+        , void_\r
+        , m_at<Map,(order - 2)>\r
+        >::type type;\r
+};\r
+\r
+#endif\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_SET_AUX_AT_IMPL_HPP_INCLUDED\r
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 (file)
index 0000000..16646ae
--- /dev/null
@@ -0,0 +1,50 @@
+\r
+#ifndef BOOST_MPL_MAP_AUX_BEGIN_END_IMPL_HPP_INCLUDED\r
+#define BOOST_MPL_MAP_AUX_BEGIN_END_IMPL_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2003-2004\r
+// Copyright David Abrahams 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: begin_end_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/begin_end_fwd.hpp>\r
+#include <boost/mpl/next_prior.hpp>\r
+#include <boost/mpl/map/aux_/iterator.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct begin_impl< aux::map_tag >\r
+{\r
+    template< typename Map > struct apply\r
+    {\r
+        typedef typename next< typename Map::order >::type max_order_;\r
+        typedef m_iter<\r
+              Map\r
+            , next_order<Map,1,max_order_::value>::value\r
+            , max_order_::value\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct end_impl< aux::map_tag >\r
+{\r
+    template< typename Map > struct apply\r
+    {\r
+        typedef typename next< typename Map::order >::type max_order_;\r
+        typedef m_iter< Map,max_order_::value,max_order_::value > type;\r
+    };\r
+};\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_MAP_AUX_BEGIN_END_IMPL_HPP_INCLUDED\r
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 (file)
index 0000000..9134a60
--- /dev/null
@@ -0,0 +1,35 @@
+\r
+#ifndef BOOST_MPL_MAP_AUX_CLEAR_IMPL_HPP_INCLUDED\r
+#define BOOST_MPL_MAP_AUX_CLEAR_IMPL_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2003-2004\r
+// Copyright David Abrahams 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: clear_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/clear_fwd.hpp>\r
+#include <boost/mpl/map/aux_/map0.hpp>\r
+#include <boost/mpl/map/aux_/tag.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct clear_impl< aux::map_tag >\r
+{\r
+    template< typename Map > struct apply\r
+    {\r
+        typedef map0<> type;\r
+    };\r
+};\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_MAP_AUX_CLEAR_IMPL_HPP_INCLUDED\r
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 (file)
index 0000000..097a85f
--- /dev/null
@@ -0,0 +1,43 @@
+\r
+#ifndef BOOST_MPL_MAP_AUX_CONTAINS_IMPL_HPP_INCLUDED\r
+#define BOOST_MPL_MAP_AUX_CONTAINS_IMPL_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: contains_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/contains_fwd.hpp>\r
+#include <boost/mpl/if.hpp>\r
+#include <boost/mpl/map/aux_/at_impl.hpp>\r
+#include <boost/mpl/map/aux_/tag.hpp>\r
+\r
+#include <boost/type_traits/is_same.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct contains_impl< aux::map_tag >\r
+{\r
+    template< typename Map, typename Pair > struct apply\r
+        : is_same< \r
+              typename at_impl<aux::map_tag>::apply<\r
+                  Map\r
+                , typename Pair::first\r
+                >::type\r
+            , typename Pair::second\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_MAP_AUX_CONTAINS_IMPL_HPP_INCLUDED\r
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 (file)
index 0000000..834d0e8
--- /dev/null
@@ -0,0 +1,34 @@
+\r
+#ifndef BOOST_MPL_MAP_AUX_EMPTY_IMPL_HPP_INCLUDED\r
+#define BOOST_MPL_MAP_AUX_EMPTY_IMPL_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: empty_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/empty_fwd.hpp>\r
+#include <boost/mpl/not.hpp>\r
+#include <boost/mpl/map/aux_/tag.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct empty_impl< aux::map_tag >\r
+{\r
+    template< typename Map > struct apply\r
+        : not_< typename Map::size >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_MAP_AUX_EMPTY_IMPL_HPP_INCLUDED\r
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 (file)
index 0000000..0808d0c
--- /dev/null
@@ -0,0 +1,41 @@
+\r
+#ifndef BOOST_MPL_MAP_AUX_ERASE_IMPL_HPP_INCLUDED\r
+#define BOOST_MPL_MAP_AUX_ERASE_IMPL_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2003-2004\r
+// Copyright David Abrahams 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: erase_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/erase_fwd.hpp>\r
+#include <boost/mpl/map/aux_/erase_key_impl.hpp>\r
+#include <boost/mpl/map/aux_/tag.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct erase_impl< aux::map_tag >\r
+{\r
+    template< \r
+          typename Map\r
+        , typename Pos\r
+        , typename unused_\r
+        > \r
+    struct apply\r
+        : erase_key_impl<aux::map_tag>\r
+            ::apply<Map,typename Pos::type::first>\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_MAP_AUX_ERASE_IMPL_HPP_INCLUDED\r
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 (file)
index 0000000..877a3ea
--- /dev/null
@@ -0,0 +1,53 @@
+\r
+#ifndef BOOST_MPL_MAP_AUX_ERASE_KEY_IMPL_HPP_INCLUDED\r
+#define BOOST_MPL_MAP_AUX_ERASE_KEY_IMPL_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2003-2004\r
+// Copyright David Abrahams 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: erase_key_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/erase_key_fwd.hpp>\r
+#include <boost/mpl/map/aux_/has_key_impl.hpp>\r
+#include <boost/mpl/map/aux_/item.hpp>\r
+#include <boost/mpl/map/aux_/tag.hpp>\r
+#include <boost/mpl/identity.hpp>\r
+#include <boost/mpl/base.hpp>\r
+#include <boost/mpl/eval_if.hpp>\r
+\r
+#include <boost/type_traits/is_same.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct erase_key_impl< aux::map_tag >\r
+{\r
+    template< \r
+          typename Map\r
+        , typename Key\r
+        > \r
+    struct apply\r
+        : eval_if< \r
+              has_key_impl<aux::map_tag>::apply<Map,Key>\r
+            , eval_if< \r
+                  is_same< Key,typename Map::key_ > \r
+                , base<Map>\r
+                , identity< m_mask<Key,Map> >\r
+                >\r
+            , identity<Map>\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_MAP_AUX_ERASE_KEY_IMPL_HPP_INCLUDED\r
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 (file)
index 0000000..8f0a4a2
--- /dev/null
@@ -0,0 +1,44 @@
+\r
+#ifndef BOOST_MPL_MAP_AUX_HAS_KEY_IMPL_HPP_INCLUDED\r
+#define BOOST_MPL_MAP_AUX_HAS_KEY_IMPL_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2003-2004\r
+// Copyright David Abrahams 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: has_key_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/has_key_fwd.hpp>\r
+#include <boost/mpl/map/aux_/tag.hpp>\r
+#include <boost/mpl/map/aux_/at_impl.hpp>\r
+#include <boost/mpl/void.hpp>\r
+#include <boost/mpl/aux_/config/typeof.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct has_key_impl< aux::map_tag >\r
+{\r
+    template< typename Map, typename Key > struct apply\r
+#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)\r
+        : is_not_void_< \r
+              typename at_impl<aux::map_tag>\r
+                ::apply<Map,Key>::type\r
+            >\r
+#else\r
+        : bool_< ( x_order_impl<Map,Key>::value > 1 ) >\r
+#endif\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_MAP_AUX_HAS_KEY_IMPL_HPP_INCLUDED\r
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 (file)
index 0000000..45ec536
--- /dev/null
@@ -0,0 +1,53 @@
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: include_preprocessed.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION!\r
+\r
+#include <boost/mpl/aux_/config/typeof.hpp>\r
+#include <boost/mpl/aux_/config/ctps.hpp>\r
+#include <boost/mpl/aux_/config/preprocessor.hpp>\r
+#include <boost/mpl/aux_/config/workaround.hpp>\r
+\r
+#include <boost/preprocessor/cat.hpp>\r
+#include <boost/preprocessor/stringize.hpp>\r
+\r
+#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)\r
+#   define AUX778076_INCLUDE_DIR typeof_based\r
+#elif defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)\r
+#   define AUX778076_INCLUDE_DIR no_ctps\r
+#else\r
+#   define AUX778076_INCLUDE_DIR plain\r
+#endif\r
+\r
+#if !defined(BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING)\r
+#   define AUX778076_HEADER \\r
+    AUX778076_INCLUDE_DIR/BOOST_MPL_PREPROCESSED_HEADER \\r
+/**/\r
+#else\r
+#   define AUX778076_HEADER \\r
+    BOOST_PP_CAT(AUX778076_INCLUDE_DIR,/)##BOOST_MPL_PREPROCESSED_HEADER \\r
+/**/\r
+#endif\r
+\r
+#if BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(700))\r
+#   define AUX778076_INCLUDE_STRING BOOST_PP_STRINGIZE(boost/mpl/map/aux_/preprocessed/AUX778076_HEADER)\r
+#   include AUX778076_INCLUDE_STRING\r
+#   undef AUX778076_INCLUDE_STRING\r
+#else\r
+#   include BOOST_PP_STRINGIZE(boost/mpl/map/aux_/preprocessed/AUX778076_HEADER)\r
+#endif\r
+\r
+#   undef AUX778076_HEADER\r
+#   undef AUX778076_INCLUDE_DIR\r
+\r
+#undef BOOST_MPL_PREPROCESSED_HEADER\r
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 (file)
index 0000000..1f60df5
--- /dev/null
@@ -0,0 +1,72 @@
+\r
+#ifndef BOOST_MPL_MAP_AUX_INSERT_IMPL_HPP_INCLUDED\r
+#define BOOST_MPL_MAP_AUX_INSERT_IMPL_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2003-2004\r
+// Copyright David Abrahams 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: insert_impl.hpp 55751 2009-08-24 04:11:00Z agurtovoy $\r
+// $Date: 2009-08-24 00:11:00 -0400 (Mon, 24 Aug 2009) $\r
+// $Revision: 55751 $\r
+\r
+#include <boost/mpl/insert_fwd.hpp>\r
+#include <boost/mpl/next_prior.hpp>\r
+#include <boost/mpl/map/aux_/contains_impl.hpp>\r
+#include <boost/mpl/map/aux_/item.hpp>\r
+#include <boost/mpl/map/aux_/tag.hpp>\r
+#include <boost/mpl/aux_/na.hpp>\r
+#include <boost/mpl/aux_/config/typeof.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+template< typename Map, typename Pair > \r
+struct map_insert_impl\r
+    : if_< \r
+          contains_impl<aux::map_tag>::apply<Map,Pair>\r
+        , Map\r
+#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)\r
+        , m_item<\r
+              typename Pair::first\r
+            , typename Pair::second\r
+            , Map\r
+            >\r
+#else\r
+        , m_item<\r
+              Map::order::value\r
+            , typename Pair::first\r
+            , typename Pair::second\r
+            , Map\r
+            >\r
+#endif\r
+        >\r
+{\r
+};\r
+}\r
+\r
+template<>\r
+struct insert_impl< aux::map_tag >\r
+{\r
+    template< \r
+          typename Map\r
+        , typename PosOrKey\r
+        , typename KeyOrNA\r
+        > \r
+    struct apply\r
+        : aux::map_insert_impl<\r
+              Map\r
+            , typename if_na<KeyOrNA,PosOrKey>::type\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_MAP_AUX_INSERT_IMPL_HPP_INCLUDED\r
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 (file)
index 0000000..5cd91c0
--- /dev/null
@@ -0,0 +1,138 @@
+\r
+#ifndef BOOST_MPL_MAP_AUX_ITEM_HPP_INCLUDED\r
+#define BOOST_MPL_MAP_AUX_ITEM_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2003-2004\r
+// Copyright David Abrahams 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: item.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/void.hpp>\r
+#include <boost/mpl/pair.hpp>\r
+#include <boost/mpl/long.hpp>\r
+#include <boost/mpl/next.hpp>\r
+#include <boost/mpl/prior.hpp>\r
+#include <boost/mpl/map/aux_/map0.hpp>\r
+#include <boost/mpl/aux_/order_impl.hpp>\r
+#include <boost/mpl/aux_/yes_no.hpp>\r
+#include <boost/mpl/aux_/type_wrapper.hpp>\r
+#include <boost/mpl/aux_/config/arrays.hpp>\r
+#include <boost/mpl/aux_/config/typeof.hpp>\r
+#include <boost/mpl/aux_/config/ctps.hpp>\r
+\r
+\r
+namespace boost { namespace mpl {\r
+\r
+#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)\r
+\r
+template< typename Key, typename T, typename Base >\r
+struct m_item\r
+    : Base\r
+{\r
+    typedef Key         key_;\r
+    typedef pair<Key,T> item;\r
+    typedef Base        base;\r
+    \r
+    typedef typename next< typename Base::size >::type  size;\r
+    typedef typename next< typename Base::order >::type order;\r
+\r
+#if defined(BOOST_MPL_CFG_NO_DEPENDENT_ARRAY_TYPES)\r
+    typedef typename aux::weighted_tag<BOOST_MPL_AUX_MSVC_VALUE_WKND(order)::value>::type order_tag_;\r
+#else\r
+    typedef char (&order_tag_)[BOOST_MPL_AUX_MSVC_VALUE_WKND(order)::value];\r
+#endif\r
+\r
+    BOOST_MPL_AUX_MAP_OVERLOAD( aux::type_wrapper<T>, VALUE_BY_KEY, m_item, aux::type_wrapper<Key>* );\r
+    BOOST_MPL_AUX_MAP_OVERLOAD( aux::type_wrapper<item>, ITEM_BY_ORDER, m_item, order* );\r
+    BOOST_MPL_AUX_MAP_OVERLOAD( order_tag_, ORDER_BY_KEY, m_item, aux::type_wrapper<Key>* );\r
+};\r
+\r
+\r
+template< typename Key, typename Base >\r
+struct m_mask\r
+    : Base\r
+{\r
+    typedef void_   key_;\r
+    typedef Base    base;\r
+\r
+    typedef typename prior< typename Base::size >::type  size;\r
+    typedef typename x_order_impl<Base,Key>::type key_order_;\r
+    \r
+    BOOST_MPL_AUX_MAP_OVERLOAD( aux::type_wrapper<void_>, VALUE_BY_KEY, m_mask, aux::type_wrapper<Key>* );\r
+    BOOST_MPL_AUX_MAP_OVERLOAD( aux::type_wrapper<void_>, ITEM_BY_ORDER, m_mask, key_order_* );\r
+};\r
+\r
+#else // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES\r
+\r
+\r
+#   if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)\r
+\r
+template< long n, typename Key, typename T, typename Base >\r
+struct m_item;\r
+\r
+#   else\r
+\r
+template< long n >\r
+struct m_item_impl\r
+{\r
+    template< typename Key, typename T, typename Base >\r
+    struct result_;\r
+};\r
+\r
+template< long n, typename Key, typename T, typename Base >\r
+struct m_item\r
+    : m_item_impl<n>::result_<Key,T,Base>\r
+{\r
+};\r
+\r
+\r
+#   endif\r
+\r
+\r
+template< typename Key, typename T, typename Base >\r
+struct m_item_\r
+    : Base\r
+{\r
+    typedef Key     key_;\r
+    typedef Base    base;\r
+    typedef m_item_ type;\r
+    \r
+    typedef typename next< typename Base::size >::type  size;\r
+    typedef typename next< typename Base::order >::type order;\r
+\r
+#if defined(BOOST_MPL_CFG_NO_DEPENDENT_ARRAY_TYPES)\r
+    typedef typename aux::weighted_tag<BOOST_MPL_AUX_MSVC_VALUE_WKND(order)::value>::type order_tag_;\r
+#else\r
+    typedef char (&order_tag_)[BOOST_MPL_AUX_MSVC_VALUE_WKND(order)::value];\r
+#endif\r
+\r
+    BOOST_MPL_AUX_MAP_OVERLOAD( order_tag_, ORDER_BY_KEY, m_item_, aux::type_wrapper<Key>* );\r
+};\r
+\r
+template< typename Key, typename Base >\r
+struct m_mask\r
+    : Base\r
+{\r
+    typedef void_   key_;\r
+    typedef Base    base;\r
+\r
+    typedef typename prior< typename Base::size >::type  size;\r
+    typedef typename x_order_impl<Base,Key>::type key_order_;\r
+    \r
+    BOOST_MPL_AUX_MAP_OVERLOAD( aux::no_tag, ORDER_BY_KEY, m_mask, aux::type_wrapper<Key>* );\r
+    BOOST_MPL_AUX_MAP_OVERLOAD( aux::yes_tag, IS_MASKED, m_mask, key_order_* );\r
+};\r
+\r
+#endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_MAP_AUX_ITEM_HPP_INCLUDED\r
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 (file)
index 0000000..9d472c7
--- /dev/null
@@ -0,0 +1,169 @@
+\r
+#ifndef BOOST_MPL_MAP_AUX_ITERATOR_HPP_INCLUDED\r
+#define BOOST_MPL_MAP_AUX_ITERATOR_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2003-2004\r
+// Copyright David Abrahams 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: iterator.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/map/aux_/map0.hpp>\r
+#include <boost/mpl/map/aux_/at_impl.hpp>\r
+#include <boost/mpl/map/aux_/tag.hpp>\r
+#include <boost/mpl/iterator_tags.hpp>\r
+#include <boost/mpl/if.hpp>\r
+#include <boost/mpl/next.hpp>\r
+#include <boost/mpl/deref.hpp>\r
+#include <boost/mpl/long.hpp>\r
+#include <boost/mpl/void.hpp>\r
+#include <boost/mpl/aux_/nttp_decl.hpp>\r
+#include <boost/mpl/aux_/config/ctps.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)\r
+\r
+template< \r
+      typename Map\r
+    , long order\r
+    , long max_order\r
+    >\r
+struct next_order\r
+    : if_< \r
+          is_void_< typename item_by_order<Map,order>::type >\r
+        , next_order<Map,(order+1),max_order>\r
+        , long_<order>\r
+        >::type\r
+{\r
+};\r
+\r
+template< \r
+      typename Map\r
+    , long max_order\r
+    >\r
+struct next_order<Map,max_order,max_order>\r
+    : long_<max_order>\r
+{\r
+};\r
+\r
+\r
+template< typename Map, long order, long max_order >\r
+struct m_iter\r
+{\r
+    typedef forward_iterator_tag category;\r
+    typedef typename item_by_order<Map,order>::type type;\r
+};\r
+\r
+template< typename Map, long max_order >\r
+struct m_iter<Map,max_order,max_order>\r
+{\r
+    typedef forward_iterator_tag category;\r
+};\r
+\r
+\r
+template< typename Map, long order, long max_order > \r
+struct next< m_iter<Map,order,max_order> >\r
+{\r
+    typedef m_iter<\r
+          Map\r
+        , next_order<Map,order+1,max_order>::value\r
+        , max_order\r
+        > type;\r
+};\r
+\r
+template< typename Map, long max_order > \r
+struct next< m_iter<Map,max_order,max_order> >\r
+{\r
+};\r
+\r
+#else\r
+\r
+template< \r
+      typename Map\r
+    , BOOST_MPL_AUX_NTTP_DECL(long, order)\r
+    , BOOST_MPL_AUX_NTTP_DECL(long, max_order)\r
+    >\r
+struct next_order;\r
+\r
+template< \r
+      typename Map\r
+    , BOOST_MPL_AUX_NTTP_DECL(long, order)\r
+    , BOOST_MPL_AUX_NTTP_DECL(long, max_order)\r
+    >\r
+struct next_order_impl\r
+    : if_< \r
+          is_void_< typename item_by_order<Map,order>::type >\r
+        , next_order<Map,(order+1),max_order>\r
+        , long_<order>\r
+        >::type\r
+    {\r
+    };\r
+\r
+template< \r
+      typename Map\r
+    , BOOST_MPL_AUX_NTTP_DECL(long, order)\r
+    , BOOST_MPL_AUX_NTTP_DECL(long, max_order)\r
+    >\r
+struct next_order\r
+    : if_c<\r
+          (order != max_order)\r
+        , next_order_impl<Map,order,max_order>\r
+        , long_<order>\r
+        >::type\r
+{\r
+};\r
+\r
+\r
+template<\r
+      typename Map\r
+    , BOOST_MPL_AUX_NTTP_DECL(long, order)\r
+    , BOOST_MPL_AUX_NTTP_DECL(long, max_order)\r
+    >\r
+struct m_iter;\r
+\r
+struct m_iter_empty_base {};\r
+\r
+template< \r
+      typename Map\r
+    , BOOST_MPL_AUX_NTTP_DECL(long, order)\r
+    , BOOST_MPL_AUX_NTTP_DECL(long, max_order)\r
+    >\r
+struct m_iter_base\r
+{\r
+    typedef typename item_by_order<Map,order>::type type;\r
+    \r
+    typedef m_iter<\r
+          Map\r
+        , next_order<Map,order+1,max_order>::value\r
+        , max_order\r
+        > next;\r
+};\r
+\r
+template<\r
+      typename Map\r
+    , BOOST_MPL_AUX_NTTP_DECL(long, order)\r
+    , BOOST_MPL_AUX_NTTP_DECL(long, max_order)\r
+    >\r
+struct m_iter\r
+  : if_c<\r
+          (order == max_order)\r
+        , m_iter_empty_base\r
+        , m_iter_base<Map,order,max_order>\r
+        >::type\r
+{\r
+    typedef forward_iterator_tag category;\r
+};\r
+\r
+#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_MAP_AUX_ITERATOR_HPP_INCLUDED\r
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 (file)
index 0000000..01fbee2
--- /dev/null
@@ -0,0 +1,36 @@
+\r
+#ifndef BOOST_MPL_MAP_AUX_KEY_TYPE_IMPL_HPP_INCLUDED\r
+#define BOOST_MPL_MAP_AUX_KEY_TYPE_IMPL_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2003-2004\r
+// Copyright David Abrahams 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: key_type_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/key_type_fwd.hpp>\r
+#include <boost/mpl/pair.hpp>\r
+#include <boost/mpl/map/aux_/tag.hpp>\r
+\r
+namespace boost {\r
+namespace mpl {\r
+\r
+template<>\r
+struct key_type_impl< aux::map_tag >\r
+{\r
+    template< typename Map, typename T > struct apply\r
+        : first<T>\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_MAP_AUX_KEY_TYPE_IMPL_HPP_INCLUDED\r
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 (file)
index 0000000..eac5de6
--- /dev/null
@@ -0,0 +1,74 @@
+\r
+#ifndef BOOST_MPL_MAP_AUX_MAP0_HPP_INCLUDED\r
+#define BOOST_MPL_MAP_AUX_MAP0_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2003-2004\r
+// Copyright David Abrahams 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: map0.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/long.hpp>\r
+#include <boost/mpl/void.hpp>\r
+#include <boost/mpl/map/aux_/tag.hpp>\r
+#include <boost/mpl/aux_/na.hpp>\r
+#include <boost/mpl/aux_/yes_no.hpp>\r
+#include <boost/mpl/aux_/overload_names.hpp>\r
+#include <boost/mpl/aux_/config/operators.hpp>\r
+\r
+#include <boost/preprocessor/cat.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+#if defined(BOOST_MPL_CFG_USE_OPERATORS_OVERLOADING)\r
+\r
+#   define BOOST_MPL_AUX_MAP0_OVERLOAD(R, f, X, T) \\r
+    friend R BOOST_PP_CAT(BOOST_MPL_AUX_OVERLOAD_,f)(X const&, T) \\r
+/**/\r
+\r
+#   define BOOST_MPL_AUX_MAP_OVERLOAD(R, f, X, T) \\r
+    BOOST_MPL_AUX_MAP0_OVERLOAD(R, f, X, T) \\r
+/**/\r
+\r
+#else\r
+\r
+#   define BOOST_MPL_AUX_MAP0_OVERLOAD(R, f, X, T) \\r
+    static R BOOST_PP_CAT(BOOST_MPL_AUX_OVERLOAD_,f)(X const&, T) \\r
+/**/\r
+\r
+#   define BOOST_MPL_AUX_MAP_OVERLOAD(R, f, X, T) \\r
+    BOOST_MPL_AUX_MAP0_OVERLOAD(R, f, X, T); \\r
+    using Base::BOOST_PP_CAT(BOOST_MPL_AUX_OVERLOAD_,f) \\r
+/**/\r
+\r
+#endif\r
+\r
+\r
+template< typename Dummy = na > struct map0\r
+{\r
+    typedef map0            type;\r
+    typedef aux::map_tag    tag;\r
+    typedef void_           key_;\r
+    typedef long_<1>        order;\r
+    typedef long_<0>        size;\r
+\r
+#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)\r
+    BOOST_MPL_AUX_MAP0_OVERLOAD( aux::type_wrapper<void_>, VALUE_BY_KEY, map0<>, void const volatile* );\r
+    BOOST_MPL_AUX_MAP0_OVERLOAD( aux::type_wrapper<void_>, ITEM_BY_ORDER, map0<>, long_<1>* );\r
+    BOOST_MPL_AUX_MAP0_OVERLOAD( aux::no_tag, ORDER_BY_KEY, map0<>, void const volatile* );\r
+#else\r
+    BOOST_MPL_AUX_MAP0_OVERLOAD( aux::no_tag, ORDER_BY_KEY, map0<>, void const volatile* );\r
+    BOOST_MPL_AUX_MAP0_OVERLOAD( aux::no_tag, IS_MASKED, map0<>, void const volatile* );\r
+#endif\r
+};\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_MAP_AUX_MAP0_HPP_INCLUDED\r
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 (file)
index 0000000..8a2b0cd
--- /dev/null
@@ -0,0 +1,110 @@
+\r
+// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION\r
+\r
+#if !defined(BOOST_PP_IS_ITERATING)\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: numbered.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#else\r
+\r
+#include <boost/mpl/aux_/config/typeof.hpp>\r
+#include <boost/mpl/aux_/config/ctps.hpp>\r
+#include <boost/preprocessor/enum_params.hpp>\r
+#include <boost/preprocessor/dec.hpp>\r
+#include <boost/preprocessor/cat.hpp>\r
+\r
+#define i_ BOOST_PP_FRAME_ITERATION(1)\r
+\r
+#   define AUX778076_MAP_TAIL(map, i_, P) \\r
+    BOOST_PP_CAT(map,i_)< \\r
+          BOOST_PP_ENUM_PARAMS(i_, P) \\r
+        > \\r
+    /**/\r
+\r
+\r
+#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)\r
+\r
+template<\r
+      BOOST_PP_ENUM_PARAMS(i_, typename P)\r
+    >\r
+struct BOOST_PP_CAT(map,i_)\r
+    : m_item<\r
+          typename BOOST_PP_CAT(P,BOOST_PP_DEC(i_))::first\r
+        , typename BOOST_PP_CAT(P,BOOST_PP_DEC(i_))::second\r
+        , AUX778076_MAP_TAIL(map,BOOST_PP_DEC(i_),P)\r
+        >\r
+{\r
+    typedef BOOST_PP_CAT(map,i_) type;\r
+};\r
+\r
+#else // "brute force" implementation\r
+\r
+#   if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)\r
+\r
+template< typename Map>\r
+struct m_at<Map,BOOST_PP_DEC(i_)>\r
+{\r
+    typedef typename Map::BOOST_PP_CAT(item,BOOST_PP_DEC(i_)) type;\r
+};\r
+\r
+template< typename Key, typename T, typename Base >\r
+struct m_item<i_,Key,T,Base>\r
+    : m_item_<Key,T,Base>\r
+{\r
+    typedef pair<Key,T> BOOST_PP_CAT(item,BOOST_PP_DEC(i_));\r
+};\r
+\r
+#   else\r
+\r
+template<>\r
+struct m_at_impl<BOOST_PP_DEC(i_)>\r
+{\r
+    template< typename Map > struct result_\r
+    {\r
+        typedef typename Map::BOOST_PP_CAT(item,BOOST_PP_DEC(i_)) type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct m_item_impl<i_>\r
+{\r
+    template< typename Key, typename T, typename Base > struct result_\r
+        : m_item_<Key,T,Base>\r
+    {\r
+        typedef pair<Key,T> BOOST_PP_CAT(item,BOOST_PP_DEC(i_));\r
+    };\r
+};\r
+\r
+#   endif\r
+\r
+template<\r
+      BOOST_PP_ENUM_PARAMS(i_, typename P)\r
+    >\r
+struct BOOST_PP_CAT(map,i_)\r
+    : m_item<\r
+          i_\r
+        , typename BOOST_PP_CAT(P,BOOST_PP_DEC(i_))::first\r
+        , typename BOOST_PP_CAT(P,BOOST_PP_DEC(i_))::second\r
+        , AUX778076_MAP_TAIL(map,BOOST_PP_DEC(i_),P)\r
+        >\r
+{\r
+    typedef BOOST_PP_CAT(map,i_) type;\r
+};\r
+\r
+#endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES\r
+\r
+#   undef AUX778076_MAP_TAIL\r
+\r
+#undef i_\r
+\r
+#endif // BOOST_PP_IS_ITERATING\r
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 (file)
index 0000000..7a1e078
--- /dev/null
@@ -0,0 +1,350 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright David Abrahams 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/map/map10.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct m_at_impl<0>\r
+{\r
+    template< typename Map > struct result_\r
+    {\r
+        typedef typename Map::item0 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct m_item_impl<1>\r
+{\r
+    template< typename Key, typename T, typename Base > struct result_\r
+        : m_item_< Key,T,Base >\r
+    {\r
+        typedef pair< Key,T > item0;\r
+    };\r
+};\r
+\r
+template<\r
+      typename P0\r
+    >\r
+struct map1\r
+    : m_item<\r
+          1\r
+        , typename P0::first\r
+        , typename P0::second\r
+        , map0<  >\r
+        >\r
+{\r
+    typedef map1 type;\r
+};\r
+\r
+template<>\r
+struct m_at_impl<1>\r
+{\r
+    template< typename Map > struct result_\r
+    {\r
+        typedef typename Map::item1 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct m_item_impl<2>\r
+{\r
+    template< typename Key, typename T, typename Base > struct result_\r
+        : m_item_< Key,T,Base >\r
+    {\r
+        typedef pair< Key,T > item1;\r
+    };\r
+};\r
+\r
+template<\r
+      typename P0, typename P1\r
+    >\r
+struct map2\r
+    : m_item<\r
+          2\r
+        , typename P1::first\r
+        , typename P1::second\r
+        , map1<P0>\r
+        >\r
+{\r
+    typedef map2 type;\r
+};\r
+\r
+template<>\r
+struct m_at_impl<2>\r
+{\r
+    template< typename Map > struct result_\r
+    {\r
+        typedef typename Map::item2 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct m_item_impl<3>\r
+{\r
+    template< typename Key, typename T, typename Base > struct result_\r
+        : m_item_< Key,T,Base >\r
+    {\r
+        typedef pair< Key,T > item2;\r
+    };\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2\r
+    >\r
+struct map3\r
+    : m_item<\r
+          3\r
+        , typename P2::first\r
+        , typename P2::second\r
+        , map2< P0,P1 >\r
+        >\r
+{\r
+    typedef map3 type;\r
+};\r
+\r
+template<>\r
+struct m_at_impl<3>\r
+{\r
+    template< typename Map > struct result_\r
+    {\r
+        typedef typename Map::item3 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct m_item_impl<4>\r
+{\r
+    template< typename Key, typename T, typename Base > struct result_\r
+        : m_item_< Key,T,Base >\r
+    {\r
+        typedef pair< Key,T > item3;\r
+    };\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3\r
+    >\r
+struct map4\r
+    : m_item<\r
+          4\r
+        , typename P3::first\r
+        , typename P3::second\r
+        , map3< P0,P1,P2 >\r
+        >\r
+{\r
+    typedef map4 type;\r
+};\r
+\r
+template<>\r
+struct m_at_impl<4>\r
+{\r
+    template< typename Map > struct result_\r
+    {\r
+        typedef typename Map::item4 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct m_item_impl<5>\r
+{\r
+    template< typename Key, typename T, typename Base > struct result_\r
+        : m_item_< Key,T,Base >\r
+    {\r
+        typedef pair< Key,T > item4;\r
+    };\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    >\r
+struct map5\r
+    : m_item<\r
+          5\r
+        , typename P4::first\r
+        , typename P4::second\r
+        , map4< P0,P1,P2,P3 >\r
+        >\r
+{\r
+    typedef map5 type;\r
+};\r
+\r
+template<>\r
+struct m_at_impl<5>\r
+{\r
+    template< typename Map > struct result_\r
+    {\r
+        typedef typename Map::item5 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct m_item_impl<6>\r
+{\r
+    template< typename Key, typename T, typename Base > struct result_\r
+        : m_item_< Key,T,Base >\r
+    {\r
+        typedef pair< Key,T > item5;\r
+    };\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5\r
+    >\r
+struct map6\r
+    : m_item<\r
+          6\r
+        , typename P5::first\r
+        , typename P5::second\r
+        , map5< P0,P1,P2,P3,P4 >\r
+        >\r
+{\r
+    typedef map6 type;\r
+};\r
+\r
+template<>\r
+struct m_at_impl<6>\r
+{\r
+    template< typename Map > struct result_\r
+    {\r
+        typedef typename Map::item6 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct m_item_impl<7>\r
+{\r
+    template< typename Key, typename T, typename Base > struct result_\r
+        : m_item_< Key,T,Base >\r
+    {\r
+        typedef pair< Key,T > item6;\r
+    };\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6\r
+    >\r
+struct map7\r
+    : m_item<\r
+          7\r
+        , typename P6::first\r
+        , typename P6::second\r
+        , map6< P0,P1,P2,P3,P4,P5 >\r
+        >\r
+{\r
+    typedef map7 type;\r
+};\r
+\r
+template<>\r
+struct m_at_impl<7>\r
+{\r
+    template< typename Map > struct result_\r
+    {\r
+        typedef typename Map::item7 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct m_item_impl<8>\r
+{\r
+    template< typename Key, typename T, typename Base > struct result_\r
+        : m_item_< Key,T,Base >\r
+    {\r
+        typedef pair< Key,T > item7;\r
+    };\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7\r
+    >\r
+struct map8\r
+    : m_item<\r
+          8\r
+        , typename P7::first\r
+        , typename P7::second\r
+        , map7< P0,P1,P2,P3,P4,P5,P6 >\r
+        >\r
+{\r
+    typedef map8 type;\r
+};\r
+\r
+template<>\r
+struct m_at_impl<8>\r
+{\r
+    template< typename Map > struct result_\r
+    {\r
+        typedef typename Map::item8 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct m_item_impl<9>\r
+{\r
+    template< typename Key, typename T, typename Base > struct result_\r
+        : m_item_< Key,T,Base >\r
+    {\r
+        typedef pair< Key,T > item8;\r
+    };\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8\r
+    >\r
+struct map9\r
+    : m_item<\r
+          9\r
+        , typename P8::first\r
+        , typename P8::second\r
+        , map8< P0,P1,P2,P3,P4,P5,P6,P7 >\r
+        >\r
+{\r
+    typedef map9 type;\r
+};\r
+\r
+template<>\r
+struct m_at_impl<9>\r
+{\r
+    template< typename Map > struct result_\r
+    {\r
+        typedef typename Map::item9 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct m_item_impl<10>\r
+{\r
+    template< typename Key, typename T, typename Base > struct result_\r
+        : m_item_< Key,T,Base >\r
+    {\r
+        typedef pair< Key,T > item9;\r
+    };\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    >\r
+struct map10\r
+    : m_item<\r
+          10\r
+        , typename P9::first\r
+        , typename P9::second\r
+        , map9< P0,P1,P2,P3,P4,P5,P6,P7,P8 >\r
+        >\r
+{\r
+    typedef map10 type;\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..0aad604
--- /dev/null
@@ -0,0 +1,370 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright David Abrahams 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/map/map20.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct m_at_impl<10>\r
+{\r
+    template< typename Map > struct result_\r
+    {\r
+        typedef typename Map::item10 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct m_item_impl<11>\r
+{\r
+    template< typename Key, typename T, typename Base > struct result_\r
+        : m_item_< Key,T,Base >\r
+    {\r
+        typedef pair< Key,T > item10;\r
+    };\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10\r
+    >\r
+struct map11\r
+    : m_item<\r
+          11\r
+        , typename P10::first\r
+        , typename P10::second\r
+        , map10< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9 >\r
+        >\r
+{\r
+    typedef map11 type;\r
+};\r
+\r
+template<>\r
+struct m_at_impl<11>\r
+{\r
+    template< typename Map > struct result_\r
+    {\r
+        typedef typename Map::item11 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct m_item_impl<12>\r
+{\r
+    template< typename Key, typename T, typename Base > struct result_\r
+        : m_item_< Key,T,Base >\r
+    {\r
+        typedef pair< Key,T > item11;\r
+    };\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11\r
+    >\r
+struct map12\r
+    : m_item<\r
+          12\r
+        , typename P11::first\r
+        , typename P11::second\r
+        , map11< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10 >\r
+        >\r
+{\r
+    typedef map12 type;\r
+};\r
+\r
+template<>\r
+struct m_at_impl<12>\r
+{\r
+    template< typename Map > struct result_\r
+    {\r
+        typedef typename Map::item12 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct m_item_impl<13>\r
+{\r
+    template< typename Key, typename T, typename Base > struct result_\r
+        : m_item_< Key,T,Base >\r
+    {\r
+        typedef pair< Key,T > item12;\r
+    };\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12\r
+    >\r
+struct map13\r
+    : m_item<\r
+          13\r
+        , typename P12::first\r
+        , typename P12::second\r
+        , map12< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11 >\r
+        >\r
+{\r
+    typedef map13 type;\r
+};\r
+\r
+template<>\r
+struct m_at_impl<13>\r
+{\r
+    template< typename Map > struct result_\r
+    {\r
+        typedef typename Map::item13 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct m_item_impl<14>\r
+{\r
+    template< typename Key, typename T, typename Base > struct result_\r
+        : m_item_< Key,T,Base >\r
+    {\r
+        typedef pair< Key,T > item13;\r
+    };\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13\r
+    >\r
+struct map14\r
+    : m_item<\r
+          14\r
+        , typename P13::first\r
+        , typename P13::second\r
+        , map13< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12 >\r
+        >\r
+{\r
+    typedef map14 type;\r
+};\r
+\r
+template<>\r
+struct m_at_impl<14>\r
+{\r
+    template< typename Map > struct result_\r
+    {\r
+        typedef typename Map::item14 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct m_item_impl<15>\r
+{\r
+    template< typename Key, typename T, typename Base > struct result_\r
+        : m_item_< Key,T,Base >\r
+    {\r
+        typedef pair< Key,T > item14;\r
+    };\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    >\r
+struct map15\r
+    : m_item<\r
+          15\r
+        , typename P14::first\r
+        , typename P14::second\r
+        , map14< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13 >\r
+        >\r
+{\r
+    typedef map15 type;\r
+};\r
+\r
+template<>\r
+struct m_at_impl<15>\r
+{\r
+    template< typename Map > struct result_\r
+    {\r
+        typedef typename Map::item15 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct m_item_impl<16>\r
+{\r
+    template< typename Key, typename T, typename Base > struct result_\r
+        : m_item_< Key,T,Base >\r
+    {\r
+        typedef pair< Key,T > item15;\r
+    };\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15\r
+    >\r
+struct map16\r
+    : m_item<\r
+          16\r
+        , typename P15::first\r
+        , typename P15::second\r
+        , map15< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14 >\r
+        >\r
+{\r
+    typedef map16 type;\r
+};\r
+\r
+template<>\r
+struct m_at_impl<16>\r
+{\r
+    template< typename Map > struct result_\r
+    {\r
+        typedef typename Map::item16 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct m_item_impl<17>\r
+{\r
+    template< typename Key, typename T, typename Base > struct result_\r
+        : m_item_< Key,T,Base >\r
+    {\r
+        typedef pair< Key,T > item16;\r
+    };\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16\r
+    >\r
+struct map17\r
+    : m_item<\r
+          17\r
+        , typename P16::first\r
+        , typename P16::second\r
+        , map16< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15 >\r
+        >\r
+{\r
+    typedef map17 type;\r
+};\r
+\r
+template<>\r
+struct m_at_impl<17>\r
+{\r
+    template< typename Map > struct result_\r
+    {\r
+        typedef typename Map::item17 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct m_item_impl<18>\r
+{\r
+    template< typename Key, typename T, typename Base > struct result_\r
+        : m_item_< Key,T,Base >\r
+    {\r
+        typedef pair< Key,T > item17;\r
+    };\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17\r
+    >\r
+struct map18\r
+    : m_item<\r
+          18\r
+        , typename P17::first\r
+        , typename P17::second\r
+        , map17< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16 >\r
+        >\r
+{\r
+    typedef map18 type;\r
+};\r
+\r
+template<>\r
+struct m_at_impl<18>\r
+{\r
+    template< typename Map > struct result_\r
+    {\r
+        typedef typename Map::item18 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct m_item_impl<19>\r
+{\r
+    template< typename Key, typename T, typename Base > struct result_\r
+        : m_item_< Key,T,Base >\r
+    {\r
+        typedef pair< Key,T > item18;\r
+    };\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18\r
+    >\r
+struct map19\r
+    : m_item<\r
+          19\r
+        , typename P18::first\r
+        , typename P18::second\r
+        , map18< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17 >\r
+        >\r
+{\r
+    typedef map19 type;\r
+};\r
+\r
+template<>\r
+struct m_at_impl<19>\r
+{\r
+    template< typename Map > struct result_\r
+    {\r
+        typedef typename Map::item19 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct m_item_impl<20>\r
+{\r
+    template< typename Key, typename T, typename Base > struct result_\r
+        : m_item_< Key,T,Base >\r
+    {\r
+        typedef pair< Key,T > item19;\r
+    };\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    >\r
+struct map20\r
+    : m_item<\r
+          20\r
+        , typename P19::first\r
+        , typename P19::second\r
+        , map19< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18 >\r
+        >\r
+{\r
+    typedef map20 type;\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..c4d8c9a
--- /dev/null
@@ -0,0 +1,390 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright David Abrahams 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/map/map30.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct m_at_impl<20>\r
+{\r
+    template< typename Map > struct result_\r
+    {\r
+        typedef typename Map::item20 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct m_item_impl<21>\r
+{\r
+    template< typename Key, typename T, typename Base > struct result_\r
+        : m_item_< Key,T,Base >\r
+    {\r
+        typedef pair< Key,T > item20;\r
+    };\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20\r
+    >\r
+struct map21\r
+    : m_item<\r
+          21\r
+        , typename P20::first\r
+        , typename P20::second\r
+        , map20< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19 >\r
+        >\r
+{\r
+    typedef map21 type;\r
+};\r
+\r
+template<>\r
+struct m_at_impl<21>\r
+{\r
+    template< typename Map > struct result_\r
+    {\r
+        typedef typename Map::item21 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct m_item_impl<22>\r
+{\r
+    template< typename Key, typename T, typename Base > struct result_\r
+        : m_item_< Key,T,Base >\r
+    {\r
+        typedef pair< Key,T > item21;\r
+    };\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20, typename P21\r
+    >\r
+struct map22\r
+    : m_item<\r
+          22\r
+        , typename P21::first\r
+        , typename P21::second\r
+        , map21< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20 >\r
+        >\r
+{\r
+    typedef map22 type;\r
+};\r
+\r
+template<>\r
+struct m_at_impl<22>\r
+{\r
+    template< typename Map > struct result_\r
+    {\r
+        typedef typename Map::item22 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct m_item_impl<23>\r
+{\r
+    template< typename Key, typename T, typename Base > struct result_\r
+        : m_item_< Key,T,Base >\r
+    {\r
+        typedef pair< Key,T > item22;\r
+    };\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20, typename P21, typename P22\r
+    >\r
+struct map23\r
+    : m_item<\r
+          23\r
+        , typename P22::first\r
+        , typename P22::second\r
+        , map22< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21 >\r
+        >\r
+{\r
+    typedef map23 type;\r
+};\r
+\r
+template<>\r
+struct m_at_impl<23>\r
+{\r
+    template< typename Map > struct result_\r
+    {\r
+        typedef typename Map::item23 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct m_item_impl<24>\r
+{\r
+    template< typename Key, typename T, typename Base > struct result_\r
+        : m_item_< Key,T,Base >\r
+    {\r
+        typedef pair< Key,T > item23;\r
+    };\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20, typename P21, typename P22, typename P23\r
+    >\r
+struct map24\r
+    : m_item<\r
+          24\r
+        , typename P23::first\r
+        , typename P23::second\r
+        , map23< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22 >\r
+        >\r
+{\r
+    typedef map24 type;\r
+};\r
+\r
+template<>\r
+struct m_at_impl<24>\r
+{\r
+    template< typename Map > struct result_\r
+    {\r
+        typedef typename Map::item24 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct m_item_impl<25>\r
+{\r
+    template< typename Key, typename T, typename Base > struct result_\r
+        : m_item_< Key,T,Base >\r
+    {\r
+        typedef pair< Key,T > item24;\r
+    };\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20, typename P21, typename P22, typename P23, typename P24\r
+    >\r
+struct map25\r
+    : m_item<\r
+          25\r
+        , typename P24::first\r
+        , typename P24::second\r
+        , 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 >\r
+        >\r
+{\r
+    typedef map25 type;\r
+};\r
+\r
+template<>\r
+struct m_at_impl<25>\r
+{\r
+    template< typename Map > struct result_\r
+    {\r
+        typedef typename Map::item25 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct m_item_impl<26>\r
+{\r
+    template< typename Key, typename T, typename Base > struct result_\r
+        : m_item_< Key,T,Base >\r
+    {\r
+        typedef pair< Key,T > item25;\r
+    };\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20, typename P21, typename P22, typename P23, typename P24\r
+    , typename P25\r
+    >\r
+struct map26\r
+    : m_item<\r
+          26\r
+        , typename P25::first\r
+        , typename P25::second\r
+        , 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 >\r
+        >\r
+{\r
+    typedef map26 type;\r
+};\r
+\r
+template<>\r
+struct m_at_impl<26>\r
+{\r
+    template< typename Map > struct result_\r
+    {\r
+        typedef typename Map::item26 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct m_item_impl<27>\r
+{\r
+    template< typename Key, typename T, typename Base > struct result_\r
+        : m_item_< Key,T,Base >\r
+    {\r
+        typedef pair< Key,T > item26;\r
+    };\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20, typename P21, typename P22, typename P23, typename P24\r
+    , typename P25, typename P26\r
+    >\r
+struct map27\r
+    : m_item<\r
+          27\r
+        , typename P26::first\r
+        , typename P26::second\r
+        , 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 >\r
+        >\r
+{\r
+    typedef map27 type;\r
+};\r
+\r
+template<>\r
+struct m_at_impl<27>\r
+{\r
+    template< typename Map > struct result_\r
+    {\r
+        typedef typename Map::item27 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct m_item_impl<28>\r
+{\r
+    template< typename Key, typename T, typename Base > struct result_\r
+        : m_item_< Key,T,Base >\r
+    {\r
+        typedef pair< Key,T > item27;\r
+    };\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20, typename P21, typename P22, typename P23, typename P24\r
+    , typename P25, typename P26, typename P27\r
+    >\r
+struct map28\r
+    : m_item<\r
+          28\r
+        , typename P27::first\r
+        , typename P27::second\r
+        , 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 >\r
+        >\r
+{\r
+    typedef map28 type;\r
+};\r
+\r
+template<>\r
+struct m_at_impl<28>\r
+{\r
+    template< typename Map > struct result_\r
+    {\r
+        typedef typename Map::item28 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct m_item_impl<29>\r
+{\r
+    template< typename Key, typename T, typename Base > struct result_\r
+        : m_item_< Key,T,Base >\r
+    {\r
+        typedef pair< Key,T > item28;\r
+    };\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20, typename P21, typename P22, typename P23, typename P24\r
+    , typename P25, typename P26, typename P27, typename P28\r
+    >\r
+struct map29\r
+    : m_item<\r
+          29\r
+        , typename P28::first\r
+        , typename P28::second\r
+        , 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 >\r
+        >\r
+{\r
+    typedef map29 type;\r
+};\r
+\r
+template<>\r
+struct m_at_impl<29>\r
+{\r
+    template< typename Map > struct result_\r
+    {\r
+        typedef typename Map::item29 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct m_item_impl<30>\r
+{\r
+    template< typename Key, typename T, typename Base > struct result_\r
+        : m_item_< Key,T,Base >\r
+    {\r
+        typedef pair< Key,T > item29;\r
+    };\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20, typename P21, typename P22, typename P23, typename P24\r
+    , typename P25, typename P26, typename P27, typename P28, typename P29\r
+    >\r
+struct map30\r
+    : m_item<\r
+          30\r
+        , typename P29::first\r
+        , typename P29::second\r
+        , 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 >\r
+        >\r
+{\r
+    typedef map30 type;\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..2f06a29
--- /dev/null
@@ -0,0 +1,410 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright David Abrahams 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/map/map40.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct m_at_impl<30>\r
+{\r
+    template< typename Map > struct result_\r
+    {\r
+        typedef typename Map::item30 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct m_item_impl<31>\r
+{\r
+    template< typename Key, typename T, typename Base > struct result_\r
+        : m_item_< Key,T,Base >\r
+    {\r
+        typedef pair< Key,T > item30;\r
+    };\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20, typename P21, typename P22, typename P23, typename P24\r
+    , typename P25, typename P26, typename P27, typename P28, typename P29\r
+    , typename P30\r
+    >\r
+struct map31\r
+    : m_item<\r
+          31\r
+        , typename P30::first\r
+        , typename P30::second\r
+        , 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 >\r
+        >\r
+{\r
+    typedef map31 type;\r
+};\r
+\r
+template<>\r
+struct m_at_impl<31>\r
+{\r
+    template< typename Map > struct result_\r
+    {\r
+        typedef typename Map::item31 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct m_item_impl<32>\r
+{\r
+    template< typename Key, typename T, typename Base > struct result_\r
+        : m_item_< Key,T,Base >\r
+    {\r
+        typedef pair< Key,T > item31;\r
+    };\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20, typename P21, typename P22, typename P23, typename P24\r
+    , typename P25, typename P26, typename P27, typename P28, typename P29\r
+    , typename P30, typename P31\r
+    >\r
+struct map32\r
+    : m_item<\r
+          32\r
+        , typename P31::first\r
+        , typename P31::second\r
+        , 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 >\r
+        >\r
+{\r
+    typedef map32 type;\r
+};\r
+\r
+template<>\r
+struct m_at_impl<32>\r
+{\r
+    template< typename Map > struct result_\r
+    {\r
+        typedef typename Map::item32 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct m_item_impl<33>\r
+{\r
+    template< typename Key, typename T, typename Base > struct result_\r
+        : m_item_< Key,T,Base >\r
+    {\r
+        typedef pair< Key,T > item32;\r
+    };\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20, typename P21, typename P22, typename P23, typename P24\r
+    , typename P25, typename P26, typename P27, typename P28, typename P29\r
+    , typename P30, typename P31, typename P32\r
+    >\r
+struct map33\r
+    : m_item<\r
+          33\r
+        , typename P32::first\r
+        , typename P32::second\r
+        , 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 >\r
+        >\r
+{\r
+    typedef map33 type;\r
+};\r
+\r
+template<>\r
+struct m_at_impl<33>\r
+{\r
+    template< typename Map > struct result_\r
+    {\r
+        typedef typename Map::item33 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct m_item_impl<34>\r
+{\r
+    template< typename Key, typename T, typename Base > struct result_\r
+        : m_item_< Key,T,Base >\r
+    {\r
+        typedef pair< Key,T > item33;\r
+    };\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20, typename P21, typename P22, typename P23, typename P24\r
+    , typename P25, typename P26, typename P27, typename P28, typename P29\r
+    , typename P30, typename P31, typename P32, typename P33\r
+    >\r
+struct map34\r
+    : m_item<\r
+          34\r
+        , typename P33::first\r
+        , typename P33::second\r
+        , 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 >\r
+        >\r
+{\r
+    typedef map34 type;\r
+};\r
+\r
+template<>\r
+struct m_at_impl<34>\r
+{\r
+    template< typename Map > struct result_\r
+    {\r
+        typedef typename Map::item34 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct m_item_impl<35>\r
+{\r
+    template< typename Key, typename T, typename Base > struct result_\r
+        : m_item_< Key,T,Base >\r
+    {\r
+        typedef pair< Key,T > item34;\r
+    };\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20, typename P21, typename P22, typename P23, typename P24\r
+    , typename P25, typename P26, typename P27, typename P28, typename P29\r
+    , typename P30, typename P31, typename P32, typename P33, typename P34\r
+    >\r
+struct map35\r
+    : m_item<\r
+          35\r
+        , typename P34::first\r
+        , typename P34::second\r
+        , 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 >\r
+        >\r
+{\r
+    typedef map35 type;\r
+};\r
+\r
+template<>\r
+struct m_at_impl<35>\r
+{\r
+    template< typename Map > struct result_\r
+    {\r
+        typedef typename Map::item35 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct m_item_impl<36>\r
+{\r
+    template< typename Key, typename T, typename Base > struct result_\r
+        : m_item_< Key,T,Base >\r
+    {\r
+        typedef pair< Key,T > item35;\r
+    };\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20, typename P21, typename P22, typename P23, typename P24\r
+    , typename P25, typename P26, typename P27, typename P28, typename P29\r
+    , typename P30, typename P31, typename P32, typename P33, typename P34\r
+    , typename P35\r
+    >\r
+struct map36\r
+    : m_item<\r
+          36\r
+        , typename P35::first\r
+        , typename P35::second\r
+        , 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 >\r
+        >\r
+{\r
+    typedef map36 type;\r
+};\r
+\r
+template<>\r
+struct m_at_impl<36>\r
+{\r
+    template< typename Map > struct result_\r
+    {\r
+        typedef typename Map::item36 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct m_item_impl<37>\r
+{\r
+    template< typename Key, typename T, typename Base > struct result_\r
+        : m_item_< Key,T,Base >\r
+    {\r
+        typedef pair< Key,T > item36;\r
+    };\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20, typename P21, typename P22, typename P23, typename P24\r
+    , typename P25, typename P26, typename P27, typename P28, typename P29\r
+    , typename P30, typename P31, typename P32, typename P33, typename P34\r
+    , typename P35, typename P36\r
+    >\r
+struct map37\r
+    : m_item<\r
+          37\r
+        , typename P36::first\r
+        , typename P36::second\r
+        , 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 >\r
+        >\r
+{\r
+    typedef map37 type;\r
+};\r
+\r
+template<>\r
+struct m_at_impl<37>\r
+{\r
+    template< typename Map > struct result_\r
+    {\r
+        typedef typename Map::item37 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct m_item_impl<38>\r
+{\r
+    template< typename Key, typename T, typename Base > struct result_\r
+        : m_item_< Key,T,Base >\r
+    {\r
+        typedef pair< Key,T > item37;\r
+    };\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20, typename P21, typename P22, typename P23, typename P24\r
+    , typename P25, typename P26, typename P27, typename P28, typename P29\r
+    , typename P30, typename P31, typename P32, typename P33, typename P34\r
+    , typename P35, typename P36, typename P37\r
+    >\r
+struct map38\r
+    : m_item<\r
+          38\r
+        , typename P37::first\r
+        , typename P37::second\r
+        , 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 >\r
+        >\r
+{\r
+    typedef map38 type;\r
+};\r
+\r
+template<>\r
+struct m_at_impl<38>\r
+{\r
+    template< typename Map > struct result_\r
+    {\r
+        typedef typename Map::item38 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct m_item_impl<39>\r
+{\r
+    template< typename Key, typename T, typename Base > struct result_\r
+        : m_item_< Key,T,Base >\r
+    {\r
+        typedef pair< Key,T > item38;\r
+    };\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20, typename P21, typename P22, typename P23, typename P24\r
+    , typename P25, typename P26, typename P27, typename P28, typename P29\r
+    , typename P30, typename P31, typename P32, typename P33, typename P34\r
+    , typename P35, typename P36, typename P37, typename P38\r
+    >\r
+struct map39\r
+    : m_item<\r
+          39\r
+        , typename P38::first\r
+        , typename P38::second\r
+        , 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 >\r
+        >\r
+{\r
+    typedef map39 type;\r
+};\r
+\r
+template<>\r
+struct m_at_impl<39>\r
+{\r
+    template< typename Map > struct result_\r
+    {\r
+        typedef typename Map::item39 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct m_item_impl<40>\r
+{\r
+    template< typename Key, typename T, typename Base > struct result_\r
+        : m_item_< Key,T,Base >\r
+    {\r
+        typedef pair< Key,T > item39;\r
+    };\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20, typename P21, typename P22, typename P23, typename P24\r
+    , typename P25, typename P26, typename P27, typename P28, typename P29\r
+    , typename P30, typename P31, typename P32, typename P33, typename P34\r
+    , typename P35, typename P36, typename P37, typename P38, typename P39\r
+    >\r
+struct map40\r
+    : m_item<\r
+          40\r
+        , typename P39::first\r
+        , typename P39::second\r
+        , 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 >\r
+        >\r
+{\r
+    typedef map40 type;\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..ae5973e
--- /dev/null
@@ -0,0 +1,430 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright David Abrahams 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/map/map50.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct m_at_impl<40>\r
+{\r
+    template< typename Map > struct result_\r
+    {\r
+        typedef typename Map::item40 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct m_item_impl<41>\r
+{\r
+    template< typename Key, typename T, typename Base > struct result_\r
+        : m_item_< Key,T,Base >\r
+    {\r
+        typedef pair< Key,T > item40;\r
+    };\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20, typename P21, typename P22, typename P23, typename P24\r
+    , typename P25, typename P26, typename P27, typename P28, typename P29\r
+    , typename P30, typename P31, typename P32, typename P33, typename P34\r
+    , typename P35, typename P36, typename P37, typename P38, typename P39\r
+    , typename P40\r
+    >\r
+struct map41\r
+    : m_item<\r
+          41\r
+        , typename P40::first\r
+        , typename P40::second\r
+        , 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 >\r
+        >\r
+{\r
+    typedef map41 type;\r
+};\r
+\r
+template<>\r
+struct m_at_impl<41>\r
+{\r
+    template< typename Map > struct result_\r
+    {\r
+        typedef typename Map::item41 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct m_item_impl<42>\r
+{\r
+    template< typename Key, typename T, typename Base > struct result_\r
+        : m_item_< Key,T,Base >\r
+    {\r
+        typedef pair< Key,T > item41;\r
+    };\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20, typename P21, typename P22, typename P23, typename P24\r
+    , typename P25, typename P26, typename P27, typename P28, typename P29\r
+    , typename P30, typename P31, typename P32, typename P33, typename P34\r
+    , typename P35, typename P36, typename P37, typename P38, typename P39\r
+    , typename P40, typename P41\r
+    >\r
+struct map42\r
+    : m_item<\r
+          42\r
+        , typename P41::first\r
+        , typename P41::second\r
+        , 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 >\r
+        >\r
+{\r
+    typedef map42 type;\r
+};\r
+\r
+template<>\r
+struct m_at_impl<42>\r
+{\r
+    template< typename Map > struct result_\r
+    {\r
+        typedef typename Map::item42 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct m_item_impl<43>\r
+{\r
+    template< typename Key, typename T, typename Base > struct result_\r
+        : m_item_< Key,T,Base >\r
+    {\r
+        typedef pair< Key,T > item42;\r
+    };\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20, typename P21, typename P22, typename P23, typename P24\r
+    , typename P25, typename P26, typename P27, typename P28, typename P29\r
+    , typename P30, typename P31, typename P32, typename P33, typename P34\r
+    , typename P35, typename P36, typename P37, typename P38, typename P39\r
+    , typename P40, typename P41, typename P42\r
+    >\r
+struct map43\r
+    : m_item<\r
+          43\r
+        , typename P42::first\r
+        , typename P42::second\r
+        , 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 >\r
+        >\r
+{\r
+    typedef map43 type;\r
+};\r
+\r
+template<>\r
+struct m_at_impl<43>\r
+{\r
+    template< typename Map > struct result_\r
+    {\r
+        typedef typename Map::item43 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct m_item_impl<44>\r
+{\r
+    template< typename Key, typename T, typename Base > struct result_\r
+        : m_item_< Key,T,Base >\r
+    {\r
+        typedef pair< Key,T > item43;\r
+    };\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20, typename P21, typename P22, typename P23, typename P24\r
+    , typename P25, typename P26, typename P27, typename P28, typename P29\r
+    , typename P30, typename P31, typename P32, typename P33, typename P34\r
+    , typename P35, typename P36, typename P37, typename P38, typename P39\r
+    , typename P40, typename P41, typename P42, typename P43\r
+    >\r
+struct map44\r
+    : m_item<\r
+          44\r
+        , typename P43::first\r
+        , typename P43::second\r
+        , 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 >\r
+        >\r
+{\r
+    typedef map44 type;\r
+};\r
+\r
+template<>\r
+struct m_at_impl<44>\r
+{\r
+    template< typename Map > struct result_\r
+    {\r
+        typedef typename Map::item44 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct m_item_impl<45>\r
+{\r
+    template< typename Key, typename T, typename Base > struct result_\r
+        : m_item_< Key,T,Base >\r
+    {\r
+        typedef pair< Key,T > item44;\r
+    };\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20, typename P21, typename P22, typename P23, typename P24\r
+    , typename P25, typename P26, typename P27, typename P28, typename P29\r
+    , typename P30, typename P31, typename P32, typename P33, typename P34\r
+    , typename P35, typename P36, typename P37, typename P38, typename P39\r
+    , typename P40, typename P41, typename P42, typename P43, typename P44\r
+    >\r
+struct map45\r
+    : m_item<\r
+          45\r
+        , typename P44::first\r
+        , typename P44::second\r
+        , 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 >\r
+        >\r
+{\r
+    typedef map45 type;\r
+};\r
+\r
+template<>\r
+struct m_at_impl<45>\r
+{\r
+    template< typename Map > struct result_\r
+    {\r
+        typedef typename Map::item45 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct m_item_impl<46>\r
+{\r
+    template< typename Key, typename T, typename Base > struct result_\r
+        : m_item_< Key,T,Base >\r
+    {\r
+        typedef pair< Key,T > item45;\r
+    };\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20, typename P21, typename P22, typename P23, typename P24\r
+    , typename P25, typename P26, typename P27, typename P28, typename P29\r
+    , typename P30, typename P31, typename P32, typename P33, typename P34\r
+    , typename P35, typename P36, typename P37, typename P38, typename P39\r
+    , typename P40, typename P41, typename P42, typename P43, typename P44\r
+    , typename P45\r
+    >\r
+struct map46\r
+    : m_item<\r
+          46\r
+        , typename P45::first\r
+        , typename P45::second\r
+        , 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 >\r
+        >\r
+{\r
+    typedef map46 type;\r
+};\r
+\r
+template<>\r
+struct m_at_impl<46>\r
+{\r
+    template< typename Map > struct result_\r
+    {\r
+        typedef typename Map::item46 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct m_item_impl<47>\r
+{\r
+    template< typename Key, typename T, typename Base > struct result_\r
+        : m_item_< Key,T,Base >\r
+    {\r
+        typedef pair< Key,T > item46;\r
+    };\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20, typename P21, typename P22, typename P23, typename P24\r
+    , typename P25, typename P26, typename P27, typename P28, typename P29\r
+    , typename P30, typename P31, typename P32, typename P33, typename P34\r
+    , typename P35, typename P36, typename P37, typename P38, typename P39\r
+    , typename P40, typename P41, typename P42, typename P43, typename P44\r
+    , typename P45, typename P46\r
+    >\r
+struct map47\r
+    : m_item<\r
+          47\r
+        , typename P46::first\r
+        , typename P46::second\r
+        , 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 >\r
+        >\r
+{\r
+    typedef map47 type;\r
+};\r
+\r
+template<>\r
+struct m_at_impl<47>\r
+{\r
+    template< typename Map > struct result_\r
+    {\r
+        typedef typename Map::item47 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct m_item_impl<48>\r
+{\r
+    template< typename Key, typename T, typename Base > struct result_\r
+        : m_item_< Key,T,Base >\r
+    {\r
+        typedef pair< Key,T > item47;\r
+    };\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20, typename P21, typename P22, typename P23, typename P24\r
+    , typename P25, typename P26, typename P27, typename P28, typename P29\r
+    , typename P30, typename P31, typename P32, typename P33, typename P34\r
+    , typename P35, typename P36, typename P37, typename P38, typename P39\r
+    , typename P40, typename P41, typename P42, typename P43, typename P44\r
+    , typename P45, typename P46, typename P47\r
+    >\r
+struct map48\r
+    : m_item<\r
+          48\r
+        , typename P47::first\r
+        , typename P47::second\r
+        , 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 >\r
+        >\r
+{\r
+    typedef map48 type;\r
+};\r
+\r
+template<>\r
+struct m_at_impl<48>\r
+{\r
+    template< typename Map > struct result_\r
+    {\r
+        typedef typename Map::item48 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct m_item_impl<49>\r
+{\r
+    template< typename Key, typename T, typename Base > struct result_\r
+        : m_item_< Key,T,Base >\r
+    {\r
+        typedef pair< Key,T > item48;\r
+    };\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20, typename P21, typename P22, typename P23, typename P24\r
+    , typename P25, typename P26, typename P27, typename P28, typename P29\r
+    , typename P30, typename P31, typename P32, typename P33, typename P34\r
+    , typename P35, typename P36, typename P37, typename P38, typename P39\r
+    , typename P40, typename P41, typename P42, typename P43, typename P44\r
+    , typename P45, typename P46, typename P47, typename P48\r
+    >\r
+struct map49\r
+    : m_item<\r
+          49\r
+        , typename P48::first\r
+        , typename P48::second\r
+        , 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 >\r
+        >\r
+{\r
+    typedef map49 type;\r
+};\r
+\r
+template<>\r
+struct m_at_impl<49>\r
+{\r
+    template< typename Map > struct result_\r
+    {\r
+        typedef typename Map::item49 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct m_item_impl<50>\r
+{\r
+    template< typename Key, typename T, typename Base > struct result_\r
+        : m_item_< Key,T,Base >\r
+    {\r
+        typedef pair< Key,T > item49;\r
+    };\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20, typename P21, typename P22, typename P23, typename P24\r
+    , typename P25, typename P26, typename P27, typename P28, typename P29\r
+    , typename P30, typename P31, typename P32, typename P33, typename P34\r
+    , typename P35, typename P36, typename P37, typename P38, typename P39\r
+    , typename P40, typename P41, typename P42, typename P43, typename P44\r
+    , typename P45, typename P46, typename P47, typename P48, typename P49\r
+    >\r
+struct map50\r
+    : m_item<\r
+          50\r
+        , typename P49::first\r
+        , typename P49::second\r
+        , 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 >\r
+        >\r
+{\r
+    typedef map50 type;\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..b8c5f61
--- /dev/null
@@ -0,0 +1,290 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright David Abrahams 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/map/map10.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template< typename Map>\r
+struct m_at< Map,0 >\r
+{\r
+    typedef typename Map::item0 type;\r
+};\r
+\r
+template< typename Key, typename T, typename Base >\r
+struct m_item< 1,Key,T,Base >\r
+    : m_item_< Key,T,Base >\r
+{\r
+    typedef pair< Key,T > item0;\r
+};\r
+\r
+template<\r
+      typename P0\r
+    >\r
+struct map1\r
+    : m_item<\r
+          1\r
+        , typename P0::first\r
+        , typename P0::second\r
+        , map0<  >\r
+        >\r
+{\r
+    typedef map1 type;\r
+};\r
+\r
+template< typename Map>\r
+struct m_at< Map,1 >\r
+{\r
+    typedef typename Map::item1 type;\r
+};\r
+\r
+template< typename Key, typename T, typename Base >\r
+struct m_item< 2,Key,T,Base >\r
+    : m_item_< Key,T,Base >\r
+{\r
+    typedef pair< Key,T > item1;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1\r
+    >\r
+struct map2\r
+    : m_item<\r
+          2\r
+        , typename P1::first\r
+        , typename P1::second\r
+        , map1<P0>\r
+        >\r
+{\r
+    typedef map2 type;\r
+};\r
+\r
+template< typename Map>\r
+struct m_at< Map,2 >\r
+{\r
+    typedef typename Map::item2 type;\r
+};\r
+\r
+template< typename Key, typename T, typename Base >\r
+struct m_item< 3,Key,T,Base >\r
+    : m_item_< Key,T,Base >\r
+{\r
+    typedef pair< Key,T > item2;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2\r
+    >\r
+struct map3\r
+    : m_item<\r
+          3\r
+        , typename P2::first\r
+        , typename P2::second\r
+        , map2< P0,P1 >\r
+        >\r
+{\r
+    typedef map3 type;\r
+};\r
+\r
+template< typename Map>\r
+struct m_at< Map,3 >\r
+{\r
+    typedef typename Map::item3 type;\r
+};\r
+\r
+template< typename Key, typename T, typename Base >\r
+struct m_item< 4,Key,T,Base >\r
+    : m_item_< Key,T,Base >\r
+{\r
+    typedef pair< Key,T > item3;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3\r
+    >\r
+struct map4\r
+    : m_item<\r
+          4\r
+        , typename P3::first\r
+        , typename P3::second\r
+        , map3< P0,P1,P2 >\r
+        >\r
+{\r
+    typedef map4 type;\r
+};\r
+\r
+template< typename Map>\r
+struct m_at< Map,4 >\r
+{\r
+    typedef typename Map::item4 type;\r
+};\r
+\r
+template< typename Key, typename T, typename Base >\r
+struct m_item< 5,Key,T,Base >\r
+    : m_item_< Key,T,Base >\r
+{\r
+    typedef pair< Key,T > item4;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    >\r
+struct map5\r
+    : m_item<\r
+          5\r
+        , typename P4::first\r
+        , typename P4::second\r
+        , map4< P0,P1,P2,P3 >\r
+        >\r
+{\r
+    typedef map5 type;\r
+};\r
+\r
+template< typename Map>\r
+struct m_at< Map,5 >\r
+{\r
+    typedef typename Map::item5 type;\r
+};\r
+\r
+template< typename Key, typename T, typename Base >\r
+struct m_item< 6,Key,T,Base >\r
+    : m_item_< Key,T,Base >\r
+{\r
+    typedef pair< Key,T > item5;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5\r
+    >\r
+struct map6\r
+    : m_item<\r
+          6\r
+        , typename P5::first\r
+        , typename P5::second\r
+        , map5< P0,P1,P2,P3,P4 >\r
+        >\r
+{\r
+    typedef map6 type;\r
+};\r
+\r
+template< typename Map>\r
+struct m_at< Map,6 >\r
+{\r
+    typedef typename Map::item6 type;\r
+};\r
+\r
+template< typename Key, typename T, typename Base >\r
+struct m_item< 7,Key,T,Base >\r
+    : m_item_< Key,T,Base >\r
+{\r
+    typedef pair< Key,T > item6;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6\r
+    >\r
+struct map7\r
+    : m_item<\r
+          7\r
+        , typename P6::first\r
+        , typename P6::second\r
+        , map6< P0,P1,P2,P3,P4,P5 >\r
+        >\r
+{\r
+    typedef map7 type;\r
+};\r
+\r
+template< typename Map>\r
+struct m_at< Map,7 >\r
+{\r
+    typedef typename Map::item7 type;\r
+};\r
+\r
+template< typename Key, typename T, typename Base >\r
+struct m_item< 8,Key,T,Base >\r
+    : m_item_< Key,T,Base >\r
+{\r
+    typedef pair< Key,T > item7;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7\r
+    >\r
+struct map8\r
+    : m_item<\r
+          8\r
+        , typename P7::first\r
+        , typename P7::second\r
+        , map7< P0,P1,P2,P3,P4,P5,P6 >\r
+        >\r
+{\r
+    typedef map8 type;\r
+};\r
+\r
+template< typename Map>\r
+struct m_at< Map,8 >\r
+{\r
+    typedef typename Map::item8 type;\r
+};\r
+\r
+template< typename Key, typename T, typename Base >\r
+struct m_item< 9,Key,T,Base >\r
+    : m_item_< Key,T,Base >\r
+{\r
+    typedef pair< Key,T > item8;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8\r
+    >\r
+struct map9\r
+    : m_item<\r
+          9\r
+        , typename P8::first\r
+        , typename P8::second\r
+        , map8< P0,P1,P2,P3,P4,P5,P6,P7 >\r
+        >\r
+{\r
+    typedef map9 type;\r
+};\r
+\r
+template< typename Map>\r
+struct m_at< Map,9 >\r
+{\r
+    typedef typename Map::item9 type;\r
+};\r
+\r
+template< typename Key, typename T, typename Base >\r
+struct m_item< 10,Key,T,Base >\r
+    : m_item_< Key,T,Base >\r
+{\r
+    typedef pair< Key,T > item9;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    >\r
+struct map10\r
+    : m_item<\r
+          10\r
+        , typename P9::first\r
+        , typename P9::second\r
+        , map9< P0,P1,P2,P3,P4,P5,P6,P7,P8 >\r
+        >\r
+{\r
+    typedef map10 type;\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..c12e437
--- /dev/null
@@ -0,0 +1,310 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright David Abrahams 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/map/map20.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template< typename Map>\r
+struct m_at< Map,10 >\r
+{\r
+    typedef typename Map::item10 type;\r
+};\r
+\r
+template< typename Key, typename T, typename Base >\r
+struct m_item< 11,Key,T,Base >\r
+    : m_item_< Key,T,Base >\r
+{\r
+    typedef pair< Key,T > item10;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10\r
+    >\r
+struct map11\r
+    : m_item<\r
+          11\r
+        , typename P10::first\r
+        , typename P10::second\r
+        , map10< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9 >\r
+        >\r
+{\r
+    typedef map11 type;\r
+};\r
+\r
+template< typename Map>\r
+struct m_at< Map,11 >\r
+{\r
+    typedef typename Map::item11 type;\r
+};\r
+\r
+template< typename Key, typename T, typename Base >\r
+struct m_item< 12,Key,T,Base >\r
+    : m_item_< Key,T,Base >\r
+{\r
+    typedef pair< Key,T > item11;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11\r
+    >\r
+struct map12\r
+    : m_item<\r
+          12\r
+        , typename P11::first\r
+        , typename P11::second\r
+        , map11< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10 >\r
+        >\r
+{\r
+    typedef map12 type;\r
+};\r
+\r
+template< typename Map>\r
+struct m_at< Map,12 >\r
+{\r
+    typedef typename Map::item12 type;\r
+};\r
+\r
+template< typename Key, typename T, typename Base >\r
+struct m_item< 13,Key,T,Base >\r
+    : m_item_< Key,T,Base >\r
+{\r
+    typedef pair< Key,T > item12;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12\r
+    >\r
+struct map13\r
+    : m_item<\r
+          13\r
+        , typename P12::first\r
+        , typename P12::second\r
+        , map12< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11 >\r
+        >\r
+{\r
+    typedef map13 type;\r
+};\r
+\r
+template< typename Map>\r
+struct m_at< Map,13 >\r
+{\r
+    typedef typename Map::item13 type;\r
+};\r
+\r
+template< typename Key, typename T, typename Base >\r
+struct m_item< 14,Key,T,Base >\r
+    : m_item_< Key,T,Base >\r
+{\r
+    typedef pair< Key,T > item13;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13\r
+    >\r
+struct map14\r
+    : m_item<\r
+          14\r
+        , typename P13::first\r
+        , typename P13::second\r
+        , map13< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12 >\r
+        >\r
+{\r
+    typedef map14 type;\r
+};\r
+\r
+template< typename Map>\r
+struct m_at< Map,14 >\r
+{\r
+    typedef typename Map::item14 type;\r
+};\r
+\r
+template< typename Key, typename T, typename Base >\r
+struct m_item< 15,Key,T,Base >\r
+    : m_item_< Key,T,Base >\r
+{\r
+    typedef pair< Key,T > item14;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    >\r
+struct map15\r
+    : m_item<\r
+          15\r
+        , typename P14::first\r
+        , typename P14::second\r
+        , map14< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13 >\r
+        >\r
+{\r
+    typedef map15 type;\r
+};\r
+\r
+template< typename Map>\r
+struct m_at< Map,15 >\r
+{\r
+    typedef typename Map::item15 type;\r
+};\r
+\r
+template< typename Key, typename T, typename Base >\r
+struct m_item< 16,Key,T,Base >\r
+    : m_item_< Key,T,Base >\r
+{\r
+    typedef pair< Key,T > item15;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15\r
+    >\r
+struct map16\r
+    : m_item<\r
+          16\r
+        , typename P15::first\r
+        , typename P15::second\r
+        , map15< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14 >\r
+        >\r
+{\r
+    typedef map16 type;\r
+};\r
+\r
+template< typename Map>\r
+struct m_at< Map,16 >\r
+{\r
+    typedef typename Map::item16 type;\r
+};\r
+\r
+template< typename Key, typename T, typename Base >\r
+struct m_item< 17,Key,T,Base >\r
+    : m_item_< Key,T,Base >\r
+{\r
+    typedef pair< Key,T > item16;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16\r
+    >\r
+struct map17\r
+    : m_item<\r
+          17\r
+        , typename P16::first\r
+        , typename P16::second\r
+        , map16< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15 >\r
+        >\r
+{\r
+    typedef map17 type;\r
+};\r
+\r
+template< typename Map>\r
+struct m_at< Map,17 >\r
+{\r
+    typedef typename Map::item17 type;\r
+};\r
+\r
+template< typename Key, typename T, typename Base >\r
+struct m_item< 18,Key,T,Base >\r
+    : m_item_< Key,T,Base >\r
+{\r
+    typedef pair< Key,T > item17;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17\r
+    >\r
+struct map18\r
+    : m_item<\r
+          18\r
+        , typename P17::first\r
+        , typename P17::second\r
+        , map17< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16 >\r
+        >\r
+{\r
+    typedef map18 type;\r
+};\r
+\r
+template< typename Map>\r
+struct m_at< Map,18 >\r
+{\r
+    typedef typename Map::item18 type;\r
+};\r
+\r
+template< typename Key, typename T, typename Base >\r
+struct m_item< 19,Key,T,Base >\r
+    : m_item_< Key,T,Base >\r
+{\r
+    typedef pair< Key,T > item18;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18\r
+    >\r
+struct map19\r
+    : m_item<\r
+          19\r
+        , typename P18::first\r
+        , typename P18::second\r
+        , map18< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17 >\r
+        >\r
+{\r
+    typedef map19 type;\r
+};\r
+\r
+template< typename Map>\r
+struct m_at< Map,19 >\r
+{\r
+    typedef typename Map::item19 type;\r
+};\r
+\r
+template< typename Key, typename T, typename Base >\r
+struct m_item< 20,Key,T,Base >\r
+    : m_item_< Key,T,Base >\r
+{\r
+    typedef pair< Key,T > item19;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    >\r
+struct map20\r
+    : m_item<\r
+          20\r
+        , typename P19::first\r
+        , typename P19::second\r
+        , map19< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18 >\r
+        >\r
+{\r
+    typedef map20 type;\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..3144307
--- /dev/null
@@ -0,0 +1,330 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright David Abrahams 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/map/map30.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template< typename Map>\r
+struct m_at< Map,20 >\r
+{\r
+    typedef typename Map::item20 type;\r
+};\r
+\r
+template< typename Key, typename T, typename Base >\r
+struct m_item< 21,Key,T,Base >\r
+    : m_item_< Key,T,Base >\r
+{\r
+    typedef pair< Key,T > item20;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20\r
+    >\r
+struct map21\r
+    : m_item<\r
+          21\r
+        , typename P20::first\r
+        , typename P20::second\r
+        , map20< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19 >\r
+        >\r
+{\r
+    typedef map21 type;\r
+};\r
+\r
+template< typename Map>\r
+struct m_at< Map,21 >\r
+{\r
+    typedef typename Map::item21 type;\r
+};\r
+\r
+template< typename Key, typename T, typename Base >\r
+struct m_item< 22,Key,T,Base >\r
+    : m_item_< Key,T,Base >\r
+{\r
+    typedef pair< Key,T > item21;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20, typename P21\r
+    >\r
+struct map22\r
+    : m_item<\r
+          22\r
+        , typename P21::first\r
+        , typename P21::second\r
+        , map21< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20 >\r
+        >\r
+{\r
+    typedef map22 type;\r
+};\r
+\r
+template< typename Map>\r
+struct m_at< Map,22 >\r
+{\r
+    typedef typename Map::item22 type;\r
+};\r
+\r
+template< typename Key, typename T, typename Base >\r
+struct m_item< 23,Key,T,Base >\r
+    : m_item_< Key,T,Base >\r
+{\r
+    typedef pair< Key,T > item22;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20, typename P21, typename P22\r
+    >\r
+struct map23\r
+    : m_item<\r
+          23\r
+        , typename P22::first\r
+        , typename P22::second\r
+        , map22< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21 >\r
+        >\r
+{\r
+    typedef map23 type;\r
+};\r
+\r
+template< typename Map>\r
+struct m_at< Map,23 >\r
+{\r
+    typedef typename Map::item23 type;\r
+};\r
+\r
+template< typename Key, typename T, typename Base >\r
+struct m_item< 24,Key,T,Base >\r
+    : m_item_< Key,T,Base >\r
+{\r
+    typedef pair< Key,T > item23;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20, typename P21, typename P22, typename P23\r
+    >\r
+struct map24\r
+    : m_item<\r
+          24\r
+        , typename P23::first\r
+        , typename P23::second\r
+        , map23< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22 >\r
+        >\r
+{\r
+    typedef map24 type;\r
+};\r
+\r
+template< typename Map>\r
+struct m_at< Map,24 >\r
+{\r
+    typedef typename Map::item24 type;\r
+};\r
+\r
+template< typename Key, typename T, typename Base >\r
+struct m_item< 25,Key,T,Base >\r
+    : m_item_< Key,T,Base >\r
+{\r
+    typedef pair< Key,T > item24;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20, typename P21, typename P22, typename P23, typename P24\r
+    >\r
+struct map25\r
+    : m_item<\r
+          25\r
+        , typename P24::first\r
+        , typename P24::second\r
+        , 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 >\r
+        >\r
+{\r
+    typedef map25 type;\r
+};\r
+\r
+template< typename Map>\r
+struct m_at< Map,25 >\r
+{\r
+    typedef typename Map::item25 type;\r
+};\r
+\r
+template< typename Key, typename T, typename Base >\r
+struct m_item< 26,Key,T,Base >\r
+    : m_item_< Key,T,Base >\r
+{\r
+    typedef pair< Key,T > item25;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20, typename P21, typename P22, typename P23, typename P24\r
+    , typename P25\r
+    >\r
+struct map26\r
+    : m_item<\r
+          26\r
+        , typename P25::first\r
+        , typename P25::second\r
+        , 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 >\r
+        >\r
+{\r
+    typedef map26 type;\r
+};\r
+\r
+template< typename Map>\r
+struct m_at< Map,26 >\r
+{\r
+    typedef typename Map::item26 type;\r
+};\r
+\r
+template< typename Key, typename T, typename Base >\r
+struct m_item< 27,Key,T,Base >\r
+    : m_item_< Key,T,Base >\r
+{\r
+    typedef pair< Key,T > item26;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20, typename P21, typename P22, typename P23, typename P24\r
+    , typename P25, typename P26\r
+    >\r
+struct map27\r
+    : m_item<\r
+          27\r
+        , typename P26::first\r
+        , typename P26::second\r
+        , 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 >\r
+        >\r
+{\r
+    typedef map27 type;\r
+};\r
+\r
+template< typename Map>\r
+struct m_at< Map,27 >\r
+{\r
+    typedef typename Map::item27 type;\r
+};\r
+\r
+template< typename Key, typename T, typename Base >\r
+struct m_item< 28,Key,T,Base >\r
+    : m_item_< Key,T,Base >\r
+{\r
+    typedef pair< Key,T > item27;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20, typename P21, typename P22, typename P23, typename P24\r
+    , typename P25, typename P26, typename P27\r
+    >\r
+struct map28\r
+    : m_item<\r
+          28\r
+        , typename P27::first\r
+        , typename P27::second\r
+        , 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 >\r
+        >\r
+{\r
+    typedef map28 type;\r
+};\r
+\r
+template< typename Map>\r
+struct m_at< Map,28 >\r
+{\r
+    typedef typename Map::item28 type;\r
+};\r
+\r
+template< typename Key, typename T, typename Base >\r
+struct m_item< 29,Key,T,Base >\r
+    : m_item_< Key,T,Base >\r
+{\r
+    typedef pair< Key,T > item28;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20, typename P21, typename P22, typename P23, typename P24\r
+    , typename P25, typename P26, typename P27, typename P28\r
+    >\r
+struct map29\r
+    : m_item<\r
+          29\r
+        , typename P28::first\r
+        , typename P28::second\r
+        , 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 >\r
+        >\r
+{\r
+    typedef map29 type;\r
+};\r
+\r
+template< typename Map>\r
+struct m_at< Map,29 >\r
+{\r
+    typedef typename Map::item29 type;\r
+};\r
+\r
+template< typename Key, typename T, typename Base >\r
+struct m_item< 30,Key,T,Base >\r
+    : m_item_< Key,T,Base >\r
+{\r
+    typedef pair< Key,T > item29;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20, typename P21, typename P22, typename P23, typename P24\r
+    , typename P25, typename P26, typename P27, typename P28, typename P29\r
+    >\r
+struct map30\r
+    : m_item<\r
+          30\r
+        , typename P29::first\r
+        , typename P29::second\r
+        , 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 >\r
+        >\r
+{\r
+    typedef map30 type;\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..4cca80e
--- /dev/null
@@ -0,0 +1,350 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright David Abrahams 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/map/map40.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template< typename Map>\r
+struct m_at< Map,30 >\r
+{\r
+    typedef typename Map::item30 type;\r
+};\r
+\r
+template< typename Key, typename T, typename Base >\r
+struct m_item< 31,Key,T,Base >\r
+    : m_item_< Key,T,Base >\r
+{\r
+    typedef pair< Key,T > item30;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20, typename P21, typename P22, typename P23, typename P24\r
+    , typename P25, typename P26, typename P27, typename P28, typename P29\r
+    , typename P30\r
+    >\r
+struct map31\r
+    : m_item<\r
+          31\r
+        , typename P30::first\r
+        , typename P30::second\r
+        , 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 >\r
+        >\r
+{\r
+    typedef map31 type;\r
+};\r
+\r
+template< typename Map>\r
+struct m_at< Map,31 >\r
+{\r
+    typedef typename Map::item31 type;\r
+};\r
+\r
+template< typename Key, typename T, typename Base >\r
+struct m_item< 32,Key,T,Base >\r
+    : m_item_< Key,T,Base >\r
+{\r
+    typedef pair< Key,T > item31;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20, typename P21, typename P22, typename P23, typename P24\r
+    , typename P25, typename P26, typename P27, typename P28, typename P29\r
+    , typename P30, typename P31\r
+    >\r
+struct map32\r
+    : m_item<\r
+          32\r
+        , typename P31::first\r
+        , typename P31::second\r
+        , 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 >\r
+        >\r
+{\r
+    typedef map32 type;\r
+};\r
+\r
+template< typename Map>\r
+struct m_at< Map,32 >\r
+{\r
+    typedef typename Map::item32 type;\r
+};\r
+\r
+template< typename Key, typename T, typename Base >\r
+struct m_item< 33,Key,T,Base >\r
+    : m_item_< Key,T,Base >\r
+{\r
+    typedef pair< Key,T > item32;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20, typename P21, typename P22, typename P23, typename P24\r
+    , typename P25, typename P26, typename P27, typename P28, typename P29\r
+    , typename P30, typename P31, typename P32\r
+    >\r
+struct map33\r
+    : m_item<\r
+          33\r
+        , typename P32::first\r
+        , typename P32::second\r
+        , 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 >\r
+        >\r
+{\r
+    typedef map33 type;\r
+};\r
+\r
+template< typename Map>\r
+struct m_at< Map,33 >\r
+{\r
+    typedef typename Map::item33 type;\r
+};\r
+\r
+template< typename Key, typename T, typename Base >\r
+struct m_item< 34,Key,T,Base >\r
+    : m_item_< Key,T,Base >\r
+{\r
+    typedef pair< Key,T > item33;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20, typename P21, typename P22, typename P23, typename P24\r
+    , typename P25, typename P26, typename P27, typename P28, typename P29\r
+    , typename P30, typename P31, typename P32, typename P33\r
+    >\r
+struct map34\r
+    : m_item<\r
+          34\r
+        , typename P33::first\r
+        , typename P33::second\r
+        , 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 >\r
+        >\r
+{\r
+    typedef map34 type;\r
+};\r
+\r
+template< typename Map>\r
+struct m_at< Map,34 >\r
+{\r
+    typedef typename Map::item34 type;\r
+};\r
+\r
+template< typename Key, typename T, typename Base >\r
+struct m_item< 35,Key,T,Base >\r
+    : m_item_< Key,T,Base >\r
+{\r
+    typedef pair< Key,T > item34;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20, typename P21, typename P22, typename P23, typename P24\r
+    , typename P25, typename P26, typename P27, typename P28, typename P29\r
+    , typename P30, typename P31, typename P32, typename P33, typename P34\r
+    >\r
+struct map35\r
+    : m_item<\r
+          35\r
+        , typename P34::first\r
+        , typename P34::second\r
+        , 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 >\r
+        >\r
+{\r
+    typedef map35 type;\r
+};\r
+\r
+template< typename Map>\r
+struct m_at< Map,35 >\r
+{\r
+    typedef typename Map::item35 type;\r
+};\r
+\r
+template< typename Key, typename T, typename Base >\r
+struct m_item< 36,Key,T,Base >\r
+    : m_item_< Key,T,Base >\r
+{\r
+    typedef pair< Key,T > item35;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20, typename P21, typename P22, typename P23, typename P24\r
+    , typename P25, typename P26, typename P27, typename P28, typename P29\r
+    , typename P30, typename P31, typename P32, typename P33, typename P34\r
+    , typename P35\r
+    >\r
+struct map36\r
+    : m_item<\r
+          36\r
+        , typename P35::first\r
+        , typename P35::second\r
+        , 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 >\r
+        >\r
+{\r
+    typedef map36 type;\r
+};\r
+\r
+template< typename Map>\r
+struct m_at< Map,36 >\r
+{\r
+    typedef typename Map::item36 type;\r
+};\r
+\r
+template< typename Key, typename T, typename Base >\r
+struct m_item< 37,Key,T,Base >\r
+    : m_item_< Key,T,Base >\r
+{\r
+    typedef pair< Key,T > item36;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20, typename P21, typename P22, typename P23, typename P24\r
+    , typename P25, typename P26, typename P27, typename P28, typename P29\r
+    , typename P30, typename P31, typename P32, typename P33, typename P34\r
+    , typename P35, typename P36\r
+    >\r
+struct map37\r
+    : m_item<\r
+          37\r
+        , typename P36::first\r
+        , typename P36::second\r
+        , 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 >\r
+        >\r
+{\r
+    typedef map37 type;\r
+};\r
+\r
+template< typename Map>\r
+struct m_at< Map,37 >\r
+{\r
+    typedef typename Map::item37 type;\r
+};\r
+\r
+template< typename Key, typename T, typename Base >\r
+struct m_item< 38,Key,T,Base >\r
+    : m_item_< Key,T,Base >\r
+{\r
+    typedef pair< Key,T > item37;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20, typename P21, typename P22, typename P23, typename P24\r
+    , typename P25, typename P26, typename P27, typename P28, typename P29\r
+    , typename P30, typename P31, typename P32, typename P33, typename P34\r
+    , typename P35, typename P36, typename P37\r
+    >\r
+struct map38\r
+    : m_item<\r
+          38\r
+        , typename P37::first\r
+        , typename P37::second\r
+        , 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 >\r
+        >\r
+{\r
+    typedef map38 type;\r
+};\r
+\r
+template< typename Map>\r
+struct m_at< Map,38 >\r
+{\r
+    typedef typename Map::item38 type;\r
+};\r
+\r
+template< typename Key, typename T, typename Base >\r
+struct m_item< 39,Key,T,Base >\r
+    : m_item_< Key,T,Base >\r
+{\r
+    typedef pair< Key,T > item38;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20, typename P21, typename P22, typename P23, typename P24\r
+    , typename P25, typename P26, typename P27, typename P28, typename P29\r
+    , typename P30, typename P31, typename P32, typename P33, typename P34\r
+    , typename P35, typename P36, typename P37, typename P38\r
+    >\r
+struct map39\r
+    : m_item<\r
+          39\r
+        , typename P38::first\r
+        , typename P38::second\r
+        , 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 >\r
+        >\r
+{\r
+    typedef map39 type;\r
+};\r
+\r
+template< typename Map>\r
+struct m_at< Map,39 >\r
+{\r
+    typedef typename Map::item39 type;\r
+};\r
+\r
+template< typename Key, typename T, typename Base >\r
+struct m_item< 40,Key,T,Base >\r
+    : m_item_< Key,T,Base >\r
+{\r
+    typedef pair< Key,T > item39;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20, typename P21, typename P22, typename P23, typename P24\r
+    , typename P25, typename P26, typename P27, typename P28, typename P29\r
+    , typename P30, typename P31, typename P32, typename P33, typename P34\r
+    , typename P35, typename P36, typename P37, typename P38, typename P39\r
+    >\r
+struct map40\r
+    : m_item<\r
+          40\r
+        , typename P39::first\r
+        , typename P39::second\r
+        , 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 >\r
+        >\r
+{\r
+    typedef map40 type;\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..cce51a0
--- /dev/null
@@ -0,0 +1,370 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright David Abrahams 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/map/map50.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template< typename Map>\r
+struct m_at< Map,40 >\r
+{\r
+    typedef typename Map::item40 type;\r
+};\r
+\r
+template< typename Key, typename T, typename Base >\r
+struct m_item< 41,Key,T,Base >\r
+    : m_item_< Key,T,Base >\r
+{\r
+    typedef pair< Key,T > item40;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20, typename P21, typename P22, typename P23, typename P24\r
+    , typename P25, typename P26, typename P27, typename P28, typename P29\r
+    , typename P30, typename P31, typename P32, typename P33, typename P34\r
+    , typename P35, typename P36, typename P37, typename P38, typename P39\r
+    , typename P40\r
+    >\r
+struct map41\r
+    : m_item<\r
+          41\r
+        , typename P40::first\r
+        , typename P40::second\r
+        , 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 >\r
+        >\r
+{\r
+    typedef map41 type;\r
+};\r
+\r
+template< typename Map>\r
+struct m_at< Map,41 >\r
+{\r
+    typedef typename Map::item41 type;\r
+};\r
+\r
+template< typename Key, typename T, typename Base >\r
+struct m_item< 42,Key,T,Base >\r
+    : m_item_< Key,T,Base >\r
+{\r
+    typedef pair< Key,T > item41;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20, typename P21, typename P22, typename P23, typename P24\r
+    , typename P25, typename P26, typename P27, typename P28, typename P29\r
+    , typename P30, typename P31, typename P32, typename P33, typename P34\r
+    , typename P35, typename P36, typename P37, typename P38, typename P39\r
+    , typename P40, typename P41\r
+    >\r
+struct map42\r
+    : m_item<\r
+          42\r
+        , typename P41::first\r
+        , typename P41::second\r
+        , 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 >\r
+        >\r
+{\r
+    typedef map42 type;\r
+};\r
+\r
+template< typename Map>\r
+struct m_at< Map,42 >\r
+{\r
+    typedef typename Map::item42 type;\r
+};\r
+\r
+template< typename Key, typename T, typename Base >\r
+struct m_item< 43,Key,T,Base >\r
+    : m_item_< Key,T,Base >\r
+{\r
+    typedef pair< Key,T > item42;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20, typename P21, typename P22, typename P23, typename P24\r
+    , typename P25, typename P26, typename P27, typename P28, typename P29\r
+    , typename P30, typename P31, typename P32, typename P33, typename P34\r
+    , typename P35, typename P36, typename P37, typename P38, typename P39\r
+    , typename P40, typename P41, typename P42\r
+    >\r
+struct map43\r
+    : m_item<\r
+          43\r
+        , typename P42::first\r
+        , typename P42::second\r
+        , 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 >\r
+        >\r
+{\r
+    typedef map43 type;\r
+};\r
+\r
+template< typename Map>\r
+struct m_at< Map,43 >\r
+{\r
+    typedef typename Map::item43 type;\r
+};\r
+\r
+template< typename Key, typename T, typename Base >\r
+struct m_item< 44,Key,T,Base >\r
+    : m_item_< Key,T,Base >\r
+{\r
+    typedef pair< Key,T > item43;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20, typename P21, typename P22, typename P23, typename P24\r
+    , typename P25, typename P26, typename P27, typename P28, typename P29\r
+    , typename P30, typename P31, typename P32, typename P33, typename P34\r
+    , typename P35, typename P36, typename P37, typename P38, typename P39\r
+    , typename P40, typename P41, typename P42, typename P43\r
+    >\r
+struct map44\r
+    : m_item<\r
+          44\r
+        , typename P43::first\r
+        , typename P43::second\r
+        , 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 >\r
+        >\r
+{\r
+    typedef map44 type;\r
+};\r
+\r
+template< typename Map>\r
+struct m_at< Map,44 >\r
+{\r
+    typedef typename Map::item44 type;\r
+};\r
+\r
+template< typename Key, typename T, typename Base >\r
+struct m_item< 45,Key,T,Base >\r
+    : m_item_< Key,T,Base >\r
+{\r
+    typedef pair< Key,T > item44;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20, typename P21, typename P22, typename P23, typename P24\r
+    , typename P25, typename P26, typename P27, typename P28, typename P29\r
+    , typename P30, typename P31, typename P32, typename P33, typename P34\r
+    , typename P35, typename P36, typename P37, typename P38, typename P39\r
+    , typename P40, typename P41, typename P42, typename P43, typename P44\r
+    >\r
+struct map45\r
+    : m_item<\r
+          45\r
+        , typename P44::first\r
+        , typename P44::second\r
+        , 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 >\r
+        >\r
+{\r
+    typedef map45 type;\r
+};\r
+\r
+template< typename Map>\r
+struct m_at< Map,45 >\r
+{\r
+    typedef typename Map::item45 type;\r
+};\r
+\r
+template< typename Key, typename T, typename Base >\r
+struct m_item< 46,Key,T,Base >\r
+    : m_item_< Key,T,Base >\r
+{\r
+    typedef pair< Key,T > item45;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20, typename P21, typename P22, typename P23, typename P24\r
+    , typename P25, typename P26, typename P27, typename P28, typename P29\r
+    , typename P30, typename P31, typename P32, typename P33, typename P34\r
+    , typename P35, typename P36, typename P37, typename P38, typename P39\r
+    , typename P40, typename P41, typename P42, typename P43, typename P44\r
+    , typename P45\r
+    >\r
+struct map46\r
+    : m_item<\r
+          46\r
+        , typename P45::first\r
+        , typename P45::second\r
+        , 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 >\r
+        >\r
+{\r
+    typedef map46 type;\r
+};\r
+\r
+template< typename Map>\r
+struct m_at< Map,46 >\r
+{\r
+    typedef typename Map::item46 type;\r
+};\r
+\r
+template< typename Key, typename T, typename Base >\r
+struct m_item< 47,Key,T,Base >\r
+    : m_item_< Key,T,Base >\r
+{\r
+    typedef pair< Key,T > item46;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20, typename P21, typename P22, typename P23, typename P24\r
+    , typename P25, typename P26, typename P27, typename P28, typename P29\r
+    , typename P30, typename P31, typename P32, typename P33, typename P34\r
+    , typename P35, typename P36, typename P37, typename P38, typename P39\r
+    , typename P40, typename P41, typename P42, typename P43, typename P44\r
+    , typename P45, typename P46\r
+    >\r
+struct map47\r
+    : m_item<\r
+          47\r
+        , typename P46::first\r
+        , typename P46::second\r
+        , 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 >\r
+        >\r
+{\r
+    typedef map47 type;\r
+};\r
+\r
+template< typename Map>\r
+struct m_at< Map,47 >\r
+{\r
+    typedef typename Map::item47 type;\r
+};\r
+\r
+template< typename Key, typename T, typename Base >\r
+struct m_item< 48,Key,T,Base >\r
+    : m_item_< Key,T,Base >\r
+{\r
+    typedef pair< Key,T > item47;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20, typename P21, typename P22, typename P23, typename P24\r
+    , typename P25, typename P26, typename P27, typename P28, typename P29\r
+    , typename P30, typename P31, typename P32, typename P33, typename P34\r
+    , typename P35, typename P36, typename P37, typename P38, typename P39\r
+    , typename P40, typename P41, typename P42, typename P43, typename P44\r
+    , typename P45, typename P46, typename P47\r
+    >\r
+struct map48\r
+    : m_item<\r
+          48\r
+        , typename P47::first\r
+        , typename P47::second\r
+        , 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 >\r
+        >\r
+{\r
+    typedef map48 type;\r
+};\r
+\r
+template< typename Map>\r
+struct m_at< Map,48 >\r
+{\r
+    typedef typename Map::item48 type;\r
+};\r
+\r
+template< typename Key, typename T, typename Base >\r
+struct m_item< 49,Key,T,Base >\r
+    : m_item_< Key,T,Base >\r
+{\r
+    typedef pair< Key,T > item48;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20, typename P21, typename P22, typename P23, typename P24\r
+    , typename P25, typename P26, typename P27, typename P28, typename P29\r
+    , typename P30, typename P31, typename P32, typename P33, typename P34\r
+    , typename P35, typename P36, typename P37, typename P38, typename P39\r
+    , typename P40, typename P41, typename P42, typename P43, typename P44\r
+    , typename P45, typename P46, typename P47, typename P48\r
+    >\r
+struct map49\r
+    : m_item<\r
+          49\r
+        , typename P48::first\r
+        , typename P48::second\r
+        , 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 >\r
+        >\r
+{\r
+    typedef map49 type;\r
+};\r
+\r
+template< typename Map>\r
+struct m_at< Map,49 >\r
+{\r
+    typedef typename Map::item49 type;\r
+};\r
+\r
+template< typename Key, typename T, typename Base >\r
+struct m_item< 50,Key,T,Base >\r
+    : m_item_< Key,T,Base >\r
+{\r
+    typedef pair< Key,T > item49;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20, typename P21, typename P22, typename P23, typename P24\r
+    , typename P25, typename P26, typename P27, typename P28, typename P29\r
+    , typename P30, typename P31, typename P32, typename P33, typename P34\r
+    , typename P35, typename P36, typename P37, typename P38, typename P39\r
+    , typename P40, typename P41, typename P42, typename P43, typename P44\r
+    , typename P45, typename P46, typename P47, typename P48, typename P49\r
+    >\r
+struct map50\r
+    : m_item<\r
+          50\r
+        , typename P49::first\r
+        , typename P49::second\r
+        , 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 >\r
+        >\r
+{\r
+    typedef map50 type;\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..3663ecb
--- /dev/null
@@ -0,0 +1,150 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright David Abrahams 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/map/map10.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename P0\r
+    >\r
+struct map1\r
+    : m_item<\r
+          typename P0::first\r
+        , typename P0::second\r
+        , map0<  >\r
+        >\r
+{\r
+    typedef map1 type;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1\r
+    >\r
+struct map2\r
+    : m_item<\r
+          typename P1::first\r
+        , typename P1::second\r
+        , map1<P0>\r
+        >\r
+{\r
+    typedef map2 type;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2\r
+    >\r
+struct map3\r
+    : m_item<\r
+          typename P2::first\r
+        , typename P2::second\r
+        , map2< P0,P1 >\r
+        >\r
+{\r
+    typedef map3 type;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3\r
+    >\r
+struct map4\r
+    : m_item<\r
+          typename P3::first\r
+        , typename P3::second\r
+        , map3< P0,P1,P2 >\r
+        >\r
+{\r
+    typedef map4 type;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    >\r
+struct map5\r
+    : m_item<\r
+          typename P4::first\r
+        , typename P4::second\r
+        , map4< P0,P1,P2,P3 >\r
+        >\r
+{\r
+    typedef map5 type;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5\r
+    >\r
+struct map6\r
+    : m_item<\r
+          typename P5::first\r
+        , typename P5::second\r
+        , map5< P0,P1,P2,P3,P4 >\r
+        >\r
+{\r
+    typedef map6 type;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6\r
+    >\r
+struct map7\r
+    : m_item<\r
+          typename P6::first\r
+        , typename P6::second\r
+        , map6< P0,P1,P2,P3,P4,P5 >\r
+        >\r
+{\r
+    typedef map7 type;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7\r
+    >\r
+struct map8\r
+    : m_item<\r
+          typename P7::first\r
+        , typename P7::second\r
+        , map7< P0,P1,P2,P3,P4,P5,P6 >\r
+        >\r
+{\r
+    typedef map8 type;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8\r
+    >\r
+struct map9\r
+    : m_item<\r
+          typename P8::first\r
+        , typename P8::second\r
+        , map8< P0,P1,P2,P3,P4,P5,P6,P7 >\r
+        >\r
+{\r
+    typedef map9 type;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    >\r
+struct map10\r
+    : m_item<\r
+          typename P9::first\r
+        , typename P9::second\r
+        , map9< P0,P1,P2,P3,P4,P5,P6,P7,P8 >\r
+        >\r
+{\r
+    typedef map10 type;\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..ecc5b1c
--- /dev/null
@@ -0,0 +1,170 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright David Abrahams 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/map/map20.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10\r
+    >\r
+struct map11\r
+    : m_item<\r
+          typename P10::first\r
+        , typename P10::second\r
+        , map10< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9 >\r
+        >\r
+{\r
+    typedef map11 type;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11\r
+    >\r
+struct map12\r
+    : m_item<\r
+          typename P11::first\r
+        , typename P11::second\r
+        , map11< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10 >\r
+        >\r
+{\r
+    typedef map12 type;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12\r
+    >\r
+struct map13\r
+    : m_item<\r
+          typename P12::first\r
+        , typename P12::second\r
+        , map12< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11 >\r
+        >\r
+{\r
+    typedef map13 type;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13\r
+    >\r
+struct map14\r
+    : m_item<\r
+          typename P13::first\r
+        , typename P13::second\r
+        , map13< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12 >\r
+        >\r
+{\r
+    typedef map14 type;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    >\r
+struct map15\r
+    : m_item<\r
+          typename P14::first\r
+        , typename P14::second\r
+        , map14< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13 >\r
+        >\r
+{\r
+    typedef map15 type;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15\r
+    >\r
+struct map16\r
+    : m_item<\r
+          typename P15::first\r
+        , typename P15::second\r
+        , map15< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14 >\r
+        >\r
+{\r
+    typedef map16 type;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16\r
+    >\r
+struct map17\r
+    : m_item<\r
+          typename P16::first\r
+        , typename P16::second\r
+        , map16< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15 >\r
+        >\r
+{\r
+    typedef map17 type;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17\r
+    >\r
+struct map18\r
+    : m_item<\r
+          typename P17::first\r
+        , typename P17::second\r
+        , map17< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16 >\r
+        >\r
+{\r
+    typedef map18 type;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18\r
+    >\r
+struct map19\r
+    : m_item<\r
+          typename P18::first\r
+        , typename P18::second\r
+        , map18< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17 >\r
+        >\r
+{\r
+    typedef map19 type;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    >\r
+struct map20\r
+    : m_item<\r
+          typename P19::first\r
+        , typename P19::second\r
+        , map19< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18 >\r
+        >\r
+{\r
+    typedef map20 type;\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..940f2dc
--- /dev/null
@@ -0,0 +1,190 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright David Abrahams 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/map/map30.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20\r
+    >\r
+struct map21\r
+    : m_item<\r
+          typename P20::first\r
+        , typename P20::second\r
+        , map20< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19 >\r
+        >\r
+{\r
+    typedef map21 type;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20, typename P21\r
+    >\r
+struct map22\r
+    : m_item<\r
+          typename P21::first\r
+        , typename P21::second\r
+        , map21< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20 >\r
+        >\r
+{\r
+    typedef map22 type;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20, typename P21, typename P22\r
+    >\r
+struct map23\r
+    : m_item<\r
+          typename P22::first\r
+        , typename P22::second\r
+        , map22< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21 >\r
+        >\r
+{\r
+    typedef map23 type;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20, typename P21, typename P22, typename P23\r
+    >\r
+struct map24\r
+    : m_item<\r
+          typename P23::first\r
+        , typename P23::second\r
+        , map23< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22 >\r
+        >\r
+{\r
+    typedef map24 type;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20, typename P21, typename P22, typename P23, typename P24\r
+    >\r
+struct map25\r
+    : m_item<\r
+          typename P24::first\r
+        , typename P24::second\r
+        , 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 >\r
+        >\r
+{\r
+    typedef map25 type;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20, typename P21, typename P22, typename P23, typename P24\r
+    , typename P25\r
+    >\r
+struct map26\r
+    : m_item<\r
+          typename P25::first\r
+        , typename P25::second\r
+        , 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 >\r
+        >\r
+{\r
+    typedef map26 type;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20, typename P21, typename P22, typename P23, typename P24\r
+    , typename P25, typename P26\r
+    >\r
+struct map27\r
+    : m_item<\r
+          typename P26::first\r
+        , typename P26::second\r
+        , 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 >\r
+        >\r
+{\r
+    typedef map27 type;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20, typename P21, typename P22, typename P23, typename P24\r
+    , typename P25, typename P26, typename P27\r
+    >\r
+struct map28\r
+    : m_item<\r
+          typename P27::first\r
+        , typename P27::second\r
+        , 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 >\r
+        >\r
+{\r
+    typedef map28 type;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20, typename P21, typename P22, typename P23, typename P24\r
+    , typename P25, typename P26, typename P27, typename P28\r
+    >\r
+struct map29\r
+    : m_item<\r
+          typename P28::first\r
+        , typename P28::second\r
+        , 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 >\r
+        >\r
+{\r
+    typedef map29 type;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20, typename P21, typename P22, typename P23, typename P24\r
+    , typename P25, typename P26, typename P27, typename P28, typename P29\r
+    >\r
+struct map30\r
+    : m_item<\r
+          typename P29::first\r
+        , typename P29::second\r
+        , 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 >\r
+        >\r
+{\r
+    typedef map30 type;\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..85ec204
--- /dev/null
@@ -0,0 +1,210 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright David Abrahams 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/map/map40.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20, typename P21, typename P22, typename P23, typename P24\r
+    , typename P25, typename P26, typename P27, typename P28, typename P29\r
+    , typename P30\r
+    >\r
+struct map31\r
+    : m_item<\r
+          typename P30::first\r
+        , typename P30::second\r
+        , 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 >\r
+        >\r
+{\r
+    typedef map31 type;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20, typename P21, typename P22, typename P23, typename P24\r
+    , typename P25, typename P26, typename P27, typename P28, typename P29\r
+    , typename P30, typename P31\r
+    >\r
+struct map32\r
+    : m_item<\r
+          typename P31::first\r
+        , typename P31::second\r
+        , 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 >\r
+        >\r
+{\r
+    typedef map32 type;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20, typename P21, typename P22, typename P23, typename P24\r
+    , typename P25, typename P26, typename P27, typename P28, typename P29\r
+    , typename P30, typename P31, typename P32\r
+    >\r
+struct map33\r
+    : m_item<\r
+          typename P32::first\r
+        , typename P32::second\r
+        , 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 >\r
+        >\r
+{\r
+    typedef map33 type;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20, typename P21, typename P22, typename P23, typename P24\r
+    , typename P25, typename P26, typename P27, typename P28, typename P29\r
+    , typename P30, typename P31, typename P32, typename P33\r
+    >\r
+struct map34\r
+    : m_item<\r
+          typename P33::first\r
+        , typename P33::second\r
+        , 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 >\r
+        >\r
+{\r
+    typedef map34 type;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20, typename P21, typename P22, typename P23, typename P24\r
+    , typename P25, typename P26, typename P27, typename P28, typename P29\r
+    , typename P30, typename P31, typename P32, typename P33, typename P34\r
+    >\r
+struct map35\r
+    : m_item<\r
+          typename P34::first\r
+        , typename P34::second\r
+        , 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 >\r
+        >\r
+{\r
+    typedef map35 type;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20, typename P21, typename P22, typename P23, typename P24\r
+    , typename P25, typename P26, typename P27, typename P28, typename P29\r
+    , typename P30, typename P31, typename P32, typename P33, typename P34\r
+    , typename P35\r
+    >\r
+struct map36\r
+    : m_item<\r
+          typename P35::first\r
+        , typename P35::second\r
+        , 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 >\r
+        >\r
+{\r
+    typedef map36 type;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20, typename P21, typename P22, typename P23, typename P24\r
+    , typename P25, typename P26, typename P27, typename P28, typename P29\r
+    , typename P30, typename P31, typename P32, typename P33, typename P34\r
+    , typename P35, typename P36\r
+    >\r
+struct map37\r
+    : m_item<\r
+          typename P36::first\r
+        , typename P36::second\r
+        , 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 >\r
+        >\r
+{\r
+    typedef map37 type;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20, typename P21, typename P22, typename P23, typename P24\r
+    , typename P25, typename P26, typename P27, typename P28, typename P29\r
+    , typename P30, typename P31, typename P32, typename P33, typename P34\r
+    , typename P35, typename P36, typename P37\r
+    >\r
+struct map38\r
+    : m_item<\r
+          typename P37::first\r
+        , typename P37::second\r
+        , 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 >\r
+        >\r
+{\r
+    typedef map38 type;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20, typename P21, typename P22, typename P23, typename P24\r
+    , typename P25, typename P26, typename P27, typename P28, typename P29\r
+    , typename P30, typename P31, typename P32, typename P33, typename P34\r
+    , typename P35, typename P36, typename P37, typename P38\r
+    >\r
+struct map39\r
+    : m_item<\r
+          typename P38::first\r
+        , typename P38::second\r
+        , 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 >\r
+        >\r
+{\r
+    typedef map39 type;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20, typename P21, typename P22, typename P23, typename P24\r
+    , typename P25, typename P26, typename P27, typename P28, typename P29\r
+    , typename P30, typename P31, typename P32, typename P33, typename P34\r
+    , typename P35, typename P36, typename P37, typename P38, typename P39\r
+    >\r
+struct map40\r
+    : m_item<\r
+          typename P39::first\r
+        , typename P39::second\r
+        , 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 >\r
+        >\r
+{\r
+    typedef map40 type;\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..9d00edb
--- /dev/null
@@ -0,0 +1,230 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright David Abrahams 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/map/map50.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20, typename P21, typename P22, typename P23, typename P24\r
+    , typename P25, typename P26, typename P27, typename P28, typename P29\r
+    , typename P30, typename P31, typename P32, typename P33, typename P34\r
+    , typename P35, typename P36, typename P37, typename P38, typename P39\r
+    , typename P40\r
+    >\r
+struct map41\r
+    : m_item<\r
+          typename P40::first\r
+        , typename P40::second\r
+        , 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 >\r
+        >\r
+{\r
+    typedef map41 type;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20, typename P21, typename P22, typename P23, typename P24\r
+    , typename P25, typename P26, typename P27, typename P28, typename P29\r
+    , typename P30, typename P31, typename P32, typename P33, typename P34\r
+    , typename P35, typename P36, typename P37, typename P38, typename P39\r
+    , typename P40, typename P41\r
+    >\r
+struct map42\r
+    : m_item<\r
+          typename P41::first\r
+        , typename P41::second\r
+        , 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 >\r
+        >\r
+{\r
+    typedef map42 type;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20, typename P21, typename P22, typename P23, typename P24\r
+    , typename P25, typename P26, typename P27, typename P28, typename P29\r
+    , typename P30, typename P31, typename P32, typename P33, typename P34\r
+    , typename P35, typename P36, typename P37, typename P38, typename P39\r
+    , typename P40, typename P41, typename P42\r
+    >\r
+struct map43\r
+    : m_item<\r
+          typename P42::first\r
+        , typename P42::second\r
+        , 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 >\r
+        >\r
+{\r
+    typedef map43 type;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20, typename P21, typename P22, typename P23, typename P24\r
+    , typename P25, typename P26, typename P27, typename P28, typename P29\r
+    , typename P30, typename P31, typename P32, typename P33, typename P34\r
+    , typename P35, typename P36, typename P37, typename P38, typename P39\r
+    , typename P40, typename P41, typename P42, typename P43\r
+    >\r
+struct map44\r
+    : m_item<\r
+          typename P43::first\r
+        , typename P43::second\r
+        , 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 >\r
+        >\r
+{\r
+    typedef map44 type;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20, typename P21, typename P22, typename P23, typename P24\r
+    , typename P25, typename P26, typename P27, typename P28, typename P29\r
+    , typename P30, typename P31, typename P32, typename P33, typename P34\r
+    , typename P35, typename P36, typename P37, typename P38, typename P39\r
+    , typename P40, typename P41, typename P42, typename P43, typename P44\r
+    >\r
+struct map45\r
+    : m_item<\r
+          typename P44::first\r
+        , typename P44::second\r
+        , 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 >\r
+        >\r
+{\r
+    typedef map45 type;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20, typename P21, typename P22, typename P23, typename P24\r
+    , typename P25, typename P26, typename P27, typename P28, typename P29\r
+    , typename P30, typename P31, typename P32, typename P33, typename P34\r
+    , typename P35, typename P36, typename P37, typename P38, typename P39\r
+    , typename P40, typename P41, typename P42, typename P43, typename P44\r
+    , typename P45\r
+    >\r
+struct map46\r
+    : m_item<\r
+          typename P45::first\r
+        , typename P45::second\r
+        , 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 >\r
+        >\r
+{\r
+    typedef map46 type;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20, typename P21, typename P22, typename P23, typename P24\r
+    , typename P25, typename P26, typename P27, typename P28, typename P29\r
+    , typename P30, typename P31, typename P32, typename P33, typename P34\r
+    , typename P35, typename P36, typename P37, typename P38, typename P39\r
+    , typename P40, typename P41, typename P42, typename P43, typename P44\r
+    , typename P45, typename P46\r
+    >\r
+struct map47\r
+    : m_item<\r
+          typename P46::first\r
+        , typename P46::second\r
+        , 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 >\r
+        >\r
+{\r
+    typedef map47 type;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20, typename P21, typename P22, typename P23, typename P24\r
+    , typename P25, typename P26, typename P27, typename P28, typename P29\r
+    , typename P30, typename P31, typename P32, typename P33, typename P34\r
+    , typename P35, typename P36, typename P37, typename P38, typename P39\r
+    , typename P40, typename P41, typename P42, typename P43, typename P44\r
+    , typename P45, typename P46, typename P47\r
+    >\r
+struct map48\r
+    : m_item<\r
+          typename P47::first\r
+        , typename P47::second\r
+        , 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 >\r
+        >\r
+{\r
+    typedef map48 type;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20, typename P21, typename P22, typename P23, typename P24\r
+    , typename P25, typename P26, typename P27, typename P28, typename P29\r
+    , typename P30, typename P31, typename P32, typename P33, typename P34\r
+    , typename P35, typename P36, typename P37, typename P38, typename P39\r
+    , typename P40, typename P41, typename P42, typename P43, typename P44\r
+    , typename P45, typename P46, typename P47, typename P48\r
+    >\r
+struct map49\r
+    : m_item<\r
+          typename P48::first\r
+        , typename P48::second\r
+        , 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 >\r
+        >\r
+{\r
+    typedef map49 type;\r
+};\r
+\r
+template<\r
+      typename P0, typename P1, typename P2, typename P3, typename P4\r
+    , typename P5, typename P6, typename P7, typename P8, typename P9\r
+    , typename P10, typename P11, typename P12, typename P13, typename P14\r
+    , typename P15, typename P16, typename P17, typename P18, typename P19\r
+    , typename P20, typename P21, typename P22, typename P23, typename P24\r
+    , typename P25, typename P26, typename P27, typename P28, typename P29\r
+    , typename P30, typename P31, typename P32, typename P33, typename P34\r
+    , typename P35, typename P36, typename P37, typename P38, typename P39\r
+    , typename P40, typename P41, typename P42, typename P43, typename P44\r
+    , typename P45, typename P46, typename P47, typename P48, typename P49\r
+    >\r
+struct map50\r
+    : m_item<\r
+          typename P49::first\r
+        , typename P49::second\r
+        , 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 >\r
+        >\r
+{\r
+    typedef map50 type;\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..cb056ea
--- /dev/null
@@ -0,0 +1,33 @@
+\r
+#ifndef BOOST_MPL_MAP_AUX_SIZE_IMPL_HPP_INCLUDED\r
+#define BOOST_MPL_MAP_AUX_SIZE_IMPL_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: size_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/size_fwd.hpp>\r
+#include <boost/mpl/map/aux_/tag.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct size_impl< aux::map_tag >\r
+{\r
+    template< typename Map > struct apply\r
+        : Map::size\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_MAP_AUX_SIZE_IMPL_HPP_INCLUDED\r
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 (file)
index 0000000..81ec0bd
--- /dev/null
@@ -0,0 +1,24 @@
+\r
+#ifndef BOOST_MPL_MAP_AUX_TAG_HPP_INCLUDED\r
+#define BOOST_MPL_MAP_AUX_TAG_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2003-2004\r
+// Copyright David Abrahams 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: tag.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+struct map_tag;\r
+\r
+}}}\r
+\r
+#endif // BOOST_MPL_MAP_AUX_TAG_HPP_INCLUDED\r
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 (file)
index 0000000..0616caa
--- /dev/null
@@ -0,0 +1,36 @@
+\r
+#ifndef BOOST_MPL_MAP_AUX_VALUE_TYPE_IMPL_HPP_INCLUDED\r
+#define BOOST_MPL_MAP_AUX_VALUE_TYPE_IMPL_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2003-2004\r
+// Copyright David Abrahams 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: value_type_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/value_type_fwd.hpp>\r
+#include <boost/mpl/pair.hpp>\r
+#include <boost/mpl/map/aux_/tag.hpp>\r
+\r
+namespace boost {\r
+namespace mpl {\r
+\r
+template<>\r
+struct value_type_impl< aux::map_tag >\r
+{\r
+    template< typename Map, typename T > struct apply\r
+        : second<T>\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_MAP_AUX_VALUE_TYPE_IMPL_HPP_INCLUDED\r
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 (file)
index 0000000..1590ce4
--- /dev/null
@@ -0,0 +1,36 @@
+\r
+#ifndef BOOST_MPL_MAP_MAP0_HPP_INCLUDED\r
+#define BOOST_MPL_MAP_MAP0_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2003-2004\r
+// Copyright David Abrahams 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: map0.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/map/aux_/contains_impl.hpp>\r
+#include <boost/mpl/map/aux_/at_impl.hpp>\r
+//#include <boost/mpl/map/aux_/O1_size.hpp>\r
+#include <boost/mpl/map/aux_/insert_impl.hpp>\r
+#include <boost/mpl/map/aux_/erase_impl.hpp>\r
+#include <boost/mpl/map/aux_/erase_key_impl.hpp>\r
+#include <boost/mpl/map/aux_/has_key_impl.hpp>\r
+#include <boost/mpl/map/aux_/key_type_impl.hpp>\r
+#include <boost/mpl/map/aux_/value_type_impl.hpp>\r
+#include <boost/mpl/map/aux_/clear_impl.hpp>\r
+#include <boost/mpl/map/aux_/size_impl.hpp>\r
+#include <boost/mpl/map/aux_/empty_impl.hpp>\r
+#include <boost/mpl/map/aux_/begin_end_impl.hpp>\r
+#include <boost/mpl/map/aux_/iterator.hpp>\r
+#include <boost/mpl/map/aux_/item.hpp>\r
+#include <boost/mpl/map/aux_/map0.hpp>\r
+#include <boost/mpl/map/aux_/tag.hpp>\r
+\r
+#endif // BOOST_MPL_MAP_MAP0_HPP_INCLUDED\r
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 (file)
index 0000000..f8fed8a
--- /dev/null
@@ -0,0 +1,44 @@
+\r
+#ifndef BOOST_MPL_MAP_MAP10_HPP_INCLUDED\r
+#define BOOST_MPL_MAP_MAP10_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright David Abrahams 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: map10.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#if !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+#   include <boost/mpl/map/map0.hpp>\r
+#endif\r
+\r
+#include <boost/mpl/aux_/config/use_preprocessed.hpp>\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \\r
+    && !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+\r
+#   define BOOST_MPL_PREPROCESSED_HEADER map10.hpp\r
+#   include <boost/mpl/map/aux_/include_preprocessed.hpp>\r
+\r
+#else\r
+\r
+#   include <boost/preprocessor/iterate.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+#   define BOOST_PP_ITERATION_PARAMS_1 \\r
+    (3,(1, 10, <boost/mpl/map/aux_/numbered.hpp>))\r
+#   include BOOST_PP_ITERATE()\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS\r
+\r
+#endif // BOOST_MPL_MAP_MAP10_HPP_INCLUDED\r
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 (file)
index 0000000..0725737
--- /dev/null
@@ -0,0 +1,44 @@
+\r
+#ifndef BOOST_MPL_MAP_MAP20_HPP_INCLUDED\r
+#define BOOST_MPL_MAP_MAP20_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright David Abrahams 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: map20.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#if !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+#   include <boost/mpl/map/map10.hpp>\r
+#endif\r
+\r
+#include <boost/mpl/aux_/config/use_preprocessed.hpp>\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \\r
+    && !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+\r
+#   define BOOST_MPL_PREPROCESSED_HEADER map20.hpp\r
+#   include <boost/mpl/map/aux_/include_preprocessed.hpp>\r
+\r
+#else\r
+\r
+#   include <boost/preprocessor/iterate.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+#   define BOOST_PP_ITERATION_PARAMS_1 \\r
+    (3,(11, 20, <boost/mpl/map/aux_/numbered.hpp>))\r
+#   include BOOST_PP_ITERATE()\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS\r
+\r
+#endif // BOOST_MPL_MAP_MAP20_HPP_INCLUDED\r
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 (file)
index 0000000..feece35
--- /dev/null
@@ -0,0 +1,44 @@
+\r
+#ifndef BOOST_MPL_MAP_MAP30_HPP_INCLUDED\r
+#define BOOST_MPL_MAP_MAP30_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright David Abrahams 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: map30.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#if !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+#   include <boost/mpl/map/map20.hpp>\r
+#endif\r
+\r
+#include <boost/mpl/aux_/config/use_preprocessed.hpp>\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \\r
+    && !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+\r
+#   define BOOST_MPL_PREPROCESSED_HEADER map30.hpp\r
+#   include <boost/mpl/map/aux_/include_preprocessed.hpp>\r
+\r
+#else\r
+\r
+#   include <boost/preprocessor/iterate.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+#   define BOOST_PP_ITERATION_PARAMS_1 \\r
+    (3,(21, 30, <boost/mpl/map/aux_/numbered.hpp>))\r
+#   include BOOST_PP_ITERATE()\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS\r
+\r
+#endif // BOOST_MPL_MAP_MAP30_HPP_INCLUDED\r
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 (file)
index 0000000..7d55c1a
--- /dev/null
@@ -0,0 +1,44 @@
+\r
+#ifndef BOOST_MPL_MAP_MAP40_HPP_INCLUDED\r
+#define BOOST_MPL_MAP_MAP40_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright David Abrahams 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: map40.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#if !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+#   include <boost/mpl/map/map30.hpp>\r
+#endif\r
+\r
+#include <boost/mpl/aux_/config/use_preprocessed.hpp>\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \\r
+    && !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+\r
+#   define BOOST_MPL_PREPROCESSED_HEADER map40.hpp\r
+#   include <boost/mpl/map/aux_/include_preprocessed.hpp>\r
+\r
+#else\r
+\r
+#   include <boost/preprocessor/iterate.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+#   define BOOST_PP_ITERATION_PARAMS_1 \\r
+    (3,(31, 40, <boost/mpl/map/aux_/numbered.hpp>))\r
+#   include BOOST_PP_ITERATE()\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS\r
+\r
+#endif // BOOST_MPL_MAP_MAP40_HPP_INCLUDED\r
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 (file)
index 0000000..1539a6a
--- /dev/null
@@ -0,0 +1,44 @@
+\r
+#ifndef BOOST_MPL_MAP_MAP50_HPP_INCLUDED\r
+#define BOOST_MPL_MAP_MAP50_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright David Abrahams 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: map50.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#if !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+#   include <boost/mpl/map/map40.hpp>\r
+#endif\r
+\r
+#include <boost/mpl/aux_/config/use_preprocessed.hpp>\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \\r
+    && !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+\r
+#   define BOOST_MPL_PREPROCESSED_HEADER map50.hpp\r
+#   include <boost/mpl/map/aux_/include_preprocessed.hpp>\r
+\r
+#else\r
+\r
+#   include <boost/preprocessor/iterate.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+#   define BOOST_PP_ITERATION_PARAMS_1 \\r
+    (3,(41, 50, <boost/mpl/map/aux_/numbered.hpp>))\r
+#   include BOOST_PP_ITERATE()\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS\r
+\r
+#endif // BOOST_MPL_MAP_MAP50_HPP_INCLUDED\r
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 (file)
index 0000000..6c31e22
--- /dev/null
@@ -0,0 +1,36 @@
+\r
+#ifndef BOOST_MPL_FIXED_C_HPP_INCLUDED\r
+#define BOOST_MPL_FIXED_C_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: fixed_c.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/aux_/config/static_constant.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      long IntegerPart\r
+    , unsigned long FractionPart\r
+    >\r
+struct fixed_c\r
+{\r
+    BOOST_STATIC_CONSTANT(long, integer_part = IntegerPart);\r
+    BOOST_STATIC_CONSTANT(unsigned long, fraction_part = FractionPart);\r
+    typedef fixed_c<IntegerPart, FractionPart> type;\r
+    \r
+    fixed_c() {}\r
+};\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_FIXED_C_HPP_INCLUDED\r
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 (file)
index 0000000..60e94cb
--- /dev/null
@@ -0,0 +1,54 @@
+\r
+#ifndef BOOST_MPL_MATH_IS_EVEN_HPP_INCLUDED\r
+#define BOOST_MPL_MATH_IS_EVEN_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: is_even.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/bool.hpp>\r
+#include <boost/mpl/aux_/na_spec.hpp>\r
+#include <boost/mpl/aux_/lambda_support.hpp>\r
+#include <boost/mpl/aux_/config/msvc.hpp>\r
+#include <boost/mpl/aux_/config/workaround.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)\r
+namespace aux\r
+{\r
+  template <class N>\r
+  struct is_even_base\r
+  {\r
+      enum { value = (N::value % 2) == 0 };\r
+      typedef bool_<value> type;\r
+  };\r
+}\r
+#endif \r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N)\r
+    >\r
+struct is_even\r
+#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)\r
+  : aux::is_even_base<N>::type\r
+#else\r
+  : bool_<((N::value % 2) == 0)>\r
+#endif \r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_even,(N))\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(1, is_even)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_MATH_IS_EVEN_HPP_INCLUDED\r
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 (file)
index 0000000..51b9a03
--- /dev/null
@@ -0,0 +1,37 @@
+\r
+#ifndef BOOST_MPL_RATIONAL_C_HPP_INCLUDED\r
+#define BOOST_MPL_RATIONAL_C_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: rational_c.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/aux_/config/static_constant.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename IntegerType\r
+    , IntegerType N\r
+    , IntegerType D = 1\r
+    >\r
+struct rational_c\r
+{\r
+    BOOST_STATIC_CONSTANT(IntegerType, numerator = N);\r
+    BOOST_STATIC_CONSTANT(IntegerType, denominator = D);\r
+    \r
+    typedef rational_c<IntegerType,N,D> type;\r
+    rational_c() {}\r
+};\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_RATIONAL_C_HPP_INCLUDED\r
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 (file)
index 0000000..587e4e2
--- /dev/null
@@ -0,0 +1,19 @@
+\r
+#ifndef BOOST_MPL_MAX_HPP_INCLUDED\r
+#define BOOST_MPL_MAX_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: max.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/min_max.hpp>\r
+\r
+#endif // BOOST_MPL_MAX_HPP_INCLUDED\r
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 (file)
index 0000000..f3d0ddc
--- /dev/null
@@ -0,0 +1,72 @@
+\r
+#ifndef BOOST_MPL_MAX_ELEMENT_HPP_INCLUDED\r
+#define BOOST_MPL_MAX_ELEMENT_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: max_element.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/less.hpp>\r
+#include <boost/mpl/iter_fold.hpp>\r
+#include <boost/mpl/begin_end.hpp>\r
+#include <boost/mpl/if.hpp>\r
+#include <boost/mpl/deref.hpp>\r
+#include <boost/mpl/apply.hpp>\r
+#include <boost/mpl/aux_/common_name_wknd.hpp>\r
+#include <boost/mpl/aux_/na_spec.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+BOOST_MPL_AUX_COMMON_NAME_WKND(max_element)\r
+\r
+namespace aux {\r
+\r
+template< typename Predicate >\r
+struct select_max\r
+{\r
+    template< typename OldIterator, typename Iterator >\r
+    struct apply\r
+    {\r
+        typedef typename apply2<\r
+              Predicate\r
+            , typename deref<OldIterator>::type\r
+            , typename deref<Iterator>::type\r
+            >::type condition_;\r
+\r
+        typedef typename if_<\r
+              condition_\r
+            , Iterator\r
+            , OldIterator\r
+            >::type type;\r
+    };\r
+};\r
+\r
+} // namespace aux \r
+\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(Sequence)\r
+    , typename Predicate = less<_,_>\r
+    >\r
+struct max_element\r
+    : iter_fold<\r
+          Sequence\r
+        , typename begin<Sequence>::type\r
+        , protect< aux::select_max<Predicate> >\r
+        >\r
+{\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(1, max_element)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_MAX_ELEMENT_HPP_INCLUDED\r
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 (file)
index 0000000..cfe153b
--- /dev/null
@@ -0,0 +1,19 @@
+\r
+#ifndef BOOST_MPL_MIN_HPP_INCLUDED\r
+#define BOOST_MPL_MIN_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: min.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/min_max.hpp>\r
+\r
+#endif // BOOST_MPL_MIN_HPP_INCLUDED\r
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 (file)
index 0000000..fdaff77
--- /dev/null
@@ -0,0 +1,40 @@
+\r
+#ifndef BOOST_MPL_MIN_ELEMENT_HPP_INCLUDED\r
+#define BOOST_MPL_MIN_ELEMENT_HPP_INCLUDED\r
+\r
+// Copyright David Abrahams 2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: min_element.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/max_element.hpp>\r
+#include <boost/mpl/not.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+BOOST_MPL_AUX_COMMON_NAME_WKND(min_element)\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(Sequence)\r
+    , typename Predicate = less<_,_>\r
+    >\r
+struct min_element\r
+    : max_element<\r
+          Sequence\r
+        , mpl::not_<Predicate>\r
+        >\r
+{\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(1, min_element)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_MIN_ELEMENT_HPP_INCLUDED\r
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 (file)
index 0000000..c1a6a65
--- /dev/null
@@ -0,0 +1,46 @@
+\r
+#ifndef BOOST_MPL_MIN_MAX_HPP_INCLUDED\r
+#define BOOST_MPL_MIN_MAX_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2008\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: min_max.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/less.hpp>\r
+#include <boost/mpl/if.hpp>\r
+#include <boost/mpl/aux_/na_spec.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct min\r
+    : if_< less<N1,N2>,N1,N2 >\r
+{\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
+    >\r
+struct max\r
+    : if_< less<N1,N2>,N2,N1 >\r
+{\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(2, min)\r
+BOOST_MPL_AUX_NA_SPEC(2, max)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_MIN_MAX_HPP_INCLUDED\r
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 (file)
index 0000000..a09bcbc
--- /dev/null
@@ -0,0 +1,21 @@
+\r
+#ifndef BOOST_MPL_MINUS_HPP_INCLUDED\r
+#define BOOST_MPL_MINUS_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: minus.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#define AUX778076_OP_NAME minus\r
+#define AUX778076_OP_TOKEN -\r
+#include <boost/mpl/aux_/arithmetic_op.hpp>\r
+\r
+#endif // BOOST_MPL_MINUS_HPP_INCLUDED\r
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 (file)
index 0000000..5d10fdb
--- /dev/null
@@ -0,0 +1,22 @@
+\r
+#ifndef BOOST_MPL_MODULUS_HPP_INCLUDED\r
+#define BOOST_MPL_MODULUS_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: modulus.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#define AUX778076_OP_NAME modulus\r
+#define AUX778076_OP_TOKEN %\r
+#define AUX778076_OP_ARITY 2\r
+#include <boost/mpl/aux_/arithmetic_op.hpp>\r
+\r
+#endif // BOOST_MPL_MODULUS_HPP_INCLUDED\r
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 (file)
index 0000000..c2e76bd
--- /dev/null
@@ -0,0 +1,53 @@
+\r
+#ifndef BOOST_MPL_MULTIPLIES_HPP_INCLUDED\r
+#define BOOST_MPL_MULTIPLIES_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: multiplies.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/times.hpp>\r
+#include <boost/mpl/aux_/na_spec.hpp>\r
+#include <boost/mpl/aux_/lambda_support.hpp>\r
+#include <boost/mpl/aux_/preprocessor/default_params.hpp>\r
+#include <boost/mpl/aux_/preprocessor/params.hpp>\r
+#include <boost/mpl/aux_/config/ctps.hpp>\r
+\r
+// backward compatibility header, deprecated\r
+\r
+namespace boost { namespace mpl {\r
+\r
+#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)\r
+#   define AUX778076_OP_ARITY BOOST_MPL_LIMIT_METAFUNCTION_ARITY\r
+#else\r
+#   define AUX778076_OP_ARITY 2\r
+#endif\r
+\r
+template<\r
+      BOOST_MPL_PP_DEFAULT_PARAMS(AUX778076_OP_ARITY, typename N, na)\r
+    >\r
+struct multiplies\r
+    : times< BOOST_MPL_PP_PARAMS(AUX778076_OP_ARITY, N) >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          AUX778076_OP_ARITY\r
+        , multiplies\r
+        , ( BOOST_MPL_PP_PARAMS(AUX778076_OP_ARITY, N) )\r
+        )\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(AUX778076_OP_ARITY, multiplies)\r
+\r
+#undef AUX778076_OP_ARITY\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_MULTIPLIES_HPP_INCLUDED\r
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 (file)
index 0000000..d5dfd80
--- /dev/null
@@ -0,0 +1,82 @@
+\r
+#ifndef BOOST_MPL_MULTISET_AUX_COUNT_IMPL_HPP_INCLUDED\r
+#define BOOST_MPL_MULTISET_AUX_COUNT_IMPL_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: count_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/multiset/aux_/tag.hpp>\r
+#include <boost/mpl/count_fwd.hpp>\r
+#include <boost/mpl/int.hpp>\r
+#include <boost/mpl/aux_/type_wrapper.hpp>\r
+#include <boost/mpl/aux_/static_cast.hpp>\r
+#include <boost/mpl/aux_/config/static_constant.hpp>\r
+#include <boost/mpl/aux_/config/workaround.hpp>\r
+#include <boost/mpl/aux_/config/msvc.hpp>\r
+\r
+#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)\r
+#   include <boost/mpl/if.hpp>\r
+#   include <boost/type_traits/is_reference.hpp>\r
+#endif\r
+\r
+namespace boost { namespace mpl {\r
+\r
+#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)\r
+\r
+namespace aux {\r
+template< typename S, typename U >\r
+struct multiset_count_impl\r
+    : int_< sizeof(S::key_count(BOOST_MPL_AUX_STATIC_CAST(U*,0))) - 1 >\r
+{\r
+};\r
+\r
+template< typename S, typename U >\r
+struct multiset_count_ref_impl\r
+{\r
+    typedef U (* u_)();\r
+    typedef int_< sizeof(S::ref_key_count(BOOST_MPL_AUX_STATIC_CAST(u_,0))) - 1 > type_;\r
+    BOOST_STATIC_CONSTANT(int, value = type_::value);\r
+    typedef type_ type;\r
+};\r
+}\r
+\r
+template<>\r
+struct count_impl< aux::multiset_tag >\r
+{\r
+    template< typename Set, typename Key > struct apply\r
+        : if_< \r
+              is_reference<Key>\r
+            , aux::multiset_count_ref_impl<Set,Key>\r
+            , aux::multiset_count_impl<Set,Key>\r
+            >::type\r
+    {\r
+    };\r
+};\r
+\r
+#else\r
+\r
+template<>\r
+struct count_impl< aux::multiset_tag >\r
+{\r
+    template< typename Set, typename Key > struct apply\r
+    {\r
+        enum { msvc71_wknd_ = sizeof(Set::key_count(BOOST_MPL_AUX_STATIC_CAST(aux::type_wrapper<Key>*,0))) - 1 };\r
+        typedef int_< msvc71_wknd_ > type;\r
+        BOOST_STATIC_CONSTANT(int, value = msvc71_wknd_);\r
+    };\r
+};\r
+\r
+#endif // BOOST_WORKAROUND(BOOST_MSVC, <= 1300)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_MULTISET_AUX_COUNT_IMPL_HPP_INCLUDED\r
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 (file)
index 0000000..b2a3277
--- /dev/null
@@ -0,0 +1,34 @@
+\r
+#ifndef BOOST_MPL_MULTISET_AUX_INSERT_IMPL_HPP_INCLUDED\r
+#define BOOST_MPL_MULTISET_AUX_INSERT_IMPL_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: insert_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/multiset/aux_/item.hpp>\r
+#include <boost/mpl/multiset/aux_/tag.hpp>\r
+#include <boost/mpl/insert_fwd.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct insert_impl< aux::multiset_tag >\r
+{\r
+    template< typename Set, typename Key, typename unused_ > struct apply\r
+    {\r
+        typedef ms_item<Key,Set> type;\r
+    };\r
+};\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_MULTISET_AUX_INSERT_IMPL_HPP_INCLUDED\r
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 (file)
index 0000000..f2ce095
--- /dev/null
@@ -0,0 +1,114 @@
+\r
+#ifndef BOOST_MPL_MULTISET_AUX_ITEM_HPP_INCLUDED\r
+#define BOOST_MPL_MULTISET_AUX_ITEM_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: item.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/multiset/aux_/tag.hpp>\r
+#include <boost/mpl/int.hpp>\r
+#include <boost/mpl/aux_/type_wrapper.hpp>\r
+#include <boost/mpl/aux_/yes_no.hpp>\r
+#include <boost/mpl/aux_/value_wknd.hpp>\r
+#include <boost/mpl/aux_/static_cast.hpp>\r
+#include <boost/mpl/aux_/config/arrays.hpp>\r
+#include <boost/mpl/aux_/config/msvc.hpp>\r
+#include <boost/mpl/aux_/config/workaround.hpp>\r
+\r
+#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)\r
+#   include <boost/mpl/eval_if.hpp>\r
+#   include <boost/mpl/next.hpp>\r
+#   include <boost/type_traits/is_same.hpp>\r
+#endif\r
+\r
+\r
+namespace boost { namespace mpl {\r
+\r
+#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)\r
+\r
+template< typename T, typename Base >\r
+struct ms_item\r
+{\r
+    typedef aux::multiset_tag tag;\r
+\r
+    template< typename U > struct prior_count\r
+    {\r
+        enum { msvc70_wknd_ = sizeof(Base::key_count(BOOST_MPL_AUX_STATIC_CAST(U*,0))) };\r
+        typedef int_< msvc70_wknd_ > count_;\r
+        typedef typename eval_if< is_same<T,U>, next<count_>, count_ >::type c_;\r
+#if defined(BOOST_MPL_CFG_NO_DEPENDENT_ARRAY_TYPES)\r
+        typedef typename aux::weighted_tag<BOOST_MPL_AUX_MSVC_VALUE_WKND(c_)::value>::type type;\r
+#else\r
+        typedef char (&type)[BOOST_MPL_AUX_MSVC_VALUE_WKND(c_)::value];\r
+#endif\r
+    };\r
+\r
+    template< typename U > struct prior_ref_count\r
+    {\r
+        typedef U (* u_)();\r
+        enum { msvc70_wknd_ = sizeof(Base::ref_key_count(BOOST_MPL_AUX_STATIC_CAST(u_,0))) }; \r
+        typedef int_< msvc70_wknd_ > count_;\r
+        typedef typename eval_if< is_same<T,U>, next<count_>, count_ >::type c_;\r
+#if defined(BOOST_MPL_CFG_NO_DEPENDENT_ARRAY_TYPES)\r
+        typedef typename aux::weighted_tag<BOOST_MPL_AUX_MSVC_VALUE_WKND(c_)::value>::type type;\r
+#else\r
+        typedef char (&type)[BOOST_MPL_AUX_MSVC_VALUE_WKND(c_)::value];\r
+#endif\r
+    };\r
+\r
+    template< typename U >\r
+    static typename prior_count<U>::type key_count(U*);\r
+\r
+    template< typename U >\r
+    static typename prior_ref_count<U>::type ref_key_count(U (*)());\r
+};\r
+\r
+#else // BOOST_WORKAROUND(BOOST_MSVC, <= 1300)\r
+\r
+namespace aux {\r
+template< typename U, typename Base >\r
+struct prior_key_count\r
+{\r
+    enum { msvc71_wknd_ = sizeof(Base::key_count(BOOST_MPL_AUX_STATIC_CAST(aux::type_wrapper<U>*,0))) }; \r
+    typedef int_< msvc71_wknd_ > count_;\r
+#if defined(BOOST_MPL_CFG_NO_DEPENDENT_ARRAY_TYPES)\r
+    typedef typename aux::weighted_tag< BOOST_MPL_AUX_VALUE_WKND(count_)::value >::type type;\r
+#else\r
+    typedef char (&type)[count_::value];\r
+#endif\r
+};\r
+}\r
+\r
+template< typename T, typename Base >\r
+struct ms_item\r
+{\r
+    typedef aux::multiset_tag tag;\r
+\r
+    enum { msvc71_wknd_ = sizeof(Base::key_count(BOOST_MPL_AUX_STATIC_CAST(aux::type_wrapper<T>*,0))) + 1 };\r
+    typedef int_< msvc71_wknd_ > count_;\r
+#if defined(BOOST_MPL_CFG_NO_DEPENDENT_ARRAY_TYPES)\r
+    static \r
+    typename aux::weighted_tag< BOOST_MPL_AUX_VALUE_WKND(count_)::value >::type\r
+        key_count(aux::type_wrapper<T>*);\r
+#else\r
+    static char (& key_count(aux::type_wrapper<T>*) )[count_::value];\r
+#endif\r
+\r
+    template< typename U >\r
+    static typename aux::prior_key_count<U,Base>::type key_count(aux::type_wrapper<U>*);\r
+};\r
+\r
+#endif // BOOST_WORKAROUND(BOOST_MSVC, <= 1300)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_MULTISET_AUX_ITEM_HPP_INCLUDED\r
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 (file)
index 0000000..eed9c95
--- /dev/null
@@ -0,0 +1,34 @@
+\r
+#ifndef BOOST_MPL_MULTISET_AUX_MULTISET0_HPP_INCLUDED\r
+#define BOOST_MPL_MULTISET_AUX_MULTISET0_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: multiset0.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/multiset/aux_/tag.hpp>\r
+#include <boost/mpl/int.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template< int dummy_ = 0 >\r
+struct multiset0\r
+{\r
+    typedef aux::multiset_tag tag;\r
+\r
+    typedef int_<1> count_;\r
+    static char (& key_count(...) )[count_::value];\r
+    static char (& ref_key_count(...) )[count_::value];\r
+};\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_MULTISET_AUX_MULTISET0_HPP_INCLUDED\r
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 (file)
index 0000000..ae02649
--- /dev/null
@@ -0,0 +1,23 @@
+\r
+#ifndef BOOST_MPL_MULTISET_AUX_TAG_HPP_INCLUDED\r
+#define BOOST_MPL_MULTISET_AUX_TAG_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: tag.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+struct multiset_tag;\r
+\r
+}}}\r
+\r
+#endif // BOOST_MPL_MULTISET_AUX_TAG_HPP_INCLUDED\r
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 (file)
index 0000000..3eb2537
--- /dev/null
@@ -0,0 +1,36 @@
+\r
+#ifndef BOOST_MPL_MULTISET_MULTISET0_HPP_INCLUDED\r
+#define BOOST_MPL_MULTISET_MULTISET0_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: multiset0.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+//#include <boost/mpl/multiset/aux_/at.hpp>\r
+//#include <boost/mpl/multiset/aux_/front.hpp>\r
+//#include <boost/mpl/multiset/aux_/push_front.hpp>\r
+//#include <boost/mpl/multiset/aux_/pop_front.hpp>\r
+//#include <boost/mpl/multiset/aux_/back.hpp>\r
+//#include <boost/mpl/multiset/aux_/clear.hpp>\r
+//#include <boost/mpl/multiset/aux_/O1_size.hpp>\r
+//#include <boost/mpl/multiset/aux_/size.hpp>\r
+//#include <boost/mpl/multiset/aux_/empty.hpp>\r
+//#include <boost/mpl/multiset/aux_/empty.hpp>\r
+#include <boost/mpl/multiset/aux_/insert_impl.hpp>\r
+#include <boost/mpl/multiset/aux_/count_impl.hpp>\r
+//#include <boost/mpl/multiset/aux_/has_key_impl.hpp>\r
+//#include <boost/mpl/multiset/aux_/begin_end_impl.hpp>\r
+//#include <boost/mpl/multiset/aux_/iterator.hpp>\r
+#include <boost/mpl/multiset/aux_/item.hpp>\r
+#include <boost/mpl/multiset/aux_/multiset0.hpp>\r
+#include <boost/mpl/multiset/aux_/tag.hpp>\r
+\r
+#endif // BOOST_MPL_MULTISET_MULTISET0_HPP_INCLUDED\r
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 (file)
index 0000000..b1fdec4
--- /dev/null
@@ -0,0 +1,81 @@
+\r
+#ifndef BOOST_MPL_NEGATE_HPP_INCLUDED\r
+#define BOOST_MPL_NEGATE_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: negate.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/integral_c.hpp>\r
+#include <boost/mpl/aux_/msvc_eti_base.hpp>\r
+#include <boost/mpl/aux_/na_spec.hpp>\r
+#include <boost/mpl/aux_/lambda_support.hpp>\r
+#include <boost/mpl/aux_/config/eti.hpp>\r
+#include <boost/mpl/aux_/config/integral.hpp>\r
+#include <boost/mpl/aux_/config/static_constant.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template< typename Tag > struct negate_impl;\r
+\r
+template< typename T > struct negate_tag\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(N)\r
+    >\r
+struct negate\r
+#if !defined(BOOST_MPL_CFG_MSVC_ETI_BUG)\r
+    : negate_impl<\r
+          typename negate_tag<N>::type\r
+        >::template apply<N>::type\r
+#else\r
+    : aux::msvc_eti_base< typename apply_wrap1<\r
+          negate_impl< typename negate_tag<N>::type >\r
+        , N\r
+        >::type >::type\r
+#endif\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(1, negate, (N))\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(1, negate)\r
+\r
+\r
+#if defined(BOOST_MPL_CFG_NO_NESTED_VALUE_ARITHMETIC)\r
+namespace aux {\r
+template< typename T, T n > struct negate_wknd\r
+{\r
+    BOOST_STATIC_CONSTANT(T, value = -n);\r
+    typedef integral_c<T,value> type;\r
+};\r
+}\r
+#endif\r
+\r
+template<>\r
+struct negate_impl<integral_c_tag>\r
+{\r
+#if defined(BOOST_MPL_CFG_NO_NESTED_VALUE_ARITHMETIC)\r
+    template< typename N > struct apply\r
+        : aux::negate_wknd< typename N::value_type, N::value >\r
+#else\r
+    template< typename N > struct apply\r
+        : integral_c< typename N::value_type, (-N::value) >\r
+#endif    \r
+    {\r
+    };\r
+};\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_NEGATE_HPP_INCLUDED\r
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 (file)
index 0000000..426159a
--- /dev/null
@@ -0,0 +1,19 @@
+\r
+#ifndef BOOST_MPL_NEXT_HPP_INCLUDED\r
+#define BOOST_MPL_NEXT_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: next.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/next_prior.hpp>\r
+\r
+#endif // BOOST_MPL_NEXT_HPP_INCLUDED\r
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 (file)
index 0000000..6a6d037
--- /dev/null
@@ -0,0 +1,49 @@
+\r
+#ifndef BOOST_MPL_NEXT_PRIOR_HPP_INCLUDED\r
+#define BOOST_MPL_NEXT_PRIOR_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: next_prior.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/aux_/common_name_wknd.hpp>\r
+#include <boost/mpl/aux_/na_spec.hpp>\r
+#include <boost/mpl/aux_/lambda_support.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+BOOST_MPL_AUX_COMMON_NAME_WKND(next)\r
+BOOST_MPL_AUX_COMMON_NAME_WKND(prior)\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(T)\r
+    >\r
+struct next\r
+{\r
+    typedef typename T::next type;\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,next,(T))\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(T)\r
+    >\r
+struct prior\r
+{\r
+    typedef typename T::prior type;\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,prior,(T))\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(1, next)\r
+BOOST_MPL_AUX_NA_SPEC(1, prior)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_NEXT_PRIOR_HPP_INCLUDED\r
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 (file)
index 0000000..6a9c282
--- /dev/null
@@ -0,0 +1,51 @@
+\r
+#ifndef BOOST_MPL_NOT_HPP_INCLUDED\r
+#define BOOST_MPL_NOT_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: not.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/bool.hpp>\r
+#include <boost/mpl/aux_/nttp_decl.hpp>\r
+#include <boost/mpl/aux_/nested_type_wknd.hpp>\r
+#include <boost/mpl/aux_/na_spec.hpp>\r
+#include <boost/mpl/aux_/lambda_support.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+\r
+template< BOOST_MPL_AUX_NTTP_DECL(long, C_) > // 'long' is intentional here\r
+struct not_impl\r
+    : bool_<!C_>\r
+{\r
+};\r
+\r
+} // namespace aux\r
+\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(T)\r
+    >\r
+struct not_\r
+    : aux::not_impl<\r
+          BOOST_MPL_AUX_NESTED_TYPE_WKND(T)::value\r
+        >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,not_,(T))\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(1,not_)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_NOT_HPP_INCLUDED\r
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 (file)
index 0000000..420c647
--- /dev/null
@@ -0,0 +1,21 @@
+\r
+#ifndef BOOST_MPL_NOT_EQUAL_TO_HPP_INCLUDED\r
+#define BOOST_MPL_NOT_EQUAL_TO_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: not_equal_to.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#define AUX778076_OP_NAME not_equal_to\r
+#define AUX778076_OP_TOKEN !=\r
+#include <boost/mpl/aux_/comparison_op.hpp>\r
+\r
+#endif // BOOST_MPL_NOT_EQUAL_TO_HPP_INCLUDED\r
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 (file)
index 0000000..d065016
--- /dev/null
@@ -0,0 +1,41 @@
+\r
+#ifndef BOOST_MPL_NUMERIC_CAST_HPP_INCLUDED\r
+#define BOOST_MPL_NUMERIC_CAST_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0.\r
+// (See accompanying file LICENSE_1_0.txt or copy at\r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: numeric_cast.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/aux_/config/msvc.hpp>\r
+#include <boost/mpl/aux_/config/workaround.hpp>\r
+\r
+// agurt 21/sep/04: portability macro for the sake of MSVC 6.x-7.0;\r
+// resolves conflicts with 'boost::numeric_cast' function template.\r
+// use it in your own code _only_ if you care about compatibility with\r
+// these outdated compilers!\r
+#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x570) )\r
+#   define BOOST_MPL_AUX_NUMERIC_CAST numeric_cast_\r
+#else\r
+#   define BOOST_MPL_AUX_NUMERIC_CAST numeric_cast\r
+#endif\r
+\r
+namespace boost { namespace mpl {\r
+\r
+// no default implementation; the definition is needed to make MSVC happy\r
+\r
+template< typename SourceTag, typename TargetTag > struct BOOST_MPL_AUX_NUMERIC_CAST\r
+{\r
+    template< typename N > struct apply;\r
+};\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_NUMERIC_CAST_HPP_INCLUDED\r
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 (file)
index 0000000..45fa215
--- /dev/null
@@ -0,0 +1,61 @@
+\r
+#ifndef BOOST_MPL_OR_HPP_INCLUDED\r
+#define BOOST_MPL_OR_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: or.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/aux_/config/use_preprocessed.hpp>\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \\r
+    && !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+\r
+#   include <boost/mpl/bool.hpp>\r
+#   include <boost/mpl/aux_/nested_type_wknd.hpp>\r
+#   include <boost/mpl/aux_/na_spec.hpp>\r
+#   include <boost/mpl/aux_/lambda_support.hpp>\r
+#   include <boost/mpl/aux_/config/msvc.hpp>\r
+\r
+// agurt, 19/may/04: workaround a conflict with <iso646.h> header's \r
+// 'or' and 'and' macros, see http://tinyurl.com/3et69; 'defined(or)'\r
+// has to be checked in a separate condition, otherwise GCC complains \r
+// about 'or' being an alternative token\r
+#if defined(_MSC_VER)\r
+#ifndef __GCCXML__\r
+#if defined(or)\r
+#   pragma push_macro("or")\r
+#   undef or\r
+#   define or(x)\r
+#endif\r
+#endif\r
+#endif\r
+\r
+#   define BOOST_MPL_PREPROCESSED_HEADER or.hpp\r
+#   include <boost/mpl/aux_/include_preprocessed.hpp>\r
+\r
+#if defined(_MSC_VER) \r
+#ifndef __GCCXML__\r
+#if defined(or)\r
+#   pragma pop_macro("or")\r
+#endif\r
+#endif\r
+#endif\r
+\r
+#else\r
+\r
+#   define AUX778076_OP_NAME or_\r
+#   define AUX778076_OP_VALUE1 true\r
+#   define AUX778076_OP_VALUE2 false\r
+#   include <boost/mpl/aux_/logical_op.hpp>\r
+\r
+#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS\r
+#endif // BOOST_MPL_OR_HPP_INCLUDED\r
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 (file)
index 0000000..86a2027
--- /dev/null
@@ -0,0 +1,41 @@
+\r
+#ifndef BOOST_MPL_ORDER_HPP_INCLUDED\r
+#define BOOST_MPL_ORDER_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2003-2004\r
+// Copyright David Abrahams 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: order.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/order_fwd.hpp>\r
+#include <boost/mpl/sequence_tag.hpp>\r
+#include <boost/mpl/aux_/order_impl.hpp>\r
+#include <boost/mpl/aux_/na_spec.hpp>\r
+#include <boost/mpl/aux_/lambda_support.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(AssociativeSequence)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(Key)\r
+    >\r
+struct order\r
+    : order_impl< typename sequence_tag<AssociativeSequence>::type >\r
+        ::template apply<AssociativeSequence,Key>\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2,order,(AssociativeSequence,Key))\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(2, order)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_ORDER_HPP_INCLUDED\r
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 (file)
index 0000000..6a26391
--- /dev/null
@@ -0,0 +1,25 @@
+\r
+#ifndef BOOST_MPL_ORDER_FWD_HPP_INCLUDED\r
+#define BOOST_MPL_ORDER_FWD_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2003-2004\r
+// Copyright David Abrahams 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: order_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template< typename Tag > struct order_impl;\r
+template< typename AssociativeSequence, typename Key > struct order;\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_ORDER_FWD_HPP_INCLUDED\r
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 (file)
index 0000000..3d53542
--- /dev/null
@@ -0,0 +1,70 @@
+\r
+#ifndef BOOST_MPL_PAIR_HPP_INCLUDED\r
+#define BOOST_MPL_PAIR_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: pair.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/aux_/msvc_eti_base.hpp>\r
+#include <boost/mpl/aux_/na_spec.hpp>\r
+#include <boost/mpl/aux_/lambda_support.hpp>\r
+#include <boost/mpl/aux_/config/eti.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(T1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(T2)\r
+    >\r
+struct pair\r
+{\r
+    typedef pair type;\r
+    typedef T1 first;\r
+    typedef T2 second;\r
+\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2,pair,(T1,T2))\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(P)\r
+    >\r
+struct first\r
+{\r
+#if !defined(BOOST_MPL_CFG_MSVC_70_ETI_BUG)\r
+    typedef typename P::first type;\r
+#else\r
+    typedef typename aux::msvc_eti_base<P>::first type;\r
+#endif\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,first,(P))\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(P)\r
+    >\r
+struct second\r
+{\r
+#if !defined(BOOST_MPL_CFG_MSVC_70_ETI_BUG)\r
+    typedef typename P::second type;\r
+#else\r
+    typedef typename aux::msvc_eti_base<P>::second type;\r
+#endif\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,second,(P))\r
+};\r
+\r
+\r
+BOOST_MPL_AUX_NA_SPEC_NO_ETI(2, pair)\r
+BOOST_MPL_AUX_NA_SPEC(1, first)\r
+BOOST_MPL_AUX_NA_SPEC(1, second)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_PAIR_HPP_INCLUDED\r
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 (file)
index 0000000..378d476
--- /dev/null
@@ -0,0 +1,169 @@
+\r
+#ifndef BOOST_MPL_PAIR_VIEW_HPP_INCLUDED\r
+#define BOOST_MPL_PAIR_VIEW_HPP_INCLUDED\r
+\r
+// Copyright David Abrahams 2003-2004\r
+// Copyright Aleksey Gurtovoy 2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: pair_view.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/begin_end.hpp>\r
+#include <boost/mpl/iterator_category.hpp>\r
+#include <boost/mpl/advance.hpp>\r
+#include <boost/mpl/distance.hpp>\r
+#include <boost/mpl/next_prior.hpp>\r
+#include <boost/mpl/deref.hpp>\r
+#include <boost/mpl/min_max.hpp>\r
+#include <boost/mpl/pair.hpp>\r
+#include <boost/mpl/iterator_tags.hpp>\r
+#include <boost/mpl/aux_/config/ctps.hpp>\r
+#include <boost/mpl/aux_/na_spec.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+struct pair_iter_tag;\r
+\r
+#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)\r
+\r
+template< typename Iter1, typename Iter2, typename Category >\r
+struct pair_iter;\r
+\r
+template< typename Category > struct prior_pair_iter\r
+{\r
+    template< typename Iter1, typename Iter2 > struct apply\r
+    {\r
+        typedef typename mpl::prior<Iter1>::type i1_;\r
+        typedef typename mpl::prior<Iter2>::type i2_;\r
+        typedef pair_iter<i1_,i2_,Category> type;\r
+    };\r
+};\r
+\r
+template<> struct prior_pair_iter<forward_iterator_tag>\r
+{\r
+    template< typename Iter1, typename Iter2 > struct apply\r
+    {\r
+        typedef pair_iter<Iter1,Iter2,forward_iterator_tag> type;\r
+    };\r
+};\r
+\r
+#endif\r
+}\r
+\r
+template< \r
+      typename Iter1\r
+    , typename Iter2\r
+    , typename Category\r
+    >\r
+struct pair_iter\r
+{\r
+    typedef aux::pair_iter_tag tag;\r
+    typedef Category category;\r
+    typedef Iter1 first;\r
+    typedef Iter2 second;\r
+    \r
+#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)\r
+    typedef pair< \r
+          typename deref<Iter1>::type\r
+        , typename deref<Iter2>::type\r
+        > type;\r
+\r
+    typedef typename mpl::next<Iter1>::type i1_;\r
+    typedef typename mpl::next<Iter2>::type i2_;\r
+    typedef pair_iter<i1_,i2_,Category> next;\r
+    \r
+    typedef apply_wrap2< aux::prior_pair_iter<Category>,Iter1,Iter2 >::type prior;\r
+#endif\r
+};\r
+\r
+\r
+#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)\r
+\r
+template< typename Iter1, typename Iter2, typename C >\r
+struct deref< pair_iter<Iter1,Iter2,C> >\r
+{\r
+    typedef pair< \r
+          typename deref<Iter1>::type\r
+        , typename deref<Iter2>::type\r
+        > type;\r
+};\r
+\r
+template< typename Iter1, typename Iter2, typename C >\r
+struct next< pair_iter<Iter1,Iter2,C> >\r
+{\r
+    typedef typename mpl::next<Iter1>::type i1_;\r
+    typedef typename mpl::next<Iter2>::type i2_;\r
+    typedef pair_iter<i1_,i2_,C> type;\r
+};\r
+\r
+template< typename Iter1, typename Iter2, typename C >\r
+struct prior< pair_iter<Iter1,Iter2,C> >\r
+{\r
+    typedef typename mpl::prior<Iter1>::type i1_;\r
+    typedef typename mpl::prior<Iter2>::type i2_;\r
+    typedef pair_iter<i1_,i2_,C> type;\r
+};\r
+\r
+#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+\r
+\r
+template<> struct advance_impl<aux::pair_iter_tag>\r
+{\r
+    template< typename Iter, typename D > struct apply\r
+    {\r
+        typedef typename mpl::advance< typename Iter::first,D >::type i1_;\r
+        typedef typename mpl::advance< typename Iter::second,D >::type i2_;\r
+        typedef pair_iter<i1_,i2_,typename Iter::category> type;\r
+    };\r
+};\r
+\r
+template<> struct distance_impl<aux::pair_iter_tag>\r
+{\r
+    template< typename Iter1, typename Iter2 > struct apply\r
+    {\r
+        // agurt, 10/nov/04: MSVC 6.5 ICE-s on forwarding\r
+        typedef typename mpl::distance<\r
+              typename first<Iter1>::type\r
+            , typename first<Iter2>::type\r
+            >::type type;\r
+    };\r
+};\r
+\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(Sequence1)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(Sequence2)\r
+    >\r
+struct pair_view\r
+{\r
+    typedef nested_begin_end_tag tag;\r
+\r
+    typedef typename begin<Sequence1>::type iter1_;\r
+    typedef typename begin<Sequence2>::type iter2_;\r
+    typedef typename min<\r
+          typename iterator_category<iter1_>::type\r
+        , typename iterator_category<iter2_>::type\r
+        >::type category_;\r
+    \r
+    typedef pair_iter<iter1_,iter2_,category_> begin;\r
+    \r
+    typedef pair_iter<\r
+          typename end<Sequence1>::type\r
+        , typename end<Sequence2>::type\r
+        , category_\r
+        > end;\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(2, pair_view)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_PAIR_VIEW_HPP_INCLUDED\r
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 (file)
index 0000000..96595bf
--- /dev/null
@@ -0,0 +1,53 @@
+\r
+#ifndef BOOST_MPL_PARTITION_HPP_INCLUDED\r
+#define BOOST_MPL_PARTITION_HPP_INCLUDED\r
+\r
+// Copyright Eric Friedman 2002-2003\r
+// Copyright Aleksey Gurtovoy 2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: partition.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/stable_partition.hpp>\r
+#include <boost/mpl/aux_/inserter_algorithm.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
\r
+template <\r
+      typename Sequence\r
+    , typename Pred\r
+    , typename In1\r
+    , typename In2\r
+    >\r
+struct partition_impl\r
+    : stable_partition_impl<Sequence,Pred,In1,In2>\r
+{\r
+};\r
+\r
+template <\r
+      typename Sequence\r
+    , typename Pred\r
+    , typename In1\r
+    , typename In2\r
+    >\r
+struct reverse_partition_impl\r
+    : reverse_stable_partition_impl<Sequence,Pred,In1,In2>\r
+{\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_INSERTER_ALGORITHM_DEF(4, partition)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_PARTITION_HPP_INCLUDED\r
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 (file)
index 0000000..acd3071
--- /dev/null
@@ -0,0 +1,100 @@
+\r
+#if !defined(BOOST_PP_IS_ITERATING)\r
+\r
+///// header body\r
+\r
+#ifndef BOOST_MPL_PLACEHOLDERS_HPP_INCLUDED\r
+#define BOOST_MPL_PLACEHOLDERS_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+// Copyright Peter Dimov 2001-2003\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: placeholders.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+\r
+#if !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+#   include <boost/mpl/arg.hpp>\r
+#   include <boost/mpl/aux_/adl_barrier.hpp>\r
+\r
+#   if !defined(BOOST_MPL_CFG_NO_ADL_BARRIER_NAMESPACE)\r
+#       define BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(type) \\r
+        using ::BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::type; \\r
+        /**/\r
+#   else\r
+#       define BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(type) /**/\r
+#   endif\r
+\r
+#endif\r
+\r
+#include <boost/mpl/aux_/config/use_preprocessed.hpp>\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \\r
+ && !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+\r
+#   define BOOST_MPL_PREPROCESSED_HEADER placeholders.hpp\r
+#   include <boost/mpl/aux_/include_preprocessed.hpp>\r
+\r
+#else\r
+\r
+#   include <boost/mpl/aux_/nttp_decl.hpp>\r
+#   include <boost/mpl/limits/arity.hpp>\r
+#   include <boost/preprocessor/iterate.hpp>\r
+#   include <boost/preprocessor/cat.hpp>\r
+\r
+// watch out for GNU gettext users, who #define _(x)\r
+#if !defined(_) || defined(BOOST_MPL_CFG_NO_UNNAMED_PLACEHOLDER_SUPPORT)\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+typedef arg<-1> _;\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+\r
+namespace boost { namespace mpl { \r
+\r
+BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_)\r
+\r
+namespace placeholders {\r
+using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_;\r
+}\r
+\r
+}}\r
+#endif\r
+\r
+/// agurt, 17/mar/02: one more placeholder for the last 'apply#' \r
+/// specialization\r
+#define BOOST_PP_ITERATION_PARAMS_1 \\r
+    (3,(1, BOOST_MPL_LIMIT_METAFUNCTION_ARITY + 1, <boost/mpl/placeholders.hpp>))\r
+#include BOOST_PP_ITERATE()\r
+\r
+#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS\r
+#endif // BOOST_MPL_PLACEHOLDERS_HPP_INCLUDED\r
+\r
+///// iteration\r
+\r
+#else\r
+#define i_ BOOST_PP_FRAME_ITERATION(1)\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+\r
+typedef arg<i_> BOOST_PP_CAT(_,i_);\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+\r
+namespace boost { namespace mpl { \r
+\r
+BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(BOOST_PP_CAT(_,i_))\r
+\r
+namespace placeholders {\r
+using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::BOOST_PP_CAT(_,i_);\r
+}\r
+\r
+}}\r
+\r
+#undef i_\r
+#endif // BOOST_PP_IS_ITERATING\r
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 (file)
index 0000000..2061c0c
--- /dev/null
@@ -0,0 +1,21 @@
+\r
+#ifndef BOOST_MPL_PLUS_HPP_INCLUDED\r
+#define BOOST_MPL_PLUS_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: plus.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#define AUX778076_OP_NAME plus\r
+#define AUX778076_OP_TOKEN +\r
+#include <boost/mpl/aux_/arithmetic_op.hpp>\r
+\r
+#endif // BOOST_MPL_PLUS_HPP_INCLUDED\r
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 (file)
index 0000000..a698870
--- /dev/null
@@ -0,0 +1,39 @@
+\r
+#ifndef BOOST_MPL_POP_BACK_HPP_INCLUDED\r
+#define BOOST_MPL_POP_BACK_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: pop_back.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/pop_back_fwd.hpp>\r
+#include <boost/mpl/aux_/pop_back_impl.hpp>\r
+#include <boost/mpl/sequence_tag.hpp>\r
+#include <boost/mpl/aux_/na_spec.hpp>\r
+#include <boost/mpl/aux_/lambda_support.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(Sequence)\r
+    >\r
+struct pop_back\r
+    : pop_back_impl< typename sequence_tag<Sequence>::type >\r
+        ::template apply< Sequence >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,pop_back,(Sequence))\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(1, pop_back)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_POP_BACK_HPP_INCLUDED\r
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 (file)
index 0000000..1d9c24c
--- /dev/null
@@ -0,0 +1,24 @@
+\r
+#ifndef BOOST_MPL_POP_BACK_FWD_HPP_INCLUDED\r
+#define BOOST_MPL_POP_BACK_FWD_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: pop_back_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template< typename Tag > struct pop_back_impl;\r
+template< typename Sequence > struct pop_back;\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_POP_BACK_FWD_HPP_INCLUDED\r
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 (file)
index 0000000..7800b26
--- /dev/null
@@ -0,0 +1,39 @@
+\r
+#ifndef BOOST_MPL_POP_FRONT_HPP_INCLUDED\r
+#define BOOST_MPL_POP_FRONT_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: pop_front.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/pop_front_fwd.hpp>\r
+#include <boost/mpl/aux_/pop_front_impl.hpp>\r
+#include <boost/mpl/sequence_tag.hpp>\r
+#include <boost/mpl/aux_/na_spec.hpp>\r
+#include <boost/mpl/aux_/lambda_support.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(Sequence)\r
+    >\r
+struct pop_front\r
+    : pop_front_impl< typename sequence_tag<Sequence>::type >\r
+        ::template apply< Sequence >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,pop_front,(Sequence))\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(1, pop_front)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_POP_FRONT_HPP_INCLUDED\r
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 (file)
index 0000000..6a2aea4
--- /dev/null
@@ -0,0 +1,24 @@
+\r
+#ifndef BOOST_MPL_POP_FRONT_FWD_HPP_INCLUDED\r
+#define BOOST_MPL_POP_FRONT_FWD_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: pop_front_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template< typename Tag > struct pop_front_impl;\r
+template< typename Sequence > struct pop_front;\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_POP_FRONT_FWD_HPP_INCLUDED\r
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 (file)
index 0000000..b1a4484
--- /dev/null
@@ -0,0 +1,74 @@
+\r
+#ifndef BOOST_MPL_PRINT_HPP_INCLUDED\r
+#define BOOST_MPL_PRINT_HPP_INCLUDED\r
+\r
+// Copyright David Abrahams 2003\r
+// Copyright Aleksey Gurtovoy 2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: print.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/aux_/config/msvc.hpp>\r
+#include <boost/mpl/identity.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+  \r
+namespace aux {\r
+#if defined(BOOST_MSVC)\r
+# pragma warning(push, 3)\r
+// we only want one warning from MSVC, so turn off the other one\r
+# pragma warning(disable: 4307)\r
+#elif defined(__MWERKS__)\r
+# pragma warn_hidevirtual on\r
+   struct print_base { virtual void f() {} };\r
+#endif\r
+\r
+#if defined(__EDG_VERSION__)\r
+  template <class T>\r
+  struct dependent_unsigned\r
+  {\r
+      static const unsigned value = 1;\r
+  };\r
+#endif\r
+} // namespace aux \r
+\r
+\r
+template <class T>\r
+struct print\r
+    : mpl::identity<T>\r
+#if defined(__MWERKS__)\r
+    , aux::print_base\r
+#endif \r
+{\r
+#if defined(BOOST_MSVC)\r
+    enum { n = sizeof(T) + -1 };\r
+#elif defined(__MWERKS__)\r
+    void f(int);\r
+#else \r
+    enum {\r
+        n =\r
+# if defined(__EDG_VERSION__)\r
+           aux::dependent_unsigned<T>::value > -1\r
+# else \r
+           sizeof(T) > -1\r
+# endif \r
+        };\r
+#endif \r
+};\r
+\r
+#if defined(BOOST_MSVC)\r
+# pragma warning(pop)\r
+#elif defined(__MWERKS__)\r
+# pragma warn_hidevirtual reset\r
+#endif\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_PRINT_HPP_INCLUDED\r
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 (file)
index 0000000..8f4bf89
--- /dev/null
@@ -0,0 +1,19 @@
+\r
+#ifndef BOOST_MPL_PRIOR_HPP_INCLUDED\r
+#define BOOST_MPL_PRIOR_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: prior.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/next_prior.hpp>\r
+\r
+#endif // BOOST_MPL_PRIOR_HPP_INCLUDED\r
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 (file)
index 0000000..604754a
--- /dev/null
@@ -0,0 +1,55 @@
+\r
+#ifndef BOOST_MPL_PROTECT_HPP_INCLUDED\r
+#define BOOST_MPL_PROTECT_HPP_INCLUDED\r
+\r
+// Copyright Peter Dimov 2001\r
+// Copyright Aleksey Gurtovoy 2002-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: protect.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/aux_/arity.hpp>\r
+#include <boost/mpl/aux_/config/dtp.hpp>\r
+#include <boost/mpl/aux_/nttp_decl.hpp>\r
+#include <boost/mpl/aux_/na_spec.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(T)\r
+    , int not_le_ = 0\r
+    >\r
+struct protect : T\r
+{\r
+#if BOOST_WORKAROUND(__EDG_VERSION__, == 238)\r
+    typedef mpl::protect type;\r
+#else\r
+    typedef protect type;\r
+#endif\r
+};\r
+\r
+#if defined(BOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES)\r
+namespace aux { \r
+template< BOOST_MPL_AUX_NTTP_DECL(int, N), typename T >\r
+struct arity< protect<T>, N > \r
+    : arity<T,N>\r
+{ \r
+};\r
+} // namespace aux\r
+#endif\r
+\r
+BOOST_MPL_AUX_NA_SPEC_MAIN(1, protect)\r
+#if !defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT)\r
+BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(1, 1, protect)\r
+#endif\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_PROTECT_HPP_INCLUDED\r
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 (file)
index 0000000..6331f35
--- /dev/null
@@ -0,0 +1,53 @@
+\r
+#ifndef BOOST_MPL_PUSH_BACK_HPP_INCLUDED\r
+#define BOOST_MPL_PUSH_BACK_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: push_back.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/push_back_fwd.hpp>\r
+#include <boost/mpl/aux_/push_back_impl.hpp>\r
+#include <boost/mpl/sequence_tag.hpp>\r
+#include <boost/mpl/aux_/na_spec.hpp>\r
+#include <boost/mpl/aux_/lambda_support.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(Sequence)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(T)\r
+    >\r
+struct push_back\r
+    : push_back_impl< typename sequence_tag<Sequence>::type >\r
+        ::template apply< Sequence,T >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2,push_back,(Sequence,T))\r
+};\r
+\r
+\r
+template< \r
+      typename BOOST_MPL_AUX_NA_PARAM(Sequence)\r
+    >\r
+struct has_push_back\r
+    : has_push_back_impl< typename sequence_tag<Sequence>::type >\r
+        ::template apply< Sequence >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,has_push_back,(Sequence))\r
+};\r
+\r
+\r
+BOOST_MPL_AUX_NA_SPEC(2, push_back)\r
+BOOST_MPL_AUX_NA_SPEC(1, has_push_back)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_PUSH_BACK_HPP_INCLUDED\r
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 (file)
index 0000000..9093b84
--- /dev/null
@@ -0,0 +1,24 @@
+\r
+#ifndef BOOST_MPL_PUSH_BACK_FWD_HPP_INCLUDED\r
+#define BOOST_MPL_PUSH_BACK_FWD_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: push_back_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template< typename Tag > struct push_back_impl;\r
+template< typename Sequence, typename T > struct push_back;\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_PUSH_BACK_FWD_HPP_INCLUDED\r
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 (file)
index 0000000..654fdcd
--- /dev/null
@@ -0,0 +1,52 @@
+\r
+#ifndef BOOST_MPL_PUSH_FRONT_HPP_INCLUDED\r
+#define BOOST_MPL_PUSH_FRONT_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: push_front.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/push_front_fwd.hpp>\r
+#include <boost/mpl/aux_/push_front_impl.hpp>\r
+#include <boost/mpl/sequence_tag.hpp>\r
+#include <boost/mpl/aux_/na_spec.hpp>\r
+#include <boost/mpl/aux_/lambda_support.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(Sequence)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(T)\r
+    >\r
+struct push_front\r
+    : push_front_impl< typename sequence_tag<Sequence>::type >\r
+        ::template apply< Sequence,T >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2,push_front,(Sequence,T))\r
+};\r
+\r
+\r
+template< \r
+      typename BOOST_MPL_AUX_NA_PARAM(Sequence)\r
+    >\r
+struct has_push_front\r
+    : has_push_front_impl< typename sequence_tag<Sequence>::type >\r
+        ::template apply< Sequence >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,has_push_front,(Sequence))\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(2, push_front)\r
+BOOST_MPL_AUX_NA_SPEC(1, has_push_front)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_PUSH_FRONT_HPP_INCLUDED\r
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 (file)
index 0000000..31c8210
--- /dev/null
@@ -0,0 +1,24 @@
+\r
+#ifndef BOOST_MPL_PUSH_FRONT_FWD_HPP_INCLUDED\r
+#define BOOST_MPL_PUSH_FRONT_FWD_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: push_front_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template< typename Tag > struct push_front_impl;\r
+template< typename Sequence, typename T > struct push_front;\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_PUSH_FRONT_FWD_HPP_INCLUDED\r
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 (file)
index 0000000..ffec3f8
--- /dev/null
@@ -0,0 +1,151 @@
+\r
+#if !defined(BOOST_PP_IS_ITERATING)\r
+\r
+///// header body\r
+\r
+#ifndef BOOST_MPL_QUOTE_HPP_INCLUDED\r
+#define BOOST_MPL_QUOTE_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2008\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: quote.hpp 49272 2008-10-11 06:50:46Z agurtovoy $\r
+// $Date: 2008-10-11 02:50:46 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49272 $\r
+\r
+#if !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+#   include <boost/mpl/void.hpp>\r
+#   include <boost/mpl/aux_/has_type.hpp>\r
+#endif\r
+\r
+#include <boost/mpl/aux_/config/bcc.hpp>\r
+#include <boost/mpl/aux_/config/ttp.hpp>\r
+\r
+#if defined(BOOST_MPL_CFG_NO_TEMPLATE_TEMPLATE_PARAMETERS) \\r
+    && !defined(BOOST_MPL_CFG_BCC590_WORKAROUNDS)\r
+#   define BOOST_MPL_CFG_NO_QUOTE_TEMPLATE\r
+#endif\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_IMPLICIT_METAFUNCTIONS) \\r
+    && defined(BOOST_MPL_CFG_NO_HAS_XXX)\r
+#   define BOOST_MPL_CFG_NO_IMPLICIT_METAFUNCTIONS\r
+#endif\r
+\r
+#include <boost/mpl/aux_/config/use_preprocessed.hpp>\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \\r
+ && !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+\r
+#   define BOOST_MPL_PREPROCESSED_HEADER quote.hpp\r
+#   include <boost/mpl/aux_/include_preprocessed.hpp>\r
+\r
+#else\r
+\r
+#   include <boost/mpl/limits/arity.hpp>\r
+#   include <boost/mpl/aux_/preprocessor/params.hpp>\r
+#   include <boost/mpl/aux_/config/ctps.hpp>\r
+#   include <boost/mpl/aux_/config/workaround.hpp>\r
+\r
+#   include <boost/preprocessor/iterate.hpp>\r
+#   include <boost/preprocessor/cat.hpp>\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_QUOTE_TEMPLATE)\r
+\r
+namespace boost { namespace mpl {\r
+\r
+#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)\r
+\r
+template< typename T, bool has_type_ >\r
+struct quote_impl\r
+// GCC has a problem with metafunction forwarding when T is a\r
+// specialization of a template called 'type'.\r
+# if BOOST_WORKAROUND(__GNUC__, BOOST_TESTED_AT(4)) \\r
+    && BOOST_WORKAROUND(__GNUC_MINOR__, BOOST_TESTED_AT(0)) \\r
+    && BOOST_WORKAROUND(__GNUC_PATCHLEVEL__, BOOST_TESTED_AT(2))\r
+{\r
+    typedef typename T::type type;\r
+};\r
+# else \r
+    : T\r
+{\r
+};\r
+# endif \r
+\r
+template< typename T >\r
+struct quote_impl<T,false>\r
+{\r
+    typedef T type;\r
+};\r
+\r
+#else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+\r
+template< bool > struct quote_impl\r
+{\r
+    template< typename T > struct result_\r
+        : T\r
+    {\r
+    };\r
+};\r
+\r
+template<> struct quote_impl<false>\r
+{\r
+    template< typename T > struct result_\r
+    {\r
+        typedef T type;\r
+    };\r
+};\r
+\r
+#endif \r
+\r
+#define BOOST_PP_ITERATION_PARAMS_1 \\r
+    (3,(1, BOOST_MPL_LIMIT_METAFUNCTION_ARITY, <boost/mpl/quote.hpp>))\r
+#include BOOST_PP_ITERATE()\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_CFG_NO_QUOTE_TEMPLATE\r
+\r
+#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS\r
+#endif // BOOST_MPL_QUOTE_HPP_INCLUDED\r
+\r
+///// iteration\r
+\r
+#else\r
+#define i_ BOOST_PP_FRAME_ITERATION(1)\r
+\r
+template<\r
+      template< BOOST_MPL_PP_PARAMS(i_, typename P) > class F\r
+    , typename Tag = void_\r
+    >\r
+struct BOOST_PP_CAT(quote,i_)\r
+{\r
+    template< BOOST_MPL_PP_PARAMS(i_, typename U) > struct apply\r
+#if defined(BOOST_MPL_CFG_BCC590_WORKAROUNDS)\r
+    {\r
+        typedef typename quote_impl<\r
+              F< BOOST_MPL_PP_PARAMS(i_, U) >\r
+            , aux::has_type< F< BOOST_MPL_PP_PARAMS(i_, U) > >::value\r
+            >::type type;\r
+    };\r
+#elif !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)\r
+        : quote_impl<\r
+              F< BOOST_MPL_PP_PARAMS(i_, U) >\r
+            , aux::has_type< F< BOOST_MPL_PP_PARAMS(i_, U) > >::value\r
+            >\r
+    {\r
+    };\r
+#else\r
+        : quote_impl< aux::has_type< F< BOOST_MPL_PP_PARAMS(i_, U) > >::value >\r
+            ::template result_< F< BOOST_MPL_PP_PARAMS(i_, U) > >\r
+    {\r
+    };\r
+#endif\r
+};\r
+\r
+#undef i_\r
+#endif // BOOST_PP_IS_ITERATING\r
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 (file)
index 0000000..a6b0afe
--- /dev/null
@@ -0,0 +1,48 @@
+\r
+#ifndef BOOST_MPL_RANGE_C_HPP_INCLUDED\r
+#define BOOST_MPL_RANGE_C_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: range_c.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/integral_c.hpp>\r
+#include <boost/mpl/aux_/range_c/front.hpp>\r
+#include <boost/mpl/aux_/range_c/back.hpp>\r
+#include <boost/mpl/aux_/range_c/size.hpp>\r
+#include <boost/mpl/aux_/range_c/O1_size.hpp>\r
+#include <boost/mpl/aux_/range_c/empty.hpp>\r
+#include <boost/mpl/aux_/range_c/iterator.hpp>\r
+#include <boost/mpl/aux_/range_c/tag.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T\r
+    , T Start\r
+    , T Finish\r
+    >\r
+struct range_c\r
+{\r
+    typedef aux::half_open_range_tag tag;\r
+    typedef T value_type;\r
+    typedef range_c type;\r
+\r
+    typedef integral_c<T,Start> start;\r
+    typedef integral_c<T,Finish> finish;\r
+\r
+    typedef r_iter<start> begin;\r
+    typedef r_iter<finish> end;\r
+};\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_RANGE_C_HPP_INCLUDED\r
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 (file)
index 0000000..7168ab6
--- /dev/null
@@ -0,0 +1,52 @@
+\r
+#ifndef BOOST_MPL_REMOVE_HPP_INCLUDED\r
+#define BOOST_MPL_REMOVE_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright David Abrahams 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: remove.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/remove_if.hpp>\r
+#include <boost/mpl/same_as.hpp>\r
+#include <boost/mpl/aux_/inserter_algorithm.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename Sequence\r
+    , typename T\r
+    , typename Inserter \r
+    >\r
+struct remove_impl\r
+    : remove_if_impl< Sequence, same_as<T>, Inserter >\r
+{\r
+};\r
+\r
+template<\r
+      typename Sequence\r
+    , typename T\r
+    , typename Inserter \r
+    >\r
+struct reverse_remove_impl\r
+    : reverse_remove_if_impl< Sequence, same_as<T>, Inserter >\r
+{\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_INSERTER_ALGORITHM_DEF(3, remove)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_REMOVE_HPP_INCLUDED\r
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 (file)
index 0000000..1573e4f
--- /dev/null
@@ -0,0 +1,83 @@
+\r
+#ifndef BOOST_MPL_REMOVE_IF_HPP_INCLUDED\r
+#define BOOST_MPL_REMOVE_IF_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright David Abrahams 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: remove_if.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/fold.hpp>\r
+#include <boost/mpl/reverse_fold.hpp>\r
+#include <boost/mpl/eval_if.hpp>\r
+#include <boost/mpl/identity.hpp>\r
+#include <boost/mpl/protect.hpp>\r
+#include <boost/mpl/lambda.hpp>\r
+#include <boost/mpl/apply.hpp>\r
+#include <boost/mpl/aux_/inserter_algorithm.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+\r
+template< typename Pred, typename InsertOp > struct remove_if_helper\r
+{\r
+    template< typename Sequence, typename U > struct apply\r
+    {\r
+        typedef typename eval_if<\r
+              typename apply1<Pred,U>::type\r
+            , identity<Sequence>\r
+            , apply2<InsertOp,Sequence,U>\r
+            >::type type;\r
+    };\r
+};\r
+\r
+template<\r
+      typename Sequence\r
+    , typename Predicate\r
+    , typename Inserter\r
+    >\r
+struct remove_if_impl\r
+    : fold<\r
+          Sequence\r
+        , typename Inserter::state\r
+        , protect< aux::remove_if_helper<\r
+              typename lambda<Predicate>::type\r
+            , typename Inserter::operation\r
+            > >\r
+        >\r
+{\r
+};\r
+\r
+template<\r
+      typename Sequence\r
+    , typename Predicate\r
+    , typename Inserter\r
+    >\r
+struct reverse_remove_if_impl\r
+    : reverse_fold<\r
+          Sequence\r
+        , typename Inserter::state\r
+        , protect< aux::remove_if_helper<\r
+              typename lambda<Predicate>::type\r
+            , typename Inserter::operation\r
+            > >\r
+        >\r
+{\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_INSERTER_ALGORITHM_DEF(3, remove_if)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_REMOVE_IF_HPP_INCLUDED\r
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 (file)
index 0000000..ef0a921
--- /dev/null
@@ -0,0 +1,55 @@
+\r
+#ifndef BOOST_MPL_REPLACE_HPP_INCLUDED\r
+#define BOOST_MPL_REPLACE_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright John R. Bandela 2000-2002\r
+// Copyright David Abrahams 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: replace.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/replace_if.hpp>\r
+#include <boost/mpl/same_as.hpp>\r
+#include <boost/mpl/aux_/inserter_algorithm.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename Sequence\r
+    , typename OldType\r
+    , typename NewType\r
+    , typename Inserter \r
+    >\r
+struct replace_impl\r
+    : replace_if_impl< Sequence, same_as<OldType>, NewType, Inserter >\r
+{\r
+};\r
+\r
+template<\r
+      typename Sequence\r
+    , typename OldType\r
+    , typename NewType\r
+    , typename Inserter \r
+    >\r
+struct reverse_replace_impl\r
+    : reverse_replace_if_impl< Sequence, same_as<OldType>, NewType, Inserter >\r
+{\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_INSERTER_ALGORITHM_DEF(4, replace)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_REPLACE_HPP_INCLUDED\r
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 (file)
index 0000000..b4c3a9a
--- /dev/null
@@ -0,0 +1,88 @@
+\r
+#ifndef BOOST_MPL_REPLACE_IF_HPP_INCLUDED\r
+#define BOOST_MPL_REPLACE_IF_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright John R. Bandela 2000-2002\r
+// Copyright David Abrahams 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: replace_if.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/transform.hpp>\r
+#include <boost/mpl/apply.hpp>\r
+#include <boost/mpl/if.hpp>\r
+#include <boost/mpl/aux_/inserter_algorithm.hpp>\r
+#include <boost/mpl/aux_/config/forwarding.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+\r
+template< typename Predicate, typename T >\r
+struct replace_if_op\r
+{\r
+    template< typename U > struct apply\r
+#if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING)\r
+        : if_<\r
+              typename apply1<Predicate,U>::type\r
+            , T\r
+            , U\r
+            >\r
+    {\r
+#else\r
+    {\r
+        typedef typename if_<\r
+              typename apply1<Predicate,U>::type\r
+            , T\r
+            , U\r
+            >::type type;\r
+#endif\r
+    };\r
+};\r
+\r
+\r
+template<\r
+      typename Sequence\r
+    , typename Predicate\r
+    , typename T\r
+    , typename Inserter\r
+    >\r
+struct replace_if_impl\r
+    : transform1_impl<\r
+          Sequence\r
+        , protect< aux::replace_if_op<Predicate,T> >\r
+        , Inserter\r
+        >\r
+{\r
+};\r
+\r
+template<\r
+      typename Sequence\r
+    , typename Predicate\r
+    , typename T\r
+    , typename Inserter\r
+    >\r
+struct reverse_replace_if_impl\r
+    : reverse_transform1_impl<\r
+          Sequence\r
+        , protect< aux::replace_if_op<Predicate,T> >\r
+        , Inserter\r
+        >\r
+{\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_INSERTER_ALGORITHM_DEF(4, replace_if)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_REPLACE_IF_HPP_INCLUDED\r
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 (file)
index 0000000..3fe659b
--- /dev/null
@@ -0,0 +1,38 @@
+\r
+#ifndef BOOST_MPL_REVERSE_HPP_INCLUDED\r
+#define BOOST_MPL_REVERSE_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: reverse.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/copy.hpp>\r
+#include <boost/mpl/aux_/na_spec.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(Sequence)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(Inserter)\r
+    >\r
+struct reverse\r
+    : reverse_copy<\r
+          Sequence\r
+        , Inserter\r
+        >\r
+{\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(1, reverse)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_REVERSE_HPP_INCLUDED\r
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 (file)
index 0000000..c190c59
--- /dev/null
@@ -0,0 +1,50 @@
+\r
+#ifndef BOOST_MPL_REVERSE_FOLD_HPP_INCLUDED\r
+#define BOOST_MPL_REVERSE_FOLD_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+// Copyright David Abrahams 2001-2002\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: reverse_fold.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/begin_end.hpp>\r
+#include <boost/mpl/O1_size.hpp>\r
+#include <boost/mpl/arg.hpp>\r
+#include <boost/mpl/aux_/reverse_fold_impl.hpp>\r
+#include <boost/mpl/aux_/na_spec.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(Sequence)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(State)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(BackwardOp)\r
+    , typename ForwardOp = arg<1>\r
+    >\r
+struct reverse_fold\r
+{\r
+    typedef typename aux::reverse_fold_impl<\r
+          ::boost::mpl::O1_size<Sequence>::value\r
+        , typename begin<Sequence>::type\r
+        , typename end<Sequence>::type\r
+        , State\r
+        , BackwardOp\r
+        , ForwardOp\r
+        >::state type;\r
+\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(3,reverse_fold,(Sequence,State,BackwardOp))\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(3, reverse_fold)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_REVERSE_FOLD_HPP_INCLUDED\r
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 (file)
index 0000000..6ff4b36
--- /dev/null
@@ -0,0 +1,56 @@
+\r
+#ifndef BOOST_MPL_ITER_FOLD_BACKWARD_HPP_INCLUDED\r
+#define BOOST_MPL_ITER_FOLD_BACKWARD_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+// Copyright Dave Abrahams 2001-2002\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: reverse_iter_fold.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/begin_end.hpp>\r
+#include <boost/mpl/O1_size.hpp>\r
+#include <boost/mpl/arg.hpp>\r
+#include <boost/mpl/lambda.hpp>\r
+#include <boost/mpl/aux_/reverse_iter_fold_impl.hpp>\r
+#include <boost/mpl/aux_/na_spec.hpp>\r
+#include <boost/mpl/aux_/lambda_support.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(Sequence)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(State)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(BackwardOp)\r
+    , typename ForwardOp = arg<1>\r
+    >\r
+struct reverse_iter_fold\r
+{\r
+    typedef typename aux::reverse_iter_fold_impl<\r
+          ::boost::mpl::O1_size<Sequence>::value\r
+        , typename begin<Sequence>::type\r
+        , typename end<Sequence>::type\r
+        , State\r
+        , typename lambda<BackwardOp>::type\r
+        , typename lambda<ForwardOp>::type\r
+        >::state type;\r
+\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
+          4\r
+        , reverse_iter_fold\r
+        , (Sequence,State,BackwardOp,ForwardOp)\r
+        )\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(3, reverse_iter_fold)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_ITER_FOLD_BACKWARD_HPP_INCLUDED\r
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 (file)
index 0000000..5f77286
--- /dev/null
@@ -0,0 +1,55 @@
+\r
+#ifndef BOOST_MPL_SAME_AS_HPP_INCLUDED\r
+#define BOOST_MPL_SAME_AS_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: same_as.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/not.hpp>\r
+#include <boost/mpl/aux_/lambda_spec.hpp>\r
+#include <boost/mpl/aux_/config/forwarding.hpp>\r
+\r
+#include <boost/type_traits/is_same.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template< typename T1 >\r
+struct same_as\r
+{\r
+    template< typename T2 > struct apply\r
+#if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING)\r
+        : is_same<T1,T2>\r
+    {\r
+#else\r
+    {\r
+        typedef typename is_same<T1,T2>::type type;\r
+#endif\r
+    };\r
+};\r
+\r
+template< typename T1 >\r
+struct not_same_as\r
+{\r
+    template< typename T2 > struct apply\r
+#if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING)\r
+        : not_< is_same<T1,T2> >\r
+    {\r
+#else\r
+    {\r
+        typedef typename not_< is_same<T1,T2> >::type type;\r
+#endif\r
+    };\r
+};\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_SAME_AS_HPP_INCLUDED\r
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 (file)
index 0000000..0b44875
--- /dev/null
@@ -0,0 +1,124 @@
+\r
+#ifndef BOOST_MPL_SEQUENCE_TAG_HPP_INCLUDED\r
+#define BOOST_MPL_SEQUENCE_TAG_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: sequence_tag.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/sequence_tag_fwd.hpp>\r
+#include <boost/mpl/aux_/has_tag.hpp>\r
+#include <boost/mpl/aux_/has_begin.hpp>\r
+#include <boost/mpl/aux_/na_spec.hpp>\r
+#include <boost/mpl/aux_/is_msvc_eti_arg.hpp>\r
+#include <boost/mpl/aux_/config/eti.hpp>\r
+#include <boost/mpl/aux_/yes_no.hpp>\r
+#include <boost/mpl/aux_/config/workaround.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+// agurt, 27/nov/02: have to use a simplistic 'sequence_tag' implementation\r
+// on MSVC to avoid dreadful "internal structure overflow" error\r
+#if BOOST_WORKAROUND(BOOST_MSVC, < 1300) \\r
+    || defined(BOOST_MPL_CFG_NO_HAS_XXX)\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(Sequence)\r
+    >\r
+struct sequence_tag\r
+{\r
+    typedef typename Sequence::tag type;\r
+};\r
+\r
+#elif BOOST_WORKAROUND(BOOST_MSVC, == 1300)\r
+\r
+// agurt, 07/feb/03: workaround for what seems to be MSVC 7.0-specific ETI issue\r
+\r
+namespace aux {\r
+\r
+template< bool >\r
+struct sequence_tag_impl\r
+{\r
+    template< typename Sequence > struct result_\r
+    {\r
+        typedef typename Sequence::tag type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct sequence_tag_impl<false>\r
+{\r
+    template< typename Sequence > struct result_\r
+    {\r
+        typedef int type;\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(Sequence)\r
+    >\r
+struct sequence_tag\r
+    : aux::sequence_tag_impl< !aux::is_msvc_eti_arg<Sequence>::value >\r
+        ::template result_<Sequence>\r
+{\r
+};\r
+\r
+#else\r
+\r
+namespace aux {\r
+\r
+template< bool has_tag_, bool has_begin_ >\r
+struct sequence_tag_impl\r
+{\r
+    // agurt 24/nov/02: MSVC 6.5 gets confused in 'sequence_tag_impl<true>' \r
+    // specialization below, if we name it 'result_' here\r
+    template< typename Sequence > struct result2_;\r
+};\r
+\r
+#   define AUX_CLASS_SEQUENCE_TAG_SPEC(has_tag, has_begin, result_type) \\r
+template<> struct sequence_tag_impl<has_tag,has_begin> \\r
+{ \\r
+    template< typename Sequence > struct result2_ \\r
+    { \\r
+        typedef result_type type; \\r
+    }; \\r
+}; \\r
+/**/\r
+\r
+AUX_CLASS_SEQUENCE_TAG_SPEC(true, true, typename Sequence::tag)\r
+AUX_CLASS_SEQUENCE_TAG_SPEC(true, false, typename Sequence::tag)\r
+AUX_CLASS_SEQUENCE_TAG_SPEC(false, true, nested_begin_end_tag)\r
+AUX_CLASS_SEQUENCE_TAG_SPEC(false, false, non_sequence_tag)\r
+\r
+#   undef AUX_CLASS_SEQUENCE_TAG_SPEC\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(Sequence)\r
+    >\r
+struct sequence_tag\r
+    : aux::sequence_tag_impl<\r
+          ::boost::mpl::aux::has_tag<Sequence>::value\r
+        , ::boost::mpl::aux::has_begin<Sequence>::value\r
+        >::template result2_<Sequence>\r
+{\r
+};\r
+\r
+#endif // BOOST_MSVC\r
+\r
+BOOST_MPL_AUX_NA_SPEC(1, sequence_tag)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_SEQUENCE_TAG_HPP_INCLUDED\r
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 (file)
index 0000000..9b46a8d
--- /dev/null
@@ -0,0 +1,26 @@
+\r
+#ifndef BOOST_MPL_SEQUENCE_TAG_FWD_HPP_INCLUDED\r
+#define BOOST_MPL_SEQUENCE_TAG_FWD_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: sequence_tag_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+namespace boost { namespace mpl {\r
+\r
+struct nested_begin_end_tag;\r
+struct non_sequence_tag;\r
+\r
+template< typename Sequence > struct sequence_tag;\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_SEQUENCE_TAG_FWD_HPP_INCLUDED\r
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 (file)
index 0000000..cc8bca0
--- /dev/null
@@ -0,0 +1,57 @@
+\r
+#ifndef BOOST_MPL_SET_HPP_INCLUDED\r
+#define BOOST_MPL_SET_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: set.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#if !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+#   include <boost/mpl/limits/set.hpp>\r
+#   include <boost/mpl/aux_/na.hpp>\r
+#   include <boost/mpl/aux_/config/preprocessor.hpp>\r
+\r
+#   include <boost/preprocessor/inc.hpp>\r
+#   include <boost/preprocessor/cat.hpp>\r
+#   include <boost/preprocessor/stringize.hpp>\r
+\r
+#if !defined(BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING)\r
+#   define AUX778076_SET_HEADER \\r
+    BOOST_PP_CAT(set, BOOST_MPL_LIMIT_SET_SIZE).hpp \\r
+    /**/\r
+#else\r
+#   define AUX778076_SET_HEADER \\r
+    BOOST_PP_CAT(set, BOOST_MPL_LIMIT_SET_SIZE)##.hpp \\r
+    /**/\r
+#endif\r
+\r
+#   include BOOST_PP_STRINGIZE(boost/mpl/set/AUX778076_SET_HEADER)\r
+#   undef AUX778076_SET_HEADER\r
+#endif\r
+\r
+#include <boost/mpl/aux_/config/use_preprocessed.hpp>\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \\r
+    && !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+\r
+#   define BOOST_MPL_PREPROCESSED_HEADER set.hpp\r
+#   include <boost/mpl/aux_/include_preprocessed.hpp>\r
+\r
+#else\r
+\r
+#   include <boost/mpl/limits/set.hpp>\r
+\r
+#   define AUX778076_SEQUENCE_NAME set\r
+#   define AUX778076_SEQUENCE_LIMIT BOOST_MPL_LIMIT_SET_SIZE\r
+#   include <boost/mpl/aux_/sequence_wrapper.hpp>\r
+\r
+#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS\r
+#endif // BOOST_MPL_SET_HPP_INCLUDED\r
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 (file)
index 0000000..7b50b4a
--- /dev/null
@@ -0,0 +1,40 @@
+\r
+#ifndef BOOST_MPL_SET_AUX_AT_IMPL_HPP_INCLUDED\r
+#define BOOST_MPL_SET_AUX_AT_IMPL_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: at_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/at_fwd.hpp>\r
+#include <boost/mpl/set/aux_/has_key_impl.hpp>\r
+#include <boost/mpl/set/aux_/tag.hpp>\r
+#include <boost/mpl/if.hpp>\r
+#include <boost/mpl/void.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct at_impl< aux::set_tag >\r
+{\r
+    template< typename Set, typename T > struct apply\r
+    {\r
+        typedef typename if_< \r
+              has_key_impl<aux::set_tag>::apply<Set,T>\r
+            , T\r
+            , void_\r
+            >::type type;            \r
+    };\r
+};\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_SET_AUX_AT_IMPL_HPP_INCLUDED\r
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 (file)
index 0000000..fde00a7
--- /dev/null
@@ -0,0 +1,43 @@
+\r
+#ifndef BOOST_MPL_SET_AUX_BEGIN_END_IMPL_HPP_INCLUDED\r
+#define BOOST_MPL_SET_AUX_BEGIN_END_IMPL_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2003-2007\r
+// Copyright David Abrahams 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: begin_end_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/begin_end_fwd.hpp>\r
+#include <boost/mpl/set/aux_/iterator.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct begin_impl< aux::set_tag >\r
+{\r
+    template< typename Set > struct apply\r
+        : s_iter_get<Set,typename Set::item_>\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct end_impl< aux::set_tag >\r
+{\r
+    template< typename Set > struct apply\r
+    {\r
+        typedef s_iter< Set,set0<> > type;\r
+    };\r
+};\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_SET_AUX_BEGIN_END_IMPL_HPP_INCLUDED\r
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 (file)
index 0000000..562b41d
--- /dev/null
@@ -0,0 +1,35 @@
+\r
+#ifndef BOOST_MPL_SET_AUX_CLEAR_IMPL_HPP_INCLUDED\r
+#define BOOST_MPL_SET_AUX_CLEAR_IMPL_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2003-2004\r
+// Copyright David Abrahams 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: clear_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/clear_fwd.hpp>\r
+#include <boost/mpl/set/aux_/set0.hpp>\r
+#include <boost/mpl/set/aux_/tag.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct clear_impl< aux::set_tag >\r
+{\r
+    template< typename Set > struct apply\r
+    {\r
+        typedef set0<> type;\r
+    };\r
+};\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_SET_AUX_CLEAR_IMPL_HPP_INCLUDED\r
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 (file)
index 0000000..d69153f
--- /dev/null
@@ -0,0 +1,34 @@
+\r
+#ifndef BOOST_MPL_SET_AUX_EMPTY_IMPL_HPP_INCLUDED\r
+#define BOOST_MPL_SET_AUX_EMPTY_IMPL_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: empty_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/empty_fwd.hpp>\r
+#include <boost/mpl/not.hpp>\r
+#include <boost/mpl/set/aux_/tag.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct empty_impl< aux::set_tag >\r
+{\r
+    template< typename Set > struct apply\r
+        : not_< typename Set::size >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_SET_AUX_EMPTY_IMPL_HPP_INCLUDED\r
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 (file)
index 0000000..b2532d8
--- /dev/null
@@ -0,0 +1,41 @@
+\r
+#ifndef BOOST_MPL_SET_AUX_ERASE_IMPL_HPP_INCLUDED\r
+#define BOOST_MPL_SET_AUX_ERASE_IMPL_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2003-2004\r
+// Copyright David Abrahams 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: erase_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/erase_fwd.hpp>\r
+#include <boost/mpl/set/aux_/erase_key_impl.hpp>\r
+#include <boost/mpl/set/aux_/tag.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct erase_impl< aux::set_tag >\r
+{\r
+    template< \r
+          typename Set\r
+        , typename Pos\r
+        , typename unused_\r
+        > \r
+    struct apply\r
+        : erase_key_impl<aux::set_tag>\r
+            ::apply<Set,typename Pos::type>\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_SET_AUX_ERASE_IMPL_HPP_INCLUDED\r
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 (file)
index 0000000..0a53e14
--- /dev/null
@@ -0,0 +1,53 @@
+\r
+#ifndef BOOST_MPL_SET_AUX_ERASE_KEY_IMPL_HPP_INCLUDED\r
+#define BOOST_MPL_SET_AUX_ERASE_KEY_IMPL_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2003-2007\r
+// Copyright David Abrahams 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: erase_key_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/erase_key_fwd.hpp>\r
+#include <boost/mpl/set/aux_/has_key_impl.hpp>\r
+#include <boost/mpl/set/aux_/item.hpp>\r
+#include <boost/mpl/set/aux_/tag.hpp>\r
+#include <boost/mpl/identity.hpp>\r
+#include <boost/mpl/base.hpp>\r
+#include <boost/mpl/eval_if.hpp>\r
+\r
+#include <boost/type_traits/is_same.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct erase_key_impl< aux::set_tag >\r
+{\r
+    template< \r
+          typename Set\r
+        , typename T\r
+        > \r
+    struct apply\r
+        : eval_if< \r
+              has_key_impl<aux::set_tag>::apply<Set,T>\r
+            , eval_if< \r
+                  is_same< T,typename Set::item_type_ > \r
+                , base<Set>\r
+                , identity< s_mask<T,typename Set::item_> >\r
+                >\r
+            , identity<Set>\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_SET_AUX_ERASE_KEY_IMPL_HPP_INCLUDED\r
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 (file)
index 0000000..4b661f7
--- /dev/null
@@ -0,0 +1,60 @@
+\r
+#ifndef BOOST_MPL_SET_AUX_HAS_KEY_IMPL_HPP_INCLUDED\r
+#define BOOST_MPL_SET_AUX_HAS_KEY_IMPL_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2003-2004\r
+// Copyright David Abrahams 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: has_key_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/set/aux_/tag.hpp>\r
+#include <boost/mpl/has_key_fwd.hpp>\r
+#include <boost/mpl/bool.hpp>\r
+#include <boost/mpl/aux_/overload_names.hpp>\r
+#include <boost/mpl/aux_/static_cast.hpp>\r
+#include <boost/mpl/aux_/yes_no.hpp>\r
+#include <boost/mpl/aux_/type_wrapper.hpp>\r
+#include <boost/mpl/aux_/config/workaround.hpp>\r
+#include <boost/mpl/aux_/config/static_constant.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct has_key_impl< aux::set_tag >\r
+{\r
+    template< typename Set, typename T > struct apply\r
+#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1400)) \\r
+    || BOOST_WORKAROUND(__EDG_VERSION__, <= 245)\r
+    {\r
+        BOOST_STATIC_CONSTANT(bool, value = \r
+              ( sizeof( BOOST_MPL_AUX_OVERLOAD_CALL_IS_MASKED(\r
+                    Set\r
+                  , BOOST_MPL_AUX_STATIC_CAST(aux::type_wrapper<T>*, 0)\r
+                  ) ) == sizeof(aux::no_tag) )\r
+            );\r
+\r
+        typedef bool_<value> type;\r
+\r
+#else // ISO98 C++\r
+        : bool_< \r
+              ( sizeof( BOOST_MPL_AUX_OVERLOAD_CALL_IS_MASKED(\r
+                    Set\r
+                  , BOOST_MPL_AUX_STATIC_CAST(aux::type_wrapper<T>*, 0)\r
+                  ) ) == sizeof(aux::no_tag) )\r
+            >\r
+    {\r
+#endif\r
+    };\r
+};\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_SET_AUX_HAS_KEY_IMPL_HPP_INCLUDED\r
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 (file)
index 0000000..86f588c
--- /dev/null
@@ -0,0 +1,42 @@
+\r
+// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION\r
+\r
+// Copyright Aleksey Gurtovoy 2001-2006\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: include_preprocessed.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/aux_/config/preprocessor.hpp>\r
+#include <boost/mpl/aux_/config/workaround.hpp>\r
+\r
+#include <boost/preprocessor/cat.hpp>\r
+#include <boost/preprocessor/stringize.hpp>\r
+\r
+#if !defined(BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING)\r
+#   define AUX778076_HEADER \\r
+    plain/BOOST_MPL_PREPROCESSED_HEADER \\r
+/**/\r
+#else\r
+#   define AUX778076_HEADER \\r
+    BOOST_PP_CAT(plain,/)##BOOST_MPL_PREPROCESSED_HEADER \\r
+/**/\r
+#endif\r
+\r
+#if BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(700))\r
+#   define AUX778076_INCLUDE_STRING BOOST_PP_STRINGIZE(boost/mpl/set/aux_/preprocessed/AUX778076_HEADER)\r
+#   include AUX778076_INCLUDE_STRING\r
+#   undef AUX778076_INCLUDE_STRING\r
+#else\r
+#   include BOOST_PP_STRINGIZE(boost/mpl/set/aux_/preprocessed/AUX778076_HEADER)\r
+#endif\r
+\r
+#   undef AUX778076_HEADER\r
+\r
+#undef BOOST_MPL_PREPROCESSED_HEADER\r
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 (file)
index 0000000..042ca13
--- /dev/null
@@ -0,0 +1,65 @@
+\r
+#ifndef BOOST_MPL_SET_AUX_INSERT_IMPL_HPP_INCLUDED\r
+#define BOOST_MPL_SET_AUX_INSERT_IMPL_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2003-2007\r
+// Copyright David Abrahams 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: insert_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/insert_fwd.hpp>\r
+#include <boost/mpl/set/aux_/has_key_impl.hpp>\r
+#include <boost/mpl/set/aux_/item.hpp>\r
+#include <boost/mpl/set/aux_/tag.hpp>\r
+#include <boost/mpl/identity.hpp>\r
+#include <boost/mpl/base.hpp>\r
+#include <boost/mpl/eval_if.hpp>\r
+#include <boost/mpl/aux_/na.hpp>\r
+\r
+#include <boost/type_traits/is_same.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+template<  typename Set, typename T > struct set_insert_impl\r
+    : eval_if< \r
+          has_key_impl<aux::set_tag>::apply<Set,T>\r
+        , identity<Set>\r
+        , eval_if< \r
+              is_same< T,typename Set::last_masked_ > \r
+            , base<Set>\r
+            , identity< s_item<T,typename Set::item_> >\r
+            >\r
+        >\r
+{\r
+};\r
+}\r
+\r
+template<>\r
+struct insert_impl< aux::set_tag >\r
+{\r
+    template< \r
+          typename Set\r
+        , typename PosOrKey\r
+        , typename KeyOrNA\r
+        > \r
+    struct apply\r
+        : aux::set_insert_impl<\r
+              Set\r
+            , typename if_na<KeyOrNA,PosOrKey>::type\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_SET_AUX_INSERT_IMPL_HPP_INCLUDED\r
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 (file)
index 0000000..3c17246
--- /dev/null
@@ -0,0 +1,80 @@
+\r
+#ifndef BOOST_MPL_SET_AUX_ITEM_HPP_INCLUDED\r
+#define BOOST_MPL_SET_AUX_ITEM_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2003-2007\r
+// Copyright David Abrahams 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: item.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/long.hpp>\r
+#include <boost/mpl/void.hpp>\r
+#include <boost/mpl/next.hpp>\r
+#include <boost/mpl/prior.hpp>\r
+#include <boost/mpl/set/aux_/set0.hpp>\r
+#include <boost/mpl/aux_/type_wrapper.hpp>\r
+#include <boost/mpl/aux_/config/arrays.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template< typename T, typename Base >\r
+struct s_item\r
+    : Base\r
+{\r
+    typedef s_item<T,Base> item_;\r
+    typedef void_       last_masked_;\r
+    typedef T           item_type_;\r
+    typedef Base        base;\r
+    \r
+    typedef typename next< typename Base::size >::type  size;\r
+    typedef typename next< typename Base::order >::type order;\r
+\r
+#if defined(BOOST_MPL_CFG_NO_DEPENDENT_ARRAY_TYPES)\r
+    typedef typename aux::weighted_tag<BOOST_MPL_AUX_MSVC_VALUE_WKND(order)::value>::type order_tag_;\r
+#else\r
+    typedef char (&order_tag_)[BOOST_MPL_AUX_MSVC_VALUE_WKND(order)::value];\r
+#endif\r
+\r
+    BOOST_MPL_AUX_SET_OVERLOAD( order_tag_, ORDER_BY_KEY, s_item, aux::type_wrapper<T>* );\r
+    BOOST_MPL_AUX_SET_OVERLOAD( aux::no_tag, IS_MASKED, s_item, aux::type_wrapper<T>* );\r
+};\r
+\r
+\r
+template< typename T, typename Base >\r
+struct s_mask\r
+    : Base\r
+{\r
+    typedef s_mask<T,Base> item_;\r
+    typedef T       last_masked_;\r
+    typedef void_   item_type_;\r
+    typedef Base    base;\r
+    typedef typename prior< typename Base::size >::type  size;\r
+\r
+    BOOST_MPL_AUX_SET_OVERLOAD( aux::yes_tag, IS_MASKED, s_mask, aux::type_wrapper<T>* );\r
+};\r
+\r
+\r
+template< typename T, typename Base >\r
+struct s_unmask\r
+    : Base\r
+{\r
+    typedef s_unmask<T,Base> item_;\r
+    typedef void_   last_masked_;\r
+    typedef T       item_type_;\r
+    typedef Base    base;\r
+    typedef typename next< typename Base::size >::type  size;\r
+\r
+    BOOST_MPL_AUX_SET_OVERLOAD( aux::no_tag, IS_MASKED, s_unmask, aux::type_wrapper<T>* );\r
+};\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_SET_AUX_ITEM_HPP_INCLUDED\r
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 (file)
index 0000000..a6c0ffb
--- /dev/null
@@ -0,0 +1,98 @@
+\r
+#ifndef BOOST_MPL_SET_AUX_ITERATOR_HPP_INCLUDED\r
+#define BOOST_MPL_SET_AUX_ITERATOR_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2003-2007\r
+// Copyright David Abrahams 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: iterator.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/set/aux_/set0.hpp>\r
+#include <boost/mpl/has_key.hpp>\r
+#include <boost/mpl/iterator_tags.hpp>\r
+#include <boost/mpl/next.hpp>\r
+#include <boost/mpl/eval_if.hpp>\r
+#include <boost/mpl/if.hpp>\r
+#include <boost/mpl/identity.hpp>\r
+#include <boost/mpl/aux_/config/ctps.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+// used by 's_iter_get'\r
+template< typename Set, typename Tail > struct s_iter;\r
+\r
+template< typename Set, typename Tail > struct s_iter_get\r
+    : eval_if< \r
+          has_key< Set,typename Tail::item_type_ >\r
+        , identity< s_iter<Set,Tail> >\r
+        , next< s_iter<Set,Tail> >\r
+        >\r
+{\r
+};\r
+\r
+template< typename Set, typename Tail > struct s_iter_impl\r
+{\r
+    typedef Tail                        tail_;\r
+    typedef forward_iterator_tag        category;\r
+    typedef typename Tail::item_type_   type;\r
+\r
+#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)\r
+    typedef typename s_iter_get< Set,typename Tail::base >::type next;\r
+#endif\r
+};\r
+\r
+#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)\r
+\r
+template< typename Set, typename Tail > \r
+struct next< s_iter<Set,Tail> >\r
+    : s_iter_get< Set,typename Tail::base >\r
+{\r
+};\r
+\r
+template< typename Set > \r
+struct next< s_iter<Set,set0<> > >\r
+{\r
+    typedef s_iter<Set,set0<> > type;\r
+};\r
+\r
+template< typename Set, typename Tail > struct s_iter\r
+    : s_iter_impl<Set,Tail>\r
+{\r
+};\r
+\r
+template< typename Set > struct s_iter<Set, set0<> >\r
+{\r
+    typedef forward_iterator_tag category;\r
+};\r
+\r
+#else\r
+\r
+template< typename Set >\r
+struct s_end_iter\r
+{\r
+    typedef forward_iterator_tag    category;\r
+    typedef s_iter<Set,set0<> >     next;\r
+};\r
+\r
+template< typename Set, typename Tail > struct s_iter\r
+    : if_< \r
+          is_same< Tail,set0<> >\r
+        , s_end_iter<Set>\r
+        , s_iter_impl<Set,Tail>\r
+        >::type\r
+{\r
+};\r
+\r
+#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_SET_AUX_ITERATOR_HPP_INCLUDED\r
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 (file)
index 0000000..50d93d9
--- /dev/null
@@ -0,0 +1,34 @@
+\r
+#ifndef BOOST_MPL_SET_AUX_KEY_TYPE_IMPL_HPP_INCLUDED\r
+#define BOOST_MPL_SET_AUX_KEY_TYPE_IMPL_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2003-2004\r
+// Copyright David Abrahams 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: key_type_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/key_type_fwd.hpp>\r
+#include <boost/mpl/set/aux_/tag.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct key_type_impl< aux::set_tag >\r
+{\r
+    template< typename Set, typename T > struct apply\r
+    {\r
+        typedef T type;\r
+    };\r
+};\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_SET_AUX_KEY_TYPE_IMPL_HPP_INCLUDED\r
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 (file)
index 0000000..49db966
--- /dev/null
@@ -0,0 +1,48 @@
+\r
+// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION\r
+\r
+#if defined(BOOST_PP_IS_ITERATING)\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: numbered.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/preprocessor/enum_params.hpp>\r
+#include <boost/preprocessor/dec.hpp>\r
+#include <boost/preprocessor/cat.hpp>\r
+\r
+#define i_ BOOST_PP_FRAME_ITERATION(1)\r
+\r
+#   define AUX778076_SET_TAIL(set, i_, T) \\r
+    typename BOOST_PP_CAT(set,i_)< \\r
+          BOOST_PP_ENUM_PARAMS(i_, T) \\r
+        >::item_                           \\r
+    /**/\r
+\r
+#if i_ > 0\r
+template<\r
+      BOOST_PP_ENUM_PARAMS(i_, typename T)\r
+    >\r
+struct BOOST_PP_CAT(set,i_)\r
+    : s_item<\r
+          BOOST_PP_CAT(T,BOOST_PP_DEC(i_))\r
+        , AUX778076_SET_TAIL(set,BOOST_PP_DEC(i_),T)\r
+        >\r
+{\r
+    typedef BOOST_PP_CAT(set,i_) type;\r
+};\r
+#endif\r
+\r
+#   undef AUX778076_SET_TAIL\r
+\r
+#undef i_\r
+\r
+#endif // BOOST_PP_IS_ITERATING\r
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 (file)
index 0000000..8416bea
--- /dev/null
@@ -0,0 +1,48 @@
+\r
+// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION\r
+\r
+#if defined(BOOST_PP_IS_ITERATING)\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: numbered_c.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/preprocessor/repetition/enum_params.hpp>\r
+#include <boost/preprocessor/repetition/enum_trailing_params.hpp>\r
+#include <boost/preprocessor/dec.hpp>\r
+#include <boost/preprocessor/cat.hpp>\r
+\r
+#define i_ BOOST_PP_FRAME_ITERATION(1)\r
+\r
+#   define AUX778076_SET_C_TAIL(set, i_, T, C) \\r
+    BOOST_PP_CAT(BOOST_PP_CAT(set,i_),_c)< \\r
+          T BOOST_PP_ENUM_TRAILING_PARAMS(i_, C) \\r
+        > \\r
+    /**/\r
+\r
+template<\r
+      typename T\r
+    , BOOST_PP_ENUM_PARAMS(i_, T C)\r
+    >\r
+struct BOOST_PP_CAT(BOOST_PP_CAT(set,i_),_c)\r
+    : s_item<\r
+          integral_c<T,BOOST_PP_CAT(C,BOOST_PP_DEC(i_))>\r
+        , AUX778076_SET_C_TAIL(set,BOOST_PP_DEC(i_), T, C)\r
+        >\r
+{\r
+    typedef BOOST_PP_CAT(BOOST_PP_CAT(set,i_),_c) type;\r
+};\r
+\r
+#   undef AUX778076_SET_C_TAIL\r
+\r
+#undef i_\r
+\r
+#endif // BOOST_PP_IS_ITERATING\r
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 (file)
index 0000000..8bf07e8
--- /dev/null
@@ -0,0 +1,140 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright David Abrahams 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/set/set10.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T0\r
+    >\r
+struct set1\r
+    : s_item<\r
+          T0\r
+        , typename set0<  >::item_\r
+        >\r
+{\r
+    typedef set1 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1\r
+    >\r
+struct set2\r
+    : s_item<\r
+          T1\r
+        , typename set1<T0>::item_\r
+        >\r
+{\r
+    typedef set2 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2\r
+    >\r
+struct set3\r
+    : s_item<\r
+          T2\r
+        , typename set2< T0,T1 >::item_\r
+        >\r
+{\r
+    typedef set3 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3\r
+    >\r
+struct set4\r
+    : s_item<\r
+          T3\r
+        , typename set3< T0,T1,T2 >::item_\r
+        >\r
+{\r
+    typedef set4 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct set5\r
+    : s_item<\r
+          T4\r
+        , typename set4< T0,T1,T2,T3 >::item_\r
+        >\r
+{\r
+    typedef set5 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct set6\r
+    : s_item<\r
+          T5\r
+        , typename set5< T0,T1,T2,T3,T4 >::item_\r
+        >\r
+{\r
+    typedef set6 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6\r
+    >\r
+struct set7\r
+    : s_item<\r
+          T6\r
+        , typename set6< T0,T1,T2,T3,T4,T5 >::item_\r
+        >\r
+{\r
+    typedef set7 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7\r
+    >\r
+struct set8\r
+    : s_item<\r
+          T7\r
+        , typename set7< T0,T1,T2,T3,T4,T5,T6 >::item_\r
+        >\r
+{\r
+    typedef set8 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8\r
+    >\r
+struct set9\r
+    : s_item<\r
+          T8\r
+        , typename set8< T0,T1,T2,T3,T4,T5,T6,T7 >::item_\r
+        >\r
+{\r
+    typedef set9 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    >\r
+struct set10\r
+    : s_item<\r
+          T9\r
+        , typename set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::item_\r
+        >\r
+{\r
+    typedef set10 type;\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..4b09d92
--- /dev/null
@@ -0,0 +1,145 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright David Abrahams 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/set/set10_c.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T\r
+    , T C0\r
+    >\r
+struct set1_c\r
+    : s_item<\r
+          integral_c< T,C0 >\r
+        , set0_c<T>\r
+        >\r
+{\r
+    typedef set1_c type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1\r
+    >\r
+struct set2_c\r
+    : s_item<\r
+          integral_c< T,C1 >\r
+        , set1_c< T,C0 >\r
+        >\r
+{\r
+    typedef set2_c type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2\r
+    >\r
+struct set3_c\r
+    : s_item<\r
+          integral_c< T,C2 >\r
+        , set2_c< T,C0,C1 >\r
+        >\r
+{\r
+    typedef set3_c type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3\r
+    >\r
+struct set4_c\r
+    : s_item<\r
+          integral_c< T,C3 >\r
+        , set3_c< T,C0,C1,C2 >\r
+        >\r
+{\r
+    typedef set4_c type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4\r
+    >\r
+struct set5_c\r
+    : s_item<\r
+          integral_c< T,C4 >\r
+        , set4_c< T,C0,C1,C2,C3 >\r
+        >\r
+{\r
+    typedef set5_c type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5\r
+    >\r
+struct set6_c\r
+    : s_item<\r
+          integral_c< T,C5 >\r
+        , set5_c< T,C0,C1,C2,C3,C4 >\r
+        >\r
+{\r
+    typedef set6_c type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6\r
+    >\r
+struct set7_c\r
+    : s_item<\r
+          integral_c< T,C6 >\r
+        , set6_c< T,C0,C1,C2,C3,C4,C5 >\r
+        >\r
+{\r
+    typedef set7_c type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7\r
+    >\r
+struct set8_c\r
+    : s_item<\r
+          integral_c< T,C7 >\r
+        , set7_c< T,C0,C1,C2,C3,C4,C5,C6 >\r
+        >\r
+{\r
+    typedef set8_c type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8\r
+    >\r
+struct set9_c\r
+    : s_item<\r
+          integral_c< T,C8 >\r
+        , set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >\r
+        >\r
+{\r
+    typedef set9_c type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9\r
+    >\r
+struct set10_c\r
+    : s_item<\r
+          integral_c< T,C9 >\r
+        , set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >\r
+        >\r
+{\r
+    typedef set10_c type;\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..0836d08
--- /dev/null
@@ -0,0 +1,168 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright David Abrahams 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/set/set20.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10\r
+    >\r
+struct set11\r
+    : s_item<\r
+          T10\r
+        , typename set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::item_\r
+        >\r
+{\r
+    typedef set11 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11\r
+    >\r
+struct set12\r
+    : s_item<\r
+          T11\r
+        , typename set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::item_\r
+        >\r
+{\r
+    typedef set12 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12\r
+    >\r
+struct set13\r
+    : s_item<\r
+          T12\r
+        , typename set12< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10\r
+        , T11 >::item_\r
+        >\r
+{\r
+    typedef set13 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13\r
+    >\r
+struct set14\r
+    : s_item<\r
+          T13\r
+        , typename set13< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11\r
+        , T12 >::item_\r
+        >\r
+{\r
+    typedef set14 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    >\r
+struct set15\r
+    : s_item<\r
+          T14\r
+        , typename set14< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11\r
+        , T12, T13 >::item_\r
+        >\r
+{\r
+    typedef set15 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15\r
+    >\r
+struct set16\r
+    : s_item<\r
+          T15\r
+        , typename set15< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11\r
+        , T12, T13, T14 >::item_\r
+        >\r
+{\r
+    typedef set16 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16\r
+    >\r
+struct set17\r
+    : s_item<\r
+          T16\r
+        , typename set16< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11\r
+        , T12, T13, T14, T15 >::item_\r
+        >\r
+{\r
+    typedef set17 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17\r
+    >\r
+struct set18\r
+    : s_item<\r
+          T17\r
+        , typename set17< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11\r
+        , T12, T13, T14, T15, T16 >::item_\r
+        >\r
+{\r
+    typedef set18 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18\r
+    >\r
+struct set19\r
+    : s_item<\r
+          T18\r
+        , typename set18< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11\r
+        , T12, T13, T14, T15, T16, T17 >::item_\r
+        >\r
+{\r
+    typedef set19 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    >\r
+struct set20\r
+    : s_item<\r
+          T19\r
+        , typename set19< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11\r
+        , T12, T13, T14, T15, T16, T17, T18 >::item_\r
+        >\r
+{\r
+    typedef set20 type;\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..724cc99
--- /dev/null
@@ -0,0 +1,154 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright David Abrahams 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/set/set20_c.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    >\r
+struct set11_c\r
+    : s_item<\r
+          integral_c< T,C10 >\r
+        , set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >\r
+        >\r
+{\r
+    typedef set11_c type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11\r
+    >\r
+struct set12_c\r
+    : s_item<\r
+          integral_c< T,C11 >\r
+        , set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >\r
+        >\r
+{\r
+    typedef set12_c type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12\r
+    >\r
+struct set13_c\r
+    : s_item<\r
+          integral_c< T,C12 >\r
+        , set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >\r
+        >\r
+{\r
+    typedef set13_c type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13\r
+    >\r
+struct set14_c\r
+    : s_item<\r
+          integral_c< T,C13 >\r
+        , set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >\r
+        >\r
+{\r
+    typedef set14_c type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14\r
+    >\r
+struct set15_c\r
+    : s_item<\r
+          integral_c< T,C14 >\r
+        , set14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >\r
+        >\r
+{\r
+    typedef set15_c type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15\r
+    >\r
+struct set16_c\r
+    : s_item<\r
+          integral_c< T,C15 >\r
+        , set15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >\r
+        >\r
+{\r
+    typedef set16_c type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16\r
+    >\r
+struct set17_c\r
+    : s_item<\r
+          integral_c< T,C16 >\r
+        , set16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >\r
+        >\r
+{\r
+    typedef set17_c type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17\r
+    >\r
+struct set18_c\r
+    : s_item<\r
+          integral_c< T,C17 >\r
+        , set17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >\r
+        >\r
+{\r
+    typedef set18_c type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18\r
+    >\r
+struct set19_c\r
+    : s_item<\r
+          integral_c< T,C18 >\r
+        , set18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >\r
+        >\r
+{\r
+    typedef set19_c type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19\r
+    >\r
+struct set20_c\r
+    : s_item<\r
+          integral_c< T,C19 >\r
+        , set19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >\r
+        >\r
+{\r
+    typedef set20_c type;\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..ab67d5f
--- /dev/null
@@ -0,0 +1,195 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright David Abrahams 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/set/set30.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20\r
+    >\r
+struct set21\r
+    : s_item<\r
+          T20\r
+        , typename set20< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11\r
+        , T12, T13, T14, T15, T16, T17, T18, T19 >::item_\r
+        >\r
+{\r
+    typedef set21 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21\r
+    >\r
+struct set22\r
+    : s_item<\r
+          T21\r
+        , typename set21< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11\r
+        , T12, T13, T14, T15, T16, T17, T18, T19, T20 >::item_\r
+        >\r
+{\r
+    typedef set22 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22\r
+    >\r
+struct set23\r
+    : s_item<\r
+          T22\r
+        , typename set22< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11\r
+        , T12, T13, T14, T15, T16, T17, T18, T19, T20, T21 >::item_\r
+        >\r
+{\r
+    typedef set23 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23\r
+    >\r
+struct set24\r
+    : s_item<\r
+          T23\r
+        , typename set23< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11\r
+        , T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22 >::item_\r
+        >\r
+{\r
+    typedef set24 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    >\r
+struct set25\r
+    : s_item<\r
+          T24\r
+        , typename set24< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11\r
+        , T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23 >::item_\r
+        >\r
+{\r
+    typedef set25 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25\r
+    >\r
+struct set26\r
+    : s_item<\r
+          T25\r
+        , typename set25< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11\r
+        , T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23\r
+        , T24 >::item_\r
+        >\r
+{\r
+    typedef set26 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26\r
+    >\r
+struct set27\r
+    : s_item<\r
+          T26\r
+        , typename set26< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11\r
+        , T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24\r
+        , T25 >::item_\r
+        >\r
+{\r
+    typedef set27 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27\r
+    >\r
+struct set28\r
+    : s_item<\r
+          T27\r
+        , typename set27< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11\r
+        , T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25\r
+        , T26 >::item_\r
+        >\r
+{\r
+    typedef set28 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28\r
+    >\r
+struct set29\r
+    : s_item<\r
+          T28\r
+        , typename set28< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11\r
+        , T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25\r
+        , T26, T27 >::item_\r
+        >\r
+{\r
+    typedef set29 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    >\r
+struct set30\r
+    : s_item<\r
+          T29\r
+        , typename set29< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11\r
+        , T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25\r
+        , T26, T27, T28 >::item_\r
+        >\r
+{\r
+    typedef set30 type;\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..772b18b
--- /dev/null
@@ -0,0 +1,164 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright David Abrahams 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/set/set30_c.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    >\r
+struct set21_c\r
+    : s_item<\r
+          integral_c< T,C20 >\r
+        , set20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >\r
+        >\r
+{\r
+    typedef set21_c type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21\r
+    >\r
+struct set22_c\r
+    : s_item<\r
+          integral_c< T,C21 >\r
+        , set21_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20 >\r
+        >\r
+{\r
+    typedef set22_c type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22\r
+    >\r
+struct set23_c\r
+    : s_item<\r
+          integral_c< T,C22 >\r
+        , 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 >\r
+        >\r
+{\r
+    typedef set23_c type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23\r
+    >\r
+struct set24_c\r
+    : s_item<\r
+          integral_c< T,C23 >\r
+        , 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 >\r
+        >\r
+{\r
+    typedef set24_c type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24\r
+    >\r
+struct set25_c\r
+    : s_item<\r
+          integral_c< T,C24 >\r
+        , 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 >\r
+        >\r
+{\r
+    typedef set25_c type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25\r
+    >\r
+struct set26_c\r
+    : s_item<\r
+          integral_c< T,C25 >\r
+        , 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 >\r
+        >\r
+{\r
+    typedef set26_c type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26\r
+    >\r
+struct set27_c\r
+    : s_item<\r
+          integral_c< T,C26 >\r
+        , 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 >\r
+        >\r
+{\r
+    typedef set27_c type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27\r
+    >\r
+struct set28_c\r
+    : s_item<\r
+          integral_c< T,C27 >\r
+        , 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 >\r
+        >\r
+{\r
+    typedef set28_c type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28\r
+    >\r
+struct set29_c\r
+    : s_item<\r
+          integral_c< T,C28 >\r
+        , 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 >\r
+        >\r
+{\r
+    typedef set29_c type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29\r
+    >\r
+struct set30_c\r
+    : s_item<\r
+          integral_c< T,C29 >\r
+        , 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 >\r
+        >\r
+{\r
+    typedef set30_c type;\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..a0c135e
--- /dev/null
@@ -0,0 +1,221 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright David Abrahams 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/set/set40.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30\r
+    >\r
+struct set31\r
+    : s_item<\r
+          T30\r
+        , typename set30< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11\r
+        , T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25\r
+        , T26, T27, T28, T29 >::item_\r
+        >\r
+{\r
+    typedef set31 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31\r
+    >\r
+struct set32\r
+    : s_item<\r
+          T31\r
+        , typename set31< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11\r
+        , T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25\r
+        , T26, T27, T28, T29, T30 >::item_\r
+        >\r
+{\r
+    typedef set32 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32\r
+    >\r
+struct set33\r
+    : s_item<\r
+          T32\r
+        , typename set32< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11\r
+        , T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25\r
+        , T26, T27, T28, T29, T30, T31 >::item_\r
+        >\r
+{\r
+    typedef set33 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32, typename T33\r
+    >\r
+struct set34\r
+    : s_item<\r
+          T33\r
+        , typename set33< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11\r
+        , T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25\r
+        , T26, T27, T28, T29, T30, T31, T32 >::item_\r
+        >\r
+{\r
+    typedef set34 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32, typename T33, typename T34\r
+    >\r
+struct set35\r
+    : s_item<\r
+          T34\r
+        , typename set34< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11\r
+        , T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25\r
+        , T26, T27, T28, T29, T30, T31, T32, T33 >::item_\r
+        >\r
+{\r
+    typedef set35 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32, typename T33, typename T34\r
+    , typename T35\r
+    >\r
+struct set36\r
+    : s_item<\r
+          T35\r
+        , typename set35< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11\r
+        , T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25\r
+        , T26, T27, T28, T29, T30, T31, T32, T33, T34 >::item_\r
+        >\r
+{\r
+    typedef set36 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32, typename T33, typename T34\r
+    , typename T35, typename T36\r
+    >\r
+struct set37\r
+    : s_item<\r
+          T36\r
+        , typename set36< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11\r
+        , T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25\r
+        , T26, T27, T28, T29, T30, T31, T32, T33, T34, T35 >::item_\r
+        >\r
+{\r
+    typedef set37 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32, typename T33, typename T34\r
+    , typename T35, typename T36, typename T37\r
+    >\r
+struct set38\r
+    : s_item<\r
+          T37\r
+        , typename set37< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11\r
+        , T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25\r
+        , T26, T27, T28, T29, T30, T31, T32, T33, T34, T35, T36 >::item_\r
+        >\r
+{\r
+    typedef set38 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32, typename T33, typename T34\r
+    , typename T35, typename T36, typename T37, typename T38\r
+    >\r
+struct set39\r
+    : s_item<\r
+          T38\r
+        , typename set38< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11\r
+        , T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25\r
+        , T26, T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37 >::item_\r
+        >\r
+{\r
+    typedef set39 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32, typename T33, typename T34\r
+    , typename T35, typename T36, typename T37, typename T38, typename T39\r
+    >\r
+struct set40\r
+    : s_item<\r
+          T39\r
+        , typename set39< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11\r
+        , T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25\r
+        , T26, T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37\r
+        , T38 >::item_\r
+        >\r
+{\r
+    typedef set40 type;\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..97d4a99
--- /dev/null
@@ -0,0 +1,174 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright David Abrahams 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/set/set40_c.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    >\r
+struct set31_c\r
+    : s_item<\r
+          integral_c< T,C30 >\r
+        , 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 >\r
+        >\r
+{\r
+    typedef set31_c type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31\r
+    >\r
+struct set32_c\r
+    : s_item<\r
+          integral_c< T,C31 >\r
+        , 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 >\r
+        >\r
+{\r
+    typedef set32_c type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32\r
+    >\r
+struct set33_c\r
+    : s_item<\r
+          integral_c< T,C32 >\r
+        , 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 >\r
+        >\r
+{\r
+    typedef set33_c type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32, T C33\r
+    >\r
+struct set34_c\r
+    : s_item<\r
+          integral_c< T,C33 >\r
+        , 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 >\r
+        >\r
+{\r
+    typedef set34_c type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32, T C33, T C34\r
+    >\r
+struct set35_c\r
+    : s_item<\r
+          integral_c< T,C34 >\r
+        , 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 >\r
+        >\r
+{\r
+    typedef set35_c type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32, T C33, T C34, T C35\r
+    >\r
+struct set36_c\r
+    : s_item<\r
+          integral_c< T,C35 >\r
+        , 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 >\r
+        >\r
+{\r
+    typedef set36_c type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32, T C33, T C34, T C35, T C36\r
+    >\r
+struct set37_c\r
+    : s_item<\r
+          integral_c< T,C36 >\r
+        , 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 >\r
+        >\r
+{\r
+    typedef set37_c type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32, T C33, T C34, T C35, T C36, T C37\r
+    >\r
+struct set38_c\r
+    : s_item<\r
+          integral_c< T,C37 >\r
+        , 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 >\r
+        >\r
+{\r
+    typedef set38_c type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38\r
+    >\r
+struct set39_c\r
+    : s_item<\r
+          integral_c< T,C38 >\r
+        , 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 >\r
+        >\r
+{\r
+    typedef set39_c type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39\r
+    >\r
+struct set40_c\r
+    : s_item<\r
+          integral_c< T,C39 >\r
+        , 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 >\r
+        >\r
+{\r
+    typedef set40_c type;\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..9be074f
--- /dev/null
@@ -0,0 +1,250 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright David Abrahams 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/set/set50.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32, typename T33, typename T34\r
+    , typename T35, typename T36, typename T37, typename T38, typename T39\r
+    , typename T40\r
+    >\r
+struct set41\r
+    : s_item<\r
+          T40\r
+        , typename set40< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11\r
+        , T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25\r
+        , T26, T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38\r
+        , T39 >::item_\r
+        >\r
+{\r
+    typedef set41 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32, typename T33, typename T34\r
+    , typename T35, typename T36, typename T37, typename T38, typename T39\r
+    , typename T40, typename T41\r
+    >\r
+struct set42\r
+    : s_item<\r
+          T41\r
+        , typename set41< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11\r
+        , T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25\r
+        , T26, T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39\r
+        , T40 >::item_\r
+        >\r
+{\r
+    typedef set42 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32, typename T33, typename T34\r
+    , typename T35, typename T36, typename T37, typename T38, typename T39\r
+    , typename T40, typename T41, typename T42\r
+    >\r
+struct set43\r
+    : s_item<\r
+          T42\r
+        , typename set42< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11\r
+        , T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25\r
+        , T26, T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39\r
+        , T40, T41 >::item_\r
+        >\r
+{\r
+    typedef set43 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32, typename T33, typename T34\r
+    , typename T35, typename T36, typename T37, typename T38, typename T39\r
+    , typename T40, typename T41, typename T42, typename T43\r
+    >\r
+struct set44\r
+    : s_item<\r
+          T43\r
+        , typename set43< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11\r
+        , T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25\r
+        , T26, T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39\r
+        , T40, T41, T42 >::item_\r
+        >\r
+{\r
+    typedef set44 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32, typename T33, typename T34\r
+    , typename T35, typename T36, typename T37, typename T38, typename T39\r
+    , typename T40, typename T41, typename T42, typename T43, typename T44\r
+    >\r
+struct set45\r
+    : s_item<\r
+          T44\r
+        , typename set44< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11\r
+        , T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25\r
+        , T26, T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39\r
+        , T40, T41, T42, T43 >::item_\r
+        >\r
+{\r
+    typedef set45 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32, typename T33, typename T34\r
+    , typename T35, typename T36, typename T37, typename T38, typename T39\r
+    , typename T40, typename T41, typename T42, typename T43, typename T44\r
+    , typename T45\r
+    >\r
+struct set46\r
+    : s_item<\r
+          T45\r
+        , typename set45< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11\r
+        , T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25\r
+        , T26, T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39\r
+        , T40, T41, T42, T43, T44 >::item_\r
+        >\r
+{\r
+    typedef set46 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32, typename T33, typename T34\r
+    , typename T35, typename T36, typename T37, typename T38, typename T39\r
+    , typename T40, typename T41, typename T42, typename T43, typename T44\r
+    , typename T45, typename T46\r
+    >\r
+struct set47\r
+    : s_item<\r
+          T46\r
+        , typename set46< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11\r
+        , T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25\r
+        , T26, T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39\r
+        , T40, T41, T42, T43, T44, T45 >::item_\r
+        >\r
+{\r
+    typedef set47 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32, typename T33, typename T34\r
+    , typename T35, typename T36, typename T37, typename T38, typename T39\r
+    , typename T40, typename T41, typename T42, typename T43, typename T44\r
+    , typename T45, typename T46, typename T47\r
+    >\r
+struct set48\r
+    : s_item<\r
+          T47\r
+        , typename set47< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11\r
+        , T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25\r
+        , T26, T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39\r
+        , T40, T41, T42, T43, T44, T45, T46 >::item_\r
+        >\r
+{\r
+    typedef set48 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32, typename T33, typename T34\r
+    , typename T35, typename T36, typename T37, typename T38, typename T39\r
+    , typename T40, typename T41, typename T42, typename T43, typename T44\r
+    , typename T45, typename T46, typename T47, typename T48\r
+    >\r
+struct set49\r
+    : s_item<\r
+          T48\r
+        , typename set48< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11\r
+        , T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25\r
+        , T26, T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39\r
+        , T40, T41, T42, T43, T44, T45, T46, T47 >::item_\r
+        >\r
+{\r
+    typedef set49 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32, typename T33, typename T34\r
+    , typename T35, typename T36, typename T37, typename T38, typename T39\r
+    , typename T40, typename T41, typename T42, typename T43, typename T44\r
+    , typename T45, typename T46, typename T47, typename T48, typename T49\r
+    >\r
+struct set50\r
+    : s_item<\r
+          T49\r
+        , typename set49< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11\r
+        , T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25\r
+        , T26, T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39\r
+        , T40, T41, T42, T43, T44, T45, T46, T47, T48 >::item_\r
+        >\r
+{\r
+    typedef set50 type;\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..54697e1
--- /dev/null
@@ -0,0 +1,184 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright David Abrahams 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/set/set50_c.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40\r
+    >\r
+struct set41_c\r
+    : s_item<\r
+          integral_c< T,C40 >\r
+        , 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 >\r
+        >\r
+{\r
+    typedef set41_c type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40\r
+    , T C41\r
+    >\r
+struct set42_c\r
+    : s_item<\r
+          integral_c< T,C41 >\r
+        , 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 >\r
+        >\r
+{\r
+    typedef set42_c type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40\r
+    , T C41, T C42\r
+    >\r
+struct set43_c\r
+    : s_item<\r
+          integral_c< T,C42 >\r
+        , 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 >\r
+        >\r
+{\r
+    typedef set43_c type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40\r
+    , T C41, T C42, T C43\r
+    >\r
+struct set44_c\r
+    : s_item<\r
+          integral_c< T,C43 >\r
+        , 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 >\r
+        >\r
+{\r
+    typedef set44_c type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40\r
+    , T C41, T C42, T C43, T C44\r
+    >\r
+struct set45_c\r
+    : s_item<\r
+          integral_c< T,C44 >\r
+        , 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 >\r
+        >\r
+{\r
+    typedef set45_c type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40\r
+    , T C41, T C42, T C43, T C44, T C45\r
+    >\r
+struct set46_c\r
+    : s_item<\r
+          integral_c< T,C45 >\r
+        , 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 >\r
+        >\r
+{\r
+    typedef set46_c type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40\r
+    , T C41, T C42, T C43, T C44, T C45, T C46\r
+    >\r
+struct set47_c\r
+    : s_item<\r
+          integral_c< T,C46 >\r
+        , 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 >\r
+        >\r
+{\r
+    typedef set47_c type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40\r
+    , T C41, T C42, T C43, T C44, T C45, T C46, T C47\r
+    >\r
+struct set48_c\r
+    : s_item<\r
+          integral_c< T,C47 >\r
+        , 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 >\r
+        >\r
+{\r
+    typedef set48_c type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40\r
+    , T C41, T C42, T C43, T C44, T C45, T C46, T C47, T C48\r
+    >\r
+struct set49_c\r
+    : s_item<\r
+          integral_c< T,C48 >\r
+        , 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 >\r
+        >\r
+{\r
+    typedef set49_c type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40\r
+    , T C41, T C42, T C43, T C44, T C45, T C46, T C47, T C48, T C49\r
+    >\r
+struct set50_c\r
+    : s_item<\r
+          integral_c< T,C49 >\r
+        , 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 >\r
+        >\r
+{\r
+    typedef set50_c type;\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..6473da9
--- /dev/null
@@ -0,0 +1,69 @@
+\r
+#ifndef BOOST_MPL_SET_AUX_SET0_HPP_INCLUDED\r
+#define BOOST_MPL_SET_AUX_SET0_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2003-2004\r
+// Copyright David Abrahams 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: set0.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/long.hpp>\r
+#include <boost/mpl/void.hpp>\r
+#include <boost/mpl/aux_/na.hpp>\r
+#include <boost/mpl/set/aux_/tag.hpp>\r
+#include <boost/mpl/aux_/yes_no.hpp>\r
+#include <boost/mpl/aux_/overload_names.hpp>\r
+#include <boost/mpl/aux_/config/operators.hpp>\r
+\r
+#include <boost/preprocessor/cat.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+#if defined(BOOST_MPL_CFG_USE_OPERATORS_OVERLOADING)\r
+\r
+#   define BOOST_MPL_AUX_SET0_OVERLOAD(R, f, X, T) \\r
+    friend R BOOST_PP_CAT(BOOST_MPL_AUX_OVERLOAD_,f)(X const&, T) \\r
+/**/\r
+\r
+#   define BOOST_MPL_AUX_SET_OVERLOAD(R, f, X, T) \\r
+    BOOST_MPL_AUX_SET0_OVERLOAD(R, f, X, T) \\r
+/**/\r
+\r
+#else\r
+\r
+#   define BOOST_MPL_AUX_SET0_OVERLOAD(R, f, X, T) \\r
+    static R BOOST_PP_CAT(BOOST_MPL_AUX_OVERLOAD_,f)(X const&, T) \\r
+/**/\r
+\r
+#   define BOOST_MPL_AUX_SET_OVERLOAD(R, f, X, T) \\r
+    BOOST_MPL_AUX_SET0_OVERLOAD(R, f, X, T); \\r
+    using Base::BOOST_PP_CAT(BOOST_MPL_AUX_OVERLOAD_,f) \\r
+/**/\r
+\r
+#endif\r
+\r
+template< typename Dummy = na > struct set0\r
+{\r
+    typedef set0<>          item_;\r
+    typedef item_           type;\r
+    typedef aux::set_tag    tag;\r
+    typedef void_           last_masked_;\r
+    typedef void_           item_type_;\r
+    typedef long_<0>        size;\r
+    typedef long_<1>        order;\r
+\r
+    BOOST_MPL_AUX_SET0_OVERLOAD( aux::no_tag, ORDER_BY_KEY, set0<>, void const volatile* );\r
+    BOOST_MPL_AUX_SET0_OVERLOAD( aux::yes_tag, IS_MASKED, set0<>, void const volatile* );\r
+};\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_SET_AUX_SET0_HPP_INCLUDED\r
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 (file)
index 0000000..0f1fda2
--- /dev/null
@@ -0,0 +1,33 @@
+\r
+#ifndef BOOST_MPL_SET_AUX_SIZE_IMPL_HPP_INCLUDED\r
+#define BOOST_MPL_SET_AUX_SIZE_IMPL_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: size_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/size_fwd.hpp>\r
+#include <boost/mpl/set/aux_/tag.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct size_impl< aux::set_tag >\r
+{\r
+    template< typename Set > struct apply\r
+        : Set::size\r
+    {\r
+    };\r
+};\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_SET_AUX_SIZE_IMPL_HPP_INCLUDED\r
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 (file)
index 0000000..3b9b8c2
--- /dev/null
@@ -0,0 +1,24 @@
+\r
+#ifndef BOOST_MPL_SET_AUX_TAG_HPP_INCLUDED\r
+#define BOOST_MPL_SET_AUX_TAG_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2003-2004\r
+// Copyright David Abrahams 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: tag.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+struct set_tag;\r
+\r
+}}}\r
+\r
+#endif // BOOST_MPL_SET_AUX_TAG_HPP_INCLUDED\r
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 (file)
index 0000000..880b7ec
--- /dev/null
@@ -0,0 +1,34 @@
+\r
+#ifndef BOOST_MPL_SET_AUX_VALUE_TYPE_IMPL_HPP_INCLUDED\r
+#define BOOST_MPL_SET_AUX_VALUE_TYPE_IMPL_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2003-2004\r
+// Copyright David Abrahams 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: value_type_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/value_type_fwd.hpp>\r
+#include <boost/mpl/set/aux_/tag.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct value_type_impl< aux::set_tag >\r
+{\r
+    template< typename Set, typename T > struct apply\r
+    {\r
+        typedef T type;\r
+    };\r
+};\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_SET_AUX_VALUE_TYPE_IMPL_HPP_INCLUDED\r
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 (file)
index 0000000..d2e8640
--- /dev/null
@@ -0,0 +1,35 @@
+\r
+#ifndef BOOST_MPL_SET_SET0_HPP_INCLUDED\r
+#define BOOST_MPL_SET_SET0_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2003-2004\r
+// Copyright David Abrahams 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: set0.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/set/aux_/at_impl.hpp>\r
+#include <boost/mpl/set/aux_/clear_impl.hpp>\r
+//#include <boost/mpl/set/aux_/O1_size.hpp>\r
+#include <boost/mpl/set/aux_/size_impl.hpp>\r
+#include <boost/mpl/set/aux_/empty_impl.hpp>\r
+#include <boost/mpl/set/aux_/insert_impl.hpp>\r
+#include <boost/mpl/set/aux_/erase_impl.hpp>\r
+#include <boost/mpl/set/aux_/erase_key_impl.hpp>\r
+#include <boost/mpl/set/aux_/has_key_impl.hpp>\r
+#include <boost/mpl/set/aux_/key_type_impl.hpp>\r
+#include <boost/mpl/set/aux_/value_type_impl.hpp>\r
+#include <boost/mpl/set/aux_/begin_end_impl.hpp>\r
+#include <boost/mpl/set/aux_/iterator.hpp>\r
+#include <boost/mpl/set/aux_/item.hpp>\r
+#include <boost/mpl/set/aux_/set0.hpp>\r
+#include <boost/mpl/set/aux_/tag.hpp>\r
+\r
+#endif // BOOST_MPL_SET_SET0_HPP_INCLUDED\r
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 (file)
index 0000000..507b28a
--- /dev/null
@@ -0,0 +1,32 @@
+\r
+#ifndef BOOST_MPL_SET_SET0_C_HPP_INCLUDED\r
+#define BOOST_MPL_SET_SET0_C_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2003-2004\r
+// Copyright David Abrahams 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: set0_c.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/set/set0.hpp>\r
+#include <boost/mpl/integral_c.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template< typename T > struct set0_c\r
+    : set0<>\r
+{\r
+    typedef set0_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_SET_SET0_C_HPP_INCLUDED\r
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 (file)
index 0000000..1798126
--- /dev/null
@@ -0,0 +1,44 @@
+\r
+#ifndef BOOST_MPL_SET_SET10_HPP_INCLUDED\r
+#define BOOST_MPL_SET_SET10_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright David Abrahams 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: set10.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#if !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+#   include <boost/mpl/set/set0.hpp>\r
+#endif\r
+\r
+#include <boost/mpl/aux_/config/use_preprocessed.hpp>\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \\r
+    && !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+\r
+#   define BOOST_MPL_PREPROCESSED_HEADER set10.hpp\r
+#   include <boost/mpl/set/aux_/include_preprocessed.hpp>\r
+\r
+#else\r
+\r
+#   include <boost/preprocessor/iterate.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+#   define BOOST_PP_ITERATION_PARAMS_1 \\r
+    (3,(0, 10, <boost/mpl/set/aux_/numbered.hpp>))\r
+#   include BOOST_PP_ITERATE()\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS\r
+\r
+#endif // BOOST_MPL_SET_SET10_HPP_INCLUDED\r
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 (file)
index 0000000..58df0fd
--- /dev/null
@@ -0,0 +1,45 @@
+\r
+#ifndef BOOST_MPL_SET_SET10_C_HPP_INCLUDED\r
+#define BOOST_MPL_SET_SET10_C_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright David Abrahams 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: set10_c.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#if !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+#   include <boost/mpl/set/set0_c.hpp>\r
+#   include <boost/mpl/set/set10.hpp>\r
+#endif\r
+\r
+#include <boost/mpl/aux_/config/use_preprocessed.hpp>\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \\r
+    && !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+\r
+#   define BOOST_MPL_PREPROCESSED_HEADER set10_c.hpp\r
+#   include <boost/mpl/set/aux_/include_preprocessed.hpp>\r
+\r
+#else\r
+\r
+#   include <boost/preprocessor/iterate.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+#   define BOOST_PP_ITERATION_PARAMS_1 \\r
+    (3,(1, 10, <boost/mpl/set/aux_/numbered_c.hpp>))\r
+#   include BOOST_PP_ITERATE()\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS\r
+\r
+#endif // BOOST_MPL_SET_SET10_C_HPP_INCLUDED\r
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 (file)
index 0000000..bbfd673
--- /dev/null
@@ -0,0 +1,44 @@
+\r
+#ifndef BOOST_MPL_SET_SET20_HPP_INCLUDED\r
+#define BOOST_MPL_SET_SET20_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright David Abrahams 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: set20.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#if !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+#   include <boost/mpl/set/set10.hpp>\r
+#endif\r
+\r
+#include <boost/mpl/aux_/config/use_preprocessed.hpp>\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \\r
+    && !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+\r
+#   define BOOST_MPL_PREPROCESSED_HEADER set20.hpp\r
+#   include <boost/mpl/set/aux_/include_preprocessed.hpp>\r
+\r
+#else\r
+\r
+#   include <boost/preprocessor/iterate.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+#   define BOOST_PP_ITERATION_PARAMS_1 \\r
+    (3,(11, 20, <boost/mpl/set/aux_/numbered.hpp>))\r
+#   include BOOST_PP_ITERATE()\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS\r
+\r
+#endif // BOOST_MPL_SET_SET20_HPP_INCLUDED\r
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 (file)
index 0000000..c48aa62
--- /dev/null
@@ -0,0 +1,45 @@
+\r
+#ifndef BOOST_MPL_SET_SET20_C_HPP_INCLUDED\r
+#define BOOST_MPL_SET_SET20_C_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright David Abrahams 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: set20_c.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#if !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+#   include <boost/mpl/set/set10_c.hpp>\r
+#   include <boost/mpl/set/set20.hpp>\r
+#endif\r
+\r
+#include <boost/mpl/aux_/config/use_preprocessed.hpp>\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \\r
+    && !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+\r
+#   define BOOST_MPL_PREPROCESSED_HEADER set20_c.hpp\r
+#   include <boost/mpl/set/aux_/include_preprocessed.hpp>\r
+\r
+#else\r
+\r
+#   include <boost/preprocessor/iterate.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+#   define BOOST_PP_ITERATION_PARAMS_1 \\r
+    (3,(11, 20, <boost/mpl/set/aux_/numbered_c.hpp>))\r
+#   include BOOST_PP_ITERATE()\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS\r
+\r
+#endif // BOOST_MPL_SET_SET20_C_HPP_INCLUDED\r
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 (file)
index 0000000..c37d98d
--- /dev/null
@@ -0,0 +1,44 @@
+\r
+#ifndef BOOST_MPL_SET_SET30_HPP_INCLUDED\r
+#define BOOST_MPL_SET_SET30_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright David Abrahams 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: set30.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#if !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+#   include <boost/mpl/set/set20.hpp>\r
+#endif\r
+\r
+#include <boost/mpl/aux_/config/use_preprocessed.hpp>\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \\r
+    && !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+\r
+#   define BOOST_MPL_PREPROCESSED_HEADER set30.hpp\r
+#   include <boost/mpl/set/aux_/include_preprocessed.hpp>\r
+\r
+#else\r
+\r
+#   include <boost/preprocessor/iterate.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+#   define BOOST_PP_ITERATION_PARAMS_1 \\r
+    (3,(21, 30, <boost/mpl/set/aux_/numbered.hpp>))\r
+#   include BOOST_PP_ITERATE()\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS\r
+\r
+#endif // BOOST_MPL_SET_SET30_HPP_INCLUDED\r
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 (file)
index 0000000..99ea14e
--- /dev/null
@@ -0,0 +1,45 @@
+\r
+#ifndef BOOST_MPL_SET_SET30_C_HPP_INCLUDED\r
+#define BOOST_MPL_SET_SET30_C_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright David Abrahams 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: set30_c.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#if !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+#   include <boost/mpl/set/set20_c.hpp>\r
+#   include <boost/mpl/set/set30.hpp>\r
+#endif\r
+\r
+#include <boost/mpl/aux_/config/use_preprocessed.hpp>\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \\r
+    && !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+\r
+#   define BOOST_MPL_PREPROCESSED_HEADER set30_c.hpp\r
+#   include <boost/mpl/set/aux_/include_preprocessed.hpp>\r
+\r
+#else\r
+\r
+#   include <boost/preprocessor/iterate.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+#   define BOOST_PP_ITERATION_PARAMS_1 \\r
+    (3,(21, 30, <boost/mpl/set/aux_/numbered_c.hpp>))\r
+#   include BOOST_PP_ITERATE()\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS\r
+\r
+#endif // BOOST_MPL_SET_SET30_C_HPP_INCLUDED\r
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 (file)
index 0000000..943f034
--- /dev/null
@@ -0,0 +1,44 @@
+\r
+#ifndef BOOST_MPL_SET_SET40_HPP_INCLUDED\r
+#define BOOST_MPL_SET_SET40_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright David Abrahams 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: set40.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#if !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+#   include <boost/mpl/set/set30.hpp>\r
+#endif\r
+\r
+#include <boost/mpl/aux_/config/use_preprocessed.hpp>\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \\r
+    && !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+\r
+#   define BOOST_MPL_PREPROCESSED_HEADER set40.hpp\r
+#   include <boost/mpl/set/aux_/include_preprocessed.hpp>\r
+\r
+#else\r
+\r
+#   include <boost/preprocessor/iterate.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+#   define BOOST_PP_ITERATION_PARAMS_1 \\r
+    (3,(31, 40, <boost/mpl/set/aux_/numbered.hpp>))\r
+#   include BOOST_PP_ITERATE()\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS\r
+\r
+#endif // BOOST_MPL_SET_SET40_HPP_INCLUDED\r
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 (file)
index 0000000..7b2234e
--- /dev/null
@@ -0,0 +1,45 @@
+\r
+#ifndef BOOST_MPL_SET_SET40_C_HPP_INCLUDED\r
+#define BOOST_MPL_SET_SET40_C_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright David Abrahams 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: set40_c.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#if !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+#   include <boost/mpl/set/set30_c.hpp>\r
+#   include <boost/mpl/set/set40.hpp>\r
+#endif\r
+\r
+#include <boost/mpl/aux_/config/use_preprocessed.hpp>\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \\r
+    && !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+\r
+#   define BOOST_MPL_PREPROCESSED_HEADER set40_c.hpp\r
+#   include <boost/mpl/set/aux_/include_preprocessed.hpp>\r
+\r
+#else\r
+\r
+#   include <boost/preprocessor/iterate.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+#   define BOOST_PP_ITERATION_PARAMS_1 \\r
+    (3,(31, 40, <boost/mpl/set/aux_/numbered_c.hpp>))\r
+#   include BOOST_PP_ITERATE()\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS\r
+\r
+#endif // BOOST_MPL_SET_SET40_C_HPP_INCLUDED\r
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 (file)
index 0000000..c573f96
--- /dev/null
@@ -0,0 +1,44 @@
+\r
+#ifndef BOOST_MPL_SET_SET50_HPP_INCLUDED\r
+#define BOOST_MPL_SET_SET50_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright David Abrahams 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: set50.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#if !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+#   include <boost/mpl/set/set40.hpp>\r
+#endif\r
+\r
+#include <boost/mpl/aux_/config/use_preprocessed.hpp>\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \\r
+    && !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+\r
+#   define BOOST_MPL_PREPROCESSED_HEADER set50.hpp\r
+#   include <boost/mpl/set/aux_/include_preprocessed.hpp>\r
+\r
+#else\r
+\r
+#   include <boost/preprocessor/iterate.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+#   define BOOST_PP_ITERATION_PARAMS_1 \\r
+    (3,(41, 50, <boost/mpl/set/aux_/numbered.hpp>))\r
+#   include BOOST_PP_ITERATE()\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS\r
+\r
+#endif // BOOST_MPL_SET_SET50_HPP_INCLUDED\r
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 (file)
index 0000000..2b997ad
--- /dev/null
@@ -0,0 +1,45 @@
+\r
+#ifndef BOOST_MPL_SET_SET50_C_HPP_INCLUDED\r
+#define BOOST_MPL_SET_SET50_C_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright David Abrahams 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: set50_c.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#if !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+#   include <boost/mpl/set/set40_c.hpp>\r
+#   include <boost/mpl/set/set50.hpp>\r
+#endif\r
+\r
+#include <boost/mpl/aux_/config/use_preprocessed.hpp>\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \\r
+    && !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+\r
+#   define BOOST_MPL_PREPROCESSED_HEADER set50_c.hpp\r
+#   include <boost/mpl/set/aux_/include_preprocessed.hpp>\r
+\r
+#else\r
+\r
+#   include <boost/preprocessor/iterate.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+#   define BOOST_PP_ITERATION_PARAMS_1 \\r
+    (3,(41, 50, <boost/mpl/set/aux_/numbered_c.hpp>))\r
+#   include BOOST_PP_ITERATE()\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS\r
+\r
+#endif // BOOST_MPL_SET_SET50_C_HPP_INCLUDED\r
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 (file)
index 0000000..2e6ef80
--- /dev/null
@@ -0,0 +1,60 @@
+\r
+#ifndef BOOST_MPL_SET_C_HPP_INCLUDED\r
+#define BOOST_MPL_SET_C_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: set_c.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#if !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+#   include <boost/mpl/limits/set.hpp>\r
+#   include <boost/mpl/aux_/nttp_decl.hpp>\r
+#   include <boost/mpl/aux_/config/preprocessor.hpp>\r
+\r
+#   include <boost/preprocessor/inc.hpp>\r
+#   include <boost/preprocessor/cat.hpp>\r
+#   include <boost/preprocessor/stringize.hpp>\r
+\r
+#if !defined(BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING)\r
+#   define AUX778076_SET_C_HEADER \\r
+    BOOST_PP_CAT(BOOST_PP_CAT(set,BOOST_MPL_LIMIT_SET_SIZE),_c).hpp \\r
+    /**/\r
+#else\r
+#   define AUX778076_SET_C_HEADER \\r
+    BOOST_PP_CAT(BOOST_PP_CAT(set,BOOST_MPL_LIMIT_SET_SIZE),_c)##.hpp \\r
+    /**/\r
+#endif\r
+\r
+#   include BOOST_PP_STRINGIZE(boost/mpl/set/AUX778076_SET_C_HEADER)\r
+#   undef AUX778076_SET_C_HEADER\r
+#   include <climits>\r
+#endif\r
+\r
+#include <boost/mpl/aux_/config/use_preprocessed.hpp>\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \\r
+    && !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+\r
+#   define BOOST_MPL_PREPROCESSED_HEADER set_c.hpp\r
+#   include <boost/mpl/aux_/include_preprocessed.hpp>\r
+\r
+#else\r
+\r
+#   include <boost/mpl/limits/set.hpp>\r
+\r
+#   define AUX778076_SEQUENCE_NAME set_c\r
+#   define AUX778076_SEQUENCE_LIMIT BOOST_MPL_LIMIT_SET_SIZE\r
+#   define AUX778076_SEQUENCE_NAME_N(n) BOOST_PP_CAT(BOOST_PP_CAT(set,n),_c)\r
+#   define AUX778076_SEQUENCE_INTEGRAL_WRAPPER\r
+#   include <boost/mpl/aux_/sequence_wrapper.hpp>\r
+\r
+#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS\r
+#endif // BOOST_MPL_SET_C_HPP_INCLUDED\r
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 (file)
index 0000000..a6ed1af
--- /dev/null
@@ -0,0 +1,22 @@
+\r
+#ifndef BOOST_MPL_SHIFT_LEFT_HPP_INCLUDED\r
+#define BOOST_MPL_SHIFT_LEFT_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright Jaap Suter 2003\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: shift_left.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#define AUX778076_OP_NAME shift_left\r
+#define AUX778076_OP_TOKEN <<\r
+#include <boost/mpl/aux_/shift_op.hpp>\r
+\r
+#endif // BOOST_MPL_SHIFT_LEFT_HPP_INCLUDED\r
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 (file)
index 0000000..fee0543
--- /dev/null
@@ -0,0 +1,22 @@
+\r
+#ifndef BOOST_MPL_SHIFT_RIGHT_HPP_INCLUDED\r
+#define BOOST_MPL_SHIFT_RIGHT_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright Jaap Suter 2003\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: shift_right.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#define AUX778076_OP_NAME shift_right\r
+#define AUX778076_OP_TOKEN >>\r
+#include <boost/mpl/aux_/shift_op.hpp>\r
+\r
+#endif // BOOST_MPL_SHIFT_RIGHT_HPP_INCLUDED\r
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 (file)
index 0000000..cb8ec25
--- /dev/null
@@ -0,0 +1,38 @@
+\r
+#ifndef BOOST_MPL_SINGLE_VIEW_HPP_INCLUDED\r
+#define BOOST_MPL_SINGLE_VIEW_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: single_view.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/aux_/single_element_iter.hpp>\r
+#include <boost/mpl/iterator_range.hpp>\r
+#include <boost/mpl/aux_/na_spec.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(T)\r
+    >\r
+struct single_view\r
+    : iterator_range<\r
+          aux::sel_iter<T,0>\r
+        , aux::sel_iter<T,1>\r
+        >\r
+{\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC_NO_ETI(1, single_view)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_SINGLE_VIEW_HPP_INCLUDED\r
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 (file)
index 0000000..f46dad0
--- /dev/null
@@ -0,0 +1,42 @@
+\r
+#ifndef BOOST_MPL_SIZE_HPP_INCLUDED\r
+#define BOOST_MPL_SIZE_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: size.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/size_fwd.hpp>\r
+#include <boost/mpl/sequence_tag.hpp>\r
+#include <boost/mpl/aux_/size_impl.hpp>\r
+#include <boost/mpl/aux_/na_spec.hpp>\r
+#include <boost/mpl/aux_/lambda_support.hpp>\r
+#include <boost/mpl/aux_/msvc_eti_base.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(Sequence)\r
+    >\r
+struct size\r
+    : aux::msvc_eti_base<\r
+        typename size_impl< typename sequence_tag<Sequence>::type >\r
+            ::template apply< Sequence >::type\r
+      >::type\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(1, size, (Sequence))\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(1, size)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_SIZE_HPP_INCLUDED\r
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 (file)
index 0000000..2d0ff4b
--- /dev/null
@@ -0,0 +1,24 @@
+\r
+#ifndef BOOST_MPL_SIZE_FWD_HPP_INCLUDED\r
+#define BOOST_MPL_SIZE_FWD_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: size_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template< typename Tag > struct size_impl;\r
+template< typename Sequence > struct size;\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_SIZE_FWD_HPP_INCLUDED\r
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 (file)
index 0000000..5beb3ca
--- /dev/null
@@ -0,0 +1,25 @@
+\r
+#ifndef BOOST_MPL_SIZE_T_HPP_INCLUDED\r
+#define BOOST_MPL_SIZE_T_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: size_t.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/size_t_fwd.hpp>\r
+\r
+#define AUX_WRAPPER_VALUE_TYPE std::size_t\r
+#define AUX_WRAPPER_NAME size_t\r
+#define AUX_WRAPPER_PARAMS(N) std::size_t N\r
+\r
+#include <boost/mpl/aux_/integral_wrapper.hpp>\r
+\r
+#endif // BOOST_MPL_SIZE_T_HPP_INCLUDED\r
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 (file)
index 0000000..f666936
--- /dev/null
@@ -0,0 +1,28 @@
+\r
+#ifndef BOOST_MPL_SIZE_T_FWD_HPP_INCLUDED\r
+#define BOOST_MPL_SIZE_T_FWD_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: size_t_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/aux_/adl_barrier.hpp>\r
+#include <boost/config.hpp> // make sure 'size_t' is placed into 'std'\r
+#include <cstddef>\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+\r
+template< std::size_t N > struct size_t;\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+BOOST_MPL_AUX_ADL_BARRIER_DECL(size_t)\r
+\r
+#endif // BOOST_MPL_SIZE_T_FWD_HPP_INCLUDED\r
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 (file)
index 0000000..49f5fc8
--- /dev/null
@@ -0,0 +1,36 @@
+\r
+#ifndef BOOST_MPL_SIZEOF_HPP_INCLUDED\r
+#define BOOST_MPL_SIZEOF_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2003\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: sizeof.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/size_t.hpp>\r
+#include <boost/mpl/aux_/na_spec.hpp>\r
+#include <boost/mpl/aux_/lambda_support.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(T)\r
+    >\r
+struct sizeof_\r
+    : mpl::size_t< sizeof(T) >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,sizeof_,(T))\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC_NO_ETI(1, sizeof_)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_SIZEOF_HPP_INCLUDED\r
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 (file)
index 0000000..ee8dc2b
--- /dev/null
@@ -0,0 +1,27 @@
+\r
+#ifndef BOOST_MPL_SORT_HPP_INCLUDED\r
+#define BOOST_MPL_SORT_HPP_INCLUDED\r
+\r
+// Copyright Eric Friedman 2002-2003\r
+// Copyright Aleksey Gurtovoy 2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: sort.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/aux_/sort_impl.hpp>\r
+#include <boost/mpl/aux_/inserter_algorithm.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+BOOST_MPL_AUX_INSERTER_ALGORITHM_DEF(3, sort)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_SORT_HPP_INCLUDED\r
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 (file)
index 0000000..bf0a4af
--- /dev/null
@@ -0,0 +1,75 @@
+\r
+#ifndef BOOST_MPL_STABLE_PARTITION_HPP_INCLUDED\r
+#define BOOST_MPL_STABLE_PARTITION_HPP_INCLUDED\r
+\r
+// Copyright Eric Friedman 2002-2003\r
+// Copyright Aleksey Gurtovoy 2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: stable_partition.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/fold.hpp>\r
+#include <boost/mpl/reverse_fold.hpp>\r
+#include <boost/mpl/protect.hpp>\r
+#include <boost/mpl/aux_/partition_op.hpp>\r
+#include <boost/mpl/aux_/inserter_algorithm.hpp>\r
+#include <boost/mpl/aux_/na.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
\r
+template <\r
+      typename Sequence\r
+    , typename Pred\r
+    , typename In\r
+    , typename In2\r
+    , typename In1 = typename if_na<In,In2>::type\r
+    >\r
+struct stable_partition_impl\r
+    : fold<\r
+          Sequence\r
+        , pair< typename In1::state, typename In2::state >\r
+        , protect< partition_op< \r
+              Pred\r
+            , typename In1::operation\r
+            , typename In2::operation\r
+            > >\r
+        >\r
+{\r
+};\r
+\r
+template <\r
+      typename Sequence\r
+    , typename Pred\r
+    , typename In\r
+    , typename In2\r
+    , typename In1 = typename if_na<In,In2>::type\r
+    >\r
+struct reverse_stable_partition_impl\r
+    : reverse_fold<\r
+          Sequence\r
+        , pair< typename In1::state, typename In2::state >\r
+        , protect< partition_op< \r
+              Pred\r
+            , typename In1::operation\r
+            , typename In2::operation\r
+            > >\r
+        >\r
+{\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_INSERTER_ALGORITHM_DEF(4, stable_partition)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_STABLE_PARTITION_HPP_INCLUDED\r
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 (file)
index 0000000..f3b1613
--- /dev/null
@@ -0,0 +1,559 @@
+\r
+#ifndef BOOST_MPL_STRING_HPP_INCLUDED\r
+#define BOOST_MPL_STRING_HPP_INCLUDED\r
+\r
+// Copyright Eric Niebler 2009\r
+//\r
+// Distributed under the Boost Software License, Version 1.0.\r
+// (See accompanying file LICENSE_1_0.txt or copy at\r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: string.hpp 49239 2009-04-01 09:10:26Z eric_niebler $\r
+// $Date: 2009-04-01 02:10:26 -0700 (Wed, 1 Apr 2009) $\r
+// $Revision: 49239 $\r
+//\r
+// Thanks to:\r
+//   Dmitry Goncharov for porting this to the Sun compiler\r
+\r
+#include <boost/config.hpp>\r
+#include <boost/detail/workaround.hpp>\r
+#include <boost/detail/endian.hpp>\r
+#include <boost/mpl/limits/string.hpp>\r
+#include <boost/mpl/if.hpp>\r
+#include <boost/mpl/char.hpp>\r
+#include <boost/mpl/copy.hpp>\r
+#include <boost/mpl/size.hpp>\r
+#include <boost/mpl/empty.hpp>\r
+#include <boost/mpl/assert.hpp>\r
+#include <boost/mpl/size_t.hpp>\r
+#include <boost/mpl/begin_end.hpp>\r
+#include <boost/mpl/joint_view.hpp>\r
+#include <boost/mpl/insert_range.hpp>\r
+#include <boost/mpl/back_inserter.hpp>\r
+#include <boost/mpl/front_inserter.hpp>\r
+#include <boost/mpl/iterator_range.hpp>\r
+#include <boost/preprocessor/arithmetic/dec.hpp>\r
+#include <boost/preprocessor/arithmetic/add.hpp>\r
+#include <boost/preprocessor/arithmetic/div.hpp>\r
+#include <boost/preprocessor/punctuation/comma_if.hpp>\r
+#include <boost/preprocessor/repetition/repeat.hpp>\r
+#include <boost/preprocessor/repetition/enum_params.hpp>\r
+#include <boost/preprocessor/repetition/repeat_from_to.hpp>\r
+#include <boost/preprocessor/repetition/enum_shifted_params.hpp>\r
+#include <boost/preprocessor/repetition/enum_trailing_params.hpp>\r
+#include <boost/preprocessor/repetition/enum_params_with_a_default.hpp>\r
+\r
+#include <iterator> // for bidirectional_iterator_tag\r
+#include <climits>\r
+\r
+namespace boost { namespace mpl\r
+{\r
+    #define BOOST_MPL_STRING_MAX_PARAMS                                                             \\r
+      BOOST_PP_DIV(BOOST_PP_ADD(BOOST_MPL_LIMIT_STRING_SIZE, 3), 4)\r
+\r
+    // Low-level bit-twiddling is done by macros. Any implementation-defined behavior of\r
+    // multi-character literals should be localized to these macros.\r
+\r
+    #define BOOST_MPL_MULTICHAR_LENGTH(c)                                                           \\r
+      (std::size_t)((c<CHAR_MIN) ? 4 : ((c>0xffffff)+(c>0xffff)+(c>0xff)+1))\r
+\r
+    #if defined(BOOST_LITTLE_ENDIAN) && defined(__SUNPRO_CC)\r
+\r
+        #define BOOST_MPL_MULTICHAR_AT(c,i)                                                         \\r
+          (char)(0xff&((unsigned)(c)>>(8*(std::size_t)(i))))\r
+\r
+        #define BOOST_MPL_MULTICHAR_PUSH_BACK(c,i)                                                  \\r
+          ((((unsigned char)(i))<<(BOOST_MPL_MULTICHAR_LENGTH(c)*8))|(unsigned)(c))\r
+\r
+        #define BOOST_MPL_MULTICHAR_PUSH_FRONT(c,i)                                                 \\r
+          (((unsigned)(c)<<8)|(unsigned char)(i))\r
+\r
+        #define BOOST_MPL_MULTICHAR_POP_BACK(c)                                                     \\r
+          (((1<<((BOOST_MPL_MULTICHAR_LENGTH(c)-1)*8))-1)&(unsigned)(c))\r
+\r
+        #define BOOST_MPL_MULTICHAR_POP_FRONT(c)                                                    \\r
+          ((unsigned)(c)>>8)\r
+\r
+    #else\r
+\r
+        #define BOOST_MPL_MULTICHAR_AT(c,i)                                                         \\r
+          (char)(0xff&((unsigned)(c)>>(8*(BOOST_MPL_MULTICHAR_LENGTH(c)-(std::size_t)(i)-1))))\r
+\r
+        #define BOOST_MPL_MULTICHAR_PUSH_BACK(c,i)                                                  \\r
+          (((unsigned)(c)<<8)|(unsigned char)(i))\r
+\r
+        #define BOOST_MPL_MULTICHAR_PUSH_FRONT(c,i)                                                 \\r
+          ((((unsigned char)(i))<<(BOOST_MPL_MULTICHAR_LENGTH(c)*8))|(unsigned)(c))\r
+\r
+        #define BOOST_MPL_MULTICHAR_POP_BACK(c)                                                     \\r
+          ((unsigned)(c)>>8)\r
+\r
+        #define BOOST_MPL_MULTICHAR_POP_FRONT(c)                                                    \\r
+          (((1<<((BOOST_MPL_MULTICHAR_LENGTH(c)-1)*8))-1)&(unsigned)(c))\r
+\r
+    #endif\r
+\r
+    struct string_tag;\r
+    struct string_iterator_tag;\r
+\r
+    template<BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT(BOOST_MPL_STRING_MAX_PARAMS, int C, 0)>\r
+    struct string;\r
+\r
+    template<typename Sequence, int I, int J>\r
+    struct string_iterator;\r
+\r
+    template<typename Sequence>\r
+    struct sequence_tag;\r
+\r
+    template<typename Tag>\r
+    struct size_impl;\r
+\r
+    template<>\r
+    struct size_impl<mpl::string_tag>\r
+    {\r
+        template<typename Sequence>\r
+        struct apply;\r
+\r
+        #define M0(z, n, data)                                                                      \\r
+        + BOOST_MPL_MULTICHAR_LENGTH(BOOST_PP_CAT(C,n))\r
+\r
+        #define M1(z, n, data)                                                                      \\r
+        template<BOOST_PP_ENUM_PARAMS_Z(z, n, int C)>                                               \\r
+        struct apply<mpl::string<BOOST_PP_ENUM_PARAMS_Z(z, n, C)> >                                 \\r
+          : mpl::size_t<(0 BOOST_PP_REPEAT_ ## z(n, M0, ~))>                                        \\r
+        {};\r
+\r
+        BOOST_PP_REPEAT_FROM_TO(1, BOOST_PP_INC(BOOST_MPL_STRING_MAX_PARAMS), M1, ~)\r
+        #undef M0\r
+        #undef M1\r
+    };\r
+\r
+    template<>\r
+    struct size_impl<mpl::string_tag>::apply<mpl::string<> >\r
+      : mpl::size_t<0>\r
+    {};\r
+\r
+    template<typename Tag>\r
+    struct begin_impl;\r
+\r
+    template<>\r
+    struct begin_impl<mpl::string_tag>\r
+    {\r
+        template<typename Sequence>\r
+        struct apply\r
+        {\r
+            typedef mpl::string_iterator<Sequence, 0, 0> type;\r
+        };\r
+    };\r
+\r
+    template<typename Tag>\r
+    struct end_impl;\r
+\r
+    template<>\r
+    struct end_impl<mpl::string_tag>\r
+    {\r
+        template<typename Sequence>\r
+        struct apply;\r
+\r
+        #define M0(z,n,data)                                                                        \\r
+        template<BOOST_PP_ENUM_PARAMS_Z(z, n, int C)>                                               \\r
+        struct apply<mpl::string<BOOST_PP_ENUM_PARAMS_Z(z, n, C)> >                                 \\r
+        {                                                                                           \\r
+            typedef mpl::string_iterator<mpl::string<BOOST_PP_ENUM_PARAMS_Z(z, n, C)>, n, 0> type;  \\r
+        };\r
+\r
+        BOOST_PP_REPEAT_FROM_TO(1, BOOST_PP_INC(BOOST_MPL_STRING_MAX_PARAMS), M0, ~)\r
+        #undef M0\r
+    };\r
+\r
+    template<>\r
+    struct end_impl<mpl::string_tag>::apply<mpl::string<> >\r
+    {\r
+        typedef mpl::string_iterator<mpl::string<>, 0, 0> type;\r
+    };\r
+\r
+    template<typename Tag>\r
+    struct push_back_impl;\r
+\r
+    template<>\r
+    struct push_back_impl<mpl::string_tag>\r
+    {\r
+        template<typename Sequence, typename Value, bool B = (4==BOOST_MPL_MULTICHAR_LENGTH(Sequence::back_))>\r
+        struct apply\r
+        {\r
+            BOOST_MPL_ASSERT_MSG(\r
+                (BOOST_MPL_LIMIT_STRING_SIZE != mpl::size<Sequence>::type::value)\r
+              , PUSH_BACK_FAILED_MPL_STRING_IS_FULL\r
+              , (Sequence)\r
+            );\r
+            // If the above assertion didn't fire, then the string is sparse.\r
+            // Repack the string and retry the push_back\r
+            typedef\r
+                typename mpl::push_back<\r
+                    typename mpl::copy<\r
+                        Sequence\r
+                      , mpl::back_inserter<mpl::string<> >\r
+                    >::type\r
+                  , Value\r
+                >::type\r
+            type;\r
+        };\r
+\r
+        template<typename Value>\r
+        struct apply<mpl::string<>, Value, false>\r
+        {\r
+            typedef mpl::string<(char)Value::value> type;\r
+        };\r
+\r
+        #define M0(z,n,data)                                                                        \\r
+        template<BOOST_PP_ENUM_PARAMS_Z(z, n, int C), typename Value>                               \\r
+        struct apply<mpl::string<BOOST_PP_ENUM_PARAMS_Z(z, n, C)>, Value, false>                    \\r
+        {                                                                                           \\r
+            typedef                                                                                 \\r
+                mpl::string<                                                                        \\r
+                    BOOST_PP_ENUM_PARAMS_Z(z, BOOST_PP_DEC(n), C)                                   \\r
+                    BOOST_PP_COMMA_IF(BOOST_PP_DEC(n))                                              \\r
+                    ((unsigned)BOOST_PP_CAT(C,BOOST_PP_DEC(n))>0xffffff)                            \\r
+                    ?BOOST_PP_CAT(C,BOOST_PP_DEC(n))                                                \\r
+                    :BOOST_MPL_MULTICHAR_PUSH_BACK(BOOST_PP_CAT(C,BOOST_PP_DEC(n)), Value::value)   \\r
+                  , ((unsigned)BOOST_PP_CAT(C,BOOST_PP_DEC(n))>0xffffff)                            \\r
+                    ?(char)Value::value                                                             \\r
+                    :0                                                                              \\r
+                >                                                                                   \\r
+            type;                                                                                   \\r
+        };\r
+\r
+        BOOST_PP_REPEAT_FROM_TO(1, BOOST_MPL_STRING_MAX_PARAMS, M0, ~)\r
+        #undef M0\r
+\r
+        template<BOOST_PP_ENUM_PARAMS(BOOST_MPL_STRING_MAX_PARAMS, int C), typename Value>\r
+        struct apply<mpl::string<BOOST_PP_ENUM_PARAMS(BOOST_MPL_STRING_MAX_PARAMS, C)>, Value, false>\r
+        {\r
+            typedef\r
+                mpl::string<\r
+                    BOOST_PP_ENUM_PARAMS(BOOST_PP_DEC(BOOST_MPL_STRING_MAX_PARAMS), C)\r
+                  , BOOST_MPL_MULTICHAR_PUSH_BACK(BOOST_PP_CAT(C,BOOST_PP_DEC(BOOST_MPL_STRING_MAX_PARAMS)), Value::value)\r
+                >\r
+            type;\r
+        };\r
+    };\r
+\r
+    template<typename Tag>\r
+    struct pop_back_impl;\r
+\r
+    template<>\r
+    struct pop_back_impl<mpl::string_tag>\r
+    {\r
+        template<typename Sequence>\r
+        struct apply;\r
+\r
+        #define M0(z,n,data)                                                                        \\r
+        template<BOOST_PP_ENUM_PARAMS_Z(z, n, int C)>                                               \\r
+        struct apply<mpl::string<BOOST_PP_ENUM_PARAMS_Z(z, n, C)> >                                 \\r
+        {                                                                                           \\r
+            BOOST_MPL_ASSERT_MSG((C0 != 0), POP_BACK_FAILED_MPL_STRING_IS_EMPTY, (mpl::string<>));  \\r
+            typedef                                                                                 \\r
+                mpl::string<                                                                        \\r
+                    BOOST_PP_ENUM_PARAMS_Z(z, BOOST_PP_DEC(n), C)                                   \\r
+                    BOOST_PP_COMMA_IF(BOOST_PP_DEC(n))                                              \\r
+                    BOOST_MPL_MULTICHAR_POP_BACK(BOOST_PP_CAT(C,BOOST_PP_DEC(n)))                   \\r
+                >                                                                                   \\r
+            type;                                                                                   \\r
+        };\r
+\r
+        BOOST_PP_REPEAT_FROM_TO(1, BOOST_PP_INC(BOOST_MPL_STRING_MAX_PARAMS), M0, ~)\r
+        #undef M0\r
+    };\r
+\r
+    template<typename Tag>\r
+    struct push_front_impl;\r
+\r
+    template<>\r
+    struct push_front_impl<mpl::string_tag>\r
+    {\r
+        template<typename Sequence, typename Value, bool B = (4==BOOST_MPL_MULTICHAR_LENGTH(Sequence::front_))>\r
+        struct apply\r
+        {\r
+            BOOST_MPL_ASSERT_MSG(\r
+                (BOOST_MPL_LIMIT_STRING_SIZE != mpl::size<Sequence>::type::value)\r
+              , PUSH_FRONT_FAILED_MPL_STRING_IS_FULL\r
+              , (Sequence)\r
+            );\r
+            // If the above assertion didn't fire, then the string is sparse.\r
+            // Repack the string and retry the push_front.\r
+            typedef\r
+                typename mpl::push_front<\r
+                    typename mpl::reverse_copy<\r
+                        Sequence\r
+                      , mpl::front_inserter<string<> >\r
+                    >::type\r
+                  , Value\r
+                >::type\r
+            type;\r
+        };\r
+\r
+        #if !BOOST_WORKAROUND(__SUNPRO_CC, BOOST_TESTED_AT(0x590))\r
+        template<typename Value>\r
+        struct apply<mpl::string<>, Value, false>\r
+        {\r
+            typedef mpl::string<(char)Value::value> type;\r
+        };\r
+        #endif\r
+\r
+        #define M0(z,n,data)                                                                        \\r
+        template<BOOST_PP_ENUM_PARAMS_Z(z, n, int C), typename Value>                               \\r
+        struct apply<mpl::string<BOOST_PP_ENUM_PARAMS_Z(z, n, C)>, Value, true>                     \\r
+        {                                                                                           \\r
+            typedef                                                                                 \\r
+                mpl::string<                                                                        \\r
+                    (char)Value::value                                                              \\r
+                    BOOST_PP_ENUM_TRAILING_PARAMS_Z(z, n, C)                                        \\r
+                >                                                                                   \\r
+            type;                                                                                   \\r
+        };\r
+\r
+        BOOST_PP_REPEAT_FROM_TO(1, BOOST_MPL_STRING_MAX_PARAMS, M0, ~)\r
+        #undef M0\r
+\r
+        template<BOOST_PP_ENUM_PARAMS(BOOST_MPL_STRING_MAX_PARAMS, int C), typename Value>\r
+        struct apply<mpl::string<BOOST_PP_ENUM_PARAMS(BOOST_MPL_STRING_MAX_PARAMS, C)>, Value, false>\r
+        {\r
+            typedef\r
+                mpl::string<\r
+                    BOOST_MPL_MULTICHAR_PUSH_FRONT(C0, Value::value)\r
+                  , BOOST_PP_ENUM_SHIFTED_PARAMS(BOOST_MPL_STRING_MAX_PARAMS, C)\r
+                >\r
+            type0;\r
+\r
+            #if BOOST_WORKAROUND(__SUNPRO_CC, BOOST_TESTED_AT(0x590))\r
+            typedef\r
+                typename mpl::if_<\r
+                    mpl::empty<mpl::string<BOOST_PP_ENUM_PARAMS(BOOST_MPL_STRING_MAX_PARAMS, C)> >\r
+                  , mpl::string<(char)Value::value>\r
+                  , type0\r
+                >::type\r
+            type;\r
+            #else\r
+            typedef type0 type;\r
+            #endif\r
+        };\r
+    };\r
+\r
+    template<typename Tag>\r
+    struct pop_front_impl;\r
+\r
+    template<>\r
+    struct pop_front_impl<mpl::string_tag>\r
+    {\r
+        template<typename Sequence, bool B = (1==BOOST_MPL_MULTICHAR_LENGTH(Sequence::front_))>\r
+        struct apply;\r
+\r
+        #define M0(z,n,data)                                                                        \\r
+        template<BOOST_PP_ENUM_PARAMS_Z(z, n, int C)>                                               \\r
+        struct apply<mpl::string<BOOST_PP_ENUM_PARAMS_Z(z, n, C)>, true>                            \\r
+        {                                                                                           \\r
+            BOOST_MPL_ASSERT_MSG((C0 != 0), POP_FRONT_FAILED_MPL_STRING_IS_EMPTY, (mpl::string<>)); \\r
+            typedef                                                                                 \\r
+                mpl::string<BOOST_PP_ENUM_SHIFTED_PARAMS_Z(z, n, C)>                                \\r
+            type;                                                                                   \\r
+        };\r
+\r
+        BOOST_PP_REPEAT_FROM_TO(1, BOOST_MPL_STRING_MAX_PARAMS, M0, ~)\r
+        #undef M0\r
+\r
+        template<BOOST_PP_ENUM_PARAMS(BOOST_MPL_STRING_MAX_PARAMS, int C)>\r
+        struct apply<mpl::string<BOOST_PP_ENUM_PARAMS(BOOST_MPL_STRING_MAX_PARAMS, C)>, false>\r
+        {\r
+            typedef\r
+                mpl::string<\r
+                    BOOST_MPL_MULTICHAR_POP_FRONT(C0)\r
+                  , BOOST_PP_ENUM_SHIFTED_PARAMS(BOOST_MPL_STRING_MAX_PARAMS, C)\r
+                >\r
+            type;\r
+        };\r
+    };\r
+\r
+    template<typename Tag>\r
+    struct insert_range_impl;\r
+\r
+    template<>\r
+    struct insert_range_impl<mpl::string_tag>\r
+    {\r
+        template<typename Sequence, typename Pos, typename Range>\r
+        struct apply\r
+          : mpl::copy<\r
+                mpl::joint_view<\r
+                    mpl::iterator_range<\r
+                        mpl::string_iterator<Sequence, 0, 0>\r
+                      , Pos\r
+                    >\r
+                  , mpl::joint_view<\r
+                        Range\r
+                      , mpl::iterator_range<\r
+                            Pos\r
+                          , typename mpl::end<Sequence>::type\r
+                        >\r
+                    >\r
+                >\r
+              , mpl::back_inserter<mpl::string<> >\r
+            >\r
+        {};\r
+    };\r
+\r
+    template<typename Tag>\r
+    struct insert_impl;\r
+\r
+    template<>\r
+    struct insert_impl<mpl::string_tag>\r
+    {\r
+        template<typename Sequence, typename Pos, typename Value>\r
+        struct apply\r
+          : mpl::insert_range<Sequence, Pos, mpl::string<(char)Value::value> >\r
+        {};\r
+    };\r
+\r
+    template<typename Tag>\r
+    struct erase_impl;\r
+\r
+    template<>\r
+    struct erase_impl<mpl::string_tag>\r
+    {\r
+        template<typename Sequence, typename First, typename Last>\r
+        struct apply\r
+          : mpl::copy<\r
+                mpl::joint_view<\r
+                    mpl::iterator_range<\r
+                        mpl::string_iterator<Sequence, 0, 0>\r
+                      , First\r
+                    >\r
+                  , mpl::iterator_range<\r
+                        typename mpl::if_na<Last, typename mpl::next<First>::type>::type\r
+                      , typename mpl::end<Sequence>::type\r
+                    >\r
+                >\r
+              , mpl::back_inserter<mpl::string<> >\r
+            >\r
+        {};\r
+    };\r
+\r
+    template<typename Tag>\r
+    struct clear_impl;\r
+\r
+    template<>\r
+    struct clear_impl<mpl::string_tag>\r
+    {\r
+        template<typename>\r
+        struct apply\r
+        {\r
+            typedef mpl::string<> type;\r
+        };\r
+    };\r
+\r
+    #define M0(z, n, data)                                                                            \\r
+    template<BOOST_PP_ENUM_PARAMS(BOOST_MPL_STRING_MAX_PARAMS, int C), int J>                         \\r
+    struct string_iterator<mpl::string<BOOST_PP_ENUM_PARAMS(BOOST_MPL_STRING_MAX_PARAMS, C)>, n, J>   \\r
+    {                                                                                                 \\r
+        enum { eomc_ = (BOOST_MPL_MULTICHAR_LENGTH(BOOST_PP_CAT(C, n)) == J + 1) };                   \\r
+        typedef mpl::string<BOOST_PP_ENUM_PARAMS(BOOST_MPL_STRING_MAX_PARAMS, C)> string;             \\r
+        typedef std::bidirectional_iterator_tag category;                                             \\r
+        typedef                                                                                       \\r
+            mpl::string_iterator<string, n + eomc_, eomc_ ? 0 : J + 1>                                \\r
+        next;                                                                                         \\r
+        typedef                                                                                       \\r
+            mpl::string_iterator<string, n, J - 1>                                                    \\r
+        prior;                                                                                        \\r
+        typedef mpl::char_<BOOST_MPL_MULTICHAR_AT(BOOST_PP_CAT(C, n), J)> type;                       \\r
+    };                                                                                                \\r
+    template<BOOST_PP_ENUM_PARAMS(BOOST_MPL_STRING_MAX_PARAMS, int C)>                                \\r
+    struct string_iterator<mpl::string<BOOST_PP_ENUM_PARAMS(BOOST_MPL_STRING_MAX_PARAMS, C)>, n, 0>   \\r
+    {                                                                                                 \\r
+        enum { eomc_ = (BOOST_MPL_MULTICHAR_LENGTH(BOOST_PP_CAT(C, n)) == 1) };                       \\r
+        typedef mpl::string<BOOST_PP_ENUM_PARAMS(BOOST_MPL_STRING_MAX_PARAMS, C)> string;             \\r
+        typedef std::bidirectional_iterator_tag category;                                             \\r
+        typedef                                                                                       \\r
+            mpl::string_iterator<string, n + eomc_, !eomc_>                                           \\r
+        next;                                                                                         \\r
+        typedef                                                                                       \\r
+            mpl::string_iterator<                                                                     \\r
+                string                                                                                \\r
+              , n - 1                                                                                 \\r
+              , BOOST_MPL_MULTICHAR_LENGTH(BOOST_PP_CAT(C, BOOST_PP_DEC(n))) - 1                      \\r
+            >                                                                                         \\r
+        prior;                                                                                        \\r
+        typedef mpl::char_<BOOST_MPL_MULTICHAR_AT(BOOST_PP_CAT(C, n), 0)> type;                       \\r
+    };\r
+\r
+    BOOST_PP_REPEAT(BOOST_MPL_STRING_MAX_PARAMS, M0, ~)\r
+    #undef M0\r
+\r
+    template<BOOST_PP_ENUM_PARAMS(BOOST_MPL_STRING_MAX_PARAMS, int C)>\r
+    struct string\r
+    {\r
+        /// INTERNAL ONLY\r
+        enum\r
+        {\r
+            front_  = C0\r
+          , back_   = BOOST_PP_CAT(C, BOOST_PP_DEC(BOOST_MPL_STRING_MAX_PARAMS))\r
+        };\r
+\r
+        typedef char        value_type;\r
+        typedef string      type;\r
+        typedef string_tag  tag;\r
+    };\r
+\r
+    namespace aux_\r
+    {\r
+        template<typename It, typename End>\r
+        struct next_unless\r
+          : mpl::next<It>\r
+        {};\r
+\r
+        template<typename End>\r
+        struct next_unless<End, End>\r
+        {\r
+            typedef End type;\r
+        };\r
+\r
+        template<typename It, typename End>\r
+        struct deref_unless\r
+          : mpl::deref<It>\r
+        {};\r
+\r
+        template<typename End>\r
+        struct deref_unless<End, End>\r
+        {\r
+            typedef mpl::char_<'\0'> type;\r
+        };\r
+    }\r
+\r
+    template<typename Sequence>\r
+    struct c_str\r
+    {\r
+        typedef typename mpl::end<Sequence>::type iend;\r
+        typedef typename mpl::begin<Sequence>::type i0;\r
+        #define M0(z, n, data)                                                                      \\r
+        typedef                                                                                     \\r
+            typename mpl::aux_::next_unless<BOOST_PP_CAT(i, n), iend>::type                         \\r
+        BOOST_PP_CAT(i, BOOST_PP_INC(n));\r
+        BOOST_PP_REPEAT(BOOST_MPL_LIMIT_STRING_SIZE, M0, ~)\r
+        #undef M0\r
+\r
+        typedef c_str type;\r
+        static typename Sequence::value_type const value[BOOST_MPL_LIMIT_STRING_SIZE+1];\r
+    };\r
+\r
+    template<typename Sequence>\r
+    typename Sequence::value_type const c_str<Sequence>::value[BOOST_MPL_LIMIT_STRING_SIZE+1] =\r
+    {\r
+        #define M0(z, n, data)                                                                      \\r
+        mpl::aux_::deref_unless<BOOST_PP_CAT(i, n), iend>::type::value,\r
+        BOOST_PP_REPEAT(BOOST_MPL_LIMIT_STRING_SIZE, M0, ~)\r
+        #undef M0\r
+        '\0'\r
+    };\r
+\r
+}} // namespace boost\r
+\r
+#endif // BOOST_MPL_STRING_HPP_INCLUDED\r
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 (file)
index 0000000..4437591
--- /dev/null
@@ -0,0 +1,49 @@
+\r
+#ifndef BOOST_MPL_SWITCH_HPP_INCLUDED\r
+#define BOOST_MPL_SWITCH_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: switch.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/find_if.hpp>\r
+#include <boost/mpl/deref.hpp>\r
+#include <boost/mpl/lambda.hpp>\r
+#include <boost/mpl/apply.hpp>\r
+#include <boost/mpl/pair.hpp>\r
+#include <boost/mpl/aux_/na_spec.hpp>\r
+#include <boost/mpl/aux_/lambda_support.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template< \r
+      typename BOOST_MPL_AUX_NA_PARAM(Body)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(T)\r
+    >\r
+struct switch_\r
+{\r
+    typedef typename find_if<\r
+          Body\r
+        , apply1< lambda< first<_1> >, T >\r
+        >::type iter_;\r
+        \r
+    typedef typename deref<iter_>::type pair_;\r
+    typedef typename lambda< typename second<pair_>::type >::type f_;\r
+    typedef typename apply1<f_,T>::type type;\r
+\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2,switch_,(Body,T))\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(2, switch_)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_SWITCH_HPP_INCLUDED\r
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 (file)
index 0000000..952f18e
--- /dev/null
@@ -0,0 +1,52 @@
+\r
+#ifndef BOOST_MPL_TAG_HPP_INCLUDED\r
+#define BOOST_MPL_TAG_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: tag.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/eval_if.hpp>\r
+#include <boost/mpl/void.hpp>\r
+#include <boost/mpl/aux_/has_tag.hpp>\r
+#include <boost/mpl/aux_/config/eti.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+template< typename T > struct tag_impl\r
+{\r
+    typedef typename T::tag type;\r
+};\r
+}\r
+\r
+template< typename T, typename Default = void_ > struct tag\r
+#if !defined(BOOST_MPL_CFG_MSVC_ETI_BUG)\r
+    : if_< \r
+          aux::has_tag<T>\r
+        , aux::tag_impl<T>\r
+        , Default\r
+        >::type\r
+{\r
+#else\r
+{\r
+    typedef typename eval_if< \r
+          aux::has_tag<T>\r
+        , aux::tag_impl<T>\r
+        , Default\r
+        >::type type;\r
+\r
+#endif\r
+};\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_TAG_HPP_INCLUDED\r
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 (file)
index 0000000..4419c6b
--- /dev/null
@@ -0,0 +1,21 @@
+\r
+#ifndef BOOST_MPL_TIMES_HPP_INCLUDED\r
+#define BOOST_MPL_TIMES_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: times.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#define AUX778076_OP_NAME times\r
+#define AUX778076_OP_TOKEN *\r
+#include <boost/mpl/aux_/arithmetic_op.hpp>\r
+\r
+#endif // BOOST_MPL_TIMES_HPP_INCLUDED\r
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 (file)
index 0000000..44313bd
--- /dev/null
@@ -0,0 +1,145 @@
+\r
+#ifndef BOOST_MPL_TRANSFORM_HPP_INCLUDED\r
+#define BOOST_MPL_TRANSFORM_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright David Abrahams 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: transform.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/fold.hpp>\r
+#include <boost/mpl/reverse_fold.hpp>\r
+#include <boost/mpl/pair_view.hpp>\r
+#include <boost/mpl/is_sequence.hpp>\r
+#include <boost/mpl/eval_if.hpp>\r
+#include <boost/mpl/lambda.hpp>\r
+#include <boost/mpl/bind.hpp>\r
+#include <boost/mpl/or.hpp>\r
+#include <boost/mpl/not.hpp>\r
+#include <boost/mpl/aux_/na.hpp>\r
+#include <boost/mpl/aux_/inserter_algorithm.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux { \r
+\r
+template< \r
+      typename Seq\r
+    , typename Op\r
+    , typename In\r
+    >\r
+struct transform1_impl\r
+    : fold< \r
+          Seq\r
+        , typename In::state\r
+        , bind2< typename lambda< typename In::operation >::type\r
+            , _1\r
+            , bind1< typename lambda<Op>::type, _2>\r
+            > \r
+        >\r
+{\r
+};\r
+\r
+template< \r
+      typename Seq\r
+    , typename Op\r
+    , typename In\r
+    >\r
+struct reverse_transform1_impl\r
+    : reverse_fold< \r
+          Seq\r
+        , typename In::state\r
+        , bind2< typename lambda< typename In::operation >::type\r
+            , _1\r
+            , bind1< typename lambda<Op>::type, _2>\r
+            > \r
+        >\r
+{\r
+};\r
+\r
+template< \r
+      typename Seq1\r
+    , typename Seq2\r
+    , typename Op\r
+    , typename In\r
+    >\r
+struct transform2_impl\r
+    : fold< \r
+          pair_view<Seq1,Seq2>\r
+        , typename In::state\r
+        , bind2< typename lambda< typename In::operation >::type\r
+            , _1\r
+            , bind2<\r
+                  typename lambda<Op>::type\r
+                , bind1<first<>,_2>\r
+                , bind1<second<>,_2>\r
+                >\r
+            > \r
+        >\r
+{\r
+};\r
+\r
+template< \r
+      typename Seq1\r
+    , typename Seq2\r
+    , typename Op\r
+    , typename In\r
+    >\r
+struct reverse_transform2_impl\r
+    : reverse_fold< \r
+          pair_view<Seq1,Seq2>\r
+        , typename In::state\r
+        , bind2< typename lambda< typename In::operation >::type\r
+            , _1\r
+            , bind2< typename lambda< Op >::type\r
+                , bind1<first<>,_2>\r
+                , bind1<second<>,_2>\r
+                >\r
+            > \r
+        >\r
+{\r
+};\r
+\r
+} // namespace aux \r
+\r
+BOOST_MPL_AUX_INSERTER_ALGORITHM_DEF(3, transform1)                    \r
+BOOST_MPL_AUX_INSERTER_ALGORITHM_DEF(4, transform2)\r
+    \r
+#define AUX778076_TRANSFORM_DEF(name)                                   \\r
+template<                                                               \\r
+      typename BOOST_MPL_AUX_NA_PARAM(Seq1)                             \\r
+    , typename BOOST_MPL_AUX_NA_PARAM(Seq2OrOperation)                  \\r
+    , typename BOOST_MPL_AUX_NA_PARAM(OperationOrInserter)              \\r
+    , typename BOOST_MPL_AUX_NA_PARAM(Inserter)                         \\r
+    >                                                                   \\r
+struct name                                                             \\r
+{                                                                       \\r
+    typedef typename eval_if<                                           \\r
+          or_<                                                          \\r
+              is_na<OperationOrInserter>                                \\r
+            , is_lambda_expression< Seq2OrOperation >                   \\r
+            , not_< is_sequence<Seq2OrOperation> >                      \\r
+            >                                                           \\r
+        , name##1<Seq1,Seq2OrOperation,OperationOrInserter>             \\r
+        , name##2<Seq1,Seq2OrOperation,OperationOrInserter,Inserter>    \\r
+        >::type type;                                                   \\r
+};                                                                      \\r
+BOOST_MPL_AUX_NA_SPEC(4, name)                                          \\r
+/**/\r
+\r
+AUX778076_TRANSFORM_DEF(transform)\r
+AUX778076_TRANSFORM_DEF(reverse_transform)\r
+\r
+#undef AUX778076_TRANSFORM_DEF\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_TRANSFORM_HPP_INCLUDED\r
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 (file)
index 0000000..70da02c
--- /dev/null
@@ -0,0 +1,46 @@
+\r
+#ifndef BOOST_MPL_TRANSFORM_VIEW_HPP_INCLUDED\r
+#define BOOST_MPL_TRANSFORM_VIEW_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: transform_view.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/begin_end.hpp>\r
+#include <boost/mpl/lambda.hpp>\r
+#include <boost/mpl/aux_/transform_iter.hpp>\r
+#include <boost/mpl/aux_/na_spec.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(Sequence)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(F)\r
+    >\r
+struct transform_view\r
+{\r
+ private:\r
+    typedef typename lambda<F>::type f_;\r
+    typedef typename begin<Sequence>::type first_;\r
+    typedef typename end<Sequence>::type last_;\r
\r
+ public:\r
+    struct tag;\r
+    typedef transform_view type;\r
+    typedef aux::transform_iter< first_,last_,f_ > begin;\r
+    typedef aux::transform_iter< last_,last_,f_ > end;\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(2, transform_view)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_TRANSFORM_VIEW_HPP_INCLUDED\r
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 (file)
index 0000000..ea8af5c
--- /dev/null
@@ -0,0 +1,85 @@
+\r
+#ifndef BOOST_MPL_UNIQUE_HPP_INCLUDED\r
+#define BOOST_MPL_UNIQUE_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+// Copyright John R. Bandela 2000-2002\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: unique.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/fold.hpp>\r
+#include <boost/mpl/reverse_fold.hpp>\r
+#include <boost/mpl/eval_if.hpp>\r
+#include <boost/mpl/and.hpp>\r
+#include <boost/mpl/identity.hpp>\r
+#include <boost/mpl/pair.hpp>\r
+#include <boost/mpl/apply.hpp>\r
+#include <boost/mpl/aux_/inserter_algorithm.hpp>\r
+#include <boost/mpl/aux_/na.hpp>\r
+#include <boost/mpl/aux_/na_spec.hpp>\r
+#include <boost/mpl/aux_/lambda_spec.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+\r
+template< typename Predicate, typename Operation >\r
+struct unique_op\r
+{\r
+    template< typename Pair, typename T > struct apply\r
+    {\r
+        typedef typename Pair::first seq_;\r
+        typedef typename Pair::second prior_;\r
+        typedef typename eval_if<\r
+              and_< is_not_na<prior_>, apply2<Predicate,prior_,T> >\r
+            , identity<seq_>\r
+            , apply2<Operation,seq_,T>\r
+            >::type new_seq_;\r
+\r
+        typedef pair<new_seq_,T> type;\r
+    };\r
+};\r
+\r
+template<\r
+      typename Sequence\r
+    , typename Predicate\r
+    , typename Inserter\r
+    >\r
+struct unique_impl\r
+    : first< typename fold<\r
+          Sequence\r
+        , pair< typename Inserter::state,na >\r
+        , protect< aux::unique_op<Predicate,typename Inserter::operation> >\r
+        >::type >\r
+{\r
+};\r
+\r
+template<\r
+      typename Sequence\r
+    , typename Predicate\r
+    , typename Inserter\r
+    >\r
+struct reverse_unique_impl\r
+    : first< typename reverse_fold<\r
+          Sequence\r
+        , pair< typename Inserter::state,na >\r
+        , protect< aux::unique_op<Predicate,typename Inserter::operation> >\r
+        >::type >\r
+{\r
+};\r
+\r
+} // namespace aux\r
+\r
+BOOST_MPL_AUX_INSERTER_ALGORITHM_DEF(3, unique)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_UNIQUE_HPP_INCLUDED\r
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 (file)
index 0000000..f785097
--- /dev/null
@@ -0,0 +1,150 @@
+\r
+#if !defined(BOOST_PP_IS_ITERATING)\r
+\r
+///// header body\r
+\r
+#ifndef BOOST_MPL_UNPACK_ARGS_HPP_INCLUDED\r
+#define BOOST_MPL_UNPACK_ARGS_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2002-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: unpack_args.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#if !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+#   include <boost/mpl/apply.hpp>\r
+#   include <boost/mpl/at.hpp>\r
+#   include <boost/mpl/size.hpp>\r
+#   include <boost/mpl/aux_/nttp_decl.hpp>\r
+#   include <boost/mpl/aux_/lambda_spec.hpp>\r
+#endif\r
+\r
+#include <boost/mpl/aux_/config/use_preprocessed.hpp>\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \\r
+    && !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+\r
+#   define BOOST_MPL_PREPROCESSED_HEADER unpack_args.hpp\r
+#   include <boost/mpl/aux_/include_preprocessed.hpp>\r
+\r
+#else\r
+\r
+#   include <boost/mpl/limits/arity.hpp>\r
+#   include <boost/mpl/aux_/preprocessor/repeat.hpp>\r
+#   include <boost/mpl/aux_/config/ctps.hpp>\r
+#   include <boost/mpl/aux_/config/forwarding.hpp>\r
+#   include <boost/preprocessor/iterate.hpp>\r
+#   include <boost/preprocessor/cat.hpp>\r
+\r
+\r
+namespace boost { namespace mpl {\r
+\r
+// local macros, #undef-ined at the end of the header\r
+\r
+#   define AUX778076_UNPACK(unused, i, Args) \\r
+    , typename at_c<Args,i>::type \\r
+    /**/\r
+\r
+#   define AUX778076_UNPACKED_ARGS(n, Args) \\r
+    BOOST_MPL_PP_REPEAT(n, AUX778076_UNPACK, Args) \\r
+    /**/\r
+\r
+namespace aux {\r
+\r
+#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)\r
+template< int size, typename F, typename Args >\r
+struct unpack_args_impl;\r
+#else\r
+template< BOOST_MPL_AUX_NTTP_DECL(int, size) > struct unpack_args_impl\r
+{\r
+    template< typename F, typename Args > struct apply;\r
+};\r
+#endif\r
+\r
+#define BOOST_PP_ITERATION_PARAMS_1 \\r
+    (3,(0, BOOST_MPL_LIMIT_METAFUNCTION_ARITY, <boost/mpl/unpack_args.hpp>))\r
+#include BOOST_PP_ITERATE()\r
+\r
+}\r
+\r
+template<\r
+      typename F\r
+    >\r
+struct unpack_args\r
+{\r
+    template< typename Args > struct apply\r
+#if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING)\r
+#   if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)\r
+        : aux::unpack_args_impl< size<Args>::value,F,Args >\r
+#   else\r
+        : aux::unpack_args_impl< size<Args>::value >\r
+            ::template apply< F,Args >\r
+#   endif\r
+    {\r
+#else // BOOST_MPL_CFG_NO_NESTED_FORWARDING\r
+    {\r
+        typedef typename aux::unpack_args_impl< \r
+              size<Args>::value\r
+            , F\r
+            , Args\r
+            >::type type;\r
+#endif\r
+    };\r
+};\r
+\r
+BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args)\r
+\r
+#   undef AUX778076_UNPACK\r
+#   undef AUX778076_UNPACKED_ARGS\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_CFG_USE_PREPROCESSED_HEADERS\r
+#endif // BOOST_MPL_UNPACK_ARGS_HPP_INCLUDED\r
+\r
+///// iteration, depth == 1\r
+\r
+// For gcc 4.4 compatability, we must include the\r
+// BOOST_PP_ITERATION_DEPTH test inside an #else clause.\r
+#else // BOOST_PP_IS_ITERATING\r
+#if BOOST_PP_ITERATION_DEPTH() == 1\r
+\r
+#   define i_ BOOST_PP_FRAME_ITERATION(1)\r
+\r
+#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)\r
+\r
+template< typename F, typename Args >\r
+struct unpack_args_impl<i_,F,Args>\r
+    : BOOST_PP_CAT(apply,i_)<\r
+          F\r
+        AUX778076_UNPACKED_ARGS(i_, Args)\r
+        >\r
+{\r
+};\r
+\r
+#else\r
+\r
+template<> struct unpack_args_impl<i_>\r
+{\r
+    template< typename F, typename Args > struct apply\r
+        : BOOST_PP_CAT(apply,i_)<\r
+              F\r
+            AUX778076_UNPACKED_ARGS(i_, Args)\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+#endif\r
+\r
+#   undef i_\r
+\r
+#endif // BOOST_PP_ITERATION_DEPTH()\r
+#endif // BOOST_PP_IS_ITERATING\r
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 (file)
index 0000000..bfafb64
--- /dev/null
@@ -0,0 +1,141 @@
+\r
+#ifndef BOOST_MPL_UPPER_BOUND_HPP_INCLUDED\r
+#define BOOST_MPL_UPPER_BOUND_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: upper_bound.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/less.hpp>\r
+#include <boost/mpl/lambda.hpp>\r
+#include <boost/mpl/aux_/na_spec.hpp>\r
+#include <boost/mpl/aux_/config/workaround.hpp>\r
+\r
+#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610))\r
+#   define BOOST_MPL_CFG_STRIPPED_DOWN_UPPER_BOUND_IMPL\r
+#endif\r
+\r
+#if !defined(BOOST_MPL_CFG_STRIPPED_DOWN_UPPER_BOUND_IMPL)\r
+#   include <boost/mpl/minus.hpp>\r
+#   include <boost/mpl/divides.hpp>\r
+#   include <boost/mpl/size.hpp>\r
+#   include <boost/mpl/advance.hpp>\r
+#   include <boost/mpl/begin_end.hpp>\r
+#   include <boost/mpl/long.hpp>\r
+#   include <boost/mpl/eval_if.hpp>\r
+#   include <boost/mpl/prior.hpp>\r
+#   include <boost/mpl/deref.hpp>\r
+#   include <boost/mpl/apply.hpp>\r
+#   include <boost/mpl/aux_/value_wknd.hpp>\r
+#else\r
+#   include <boost/mpl/find.hpp>\r
+#   include <boost/mpl/bind.hpp>\r
+#endif\r
+\r
+#include <boost/config.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+#if defined(BOOST_MPL_CFG_STRIPPED_DOWN_UPPER_BOUND_IMPL)\r
+\r
+// agurt 23/oct/02: has a wrong complexity etc., but at least it works;\r
+// feel free to contribute a better implementation!\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(Sequence)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(T)\r
+    , typename Predicate = less<>\r
+    , typename pred_ = typename lambda<Predicate>::type\r
+    >\r
+struct upper_bound\r
+    : find_if< Sequence, bind2<pred_,T,_> >\r
+{\r
+};\r
+\r
+#else\r
+\r
+namespace aux {\r
+\r
+template<\r
+      typename Distance\r
+    , typename Predicate\r
+    , typename T\r
+    , typename DeferredIterator\r
+    >\r
+struct upper_bound_step_impl;\r
+\r
+template< \r
+      typename Distance\r
+    , typename Predicate\r
+    , typename T\r
+    , typename DeferredIterator\r
+    >\r
+struct upper_bound_step\r
+{\r
+    typedef typename eval_if<\r
+          Distance\r
+        , upper_bound_step_impl<Distance,Predicate,T,DeferredIterator>\r
+        , DeferredIterator\r
+        >::type type;\r
+};\r
+    \r
+template<\r
+      typename Distance\r
+    , typename Predicate\r
+    , typename T\r
+    , typename DeferredIterator\r
+    >\r
+struct upper_bound_step_impl\r
+{\r
+    typedef typename divides< Distance, long_<2> >::type offset_;\r
+    typedef typename DeferredIterator::type iter_;\r
+    typedef typename advance< iter_,offset_ >::type middle_;\r
+    typedef typename apply2<\r
+              Predicate\r
+            , T\r
+            , typename deref<middle_>::type\r
+            >::type cond_;\r
+\r
+    typedef typename prior< minus< Distance, offset_ > >::type step_;\r
+    typedef upper_bound_step< offset_,Predicate,T,DeferredIterator > step_forward_;\r
+    typedef upper_bound_step< step_,Predicate,T,next<middle_> > step_backward_;\r
+    typedef typename eval_if<\r
+          cond_\r
+        , step_forward_\r
+        , step_backward_\r
+        >::type type;\r
+};\r
+\r
+} // namespace aux\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(Sequence)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(T)\r
+    , typename Predicate = less<>\r
+    >\r
+struct upper_bound\r
+{\r
+ private:\r
+    typedef typename lambda<Predicate>::type pred_;\r
+    typedef typename size<Sequence>::type size_;\r
+\r
+ public:\r
+    typedef typename aux::upper_bound_step<\r
+        size_,pred_,T,begin<Sequence>\r
+        >::type type;\r
+};\r
+\r
+#endif // BOOST_MPL_CFG_STRIPPED_DOWN_UPPER_BOUND_IMPL\r
+\r
+BOOST_MPL_AUX_NA_SPEC(2, upper_bound)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_UPPER_BOUND_HPP_INCLUDED\r
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 (file)
index 0000000..9ba2223
--- /dev/null
@@ -0,0 +1,42 @@
+\r
+#ifndef BOOST_MPL_VALUE_TYPE_HPP_INCLUDED\r
+#define BOOST_MPL_VALUE_TYPE_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2003-2004\r
+// Copyright David Abrahams 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: value_type.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/value_type_fwd.hpp>\r
+#include <boost/mpl/sequence_tag.hpp>\r
+#include <boost/mpl/apply_wrap.hpp>\r
+#include <boost/mpl/aux_/na_spec.hpp>\r
+#include <boost/mpl/aux_/lambda_support.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(AssociativeSequence)\r
+    , typename BOOST_MPL_AUX_NA_PARAM(T)\r
+    >\r
+struct value_type\r
+    : apply_wrap2<\r
+          value_type_impl< typename sequence_tag<AssociativeSequence>::type >\r
+        , AssociativeSequence, T >\r
+{\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2,value_type,(AssociativeSequence,T))\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(2, value_type)\r
+    \r
+}}\r
+\r
+#endif // BOOST_MPL_VALUE_TYPE_HPP_INCLUDED\r
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 (file)
index 0000000..c86820a
--- /dev/null
@@ -0,0 +1,25 @@
+\r
+#ifndef BOOST_MPL_VALUE_TYPE_FWD_HPP_INCLUDED\r
+#define BOOST_MPL_VALUE_TYPE_FWD_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2003-2004\r
+// Copyright David Abrahams 2003-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: value_type_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template< typename Tag > struct value_type_impl;\r
+template< typename AssociativeSequence, typename T > struct value_type;\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_VALUE_TYPE_FWD_HPP_INCLUDED\r
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 (file)
index 0000000..90eeb9a
--- /dev/null
@@ -0,0 +1,57 @@
+\r
+#ifndef BOOST_MPL_VECTOR_HPP_INCLUDED\r
+#define BOOST_MPL_VECTOR_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: vector.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#if !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+#   include <boost/mpl/limits/vector.hpp>\r
+#   include <boost/mpl/aux_/na.hpp>\r
+#   include <boost/mpl/aux_/config/preprocessor.hpp>\r
+\r
+#   include <boost/preprocessor/inc.hpp>\r
+#   include <boost/preprocessor/cat.hpp>\r
+#   include <boost/preprocessor/stringize.hpp>\r
+\r
+#if !defined(BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING)\r
+#   define AUX778076_VECTOR_HEADER \\r
+    BOOST_PP_CAT(vector, BOOST_MPL_LIMIT_VECTOR_SIZE).hpp \\r
+    /**/\r
+#else\r
+#   define AUX778076_VECTOR_HEADER \\r
+    BOOST_PP_CAT(vector, BOOST_MPL_LIMIT_VECTOR_SIZE)##.hpp \\r
+    /**/\r
+#endif\r
+\r
+#   include BOOST_PP_STRINGIZE(boost/mpl/vector/AUX778076_VECTOR_HEADER)\r
+#   undef AUX778076_VECTOR_HEADER\r
+#endif\r
+\r
+#include <boost/mpl/aux_/config/use_preprocessed.hpp>\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \\r
+    && !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+\r
+#   define BOOST_MPL_PREPROCESSED_HEADER vector.hpp\r
+#   include <boost/mpl/aux_/include_preprocessed.hpp>\r
+\r
+#else\r
+\r
+#   include <boost/mpl/limits/vector.hpp>\r
+\r
+#   define AUX778076_SEQUENCE_NAME vector\r
+#   define AUX778076_SEQUENCE_LIMIT BOOST_MPL_LIMIT_VECTOR_SIZE\r
+#   include <boost/mpl/aux_/sequence_wrapper.hpp>\r
+\r
+#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS\r
+#endif // BOOST_MPL_VECTOR_HPP_INCLUDED\r
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 (file)
index 0000000..a2c29f2
--- /dev/null
@@ -0,0 +1,56 @@
+\r
+#ifndef BOOST_MPL_VECTOR_AUX_O1_SIZE_HPP_INCLUDED\r
+#define BOOST_MPL_VECTOR_AUX_O1_SIZE_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: O1_size.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/O1_size_fwd.hpp>\r
+#include <boost/mpl/minus.hpp>\r
+#include <boost/mpl/long.hpp>\r
+#include <boost/mpl/vector/aux_/tag.hpp>\r
+#include <boost/mpl/aux_/config/typeof.hpp>\r
+#include <boost/mpl/aux_/config/ctps.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)\r
+\r
+template<>\r
+struct O1_size_impl< aux::vector_tag >\r
+{\r
+    template< typename Vector > struct apply\r
+        : Vector::size\r
+    {\r
+    };\r
+};\r
+\r
+#else\r
+\r
+#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)\r
+\r
+template< long N >\r
+struct O1_size_impl< aux::vector_tag<N> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : mpl::long_<N>\r
+    {\r
+    };\r
+};\r
+\r
+#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+\r
+#endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_VECTOR_AUX_O1_SIZE_HPP_INCLUDED\r
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 (file)
index 0000000..f836f17
--- /dev/null
@@ -0,0 +1,116 @@
+\r
+#ifndef BOOST_MPL_VECTOR_AUX_AT_HPP_INCLUDED\r
+#define BOOST_MPL_VECTOR_AUX_AT_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: at.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/at_fwd.hpp>\r
+#include <boost/mpl/vector/aux_/tag.hpp>\r
+#include <boost/mpl/long.hpp>\r
+#include <boost/mpl/void.hpp>\r
+#include <boost/mpl/aux_/nttp_decl.hpp>\r
+#include <boost/mpl/aux_/type_wrapper.hpp>\r
+#include <boost/mpl/aux_/value_wknd.hpp>\r
+#include <boost/mpl/aux_/config/typeof.hpp>\r
+#include <boost/mpl/aux_/config/ctps.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)\r
+\r
+template< typename Vector, long n_ >\r
+struct v_at_impl\r
+{\r
+    typedef long_< (Vector::lower_bound_::value + n_) > index_;\r
+    typedef __typeof__( Vector::item_(index_()) ) type;\r
+};\r
+\r
+\r
+template< typename Vector, long n_ >\r
+struct v_at\r
+    : aux::wrapped_type< typename v_at_impl<Vector,n_>::type >\r
+{\r
+};\r
+\r
+template<>\r
+struct at_impl< aux::vector_tag >\r
+{\r
+    template< typename Vector, typename N > struct apply\r
+        : v_at<\r
+              Vector\r
+            , BOOST_MPL_AUX_VALUE_WKND(N)::value\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+#else\r
+\r
+#   if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \\r
+    && !defined(BOOST_MPL_CFG_NO_NONTYPE_TEMPLATE_PARTIAL_SPEC)\r
+\r
+template< typename Vector, BOOST_MPL_AUX_NTTP_DECL(long, n_) > struct v_at;\r
+\r
+template< BOOST_MPL_AUX_NTTP_DECL(long, n_) >\r
+struct at_impl< aux::vector_tag<n_> >\r
+{\r
+    template< typename Vector, typename N > struct apply\r
+#if !defined(__BORLANDC__)\r
+        : v_at<\r
+              Vector\r
+            , BOOST_MPL_AUX_VALUE_WKND(N)::value\r
+            >\r
+    {\r
+#else\r
+    {\r
+        typedef typename v_at<\r
+              Vector\r
+            , BOOST_MPL_AUX_VALUE_WKND(N)::value\r
+            >::type type;\r
+#endif\r
+    };\r
+};\r
+\r
+#   else\r
+\r
+namespace aux {\r
+\r
+template< BOOST_MPL_AUX_NTTP_DECL(long, n_) > struct v_at_impl\r
+{\r
+    template< typename V > struct result_;\r
+};\r
+\r
+// to work around ETI, etc.\r
+template<> struct v_at_impl<-1>\r
+{\r
+    template< typename V > struct result_\r
+    {\r
+        typedef void_ type;\r
+    };\r
+};\r
+\r
+} // namespace aux\r
+\r
+template< typename T, BOOST_MPL_AUX_NTTP_DECL(long, n_) >\r
+struct v_at\r
+    : aux::v_at_impl<n_>::template result_<T>\r
+{\r
+};\r
+\r
+#   endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+\r
+#endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_VECTOR_AUX_AT_HPP_INCLUDED\r
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 (file)
index 0000000..535d0eb
--- /dev/null
@@ -0,0 +1,59 @@
+\r
+#ifndef BOOST_MPL_VECTOR_AUX_BACK_HPP_INCLUDED\r
+#define BOOST_MPL_VECTOR_AUX_BACK_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: back.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/back_fwd.hpp>\r
+#include <boost/mpl/next_prior.hpp>\r
+#include <boost/mpl/vector/aux_/at.hpp>\r
+#include <boost/mpl/vector/aux_/tag.hpp>\r
+#include <boost/mpl/aux_/config/typeof.hpp>\r
+#include <boost/mpl/aux_/config/ctps.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)\r
+\r
+template<>\r
+struct back_impl< aux::vector_tag >\r
+{\r
+    template< typename Vector > struct apply\r
+        : v_at<\r
+              Vector\r
+            , prior<typename Vector::size>::type::value\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+#else\r
+\r
+#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)\r
+\r
+template< long n_ >\r
+struct back_impl< aux::vector_tag<n_> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::back type;\r
+    };\r
+};\r
+\r
+#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+\r
+#endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_VECTOR_AUX_BACK_HPP_INCLUDED\r
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 (file)
index 0000000..21fe922
--- /dev/null
@@ -0,0 +1,49 @@
+\r
+#ifndef BOOST_MPL_VECTOR_AUX_BEGIN_END_HPP_INCLUDED\r
+#define BOOST_MPL_VECTOR_AUX_BEGIN_END_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: begin_end.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/aux_/config/typeof.hpp>\r
+\r
+#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)\r
+\r
+#   include <boost/mpl/begin_end_fwd.hpp>\r
+#   include <boost/mpl/vector/aux_/iterator.hpp>\r
+#   include <boost/mpl/vector/aux_/tag.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct begin_impl< aux::vector_tag >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef v_iter<Vector,0> type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct end_impl< aux::vector_tag >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef v_iter<Vector,Vector::size::value> type;\r
+    };\r
+};\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES\r
+\r
+#endif // BOOST_MPL_VECTOR_AUX_BEGIN_END_HPP_INCLUDED\r
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 (file)
index 0000000..b9ddad6
--- /dev/null
@@ -0,0 +1,55 @@
+\r
+#ifndef BOOST_MPL_VECTOR_AUX_CLEAR_HPP_INCLUDED\r
+#define BOOST_MPL_VECTOR_AUX_CLEAR_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: clear.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/clear_fwd.hpp>\r
+#include <boost/mpl/vector/aux_/vector0.hpp>\r
+#include <boost/mpl/vector/aux_/tag.hpp>\r
+#include <boost/mpl/aux_/config/typeof.hpp>\r
+#include <boost/mpl/aux_/config/ctps.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)\r
+\r
+template<>\r
+struct clear_impl< aux::vector_tag >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector0<> type;\r
+    };\r
+};\r
+\r
+#else\r
+\r
+#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)\r
+\r
+template< long N >\r
+struct clear_impl< aux::vector_tag<N> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector0<> type;\r
+    };\r
+};\r
+\r
+#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+\r
+#endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_VECTOR_AUX_CLEAR_HPP_INCLUDED\r
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 (file)
index 0000000..1a02437
--- /dev/null
@@ -0,0 +1,68 @@
+\r
+#ifndef BOOST_MPL_VECTOR_AUX_EMPTY_HPP_INCLUDED\r
+#define BOOST_MPL_VECTOR_AUX_EMPTY_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: empty.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/empty_fwd.hpp>\r
+#include <boost/mpl/bool.hpp>\r
+#include <boost/mpl/vector/aux_/tag.hpp>\r
+#include <boost/mpl/aux_/config/typeof.hpp>\r
+#include <boost/mpl/aux_/config/ctps.hpp>\r
+#include <boost/type_traits/is_same.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)\r
+\r
+template<>\r
+struct empty_impl< aux::vector_tag >\r
+{\r
+    template< typename Vector > struct apply\r
+        : is_same<\r
+              typename Vector::lower_bound_\r
+            , typename Vector::upper_bound_\r
+            >\r
+    {\r
+    };\r
+};\r
+\r
+#else\r
+\r
+template<>\r
+struct empty_impl< aux::vector_tag<0> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : true_\r
+    {\r
+    };\r
+};\r
+\r
+#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)\r
+\r
+template< long N >\r
+struct empty_impl< aux::vector_tag<N> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : false_\r
+    {\r
+    };\r
+};\r
+\r
+#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+\r
+#endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_VECTOR_AUX_EMPTY_HPP_INCLUDED\r
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 (file)
index 0000000..ad9c6e5
--- /dev/null
@@ -0,0 +1,56 @@
+\r
+#ifndef BOOST_MPL_VECTOR_AUX_FRONT_HPP_INCLUDED\r
+#define BOOST_MPL_VECTOR_AUX_FRONT_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2008\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: front.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/front_fwd.hpp>\r
+#include <boost/mpl/vector/aux_/at.hpp>\r
+#include <boost/mpl/vector/aux_/tag.hpp>\r
+#include <boost/mpl/aux_/nttp_decl.hpp>\r
+#include <boost/mpl/aux_/config/typeof.hpp>\r
+#include <boost/mpl/aux_/config/ctps.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)\r
+\r
+template<>\r
+struct front_impl< aux::vector_tag >\r
+{\r
+    template< typename Vector > struct apply\r
+        : v_at<Vector,0>\r
+    {\r
+    };\r
+};\r
+\r
+#else\r
+\r
+#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)\r
+\r
+template< BOOST_MPL_AUX_NTTP_DECL(long, n_) >\r
+struct front_impl< aux::vector_tag<n_> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::item0 type;\r
+    };\r
+};\r
+\r
+#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+\r
+#endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_VECTOR_AUX_FRONT_HPP_INCLUDED\r
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 (file)
index 0000000..9d15d3e
--- /dev/null
@@ -0,0 +1,55 @@
+\r
+// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2006\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: include_preprocessed.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/aux_/config/typeof.hpp>\r
+#include <boost/mpl/aux_/config/ctps.hpp>\r
+#include <boost/mpl/aux_/config/preprocessor.hpp>\r
+#include <boost/mpl/aux_/config/workaround.hpp>\r
+\r
+#include <boost/preprocessor/cat.hpp>\r
+#include <boost/preprocessor/stringize.hpp>\r
+\r
+#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)\r
+#   define AUX778076_INCLUDE_DIR typeof_based\r
+#elif defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \\r
+   || defined(BOOST_MPL_CFG_NO_NONTYPE_TEMPLATE_PARTIAL_SPEC)\r
+#   define AUX778076_INCLUDE_DIR no_ctps\r
+#else\r
+#   define AUX778076_INCLUDE_DIR plain\r
+#endif\r
+\r
+#if !defined(BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING)\r
+#   define AUX778076_HEADER \\r
+    AUX778076_INCLUDE_DIR/BOOST_MPL_PREPROCESSED_HEADER \\r
+/**/\r
+#else\r
+#   define AUX778076_HEADER \\r
+    BOOST_PP_CAT(AUX778076_INCLUDE_DIR,/)##BOOST_MPL_PREPROCESSED_HEADER \\r
+/**/\r
+#endif\r
+\r
+\r
+#if BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(700))\r
+#   define AUX778076_INCLUDE_STRING BOOST_PP_STRINGIZE(boost/mpl/vector/aux_/preprocessed/AUX778076_HEADER)\r
+#   include AUX778076_INCLUDE_STRING\r
+#   undef AUX778076_INCLUDE_STRING\r
+#else\r
+#   include BOOST_PP_STRINGIZE(boost/mpl/vector/aux_/preprocessed/AUX778076_HEADER)\r
+#endif\r
+\r
+#   undef AUX778076_HEADER\r
+#   undef AUX778076_INCLUDE_DIR\r
+\r
+#undef BOOST_MPL_PREPROCESSED_HEADER\r
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 (file)
index 0000000..5832050
--- /dev/null
@@ -0,0 +1,103 @@
+\r
+#ifndef BOOST_MPL_VECTOR_AUX_ITEM_HPP_INCLUDED\r
+#define BOOST_MPL_VECTOR_AUX_ITEM_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: item.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/long.hpp>\r
+#include <boost/mpl/void.hpp>\r
+#include <boost/mpl/next_prior.hpp>\r
+#include <boost/mpl/aux_/type_wrapper.hpp>\r
+#include <boost/mpl/aux_/config/typeof.hpp>\r
+#include <boost/mpl/aux_/config/ctps.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)\r
+\r
+template< \r
+      typename T\r
+    , typename Base\r
+    , int at_front = 0\r
+    >\r
+struct v_item\r
+    : Base\r
+{\r
+    typedef typename Base::upper_bound_ index_;\r
+    typedef typename next<index_>::type upper_bound_;\r
+    typedef typename next<typename Base::size>::type size;\r
+    typedef Base base;\r
+    typedef v_item type;\r
+\r
+    // agurt 10/sep/04: MWCW <= 9.3 workaround here and below; the compiler\r
+    // breaks if using declaration comes _before_ the new overload\r
+    static aux::type_wrapper<T> item_(index_);\r
+    using Base::item_;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , typename Base\r
+    >\r
+struct v_item<T,Base,1>\r
+    : Base\r
+{\r
+    typedef typename prior<typename Base::lower_bound_>::type index_;\r
+    typedef index_ lower_bound_;\r
+    typedef typename next<typename Base::size>::type size;\r
+    typedef Base base;\r
+    typedef v_item type;\r
+\r
+    static aux::type_wrapper<T> item_(index_);\r
+    using Base::item_;\r
+};\r
+\r
+// "erasure" item\r
+template< \r
+      typename Base\r
+    , int at_front\r
+    >\r
+struct v_mask\r
+    : Base\r
+{\r
+    typedef typename prior<typename Base::upper_bound_>::type index_;\r
+    typedef index_ upper_bound_;\r
+    typedef typename prior<typename Base::size>::type size;\r
+    typedef Base base;\r
+    typedef v_mask type;\r
+\r
+    static aux::type_wrapper<void_> item_(index_);\r
+    using Base::item_;\r
+};\r
+\r
+template< \r
+      typename Base\r
+    >\r
+struct v_mask<Base,1>\r
+    : Base\r
+{\r
+    typedef typename Base::lower_bound_ index_;\r
+    typedef typename next<index_>::type lower_bound_;\r
+    typedef typename prior<typename Base::size>::type size;\r
+    typedef Base base;\r
+    typedef v_mask type;\r
+\r
+    static aux::type_wrapper<void_> item_(index_);\r
+    using Base::item_;\r
+};\r
+\r
+#endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_VECTOR_AUX_ITEM_HPP_INCLUDED\r
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 (file)
index 0000000..5336b51
--- /dev/null
@@ -0,0 +1,130 @@
+\r
+#ifndef BOOST_MPL_AUX_VECTOR_ITERATOR_HPP_INCLUDED\r
+#define BOOST_MPL_AUX_VECTOR_ITERATOR_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: iterator.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/vector/aux_/at.hpp>\r
+#include <boost/mpl/iterator_tags.hpp>\r
+#include <boost/mpl/plus.hpp>\r
+#include <boost/mpl/minus.hpp>\r
+#include <boost/mpl/advance_fwd.hpp>\r
+#include <boost/mpl/distance_fwd.hpp>\r
+#include <boost/mpl/next.hpp>\r
+#include <boost/mpl/prior.hpp>\r
+#include <boost/mpl/aux_/nttp_decl.hpp>\r
+#include <boost/mpl/aux_/value_wknd.hpp>\r
+#include <boost/mpl/aux_/config/ctps.hpp>\r
+#include <boost/mpl/aux_/config/workaround.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename Vector\r
+    , BOOST_MPL_AUX_NTTP_DECL(long, n_)\r
+    >\r
+struct v_iter\r
+{\r
+    typedef aux::v_iter_tag tag;\r
+    typedef random_access_iterator_tag category;\r
+    typedef typename v_at<Vector,n_>::type type;\r
+\r
+    typedef Vector vector_;\r
+    typedef mpl::long_<n_> pos;\r
+\r
+#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)\r
+    enum { \r
+          next_ = n_ + 1\r
+        , prior_ = n_ - 1\r
+        , pos_ = n_\r
+    };\r
+    \r
+    typedef v_iter<Vector,next_> next;\r
+    typedef v_iter<Vector,prior_> prior;\r
+#endif\r
+\r
+};\r
+\r
+\r
+#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)\r
+\r
+template<\r
+      typename Vector\r
+    , BOOST_MPL_AUX_NTTP_DECL(long, n_)\r
+    >\r
+struct next< v_iter<Vector,n_> >\r
+{\r
+    typedef v_iter<Vector,(n_ + 1)> type;\r
+};\r
+\r
+template<\r
+      typename Vector\r
+    , BOOST_MPL_AUX_NTTP_DECL(long, n_)\r
+    >\r
+struct prior< v_iter<Vector,n_> >\r
+{\r
+    typedef v_iter<Vector,(n_ - 1)> type;\r
+};\r
+\r
+template<\r
+      typename Vector\r
+    , BOOST_MPL_AUX_NTTP_DECL(long, n_)\r
+    , typename Distance\r
+    >\r
+struct advance< v_iter<Vector,n_>,Distance>\r
+{\r
+    typedef v_iter<\r
+          Vector\r
+        , (n_ + BOOST_MPL_AUX_NESTED_VALUE_WKND(long, Distance))\r
+        > type;\r
+};\r
+\r
+template< \r
+      typename Vector\r
+    , BOOST_MPL_AUX_NTTP_DECL(long, n_)\r
+    , BOOST_MPL_AUX_NTTP_DECL(long, m_)\r
+    > \r
+struct distance< v_iter<Vector,n_>, v_iter<Vector,m_> >\r
+    : mpl::long_<(m_ - n_)>\r
+{\r
+};\r
+\r
+#else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+\r
+template<> struct advance_impl<aux::v_iter_tag>\r
+{\r
+    template< typename Iterator, typename N > struct apply\r
+    {\r
+        enum { pos_ = Iterator::pos_, n_ = N::value };\r
+        typedef v_iter<\r
+              typename Iterator::vector_\r
+            , (pos_ + n_)\r
+            > type;\r
+    };\r
+};\r
+\r
+template<> struct distance_impl<aux::v_iter_tag>\r
+{\r
+    template< typename Iter1, typename Iter2 > struct apply\r
+    {\r
+        enum { pos1_ = Iter1::pos_, pos2_ = Iter2::pos_ };\r
+        typedef long_<( pos2_ - pos1_ )> type;\r
+        BOOST_STATIC_CONSTANT(long, value = ( pos2_ - pos1_ ));\r
+    };\r
+};\r
+\r
+#endif\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_AUX_VECTOR_ITERATOR_HPP_INCLUDED\r
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 (file)
index 0000000..493bd5f
--- /dev/null
@@ -0,0 +1,218 @@
+\r
+// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION\r
+\r
+#if defined(BOOST_PP_IS_ITERATING)\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: numbered.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/preprocessor/enum_params.hpp>\r
+#include <boost/preprocessor/enum_shifted_params.hpp>\r
+#include <boost/preprocessor/comma_if.hpp>\r
+#include <boost/preprocessor/repeat.hpp>\r
+#include <boost/preprocessor/dec.hpp>\r
+#include <boost/preprocessor/cat.hpp>\r
+\r
+#define i_ BOOST_PP_FRAME_ITERATION(1)\r
+\r
+#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)\r
+\r
+#   define AUX778076_VECTOR_TAIL(vector, i_, T) \\r
+    BOOST_PP_CAT(vector,i_)< \\r
+          BOOST_PP_ENUM_PARAMS(i_, T) \\r
+        > \\r
+    /**/\r
+\r
+#if i_ > 0\r
+template<\r
+      BOOST_PP_ENUM_PARAMS(i_, typename T)\r
+    >\r
+struct BOOST_PP_CAT(vector,i_)\r
+    : v_item<\r
+          BOOST_PP_CAT(T,BOOST_PP_DEC(i_))\r
+        , AUX778076_VECTOR_TAIL(vector,BOOST_PP_DEC(i_),T)\r
+        >\r
+{\r
+    typedef BOOST_PP_CAT(vector,i_) type;\r
+};\r
+#endif\r
+\r
+#   undef AUX778076_VECTOR_TAIL\r
+\r
+#else // "brute force" implementation\r
+\r
+#   if i_ > 0\r
+\r
+template<\r
+      BOOST_PP_ENUM_PARAMS(i_, typename T)\r
+    >\r
+struct BOOST_PP_CAT(vector,i_)\r
+{\r
+    typedef aux::vector_tag<i_> tag;\r
+    typedef BOOST_PP_CAT(vector,i_) type;\r
+\r
+#   define AUX778076_VECTOR_ITEM(unused, i_, unused2) \\r
+    typedef BOOST_PP_CAT(T,i_) BOOST_PP_CAT(item,i_); \\r
+    /**/\r
+\r
+    BOOST_PP_REPEAT(i_, AUX778076_VECTOR_ITEM, unused)\r
+#   undef AUX778076_VECTOR_ITEM\r
+    typedef void_ BOOST_PP_CAT(item,i_);\r
+    typedef BOOST_PP_CAT(T,BOOST_PP_DEC(i_)) back;\r
+\r
+    // Borland forces us to use 'type' here (instead of the class name)\r
+    typedef v_iter<type,0> begin;\r
+    typedef v_iter<type,i_> end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<BOOST_PP_DEC(i_)> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef BOOST_PP_CAT(vector,i_)<\r
+              T\r
+              BOOST_PP_COMMA_IF(BOOST_PP_DEC(i_))\r
+              BOOST_PP_ENUM_PARAMS(BOOST_PP_DEC(i_), typename Vector::item)\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<i_> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef BOOST_PP_CAT(vector,BOOST_PP_DEC(i_))<\r
+              BOOST_PP_ENUM_SHIFTED_PARAMS(i_, typename Vector::item)\r
+            > type;\r
+    };\r
+};\r
+\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<BOOST_PP_DEC(i_)> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef BOOST_PP_CAT(vector,i_)<\r
+              BOOST_PP_ENUM_PARAMS(BOOST_PP_DEC(i_), typename Vector::item)\r
+              BOOST_PP_COMMA_IF(BOOST_PP_DEC(i_))\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<i_> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef BOOST_PP_CAT(vector,BOOST_PP_DEC(i_))<\r
+              BOOST_PP_ENUM_PARAMS(BOOST_PP_DEC(i_), typename Vector::item)\r
+            > type;\r
+    };\r
+};\r
+\r
+#   endif // i_ > 0\r
+\r
+#   if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \\r
+    && !defined(BOOST_MPL_CFG_NO_NONTYPE_TEMPLATE_PARTIAL_SPEC)\r
+\r
+template< typename V >\r
+struct v_at<V,i_>\r
+{\r
+    typedef typename V::BOOST_PP_CAT(item,i_) type;\r
+};\r
+\r
+#   else\r
+\r
+namespace aux {\r
+template<> struct v_at_impl<i_>\r
+{\r
+    template< typename V_ > struct result_\r
+    {\r
+        typedef typename V_::BOOST_PP_CAT(item,i_) type;\r
+    };\r
+};\r
+}\r
+\r
+template<>\r
+struct at_impl< aux::vector_tag<i_> >\r
+{\r
+    template< typename V_, typename N > struct apply\r
+    {\r
+        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>\r
+            ::template result_<V_>::type type;\r
+    };\r
+};\r
+\r
+#if i_ > 0\r
+template<>\r
+struct front_impl< aux::vector_tag<i_> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::item0 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct back_impl< aux::vector_tag<i_> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::back type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct empty_impl< aux::vector_tag<i_> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : false_\r
+    {\r
+    };\r
+};\r
+#endif\r
+\r
+template<>\r
+struct size_impl< aux::vector_tag<i_> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : long_<i_>\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct O1_size_impl< aux::vector_tag<i_> >\r
+    : size_impl< aux::vector_tag<i_> >\r
+{\r
+};\r
+\r
+template<>\r
+struct clear_impl< aux::vector_tag<i_> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector0<> type;\r
+    };\r
+};\r
+\r
+#   endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+\r
+#endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES\r
+\r
+#undef i_\r
+\r
+#endif // BOOST_PP_IS_ITERATING\r
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 (file)
index 0000000..3a85061
--- /dev/null
@@ -0,0 +1,77 @@
+\r
+// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION\r
+\r
+#if defined(BOOST_PP_IS_ITERATING)\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: numbered_c.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/preprocessor/enum_params.hpp>\r
+#include <boost/preprocessor/enum_shifted_params.hpp>\r
+#include <boost/preprocessor/comma_if.hpp>\r
+#include <boost/preprocessor/repeat.hpp>\r
+#include <boost/preprocessor/dec.hpp>\r
+#include <boost/preprocessor/cat.hpp>\r
+\r
+#define i_ BOOST_PP_FRAME_ITERATION(1)\r
+\r
+#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)\r
+\r
+#   define AUX778076_VECTOR_TAIL(vector, i_, C) \\r
+    BOOST_PP_CAT(BOOST_PP_CAT(vector,i_),_c)<T \\r
+          BOOST_PP_COMMA_IF(i_) BOOST_PP_ENUM_PARAMS(i_, C) \\r
+        > \\r
+    /**/\r
+\r
+#if i_ > 0\r
+template<\r
+      typename T\r
+    , BOOST_PP_ENUM_PARAMS(i_, T C)\r
+    >\r
+struct BOOST_PP_CAT(BOOST_PP_CAT(vector,i_),_c)\r
+    : v_item<\r
+          integral_c<T,BOOST_PP_CAT(C,BOOST_PP_DEC(i_))>\r
+        , AUX778076_VECTOR_TAIL(vector,BOOST_PP_DEC(i_),C)\r
+        >\r
+{\r
+    typedef BOOST_PP_CAT(BOOST_PP_CAT(vector,i_),_c) type;\r
+    typedef T value_type;\r
+};\r
+#endif\r
+\r
+#   undef AUX778076_VECTOR_TAIL\r
+\r
+#else // "brute force" implementation\r
+\r
+#   define AUX778076_VECTOR_C_PARAM_FUNC(unused, i_, param) \\r
+    BOOST_PP_COMMA_IF(i_) \\r
+    integral_c<T,BOOST_PP_CAT(param,i_)> \\r
+    /**/\r
+\r
+template<\r
+      typename T\r
+    , BOOST_PP_ENUM_PARAMS(i_, T C)\r
+    >\r
+struct BOOST_PP_CAT(BOOST_PP_CAT(vector,i_),_c)\r
+    : BOOST_PP_CAT(vector,i_)< BOOST_PP_REPEAT(i_,AUX778076_VECTOR_C_PARAM_FUNC,C) >\r
+{\r
+    typedef BOOST_PP_CAT(BOOST_PP_CAT(vector,i_),_c) type;\r
+    typedef T value_type;\r
+};\r
+\r
+#   undef AUX778076_VECTOR_C_PARAM_FUNC\r
+\r
+#endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES\r
+\r
+#undef i_\r
+\r
+#endif // BOOST_PP_IS_ITERATING\r
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 (file)
index 0000000..9d20876
--- /dev/null
@@ -0,0 +1,40 @@
+\r
+#ifndef BOOST_MPL_VECTOR_AUX_POP_BACK_HPP_INCLUDED\r
+#define BOOST_MPL_VECTOR_AUX_POP_BACK_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: pop_back.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/pop_back_fwd.hpp>\r
+#include <boost/mpl/aux_/config/typeof.hpp>\r
+\r
+#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)\r
+\r
+#   include <boost/mpl/vector/aux_/item.hpp>\r
+#   include <boost/mpl/vector/aux_/tag.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef v_mask<Vector,0> type;\r
+    };\r
+};\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES\r
+\r
+#endif // BOOST_MPL_VECTOR_AUX_POP_BACK_HPP_INCLUDED\r
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 (file)
index 0000000..eb901dc
--- /dev/null
@@ -0,0 +1,40 @@
+\r
+#ifndef BOOST_MPL_VECTOR_AUX_POP_FRONT_HPP_INCLUDED\r
+#define BOOST_MPL_VECTOR_AUX_POP_FRONT_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: pop_front.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/pop_front_fwd.hpp>\r
+#include <boost/mpl/aux_/config/typeof.hpp>\r
+\r
+#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)\r
+\r
+#   include <boost/mpl/vector/aux_/item.hpp>\r
+#   include <boost/mpl/vector/aux_/tag.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef v_mask<Vector,1> type;\r
+    };\r
+};\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES\r
+\r
+#endif // BOOST_MPL_VECTOR_AUX_POP_FRONT_HPP_INCLUDED\r
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 (file)
index 0000000..dbe80fb
--- /dev/null
@@ -0,0 +1,1528 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/vector/vector10.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+namespace aux {\r
+template<> struct v_at_impl<0>\r
+{\r
+    template< typename V_ > struct result_\r
+    {\r
+        typedef typename V_::item0 type;\r
+    };\r
+};\r
+\r
+}\r
+\r
+template<>\r
+struct at_impl< aux::vector_tag<0> >\r
+{\r
+    template< typename V_, typename N > struct apply\r
+    {\r
+        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>\r
+            ::template result_<V_>::type type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct size_impl< aux::vector_tag<0> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : long_<0>\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct O1_size_impl< aux::vector_tag<0> >\r
+    : size_impl< aux::vector_tag<0> >\r
+{\r
+};\r
+\r
+template<>\r
+struct clear_impl< aux::vector_tag<0> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector0<> type;\r
+    };\r
+};\r
+\r
+template<\r
+      typename T0\r
+    >\r
+struct vector1\r
+{\r
+    typedef aux::vector_tag<1> tag;\r
+    typedef vector1 type;\r
+    typedef T0 item0;\r
+    typedef void_ item1;\r
+    typedef T0 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,1 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<0> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector1<\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<1> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector0<\r
+             \r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<0> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector1<\r
+             \r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<1> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector0<\r
+             \r
+            > type;\r
+    };\r
+};\r
+\r
+namespace aux {\r
+template<> struct v_at_impl<1>\r
+{\r
+    template< typename V_ > struct result_\r
+    {\r
+        typedef typename V_::item1 type;\r
+    };\r
+};\r
+\r
+}\r
+\r
+template<>\r
+struct at_impl< aux::vector_tag<1> >\r
+{\r
+    template< typename V_, typename N > struct apply\r
+    {\r
+        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>\r
+            ::template result_<V_>::type type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct front_impl< aux::vector_tag<1> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::item0 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct back_impl< aux::vector_tag<1> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::back type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct empty_impl< aux::vector_tag<1> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : false_\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct size_impl< aux::vector_tag<1> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : long_<1>\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct O1_size_impl< aux::vector_tag<1> >\r
+    : size_impl< aux::vector_tag<1> >\r
+{\r
+};\r
+\r
+template<>\r
+struct clear_impl< aux::vector_tag<1> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector0<> type;\r
+    };\r
+};\r
+\r
+template<\r
+      typename T0, typename T1\r
+    >\r
+struct vector2\r
+{\r
+    typedef aux::vector_tag<2> tag;\r
+    typedef vector2 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    \r
+\r
+    typedef void_ item2;\r
+    typedef T1 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,2 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<1> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector2<\r
+              T\r
+              ,\r
+              typename Vector::item0\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<2> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector1<\r
+              typename Vector::item1\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<1> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector2<\r
+              typename Vector::item0\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<2> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector1<\r
+              typename Vector::item0\r
+            > type;\r
+    };\r
+};\r
+\r
+namespace aux {\r
+template<> struct v_at_impl<2>\r
+{\r
+    template< typename V_ > struct result_\r
+    {\r
+        typedef typename V_::item2 type;\r
+    };\r
+};\r
+\r
+}\r
+\r
+template<>\r
+struct at_impl< aux::vector_tag<2> >\r
+{\r
+    template< typename V_, typename N > struct apply\r
+    {\r
+        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>\r
+            ::template result_<V_>::type type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct front_impl< aux::vector_tag<2> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::item0 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct back_impl< aux::vector_tag<2> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::back type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct empty_impl< aux::vector_tag<2> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : false_\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct size_impl< aux::vector_tag<2> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : long_<2>\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct O1_size_impl< aux::vector_tag<2> >\r
+    : size_impl< aux::vector_tag<2> >\r
+{\r
+};\r
+\r
+template<>\r
+struct clear_impl< aux::vector_tag<2> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector0<> type;\r
+    };\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2\r
+    >\r
+struct vector3\r
+{\r
+    typedef aux::vector_tag<3> tag;\r
+    typedef vector3 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    \r
+\r
+    typedef void_ item3;\r
+    typedef T2 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,3 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<2> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector3<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<3> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector2<\r
+              typename Vector::item1, typename Vector::item2\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<2> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector3<\r
+              typename Vector::item0, typename Vector::item1\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<3> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector2<\r
+              typename Vector::item0, typename Vector::item1\r
+            > type;\r
+    };\r
+};\r
+\r
+namespace aux {\r
+template<> struct v_at_impl<3>\r
+{\r
+    template< typename V_ > struct result_\r
+    {\r
+        typedef typename V_::item3 type;\r
+    };\r
+};\r
+\r
+}\r
+\r
+template<>\r
+struct at_impl< aux::vector_tag<3> >\r
+{\r
+    template< typename V_, typename N > struct apply\r
+    {\r
+        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>\r
+            ::template result_<V_>::type type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct front_impl< aux::vector_tag<3> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::item0 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct back_impl< aux::vector_tag<3> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::back type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct empty_impl< aux::vector_tag<3> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : false_\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct size_impl< aux::vector_tag<3> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : long_<3>\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct O1_size_impl< aux::vector_tag<3> >\r
+    : size_impl< aux::vector_tag<3> >\r
+{\r
+};\r
+\r
+template<>\r
+struct clear_impl< aux::vector_tag<3> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector0<> type;\r
+    };\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3\r
+    >\r
+struct vector4\r
+{\r
+    typedef aux::vector_tag<4> tag;\r
+    typedef vector4 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    \r
+\r
+    typedef void_ item4;\r
+    typedef T3 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,4 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<3> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector4<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<4> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector3<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<3> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector4<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<4> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector3<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2\r
+            > type;\r
+    };\r
+};\r
+\r
+namespace aux {\r
+template<> struct v_at_impl<4>\r
+{\r
+    template< typename V_ > struct result_\r
+    {\r
+        typedef typename V_::item4 type;\r
+    };\r
+};\r
+\r
+}\r
+\r
+template<>\r
+struct at_impl< aux::vector_tag<4> >\r
+{\r
+    template< typename V_, typename N > struct apply\r
+    {\r
+        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>\r
+            ::template result_<V_>::type type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct front_impl< aux::vector_tag<4> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::item0 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct back_impl< aux::vector_tag<4> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::back type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct empty_impl< aux::vector_tag<4> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : false_\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct size_impl< aux::vector_tag<4> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : long_<4>\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct O1_size_impl< aux::vector_tag<4> >\r
+    : size_impl< aux::vector_tag<4> >\r
+{\r
+};\r
+\r
+template<>\r
+struct clear_impl< aux::vector_tag<4> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector0<> type;\r
+    };\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct vector5\r
+{\r
+    typedef aux::vector_tag<5> tag;\r
+    typedef vector5 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    \r
+\r
+    typedef void_ item5;\r
+    typedef T4 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,5 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<4> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector5<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<5> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector4<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<4> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector5<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<5> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector4<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            > type;\r
+    };\r
+};\r
+\r
+namespace aux {\r
+template<> struct v_at_impl<5>\r
+{\r
+    template< typename V_ > struct result_\r
+    {\r
+        typedef typename V_::item5 type;\r
+    };\r
+};\r
+\r
+}\r
+\r
+template<>\r
+struct at_impl< aux::vector_tag<5> >\r
+{\r
+    template< typename V_, typename N > struct apply\r
+    {\r
+        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>\r
+            ::template result_<V_>::type type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct front_impl< aux::vector_tag<5> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::item0 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct back_impl< aux::vector_tag<5> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::back type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct empty_impl< aux::vector_tag<5> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : false_\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct size_impl< aux::vector_tag<5> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : long_<5>\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct O1_size_impl< aux::vector_tag<5> >\r
+    : size_impl< aux::vector_tag<5> >\r
+{\r
+};\r
+\r
+template<>\r
+struct clear_impl< aux::vector_tag<5> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector0<> type;\r
+    };\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct vector6\r
+{\r
+    typedef aux::vector_tag<6> tag;\r
+    typedef vector6 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    \r
+\r
+    typedef void_ item6;\r
+    typedef T5 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,6 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<5> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector6<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<6> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector5<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<5> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector6<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<6> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector5<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4\r
+            > type;\r
+    };\r
+};\r
+\r
+namespace aux {\r
+template<> struct v_at_impl<6>\r
+{\r
+    template< typename V_ > struct result_\r
+    {\r
+        typedef typename V_::item6 type;\r
+    };\r
+};\r
+\r
+}\r
+\r
+template<>\r
+struct at_impl< aux::vector_tag<6> >\r
+{\r
+    template< typename V_, typename N > struct apply\r
+    {\r
+        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>\r
+            ::template result_<V_>::type type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct front_impl< aux::vector_tag<6> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::item0 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct back_impl< aux::vector_tag<6> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::back type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct empty_impl< aux::vector_tag<6> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : false_\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct size_impl< aux::vector_tag<6> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : long_<6>\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct O1_size_impl< aux::vector_tag<6> >\r
+    : size_impl< aux::vector_tag<6> >\r
+{\r
+};\r
+\r
+template<>\r
+struct clear_impl< aux::vector_tag<6> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector0<> type;\r
+    };\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6\r
+    >\r
+struct vector7\r
+{\r
+    typedef aux::vector_tag<7> tag;\r
+    typedef vector7 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    typedef T6 item6;\r
+    \r
+\r
+    typedef void_ item7;\r
+    typedef T6 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,7 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<6> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector7<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<7> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector6<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5, typename Vector::item6\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<6> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector7<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<7> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector6<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            > type;\r
+    };\r
+};\r
+\r
+namespace aux {\r
+template<> struct v_at_impl<7>\r
+{\r
+    template< typename V_ > struct result_\r
+    {\r
+        typedef typename V_::item7 type;\r
+    };\r
+};\r
+\r
+}\r
+\r
+template<>\r
+struct at_impl< aux::vector_tag<7> >\r
+{\r
+    template< typename V_, typename N > struct apply\r
+    {\r
+        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>\r
+            ::template result_<V_>::type type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct front_impl< aux::vector_tag<7> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::item0 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct back_impl< aux::vector_tag<7> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::back type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct empty_impl< aux::vector_tag<7> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : false_\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct size_impl< aux::vector_tag<7> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : long_<7>\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct O1_size_impl< aux::vector_tag<7> >\r
+    : size_impl< aux::vector_tag<7> >\r
+{\r
+};\r
+\r
+template<>\r
+struct clear_impl< aux::vector_tag<7> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector0<> type;\r
+    };\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7\r
+    >\r
+struct vector8\r
+{\r
+    typedef aux::vector_tag<8> tag;\r
+    typedef vector8 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    typedef T6 item6;\r
+    typedef T7 item7;\r
+    \r
+\r
+    typedef void_ item8;\r
+    typedef T7 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,8 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<7> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector8<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<8> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector7<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5, typename Vector::item6\r
+            , typename Vector::item7\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<7> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector8<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<8> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector7<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6\r
+            > type;\r
+    };\r
+};\r
+\r
+namespace aux {\r
+template<> struct v_at_impl<8>\r
+{\r
+    template< typename V_ > struct result_\r
+    {\r
+        typedef typename V_::item8 type;\r
+    };\r
+};\r
+\r
+}\r
+\r
+template<>\r
+struct at_impl< aux::vector_tag<8> >\r
+{\r
+    template< typename V_, typename N > struct apply\r
+    {\r
+        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>\r
+            ::template result_<V_>::type type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct front_impl< aux::vector_tag<8> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::item0 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct back_impl< aux::vector_tag<8> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::back type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct empty_impl< aux::vector_tag<8> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : false_\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct size_impl< aux::vector_tag<8> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : long_<8>\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct O1_size_impl< aux::vector_tag<8> >\r
+    : size_impl< aux::vector_tag<8> >\r
+{\r
+};\r
+\r
+template<>\r
+struct clear_impl< aux::vector_tag<8> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector0<> type;\r
+    };\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8\r
+    >\r
+struct vector9\r
+{\r
+    typedef aux::vector_tag<9> tag;\r
+    typedef vector9 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    typedef T6 item6;\r
+    typedef T7 item7;\r
+    typedef T8 item8;\r
+    \r
+\r
+    typedef void_ item9;\r
+    typedef T8 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,9 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<8> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector9<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<9> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector8<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5, typename Vector::item6\r
+            , typename Vector::item7, typename Vector::item8\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<8> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector9<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<9> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector8<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            > type;\r
+    };\r
+};\r
+\r
+namespace aux {\r
+template<> struct v_at_impl<9>\r
+{\r
+    template< typename V_ > struct result_\r
+    {\r
+        typedef typename V_::item9 type;\r
+    };\r
+};\r
+\r
+}\r
+\r
+template<>\r
+struct at_impl< aux::vector_tag<9> >\r
+{\r
+    template< typename V_, typename N > struct apply\r
+    {\r
+        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>\r
+            ::template result_<V_>::type type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct front_impl< aux::vector_tag<9> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::item0 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct back_impl< aux::vector_tag<9> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::back type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct empty_impl< aux::vector_tag<9> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : false_\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct size_impl< aux::vector_tag<9> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : long_<9>\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct O1_size_impl< aux::vector_tag<9> >\r
+    : size_impl< aux::vector_tag<9> >\r
+{\r
+};\r
+\r
+template<>\r
+struct clear_impl< aux::vector_tag<9> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector0<> type;\r
+    };\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    >\r
+struct vector10\r
+{\r
+    typedef aux::vector_tag<10> tag;\r
+    typedef vector10 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    typedef T6 item6;\r
+    typedef T7 item7;\r
+    typedef T8 item8;\r
+    typedef T9 item9;\r
+    \r
+\r
+    typedef void_ item10;\r
+    typedef T9 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,10 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<9> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector10<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<10> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector9<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5, typename Vector::item6\r
+            , typename Vector::item7, typename Vector::item8\r
+            , typename Vector::item9\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<9> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector10<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<10> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector9<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8\r
+            > type;\r
+    };\r
+};\r
+\r
+namespace aux {\r
+template<> struct v_at_impl<10>\r
+{\r
+    template< typename V_ > struct result_\r
+    {\r
+        typedef typename V_::item10 type;\r
+    };\r
+};\r
+\r
+}\r
+\r
+template<>\r
+struct at_impl< aux::vector_tag<10> >\r
+{\r
+    template< typename V_, typename N > struct apply\r
+    {\r
+        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>\r
+            ::template result_<V_>::type type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct front_impl< aux::vector_tag<10> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::item0 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct back_impl< aux::vector_tag<10> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::back type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct empty_impl< aux::vector_tag<10> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : false_\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct size_impl< aux::vector_tag<10> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : long_<10>\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct O1_size_impl< aux::vector_tag<10> >\r
+    : size_impl< aux::vector_tag<10> >\r
+{\r
+};\r
+\r
+template<>\r
+struct clear_impl< aux::vector_tag<10> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector0<> type;\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..5a088fc
--- /dev/null
@@ -0,0 +1,149 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/vector/vector10_c.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T\r
+    , T C0\r
+    >\r
+struct vector1_c\r
+    : vector1< integral_c< T,C0 > >\r
+{\r
+    typedef vector1_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1\r
+    >\r
+struct vector2_c\r
+    : vector2< integral_c< T,C0 >, integral_c< T,C1 > >\r
+{\r
+    typedef vector2_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2\r
+    >\r
+struct vector3_c\r
+    : vector3< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > >\r
+{\r
+    typedef vector3_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3\r
+    >\r
+struct vector4_c\r
+    : vector4<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >, integral_c<T\r
+        , C3> \r
+ >\r
+{\r
+    typedef vector4_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4\r
+    >\r
+struct vector5_c\r
+    : vector5<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 > \r
+ >\r
+{\r
+    typedef vector5_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5\r
+    >\r
+struct vector6_c\r
+    : vector6<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 > \r
+ >\r
+{\r
+    typedef vector6_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6\r
+    >\r
+struct vector7_c\r
+    : vector7<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c<T\r
+        , C6> \r
+ >\r
+{\r
+    typedef vector7_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7\r
+    >\r
+struct vector8_c\r
+    : vector8<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >\r
+        , integral_c< T,C7 > \r
+ >\r
+{\r
+    typedef vector8_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8\r
+    >\r
+struct vector9_c\r
+    : vector9<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >\r
+        , integral_c< T,C7 >, integral_c< T,C8 > \r
+ >\r
+{\r
+    typedef vector9_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9\r
+    >\r
+struct vector10_c\r
+    : vector10<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >\r
+        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 > \r
+ >\r
+{\r
+    typedef vector10_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..ed70049
--- /dev/null
@@ -0,0 +1,1804 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/vector/vector20.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10\r
+    >\r
+struct vector11\r
+{\r
+    typedef aux::vector_tag<11> tag;\r
+    typedef vector11 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    typedef T6 item6;\r
+    typedef T7 item7;\r
+    typedef T8 item8;\r
+    typedef T9 item9;\r
+    typedef T10 item10;\r
+    \r
+\r
+    typedef void_ item11;\r
+    typedef T10 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,11 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<10> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector11<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<11> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector10<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5, typename Vector::item6\r
+            , typename Vector::item7, typename Vector::item8\r
+            , typename Vector::item9, typename Vector::item10\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<10> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector11<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<11> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector10<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            > type;\r
+    };\r
+};\r
+\r
+namespace aux {\r
+template<> struct v_at_impl<11>\r
+{\r
+    template< typename V_ > struct result_\r
+    {\r
+        typedef typename V_::item11 type;\r
+    };\r
+};\r
+\r
+}\r
+\r
+template<>\r
+struct at_impl< aux::vector_tag<11> >\r
+{\r
+    template< typename V_, typename N > struct apply\r
+    {\r
+        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>\r
+            ::template result_<V_>::type type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct front_impl< aux::vector_tag<11> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::item0 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct back_impl< aux::vector_tag<11> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::back type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct empty_impl< aux::vector_tag<11> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : false_\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct size_impl< aux::vector_tag<11> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : long_<11>\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct O1_size_impl< aux::vector_tag<11> >\r
+    : size_impl< aux::vector_tag<11> >\r
+{\r
+};\r
+\r
+template<>\r
+struct clear_impl< aux::vector_tag<11> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector0<> type;\r
+    };\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11\r
+    >\r
+struct vector12\r
+{\r
+    typedef aux::vector_tag<12> tag;\r
+    typedef vector12 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    typedef T6 item6;\r
+    typedef T7 item7;\r
+    typedef T8 item8;\r
+    typedef T9 item9;\r
+    typedef T10 item10;\r
+    typedef T11 item11;\r
+    \r
+\r
+    typedef void_ item12;\r
+    typedef T11 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,12 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<11> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector12<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<12> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector11<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5, typename Vector::item6\r
+            , typename Vector::item7, typename Vector::item8\r
+            , typename Vector::item9, typename Vector::item10\r
+            , typename Vector::item11\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<11> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector12<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<12> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector11<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10\r
+            > type;\r
+    };\r
+};\r
+\r
+namespace aux {\r
+template<> struct v_at_impl<12>\r
+{\r
+    template< typename V_ > struct result_\r
+    {\r
+        typedef typename V_::item12 type;\r
+    };\r
+};\r
+\r
+}\r
+\r
+template<>\r
+struct at_impl< aux::vector_tag<12> >\r
+{\r
+    template< typename V_, typename N > struct apply\r
+    {\r
+        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>\r
+            ::template result_<V_>::type type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct front_impl< aux::vector_tag<12> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::item0 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct back_impl< aux::vector_tag<12> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::back type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct empty_impl< aux::vector_tag<12> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : false_\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct size_impl< aux::vector_tag<12> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : long_<12>\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct O1_size_impl< aux::vector_tag<12> >\r
+    : size_impl< aux::vector_tag<12> >\r
+{\r
+};\r
+\r
+template<>\r
+struct clear_impl< aux::vector_tag<12> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector0<> type;\r
+    };\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12\r
+    >\r
+struct vector13\r
+{\r
+    typedef aux::vector_tag<13> tag;\r
+    typedef vector13 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    typedef T6 item6;\r
+    typedef T7 item7;\r
+    typedef T8 item8;\r
+    typedef T9 item9;\r
+    typedef T10 item10;\r
+    typedef T11 item11;\r
+    typedef T12 item12;\r
+    \r
+\r
+    typedef void_ item13;\r
+    typedef T12 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,13 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<12> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector13<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<13> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector12<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5, typename Vector::item6\r
+            , typename Vector::item7, typename Vector::item8\r
+            , typename Vector::item9, typename Vector::item10\r
+            , typename Vector::item11, typename Vector::item12\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<12> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector13<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<13> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector12<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            > type;\r
+    };\r
+};\r
+\r
+namespace aux {\r
+template<> struct v_at_impl<13>\r
+{\r
+    template< typename V_ > struct result_\r
+    {\r
+        typedef typename V_::item13 type;\r
+    };\r
+};\r
+\r
+}\r
+\r
+template<>\r
+struct at_impl< aux::vector_tag<13> >\r
+{\r
+    template< typename V_, typename N > struct apply\r
+    {\r
+        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>\r
+            ::template result_<V_>::type type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct front_impl< aux::vector_tag<13> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::item0 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct back_impl< aux::vector_tag<13> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::back type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct empty_impl< aux::vector_tag<13> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : false_\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct size_impl< aux::vector_tag<13> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : long_<13>\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct O1_size_impl< aux::vector_tag<13> >\r
+    : size_impl< aux::vector_tag<13> >\r
+{\r
+};\r
+\r
+template<>\r
+struct clear_impl< aux::vector_tag<13> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector0<> type;\r
+    };\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13\r
+    >\r
+struct vector14\r
+{\r
+    typedef aux::vector_tag<14> tag;\r
+    typedef vector14 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    typedef T6 item6;\r
+    typedef T7 item7;\r
+    typedef T8 item8;\r
+    typedef T9 item9;\r
+    typedef T10 item10;\r
+    typedef T11 item11;\r
+    typedef T12 item12;\r
+    typedef T13 item13;\r
+    \r
+\r
+    typedef void_ item14;\r
+    typedef T13 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,14 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<13> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector14<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<14> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector13<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5, typename Vector::item6\r
+            , typename Vector::item7, typename Vector::item8\r
+            , typename Vector::item9, typename Vector::item10\r
+            , typename Vector::item11, typename Vector::item12\r
+            , typename Vector::item13\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<13> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector14<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<14> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector13<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12\r
+            > type;\r
+    };\r
+};\r
+\r
+namespace aux {\r
+template<> struct v_at_impl<14>\r
+{\r
+    template< typename V_ > struct result_\r
+    {\r
+        typedef typename V_::item14 type;\r
+    };\r
+};\r
+\r
+}\r
+\r
+template<>\r
+struct at_impl< aux::vector_tag<14> >\r
+{\r
+    template< typename V_, typename N > struct apply\r
+    {\r
+        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>\r
+            ::template result_<V_>::type type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct front_impl< aux::vector_tag<14> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::item0 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct back_impl< aux::vector_tag<14> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::back type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct empty_impl< aux::vector_tag<14> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : false_\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct size_impl< aux::vector_tag<14> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : long_<14>\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct O1_size_impl< aux::vector_tag<14> >\r
+    : size_impl< aux::vector_tag<14> >\r
+{\r
+};\r
+\r
+template<>\r
+struct clear_impl< aux::vector_tag<14> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector0<> type;\r
+    };\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    >\r
+struct vector15\r
+{\r
+    typedef aux::vector_tag<15> tag;\r
+    typedef vector15 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    typedef T6 item6;\r
+    typedef T7 item7;\r
+    typedef T8 item8;\r
+    typedef T9 item9;\r
+    typedef T10 item10;\r
+    typedef T11 item11;\r
+    typedef T12 item12;\r
+    typedef T13 item13;\r
+    typedef T14 item14;\r
+    \r
+\r
+    typedef void_ item15;\r
+    typedef T14 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,15 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<14> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector15<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<15> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector14<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5, typename Vector::item6\r
+            , typename Vector::item7, typename Vector::item8\r
+            , typename Vector::item9, typename Vector::item10\r
+            , typename Vector::item11, typename Vector::item12\r
+            , typename Vector::item13, typename Vector::item14\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<14> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector15<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<15> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector14<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            > type;\r
+    };\r
+};\r
+\r
+namespace aux {\r
+template<> struct v_at_impl<15>\r
+{\r
+    template< typename V_ > struct result_\r
+    {\r
+        typedef typename V_::item15 type;\r
+    };\r
+};\r
+\r
+}\r
+\r
+template<>\r
+struct at_impl< aux::vector_tag<15> >\r
+{\r
+    template< typename V_, typename N > struct apply\r
+    {\r
+        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>\r
+            ::template result_<V_>::type type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct front_impl< aux::vector_tag<15> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::item0 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct back_impl< aux::vector_tag<15> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::back type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct empty_impl< aux::vector_tag<15> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : false_\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct size_impl< aux::vector_tag<15> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : long_<15>\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct O1_size_impl< aux::vector_tag<15> >\r
+    : size_impl< aux::vector_tag<15> >\r
+{\r
+};\r
+\r
+template<>\r
+struct clear_impl< aux::vector_tag<15> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector0<> type;\r
+    };\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15\r
+    >\r
+struct vector16\r
+{\r
+    typedef aux::vector_tag<16> tag;\r
+    typedef vector16 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    typedef T6 item6;\r
+    typedef T7 item7;\r
+    typedef T8 item8;\r
+    typedef T9 item9;\r
+    typedef T10 item10;\r
+    typedef T11 item11;\r
+    typedef T12 item12;\r
+    typedef T13 item13;\r
+    typedef T14 item14;\r
+    typedef T15 item15;\r
+    \r
+\r
+    typedef void_ item16;\r
+    typedef T15 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,16 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<15> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector16<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<16> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector15<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5, typename Vector::item6\r
+            , typename Vector::item7, typename Vector::item8\r
+            , typename Vector::item9, typename Vector::item10\r
+            , typename Vector::item11, typename Vector::item12\r
+            , typename Vector::item13, typename Vector::item14\r
+            , typename Vector::item15\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<15> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector16<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<16> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector15<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14\r
+            > type;\r
+    };\r
+};\r
+\r
+namespace aux {\r
+template<> struct v_at_impl<16>\r
+{\r
+    template< typename V_ > struct result_\r
+    {\r
+        typedef typename V_::item16 type;\r
+    };\r
+};\r
+\r
+}\r
+\r
+template<>\r
+struct at_impl< aux::vector_tag<16> >\r
+{\r
+    template< typename V_, typename N > struct apply\r
+    {\r
+        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>\r
+            ::template result_<V_>::type type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct front_impl< aux::vector_tag<16> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::item0 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct back_impl< aux::vector_tag<16> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::back type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct empty_impl< aux::vector_tag<16> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : false_\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct size_impl< aux::vector_tag<16> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : long_<16>\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct O1_size_impl< aux::vector_tag<16> >\r
+    : size_impl< aux::vector_tag<16> >\r
+{\r
+};\r
+\r
+template<>\r
+struct clear_impl< aux::vector_tag<16> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector0<> type;\r
+    };\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16\r
+    >\r
+struct vector17\r
+{\r
+    typedef aux::vector_tag<17> tag;\r
+    typedef vector17 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    typedef T6 item6;\r
+    typedef T7 item7;\r
+    typedef T8 item8;\r
+    typedef T9 item9;\r
+    typedef T10 item10;\r
+    typedef T11 item11;\r
+    typedef T12 item12;\r
+    typedef T13 item13;\r
+    typedef T14 item14;\r
+    typedef T15 item15;\r
+    typedef T16 item16;\r
+    \r
+\r
+    typedef void_ item17;\r
+    typedef T16 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,17 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<16> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector17<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<17> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector16<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5, typename Vector::item6\r
+            , typename Vector::item7, typename Vector::item8\r
+            , typename Vector::item9, typename Vector::item10\r
+            , typename Vector::item11, typename Vector::item12\r
+            , typename Vector::item13, typename Vector::item14\r
+            , typename Vector::item15, typename Vector::item16\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<16> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector17<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<17> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector16<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            > type;\r
+    };\r
+};\r
+\r
+namespace aux {\r
+template<> struct v_at_impl<17>\r
+{\r
+    template< typename V_ > struct result_\r
+    {\r
+        typedef typename V_::item17 type;\r
+    };\r
+};\r
+\r
+}\r
+\r
+template<>\r
+struct at_impl< aux::vector_tag<17> >\r
+{\r
+    template< typename V_, typename N > struct apply\r
+    {\r
+        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>\r
+            ::template result_<V_>::type type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct front_impl< aux::vector_tag<17> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::item0 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct back_impl< aux::vector_tag<17> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::back type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct empty_impl< aux::vector_tag<17> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : false_\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct size_impl< aux::vector_tag<17> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : long_<17>\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct O1_size_impl< aux::vector_tag<17> >\r
+    : size_impl< aux::vector_tag<17> >\r
+{\r
+};\r
+\r
+template<>\r
+struct clear_impl< aux::vector_tag<17> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector0<> type;\r
+    };\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17\r
+    >\r
+struct vector18\r
+{\r
+    typedef aux::vector_tag<18> tag;\r
+    typedef vector18 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    typedef T6 item6;\r
+    typedef T7 item7;\r
+    typedef T8 item8;\r
+    typedef T9 item9;\r
+    typedef T10 item10;\r
+    typedef T11 item11;\r
+    typedef T12 item12;\r
+    typedef T13 item13;\r
+    typedef T14 item14;\r
+    typedef T15 item15;\r
+    typedef T16 item16;\r
+    typedef T17 item17;\r
+    \r
+\r
+    typedef void_ item18;\r
+    typedef T17 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,18 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<17> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector18<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<18> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector17<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5, typename Vector::item6\r
+            , typename Vector::item7, typename Vector::item8\r
+            , typename Vector::item9, typename Vector::item10\r
+            , typename Vector::item11, typename Vector::item12\r
+            , typename Vector::item13, typename Vector::item14\r
+            , typename Vector::item15, typename Vector::item16\r
+            , typename Vector::item17\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<17> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector18<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<18> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector17<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16\r
+            > type;\r
+    };\r
+};\r
+\r
+namespace aux {\r
+template<> struct v_at_impl<18>\r
+{\r
+    template< typename V_ > struct result_\r
+    {\r
+        typedef typename V_::item18 type;\r
+    };\r
+};\r
+\r
+}\r
+\r
+template<>\r
+struct at_impl< aux::vector_tag<18> >\r
+{\r
+    template< typename V_, typename N > struct apply\r
+    {\r
+        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>\r
+            ::template result_<V_>::type type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct front_impl< aux::vector_tag<18> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::item0 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct back_impl< aux::vector_tag<18> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::back type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct empty_impl< aux::vector_tag<18> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : false_\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct size_impl< aux::vector_tag<18> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : long_<18>\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct O1_size_impl< aux::vector_tag<18> >\r
+    : size_impl< aux::vector_tag<18> >\r
+{\r
+};\r
+\r
+template<>\r
+struct clear_impl< aux::vector_tag<18> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector0<> type;\r
+    };\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18\r
+    >\r
+struct vector19\r
+{\r
+    typedef aux::vector_tag<19> tag;\r
+    typedef vector19 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    typedef T6 item6;\r
+    typedef T7 item7;\r
+    typedef T8 item8;\r
+    typedef T9 item9;\r
+    typedef T10 item10;\r
+    typedef T11 item11;\r
+    typedef T12 item12;\r
+    typedef T13 item13;\r
+    typedef T14 item14;\r
+    typedef T15 item15;\r
+    typedef T16 item16;\r
+    typedef T17 item17;\r
+    typedef T18 item18;\r
+    \r
+\r
+    typedef void_ item19;\r
+    typedef T18 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,19 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<18> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector19<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<19> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector18<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5, typename Vector::item6\r
+            , typename Vector::item7, typename Vector::item8\r
+            , typename Vector::item9, typename Vector::item10\r
+            , typename Vector::item11, typename Vector::item12\r
+            , typename Vector::item13, typename Vector::item14\r
+            , typename Vector::item15, typename Vector::item16\r
+            , typename Vector::item17, typename Vector::item18\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<18> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector19<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<19> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector18<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            > type;\r
+    };\r
+};\r
+\r
+namespace aux {\r
+template<> struct v_at_impl<19>\r
+{\r
+    template< typename V_ > struct result_\r
+    {\r
+        typedef typename V_::item19 type;\r
+    };\r
+};\r
+\r
+}\r
+\r
+template<>\r
+struct at_impl< aux::vector_tag<19> >\r
+{\r
+    template< typename V_, typename N > struct apply\r
+    {\r
+        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>\r
+            ::template result_<V_>::type type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct front_impl< aux::vector_tag<19> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::item0 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct back_impl< aux::vector_tag<19> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::back type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct empty_impl< aux::vector_tag<19> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : false_\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct size_impl< aux::vector_tag<19> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : long_<19>\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct O1_size_impl< aux::vector_tag<19> >\r
+    : size_impl< aux::vector_tag<19> >\r
+{\r
+};\r
+\r
+template<>\r
+struct clear_impl< aux::vector_tag<19> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector0<> type;\r
+    };\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    >\r
+struct vector20\r
+{\r
+    typedef aux::vector_tag<20> tag;\r
+    typedef vector20 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    typedef T6 item6;\r
+    typedef T7 item7;\r
+    typedef T8 item8;\r
+    typedef T9 item9;\r
+    typedef T10 item10;\r
+    typedef T11 item11;\r
+    typedef T12 item12;\r
+    typedef T13 item13;\r
+    typedef T14 item14;\r
+    typedef T15 item15;\r
+    typedef T16 item16;\r
+    typedef T17 item17;\r
+    typedef T18 item18;\r
+    typedef T19 item19;\r
+    \r
+\r
+    typedef void_ item20;\r
+    typedef T19 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,20 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<19> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector20<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<20> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector19<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5, typename Vector::item6\r
+            , typename Vector::item7, typename Vector::item8\r
+            , typename Vector::item9, typename Vector::item10\r
+            , typename Vector::item11, typename Vector::item12\r
+            , typename Vector::item13, typename Vector::item14\r
+            , typename Vector::item15, typename Vector::item16\r
+            , typename Vector::item17, typename Vector::item18\r
+            , typename Vector::item19\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<19> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector20<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<20> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector19<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18\r
+            > type;\r
+    };\r
+};\r
+\r
+namespace aux {\r
+template<> struct v_at_impl<20>\r
+{\r
+    template< typename V_ > struct result_\r
+    {\r
+        typedef typename V_::item20 type;\r
+    };\r
+};\r
+\r
+}\r
+\r
+template<>\r
+struct at_impl< aux::vector_tag<20> >\r
+{\r
+    template< typename V_, typename N > struct apply\r
+    {\r
+        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>\r
+            ::template result_<V_>::type type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct front_impl< aux::vector_tag<20> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::item0 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct back_impl< aux::vector_tag<20> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::back type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct empty_impl< aux::vector_tag<20> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : false_\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct size_impl< aux::vector_tag<20> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : long_<20>\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct O1_size_impl< aux::vector_tag<20> >\r
+    : size_impl< aux::vector_tag<20> >\r
+{\r
+};\r
+\r
+template<>\r
+struct clear_impl< aux::vector_tag<20> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector0<> type;\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..03f6456
--- /dev/null
@@ -0,0 +1,195 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/vector/vector20_c.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    >\r
+struct vector11_c\r
+    : vector11<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >\r
+        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >, integral_c<T\r
+        , C10> \r
+ >\r
+{\r
+    typedef vector11_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11\r
+    >\r
+struct vector12_c\r
+    : vector12<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >\r
+        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >\r
+        , integral_c< T,C10 >, integral_c< T,C11 > \r
+ >\r
+{\r
+    typedef vector12_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12\r
+    >\r
+struct vector13_c\r
+    : vector13<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >\r
+        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >\r
+        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 > \r
+ >\r
+{\r
+    typedef vector13_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13\r
+    >\r
+struct vector14_c\r
+    : vector14<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >\r
+        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >\r
+        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >, integral_c<T\r
+        , C13> \r
+ >\r
+{\r
+    typedef vector14_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14\r
+    >\r
+struct vector15_c\r
+    : vector15<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >\r
+        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >\r
+        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >\r
+        , integral_c< T,C13 >, integral_c< T,C14 > \r
+ >\r
+{\r
+    typedef vector15_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15\r
+    >\r
+struct vector16_c\r
+    : vector16<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >\r
+        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >\r
+        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >\r
+        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 > \r
+ >\r
+{\r
+    typedef vector16_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16\r
+    >\r
+struct vector17_c\r
+    : vector17<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >\r
+        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >\r
+        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >\r
+        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >, integral_c<T\r
+        , C16> \r
+ >\r
+{\r
+    typedef vector17_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17\r
+    >\r
+struct vector18_c\r
+    : vector18<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >\r
+        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >\r
+        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >\r
+        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >\r
+        , integral_c< T,C16 >, integral_c< T,C17 > \r
+ >\r
+{\r
+    typedef vector18_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18\r
+    >\r
+struct vector19_c\r
+    : vector19<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >\r
+        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >\r
+        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >\r
+        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >\r
+        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 > \r
+ >\r
+{\r
+    typedef vector19_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19\r
+    >\r
+struct vector20_c\r
+    : vector20<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >\r
+        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >\r
+        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >\r
+        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >\r
+        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >, integral_c<T\r
+        , C19> \r
+ >\r
+{\r
+    typedef vector20_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..015bdbf
--- /dev/null
@@ -0,0 +1,2124 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/vector/vector30.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20\r
+    >\r
+struct vector21\r
+{\r
+    typedef aux::vector_tag<21> tag;\r
+    typedef vector21 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    typedef T6 item6;\r
+    typedef T7 item7;\r
+    typedef T8 item8;\r
+    typedef T9 item9;\r
+    typedef T10 item10;\r
+    typedef T11 item11;\r
+    typedef T12 item12;\r
+    typedef T13 item13;\r
+    typedef T14 item14;\r
+    typedef T15 item15;\r
+    typedef T16 item16;\r
+    typedef T17 item17;\r
+    typedef T18 item18;\r
+    typedef T19 item19;\r
+    typedef T20 item20;\r
+    \r
+\r
+    typedef void_ item21;\r
+    typedef T20 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,21 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<20> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector21<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<21> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector20<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5, typename Vector::item6\r
+            , typename Vector::item7, typename Vector::item8\r
+            , typename Vector::item9, typename Vector::item10\r
+            , typename Vector::item11, typename Vector::item12\r
+            , typename Vector::item13, typename Vector::item14\r
+            , typename Vector::item15, typename Vector::item16\r
+            , typename Vector::item17, typename Vector::item18\r
+            , typename Vector::item19, typename Vector::item20\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<20> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector21<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<21> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector20<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            > type;\r
+    };\r
+};\r
+\r
+namespace aux {\r
+template<> struct v_at_impl<21>\r
+{\r
+    template< typename V_ > struct result_\r
+    {\r
+        typedef typename V_::item21 type;\r
+    };\r
+};\r
+\r
+}\r
+\r
+template<>\r
+struct at_impl< aux::vector_tag<21> >\r
+{\r
+    template< typename V_, typename N > struct apply\r
+    {\r
+        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>\r
+            ::template result_<V_>::type type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct front_impl< aux::vector_tag<21> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::item0 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct back_impl< aux::vector_tag<21> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::back type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct empty_impl< aux::vector_tag<21> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : false_\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct size_impl< aux::vector_tag<21> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : long_<21>\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct O1_size_impl< aux::vector_tag<21> >\r
+    : size_impl< aux::vector_tag<21> >\r
+{\r
+};\r
+\r
+template<>\r
+struct clear_impl< aux::vector_tag<21> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector0<> type;\r
+    };\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21\r
+    >\r
+struct vector22\r
+{\r
+    typedef aux::vector_tag<22> tag;\r
+    typedef vector22 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    typedef T6 item6;\r
+    typedef T7 item7;\r
+    typedef T8 item8;\r
+    typedef T9 item9;\r
+    typedef T10 item10;\r
+    typedef T11 item11;\r
+    typedef T12 item12;\r
+    typedef T13 item13;\r
+    typedef T14 item14;\r
+    typedef T15 item15;\r
+    typedef T16 item16;\r
+    typedef T17 item17;\r
+    typedef T18 item18;\r
+    typedef T19 item19;\r
+    typedef T20 item20;\r
+    typedef T21 item21;\r
+    \r
+\r
+    typedef void_ item22;\r
+    typedef T21 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,22 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<21> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector22<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<22> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector21<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5, typename Vector::item6\r
+            , typename Vector::item7, typename Vector::item8\r
+            , typename Vector::item9, typename Vector::item10\r
+            , typename Vector::item11, typename Vector::item12\r
+            , typename Vector::item13, typename Vector::item14\r
+            , typename Vector::item15, typename Vector::item16\r
+            , typename Vector::item17, typename Vector::item18\r
+            , typename Vector::item19, typename Vector::item20\r
+            , typename Vector::item21\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<21> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector22<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<22> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector21<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20\r
+            > type;\r
+    };\r
+};\r
+\r
+namespace aux {\r
+template<> struct v_at_impl<22>\r
+{\r
+    template< typename V_ > struct result_\r
+    {\r
+        typedef typename V_::item22 type;\r
+    };\r
+};\r
+\r
+}\r
+\r
+template<>\r
+struct at_impl< aux::vector_tag<22> >\r
+{\r
+    template< typename V_, typename N > struct apply\r
+    {\r
+        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>\r
+            ::template result_<V_>::type type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct front_impl< aux::vector_tag<22> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::item0 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct back_impl< aux::vector_tag<22> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::back type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct empty_impl< aux::vector_tag<22> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : false_\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct size_impl< aux::vector_tag<22> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : long_<22>\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct O1_size_impl< aux::vector_tag<22> >\r
+    : size_impl< aux::vector_tag<22> >\r
+{\r
+};\r
+\r
+template<>\r
+struct clear_impl< aux::vector_tag<22> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector0<> type;\r
+    };\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22\r
+    >\r
+struct vector23\r
+{\r
+    typedef aux::vector_tag<23> tag;\r
+    typedef vector23 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    typedef T6 item6;\r
+    typedef T7 item7;\r
+    typedef T8 item8;\r
+    typedef T9 item9;\r
+    typedef T10 item10;\r
+    typedef T11 item11;\r
+    typedef T12 item12;\r
+    typedef T13 item13;\r
+    typedef T14 item14;\r
+    typedef T15 item15;\r
+    typedef T16 item16;\r
+    typedef T17 item17;\r
+    typedef T18 item18;\r
+    typedef T19 item19;\r
+    typedef T20 item20;\r
+    typedef T21 item21;\r
+    typedef T22 item22;\r
+    \r
+\r
+    typedef void_ item23;\r
+    typedef T22 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,23 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<22> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector23<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<23> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector22<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5, typename Vector::item6\r
+            , typename Vector::item7, typename Vector::item8\r
+            , typename Vector::item9, typename Vector::item10\r
+            , typename Vector::item11, typename Vector::item12\r
+            , typename Vector::item13, typename Vector::item14\r
+            , typename Vector::item15, typename Vector::item16\r
+            , typename Vector::item17, typename Vector::item18\r
+            , typename Vector::item19, typename Vector::item20\r
+            , typename Vector::item21, typename Vector::item22\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<22> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector23<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<23> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector22<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            > type;\r
+    };\r
+};\r
+\r
+namespace aux {\r
+template<> struct v_at_impl<23>\r
+{\r
+    template< typename V_ > struct result_\r
+    {\r
+        typedef typename V_::item23 type;\r
+    };\r
+};\r
+\r
+}\r
+\r
+template<>\r
+struct at_impl< aux::vector_tag<23> >\r
+{\r
+    template< typename V_, typename N > struct apply\r
+    {\r
+        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>\r
+            ::template result_<V_>::type type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct front_impl< aux::vector_tag<23> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::item0 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct back_impl< aux::vector_tag<23> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::back type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct empty_impl< aux::vector_tag<23> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : false_\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct size_impl< aux::vector_tag<23> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : long_<23>\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct O1_size_impl< aux::vector_tag<23> >\r
+    : size_impl< aux::vector_tag<23> >\r
+{\r
+};\r
+\r
+template<>\r
+struct clear_impl< aux::vector_tag<23> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector0<> type;\r
+    };\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23\r
+    >\r
+struct vector24\r
+{\r
+    typedef aux::vector_tag<24> tag;\r
+    typedef vector24 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    typedef T6 item6;\r
+    typedef T7 item7;\r
+    typedef T8 item8;\r
+    typedef T9 item9;\r
+    typedef T10 item10;\r
+    typedef T11 item11;\r
+    typedef T12 item12;\r
+    typedef T13 item13;\r
+    typedef T14 item14;\r
+    typedef T15 item15;\r
+    typedef T16 item16;\r
+    typedef T17 item17;\r
+    typedef T18 item18;\r
+    typedef T19 item19;\r
+    typedef T20 item20;\r
+    typedef T21 item21;\r
+    typedef T22 item22;\r
+    typedef T23 item23;\r
+    \r
+\r
+    typedef void_ item24;\r
+    typedef T23 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,24 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<23> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector24<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<24> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector23<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5, typename Vector::item6\r
+            , typename Vector::item7, typename Vector::item8\r
+            , typename Vector::item9, typename Vector::item10\r
+            , typename Vector::item11, typename Vector::item12\r
+            , typename Vector::item13, typename Vector::item14\r
+            , typename Vector::item15, typename Vector::item16\r
+            , typename Vector::item17, typename Vector::item18\r
+            , typename Vector::item19, typename Vector::item20\r
+            , typename Vector::item21, typename Vector::item22\r
+            , typename Vector::item23\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<23> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector24<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<24> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector23<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22\r
+            > type;\r
+    };\r
+};\r
+\r
+namespace aux {\r
+template<> struct v_at_impl<24>\r
+{\r
+    template< typename V_ > struct result_\r
+    {\r
+        typedef typename V_::item24 type;\r
+    };\r
+};\r
+\r
+}\r
+\r
+template<>\r
+struct at_impl< aux::vector_tag<24> >\r
+{\r
+    template< typename V_, typename N > struct apply\r
+    {\r
+        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>\r
+            ::template result_<V_>::type type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct front_impl< aux::vector_tag<24> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::item0 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct back_impl< aux::vector_tag<24> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::back type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct empty_impl< aux::vector_tag<24> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : false_\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct size_impl< aux::vector_tag<24> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : long_<24>\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct O1_size_impl< aux::vector_tag<24> >\r
+    : size_impl< aux::vector_tag<24> >\r
+{\r
+};\r
+\r
+template<>\r
+struct clear_impl< aux::vector_tag<24> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector0<> type;\r
+    };\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    >\r
+struct vector25\r
+{\r
+    typedef aux::vector_tag<25> tag;\r
+    typedef vector25 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    typedef T6 item6;\r
+    typedef T7 item7;\r
+    typedef T8 item8;\r
+    typedef T9 item9;\r
+    typedef T10 item10;\r
+    typedef T11 item11;\r
+    typedef T12 item12;\r
+    typedef T13 item13;\r
+    typedef T14 item14;\r
+    typedef T15 item15;\r
+    typedef T16 item16;\r
+    typedef T17 item17;\r
+    typedef T18 item18;\r
+    typedef T19 item19;\r
+    typedef T20 item20;\r
+    typedef T21 item21;\r
+    typedef T22 item22;\r
+    typedef T23 item23;\r
+    typedef T24 item24;\r
+    \r
+\r
+    typedef void_ item25;\r
+    typedef T24 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,25 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<24> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector25<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<25> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector24<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5, typename Vector::item6\r
+            , typename Vector::item7, typename Vector::item8\r
+            , typename Vector::item9, typename Vector::item10\r
+            , typename Vector::item11, typename Vector::item12\r
+            , typename Vector::item13, typename Vector::item14\r
+            , typename Vector::item15, typename Vector::item16\r
+            , typename Vector::item17, typename Vector::item18\r
+            , typename Vector::item19, typename Vector::item20\r
+            , typename Vector::item21, typename Vector::item22\r
+            , typename Vector::item23, typename Vector::item24\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<24> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector25<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<25> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector24<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            > type;\r
+    };\r
+};\r
+\r
+namespace aux {\r
+template<> struct v_at_impl<25>\r
+{\r
+    template< typename V_ > struct result_\r
+    {\r
+        typedef typename V_::item25 type;\r
+    };\r
+};\r
+\r
+}\r
+\r
+template<>\r
+struct at_impl< aux::vector_tag<25> >\r
+{\r
+    template< typename V_, typename N > struct apply\r
+    {\r
+        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>\r
+            ::template result_<V_>::type type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct front_impl< aux::vector_tag<25> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::item0 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct back_impl< aux::vector_tag<25> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::back type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct empty_impl< aux::vector_tag<25> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : false_\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct size_impl< aux::vector_tag<25> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : long_<25>\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct O1_size_impl< aux::vector_tag<25> >\r
+    : size_impl< aux::vector_tag<25> >\r
+{\r
+};\r
+\r
+template<>\r
+struct clear_impl< aux::vector_tag<25> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector0<> type;\r
+    };\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25\r
+    >\r
+struct vector26\r
+{\r
+    typedef aux::vector_tag<26> tag;\r
+    typedef vector26 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    typedef T6 item6;\r
+    typedef T7 item7;\r
+    typedef T8 item8;\r
+    typedef T9 item9;\r
+    typedef T10 item10;\r
+    typedef T11 item11;\r
+    typedef T12 item12;\r
+    typedef T13 item13;\r
+    typedef T14 item14;\r
+    typedef T15 item15;\r
+    typedef T16 item16;\r
+    typedef T17 item17;\r
+    typedef T18 item18;\r
+    typedef T19 item19;\r
+    typedef T20 item20;\r
+    typedef T21 item21;\r
+    typedef T22 item22;\r
+    typedef T23 item23;\r
+    typedef T24 item24;\r
+    typedef T25 item25;\r
+    \r
+\r
+    typedef void_ item26;\r
+    typedef T25 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,26 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<25> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector26<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<26> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector25<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5, typename Vector::item6\r
+            , typename Vector::item7, typename Vector::item8\r
+            , typename Vector::item9, typename Vector::item10\r
+            , typename Vector::item11, typename Vector::item12\r
+            , typename Vector::item13, typename Vector::item14\r
+            , typename Vector::item15, typename Vector::item16\r
+            , typename Vector::item17, typename Vector::item18\r
+            , typename Vector::item19, typename Vector::item20\r
+            , typename Vector::item21, typename Vector::item22\r
+            , typename Vector::item23, typename Vector::item24\r
+            , typename Vector::item25\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<25> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector26<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<26> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector25<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24\r
+            > type;\r
+    };\r
+};\r
+\r
+namespace aux {\r
+template<> struct v_at_impl<26>\r
+{\r
+    template< typename V_ > struct result_\r
+    {\r
+        typedef typename V_::item26 type;\r
+    };\r
+};\r
+\r
+}\r
+\r
+template<>\r
+struct at_impl< aux::vector_tag<26> >\r
+{\r
+    template< typename V_, typename N > struct apply\r
+    {\r
+        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>\r
+            ::template result_<V_>::type type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct front_impl< aux::vector_tag<26> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::item0 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct back_impl< aux::vector_tag<26> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::back type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct empty_impl< aux::vector_tag<26> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : false_\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct size_impl< aux::vector_tag<26> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : long_<26>\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct O1_size_impl< aux::vector_tag<26> >\r
+    : size_impl< aux::vector_tag<26> >\r
+{\r
+};\r
+\r
+template<>\r
+struct clear_impl< aux::vector_tag<26> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector0<> type;\r
+    };\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26\r
+    >\r
+struct vector27\r
+{\r
+    typedef aux::vector_tag<27> tag;\r
+    typedef vector27 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    typedef T6 item6;\r
+    typedef T7 item7;\r
+    typedef T8 item8;\r
+    typedef T9 item9;\r
+    typedef T10 item10;\r
+    typedef T11 item11;\r
+    typedef T12 item12;\r
+    typedef T13 item13;\r
+    typedef T14 item14;\r
+    typedef T15 item15;\r
+    typedef T16 item16;\r
+    typedef T17 item17;\r
+    typedef T18 item18;\r
+    typedef T19 item19;\r
+    typedef T20 item20;\r
+    typedef T21 item21;\r
+    typedef T22 item22;\r
+    typedef T23 item23;\r
+    typedef T24 item24;\r
+    typedef T25 item25;\r
+    typedef T26 item26;\r
+    \r
+\r
+    typedef void_ item27;\r
+    typedef T26 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,27 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<26> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector27<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<27> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector26<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5, typename Vector::item6\r
+            , typename Vector::item7, typename Vector::item8\r
+            , typename Vector::item9, typename Vector::item10\r
+            , typename Vector::item11, typename Vector::item12\r
+            , typename Vector::item13, typename Vector::item14\r
+            , typename Vector::item15, typename Vector::item16\r
+            , typename Vector::item17, typename Vector::item18\r
+            , typename Vector::item19, typename Vector::item20\r
+            , typename Vector::item21, typename Vector::item22\r
+            , typename Vector::item23, typename Vector::item24\r
+            , typename Vector::item25, typename Vector::item26\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<26> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector27<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<27> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector26<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            > type;\r
+    };\r
+};\r
+\r
+namespace aux {\r
+template<> struct v_at_impl<27>\r
+{\r
+    template< typename V_ > struct result_\r
+    {\r
+        typedef typename V_::item27 type;\r
+    };\r
+};\r
+\r
+}\r
+\r
+template<>\r
+struct at_impl< aux::vector_tag<27> >\r
+{\r
+    template< typename V_, typename N > struct apply\r
+    {\r
+        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>\r
+            ::template result_<V_>::type type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct front_impl< aux::vector_tag<27> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::item0 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct back_impl< aux::vector_tag<27> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::back type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct empty_impl< aux::vector_tag<27> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : false_\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct size_impl< aux::vector_tag<27> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : long_<27>\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct O1_size_impl< aux::vector_tag<27> >\r
+    : size_impl< aux::vector_tag<27> >\r
+{\r
+};\r
+\r
+template<>\r
+struct clear_impl< aux::vector_tag<27> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector0<> type;\r
+    };\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27\r
+    >\r
+struct vector28\r
+{\r
+    typedef aux::vector_tag<28> tag;\r
+    typedef vector28 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    typedef T6 item6;\r
+    typedef T7 item7;\r
+    typedef T8 item8;\r
+    typedef T9 item9;\r
+    typedef T10 item10;\r
+    typedef T11 item11;\r
+    typedef T12 item12;\r
+    typedef T13 item13;\r
+    typedef T14 item14;\r
+    typedef T15 item15;\r
+    typedef T16 item16;\r
+    typedef T17 item17;\r
+    typedef T18 item18;\r
+    typedef T19 item19;\r
+    typedef T20 item20;\r
+    typedef T21 item21;\r
+    typedef T22 item22;\r
+    typedef T23 item23;\r
+    typedef T24 item24;\r
+    typedef T25 item25;\r
+    typedef T26 item26;\r
+    typedef T27 item27;\r
+    \r
+\r
+    typedef void_ item28;\r
+    typedef T27 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,28 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<27> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector28<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<28> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector27<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5, typename Vector::item6\r
+            , typename Vector::item7, typename Vector::item8\r
+            , typename Vector::item9, typename Vector::item10\r
+            , typename Vector::item11, typename Vector::item12\r
+            , typename Vector::item13, typename Vector::item14\r
+            , typename Vector::item15, typename Vector::item16\r
+            , typename Vector::item17, typename Vector::item18\r
+            , typename Vector::item19, typename Vector::item20\r
+            , typename Vector::item21, typename Vector::item22\r
+            , typename Vector::item23, typename Vector::item24\r
+            , typename Vector::item25, typename Vector::item26\r
+            , typename Vector::item27\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<27> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector28<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<28> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector27<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26\r
+            > type;\r
+    };\r
+};\r
+\r
+namespace aux {\r
+template<> struct v_at_impl<28>\r
+{\r
+    template< typename V_ > struct result_\r
+    {\r
+        typedef typename V_::item28 type;\r
+    };\r
+};\r
+\r
+}\r
+\r
+template<>\r
+struct at_impl< aux::vector_tag<28> >\r
+{\r
+    template< typename V_, typename N > struct apply\r
+    {\r
+        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>\r
+            ::template result_<V_>::type type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct front_impl< aux::vector_tag<28> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::item0 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct back_impl< aux::vector_tag<28> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::back type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct empty_impl< aux::vector_tag<28> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : false_\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct size_impl< aux::vector_tag<28> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : long_<28>\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct O1_size_impl< aux::vector_tag<28> >\r
+    : size_impl< aux::vector_tag<28> >\r
+{\r
+};\r
+\r
+template<>\r
+struct clear_impl< aux::vector_tag<28> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector0<> type;\r
+    };\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28\r
+    >\r
+struct vector29\r
+{\r
+    typedef aux::vector_tag<29> tag;\r
+    typedef vector29 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    typedef T6 item6;\r
+    typedef T7 item7;\r
+    typedef T8 item8;\r
+    typedef T9 item9;\r
+    typedef T10 item10;\r
+    typedef T11 item11;\r
+    typedef T12 item12;\r
+    typedef T13 item13;\r
+    typedef T14 item14;\r
+    typedef T15 item15;\r
+    typedef T16 item16;\r
+    typedef T17 item17;\r
+    typedef T18 item18;\r
+    typedef T19 item19;\r
+    typedef T20 item20;\r
+    typedef T21 item21;\r
+    typedef T22 item22;\r
+    typedef T23 item23;\r
+    typedef T24 item24;\r
+    typedef T25 item25;\r
+    typedef T26 item26;\r
+    typedef T27 item27;\r
+    typedef T28 item28;\r
+    \r
+\r
+    typedef void_ item29;\r
+    typedef T28 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,29 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<28> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector29<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<29> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector28<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5, typename Vector::item6\r
+            , typename Vector::item7, typename Vector::item8\r
+            , typename Vector::item9, typename Vector::item10\r
+            , typename Vector::item11, typename Vector::item12\r
+            , typename Vector::item13, typename Vector::item14\r
+            , typename Vector::item15, typename Vector::item16\r
+            , typename Vector::item17, typename Vector::item18\r
+            , typename Vector::item19, typename Vector::item20\r
+            , typename Vector::item21, typename Vector::item22\r
+            , typename Vector::item23, typename Vector::item24\r
+            , typename Vector::item25, typename Vector::item26\r
+            , typename Vector::item27, typename Vector::item28\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<28> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector29<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<29> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector28<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            > type;\r
+    };\r
+};\r
+\r
+namespace aux {\r
+template<> struct v_at_impl<29>\r
+{\r
+    template< typename V_ > struct result_\r
+    {\r
+        typedef typename V_::item29 type;\r
+    };\r
+};\r
+\r
+}\r
+\r
+template<>\r
+struct at_impl< aux::vector_tag<29> >\r
+{\r
+    template< typename V_, typename N > struct apply\r
+    {\r
+        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>\r
+            ::template result_<V_>::type type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct front_impl< aux::vector_tag<29> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::item0 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct back_impl< aux::vector_tag<29> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::back type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct empty_impl< aux::vector_tag<29> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : false_\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct size_impl< aux::vector_tag<29> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : long_<29>\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct O1_size_impl< aux::vector_tag<29> >\r
+    : size_impl< aux::vector_tag<29> >\r
+{\r
+};\r
+\r
+template<>\r
+struct clear_impl< aux::vector_tag<29> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector0<> type;\r
+    };\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    >\r
+struct vector30\r
+{\r
+    typedef aux::vector_tag<30> tag;\r
+    typedef vector30 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    typedef T6 item6;\r
+    typedef T7 item7;\r
+    typedef T8 item8;\r
+    typedef T9 item9;\r
+    typedef T10 item10;\r
+    typedef T11 item11;\r
+    typedef T12 item12;\r
+    typedef T13 item13;\r
+    typedef T14 item14;\r
+    typedef T15 item15;\r
+    typedef T16 item16;\r
+    typedef T17 item17;\r
+    typedef T18 item18;\r
+    typedef T19 item19;\r
+    typedef T20 item20;\r
+    typedef T21 item21;\r
+    typedef T22 item22;\r
+    typedef T23 item23;\r
+    typedef T24 item24;\r
+    typedef T25 item25;\r
+    typedef T26 item26;\r
+    typedef T27 item27;\r
+    typedef T28 item28;\r
+    typedef T29 item29;\r
+    \r
+\r
+    typedef void_ item30;\r
+    typedef T29 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,30 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<29> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector30<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<30> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector29<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5, typename Vector::item6\r
+            , typename Vector::item7, typename Vector::item8\r
+            , typename Vector::item9, typename Vector::item10\r
+            , typename Vector::item11, typename Vector::item12\r
+            , typename Vector::item13, typename Vector::item14\r
+            , typename Vector::item15, typename Vector::item16\r
+            , typename Vector::item17, typename Vector::item18\r
+            , typename Vector::item19, typename Vector::item20\r
+            , typename Vector::item21, typename Vector::item22\r
+            , typename Vector::item23, typename Vector::item24\r
+            , typename Vector::item25, typename Vector::item26\r
+            , typename Vector::item27, typename Vector::item28\r
+            , typename Vector::item29\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<29> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector30<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<30> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector29<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28\r
+            > type;\r
+    };\r
+};\r
+\r
+namespace aux {\r
+template<> struct v_at_impl<30>\r
+{\r
+    template< typename V_ > struct result_\r
+    {\r
+        typedef typename V_::item30 type;\r
+    };\r
+};\r
+\r
+}\r
+\r
+template<>\r
+struct at_impl< aux::vector_tag<30> >\r
+{\r
+    template< typename V_, typename N > struct apply\r
+    {\r
+        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>\r
+            ::template result_<V_>::type type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct front_impl< aux::vector_tag<30> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::item0 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct back_impl< aux::vector_tag<30> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::back type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct empty_impl< aux::vector_tag<30> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : false_\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct size_impl< aux::vector_tag<30> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : long_<30>\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct O1_size_impl< aux::vector_tag<30> >\r
+    : size_impl< aux::vector_tag<30> >\r
+{\r
+};\r
+\r
+template<>\r
+struct clear_impl< aux::vector_tag<30> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector0<> type;\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..6d47c94
--- /dev/null
@@ -0,0 +1,238 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/vector/vector30_c.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    >\r
+struct vector21_c\r
+    : vector21<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >\r
+        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >\r
+        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >\r
+        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >\r
+        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >\r
+        , integral_c< T,C19 >, integral_c< T,C20 > \r
+ >\r
+{\r
+    typedef vector21_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21\r
+    >\r
+struct vector22_c\r
+    : vector22<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >\r
+        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >\r
+        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >\r
+        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >\r
+        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >\r
+        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 > \r
+ >\r
+{\r
+    typedef vector22_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22\r
+    >\r
+struct vector23_c\r
+    : vector23<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >\r
+        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >\r
+        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >\r
+        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >\r
+        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >\r
+        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >, integral_c<T\r
+        , C22> \r
+ >\r
+{\r
+    typedef vector23_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23\r
+    >\r
+struct vector24_c\r
+    : vector24<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >\r
+        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >\r
+        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >\r
+        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >\r
+        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >\r
+        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >\r
+        , integral_c< T,C22 >, integral_c< T,C23 > \r
+ >\r
+{\r
+    typedef vector24_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24\r
+    >\r
+struct vector25_c\r
+    : vector25<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >\r
+        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >\r
+        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >\r
+        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >\r
+        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >\r
+        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >\r
+        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 > \r
+ >\r
+{\r
+    typedef vector25_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25\r
+    >\r
+struct vector26_c\r
+    : vector26<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >\r
+        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >\r
+        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >\r
+        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >\r
+        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >\r
+        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >\r
+        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >, integral_c<T\r
+        , C25> \r
+ >\r
+{\r
+    typedef vector26_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26\r
+    >\r
+struct vector27_c\r
+    : vector27<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >\r
+        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >\r
+        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >\r
+        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >\r
+        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >\r
+        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >\r
+        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >\r
+        , integral_c< T,C25 >, integral_c< T,C26 > \r
+ >\r
+{\r
+    typedef vector27_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27\r
+    >\r
+struct vector28_c\r
+    : vector28<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >\r
+        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >\r
+        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >\r
+        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >\r
+        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >\r
+        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >\r
+        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >\r
+        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 > \r
+ >\r
+{\r
+    typedef vector28_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28\r
+    >\r
+struct vector29_c\r
+    : vector29<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >\r
+        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >\r
+        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >\r
+        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >\r
+        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >\r
+        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >\r
+        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >\r
+        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >, integral_c<T\r
+        , C28> \r
+ >\r
+{\r
+    typedef vector29_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29\r
+    >\r
+struct vector30_c\r
+    : vector30<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >\r
+        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >\r
+        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >\r
+        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >\r
+        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >\r
+        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >\r
+        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >\r
+        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >\r
+        , integral_c< T,C28 >, integral_c< T,C29 > \r
+ >\r
+{\r
+    typedef vector30_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..ad93a68
--- /dev/null
@@ -0,0 +1,2444 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/vector/vector40.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30\r
+    >\r
+struct vector31\r
+{\r
+    typedef aux::vector_tag<31> tag;\r
+    typedef vector31 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    typedef T6 item6;\r
+    typedef T7 item7;\r
+    typedef T8 item8;\r
+    typedef T9 item9;\r
+    typedef T10 item10;\r
+    typedef T11 item11;\r
+    typedef T12 item12;\r
+    typedef T13 item13;\r
+    typedef T14 item14;\r
+    typedef T15 item15;\r
+    typedef T16 item16;\r
+    typedef T17 item17;\r
+    typedef T18 item18;\r
+    typedef T19 item19;\r
+    typedef T20 item20;\r
+    typedef T21 item21;\r
+    typedef T22 item22;\r
+    typedef T23 item23;\r
+    typedef T24 item24;\r
+    typedef T25 item25;\r
+    typedef T26 item26;\r
+    typedef T27 item27;\r
+    typedef T28 item28;\r
+    typedef T29 item29;\r
+    typedef T30 item30;\r
+    \r
+\r
+    typedef void_ item31;\r
+    typedef T30 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,31 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<30> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector31<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<31> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector30<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5, typename Vector::item6\r
+            , typename Vector::item7, typename Vector::item8\r
+            , typename Vector::item9, typename Vector::item10\r
+            , typename Vector::item11, typename Vector::item12\r
+            , typename Vector::item13, typename Vector::item14\r
+            , typename Vector::item15, typename Vector::item16\r
+            , typename Vector::item17, typename Vector::item18\r
+            , typename Vector::item19, typename Vector::item20\r
+            , typename Vector::item21, typename Vector::item22\r
+            , typename Vector::item23, typename Vector::item24\r
+            , typename Vector::item25, typename Vector::item26\r
+            , typename Vector::item27, typename Vector::item28\r
+            , typename Vector::item29, typename Vector::item30\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<30> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector31<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<31> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector30<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            > type;\r
+    };\r
+};\r
+\r
+namespace aux {\r
+template<> struct v_at_impl<31>\r
+{\r
+    template< typename V_ > struct result_\r
+    {\r
+        typedef typename V_::item31 type;\r
+    };\r
+};\r
+\r
+}\r
+\r
+template<>\r
+struct at_impl< aux::vector_tag<31> >\r
+{\r
+    template< typename V_, typename N > struct apply\r
+    {\r
+        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>\r
+            ::template result_<V_>::type type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct front_impl< aux::vector_tag<31> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::item0 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct back_impl< aux::vector_tag<31> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::back type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct empty_impl< aux::vector_tag<31> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : false_\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct size_impl< aux::vector_tag<31> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : long_<31>\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct O1_size_impl< aux::vector_tag<31> >\r
+    : size_impl< aux::vector_tag<31> >\r
+{\r
+};\r
+\r
+template<>\r
+struct clear_impl< aux::vector_tag<31> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector0<> type;\r
+    };\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31\r
+    >\r
+struct vector32\r
+{\r
+    typedef aux::vector_tag<32> tag;\r
+    typedef vector32 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    typedef T6 item6;\r
+    typedef T7 item7;\r
+    typedef T8 item8;\r
+    typedef T9 item9;\r
+    typedef T10 item10;\r
+    typedef T11 item11;\r
+    typedef T12 item12;\r
+    typedef T13 item13;\r
+    typedef T14 item14;\r
+    typedef T15 item15;\r
+    typedef T16 item16;\r
+    typedef T17 item17;\r
+    typedef T18 item18;\r
+    typedef T19 item19;\r
+    typedef T20 item20;\r
+    typedef T21 item21;\r
+    typedef T22 item22;\r
+    typedef T23 item23;\r
+    typedef T24 item24;\r
+    typedef T25 item25;\r
+    typedef T26 item26;\r
+    typedef T27 item27;\r
+    typedef T28 item28;\r
+    typedef T29 item29;\r
+    typedef T30 item30;\r
+    typedef T31 item31;\r
+    \r
+\r
+    typedef void_ item32;\r
+    typedef T31 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,32 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<31> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector32<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<32> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector31<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5, typename Vector::item6\r
+            , typename Vector::item7, typename Vector::item8\r
+            , typename Vector::item9, typename Vector::item10\r
+            , typename Vector::item11, typename Vector::item12\r
+            , typename Vector::item13, typename Vector::item14\r
+            , typename Vector::item15, typename Vector::item16\r
+            , typename Vector::item17, typename Vector::item18\r
+            , typename Vector::item19, typename Vector::item20\r
+            , typename Vector::item21, typename Vector::item22\r
+            , typename Vector::item23, typename Vector::item24\r
+            , typename Vector::item25, typename Vector::item26\r
+            , typename Vector::item27, typename Vector::item28\r
+            , typename Vector::item29, typename Vector::item30\r
+            , typename Vector::item31\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<31> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector32<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<32> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector31<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30\r
+            > type;\r
+    };\r
+};\r
+\r
+namespace aux {\r
+template<> struct v_at_impl<32>\r
+{\r
+    template< typename V_ > struct result_\r
+    {\r
+        typedef typename V_::item32 type;\r
+    };\r
+};\r
+\r
+}\r
+\r
+template<>\r
+struct at_impl< aux::vector_tag<32> >\r
+{\r
+    template< typename V_, typename N > struct apply\r
+    {\r
+        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>\r
+            ::template result_<V_>::type type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct front_impl< aux::vector_tag<32> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::item0 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct back_impl< aux::vector_tag<32> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::back type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct empty_impl< aux::vector_tag<32> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : false_\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct size_impl< aux::vector_tag<32> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : long_<32>\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct O1_size_impl< aux::vector_tag<32> >\r
+    : size_impl< aux::vector_tag<32> >\r
+{\r
+};\r
+\r
+template<>\r
+struct clear_impl< aux::vector_tag<32> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector0<> type;\r
+    };\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32\r
+    >\r
+struct vector33\r
+{\r
+    typedef aux::vector_tag<33> tag;\r
+    typedef vector33 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    typedef T6 item6;\r
+    typedef T7 item7;\r
+    typedef T8 item8;\r
+    typedef T9 item9;\r
+    typedef T10 item10;\r
+    typedef T11 item11;\r
+    typedef T12 item12;\r
+    typedef T13 item13;\r
+    typedef T14 item14;\r
+    typedef T15 item15;\r
+    typedef T16 item16;\r
+    typedef T17 item17;\r
+    typedef T18 item18;\r
+    typedef T19 item19;\r
+    typedef T20 item20;\r
+    typedef T21 item21;\r
+    typedef T22 item22;\r
+    typedef T23 item23;\r
+    typedef T24 item24;\r
+    typedef T25 item25;\r
+    typedef T26 item26;\r
+    typedef T27 item27;\r
+    typedef T28 item28;\r
+    typedef T29 item29;\r
+    typedef T30 item30;\r
+    typedef T31 item31;\r
+    typedef T32 item32;\r
+    \r
+\r
+    typedef void_ item33;\r
+    typedef T32 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,33 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<32> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector33<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<33> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector32<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5, typename Vector::item6\r
+            , typename Vector::item7, typename Vector::item8\r
+            , typename Vector::item9, typename Vector::item10\r
+            , typename Vector::item11, typename Vector::item12\r
+            , typename Vector::item13, typename Vector::item14\r
+            , typename Vector::item15, typename Vector::item16\r
+            , typename Vector::item17, typename Vector::item18\r
+            , typename Vector::item19, typename Vector::item20\r
+            , typename Vector::item21, typename Vector::item22\r
+            , typename Vector::item23, typename Vector::item24\r
+            , typename Vector::item25, typename Vector::item26\r
+            , typename Vector::item27, typename Vector::item28\r
+            , typename Vector::item29, typename Vector::item30\r
+            , typename Vector::item31, typename Vector::item32\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<32> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector33<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<33> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector32<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            > type;\r
+    };\r
+};\r
+\r
+namespace aux {\r
+template<> struct v_at_impl<33>\r
+{\r
+    template< typename V_ > struct result_\r
+    {\r
+        typedef typename V_::item33 type;\r
+    };\r
+};\r
+\r
+}\r
+\r
+template<>\r
+struct at_impl< aux::vector_tag<33> >\r
+{\r
+    template< typename V_, typename N > struct apply\r
+    {\r
+        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>\r
+            ::template result_<V_>::type type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct front_impl< aux::vector_tag<33> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::item0 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct back_impl< aux::vector_tag<33> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::back type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct empty_impl< aux::vector_tag<33> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : false_\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct size_impl< aux::vector_tag<33> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : long_<33>\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct O1_size_impl< aux::vector_tag<33> >\r
+    : size_impl< aux::vector_tag<33> >\r
+{\r
+};\r
+\r
+template<>\r
+struct clear_impl< aux::vector_tag<33> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector0<> type;\r
+    };\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32, typename T33\r
+    >\r
+struct vector34\r
+{\r
+    typedef aux::vector_tag<34> tag;\r
+    typedef vector34 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    typedef T6 item6;\r
+    typedef T7 item7;\r
+    typedef T8 item8;\r
+    typedef T9 item9;\r
+    typedef T10 item10;\r
+    typedef T11 item11;\r
+    typedef T12 item12;\r
+    typedef T13 item13;\r
+    typedef T14 item14;\r
+    typedef T15 item15;\r
+    typedef T16 item16;\r
+    typedef T17 item17;\r
+    typedef T18 item18;\r
+    typedef T19 item19;\r
+    typedef T20 item20;\r
+    typedef T21 item21;\r
+    typedef T22 item22;\r
+    typedef T23 item23;\r
+    typedef T24 item24;\r
+    typedef T25 item25;\r
+    typedef T26 item26;\r
+    typedef T27 item27;\r
+    typedef T28 item28;\r
+    typedef T29 item29;\r
+    typedef T30 item30;\r
+    typedef T31 item31;\r
+    typedef T32 item32;\r
+    typedef T33 item33;\r
+    \r
+\r
+    typedef void_ item34;\r
+    typedef T33 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,34 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<33> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector34<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<34> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector33<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5, typename Vector::item6\r
+            , typename Vector::item7, typename Vector::item8\r
+            , typename Vector::item9, typename Vector::item10\r
+            , typename Vector::item11, typename Vector::item12\r
+            , typename Vector::item13, typename Vector::item14\r
+            , typename Vector::item15, typename Vector::item16\r
+            , typename Vector::item17, typename Vector::item18\r
+            , typename Vector::item19, typename Vector::item20\r
+            , typename Vector::item21, typename Vector::item22\r
+            , typename Vector::item23, typename Vector::item24\r
+            , typename Vector::item25, typename Vector::item26\r
+            , typename Vector::item27, typename Vector::item28\r
+            , typename Vector::item29, typename Vector::item30\r
+            , typename Vector::item31, typename Vector::item32\r
+            , typename Vector::item33\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<33> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector34<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<34> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector33<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32\r
+            > type;\r
+    };\r
+};\r
+\r
+namespace aux {\r
+template<> struct v_at_impl<34>\r
+{\r
+    template< typename V_ > struct result_\r
+    {\r
+        typedef typename V_::item34 type;\r
+    };\r
+};\r
+\r
+}\r
+\r
+template<>\r
+struct at_impl< aux::vector_tag<34> >\r
+{\r
+    template< typename V_, typename N > struct apply\r
+    {\r
+        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>\r
+            ::template result_<V_>::type type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct front_impl< aux::vector_tag<34> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::item0 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct back_impl< aux::vector_tag<34> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::back type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct empty_impl< aux::vector_tag<34> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : false_\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct size_impl< aux::vector_tag<34> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : long_<34>\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct O1_size_impl< aux::vector_tag<34> >\r
+    : size_impl< aux::vector_tag<34> >\r
+{\r
+};\r
+\r
+template<>\r
+struct clear_impl< aux::vector_tag<34> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector0<> type;\r
+    };\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32, typename T33, typename T34\r
+    >\r
+struct vector35\r
+{\r
+    typedef aux::vector_tag<35> tag;\r
+    typedef vector35 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    typedef T6 item6;\r
+    typedef T7 item7;\r
+    typedef T8 item8;\r
+    typedef T9 item9;\r
+    typedef T10 item10;\r
+    typedef T11 item11;\r
+    typedef T12 item12;\r
+    typedef T13 item13;\r
+    typedef T14 item14;\r
+    typedef T15 item15;\r
+    typedef T16 item16;\r
+    typedef T17 item17;\r
+    typedef T18 item18;\r
+    typedef T19 item19;\r
+    typedef T20 item20;\r
+    typedef T21 item21;\r
+    typedef T22 item22;\r
+    typedef T23 item23;\r
+    typedef T24 item24;\r
+    typedef T25 item25;\r
+    typedef T26 item26;\r
+    typedef T27 item27;\r
+    typedef T28 item28;\r
+    typedef T29 item29;\r
+    typedef T30 item30;\r
+    typedef T31 item31;\r
+    typedef T32 item32;\r
+    typedef T33 item33;\r
+    typedef T34 item34;\r
+    \r
+\r
+    typedef void_ item35;\r
+    typedef T34 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,35 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<34> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector35<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<35> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector34<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5, typename Vector::item6\r
+            , typename Vector::item7, typename Vector::item8\r
+            , typename Vector::item9, typename Vector::item10\r
+            , typename Vector::item11, typename Vector::item12\r
+            , typename Vector::item13, typename Vector::item14\r
+            , typename Vector::item15, typename Vector::item16\r
+            , typename Vector::item17, typename Vector::item18\r
+            , typename Vector::item19, typename Vector::item20\r
+            , typename Vector::item21, typename Vector::item22\r
+            , typename Vector::item23, typename Vector::item24\r
+            , typename Vector::item25, typename Vector::item26\r
+            , typename Vector::item27, typename Vector::item28\r
+            , typename Vector::item29, typename Vector::item30\r
+            , typename Vector::item31, typename Vector::item32\r
+            , typename Vector::item33, typename Vector::item34\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<34> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector35<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<35> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector34<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            > type;\r
+    };\r
+};\r
+\r
+namespace aux {\r
+template<> struct v_at_impl<35>\r
+{\r
+    template< typename V_ > struct result_\r
+    {\r
+        typedef typename V_::item35 type;\r
+    };\r
+};\r
+\r
+}\r
+\r
+template<>\r
+struct at_impl< aux::vector_tag<35> >\r
+{\r
+    template< typename V_, typename N > struct apply\r
+    {\r
+        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>\r
+            ::template result_<V_>::type type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct front_impl< aux::vector_tag<35> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::item0 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct back_impl< aux::vector_tag<35> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::back type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct empty_impl< aux::vector_tag<35> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : false_\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct size_impl< aux::vector_tag<35> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : long_<35>\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct O1_size_impl< aux::vector_tag<35> >\r
+    : size_impl< aux::vector_tag<35> >\r
+{\r
+};\r
+\r
+template<>\r
+struct clear_impl< aux::vector_tag<35> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector0<> type;\r
+    };\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32, typename T33, typename T34\r
+    , typename T35\r
+    >\r
+struct vector36\r
+{\r
+    typedef aux::vector_tag<36> tag;\r
+    typedef vector36 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    typedef T6 item6;\r
+    typedef T7 item7;\r
+    typedef T8 item8;\r
+    typedef T9 item9;\r
+    typedef T10 item10;\r
+    typedef T11 item11;\r
+    typedef T12 item12;\r
+    typedef T13 item13;\r
+    typedef T14 item14;\r
+    typedef T15 item15;\r
+    typedef T16 item16;\r
+    typedef T17 item17;\r
+    typedef T18 item18;\r
+    typedef T19 item19;\r
+    typedef T20 item20;\r
+    typedef T21 item21;\r
+    typedef T22 item22;\r
+    typedef T23 item23;\r
+    typedef T24 item24;\r
+    typedef T25 item25;\r
+    typedef T26 item26;\r
+    typedef T27 item27;\r
+    typedef T28 item28;\r
+    typedef T29 item29;\r
+    typedef T30 item30;\r
+    typedef T31 item31;\r
+    typedef T32 item32;\r
+    typedef T33 item33;\r
+    typedef T34 item34;\r
+    typedef T35 item35;\r
+    \r
+\r
+    typedef void_ item36;\r
+    typedef T35 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,36 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<35> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector36<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<36> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector35<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5, typename Vector::item6\r
+            , typename Vector::item7, typename Vector::item8\r
+            , typename Vector::item9, typename Vector::item10\r
+            , typename Vector::item11, typename Vector::item12\r
+            , typename Vector::item13, typename Vector::item14\r
+            , typename Vector::item15, typename Vector::item16\r
+            , typename Vector::item17, typename Vector::item18\r
+            , typename Vector::item19, typename Vector::item20\r
+            , typename Vector::item21, typename Vector::item22\r
+            , typename Vector::item23, typename Vector::item24\r
+            , typename Vector::item25, typename Vector::item26\r
+            , typename Vector::item27, typename Vector::item28\r
+            , typename Vector::item29, typename Vector::item30\r
+            , typename Vector::item31, typename Vector::item32\r
+            , typename Vector::item33, typename Vector::item34\r
+            , typename Vector::item35\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<35> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector36<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<36> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector35<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34\r
+            > type;\r
+    };\r
+};\r
+\r
+namespace aux {\r
+template<> struct v_at_impl<36>\r
+{\r
+    template< typename V_ > struct result_\r
+    {\r
+        typedef typename V_::item36 type;\r
+    };\r
+};\r
+\r
+}\r
+\r
+template<>\r
+struct at_impl< aux::vector_tag<36> >\r
+{\r
+    template< typename V_, typename N > struct apply\r
+    {\r
+        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>\r
+            ::template result_<V_>::type type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct front_impl< aux::vector_tag<36> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::item0 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct back_impl< aux::vector_tag<36> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::back type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct empty_impl< aux::vector_tag<36> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : false_\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct size_impl< aux::vector_tag<36> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : long_<36>\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct O1_size_impl< aux::vector_tag<36> >\r
+    : size_impl< aux::vector_tag<36> >\r
+{\r
+};\r
+\r
+template<>\r
+struct clear_impl< aux::vector_tag<36> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector0<> type;\r
+    };\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32, typename T33, typename T34\r
+    , typename T35, typename T36\r
+    >\r
+struct vector37\r
+{\r
+    typedef aux::vector_tag<37> tag;\r
+    typedef vector37 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    typedef T6 item6;\r
+    typedef T7 item7;\r
+    typedef T8 item8;\r
+    typedef T9 item9;\r
+    typedef T10 item10;\r
+    typedef T11 item11;\r
+    typedef T12 item12;\r
+    typedef T13 item13;\r
+    typedef T14 item14;\r
+    typedef T15 item15;\r
+    typedef T16 item16;\r
+    typedef T17 item17;\r
+    typedef T18 item18;\r
+    typedef T19 item19;\r
+    typedef T20 item20;\r
+    typedef T21 item21;\r
+    typedef T22 item22;\r
+    typedef T23 item23;\r
+    typedef T24 item24;\r
+    typedef T25 item25;\r
+    typedef T26 item26;\r
+    typedef T27 item27;\r
+    typedef T28 item28;\r
+    typedef T29 item29;\r
+    typedef T30 item30;\r
+    typedef T31 item31;\r
+    typedef T32 item32;\r
+    typedef T33 item33;\r
+    typedef T34 item34;\r
+    typedef T35 item35;\r
+    typedef T36 item36;\r
+    \r
+\r
+    typedef void_ item37;\r
+    typedef T36 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,37 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<36> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector37<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34, typename Vector::item35\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<37> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector36<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5, typename Vector::item6\r
+            , typename Vector::item7, typename Vector::item8\r
+            , typename Vector::item9, typename Vector::item10\r
+            , typename Vector::item11, typename Vector::item12\r
+            , typename Vector::item13, typename Vector::item14\r
+            , typename Vector::item15, typename Vector::item16\r
+            , typename Vector::item17, typename Vector::item18\r
+            , typename Vector::item19, typename Vector::item20\r
+            , typename Vector::item21, typename Vector::item22\r
+            , typename Vector::item23, typename Vector::item24\r
+            , typename Vector::item25, typename Vector::item26\r
+            , typename Vector::item27, typename Vector::item28\r
+            , typename Vector::item29, typename Vector::item30\r
+            , typename Vector::item31, typename Vector::item32\r
+            , typename Vector::item33, typename Vector::item34\r
+            , typename Vector::item35, typename Vector::item36\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<36> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector37<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34, typename Vector::item35\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<37> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector36<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34, typename Vector::item35\r
+            > type;\r
+    };\r
+};\r
+\r
+namespace aux {\r
+template<> struct v_at_impl<37>\r
+{\r
+    template< typename V_ > struct result_\r
+    {\r
+        typedef typename V_::item37 type;\r
+    };\r
+};\r
+\r
+}\r
+\r
+template<>\r
+struct at_impl< aux::vector_tag<37> >\r
+{\r
+    template< typename V_, typename N > struct apply\r
+    {\r
+        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>\r
+            ::template result_<V_>::type type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct front_impl< aux::vector_tag<37> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::item0 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct back_impl< aux::vector_tag<37> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::back type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct empty_impl< aux::vector_tag<37> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : false_\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct size_impl< aux::vector_tag<37> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : long_<37>\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct O1_size_impl< aux::vector_tag<37> >\r
+    : size_impl< aux::vector_tag<37> >\r
+{\r
+};\r
+\r
+template<>\r
+struct clear_impl< aux::vector_tag<37> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector0<> type;\r
+    };\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32, typename T33, typename T34\r
+    , typename T35, typename T36, typename T37\r
+    >\r
+struct vector38\r
+{\r
+    typedef aux::vector_tag<38> tag;\r
+    typedef vector38 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    typedef T6 item6;\r
+    typedef T7 item7;\r
+    typedef T8 item8;\r
+    typedef T9 item9;\r
+    typedef T10 item10;\r
+    typedef T11 item11;\r
+    typedef T12 item12;\r
+    typedef T13 item13;\r
+    typedef T14 item14;\r
+    typedef T15 item15;\r
+    typedef T16 item16;\r
+    typedef T17 item17;\r
+    typedef T18 item18;\r
+    typedef T19 item19;\r
+    typedef T20 item20;\r
+    typedef T21 item21;\r
+    typedef T22 item22;\r
+    typedef T23 item23;\r
+    typedef T24 item24;\r
+    typedef T25 item25;\r
+    typedef T26 item26;\r
+    typedef T27 item27;\r
+    typedef T28 item28;\r
+    typedef T29 item29;\r
+    typedef T30 item30;\r
+    typedef T31 item31;\r
+    typedef T32 item32;\r
+    typedef T33 item33;\r
+    typedef T34 item34;\r
+    typedef T35 item35;\r
+    typedef T36 item36;\r
+    typedef T37 item37;\r
+    \r
+\r
+    typedef void_ item38;\r
+    typedef T37 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,38 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<37> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector38<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34, typename Vector::item35\r
+            , typename Vector::item36\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<38> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector37<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5, typename Vector::item6\r
+            , typename Vector::item7, typename Vector::item8\r
+            , typename Vector::item9, typename Vector::item10\r
+            , typename Vector::item11, typename Vector::item12\r
+            , typename Vector::item13, typename Vector::item14\r
+            , typename Vector::item15, typename Vector::item16\r
+            , typename Vector::item17, typename Vector::item18\r
+            , typename Vector::item19, typename Vector::item20\r
+            , typename Vector::item21, typename Vector::item22\r
+            , typename Vector::item23, typename Vector::item24\r
+            , typename Vector::item25, typename Vector::item26\r
+            , typename Vector::item27, typename Vector::item28\r
+            , typename Vector::item29, typename Vector::item30\r
+            , typename Vector::item31, typename Vector::item32\r
+            , typename Vector::item33, typename Vector::item34\r
+            , typename Vector::item35, typename Vector::item36\r
+            , typename Vector::item37\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<37> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector38<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34, typename Vector::item35\r
+            , typename Vector::item36\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<38> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector37<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34, typename Vector::item35\r
+            , typename Vector::item36\r
+            > type;\r
+    };\r
+};\r
+\r
+namespace aux {\r
+template<> struct v_at_impl<38>\r
+{\r
+    template< typename V_ > struct result_\r
+    {\r
+        typedef typename V_::item38 type;\r
+    };\r
+};\r
+\r
+}\r
+\r
+template<>\r
+struct at_impl< aux::vector_tag<38> >\r
+{\r
+    template< typename V_, typename N > struct apply\r
+    {\r
+        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>\r
+            ::template result_<V_>::type type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct front_impl< aux::vector_tag<38> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::item0 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct back_impl< aux::vector_tag<38> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::back type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct empty_impl< aux::vector_tag<38> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : false_\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct size_impl< aux::vector_tag<38> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : long_<38>\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct O1_size_impl< aux::vector_tag<38> >\r
+    : size_impl< aux::vector_tag<38> >\r
+{\r
+};\r
+\r
+template<>\r
+struct clear_impl< aux::vector_tag<38> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector0<> type;\r
+    };\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32, typename T33, typename T34\r
+    , typename T35, typename T36, typename T37, typename T38\r
+    >\r
+struct vector39\r
+{\r
+    typedef aux::vector_tag<39> tag;\r
+    typedef vector39 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    typedef T6 item6;\r
+    typedef T7 item7;\r
+    typedef T8 item8;\r
+    typedef T9 item9;\r
+    typedef T10 item10;\r
+    typedef T11 item11;\r
+    typedef T12 item12;\r
+    typedef T13 item13;\r
+    typedef T14 item14;\r
+    typedef T15 item15;\r
+    typedef T16 item16;\r
+    typedef T17 item17;\r
+    typedef T18 item18;\r
+    typedef T19 item19;\r
+    typedef T20 item20;\r
+    typedef T21 item21;\r
+    typedef T22 item22;\r
+    typedef T23 item23;\r
+    typedef T24 item24;\r
+    typedef T25 item25;\r
+    typedef T26 item26;\r
+    typedef T27 item27;\r
+    typedef T28 item28;\r
+    typedef T29 item29;\r
+    typedef T30 item30;\r
+    typedef T31 item31;\r
+    typedef T32 item32;\r
+    typedef T33 item33;\r
+    typedef T34 item34;\r
+    typedef T35 item35;\r
+    typedef T36 item36;\r
+    typedef T37 item37;\r
+    typedef T38 item38;\r
+    \r
+\r
+    typedef void_ item39;\r
+    typedef T38 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,39 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<38> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector39<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34, typename Vector::item35\r
+            , typename Vector::item36, typename Vector::item37\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<39> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector38<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5, typename Vector::item6\r
+            , typename Vector::item7, typename Vector::item8\r
+            , typename Vector::item9, typename Vector::item10\r
+            , typename Vector::item11, typename Vector::item12\r
+            , typename Vector::item13, typename Vector::item14\r
+            , typename Vector::item15, typename Vector::item16\r
+            , typename Vector::item17, typename Vector::item18\r
+            , typename Vector::item19, typename Vector::item20\r
+            , typename Vector::item21, typename Vector::item22\r
+            , typename Vector::item23, typename Vector::item24\r
+            , typename Vector::item25, typename Vector::item26\r
+            , typename Vector::item27, typename Vector::item28\r
+            , typename Vector::item29, typename Vector::item30\r
+            , typename Vector::item31, typename Vector::item32\r
+            , typename Vector::item33, typename Vector::item34\r
+            , typename Vector::item35, typename Vector::item36\r
+            , typename Vector::item37, typename Vector::item38\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<38> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector39<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34, typename Vector::item35\r
+            , typename Vector::item36, typename Vector::item37\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<39> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector38<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34, typename Vector::item35\r
+            , typename Vector::item36, typename Vector::item37\r
+            > type;\r
+    };\r
+};\r
+\r
+namespace aux {\r
+template<> struct v_at_impl<39>\r
+{\r
+    template< typename V_ > struct result_\r
+    {\r
+        typedef typename V_::item39 type;\r
+    };\r
+};\r
+\r
+}\r
+\r
+template<>\r
+struct at_impl< aux::vector_tag<39> >\r
+{\r
+    template< typename V_, typename N > struct apply\r
+    {\r
+        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>\r
+            ::template result_<V_>::type type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct front_impl< aux::vector_tag<39> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::item0 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct back_impl< aux::vector_tag<39> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::back type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct empty_impl< aux::vector_tag<39> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : false_\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct size_impl< aux::vector_tag<39> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : long_<39>\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct O1_size_impl< aux::vector_tag<39> >\r
+    : size_impl< aux::vector_tag<39> >\r
+{\r
+};\r
+\r
+template<>\r
+struct clear_impl< aux::vector_tag<39> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector0<> type;\r
+    };\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32, typename T33, typename T34\r
+    , typename T35, typename T36, typename T37, typename T38, typename T39\r
+    >\r
+struct vector40\r
+{\r
+    typedef aux::vector_tag<40> tag;\r
+    typedef vector40 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    typedef T6 item6;\r
+    typedef T7 item7;\r
+    typedef T8 item8;\r
+    typedef T9 item9;\r
+    typedef T10 item10;\r
+    typedef T11 item11;\r
+    typedef T12 item12;\r
+    typedef T13 item13;\r
+    typedef T14 item14;\r
+    typedef T15 item15;\r
+    typedef T16 item16;\r
+    typedef T17 item17;\r
+    typedef T18 item18;\r
+    typedef T19 item19;\r
+    typedef T20 item20;\r
+    typedef T21 item21;\r
+    typedef T22 item22;\r
+    typedef T23 item23;\r
+    typedef T24 item24;\r
+    typedef T25 item25;\r
+    typedef T26 item26;\r
+    typedef T27 item27;\r
+    typedef T28 item28;\r
+    typedef T29 item29;\r
+    typedef T30 item30;\r
+    typedef T31 item31;\r
+    typedef T32 item32;\r
+    typedef T33 item33;\r
+    typedef T34 item34;\r
+    typedef T35 item35;\r
+    typedef T36 item36;\r
+    typedef T37 item37;\r
+    typedef T38 item38;\r
+    typedef T39 item39;\r
+    \r
+\r
+    typedef void_ item40;\r
+    typedef T39 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,40 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<39> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector40<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34, typename Vector::item35\r
+            , typename Vector::item36, typename Vector::item37\r
+            , typename Vector::item38\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<40> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector39<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5, typename Vector::item6\r
+            , typename Vector::item7, typename Vector::item8\r
+            , typename Vector::item9, typename Vector::item10\r
+            , typename Vector::item11, typename Vector::item12\r
+            , typename Vector::item13, typename Vector::item14\r
+            , typename Vector::item15, typename Vector::item16\r
+            , typename Vector::item17, typename Vector::item18\r
+            , typename Vector::item19, typename Vector::item20\r
+            , typename Vector::item21, typename Vector::item22\r
+            , typename Vector::item23, typename Vector::item24\r
+            , typename Vector::item25, typename Vector::item26\r
+            , typename Vector::item27, typename Vector::item28\r
+            , typename Vector::item29, typename Vector::item30\r
+            , typename Vector::item31, typename Vector::item32\r
+            , typename Vector::item33, typename Vector::item34\r
+            , typename Vector::item35, typename Vector::item36\r
+            , typename Vector::item37, typename Vector::item38\r
+            , typename Vector::item39\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<39> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector40<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34, typename Vector::item35\r
+            , typename Vector::item36, typename Vector::item37\r
+            , typename Vector::item38\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<40> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector39<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34, typename Vector::item35\r
+            , typename Vector::item36, typename Vector::item37\r
+            , typename Vector::item38\r
+            > type;\r
+    };\r
+};\r
+\r
+namespace aux {\r
+template<> struct v_at_impl<40>\r
+{\r
+    template< typename V_ > struct result_\r
+    {\r
+        typedef typename V_::item40 type;\r
+    };\r
+};\r
+\r
+}\r
+\r
+template<>\r
+struct at_impl< aux::vector_tag<40> >\r
+{\r
+    template< typename V_, typename N > struct apply\r
+    {\r
+        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>\r
+            ::template result_<V_>::type type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct front_impl< aux::vector_tag<40> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::item0 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct back_impl< aux::vector_tag<40> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::back type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct empty_impl< aux::vector_tag<40> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : false_\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct size_impl< aux::vector_tag<40> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : long_<40>\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct O1_size_impl< aux::vector_tag<40> >\r
+    : size_impl< aux::vector_tag<40> >\r
+{\r
+};\r
+\r
+template<>\r
+struct clear_impl< aux::vector_tag<40> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector0<> type;\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..f248b0d
--- /dev/null
@@ -0,0 +1,281 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/vector/vector40_c.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    >\r
+struct vector31_c\r
+    : vector31<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >\r
+        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >\r
+        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >\r
+        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >\r
+        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >\r
+        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >\r
+        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >\r
+        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >\r
+        , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 > \r
+ >\r
+{\r
+    typedef vector31_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31\r
+    >\r
+struct vector32_c\r
+    : vector32<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >\r
+        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >\r
+        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >\r
+        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >\r
+        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >\r
+        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >\r
+        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >\r
+        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >\r
+        , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >, integral_c<T\r
+        , C31> \r
+ >\r
+{\r
+    typedef vector32_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32\r
+    >\r
+struct vector33_c\r
+    : vector33<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >\r
+        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >\r
+        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >\r
+        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >\r
+        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >\r
+        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >\r
+        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >\r
+        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >\r
+        , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >\r
+        , integral_c< T,C31 >, integral_c< T,C32 > \r
+ >\r
+{\r
+    typedef vector33_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32, T C33\r
+    >\r
+struct vector34_c\r
+    : vector34<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >\r
+        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >\r
+        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >\r
+        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >\r
+        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >\r
+        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >\r
+        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >\r
+        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >\r
+        , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >\r
+        , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 > \r
+ >\r
+{\r
+    typedef vector34_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32, T C33, T C34\r
+    >\r
+struct vector35_c\r
+    : vector35<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >\r
+        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >\r
+        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >\r
+        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >\r
+        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >\r
+        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >\r
+        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >\r
+        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >\r
+        , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >\r
+        , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >, integral_c<T\r
+        , C34> \r
+ >\r
+{\r
+    typedef vector35_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32, T C33, T C34, T C35\r
+    >\r
+struct vector36_c\r
+    : vector36<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >\r
+        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >\r
+        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >\r
+        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >\r
+        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >\r
+        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >\r
+        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >\r
+        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >\r
+        , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >\r
+        , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >\r
+        , integral_c< T,C34 >, integral_c< T,C35 > \r
+ >\r
+{\r
+    typedef vector36_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32, T C33, T C34, T C35, T C36\r
+    >\r
+struct vector37_c\r
+    : vector37<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >\r
+        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >\r
+        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >\r
+        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >\r
+        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >\r
+        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >\r
+        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >\r
+        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >\r
+        , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >\r
+        , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >\r
+        , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 > \r
+ >\r
+{\r
+    typedef vector37_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32, T C33, T C34, T C35, T C36, T C37\r
+    >\r
+struct vector38_c\r
+    : vector38<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >\r
+        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >\r
+        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >\r
+        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >\r
+        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >\r
+        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >\r
+        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >\r
+        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >\r
+        , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >\r
+        , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >\r
+        , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >, integral_c<T\r
+        , C37> \r
+ >\r
+{\r
+    typedef vector38_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38\r
+    >\r
+struct vector39_c\r
+    : vector39<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >\r
+        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >\r
+        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >\r
+        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >\r
+        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >\r
+        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >\r
+        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >\r
+        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >\r
+        , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >\r
+        , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >\r
+        , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >\r
+        , integral_c< T,C37 >, integral_c< T,C38 > \r
+ >\r
+{\r
+    typedef vector39_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39\r
+    >\r
+struct vector40_c\r
+    : vector40<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >\r
+        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >\r
+        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >\r
+        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >\r
+        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >\r
+        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >\r
+        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >\r
+        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >\r
+        , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >\r
+        , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >\r
+        , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >\r
+        , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 > \r
+ >\r
+{\r
+    typedef vector40_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..4de5eab
--- /dev/null
@@ -0,0 +1,2764 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/vector/vector50.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32, typename T33, typename T34\r
+    , typename T35, typename T36, typename T37, typename T38, typename T39\r
+    , typename T40\r
+    >\r
+struct vector41\r
+{\r
+    typedef aux::vector_tag<41> tag;\r
+    typedef vector41 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    typedef T6 item6;\r
+    typedef T7 item7;\r
+    typedef T8 item8;\r
+    typedef T9 item9;\r
+    typedef T10 item10;\r
+    typedef T11 item11;\r
+    typedef T12 item12;\r
+    typedef T13 item13;\r
+    typedef T14 item14;\r
+    typedef T15 item15;\r
+    typedef T16 item16;\r
+    typedef T17 item17;\r
+    typedef T18 item18;\r
+    typedef T19 item19;\r
+    typedef T20 item20;\r
+    typedef T21 item21;\r
+    typedef T22 item22;\r
+    typedef T23 item23;\r
+    typedef T24 item24;\r
+    typedef T25 item25;\r
+    typedef T26 item26;\r
+    typedef T27 item27;\r
+    typedef T28 item28;\r
+    typedef T29 item29;\r
+    typedef T30 item30;\r
+    typedef T31 item31;\r
+    typedef T32 item32;\r
+    typedef T33 item33;\r
+    typedef T34 item34;\r
+    typedef T35 item35;\r
+    typedef T36 item36;\r
+    typedef T37 item37;\r
+    typedef T38 item38;\r
+    typedef T39 item39;\r
+    typedef T40 item40;\r
+    \r
+\r
+    typedef void_ item41;\r
+    typedef T40 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,41 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<40> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector41<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34, typename Vector::item35\r
+            , typename Vector::item36, typename Vector::item37\r
+            , typename Vector::item38, typename Vector::item39\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<41> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector40<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5, typename Vector::item6\r
+            , typename Vector::item7, typename Vector::item8\r
+            , typename Vector::item9, typename Vector::item10\r
+            , typename Vector::item11, typename Vector::item12\r
+            , typename Vector::item13, typename Vector::item14\r
+            , typename Vector::item15, typename Vector::item16\r
+            , typename Vector::item17, typename Vector::item18\r
+            , typename Vector::item19, typename Vector::item20\r
+            , typename Vector::item21, typename Vector::item22\r
+            , typename Vector::item23, typename Vector::item24\r
+            , typename Vector::item25, typename Vector::item26\r
+            , typename Vector::item27, typename Vector::item28\r
+            , typename Vector::item29, typename Vector::item30\r
+            , typename Vector::item31, typename Vector::item32\r
+            , typename Vector::item33, typename Vector::item34\r
+            , typename Vector::item35, typename Vector::item36\r
+            , typename Vector::item37, typename Vector::item38\r
+            , typename Vector::item39, typename Vector::item40\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<40> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector41<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34, typename Vector::item35\r
+            , typename Vector::item36, typename Vector::item37\r
+            , typename Vector::item38, typename Vector::item39\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<41> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector40<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34, typename Vector::item35\r
+            , typename Vector::item36, typename Vector::item37\r
+            , typename Vector::item38, typename Vector::item39\r
+            > type;\r
+    };\r
+};\r
+\r
+namespace aux {\r
+template<> struct v_at_impl<41>\r
+{\r
+    template< typename V_ > struct result_\r
+    {\r
+        typedef typename V_::item41 type;\r
+    };\r
+};\r
+\r
+}\r
+\r
+template<>\r
+struct at_impl< aux::vector_tag<41> >\r
+{\r
+    template< typename V_, typename N > struct apply\r
+    {\r
+        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>\r
+            ::template result_<V_>::type type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct front_impl< aux::vector_tag<41> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::item0 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct back_impl< aux::vector_tag<41> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::back type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct empty_impl< aux::vector_tag<41> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : false_\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct size_impl< aux::vector_tag<41> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : long_<41>\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct O1_size_impl< aux::vector_tag<41> >\r
+    : size_impl< aux::vector_tag<41> >\r
+{\r
+};\r
+\r
+template<>\r
+struct clear_impl< aux::vector_tag<41> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector0<> type;\r
+    };\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32, typename T33, typename T34\r
+    , typename T35, typename T36, typename T37, typename T38, typename T39\r
+    , typename T40, typename T41\r
+    >\r
+struct vector42\r
+{\r
+    typedef aux::vector_tag<42> tag;\r
+    typedef vector42 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    typedef T6 item6;\r
+    typedef T7 item7;\r
+    typedef T8 item8;\r
+    typedef T9 item9;\r
+    typedef T10 item10;\r
+    typedef T11 item11;\r
+    typedef T12 item12;\r
+    typedef T13 item13;\r
+    typedef T14 item14;\r
+    typedef T15 item15;\r
+    typedef T16 item16;\r
+    typedef T17 item17;\r
+    typedef T18 item18;\r
+    typedef T19 item19;\r
+    typedef T20 item20;\r
+    typedef T21 item21;\r
+    typedef T22 item22;\r
+    typedef T23 item23;\r
+    typedef T24 item24;\r
+    typedef T25 item25;\r
+    typedef T26 item26;\r
+    typedef T27 item27;\r
+    typedef T28 item28;\r
+    typedef T29 item29;\r
+    typedef T30 item30;\r
+    typedef T31 item31;\r
+    typedef T32 item32;\r
+    typedef T33 item33;\r
+    typedef T34 item34;\r
+    typedef T35 item35;\r
+    typedef T36 item36;\r
+    typedef T37 item37;\r
+    typedef T38 item38;\r
+    typedef T39 item39;\r
+    typedef T40 item40;\r
+    typedef T41 item41;\r
+    \r
+\r
+    typedef void_ item42;\r
+    typedef T41 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,42 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<41> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector42<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34, typename Vector::item35\r
+            , typename Vector::item36, typename Vector::item37\r
+            , typename Vector::item38, typename Vector::item39\r
+            , typename Vector::item40\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<42> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector41<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5, typename Vector::item6\r
+            , typename Vector::item7, typename Vector::item8\r
+            , typename Vector::item9, typename Vector::item10\r
+            , typename Vector::item11, typename Vector::item12\r
+            , typename Vector::item13, typename Vector::item14\r
+            , typename Vector::item15, typename Vector::item16\r
+            , typename Vector::item17, typename Vector::item18\r
+            , typename Vector::item19, typename Vector::item20\r
+            , typename Vector::item21, typename Vector::item22\r
+            , typename Vector::item23, typename Vector::item24\r
+            , typename Vector::item25, typename Vector::item26\r
+            , typename Vector::item27, typename Vector::item28\r
+            , typename Vector::item29, typename Vector::item30\r
+            , typename Vector::item31, typename Vector::item32\r
+            , typename Vector::item33, typename Vector::item34\r
+            , typename Vector::item35, typename Vector::item36\r
+            , typename Vector::item37, typename Vector::item38\r
+            , typename Vector::item39, typename Vector::item40\r
+            , typename Vector::item41\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<41> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector42<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34, typename Vector::item35\r
+            , typename Vector::item36, typename Vector::item37\r
+            , typename Vector::item38, typename Vector::item39\r
+            , typename Vector::item40\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<42> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector41<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34, typename Vector::item35\r
+            , typename Vector::item36, typename Vector::item37\r
+            , typename Vector::item38, typename Vector::item39\r
+            , typename Vector::item40\r
+            > type;\r
+    };\r
+};\r
+\r
+namespace aux {\r
+template<> struct v_at_impl<42>\r
+{\r
+    template< typename V_ > struct result_\r
+    {\r
+        typedef typename V_::item42 type;\r
+    };\r
+};\r
+\r
+}\r
+\r
+template<>\r
+struct at_impl< aux::vector_tag<42> >\r
+{\r
+    template< typename V_, typename N > struct apply\r
+    {\r
+        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>\r
+            ::template result_<V_>::type type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct front_impl< aux::vector_tag<42> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::item0 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct back_impl< aux::vector_tag<42> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::back type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct empty_impl< aux::vector_tag<42> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : false_\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct size_impl< aux::vector_tag<42> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : long_<42>\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct O1_size_impl< aux::vector_tag<42> >\r
+    : size_impl< aux::vector_tag<42> >\r
+{\r
+};\r
+\r
+template<>\r
+struct clear_impl< aux::vector_tag<42> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector0<> type;\r
+    };\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32, typename T33, typename T34\r
+    , typename T35, typename T36, typename T37, typename T38, typename T39\r
+    , typename T40, typename T41, typename T42\r
+    >\r
+struct vector43\r
+{\r
+    typedef aux::vector_tag<43> tag;\r
+    typedef vector43 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    typedef T6 item6;\r
+    typedef T7 item7;\r
+    typedef T8 item8;\r
+    typedef T9 item9;\r
+    typedef T10 item10;\r
+    typedef T11 item11;\r
+    typedef T12 item12;\r
+    typedef T13 item13;\r
+    typedef T14 item14;\r
+    typedef T15 item15;\r
+    typedef T16 item16;\r
+    typedef T17 item17;\r
+    typedef T18 item18;\r
+    typedef T19 item19;\r
+    typedef T20 item20;\r
+    typedef T21 item21;\r
+    typedef T22 item22;\r
+    typedef T23 item23;\r
+    typedef T24 item24;\r
+    typedef T25 item25;\r
+    typedef T26 item26;\r
+    typedef T27 item27;\r
+    typedef T28 item28;\r
+    typedef T29 item29;\r
+    typedef T30 item30;\r
+    typedef T31 item31;\r
+    typedef T32 item32;\r
+    typedef T33 item33;\r
+    typedef T34 item34;\r
+    typedef T35 item35;\r
+    typedef T36 item36;\r
+    typedef T37 item37;\r
+    typedef T38 item38;\r
+    typedef T39 item39;\r
+    typedef T40 item40;\r
+    typedef T41 item41;\r
+    typedef T42 item42;\r
+    \r
+\r
+    typedef void_ item43;\r
+    typedef T42 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,43 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<42> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector43<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34, typename Vector::item35\r
+            , typename Vector::item36, typename Vector::item37\r
+            , typename Vector::item38, typename Vector::item39\r
+            , typename Vector::item40, typename Vector::item41\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<43> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector42<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5, typename Vector::item6\r
+            , typename Vector::item7, typename Vector::item8\r
+            , typename Vector::item9, typename Vector::item10\r
+            , typename Vector::item11, typename Vector::item12\r
+            , typename Vector::item13, typename Vector::item14\r
+            , typename Vector::item15, typename Vector::item16\r
+            , typename Vector::item17, typename Vector::item18\r
+            , typename Vector::item19, typename Vector::item20\r
+            , typename Vector::item21, typename Vector::item22\r
+            , typename Vector::item23, typename Vector::item24\r
+            , typename Vector::item25, typename Vector::item26\r
+            , typename Vector::item27, typename Vector::item28\r
+            , typename Vector::item29, typename Vector::item30\r
+            , typename Vector::item31, typename Vector::item32\r
+            , typename Vector::item33, typename Vector::item34\r
+            , typename Vector::item35, typename Vector::item36\r
+            , typename Vector::item37, typename Vector::item38\r
+            , typename Vector::item39, typename Vector::item40\r
+            , typename Vector::item41, typename Vector::item42\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<42> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector43<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34, typename Vector::item35\r
+            , typename Vector::item36, typename Vector::item37\r
+            , typename Vector::item38, typename Vector::item39\r
+            , typename Vector::item40, typename Vector::item41\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<43> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector42<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34, typename Vector::item35\r
+            , typename Vector::item36, typename Vector::item37\r
+            , typename Vector::item38, typename Vector::item39\r
+            , typename Vector::item40, typename Vector::item41\r
+            > type;\r
+    };\r
+};\r
+\r
+namespace aux {\r
+template<> struct v_at_impl<43>\r
+{\r
+    template< typename V_ > struct result_\r
+    {\r
+        typedef typename V_::item43 type;\r
+    };\r
+};\r
+\r
+}\r
+\r
+template<>\r
+struct at_impl< aux::vector_tag<43> >\r
+{\r
+    template< typename V_, typename N > struct apply\r
+    {\r
+        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>\r
+            ::template result_<V_>::type type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct front_impl< aux::vector_tag<43> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::item0 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct back_impl< aux::vector_tag<43> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::back type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct empty_impl< aux::vector_tag<43> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : false_\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct size_impl< aux::vector_tag<43> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : long_<43>\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct O1_size_impl< aux::vector_tag<43> >\r
+    : size_impl< aux::vector_tag<43> >\r
+{\r
+};\r
+\r
+template<>\r
+struct clear_impl< aux::vector_tag<43> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector0<> type;\r
+    };\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32, typename T33, typename T34\r
+    , typename T35, typename T36, typename T37, typename T38, typename T39\r
+    , typename T40, typename T41, typename T42, typename T43\r
+    >\r
+struct vector44\r
+{\r
+    typedef aux::vector_tag<44> tag;\r
+    typedef vector44 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    typedef T6 item6;\r
+    typedef T7 item7;\r
+    typedef T8 item8;\r
+    typedef T9 item9;\r
+    typedef T10 item10;\r
+    typedef T11 item11;\r
+    typedef T12 item12;\r
+    typedef T13 item13;\r
+    typedef T14 item14;\r
+    typedef T15 item15;\r
+    typedef T16 item16;\r
+    typedef T17 item17;\r
+    typedef T18 item18;\r
+    typedef T19 item19;\r
+    typedef T20 item20;\r
+    typedef T21 item21;\r
+    typedef T22 item22;\r
+    typedef T23 item23;\r
+    typedef T24 item24;\r
+    typedef T25 item25;\r
+    typedef T26 item26;\r
+    typedef T27 item27;\r
+    typedef T28 item28;\r
+    typedef T29 item29;\r
+    typedef T30 item30;\r
+    typedef T31 item31;\r
+    typedef T32 item32;\r
+    typedef T33 item33;\r
+    typedef T34 item34;\r
+    typedef T35 item35;\r
+    typedef T36 item36;\r
+    typedef T37 item37;\r
+    typedef T38 item38;\r
+    typedef T39 item39;\r
+    typedef T40 item40;\r
+    typedef T41 item41;\r
+    typedef T42 item42;\r
+    typedef T43 item43;\r
+    \r
+\r
+    typedef void_ item44;\r
+    typedef T43 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,44 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<43> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector44<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34, typename Vector::item35\r
+            , typename Vector::item36, typename Vector::item37\r
+            , typename Vector::item38, typename Vector::item39\r
+            , typename Vector::item40, typename Vector::item41\r
+            , typename Vector::item42\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<44> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector43<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5, typename Vector::item6\r
+            , typename Vector::item7, typename Vector::item8\r
+            , typename Vector::item9, typename Vector::item10\r
+            , typename Vector::item11, typename Vector::item12\r
+            , typename Vector::item13, typename Vector::item14\r
+            , typename Vector::item15, typename Vector::item16\r
+            , typename Vector::item17, typename Vector::item18\r
+            , typename Vector::item19, typename Vector::item20\r
+            , typename Vector::item21, typename Vector::item22\r
+            , typename Vector::item23, typename Vector::item24\r
+            , typename Vector::item25, typename Vector::item26\r
+            , typename Vector::item27, typename Vector::item28\r
+            , typename Vector::item29, typename Vector::item30\r
+            , typename Vector::item31, typename Vector::item32\r
+            , typename Vector::item33, typename Vector::item34\r
+            , typename Vector::item35, typename Vector::item36\r
+            , typename Vector::item37, typename Vector::item38\r
+            , typename Vector::item39, typename Vector::item40\r
+            , typename Vector::item41, typename Vector::item42\r
+            , typename Vector::item43\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<43> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector44<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34, typename Vector::item35\r
+            , typename Vector::item36, typename Vector::item37\r
+            , typename Vector::item38, typename Vector::item39\r
+            , typename Vector::item40, typename Vector::item41\r
+            , typename Vector::item42\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<44> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector43<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34, typename Vector::item35\r
+            , typename Vector::item36, typename Vector::item37\r
+            , typename Vector::item38, typename Vector::item39\r
+            , typename Vector::item40, typename Vector::item41\r
+            , typename Vector::item42\r
+            > type;\r
+    };\r
+};\r
+\r
+namespace aux {\r
+template<> struct v_at_impl<44>\r
+{\r
+    template< typename V_ > struct result_\r
+    {\r
+        typedef typename V_::item44 type;\r
+    };\r
+};\r
+\r
+}\r
+\r
+template<>\r
+struct at_impl< aux::vector_tag<44> >\r
+{\r
+    template< typename V_, typename N > struct apply\r
+    {\r
+        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>\r
+            ::template result_<V_>::type type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct front_impl< aux::vector_tag<44> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::item0 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct back_impl< aux::vector_tag<44> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::back type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct empty_impl< aux::vector_tag<44> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : false_\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct size_impl< aux::vector_tag<44> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : long_<44>\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct O1_size_impl< aux::vector_tag<44> >\r
+    : size_impl< aux::vector_tag<44> >\r
+{\r
+};\r
+\r
+template<>\r
+struct clear_impl< aux::vector_tag<44> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector0<> type;\r
+    };\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32, typename T33, typename T34\r
+    , typename T35, typename T36, typename T37, typename T38, typename T39\r
+    , typename T40, typename T41, typename T42, typename T43, typename T44\r
+    >\r
+struct vector45\r
+{\r
+    typedef aux::vector_tag<45> tag;\r
+    typedef vector45 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    typedef T6 item6;\r
+    typedef T7 item7;\r
+    typedef T8 item8;\r
+    typedef T9 item9;\r
+    typedef T10 item10;\r
+    typedef T11 item11;\r
+    typedef T12 item12;\r
+    typedef T13 item13;\r
+    typedef T14 item14;\r
+    typedef T15 item15;\r
+    typedef T16 item16;\r
+    typedef T17 item17;\r
+    typedef T18 item18;\r
+    typedef T19 item19;\r
+    typedef T20 item20;\r
+    typedef T21 item21;\r
+    typedef T22 item22;\r
+    typedef T23 item23;\r
+    typedef T24 item24;\r
+    typedef T25 item25;\r
+    typedef T26 item26;\r
+    typedef T27 item27;\r
+    typedef T28 item28;\r
+    typedef T29 item29;\r
+    typedef T30 item30;\r
+    typedef T31 item31;\r
+    typedef T32 item32;\r
+    typedef T33 item33;\r
+    typedef T34 item34;\r
+    typedef T35 item35;\r
+    typedef T36 item36;\r
+    typedef T37 item37;\r
+    typedef T38 item38;\r
+    typedef T39 item39;\r
+    typedef T40 item40;\r
+    typedef T41 item41;\r
+    typedef T42 item42;\r
+    typedef T43 item43;\r
+    typedef T44 item44;\r
+    \r
+\r
+    typedef void_ item45;\r
+    typedef T44 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,45 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<44> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector45<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34, typename Vector::item35\r
+            , typename Vector::item36, typename Vector::item37\r
+            , typename Vector::item38, typename Vector::item39\r
+            , typename Vector::item40, typename Vector::item41\r
+            , typename Vector::item42, typename Vector::item43\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<45> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector44<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5, typename Vector::item6\r
+            , typename Vector::item7, typename Vector::item8\r
+            , typename Vector::item9, typename Vector::item10\r
+            , typename Vector::item11, typename Vector::item12\r
+            , typename Vector::item13, typename Vector::item14\r
+            , typename Vector::item15, typename Vector::item16\r
+            , typename Vector::item17, typename Vector::item18\r
+            , typename Vector::item19, typename Vector::item20\r
+            , typename Vector::item21, typename Vector::item22\r
+            , typename Vector::item23, typename Vector::item24\r
+            , typename Vector::item25, typename Vector::item26\r
+            , typename Vector::item27, typename Vector::item28\r
+            , typename Vector::item29, typename Vector::item30\r
+            , typename Vector::item31, typename Vector::item32\r
+            , typename Vector::item33, typename Vector::item34\r
+            , typename Vector::item35, typename Vector::item36\r
+            , typename Vector::item37, typename Vector::item38\r
+            , typename Vector::item39, typename Vector::item40\r
+            , typename Vector::item41, typename Vector::item42\r
+            , typename Vector::item43, typename Vector::item44\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<44> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector45<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34, typename Vector::item35\r
+            , typename Vector::item36, typename Vector::item37\r
+            , typename Vector::item38, typename Vector::item39\r
+            , typename Vector::item40, typename Vector::item41\r
+            , typename Vector::item42, typename Vector::item43\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<45> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector44<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34, typename Vector::item35\r
+            , typename Vector::item36, typename Vector::item37\r
+            , typename Vector::item38, typename Vector::item39\r
+            , typename Vector::item40, typename Vector::item41\r
+            , typename Vector::item42, typename Vector::item43\r
+            > type;\r
+    };\r
+};\r
+\r
+namespace aux {\r
+template<> struct v_at_impl<45>\r
+{\r
+    template< typename V_ > struct result_\r
+    {\r
+        typedef typename V_::item45 type;\r
+    };\r
+};\r
+\r
+}\r
+\r
+template<>\r
+struct at_impl< aux::vector_tag<45> >\r
+{\r
+    template< typename V_, typename N > struct apply\r
+    {\r
+        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>\r
+            ::template result_<V_>::type type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct front_impl< aux::vector_tag<45> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::item0 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct back_impl< aux::vector_tag<45> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::back type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct empty_impl< aux::vector_tag<45> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : false_\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct size_impl< aux::vector_tag<45> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : long_<45>\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct O1_size_impl< aux::vector_tag<45> >\r
+    : size_impl< aux::vector_tag<45> >\r
+{\r
+};\r
+\r
+template<>\r
+struct clear_impl< aux::vector_tag<45> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector0<> type;\r
+    };\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32, typename T33, typename T34\r
+    , typename T35, typename T36, typename T37, typename T38, typename T39\r
+    , typename T40, typename T41, typename T42, typename T43, typename T44\r
+    , typename T45\r
+    >\r
+struct vector46\r
+{\r
+    typedef aux::vector_tag<46> tag;\r
+    typedef vector46 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    typedef T6 item6;\r
+    typedef T7 item7;\r
+    typedef T8 item8;\r
+    typedef T9 item9;\r
+    typedef T10 item10;\r
+    typedef T11 item11;\r
+    typedef T12 item12;\r
+    typedef T13 item13;\r
+    typedef T14 item14;\r
+    typedef T15 item15;\r
+    typedef T16 item16;\r
+    typedef T17 item17;\r
+    typedef T18 item18;\r
+    typedef T19 item19;\r
+    typedef T20 item20;\r
+    typedef T21 item21;\r
+    typedef T22 item22;\r
+    typedef T23 item23;\r
+    typedef T24 item24;\r
+    typedef T25 item25;\r
+    typedef T26 item26;\r
+    typedef T27 item27;\r
+    typedef T28 item28;\r
+    typedef T29 item29;\r
+    typedef T30 item30;\r
+    typedef T31 item31;\r
+    typedef T32 item32;\r
+    typedef T33 item33;\r
+    typedef T34 item34;\r
+    typedef T35 item35;\r
+    typedef T36 item36;\r
+    typedef T37 item37;\r
+    typedef T38 item38;\r
+    typedef T39 item39;\r
+    typedef T40 item40;\r
+    typedef T41 item41;\r
+    typedef T42 item42;\r
+    typedef T43 item43;\r
+    typedef T44 item44;\r
+    typedef T45 item45;\r
+    \r
+\r
+    typedef void_ item46;\r
+    typedef T45 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,46 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<45> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector46<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34, typename Vector::item35\r
+            , typename Vector::item36, typename Vector::item37\r
+            , typename Vector::item38, typename Vector::item39\r
+            , typename Vector::item40, typename Vector::item41\r
+            , typename Vector::item42, typename Vector::item43\r
+            , typename Vector::item44\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<46> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector45<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5, typename Vector::item6\r
+            , typename Vector::item7, typename Vector::item8\r
+            , typename Vector::item9, typename Vector::item10\r
+            , typename Vector::item11, typename Vector::item12\r
+            , typename Vector::item13, typename Vector::item14\r
+            , typename Vector::item15, typename Vector::item16\r
+            , typename Vector::item17, typename Vector::item18\r
+            , typename Vector::item19, typename Vector::item20\r
+            , typename Vector::item21, typename Vector::item22\r
+            , typename Vector::item23, typename Vector::item24\r
+            , typename Vector::item25, typename Vector::item26\r
+            , typename Vector::item27, typename Vector::item28\r
+            , typename Vector::item29, typename Vector::item30\r
+            , typename Vector::item31, typename Vector::item32\r
+            , typename Vector::item33, typename Vector::item34\r
+            , typename Vector::item35, typename Vector::item36\r
+            , typename Vector::item37, typename Vector::item38\r
+            , typename Vector::item39, typename Vector::item40\r
+            , typename Vector::item41, typename Vector::item42\r
+            , typename Vector::item43, typename Vector::item44\r
+            , typename Vector::item45\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<45> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector46<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34, typename Vector::item35\r
+            , typename Vector::item36, typename Vector::item37\r
+            , typename Vector::item38, typename Vector::item39\r
+            , typename Vector::item40, typename Vector::item41\r
+            , typename Vector::item42, typename Vector::item43\r
+            , typename Vector::item44\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<46> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector45<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34, typename Vector::item35\r
+            , typename Vector::item36, typename Vector::item37\r
+            , typename Vector::item38, typename Vector::item39\r
+            , typename Vector::item40, typename Vector::item41\r
+            , typename Vector::item42, typename Vector::item43\r
+            , typename Vector::item44\r
+            > type;\r
+    };\r
+};\r
+\r
+namespace aux {\r
+template<> struct v_at_impl<46>\r
+{\r
+    template< typename V_ > struct result_\r
+    {\r
+        typedef typename V_::item46 type;\r
+    };\r
+};\r
+\r
+}\r
+\r
+template<>\r
+struct at_impl< aux::vector_tag<46> >\r
+{\r
+    template< typename V_, typename N > struct apply\r
+    {\r
+        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>\r
+            ::template result_<V_>::type type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct front_impl< aux::vector_tag<46> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::item0 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct back_impl< aux::vector_tag<46> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::back type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct empty_impl< aux::vector_tag<46> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : false_\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct size_impl< aux::vector_tag<46> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : long_<46>\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct O1_size_impl< aux::vector_tag<46> >\r
+    : size_impl< aux::vector_tag<46> >\r
+{\r
+};\r
+\r
+template<>\r
+struct clear_impl< aux::vector_tag<46> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector0<> type;\r
+    };\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32, typename T33, typename T34\r
+    , typename T35, typename T36, typename T37, typename T38, typename T39\r
+    , typename T40, typename T41, typename T42, typename T43, typename T44\r
+    , typename T45, typename T46\r
+    >\r
+struct vector47\r
+{\r
+    typedef aux::vector_tag<47> tag;\r
+    typedef vector47 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    typedef T6 item6;\r
+    typedef T7 item7;\r
+    typedef T8 item8;\r
+    typedef T9 item9;\r
+    typedef T10 item10;\r
+    typedef T11 item11;\r
+    typedef T12 item12;\r
+    typedef T13 item13;\r
+    typedef T14 item14;\r
+    typedef T15 item15;\r
+    typedef T16 item16;\r
+    typedef T17 item17;\r
+    typedef T18 item18;\r
+    typedef T19 item19;\r
+    typedef T20 item20;\r
+    typedef T21 item21;\r
+    typedef T22 item22;\r
+    typedef T23 item23;\r
+    typedef T24 item24;\r
+    typedef T25 item25;\r
+    typedef T26 item26;\r
+    typedef T27 item27;\r
+    typedef T28 item28;\r
+    typedef T29 item29;\r
+    typedef T30 item30;\r
+    typedef T31 item31;\r
+    typedef T32 item32;\r
+    typedef T33 item33;\r
+    typedef T34 item34;\r
+    typedef T35 item35;\r
+    typedef T36 item36;\r
+    typedef T37 item37;\r
+    typedef T38 item38;\r
+    typedef T39 item39;\r
+    typedef T40 item40;\r
+    typedef T41 item41;\r
+    typedef T42 item42;\r
+    typedef T43 item43;\r
+    typedef T44 item44;\r
+    typedef T45 item45;\r
+    typedef T46 item46;\r
+    \r
+\r
+    typedef void_ item47;\r
+    typedef T46 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,47 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<46> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector47<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34, typename Vector::item35\r
+            , typename Vector::item36, typename Vector::item37\r
+            , typename Vector::item38, typename Vector::item39\r
+            , typename Vector::item40, typename Vector::item41\r
+            , typename Vector::item42, typename Vector::item43\r
+            , typename Vector::item44, typename Vector::item45\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<47> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector46<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5, typename Vector::item6\r
+            , typename Vector::item7, typename Vector::item8\r
+            , typename Vector::item9, typename Vector::item10\r
+            , typename Vector::item11, typename Vector::item12\r
+            , typename Vector::item13, typename Vector::item14\r
+            , typename Vector::item15, typename Vector::item16\r
+            , typename Vector::item17, typename Vector::item18\r
+            , typename Vector::item19, typename Vector::item20\r
+            , typename Vector::item21, typename Vector::item22\r
+            , typename Vector::item23, typename Vector::item24\r
+            , typename Vector::item25, typename Vector::item26\r
+            , typename Vector::item27, typename Vector::item28\r
+            , typename Vector::item29, typename Vector::item30\r
+            , typename Vector::item31, typename Vector::item32\r
+            , typename Vector::item33, typename Vector::item34\r
+            , typename Vector::item35, typename Vector::item36\r
+            , typename Vector::item37, typename Vector::item38\r
+            , typename Vector::item39, typename Vector::item40\r
+            , typename Vector::item41, typename Vector::item42\r
+            , typename Vector::item43, typename Vector::item44\r
+            , typename Vector::item45, typename Vector::item46\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<46> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector47<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34, typename Vector::item35\r
+            , typename Vector::item36, typename Vector::item37\r
+            , typename Vector::item38, typename Vector::item39\r
+            , typename Vector::item40, typename Vector::item41\r
+            , typename Vector::item42, typename Vector::item43\r
+            , typename Vector::item44, typename Vector::item45\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<47> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector46<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34, typename Vector::item35\r
+            , typename Vector::item36, typename Vector::item37\r
+            , typename Vector::item38, typename Vector::item39\r
+            , typename Vector::item40, typename Vector::item41\r
+            , typename Vector::item42, typename Vector::item43\r
+            , typename Vector::item44, typename Vector::item45\r
+            > type;\r
+    };\r
+};\r
+\r
+namespace aux {\r
+template<> struct v_at_impl<47>\r
+{\r
+    template< typename V_ > struct result_\r
+    {\r
+        typedef typename V_::item47 type;\r
+    };\r
+};\r
+\r
+}\r
+\r
+template<>\r
+struct at_impl< aux::vector_tag<47> >\r
+{\r
+    template< typename V_, typename N > struct apply\r
+    {\r
+        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>\r
+            ::template result_<V_>::type type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct front_impl< aux::vector_tag<47> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::item0 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct back_impl< aux::vector_tag<47> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::back type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct empty_impl< aux::vector_tag<47> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : false_\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct size_impl< aux::vector_tag<47> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : long_<47>\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct O1_size_impl< aux::vector_tag<47> >\r
+    : size_impl< aux::vector_tag<47> >\r
+{\r
+};\r
+\r
+template<>\r
+struct clear_impl< aux::vector_tag<47> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector0<> type;\r
+    };\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32, typename T33, typename T34\r
+    , typename T35, typename T36, typename T37, typename T38, typename T39\r
+    , typename T40, typename T41, typename T42, typename T43, typename T44\r
+    , typename T45, typename T46, typename T47\r
+    >\r
+struct vector48\r
+{\r
+    typedef aux::vector_tag<48> tag;\r
+    typedef vector48 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    typedef T6 item6;\r
+    typedef T7 item7;\r
+    typedef T8 item8;\r
+    typedef T9 item9;\r
+    typedef T10 item10;\r
+    typedef T11 item11;\r
+    typedef T12 item12;\r
+    typedef T13 item13;\r
+    typedef T14 item14;\r
+    typedef T15 item15;\r
+    typedef T16 item16;\r
+    typedef T17 item17;\r
+    typedef T18 item18;\r
+    typedef T19 item19;\r
+    typedef T20 item20;\r
+    typedef T21 item21;\r
+    typedef T22 item22;\r
+    typedef T23 item23;\r
+    typedef T24 item24;\r
+    typedef T25 item25;\r
+    typedef T26 item26;\r
+    typedef T27 item27;\r
+    typedef T28 item28;\r
+    typedef T29 item29;\r
+    typedef T30 item30;\r
+    typedef T31 item31;\r
+    typedef T32 item32;\r
+    typedef T33 item33;\r
+    typedef T34 item34;\r
+    typedef T35 item35;\r
+    typedef T36 item36;\r
+    typedef T37 item37;\r
+    typedef T38 item38;\r
+    typedef T39 item39;\r
+    typedef T40 item40;\r
+    typedef T41 item41;\r
+    typedef T42 item42;\r
+    typedef T43 item43;\r
+    typedef T44 item44;\r
+    typedef T45 item45;\r
+    typedef T46 item46;\r
+    typedef T47 item47;\r
+    \r
+\r
+    typedef void_ item48;\r
+    typedef T47 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,48 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<47> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector48<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34, typename Vector::item35\r
+            , typename Vector::item36, typename Vector::item37\r
+            , typename Vector::item38, typename Vector::item39\r
+            , typename Vector::item40, typename Vector::item41\r
+            , typename Vector::item42, typename Vector::item43\r
+            , typename Vector::item44, typename Vector::item45\r
+            , typename Vector::item46\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<48> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector47<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5, typename Vector::item6\r
+            , typename Vector::item7, typename Vector::item8\r
+            , typename Vector::item9, typename Vector::item10\r
+            , typename Vector::item11, typename Vector::item12\r
+            , typename Vector::item13, typename Vector::item14\r
+            , typename Vector::item15, typename Vector::item16\r
+            , typename Vector::item17, typename Vector::item18\r
+            , typename Vector::item19, typename Vector::item20\r
+            , typename Vector::item21, typename Vector::item22\r
+            , typename Vector::item23, typename Vector::item24\r
+            , typename Vector::item25, typename Vector::item26\r
+            , typename Vector::item27, typename Vector::item28\r
+            , typename Vector::item29, typename Vector::item30\r
+            , typename Vector::item31, typename Vector::item32\r
+            , typename Vector::item33, typename Vector::item34\r
+            , typename Vector::item35, typename Vector::item36\r
+            , typename Vector::item37, typename Vector::item38\r
+            , typename Vector::item39, typename Vector::item40\r
+            , typename Vector::item41, typename Vector::item42\r
+            , typename Vector::item43, typename Vector::item44\r
+            , typename Vector::item45, typename Vector::item46\r
+            , typename Vector::item47\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<47> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector48<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34, typename Vector::item35\r
+            , typename Vector::item36, typename Vector::item37\r
+            , typename Vector::item38, typename Vector::item39\r
+            , typename Vector::item40, typename Vector::item41\r
+            , typename Vector::item42, typename Vector::item43\r
+            , typename Vector::item44, typename Vector::item45\r
+            , typename Vector::item46\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<48> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector47<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34, typename Vector::item35\r
+            , typename Vector::item36, typename Vector::item37\r
+            , typename Vector::item38, typename Vector::item39\r
+            , typename Vector::item40, typename Vector::item41\r
+            , typename Vector::item42, typename Vector::item43\r
+            , typename Vector::item44, typename Vector::item45\r
+            , typename Vector::item46\r
+            > type;\r
+    };\r
+};\r
+\r
+namespace aux {\r
+template<> struct v_at_impl<48>\r
+{\r
+    template< typename V_ > struct result_\r
+    {\r
+        typedef typename V_::item48 type;\r
+    };\r
+};\r
+\r
+}\r
+\r
+template<>\r
+struct at_impl< aux::vector_tag<48> >\r
+{\r
+    template< typename V_, typename N > struct apply\r
+    {\r
+        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>\r
+            ::template result_<V_>::type type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct front_impl< aux::vector_tag<48> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::item0 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct back_impl< aux::vector_tag<48> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::back type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct empty_impl< aux::vector_tag<48> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : false_\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct size_impl< aux::vector_tag<48> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : long_<48>\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct O1_size_impl< aux::vector_tag<48> >\r
+    : size_impl< aux::vector_tag<48> >\r
+{\r
+};\r
+\r
+template<>\r
+struct clear_impl< aux::vector_tag<48> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector0<> type;\r
+    };\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32, typename T33, typename T34\r
+    , typename T35, typename T36, typename T37, typename T38, typename T39\r
+    , typename T40, typename T41, typename T42, typename T43, typename T44\r
+    , typename T45, typename T46, typename T47, typename T48\r
+    >\r
+struct vector49\r
+{\r
+    typedef aux::vector_tag<49> tag;\r
+    typedef vector49 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    typedef T6 item6;\r
+    typedef T7 item7;\r
+    typedef T8 item8;\r
+    typedef T9 item9;\r
+    typedef T10 item10;\r
+    typedef T11 item11;\r
+    typedef T12 item12;\r
+    typedef T13 item13;\r
+    typedef T14 item14;\r
+    typedef T15 item15;\r
+    typedef T16 item16;\r
+    typedef T17 item17;\r
+    typedef T18 item18;\r
+    typedef T19 item19;\r
+    typedef T20 item20;\r
+    typedef T21 item21;\r
+    typedef T22 item22;\r
+    typedef T23 item23;\r
+    typedef T24 item24;\r
+    typedef T25 item25;\r
+    typedef T26 item26;\r
+    typedef T27 item27;\r
+    typedef T28 item28;\r
+    typedef T29 item29;\r
+    typedef T30 item30;\r
+    typedef T31 item31;\r
+    typedef T32 item32;\r
+    typedef T33 item33;\r
+    typedef T34 item34;\r
+    typedef T35 item35;\r
+    typedef T36 item36;\r
+    typedef T37 item37;\r
+    typedef T38 item38;\r
+    typedef T39 item39;\r
+    typedef T40 item40;\r
+    typedef T41 item41;\r
+    typedef T42 item42;\r
+    typedef T43 item43;\r
+    typedef T44 item44;\r
+    typedef T45 item45;\r
+    typedef T46 item46;\r
+    typedef T47 item47;\r
+    typedef T48 item48;\r
+    \r
+\r
+    typedef void_ item49;\r
+    typedef T48 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,49 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<48> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector49<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34, typename Vector::item35\r
+            , typename Vector::item36, typename Vector::item37\r
+            , typename Vector::item38, typename Vector::item39\r
+            , typename Vector::item40, typename Vector::item41\r
+            , typename Vector::item42, typename Vector::item43\r
+            , typename Vector::item44, typename Vector::item45\r
+            , typename Vector::item46, typename Vector::item47\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<49> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector48<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5, typename Vector::item6\r
+            , typename Vector::item7, typename Vector::item8\r
+            , typename Vector::item9, typename Vector::item10\r
+            , typename Vector::item11, typename Vector::item12\r
+            , typename Vector::item13, typename Vector::item14\r
+            , typename Vector::item15, typename Vector::item16\r
+            , typename Vector::item17, typename Vector::item18\r
+            , typename Vector::item19, typename Vector::item20\r
+            , typename Vector::item21, typename Vector::item22\r
+            , typename Vector::item23, typename Vector::item24\r
+            , typename Vector::item25, typename Vector::item26\r
+            , typename Vector::item27, typename Vector::item28\r
+            , typename Vector::item29, typename Vector::item30\r
+            , typename Vector::item31, typename Vector::item32\r
+            , typename Vector::item33, typename Vector::item34\r
+            , typename Vector::item35, typename Vector::item36\r
+            , typename Vector::item37, typename Vector::item38\r
+            , typename Vector::item39, typename Vector::item40\r
+            , typename Vector::item41, typename Vector::item42\r
+            , typename Vector::item43, typename Vector::item44\r
+            , typename Vector::item45, typename Vector::item46\r
+            , typename Vector::item47, typename Vector::item48\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<48> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector49<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34, typename Vector::item35\r
+            , typename Vector::item36, typename Vector::item37\r
+            , typename Vector::item38, typename Vector::item39\r
+            , typename Vector::item40, typename Vector::item41\r
+            , typename Vector::item42, typename Vector::item43\r
+            , typename Vector::item44, typename Vector::item45\r
+            , typename Vector::item46, typename Vector::item47\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<49> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector48<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34, typename Vector::item35\r
+            , typename Vector::item36, typename Vector::item37\r
+            , typename Vector::item38, typename Vector::item39\r
+            , typename Vector::item40, typename Vector::item41\r
+            , typename Vector::item42, typename Vector::item43\r
+            , typename Vector::item44, typename Vector::item45\r
+            , typename Vector::item46, typename Vector::item47\r
+            > type;\r
+    };\r
+};\r
+\r
+namespace aux {\r
+template<> struct v_at_impl<49>\r
+{\r
+    template< typename V_ > struct result_\r
+    {\r
+        typedef typename V_::item49 type;\r
+    };\r
+};\r
+\r
+}\r
+\r
+template<>\r
+struct at_impl< aux::vector_tag<49> >\r
+{\r
+    template< typename V_, typename N > struct apply\r
+    {\r
+        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>\r
+            ::template result_<V_>::type type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct front_impl< aux::vector_tag<49> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::item0 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct back_impl< aux::vector_tag<49> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::back type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct empty_impl< aux::vector_tag<49> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : false_\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct size_impl< aux::vector_tag<49> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : long_<49>\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct O1_size_impl< aux::vector_tag<49> >\r
+    : size_impl< aux::vector_tag<49> >\r
+{\r
+};\r
+\r
+template<>\r
+struct clear_impl< aux::vector_tag<49> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector0<> type;\r
+    };\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32, typename T33, typename T34\r
+    , typename T35, typename T36, typename T37, typename T38, typename T39\r
+    , typename T40, typename T41, typename T42, typename T43, typename T44\r
+    , typename T45, typename T46, typename T47, typename T48, typename T49\r
+    >\r
+struct vector50\r
+{\r
+    typedef aux::vector_tag<50> tag;\r
+    typedef vector50 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    typedef T6 item6;\r
+    typedef T7 item7;\r
+    typedef T8 item8;\r
+    typedef T9 item9;\r
+    typedef T10 item10;\r
+    typedef T11 item11;\r
+    typedef T12 item12;\r
+    typedef T13 item13;\r
+    typedef T14 item14;\r
+    typedef T15 item15;\r
+    typedef T16 item16;\r
+    typedef T17 item17;\r
+    typedef T18 item18;\r
+    typedef T19 item19;\r
+    typedef T20 item20;\r
+    typedef T21 item21;\r
+    typedef T22 item22;\r
+    typedef T23 item23;\r
+    typedef T24 item24;\r
+    typedef T25 item25;\r
+    typedef T26 item26;\r
+    typedef T27 item27;\r
+    typedef T28 item28;\r
+    typedef T29 item29;\r
+    typedef T30 item30;\r
+    typedef T31 item31;\r
+    typedef T32 item32;\r
+    typedef T33 item33;\r
+    typedef T34 item34;\r
+    typedef T35 item35;\r
+    typedef T36 item36;\r
+    typedef T37 item37;\r
+    typedef T38 item38;\r
+    typedef T39 item39;\r
+    typedef T40 item40;\r
+    typedef T41 item41;\r
+    typedef T42 item42;\r
+    typedef T43 item43;\r
+    typedef T44 item44;\r
+    typedef T45 item45;\r
+    typedef T46 item46;\r
+    typedef T47 item47;\r
+    typedef T48 item48;\r
+    typedef T49 item49;\r
+    \r
+\r
+    typedef void_ item50;\r
+    typedef T49 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,50 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<49> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector50<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34, typename Vector::item35\r
+            , typename Vector::item36, typename Vector::item37\r
+            , typename Vector::item38, typename Vector::item39\r
+            , typename Vector::item40, typename Vector::item41\r
+            , typename Vector::item42, typename Vector::item43\r
+            , typename Vector::item44, typename Vector::item45\r
+            , typename Vector::item46, typename Vector::item47\r
+            , typename Vector::item48\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<50> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector49<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5, typename Vector::item6\r
+            , typename Vector::item7, typename Vector::item8\r
+            , typename Vector::item9, typename Vector::item10\r
+            , typename Vector::item11, typename Vector::item12\r
+            , typename Vector::item13, typename Vector::item14\r
+            , typename Vector::item15, typename Vector::item16\r
+            , typename Vector::item17, typename Vector::item18\r
+            , typename Vector::item19, typename Vector::item20\r
+            , typename Vector::item21, typename Vector::item22\r
+            , typename Vector::item23, typename Vector::item24\r
+            , typename Vector::item25, typename Vector::item26\r
+            , typename Vector::item27, typename Vector::item28\r
+            , typename Vector::item29, typename Vector::item30\r
+            , typename Vector::item31, typename Vector::item32\r
+            , typename Vector::item33, typename Vector::item34\r
+            , typename Vector::item35, typename Vector::item36\r
+            , typename Vector::item37, typename Vector::item38\r
+            , typename Vector::item39, typename Vector::item40\r
+            , typename Vector::item41, typename Vector::item42\r
+            , typename Vector::item43, typename Vector::item44\r
+            , typename Vector::item45, typename Vector::item46\r
+            , typename Vector::item47, typename Vector::item48\r
+            , typename Vector::item49\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<49> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector50<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34, typename Vector::item35\r
+            , typename Vector::item36, typename Vector::item37\r
+            , typename Vector::item38, typename Vector::item39\r
+            , typename Vector::item40, typename Vector::item41\r
+            , typename Vector::item42, typename Vector::item43\r
+            , typename Vector::item44, typename Vector::item45\r
+            , typename Vector::item46, typename Vector::item47\r
+            , typename Vector::item48\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<50> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector49<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34, typename Vector::item35\r
+            , typename Vector::item36, typename Vector::item37\r
+            , typename Vector::item38, typename Vector::item39\r
+            , typename Vector::item40, typename Vector::item41\r
+            , typename Vector::item42, typename Vector::item43\r
+            , typename Vector::item44, typename Vector::item45\r
+            , typename Vector::item46, typename Vector::item47\r
+            , typename Vector::item48\r
+            > type;\r
+    };\r
+};\r
+\r
+namespace aux {\r
+template<> struct v_at_impl<50>\r
+{\r
+    template< typename V_ > struct result_\r
+    {\r
+        typedef typename V_::item50 type;\r
+    };\r
+};\r
+\r
+}\r
+\r
+template<>\r
+struct at_impl< aux::vector_tag<50> >\r
+{\r
+    template< typename V_, typename N > struct apply\r
+    {\r
+        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>\r
+            ::template result_<V_>::type type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct front_impl< aux::vector_tag<50> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::item0 type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct back_impl< aux::vector_tag<50> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef typename Vector::back type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct empty_impl< aux::vector_tag<50> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : false_\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct size_impl< aux::vector_tag<50> >\r
+{\r
+    template< typename Vector > struct apply\r
+        : long_<50>\r
+    {\r
+    };\r
+};\r
+\r
+template<>\r
+struct O1_size_impl< aux::vector_tag<50> >\r
+    : size_impl< aux::vector_tag<50> >\r
+{\r
+};\r
+\r
+template<>\r
+struct clear_impl< aux::vector_tag<50> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector0<> type;\r
+    };\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..4d09834
--- /dev/null
@@ -0,0 +1,325 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/vector/vector50_c.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40\r
+    >\r
+struct vector41_c\r
+    : vector41<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >\r
+        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >\r
+        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >\r
+        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >\r
+        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >\r
+        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >\r
+        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >\r
+        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >\r
+        , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >\r
+        , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >\r
+        , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >\r
+        , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 >, integral_c<T\r
+        , C40> \r
+ >\r
+{\r
+    typedef vector41_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40\r
+    , T C41\r
+    >\r
+struct vector42_c\r
+    : vector42<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >\r
+        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >\r
+        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >\r
+        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >\r
+        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >\r
+        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >\r
+        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >\r
+        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >\r
+        , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >\r
+        , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >\r
+        , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >\r
+        , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 >\r
+        , integral_c< T,C40 >, integral_c< T,C41 > \r
+ >\r
+{\r
+    typedef vector42_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40\r
+    , T C41, T C42\r
+    >\r
+struct vector43_c\r
+    : vector43<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >\r
+        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >\r
+        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >\r
+        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >\r
+        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >\r
+        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >\r
+        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >\r
+        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >\r
+        , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >\r
+        , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >\r
+        , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >\r
+        , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 >\r
+        , integral_c< T,C40 >, integral_c< T,C41 >, integral_c< T,C42 > \r
+ >\r
+{\r
+    typedef vector43_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40\r
+    , T C41, T C42, T C43\r
+    >\r
+struct vector44_c\r
+    : vector44<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >\r
+        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >\r
+        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >\r
+        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >\r
+        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >\r
+        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >\r
+        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >\r
+        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >\r
+        , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >\r
+        , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >\r
+        , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >\r
+        , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 >\r
+        , integral_c< T,C40 >, integral_c< T,C41 >, integral_c< T,C42 >, integral_c<T\r
+        , C43> \r
+ >\r
+{\r
+    typedef vector44_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40\r
+    , T C41, T C42, T C43, T C44\r
+    >\r
+struct vector45_c\r
+    : vector45<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >\r
+        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >\r
+        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >\r
+        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >\r
+        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >\r
+        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >\r
+        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >\r
+        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >\r
+        , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >\r
+        , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >\r
+        , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >\r
+        , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 >\r
+        , integral_c< T,C40 >, integral_c< T,C41 >, integral_c< T,C42 >\r
+        , integral_c< T,C43 >, integral_c< T,C44 > \r
+ >\r
+{\r
+    typedef vector45_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40\r
+    , T C41, T C42, T C43, T C44, T C45\r
+    >\r
+struct vector46_c\r
+    : vector46<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >\r
+        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >\r
+        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >\r
+        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >\r
+        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >\r
+        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >\r
+        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >\r
+        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >\r
+        , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >\r
+        , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >\r
+        , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >\r
+        , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 >\r
+        , integral_c< T,C40 >, integral_c< T,C41 >, integral_c< T,C42 >\r
+        , integral_c< T,C43 >, integral_c< T,C44 >, integral_c< T,C45 > \r
+ >\r
+{\r
+    typedef vector46_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40\r
+    , T C41, T C42, T C43, T C44, T C45, T C46\r
+    >\r
+struct vector47_c\r
+    : vector47<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >\r
+        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >\r
+        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >\r
+        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >\r
+        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >\r
+        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >\r
+        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >\r
+        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >\r
+        , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >\r
+        , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >\r
+        , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >\r
+        , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 >\r
+        , integral_c< T,C40 >, integral_c< T,C41 >, integral_c< T,C42 >\r
+        , integral_c< T,C43 >, integral_c< T,C44 >, integral_c< T,C45 >, integral_c<T\r
+        , C46> \r
+ >\r
+{\r
+    typedef vector47_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40\r
+    , T C41, T C42, T C43, T C44, T C45, T C46, T C47\r
+    >\r
+struct vector48_c\r
+    : vector48<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >\r
+        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >\r
+        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >\r
+        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >\r
+        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >\r
+        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >\r
+        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >\r
+        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >\r
+        , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >\r
+        , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >\r
+        , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >\r
+        , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 >\r
+        , integral_c< T,C40 >, integral_c< T,C41 >, integral_c< T,C42 >\r
+        , integral_c< T,C43 >, integral_c< T,C44 >, integral_c< T,C45 >\r
+        , integral_c< T,C46 >, integral_c< T,C47 > \r
+ >\r
+{\r
+    typedef vector48_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40\r
+    , T C41, T C42, T C43, T C44, T C45, T C46, T C47, T C48\r
+    >\r
+struct vector49_c\r
+    : vector49<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >\r
+        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >\r
+        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >\r
+        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >\r
+        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >\r
+        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >\r
+        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >\r
+        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >\r
+        , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >\r
+        , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >\r
+        , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >\r
+        , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 >\r
+        , integral_c< T,C40 >, integral_c< T,C41 >, integral_c< T,C42 >\r
+        , integral_c< T,C43 >, integral_c< T,C44 >, integral_c< T,C45 >\r
+        , integral_c< T,C46 >, integral_c< T,C47 >, integral_c< T,C48 > \r
+ >\r
+{\r
+    typedef vector49_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40\r
+    , T C41, T C42, T C43, T C44, T C45, T C46, T C47, T C48, T C49\r
+    >\r
+struct vector50_c\r
+    : vector50<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >\r
+        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >\r
+        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >\r
+        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >\r
+        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >\r
+        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >\r
+        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >\r
+        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >\r
+        , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >\r
+        , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >\r
+        , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >\r
+        , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 >\r
+        , integral_c< T,C40 >, integral_c< T,C41 >, integral_c< T,C42 >\r
+        , integral_c< T,C43 >, integral_c< T,C44 >, integral_c< T,C45 >\r
+        , integral_c< T,C46 >, integral_c< T,C47 >, integral_c< T,C48 >, integral_c<T\r
+        , C49> \r
+ >\r
+{\r
+    typedef vector50_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..bd8928b
--- /dev/null
@@ -0,0 +1,829 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/vector/vector10.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template< typename V >\r
+struct v_at< V,0 >\r
+{\r
+    typedef typename V::item0 type;\r
+};\r
+\r
+template<\r
+      typename T0\r
+    >\r
+struct vector1\r
+{\r
+    typedef aux::vector_tag<1> tag;\r
+    typedef vector1 type;\r
+    typedef T0 item0;\r
+    typedef void_ item1;\r
+    typedef T0 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,1 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<0> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector1<\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<1> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector0<\r
+             \r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<0> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector1<\r
+             \r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<1> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector0<\r
+             \r
+            > type;\r
+    };\r
+};\r
+\r
+template< typename V >\r
+struct v_at< V,1 >\r
+{\r
+    typedef typename V::item1 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1\r
+    >\r
+struct vector2\r
+{\r
+    typedef aux::vector_tag<2> tag;\r
+    typedef vector2 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    \r
+\r
+    typedef void_ item2;\r
+    typedef T1 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,2 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<1> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector2<\r
+              T\r
+              ,\r
+              typename Vector::item0\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<2> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector1<\r
+              typename Vector::item1\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<1> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector2<\r
+              typename Vector::item0\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<2> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector1<\r
+              typename Vector::item0\r
+            > type;\r
+    };\r
+};\r
+\r
+template< typename V >\r
+struct v_at< V,2 >\r
+{\r
+    typedef typename V::item2 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2\r
+    >\r
+struct vector3\r
+{\r
+    typedef aux::vector_tag<3> tag;\r
+    typedef vector3 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    \r
+\r
+    typedef void_ item3;\r
+    typedef T2 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,3 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<2> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector3<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<3> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector2<\r
+              typename Vector::item1, typename Vector::item2\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<2> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector3<\r
+              typename Vector::item0, typename Vector::item1\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<3> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector2<\r
+              typename Vector::item0, typename Vector::item1\r
+            > type;\r
+    };\r
+};\r
+\r
+template< typename V >\r
+struct v_at< V,3 >\r
+{\r
+    typedef typename V::item3 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3\r
+    >\r
+struct vector4\r
+{\r
+    typedef aux::vector_tag<4> tag;\r
+    typedef vector4 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    \r
+\r
+    typedef void_ item4;\r
+    typedef T3 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,4 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<3> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector4<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<4> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector3<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<3> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector4<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<4> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector3<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2\r
+            > type;\r
+    };\r
+};\r
+\r
+template< typename V >\r
+struct v_at< V,4 >\r
+{\r
+    typedef typename V::item4 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct vector5\r
+{\r
+    typedef aux::vector_tag<5> tag;\r
+    typedef vector5 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    \r
+\r
+    typedef void_ item5;\r
+    typedef T4 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,5 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<4> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector5<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<5> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector4<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<4> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector5<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<5> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector4<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            > type;\r
+    };\r
+};\r
+\r
+template< typename V >\r
+struct v_at< V,5 >\r
+{\r
+    typedef typename V::item5 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct vector6\r
+{\r
+    typedef aux::vector_tag<6> tag;\r
+    typedef vector6 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    \r
+\r
+    typedef void_ item6;\r
+    typedef T5 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,6 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<5> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector6<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<6> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector5<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<5> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector6<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<6> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector5<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4\r
+            > type;\r
+    };\r
+};\r
+\r
+template< typename V >\r
+struct v_at< V,6 >\r
+{\r
+    typedef typename V::item6 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6\r
+    >\r
+struct vector7\r
+{\r
+    typedef aux::vector_tag<7> tag;\r
+    typedef vector7 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    typedef T6 item6;\r
+    \r
+\r
+    typedef void_ item7;\r
+    typedef T6 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,7 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<6> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector7<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<7> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector6<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5, typename Vector::item6\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<6> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector7<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<7> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector6<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            > type;\r
+    };\r
+};\r
+\r
+template< typename V >\r
+struct v_at< V,7 >\r
+{\r
+    typedef typename V::item7 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7\r
+    >\r
+struct vector8\r
+{\r
+    typedef aux::vector_tag<8> tag;\r
+    typedef vector8 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    typedef T6 item6;\r
+    typedef T7 item7;\r
+    \r
+\r
+    typedef void_ item8;\r
+    typedef T7 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,8 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<7> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector8<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<8> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector7<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5, typename Vector::item6\r
+            , typename Vector::item7\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<7> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector8<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<8> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector7<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6\r
+            > type;\r
+    };\r
+};\r
+\r
+template< typename V >\r
+struct v_at< V,8 >\r
+{\r
+    typedef typename V::item8 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8\r
+    >\r
+struct vector9\r
+{\r
+    typedef aux::vector_tag<9> tag;\r
+    typedef vector9 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    typedef T6 item6;\r
+    typedef T7 item7;\r
+    typedef T8 item8;\r
+    \r
+\r
+    typedef void_ item9;\r
+    typedef T8 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,9 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<8> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector9<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<9> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector8<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5, typename Vector::item6\r
+            , typename Vector::item7, typename Vector::item8\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<8> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector9<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<9> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector8<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            > type;\r
+    };\r
+};\r
+\r
+template< typename V >\r
+struct v_at< V,9 >\r
+{\r
+    typedef typename V::item9 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    >\r
+struct vector10\r
+{\r
+    typedef aux::vector_tag<10> tag;\r
+    typedef vector10 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    typedef T6 item6;\r
+    typedef T7 item7;\r
+    typedef T8 item8;\r
+    typedef T9 item9;\r
+    \r
+\r
+    typedef void_ item10;\r
+    typedef T9 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,10 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<9> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector10<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<10> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector9<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5, typename Vector::item6\r
+            , typename Vector::item7, typename Vector::item8\r
+            , typename Vector::item9\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<9> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector10<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<10> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector9<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8\r
+            > type;\r
+    };\r
+};\r
+\r
+template< typename V >\r
+struct v_at< V,10 >\r
+{\r
+    typedef typename V::item10 type;\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..5a088fc
--- /dev/null
@@ -0,0 +1,149 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/vector/vector10_c.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T\r
+    , T C0\r
+    >\r
+struct vector1_c\r
+    : vector1< integral_c< T,C0 > >\r
+{\r
+    typedef vector1_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1\r
+    >\r
+struct vector2_c\r
+    : vector2< integral_c< T,C0 >, integral_c< T,C1 > >\r
+{\r
+    typedef vector2_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2\r
+    >\r
+struct vector3_c\r
+    : vector3< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > >\r
+{\r
+    typedef vector3_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3\r
+    >\r
+struct vector4_c\r
+    : vector4<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >, integral_c<T\r
+        , C3> \r
+ >\r
+{\r
+    typedef vector4_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4\r
+    >\r
+struct vector5_c\r
+    : vector5<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 > \r
+ >\r
+{\r
+    typedef vector5_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5\r
+    >\r
+struct vector6_c\r
+    : vector6<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 > \r
+ >\r
+{\r
+    typedef vector6_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6\r
+    >\r
+struct vector7_c\r
+    : vector7<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c<T\r
+        , C6> \r
+ >\r
+{\r
+    typedef vector7_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7\r
+    >\r
+struct vector8_c\r
+    : vector8<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >\r
+        , integral_c< T,C7 > \r
+ >\r
+{\r
+    typedef vector8_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8\r
+    >\r
+struct vector9_c\r
+    : vector9<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >\r
+        , integral_c< T,C7 >, integral_c< T,C8 > \r
+ >\r
+{\r
+    typedef vector9_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9\r
+    >\r
+struct vector10_c\r
+    : vector10<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >\r
+        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 > \r
+ >\r
+{\r
+    typedef vector10_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..116f112
--- /dev/null
@@ -0,0 +1,1144 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/vector/vector20.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10\r
+    >\r
+struct vector11\r
+{\r
+    typedef aux::vector_tag<11> tag;\r
+    typedef vector11 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    typedef T6 item6;\r
+    typedef T7 item7;\r
+    typedef T8 item8;\r
+    typedef T9 item9;\r
+    typedef T10 item10;\r
+    \r
+\r
+    typedef void_ item11;\r
+    typedef T10 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,11 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<10> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector11<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<11> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector10<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5, typename Vector::item6\r
+            , typename Vector::item7, typename Vector::item8\r
+            , typename Vector::item9, typename Vector::item10\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<10> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector11<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<11> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector10<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            > type;\r
+    };\r
+};\r
+\r
+template< typename V >\r
+struct v_at< V,11 >\r
+{\r
+    typedef typename V::item11 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11\r
+    >\r
+struct vector12\r
+{\r
+    typedef aux::vector_tag<12> tag;\r
+    typedef vector12 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    typedef T6 item6;\r
+    typedef T7 item7;\r
+    typedef T8 item8;\r
+    typedef T9 item9;\r
+    typedef T10 item10;\r
+    typedef T11 item11;\r
+    \r
+\r
+    typedef void_ item12;\r
+    typedef T11 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,12 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<11> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector12<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<12> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector11<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5, typename Vector::item6\r
+            , typename Vector::item7, typename Vector::item8\r
+            , typename Vector::item9, typename Vector::item10\r
+            , typename Vector::item11\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<11> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector12<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<12> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector11<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10\r
+            > type;\r
+    };\r
+};\r
+\r
+template< typename V >\r
+struct v_at< V,12 >\r
+{\r
+    typedef typename V::item12 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12\r
+    >\r
+struct vector13\r
+{\r
+    typedef aux::vector_tag<13> tag;\r
+    typedef vector13 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    typedef T6 item6;\r
+    typedef T7 item7;\r
+    typedef T8 item8;\r
+    typedef T9 item9;\r
+    typedef T10 item10;\r
+    typedef T11 item11;\r
+    typedef T12 item12;\r
+    \r
+\r
+    typedef void_ item13;\r
+    typedef T12 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,13 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<12> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector13<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<13> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector12<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5, typename Vector::item6\r
+            , typename Vector::item7, typename Vector::item8\r
+            , typename Vector::item9, typename Vector::item10\r
+            , typename Vector::item11, typename Vector::item12\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<12> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector13<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<13> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector12<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            > type;\r
+    };\r
+};\r
+\r
+template< typename V >\r
+struct v_at< V,13 >\r
+{\r
+    typedef typename V::item13 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13\r
+    >\r
+struct vector14\r
+{\r
+    typedef aux::vector_tag<14> tag;\r
+    typedef vector14 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    typedef T6 item6;\r
+    typedef T7 item7;\r
+    typedef T8 item8;\r
+    typedef T9 item9;\r
+    typedef T10 item10;\r
+    typedef T11 item11;\r
+    typedef T12 item12;\r
+    typedef T13 item13;\r
+    \r
+\r
+    typedef void_ item14;\r
+    typedef T13 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,14 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<13> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector14<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<14> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector13<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5, typename Vector::item6\r
+            , typename Vector::item7, typename Vector::item8\r
+            , typename Vector::item9, typename Vector::item10\r
+            , typename Vector::item11, typename Vector::item12\r
+            , typename Vector::item13\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<13> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector14<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<14> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector13<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12\r
+            > type;\r
+    };\r
+};\r
+\r
+template< typename V >\r
+struct v_at< V,14 >\r
+{\r
+    typedef typename V::item14 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    >\r
+struct vector15\r
+{\r
+    typedef aux::vector_tag<15> tag;\r
+    typedef vector15 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    typedef T6 item6;\r
+    typedef T7 item7;\r
+    typedef T8 item8;\r
+    typedef T9 item9;\r
+    typedef T10 item10;\r
+    typedef T11 item11;\r
+    typedef T12 item12;\r
+    typedef T13 item13;\r
+    typedef T14 item14;\r
+    \r
+\r
+    typedef void_ item15;\r
+    typedef T14 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,15 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<14> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector15<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<15> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector14<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5, typename Vector::item6\r
+            , typename Vector::item7, typename Vector::item8\r
+            , typename Vector::item9, typename Vector::item10\r
+            , typename Vector::item11, typename Vector::item12\r
+            , typename Vector::item13, typename Vector::item14\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<14> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector15<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<15> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector14<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            > type;\r
+    };\r
+};\r
+\r
+template< typename V >\r
+struct v_at< V,15 >\r
+{\r
+    typedef typename V::item15 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15\r
+    >\r
+struct vector16\r
+{\r
+    typedef aux::vector_tag<16> tag;\r
+    typedef vector16 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    typedef T6 item6;\r
+    typedef T7 item7;\r
+    typedef T8 item8;\r
+    typedef T9 item9;\r
+    typedef T10 item10;\r
+    typedef T11 item11;\r
+    typedef T12 item12;\r
+    typedef T13 item13;\r
+    typedef T14 item14;\r
+    typedef T15 item15;\r
+    \r
+\r
+    typedef void_ item16;\r
+    typedef T15 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,16 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<15> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector16<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<16> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector15<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5, typename Vector::item6\r
+            , typename Vector::item7, typename Vector::item8\r
+            , typename Vector::item9, typename Vector::item10\r
+            , typename Vector::item11, typename Vector::item12\r
+            , typename Vector::item13, typename Vector::item14\r
+            , typename Vector::item15\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<15> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector16<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<16> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector15<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14\r
+            > type;\r
+    };\r
+};\r
+\r
+template< typename V >\r
+struct v_at< V,16 >\r
+{\r
+    typedef typename V::item16 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16\r
+    >\r
+struct vector17\r
+{\r
+    typedef aux::vector_tag<17> tag;\r
+    typedef vector17 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    typedef T6 item6;\r
+    typedef T7 item7;\r
+    typedef T8 item8;\r
+    typedef T9 item9;\r
+    typedef T10 item10;\r
+    typedef T11 item11;\r
+    typedef T12 item12;\r
+    typedef T13 item13;\r
+    typedef T14 item14;\r
+    typedef T15 item15;\r
+    typedef T16 item16;\r
+    \r
+\r
+    typedef void_ item17;\r
+    typedef T16 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,17 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<16> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector17<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<17> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector16<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5, typename Vector::item6\r
+            , typename Vector::item7, typename Vector::item8\r
+            , typename Vector::item9, typename Vector::item10\r
+            , typename Vector::item11, typename Vector::item12\r
+            , typename Vector::item13, typename Vector::item14\r
+            , typename Vector::item15, typename Vector::item16\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<16> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector17<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<17> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector16<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            > type;\r
+    };\r
+};\r
+\r
+template< typename V >\r
+struct v_at< V,17 >\r
+{\r
+    typedef typename V::item17 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17\r
+    >\r
+struct vector18\r
+{\r
+    typedef aux::vector_tag<18> tag;\r
+    typedef vector18 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    typedef T6 item6;\r
+    typedef T7 item7;\r
+    typedef T8 item8;\r
+    typedef T9 item9;\r
+    typedef T10 item10;\r
+    typedef T11 item11;\r
+    typedef T12 item12;\r
+    typedef T13 item13;\r
+    typedef T14 item14;\r
+    typedef T15 item15;\r
+    typedef T16 item16;\r
+    typedef T17 item17;\r
+    \r
+\r
+    typedef void_ item18;\r
+    typedef T17 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,18 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<17> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector18<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<18> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector17<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5, typename Vector::item6\r
+            , typename Vector::item7, typename Vector::item8\r
+            , typename Vector::item9, typename Vector::item10\r
+            , typename Vector::item11, typename Vector::item12\r
+            , typename Vector::item13, typename Vector::item14\r
+            , typename Vector::item15, typename Vector::item16\r
+            , typename Vector::item17\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<17> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector18<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<18> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector17<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16\r
+            > type;\r
+    };\r
+};\r
+\r
+template< typename V >\r
+struct v_at< V,18 >\r
+{\r
+    typedef typename V::item18 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18\r
+    >\r
+struct vector19\r
+{\r
+    typedef aux::vector_tag<19> tag;\r
+    typedef vector19 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    typedef T6 item6;\r
+    typedef T7 item7;\r
+    typedef T8 item8;\r
+    typedef T9 item9;\r
+    typedef T10 item10;\r
+    typedef T11 item11;\r
+    typedef T12 item12;\r
+    typedef T13 item13;\r
+    typedef T14 item14;\r
+    typedef T15 item15;\r
+    typedef T16 item16;\r
+    typedef T17 item17;\r
+    typedef T18 item18;\r
+    \r
+\r
+    typedef void_ item19;\r
+    typedef T18 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,19 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<18> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector19<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<19> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector18<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5, typename Vector::item6\r
+            , typename Vector::item7, typename Vector::item8\r
+            , typename Vector::item9, typename Vector::item10\r
+            , typename Vector::item11, typename Vector::item12\r
+            , typename Vector::item13, typename Vector::item14\r
+            , typename Vector::item15, typename Vector::item16\r
+            , typename Vector::item17, typename Vector::item18\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<18> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector19<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<19> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector18<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            > type;\r
+    };\r
+};\r
+\r
+template< typename V >\r
+struct v_at< V,19 >\r
+{\r
+    typedef typename V::item19 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    >\r
+struct vector20\r
+{\r
+    typedef aux::vector_tag<20> tag;\r
+    typedef vector20 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    typedef T6 item6;\r
+    typedef T7 item7;\r
+    typedef T8 item8;\r
+    typedef T9 item9;\r
+    typedef T10 item10;\r
+    typedef T11 item11;\r
+    typedef T12 item12;\r
+    typedef T13 item13;\r
+    typedef T14 item14;\r
+    typedef T15 item15;\r
+    typedef T16 item16;\r
+    typedef T17 item17;\r
+    typedef T18 item18;\r
+    typedef T19 item19;\r
+    \r
+\r
+    typedef void_ item20;\r
+    typedef T19 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,20 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<19> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector20<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<20> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector19<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5, typename Vector::item6\r
+            , typename Vector::item7, typename Vector::item8\r
+            , typename Vector::item9, typename Vector::item10\r
+            , typename Vector::item11, typename Vector::item12\r
+            , typename Vector::item13, typename Vector::item14\r
+            , typename Vector::item15, typename Vector::item16\r
+            , typename Vector::item17, typename Vector::item18\r
+            , typename Vector::item19\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<19> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector20<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<20> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector19<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18\r
+            > type;\r
+    };\r
+};\r
+\r
+template< typename V >\r
+struct v_at< V,20 >\r
+{\r
+    typedef typename V::item20 type;\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..03f6456
--- /dev/null
@@ -0,0 +1,195 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/vector/vector20_c.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    >\r
+struct vector11_c\r
+    : vector11<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >\r
+        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >, integral_c<T\r
+        , C10> \r
+ >\r
+{\r
+    typedef vector11_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11\r
+    >\r
+struct vector12_c\r
+    : vector12<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >\r
+        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >\r
+        , integral_c< T,C10 >, integral_c< T,C11 > \r
+ >\r
+{\r
+    typedef vector12_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12\r
+    >\r
+struct vector13_c\r
+    : vector13<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >\r
+        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >\r
+        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 > \r
+ >\r
+{\r
+    typedef vector13_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13\r
+    >\r
+struct vector14_c\r
+    : vector14<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >\r
+        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >\r
+        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >, integral_c<T\r
+        , C13> \r
+ >\r
+{\r
+    typedef vector14_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14\r
+    >\r
+struct vector15_c\r
+    : vector15<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >\r
+        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >\r
+        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >\r
+        , integral_c< T,C13 >, integral_c< T,C14 > \r
+ >\r
+{\r
+    typedef vector15_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15\r
+    >\r
+struct vector16_c\r
+    : vector16<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >\r
+        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >\r
+        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >\r
+        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 > \r
+ >\r
+{\r
+    typedef vector16_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16\r
+    >\r
+struct vector17_c\r
+    : vector17<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >\r
+        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >\r
+        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >\r
+        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >, integral_c<T\r
+        , C16> \r
+ >\r
+{\r
+    typedef vector17_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17\r
+    >\r
+struct vector18_c\r
+    : vector18<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >\r
+        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >\r
+        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >\r
+        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >\r
+        , integral_c< T,C16 >, integral_c< T,C17 > \r
+ >\r
+{\r
+    typedef vector18_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18\r
+    >\r
+struct vector19_c\r
+    : vector19<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >\r
+        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >\r
+        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >\r
+        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >\r
+        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 > \r
+ >\r
+{\r
+    typedef vector19_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19\r
+    >\r
+struct vector20_c\r
+    : vector20<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >\r
+        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >\r
+        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >\r
+        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >\r
+        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >, integral_c<T\r
+        , C19> \r
+ >\r
+{\r
+    typedef vector20_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..c14c5bf
--- /dev/null
@@ -0,0 +1,1464 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/vector/vector30.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20\r
+    >\r
+struct vector21\r
+{\r
+    typedef aux::vector_tag<21> tag;\r
+    typedef vector21 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    typedef T6 item6;\r
+    typedef T7 item7;\r
+    typedef T8 item8;\r
+    typedef T9 item9;\r
+    typedef T10 item10;\r
+    typedef T11 item11;\r
+    typedef T12 item12;\r
+    typedef T13 item13;\r
+    typedef T14 item14;\r
+    typedef T15 item15;\r
+    typedef T16 item16;\r
+    typedef T17 item17;\r
+    typedef T18 item18;\r
+    typedef T19 item19;\r
+    typedef T20 item20;\r
+    \r
+\r
+    typedef void_ item21;\r
+    typedef T20 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,21 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<20> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector21<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<21> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector20<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5, typename Vector::item6\r
+            , typename Vector::item7, typename Vector::item8\r
+            , typename Vector::item9, typename Vector::item10\r
+            , typename Vector::item11, typename Vector::item12\r
+            , typename Vector::item13, typename Vector::item14\r
+            , typename Vector::item15, typename Vector::item16\r
+            , typename Vector::item17, typename Vector::item18\r
+            , typename Vector::item19, typename Vector::item20\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<20> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector21<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<21> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector20<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            > type;\r
+    };\r
+};\r
+\r
+template< typename V >\r
+struct v_at< V,21 >\r
+{\r
+    typedef typename V::item21 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21\r
+    >\r
+struct vector22\r
+{\r
+    typedef aux::vector_tag<22> tag;\r
+    typedef vector22 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    typedef T6 item6;\r
+    typedef T7 item7;\r
+    typedef T8 item8;\r
+    typedef T9 item9;\r
+    typedef T10 item10;\r
+    typedef T11 item11;\r
+    typedef T12 item12;\r
+    typedef T13 item13;\r
+    typedef T14 item14;\r
+    typedef T15 item15;\r
+    typedef T16 item16;\r
+    typedef T17 item17;\r
+    typedef T18 item18;\r
+    typedef T19 item19;\r
+    typedef T20 item20;\r
+    typedef T21 item21;\r
+    \r
+\r
+    typedef void_ item22;\r
+    typedef T21 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,22 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<21> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector22<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<22> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector21<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5, typename Vector::item6\r
+            , typename Vector::item7, typename Vector::item8\r
+            , typename Vector::item9, typename Vector::item10\r
+            , typename Vector::item11, typename Vector::item12\r
+            , typename Vector::item13, typename Vector::item14\r
+            , typename Vector::item15, typename Vector::item16\r
+            , typename Vector::item17, typename Vector::item18\r
+            , typename Vector::item19, typename Vector::item20\r
+            , typename Vector::item21\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<21> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector22<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<22> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector21<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20\r
+            > type;\r
+    };\r
+};\r
+\r
+template< typename V >\r
+struct v_at< V,22 >\r
+{\r
+    typedef typename V::item22 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22\r
+    >\r
+struct vector23\r
+{\r
+    typedef aux::vector_tag<23> tag;\r
+    typedef vector23 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    typedef T6 item6;\r
+    typedef T7 item7;\r
+    typedef T8 item8;\r
+    typedef T9 item9;\r
+    typedef T10 item10;\r
+    typedef T11 item11;\r
+    typedef T12 item12;\r
+    typedef T13 item13;\r
+    typedef T14 item14;\r
+    typedef T15 item15;\r
+    typedef T16 item16;\r
+    typedef T17 item17;\r
+    typedef T18 item18;\r
+    typedef T19 item19;\r
+    typedef T20 item20;\r
+    typedef T21 item21;\r
+    typedef T22 item22;\r
+    \r
+\r
+    typedef void_ item23;\r
+    typedef T22 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,23 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<22> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector23<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<23> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector22<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5, typename Vector::item6\r
+            , typename Vector::item7, typename Vector::item8\r
+            , typename Vector::item9, typename Vector::item10\r
+            , typename Vector::item11, typename Vector::item12\r
+            , typename Vector::item13, typename Vector::item14\r
+            , typename Vector::item15, typename Vector::item16\r
+            , typename Vector::item17, typename Vector::item18\r
+            , typename Vector::item19, typename Vector::item20\r
+            , typename Vector::item21, typename Vector::item22\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<22> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector23<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<23> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector22<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            > type;\r
+    };\r
+};\r
+\r
+template< typename V >\r
+struct v_at< V,23 >\r
+{\r
+    typedef typename V::item23 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23\r
+    >\r
+struct vector24\r
+{\r
+    typedef aux::vector_tag<24> tag;\r
+    typedef vector24 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    typedef T6 item6;\r
+    typedef T7 item7;\r
+    typedef T8 item8;\r
+    typedef T9 item9;\r
+    typedef T10 item10;\r
+    typedef T11 item11;\r
+    typedef T12 item12;\r
+    typedef T13 item13;\r
+    typedef T14 item14;\r
+    typedef T15 item15;\r
+    typedef T16 item16;\r
+    typedef T17 item17;\r
+    typedef T18 item18;\r
+    typedef T19 item19;\r
+    typedef T20 item20;\r
+    typedef T21 item21;\r
+    typedef T22 item22;\r
+    typedef T23 item23;\r
+    \r
+\r
+    typedef void_ item24;\r
+    typedef T23 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,24 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<23> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector24<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<24> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector23<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5, typename Vector::item6\r
+            , typename Vector::item7, typename Vector::item8\r
+            , typename Vector::item9, typename Vector::item10\r
+            , typename Vector::item11, typename Vector::item12\r
+            , typename Vector::item13, typename Vector::item14\r
+            , typename Vector::item15, typename Vector::item16\r
+            , typename Vector::item17, typename Vector::item18\r
+            , typename Vector::item19, typename Vector::item20\r
+            , typename Vector::item21, typename Vector::item22\r
+            , typename Vector::item23\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<23> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector24<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<24> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector23<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22\r
+            > type;\r
+    };\r
+};\r
+\r
+template< typename V >\r
+struct v_at< V,24 >\r
+{\r
+    typedef typename V::item24 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    >\r
+struct vector25\r
+{\r
+    typedef aux::vector_tag<25> tag;\r
+    typedef vector25 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    typedef T6 item6;\r
+    typedef T7 item7;\r
+    typedef T8 item8;\r
+    typedef T9 item9;\r
+    typedef T10 item10;\r
+    typedef T11 item11;\r
+    typedef T12 item12;\r
+    typedef T13 item13;\r
+    typedef T14 item14;\r
+    typedef T15 item15;\r
+    typedef T16 item16;\r
+    typedef T17 item17;\r
+    typedef T18 item18;\r
+    typedef T19 item19;\r
+    typedef T20 item20;\r
+    typedef T21 item21;\r
+    typedef T22 item22;\r
+    typedef T23 item23;\r
+    typedef T24 item24;\r
+    \r
+\r
+    typedef void_ item25;\r
+    typedef T24 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,25 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<24> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector25<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<25> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector24<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5, typename Vector::item6\r
+            , typename Vector::item7, typename Vector::item8\r
+            , typename Vector::item9, typename Vector::item10\r
+            , typename Vector::item11, typename Vector::item12\r
+            , typename Vector::item13, typename Vector::item14\r
+            , typename Vector::item15, typename Vector::item16\r
+            , typename Vector::item17, typename Vector::item18\r
+            , typename Vector::item19, typename Vector::item20\r
+            , typename Vector::item21, typename Vector::item22\r
+            , typename Vector::item23, typename Vector::item24\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<24> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector25<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<25> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector24<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            > type;\r
+    };\r
+};\r
+\r
+template< typename V >\r
+struct v_at< V,25 >\r
+{\r
+    typedef typename V::item25 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25\r
+    >\r
+struct vector26\r
+{\r
+    typedef aux::vector_tag<26> tag;\r
+    typedef vector26 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    typedef T6 item6;\r
+    typedef T7 item7;\r
+    typedef T8 item8;\r
+    typedef T9 item9;\r
+    typedef T10 item10;\r
+    typedef T11 item11;\r
+    typedef T12 item12;\r
+    typedef T13 item13;\r
+    typedef T14 item14;\r
+    typedef T15 item15;\r
+    typedef T16 item16;\r
+    typedef T17 item17;\r
+    typedef T18 item18;\r
+    typedef T19 item19;\r
+    typedef T20 item20;\r
+    typedef T21 item21;\r
+    typedef T22 item22;\r
+    typedef T23 item23;\r
+    typedef T24 item24;\r
+    typedef T25 item25;\r
+    \r
+\r
+    typedef void_ item26;\r
+    typedef T25 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,26 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<25> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector26<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<26> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector25<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5, typename Vector::item6\r
+            , typename Vector::item7, typename Vector::item8\r
+            , typename Vector::item9, typename Vector::item10\r
+            , typename Vector::item11, typename Vector::item12\r
+            , typename Vector::item13, typename Vector::item14\r
+            , typename Vector::item15, typename Vector::item16\r
+            , typename Vector::item17, typename Vector::item18\r
+            , typename Vector::item19, typename Vector::item20\r
+            , typename Vector::item21, typename Vector::item22\r
+            , typename Vector::item23, typename Vector::item24\r
+            , typename Vector::item25\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<25> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector26<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<26> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector25<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24\r
+            > type;\r
+    };\r
+};\r
+\r
+template< typename V >\r
+struct v_at< V,26 >\r
+{\r
+    typedef typename V::item26 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26\r
+    >\r
+struct vector27\r
+{\r
+    typedef aux::vector_tag<27> tag;\r
+    typedef vector27 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    typedef T6 item6;\r
+    typedef T7 item7;\r
+    typedef T8 item8;\r
+    typedef T9 item9;\r
+    typedef T10 item10;\r
+    typedef T11 item11;\r
+    typedef T12 item12;\r
+    typedef T13 item13;\r
+    typedef T14 item14;\r
+    typedef T15 item15;\r
+    typedef T16 item16;\r
+    typedef T17 item17;\r
+    typedef T18 item18;\r
+    typedef T19 item19;\r
+    typedef T20 item20;\r
+    typedef T21 item21;\r
+    typedef T22 item22;\r
+    typedef T23 item23;\r
+    typedef T24 item24;\r
+    typedef T25 item25;\r
+    typedef T26 item26;\r
+    \r
+\r
+    typedef void_ item27;\r
+    typedef T26 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,27 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<26> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector27<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<27> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector26<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5, typename Vector::item6\r
+            , typename Vector::item7, typename Vector::item8\r
+            , typename Vector::item9, typename Vector::item10\r
+            , typename Vector::item11, typename Vector::item12\r
+            , typename Vector::item13, typename Vector::item14\r
+            , typename Vector::item15, typename Vector::item16\r
+            , typename Vector::item17, typename Vector::item18\r
+            , typename Vector::item19, typename Vector::item20\r
+            , typename Vector::item21, typename Vector::item22\r
+            , typename Vector::item23, typename Vector::item24\r
+            , typename Vector::item25, typename Vector::item26\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<26> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector27<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<27> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector26<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            > type;\r
+    };\r
+};\r
+\r
+template< typename V >\r
+struct v_at< V,27 >\r
+{\r
+    typedef typename V::item27 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27\r
+    >\r
+struct vector28\r
+{\r
+    typedef aux::vector_tag<28> tag;\r
+    typedef vector28 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    typedef T6 item6;\r
+    typedef T7 item7;\r
+    typedef T8 item8;\r
+    typedef T9 item9;\r
+    typedef T10 item10;\r
+    typedef T11 item11;\r
+    typedef T12 item12;\r
+    typedef T13 item13;\r
+    typedef T14 item14;\r
+    typedef T15 item15;\r
+    typedef T16 item16;\r
+    typedef T17 item17;\r
+    typedef T18 item18;\r
+    typedef T19 item19;\r
+    typedef T20 item20;\r
+    typedef T21 item21;\r
+    typedef T22 item22;\r
+    typedef T23 item23;\r
+    typedef T24 item24;\r
+    typedef T25 item25;\r
+    typedef T26 item26;\r
+    typedef T27 item27;\r
+    \r
+\r
+    typedef void_ item28;\r
+    typedef T27 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,28 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<27> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector28<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<28> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector27<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5, typename Vector::item6\r
+            , typename Vector::item7, typename Vector::item8\r
+            , typename Vector::item9, typename Vector::item10\r
+            , typename Vector::item11, typename Vector::item12\r
+            , typename Vector::item13, typename Vector::item14\r
+            , typename Vector::item15, typename Vector::item16\r
+            , typename Vector::item17, typename Vector::item18\r
+            , typename Vector::item19, typename Vector::item20\r
+            , typename Vector::item21, typename Vector::item22\r
+            , typename Vector::item23, typename Vector::item24\r
+            , typename Vector::item25, typename Vector::item26\r
+            , typename Vector::item27\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<27> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector28<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<28> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector27<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26\r
+            > type;\r
+    };\r
+};\r
+\r
+template< typename V >\r
+struct v_at< V,28 >\r
+{\r
+    typedef typename V::item28 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28\r
+    >\r
+struct vector29\r
+{\r
+    typedef aux::vector_tag<29> tag;\r
+    typedef vector29 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    typedef T6 item6;\r
+    typedef T7 item7;\r
+    typedef T8 item8;\r
+    typedef T9 item9;\r
+    typedef T10 item10;\r
+    typedef T11 item11;\r
+    typedef T12 item12;\r
+    typedef T13 item13;\r
+    typedef T14 item14;\r
+    typedef T15 item15;\r
+    typedef T16 item16;\r
+    typedef T17 item17;\r
+    typedef T18 item18;\r
+    typedef T19 item19;\r
+    typedef T20 item20;\r
+    typedef T21 item21;\r
+    typedef T22 item22;\r
+    typedef T23 item23;\r
+    typedef T24 item24;\r
+    typedef T25 item25;\r
+    typedef T26 item26;\r
+    typedef T27 item27;\r
+    typedef T28 item28;\r
+    \r
+\r
+    typedef void_ item29;\r
+    typedef T28 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,29 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<28> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector29<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<29> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector28<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5, typename Vector::item6\r
+            , typename Vector::item7, typename Vector::item8\r
+            , typename Vector::item9, typename Vector::item10\r
+            , typename Vector::item11, typename Vector::item12\r
+            , typename Vector::item13, typename Vector::item14\r
+            , typename Vector::item15, typename Vector::item16\r
+            , typename Vector::item17, typename Vector::item18\r
+            , typename Vector::item19, typename Vector::item20\r
+            , typename Vector::item21, typename Vector::item22\r
+            , typename Vector::item23, typename Vector::item24\r
+            , typename Vector::item25, typename Vector::item26\r
+            , typename Vector::item27, typename Vector::item28\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<28> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector29<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<29> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector28<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            > type;\r
+    };\r
+};\r
+\r
+template< typename V >\r
+struct v_at< V,29 >\r
+{\r
+    typedef typename V::item29 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    >\r
+struct vector30\r
+{\r
+    typedef aux::vector_tag<30> tag;\r
+    typedef vector30 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    typedef T6 item6;\r
+    typedef T7 item7;\r
+    typedef T8 item8;\r
+    typedef T9 item9;\r
+    typedef T10 item10;\r
+    typedef T11 item11;\r
+    typedef T12 item12;\r
+    typedef T13 item13;\r
+    typedef T14 item14;\r
+    typedef T15 item15;\r
+    typedef T16 item16;\r
+    typedef T17 item17;\r
+    typedef T18 item18;\r
+    typedef T19 item19;\r
+    typedef T20 item20;\r
+    typedef T21 item21;\r
+    typedef T22 item22;\r
+    typedef T23 item23;\r
+    typedef T24 item24;\r
+    typedef T25 item25;\r
+    typedef T26 item26;\r
+    typedef T27 item27;\r
+    typedef T28 item28;\r
+    typedef T29 item29;\r
+    \r
+\r
+    typedef void_ item30;\r
+    typedef T29 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,30 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<29> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector30<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<30> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector29<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5, typename Vector::item6\r
+            , typename Vector::item7, typename Vector::item8\r
+            , typename Vector::item9, typename Vector::item10\r
+            , typename Vector::item11, typename Vector::item12\r
+            , typename Vector::item13, typename Vector::item14\r
+            , typename Vector::item15, typename Vector::item16\r
+            , typename Vector::item17, typename Vector::item18\r
+            , typename Vector::item19, typename Vector::item20\r
+            , typename Vector::item21, typename Vector::item22\r
+            , typename Vector::item23, typename Vector::item24\r
+            , typename Vector::item25, typename Vector::item26\r
+            , typename Vector::item27, typename Vector::item28\r
+            , typename Vector::item29\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<29> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector30<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<30> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector29<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28\r
+            > type;\r
+    };\r
+};\r
+\r
+template< typename V >\r
+struct v_at< V,30 >\r
+{\r
+    typedef typename V::item30 type;\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..6d47c94
--- /dev/null
@@ -0,0 +1,238 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/vector/vector30_c.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    >\r
+struct vector21_c\r
+    : vector21<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >\r
+        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >\r
+        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >\r
+        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >\r
+        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >\r
+        , integral_c< T,C19 >, integral_c< T,C20 > \r
+ >\r
+{\r
+    typedef vector21_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21\r
+    >\r
+struct vector22_c\r
+    : vector22<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >\r
+        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >\r
+        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >\r
+        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >\r
+        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >\r
+        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 > \r
+ >\r
+{\r
+    typedef vector22_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22\r
+    >\r
+struct vector23_c\r
+    : vector23<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >\r
+        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >\r
+        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >\r
+        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >\r
+        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >\r
+        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >, integral_c<T\r
+        , C22> \r
+ >\r
+{\r
+    typedef vector23_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23\r
+    >\r
+struct vector24_c\r
+    : vector24<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >\r
+        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >\r
+        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >\r
+        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >\r
+        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >\r
+        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >\r
+        , integral_c< T,C22 >, integral_c< T,C23 > \r
+ >\r
+{\r
+    typedef vector24_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24\r
+    >\r
+struct vector25_c\r
+    : vector25<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >\r
+        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >\r
+        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >\r
+        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >\r
+        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >\r
+        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >\r
+        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 > \r
+ >\r
+{\r
+    typedef vector25_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25\r
+    >\r
+struct vector26_c\r
+    : vector26<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >\r
+        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >\r
+        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >\r
+        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >\r
+        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >\r
+        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >\r
+        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >, integral_c<T\r
+        , C25> \r
+ >\r
+{\r
+    typedef vector26_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26\r
+    >\r
+struct vector27_c\r
+    : vector27<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >\r
+        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >\r
+        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >\r
+        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >\r
+        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >\r
+        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >\r
+        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >\r
+        , integral_c< T,C25 >, integral_c< T,C26 > \r
+ >\r
+{\r
+    typedef vector27_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27\r
+    >\r
+struct vector28_c\r
+    : vector28<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >\r
+        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >\r
+        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >\r
+        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >\r
+        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >\r
+        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >\r
+        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >\r
+        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 > \r
+ >\r
+{\r
+    typedef vector28_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28\r
+    >\r
+struct vector29_c\r
+    : vector29<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >\r
+        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >\r
+        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >\r
+        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >\r
+        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >\r
+        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >\r
+        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >\r
+        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >, integral_c<T\r
+        , C28> \r
+ >\r
+{\r
+    typedef vector29_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29\r
+    >\r
+struct vector30_c\r
+    : vector30<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >\r
+        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >\r
+        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >\r
+        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >\r
+        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >\r
+        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >\r
+        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >\r
+        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >\r
+        , integral_c< T,C28 >, integral_c< T,C29 > \r
+ >\r
+{\r
+    typedef vector30_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..e4b7aaa
--- /dev/null
@@ -0,0 +1,1784 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/vector/vector40.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30\r
+    >\r
+struct vector31\r
+{\r
+    typedef aux::vector_tag<31> tag;\r
+    typedef vector31 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    typedef T6 item6;\r
+    typedef T7 item7;\r
+    typedef T8 item8;\r
+    typedef T9 item9;\r
+    typedef T10 item10;\r
+    typedef T11 item11;\r
+    typedef T12 item12;\r
+    typedef T13 item13;\r
+    typedef T14 item14;\r
+    typedef T15 item15;\r
+    typedef T16 item16;\r
+    typedef T17 item17;\r
+    typedef T18 item18;\r
+    typedef T19 item19;\r
+    typedef T20 item20;\r
+    typedef T21 item21;\r
+    typedef T22 item22;\r
+    typedef T23 item23;\r
+    typedef T24 item24;\r
+    typedef T25 item25;\r
+    typedef T26 item26;\r
+    typedef T27 item27;\r
+    typedef T28 item28;\r
+    typedef T29 item29;\r
+    typedef T30 item30;\r
+    \r
+\r
+    typedef void_ item31;\r
+    typedef T30 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,31 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<30> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector31<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<31> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector30<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5, typename Vector::item6\r
+            , typename Vector::item7, typename Vector::item8\r
+            , typename Vector::item9, typename Vector::item10\r
+            , typename Vector::item11, typename Vector::item12\r
+            , typename Vector::item13, typename Vector::item14\r
+            , typename Vector::item15, typename Vector::item16\r
+            , typename Vector::item17, typename Vector::item18\r
+            , typename Vector::item19, typename Vector::item20\r
+            , typename Vector::item21, typename Vector::item22\r
+            , typename Vector::item23, typename Vector::item24\r
+            , typename Vector::item25, typename Vector::item26\r
+            , typename Vector::item27, typename Vector::item28\r
+            , typename Vector::item29, typename Vector::item30\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<30> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector31<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<31> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector30<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            > type;\r
+    };\r
+};\r
+\r
+template< typename V >\r
+struct v_at< V,31 >\r
+{\r
+    typedef typename V::item31 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31\r
+    >\r
+struct vector32\r
+{\r
+    typedef aux::vector_tag<32> tag;\r
+    typedef vector32 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    typedef T6 item6;\r
+    typedef T7 item7;\r
+    typedef T8 item8;\r
+    typedef T9 item9;\r
+    typedef T10 item10;\r
+    typedef T11 item11;\r
+    typedef T12 item12;\r
+    typedef T13 item13;\r
+    typedef T14 item14;\r
+    typedef T15 item15;\r
+    typedef T16 item16;\r
+    typedef T17 item17;\r
+    typedef T18 item18;\r
+    typedef T19 item19;\r
+    typedef T20 item20;\r
+    typedef T21 item21;\r
+    typedef T22 item22;\r
+    typedef T23 item23;\r
+    typedef T24 item24;\r
+    typedef T25 item25;\r
+    typedef T26 item26;\r
+    typedef T27 item27;\r
+    typedef T28 item28;\r
+    typedef T29 item29;\r
+    typedef T30 item30;\r
+    typedef T31 item31;\r
+    \r
+\r
+    typedef void_ item32;\r
+    typedef T31 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,32 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<31> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector32<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<32> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector31<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5, typename Vector::item6\r
+            , typename Vector::item7, typename Vector::item8\r
+            , typename Vector::item9, typename Vector::item10\r
+            , typename Vector::item11, typename Vector::item12\r
+            , typename Vector::item13, typename Vector::item14\r
+            , typename Vector::item15, typename Vector::item16\r
+            , typename Vector::item17, typename Vector::item18\r
+            , typename Vector::item19, typename Vector::item20\r
+            , typename Vector::item21, typename Vector::item22\r
+            , typename Vector::item23, typename Vector::item24\r
+            , typename Vector::item25, typename Vector::item26\r
+            , typename Vector::item27, typename Vector::item28\r
+            , typename Vector::item29, typename Vector::item30\r
+            , typename Vector::item31\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<31> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector32<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<32> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector31<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30\r
+            > type;\r
+    };\r
+};\r
+\r
+template< typename V >\r
+struct v_at< V,32 >\r
+{\r
+    typedef typename V::item32 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32\r
+    >\r
+struct vector33\r
+{\r
+    typedef aux::vector_tag<33> tag;\r
+    typedef vector33 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    typedef T6 item6;\r
+    typedef T7 item7;\r
+    typedef T8 item8;\r
+    typedef T9 item9;\r
+    typedef T10 item10;\r
+    typedef T11 item11;\r
+    typedef T12 item12;\r
+    typedef T13 item13;\r
+    typedef T14 item14;\r
+    typedef T15 item15;\r
+    typedef T16 item16;\r
+    typedef T17 item17;\r
+    typedef T18 item18;\r
+    typedef T19 item19;\r
+    typedef T20 item20;\r
+    typedef T21 item21;\r
+    typedef T22 item22;\r
+    typedef T23 item23;\r
+    typedef T24 item24;\r
+    typedef T25 item25;\r
+    typedef T26 item26;\r
+    typedef T27 item27;\r
+    typedef T28 item28;\r
+    typedef T29 item29;\r
+    typedef T30 item30;\r
+    typedef T31 item31;\r
+    typedef T32 item32;\r
+    \r
+\r
+    typedef void_ item33;\r
+    typedef T32 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,33 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<32> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector33<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<33> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector32<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5, typename Vector::item6\r
+            , typename Vector::item7, typename Vector::item8\r
+            , typename Vector::item9, typename Vector::item10\r
+            , typename Vector::item11, typename Vector::item12\r
+            , typename Vector::item13, typename Vector::item14\r
+            , typename Vector::item15, typename Vector::item16\r
+            , typename Vector::item17, typename Vector::item18\r
+            , typename Vector::item19, typename Vector::item20\r
+            , typename Vector::item21, typename Vector::item22\r
+            , typename Vector::item23, typename Vector::item24\r
+            , typename Vector::item25, typename Vector::item26\r
+            , typename Vector::item27, typename Vector::item28\r
+            , typename Vector::item29, typename Vector::item30\r
+            , typename Vector::item31, typename Vector::item32\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<32> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector33<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<33> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector32<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            > type;\r
+    };\r
+};\r
+\r
+template< typename V >\r
+struct v_at< V,33 >\r
+{\r
+    typedef typename V::item33 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32, typename T33\r
+    >\r
+struct vector34\r
+{\r
+    typedef aux::vector_tag<34> tag;\r
+    typedef vector34 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    typedef T6 item6;\r
+    typedef T7 item7;\r
+    typedef T8 item8;\r
+    typedef T9 item9;\r
+    typedef T10 item10;\r
+    typedef T11 item11;\r
+    typedef T12 item12;\r
+    typedef T13 item13;\r
+    typedef T14 item14;\r
+    typedef T15 item15;\r
+    typedef T16 item16;\r
+    typedef T17 item17;\r
+    typedef T18 item18;\r
+    typedef T19 item19;\r
+    typedef T20 item20;\r
+    typedef T21 item21;\r
+    typedef T22 item22;\r
+    typedef T23 item23;\r
+    typedef T24 item24;\r
+    typedef T25 item25;\r
+    typedef T26 item26;\r
+    typedef T27 item27;\r
+    typedef T28 item28;\r
+    typedef T29 item29;\r
+    typedef T30 item30;\r
+    typedef T31 item31;\r
+    typedef T32 item32;\r
+    typedef T33 item33;\r
+    \r
+\r
+    typedef void_ item34;\r
+    typedef T33 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,34 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<33> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector34<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<34> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector33<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5, typename Vector::item6\r
+            , typename Vector::item7, typename Vector::item8\r
+            , typename Vector::item9, typename Vector::item10\r
+            , typename Vector::item11, typename Vector::item12\r
+            , typename Vector::item13, typename Vector::item14\r
+            , typename Vector::item15, typename Vector::item16\r
+            , typename Vector::item17, typename Vector::item18\r
+            , typename Vector::item19, typename Vector::item20\r
+            , typename Vector::item21, typename Vector::item22\r
+            , typename Vector::item23, typename Vector::item24\r
+            , typename Vector::item25, typename Vector::item26\r
+            , typename Vector::item27, typename Vector::item28\r
+            , typename Vector::item29, typename Vector::item30\r
+            , typename Vector::item31, typename Vector::item32\r
+            , typename Vector::item33\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<33> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector34<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<34> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector33<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32\r
+            > type;\r
+    };\r
+};\r
+\r
+template< typename V >\r
+struct v_at< V,34 >\r
+{\r
+    typedef typename V::item34 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32, typename T33, typename T34\r
+    >\r
+struct vector35\r
+{\r
+    typedef aux::vector_tag<35> tag;\r
+    typedef vector35 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    typedef T6 item6;\r
+    typedef T7 item7;\r
+    typedef T8 item8;\r
+    typedef T9 item9;\r
+    typedef T10 item10;\r
+    typedef T11 item11;\r
+    typedef T12 item12;\r
+    typedef T13 item13;\r
+    typedef T14 item14;\r
+    typedef T15 item15;\r
+    typedef T16 item16;\r
+    typedef T17 item17;\r
+    typedef T18 item18;\r
+    typedef T19 item19;\r
+    typedef T20 item20;\r
+    typedef T21 item21;\r
+    typedef T22 item22;\r
+    typedef T23 item23;\r
+    typedef T24 item24;\r
+    typedef T25 item25;\r
+    typedef T26 item26;\r
+    typedef T27 item27;\r
+    typedef T28 item28;\r
+    typedef T29 item29;\r
+    typedef T30 item30;\r
+    typedef T31 item31;\r
+    typedef T32 item32;\r
+    typedef T33 item33;\r
+    typedef T34 item34;\r
+    \r
+\r
+    typedef void_ item35;\r
+    typedef T34 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,35 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<34> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector35<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<35> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector34<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5, typename Vector::item6\r
+            , typename Vector::item7, typename Vector::item8\r
+            , typename Vector::item9, typename Vector::item10\r
+            , typename Vector::item11, typename Vector::item12\r
+            , typename Vector::item13, typename Vector::item14\r
+            , typename Vector::item15, typename Vector::item16\r
+            , typename Vector::item17, typename Vector::item18\r
+            , typename Vector::item19, typename Vector::item20\r
+            , typename Vector::item21, typename Vector::item22\r
+            , typename Vector::item23, typename Vector::item24\r
+            , typename Vector::item25, typename Vector::item26\r
+            , typename Vector::item27, typename Vector::item28\r
+            , typename Vector::item29, typename Vector::item30\r
+            , typename Vector::item31, typename Vector::item32\r
+            , typename Vector::item33, typename Vector::item34\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<34> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector35<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<35> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector34<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            > type;\r
+    };\r
+};\r
+\r
+template< typename V >\r
+struct v_at< V,35 >\r
+{\r
+    typedef typename V::item35 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32, typename T33, typename T34\r
+    , typename T35\r
+    >\r
+struct vector36\r
+{\r
+    typedef aux::vector_tag<36> tag;\r
+    typedef vector36 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    typedef T6 item6;\r
+    typedef T7 item7;\r
+    typedef T8 item8;\r
+    typedef T9 item9;\r
+    typedef T10 item10;\r
+    typedef T11 item11;\r
+    typedef T12 item12;\r
+    typedef T13 item13;\r
+    typedef T14 item14;\r
+    typedef T15 item15;\r
+    typedef T16 item16;\r
+    typedef T17 item17;\r
+    typedef T18 item18;\r
+    typedef T19 item19;\r
+    typedef T20 item20;\r
+    typedef T21 item21;\r
+    typedef T22 item22;\r
+    typedef T23 item23;\r
+    typedef T24 item24;\r
+    typedef T25 item25;\r
+    typedef T26 item26;\r
+    typedef T27 item27;\r
+    typedef T28 item28;\r
+    typedef T29 item29;\r
+    typedef T30 item30;\r
+    typedef T31 item31;\r
+    typedef T32 item32;\r
+    typedef T33 item33;\r
+    typedef T34 item34;\r
+    typedef T35 item35;\r
+    \r
+\r
+    typedef void_ item36;\r
+    typedef T35 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,36 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<35> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector36<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<36> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector35<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5, typename Vector::item6\r
+            , typename Vector::item7, typename Vector::item8\r
+            , typename Vector::item9, typename Vector::item10\r
+            , typename Vector::item11, typename Vector::item12\r
+            , typename Vector::item13, typename Vector::item14\r
+            , typename Vector::item15, typename Vector::item16\r
+            , typename Vector::item17, typename Vector::item18\r
+            , typename Vector::item19, typename Vector::item20\r
+            , typename Vector::item21, typename Vector::item22\r
+            , typename Vector::item23, typename Vector::item24\r
+            , typename Vector::item25, typename Vector::item26\r
+            , typename Vector::item27, typename Vector::item28\r
+            , typename Vector::item29, typename Vector::item30\r
+            , typename Vector::item31, typename Vector::item32\r
+            , typename Vector::item33, typename Vector::item34\r
+            , typename Vector::item35\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<35> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector36<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<36> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector35<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34\r
+            > type;\r
+    };\r
+};\r
+\r
+template< typename V >\r
+struct v_at< V,36 >\r
+{\r
+    typedef typename V::item36 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32, typename T33, typename T34\r
+    , typename T35, typename T36\r
+    >\r
+struct vector37\r
+{\r
+    typedef aux::vector_tag<37> tag;\r
+    typedef vector37 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    typedef T6 item6;\r
+    typedef T7 item7;\r
+    typedef T8 item8;\r
+    typedef T9 item9;\r
+    typedef T10 item10;\r
+    typedef T11 item11;\r
+    typedef T12 item12;\r
+    typedef T13 item13;\r
+    typedef T14 item14;\r
+    typedef T15 item15;\r
+    typedef T16 item16;\r
+    typedef T17 item17;\r
+    typedef T18 item18;\r
+    typedef T19 item19;\r
+    typedef T20 item20;\r
+    typedef T21 item21;\r
+    typedef T22 item22;\r
+    typedef T23 item23;\r
+    typedef T24 item24;\r
+    typedef T25 item25;\r
+    typedef T26 item26;\r
+    typedef T27 item27;\r
+    typedef T28 item28;\r
+    typedef T29 item29;\r
+    typedef T30 item30;\r
+    typedef T31 item31;\r
+    typedef T32 item32;\r
+    typedef T33 item33;\r
+    typedef T34 item34;\r
+    typedef T35 item35;\r
+    typedef T36 item36;\r
+    \r
+\r
+    typedef void_ item37;\r
+    typedef T36 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,37 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<36> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector37<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34, typename Vector::item35\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<37> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector36<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5, typename Vector::item6\r
+            , typename Vector::item7, typename Vector::item8\r
+            , typename Vector::item9, typename Vector::item10\r
+            , typename Vector::item11, typename Vector::item12\r
+            , typename Vector::item13, typename Vector::item14\r
+            , typename Vector::item15, typename Vector::item16\r
+            , typename Vector::item17, typename Vector::item18\r
+            , typename Vector::item19, typename Vector::item20\r
+            , typename Vector::item21, typename Vector::item22\r
+            , typename Vector::item23, typename Vector::item24\r
+            , typename Vector::item25, typename Vector::item26\r
+            , typename Vector::item27, typename Vector::item28\r
+            , typename Vector::item29, typename Vector::item30\r
+            , typename Vector::item31, typename Vector::item32\r
+            , typename Vector::item33, typename Vector::item34\r
+            , typename Vector::item35, typename Vector::item36\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<36> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector37<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34, typename Vector::item35\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<37> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector36<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34, typename Vector::item35\r
+            > type;\r
+    };\r
+};\r
+\r
+template< typename V >\r
+struct v_at< V,37 >\r
+{\r
+    typedef typename V::item37 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32, typename T33, typename T34\r
+    , typename T35, typename T36, typename T37\r
+    >\r
+struct vector38\r
+{\r
+    typedef aux::vector_tag<38> tag;\r
+    typedef vector38 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    typedef T6 item6;\r
+    typedef T7 item7;\r
+    typedef T8 item8;\r
+    typedef T9 item9;\r
+    typedef T10 item10;\r
+    typedef T11 item11;\r
+    typedef T12 item12;\r
+    typedef T13 item13;\r
+    typedef T14 item14;\r
+    typedef T15 item15;\r
+    typedef T16 item16;\r
+    typedef T17 item17;\r
+    typedef T18 item18;\r
+    typedef T19 item19;\r
+    typedef T20 item20;\r
+    typedef T21 item21;\r
+    typedef T22 item22;\r
+    typedef T23 item23;\r
+    typedef T24 item24;\r
+    typedef T25 item25;\r
+    typedef T26 item26;\r
+    typedef T27 item27;\r
+    typedef T28 item28;\r
+    typedef T29 item29;\r
+    typedef T30 item30;\r
+    typedef T31 item31;\r
+    typedef T32 item32;\r
+    typedef T33 item33;\r
+    typedef T34 item34;\r
+    typedef T35 item35;\r
+    typedef T36 item36;\r
+    typedef T37 item37;\r
+    \r
+\r
+    typedef void_ item38;\r
+    typedef T37 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,38 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<37> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector38<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34, typename Vector::item35\r
+            , typename Vector::item36\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<38> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector37<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5, typename Vector::item6\r
+            , typename Vector::item7, typename Vector::item8\r
+            , typename Vector::item9, typename Vector::item10\r
+            , typename Vector::item11, typename Vector::item12\r
+            , typename Vector::item13, typename Vector::item14\r
+            , typename Vector::item15, typename Vector::item16\r
+            , typename Vector::item17, typename Vector::item18\r
+            , typename Vector::item19, typename Vector::item20\r
+            , typename Vector::item21, typename Vector::item22\r
+            , typename Vector::item23, typename Vector::item24\r
+            , typename Vector::item25, typename Vector::item26\r
+            , typename Vector::item27, typename Vector::item28\r
+            , typename Vector::item29, typename Vector::item30\r
+            , typename Vector::item31, typename Vector::item32\r
+            , typename Vector::item33, typename Vector::item34\r
+            , typename Vector::item35, typename Vector::item36\r
+            , typename Vector::item37\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<37> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector38<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34, typename Vector::item35\r
+            , typename Vector::item36\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<38> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector37<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34, typename Vector::item35\r
+            , typename Vector::item36\r
+            > type;\r
+    };\r
+};\r
+\r
+template< typename V >\r
+struct v_at< V,38 >\r
+{\r
+    typedef typename V::item38 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32, typename T33, typename T34\r
+    , typename T35, typename T36, typename T37, typename T38\r
+    >\r
+struct vector39\r
+{\r
+    typedef aux::vector_tag<39> tag;\r
+    typedef vector39 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    typedef T6 item6;\r
+    typedef T7 item7;\r
+    typedef T8 item8;\r
+    typedef T9 item9;\r
+    typedef T10 item10;\r
+    typedef T11 item11;\r
+    typedef T12 item12;\r
+    typedef T13 item13;\r
+    typedef T14 item14;\r
+    typedef T15 item15;\r
+    typedef T16 item16;\r
+    typedef T17 item17;\r
+    typedef T18 item18;\r
+    typedef T19 item19;\r
+    typedef T20 item20;\r
+    typedef T21 item21;\r
+    typedef T22 item22;\r
+    typedef T23 item23;\r
+    typedef T24 item24;\r
+    typedef T25 item25;\r
+    typedef T26 item26;\r
+    typedef T27 item27;\r
+    typedef T28 item28;\r
+    typedef T29 item29;\r
+    typedef T30 item30;\r
+    typedef T31 item31;\r
+    typedef T32 item32;\r
+    typedef T33 item33;\r
+    typedef T34 item34;\r
+    typedef T35 item35;\r
+    typedef T36 item36;\r
+    typedef T37 item37;\r
+    typedef T38 item38;\r
+    \r
+\r
+    typedef void_ item39;\r
+    typedef T38 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,39 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<38> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector39<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34, typename Vector::item35\r
+            , typename Vector::item36, typename Vector::item37\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<39> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector38<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5, typename Vector::item6\r
+            , typename Vector::item7, typename Vector::item8\r
+            , typename Vector::item9, typename Vector::item10\r
+            , typename Vector::item11, typename Vector::item12\r
+            , typename Vector::item13, typename Vector::item14\r
+            , typename Vector::item15, typename Vector::item16\r
+            , typename Vector::item17, typename Vector::item18\r
+            , typename Vector::item19, typename Vector::item20\r
+            , typename Vector::item21, typename Vector::item22\r
+            , typename Vector::item23, typename Vector::item24\r
+            , typename Vector::item25, typename Vector::item26\r
+            , typename Vector::item27, typename Vector::item28\r
+            , typename Vector::item29, typename Vector::item30\r
+            , typename Vector::item31, typename Vector::item32\r
+            , typename Vector::item33, typename Vector::item34\r
+            , typename Vector::item35, typename Vector::item36\r
+            , typename Vector::item37, typename Vector::item38\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<38> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector39<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34, typename Vector::item35\r
+            , typename Vector::item36, typename Vector::item37\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<39> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector38<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34, typename Vector::item35\r
+            , typename Vector::item36, typename Vector::item37\r
+            > type;\r
+    };\r
+};\r
+\r
+template< typename V >\r
+struct v_at< V,39 >\r
+{\r
+    typedef typename V::item39 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32, typename T33, typename T34\r
+    , typename T35, typename T36, typename T37, typename T38, typename T39\r
+    >\r
+struct vector40\r
+{\r
+    typedef aux::vector_tag<40> tag;\r
+    typedef vector40 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    typedef T6 item6;\r
+    typedef T7 item7;\r
+    typedef T8 item8;\r
+    typedef T9 item9;\r
+    typedef T10 item10;\r
+    typedef T11 item11;\r
+    typedef T12 item12;\r
+    typedef T13 item13;\r
+    typedef T14 item14;\r
+    typedef T15 item15;\r
+    typedef T16 item16;\r
+    typedef T17 item17;\r
+    typedef T18 item18;\r
+    typedef T19 item19;\r
+    typedef T20 item20;\r
+    typedef T21 item21;\r
+    typedef T22 item22;\r
+    typedef T23 item23;\r
+    typedef T24 item24;\r
+    typedef T25 item25;\r
+    typedef T26 item26;\r
+    typedef T27 item27;\r
+    typedef T28 item28;\r
+    typedef T29 item29;\r
+    typedef T30 item30;\r
+    typedef T31 item31;\r
+    typedef T32 item32;\r
+    typedef T33 item33;\r
+    typedef T34 item34;\r
+    typedef T35 item35;\r
+    typedef T36 item36;\r
+    typedef T37 item37;\r
+    typedef T38 item38;\r
+    typedef T39 item39;\r
+    \r
+\r
+    typedef void_ item40;\r
+    typedef T39 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,40 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<39> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector40<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34, typename Vector::item35\r
+            , typename Vector::item36, typename Vector::item37\r
+            , typename Vector::item38\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<40> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector39<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5, typename Vector::item6\r
+            , typename Vector::item7, typename Vector::item8\r
+            , typename Vector::item9, typename Vector::item10\r
+            , typename Vector::item11, typename Vector::item12\r
+            , typename Vector::item13, typename Vector::item14\r
+            , typename Vector::item15, typename Vector::item16\r
+            , typename Vector::item17, typename Vector::item18\r
+            , typename Vector::item19, typename Vector::item20\r
+            , typename Vector::item21, typename Vector::item22\r
+            , typename Vector::item23, typename Vector::item24\r
+            , typename Vector::item25, typename Vector::item26\r
+            , typename Vector::item27, typename Vector::item28\r
+            , typename Vector::item29, typename Vector::item30\r
+            , typename Vector::item31, typename Vector::item32\r
+            , typename Vector::item33, typename Vector::item34\r
+            , typename Vector::item35, typename Vector::item36\r
+            , typename Vector::item37, typename Vector::item38\r
+            , typename Vector::item39\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<39> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector40<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34, typename Vector::item35\r
+            , typename Vector::item36, typename Vector::item37\r
+            , typename Vector::item38\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<40> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector39<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34, typename Vector::item35\r
+            , typename Vector::item36, typename Vector::item37\r
+            , typename Vector::item38\r
+            > type;\r
+    };\r
+};\r
+\r
+template< typename V >\r
+struct v_at< V,40 >\r
+{\r
+    typedef typename V::item40 type;\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..f248b0d
--- /dev/null
@@ -0,0 +1,281 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/vector/vector40_c.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    >\r
+struct vector31_c\r
+    : vector31<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >\r
+        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >\r
+        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >\r
+        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >\r
+        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >\r
+        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >\r
+        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >\r
+        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >\r
+        , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 > \r
+ >\r
+{\r
+    typedef vector31_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31\r
+    >\r
+struct vector32_c\r
+    : vector32<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >\r
+        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >\r
+        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >\r
+        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >\r
+        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >\r
+        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >\r
+        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >\r
+        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >\r
+        , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >, integral_c<T\r
+        , C31> \r
+ >\r
+{\r
+    typedef vector32_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32\r
+    >\r
+struct vector33_c\r
+    : vector33<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >\r
+        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >\r
+        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >\r
+        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >\r
+        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >\r
+        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >\r
+        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >\r
+        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >\r
+        , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >\r
+        , integral_c< T,C31 >, integral_c< T,C32 > \r
+ >\r
+{\r
+    typedef vector33_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32, T C33\r
+    >\r
+struct vector34_c\r
+    : vector34<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >\r
+        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >\r
+        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >\r
+        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >\r
+        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >\r
+        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >\r
+        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >\r
+        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >\r
+        , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >\r
+        , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 > \r
+ >\r
+{\r
+    typedef vector34_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32, T C33, T C34\r
+    >\r
+struct vector35_c\r
+    : vector35<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >\r
+        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >\r
+        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >\r
+        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >\r
+        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >\r
+        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >\r
+        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >\r
+        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >\r
+        , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >\r
+        , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >, integral_c<T\r
+        , C34> \r
+ >\r
+{\r
+    typedef vector35_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32, T C33, T C34, T C35\r
+    >\r
+struct vector36_c\r
+    : vector36<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >\r
+        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >\r
+        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >\r
+        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >\r
+        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >\r
+        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >\r
+        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >\r
+        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >\r
+        , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >\r
+        , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >\r
+        , integral_c< T,C34 >, integral_c< T,C35 > \r
+ >\r
+{\r
+    typedef vector36_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32, T C33, T C34, T C35, T C36\r
+    >\r
+struct vector37_c\r
+    : vector37<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >\r
+        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >\r
+        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >\r
+        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >\r
+        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >\r
+        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >\r
+        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >\r
+        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >\r
+        , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >\r
+        , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >\r
+        , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 > \r
+ >\r
+{\r
+    typedef vector37_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32, T C33, T C34, T C35, T C36, T C37\r
+    >\r
+struct vector38_c\r
+    : vector38<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >\r
+        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >\r
+        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >\r
+        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >\r
+        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >\r
+        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >\r
+        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >\r
+        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >\r
+        , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >\r
+        , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >\r
+        , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >, integral_c<T\r
+        , C37> \r
+ >\r
+{\r
+    typedef vector38_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38\r
+    >\r
+struct vector39_c\r
+    : vector39<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >\r
+        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >\r
+        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >\r
+        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >\r
+        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >\r
+        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >\r
+        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >\r
+        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >\r
+        , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >\r
+        , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >\r
+        , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >\r
+        , integral_c< T,C37 >, integral_c< T,C38 > \r
+ >\r
+{\r
+    typedef vector39_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39\r
+    >\r
+struct vector40_c\r
+    : vector40<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >\r
+        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >\r
+        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >\r
+        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >\r
+        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >\r
+        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >\r
+        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >\r
+        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >\r
+        , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >\r
+        , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >\r
+        , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >\r
+        , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 > \r
+ >\r
+{\r
+    typedef vector40_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..f7950d3
--- /dev/null
@@ -0,0 +1,2104 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/vector/vector50.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32, typename T33, typename T34\r
+    , typename T35, typename T36, typename T37, typename T38, typename T39\r
+    , typename T40\r
+    >\r
+struct vector41\r
+{\r
+    typedef aux::vector_tag<41> tag;\r
+    typedef vector41 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    typedef T6 item6;\r
+    typedef T7 item7;\r
+    typedef T8 item8;\r
+    typedef T9 item9;\r
+    typedef T10 item10;\r
+    typedef T11 item11;\r
+    typedef T12 item12;\r
+    typedef T13 item13;\r
+    typedef T14 item14;\r
+    typedef T15 item15;\r
+    typedef T16 item16;\r
+    typedef T17 item17;\r
+    typedef T18 item18;\r
+    typedef T19 item19;\r
+    typedef T20 item20;\r
+    typedef T21 item21;\r
+    typedef T22 item22;\r
+    typedef T23 item23;\r
+    typedef T24 item24;\r
+    typedef T25 item25;\r
+    typedef T26 item26;\r
+    typedef T27 item27;\r
+    typedef T28 item28;\r
+    typedef T29 item29;\r
+    typedef T30 item30;\r
+    typedef T31 item31;\r
+    typedef T32 item32;\r
+    typedef T33 item33;\r
+    typedef T34 item34;\r
+    typedef T35 item35;\r
+    typedef T36 item36;\r
+    typedef T37 item37;\r
+    typedef T38 item38;\r
+    typedef T39 item39;\r
+    typedef T40 item40;\r
+    \r
+\r
+    typedef void_ item41;\r
+    typedef T40 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,41 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<40> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector41<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34, typename Vector::item35\r
+            , typename Vector::item36, typename Vector::item37\r
+            , typename Vector::item38, typename Vector::item39\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<41> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector40<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5, typename Vector::item6\r
+            , typename Vector::item7, typename Vector::item8\r
+            , typename Vector::item9, typename Vector::item10\r
+            , typename Vector::item11, typename Vector::item12\r
+            , typename Vector::item13, typename Vector::item14\r
+            , typename Vector::item15, typename Vector::item16\r
+            , typename Vector::item17, typename Vector::item18\r
+            , typename Vector::item19, typename Vector::item20\r
+            , typename Vector::item21, typename Vector::item22\r
+            , typename Vector::item23, typename Vector::item24\r
+            , typename Vector::item25, typename Vector::item26\r
+            , typename Vector::item27, typename Vector::item28\r
+            , typename Vector::item29, typename Vector::item30\r
+            , typename Vector::item31, typename Vector::item32\r
+            , typename Vector::item33, typename Vector::item34\r
+            , typename Vector::item35, typename Vector::item36\r
+            , typename Vector::item37, typename Vector::item38\r
+            , typename Vector::item39, typename Vector::item40\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<40> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector41<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34, typename Vector::item35\r
+            , typename Vector::item36, typename Vector::item37\r
+            , typename Vector::item38, typename Vector::item39\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<41> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector40<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34, typename Vector::item35\r
+            , typename Vector::item36, typename Vector::item37\r
+            , typename Vector::item38, typename Vector::item39\r
+            > type;\r
+    };\r
+};\r
+\r
+template< typename V >\r
+struct v_at< V,41 >\r
+{\r
+    typedef typename V::item41 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32, typename T33, typename T34\r
+    , typename T35, typename T36, typename T37, typename T38, typename T39\r
+    , typename T40, typename T41\r
+    >\r
+struct vector42\r
+{\r
+    typedef aux::vector_tag<42> tag;\r
+    typedef vector42 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    typedef T6 item6;\r
+    typedef T7 item7;\r
+    typedef T8 item8;\r
+    typedef T9 item9;\r
+    typedef T10 item10;\r
+    typedef T11 item11;\r
+    typedef T12 item12;\r
+    typedef T13 item13;\r
+    typedef T14 item14;\r
+    typedef T15 item15;\r
+    typedef T16 item16;\r
+    typedef T17 item17;\r
+    typedef T18 item18;\r
+    typedef T19 item19;\r
+    typedef T20 item20;\r
+    typedef T21 item21;\r
+    typedef T22 item22;\r
+    typedef T23 item23;\r
+    typedef T24 item24;\r
+    typedef T25 item25;\r
+    typedef T26 item26;\r
+    typedef T27 item27;\r
+    typedef T28 item28;\r
+    typedef T29 item29;\r
+    typedef T30 item30;\r
+    typedef T31 item31;\r
+    typedef T32 item32;\r
+    typedef T33 item33;\r
+    typedef T34 item34;\r
+    typedef T35 item35;\r
+    typedef T36 item36;\r
+    typedef T37 item37;\r
+    typedef T38 item38;\r
+    typedef T39 item39;\r
+    typedef T40 item40;\r
+    typedef T41 item41;\r
+    \r
+\r
+    typedef void_ item42;\r
+    typedef T41 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,42 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<41> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector42<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34, typename Vector::item35\r
+            , typename Vector::item36, typename Vector::item37\r
+            , typename Vector::item38, typename Vector::item39\r
+            , typename Vector::item40\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<42> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector41<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5, typename Vector::item6\r
+            , typename Vector::item7, typename Vector::item8\r
+            , typename Vector::item9, typename Vector::item10\r
+            , typename Vector::item11, typename Vector::item12\r
+            , typename Vector::item13, typename Vector::item14\r
+            , typename Vector::item15, typename Vector::item16\r
+            , typename Vector::item17, typename Vector::item18\r
+            , typename Vector::item19, typename Vector::item20\r
+            , typename Vector::item21, typename Vector::item22\r
+            , typename Vector::item23, typename Vector::item24\r
+            , typename Vector::item25, typename Vector::item26\r
+            , typename Vector::item27, typename Vector::item28\r
+            , typename Vector::item29, typename Vector::item30\r
+            , typename Vector::item31, typename Vector::item32\r
+            , typename Vector::item33, typename Vector::item34\r
+            , typename Vector::item35, typename Vector::item36\r
+            , typename Vector::item37, typename Vector::item38\r
+            , typename Vector::item39, typename Vector::item40\r
+            , typename Vector::item41\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<41> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector42<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34, typename Vector::item35\r
+            , typename Vector::item36, typename Vector::item37\r
+            , typename Vector::item38, typename Vector::item39\r
+            , typename Vector::item40\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<42> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector41<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34, typename Vector::item35\r
+            , typename Vector::item36, typename Vector::item37\r
+            , typename Vector::item38, typename Vector::item39\r
+            , typename Vector::item40\r
+            > type;\r
+    };\r
+};\r
+\r
+template< typename V >\r
+struct v_at< V,42 >\r
+{\r
+    typedef typename V::item42 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32, typename T33, typename T34\r
+    , typename T35, typename T36, typename T37, typename T38, typename T39\r
+    , typename T40, typename T41, typename T42\r
+    >\r
+struct vector43\r
+{\r
+    typedef aux::vector_tag<43> tag;\r
+    typedef vector43 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    typedef T6 item6;\r
+    typedef T7 item7;\r
+    typedef T8 item8;\r
+    typedef T9 item9;\r
+    typedef T10 item10;\r
+    typedef T11 item11;\r
+    typedef T12 item12;\r
+    typedef T13 item13;\r
+    typedef T14 item14;\r
+    typedef T15 item15;\r
+    typedef T16 item16;\r
+    typedef T17 item17;\r
+    typedef T18 item18;\r
+    typedef T19 item19;\r
+    typedef T20 item20;\r
+    typedef T21 item21;\r
+    typedef T22 item22;\r
+    typedef T23 item23;\r
+    typedef T24 item24;\r
+    typedef T25 item25;\r
+    typedef T26 item26;\r
+    typedef T27 item27;\r
+    typedef T28 item28;\r
+    typedef T29 item29;\r
+    typedef T30 item30;\r
+    typedef T31 item31;\r
+    typedef T32 item32;\r
+    typedef T33 item33;\r
+    typedef T34 item34;\r
+    typedef T35 item35;\r
+    typedef T36 item36;\r
+    typedef T37 item37;\r
+    typedef T38 item38;\r
+    typedef T39 item39;\r
+    typedef T40 item40;\r
+    typedef T41 item41;\r
+    typedef T42 item42;\r
+    \r
+\r
+    typedef void_ item43;\r
+    typedef T42 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,43 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<42> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector43<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34, typename Vector::item35\r
+            , typename Vector::item36, typename Vector::item37\r
+            , typename Vector::item38, typename Vector::item39\r
+            , typename Vector::item40, typename Vector::item41\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<43> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector42<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5, typename Vector::item6\r
+            , typename Vector::item7, typename Vector::item8\r
+            , typename Vector::item9, typename Vector::item10\r
+            , typename Vector::item11, typename Vector::item12\r
+            , typename Vector::item13, typename Vector::item14\r
+            , typename Vector::item15, typename Vector::item16\r
+            , typename Vector::item17, typename Vector::item18\r
+            , typename Vector::item19, typename Vector::item20\r
+            , typename Vector::item21, typename Vector::item22\r
+            , typename Vector::item23, typename Vector::item24\r
+            , typename Vector::item25, typename Vector::item26\r
+            , typename Vector::item27, typename Vector::item28\r
+            , typename Vector::item29, typename Vector::item30\r
+            , typename Vector::item31, typename Vector::item32\r
+            , typename Vector::item33, typename Vector::item34\r
+            , typename Vector::item35, typename Vector::item36\r
+            , typename Vector::item37, typename Vector::item38\r
+            , typename Vector::item39, typename Vector::item40\r
+            , typename Vector::item41, typename Vector::item42\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<42> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector43<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34, typename Vector::item35\r
+            , typename Vector::item36, typename Vector::item37\r
+            , typename Vector::item38, typename Vector::item39\r
+            , typename Vector::item40, typename Vector::item41\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<43> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector42<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34, typename Vector::item35\r
+            , typename Vector::item36, typename Vector::item37\r
+            , typename Vector::item38, typename Vector::item39\r
+            , typename Vector::item40, typename Vector::item41\r
+            > type;\r
+    };\r
+};\r
+\r
+template< typename V >\r
+struct v_at< V,43 >\r
+{\r
+    typedef typename V::item43 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32, typename T33, typename T34\r
+    , typename T35, typename T36, typename T37, typename T38, typename T39\r
+    , typename T40, typename T41, typename T42, typename T43\r
+    >\r
+struct vector44\r
+{\r
+    typedef aux::vector_tag<44> tag;\r
+    typedef vector44 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    typedef T6 item6;\r
+    typedef T7 item7;\r
+    typedef T8 item8;\r
+    typedef T9 item9;\r
+    typedef T10 item10;\r
+    typedef T11 item11;\r
+    typedef T12 item12;\r
+    typedef T13 item13;\r
+    typedef T14 item14;\r
+    typedef T15 item15;\r
+    typedef T16 item16;\r
+    typedef T17 item17;\r
+    typedef T18 item18;\r
+    typedef T19 item19;\r
+    typedef T20 item20;\r
+    typedef T21 item21;\r
+    typedef T22 item22;\r
+    typedef T23 item23;\r
+    typedef T24 item24;\r
+    typedef T25 item25;\r
+    typedef T26 item26;\r
+    typedef T27 item27;\r
+    typedef T28 item28;\r
+    typedef T29 item29;\r
+    typedef T30 item30;\r
+    typedef T31 item31;\r
+    typedef T32 item32;\r
+    typedef T33 item33;\r
+    typedef T34 item34;\r
+    typedef T35 item35;\r
+    typedef T36 item36;\r
+    typedef T37 item37;\r
+    typedef T38 item38;\r
+    typedef T39 item39;\r
+    typedef T40 item40;\r
+    typedef T41 item41;\r
+    typedef T42 item42;\r
+    typedef T43 item43;\r
+    \r
+\r
+    typedef void_ item44;\r
+    typedef T43 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,44 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<43> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector44<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34, typename Vector::item35\r
+            , typename Vector::item36, typename Vector::item37\r
+            , typename Vector::item38, typename Vector::item39\r
+            , typename Vector::item40, typename Vector::item41\r
+            , typename Vector::item42\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<44> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector43<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5, typename Vector::item6\r
+            , typename Vector::item7, typename Vector::item8\r
+            , typename Vector::item9, typename Vector::item10\r
+            , typename Vector::item11, typename Vector::item12\r
+            , typename Vector::item13, typename Vector::item14\r
+            , typename Vector::item15, typename Vector::item16\r
+            , typename Vector::item17, typename Vector::item18\r
+            , typename Vector::item19, typename Vector::item20\r
+            , typename Vector::item21, typename Vector::item22\r
+            , typename Vector::item23, typename Vector::item24\r
+            , typename Vector::item25, typename Vector::item26\r
+            , typename Vector::item27, typename Vector::item28\r
+            , typename Vector::item29, typename Vector::item30\r
+            , typename Vector::item31, typename Vector::item32\r
+            , typename Vector::item33, typename Vector::item34\r
+            , typename Vector::item35, typename Vector::item36\r
+            , typename Vector::item37, typename Vector::item38\r
+            , typename Vector::item39, typename Vector::item40\r
+            , typename Vector::item41, typename Vector::item42\r
+            , typename Vector::item43\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<43> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector44<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34, typename Vector::item35\r
+            , typename Vector::item36, typename Vector::item37\r
+            , typename Vector::item38, typename Vector::item39\r
+            , typename Vector::item40, typename Vector::item41\r
+            , typename Vector::item42\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<44> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector43<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34, typename Vector::item35\r
+            , typename Vector::item36, typename Vector::item37\r
+            , typename Vector::item38, typename Vector::item39\r
+            , typename Vector::item40, typename Vector::item41\r
+            , typename Vector::item42\r
+            > type;\r
+    };\r
+};\r
+\r
+template< typename V >\r
+struct v_at< V,44 >\r
+{\r
+    typedef typename V::item44 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32, typename T33, typename T34\r
+    , typename T35, typename T36, typename T37, typename T38, typename T39\r
+    , typename T40, typename T41, typename T42, typename T43, typename T44\r
+    >\r
+struct vector45\r
+{\r
+    typedef aux::vector_tag<45> tag;\r
+    typedef vector45 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    typedef T6 item6;\r
+    typedef T7 item7;\r
+    typedef T8 item8;\r
+    typedef T9 item9;\r
+    typedef T10 item10;\r
+    typedef T11 item11;\r
+    typedef T12 item12;\r
+    typedef T13 item13;\r
+    typedef T14 item14;\r
+    typedef T15 item15;\r
+    typedef T16 item16;\r
+    typedef T17 item17;\r
+    typedef T18 item18;\r
+    typedef T19 item19;\r
+    typedef T20 item20;\r
+    typedef T21 item21;\r
+    typedef T22 item22;\r
+    typedef T23 item23;\r
+    typedef T24 item24;\r
+    typedef T25 item25;\r
+    typedef T26 item26;\r
+    typedef T27 item27;\r
+    typedef T28 item28;\r
+    typedef T29 item29;\r
+    typedef T30 item30;\r
+    typedef T31 item31;\r
+    typedef T32 item32;\r
+    typedef T33 item33;\r
+    typedef T34 item34;\r
+    typedef T35 item35;\r
+    typedef T36 item36;\r
+    typedef T37 item37;\r
+    typedef T38 item38;\r
+    typedef T39 item39;\r
+    typedef T40 item40;\r
+    typedef T41 item41;\r
+    typedef T42 item42;\r
+    typedef T43 item43;\r
+    typedef T44 item44;\r
+    \r
+\r
+    typedef void_ item45;\r
+    typedef T44 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,45 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<44> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector45<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34, typename Vector::item35\r
+            , typename Vector::item36, typename Vector::item37\r
+            , typename Vector::item38, typename Vector::item39\r
+            , typename Vector::item40, typename Vector::item41\r
+            , typename Vector::item42, typename Vector::item43\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<45> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector44<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5, typename Vector::item6\r
+            , typename Vector::item7, typename Vector::item8\r
+            , typename Vector::item9, typename Vector::item10\r
+            , typename Vector::item11, typename Vector::item12\r
+            , typename Vector::item13, typename Vector::item14\r
+            , typename Vector::item15, typename Vector::item16\r
+            , typename Vector::item17, typename Vector::item18\r
+            , typename Vector::item19, typename Vector::item20\r
+            , typename Vector::item21, typename Vector::item22\r
+            , typename Vector::item23, typename Vector::item24\r
+            , typename Vector::item25, typename Vector::item26\r
+            , typename Vector::item27, typename Vector::item28\r
+            , typename Vector::item29, typename Vector::item30\r
+            , typename Vector::item31, typename Vector::item32\r
+            , typename Vector::item33, typename Vector::item34\r
+            , typename Vector::item35, typename Vector::item36\r
+            , typename Vector::item37, typename Vector::item38\r
+            , typename Vector::item39, typename Vector::item40\r
+            , typename Vector::item41, typename Vector::item42\r
+            , typename Vector::item43, typename Vector::item44\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<44> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector45<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34, typename Vector::item35\r
+            , typename Vector::item36, typename Vector::item37\r
+            , typename Vector::item38, typename Vector::item39\r
+            , typename Vector::item40, typename Vector::item41\r
+            , typename Vector::item42, typename Vector::item43\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<45> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector44<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34, typename Vector::item35\r
+            , typename Vector::item36, typename Vector::item37\r
+            , typename Vector::item38, typename Vector::item39\r
+            , typename Vector::item40, typename Vector::item41\r
+            , typename Vector::item42, typename Vector::item43\r
+            > type;\r
+    };\r
+};\r
+\r
+template< typename V >\r
+struct v_at< V,45 >\r
+{\r
+    typedef typename V::item45 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32, typename T33, typename T34\r
+    , typename T35, typename T36, typename T37, typename T38, typename T39\r
+    , typename T40, typename T41, typename T42, typename T43, typename T44\r
+    , typename T45\r
+    >\r
+struct vector46\r
+{\r
+    typedef aux::vector_tag<46> tag;\r
+    typedef vector46 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    typedef T6 item6;\r
+    typedef T7 item7;\r
+    typedef T8 item8;\r
+    typedef T9 item9;\r
+    typedef T10 item10;\r
+    typedef T11 item11;\r
+    typedef T12 item12;\r
+    typedef T13 item13;\r
+    typedef T14 item14;\r
+    typedef T15 item15;\r
+    typedef T16 item16;\r
+    typedef T17 item17;\r
+    typedef T18 item18;\r
+    typedef T19 item19;\r
+    typedef T20 item20;\r
+    typedef T21 item21;\r
+    typedef T22 item22;\r
+    typedef T23 item23;\r
+    typedef T24 item24;\r
+    typedef T25 item25;\r
+    typedef T26 item26;\r
+    typedef T27 item27;\r
+    typedef T28 item28;\r
+    typedef T29 item29;\r
+    typedef T30 item30;\r
+    typedef T31 item31;\r
+    typedef T32 item32;\r
+    typedef T33 item33;\r
+    typedef T34 item34;\r
+    typedef T35 item35;\r
+    typedef T36 item36;\r
+    typedef T37 item37;\r
+    typedef T38 item38;\r
+    typedef T39 item39;\r
+    typedef T40 item40;\r
+    typedef T41 item41;\r
+    typedef T42 item42;\r
+    typedef T43 item43;\r
+    typedef T44 item44;\r
+    typedef T45 item45;\r
+    \r
+\r
+    typedef void_ item46;\r
+    typedef T45 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,46 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<45> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector46<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34, typename Vector::item35\r
+            , typename Vector::item36, typename Vector::item37\r
+            , typename Vector::item38, typename Vector::item39\r
+            , typename Vector::item40, typename Vector::item41\r
+            , typename Vector::item42, typename Vector::item43\r
+            , typename Vector::item44\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<46> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector45<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5, typename Vector::item6\r
+            , typename Vector::item7, typename Vector::item8\r
+            , typename Vector::item9, typename Vector::item10\r
+            , typename Vector::item11, typename Vector::item12\r
+            , typename Vector::item13, typename Vector::item14\r
+            , typename Vector::item15, typename Vector::item16\r
+            , typename Vector::item17, typename Vector::item18\r
+            , typename Vector::item19, typename Vector::item20\r
+            , typename Vector::item21, typename Vector::item22\r
+            , typename Vector::item23, typename Vector::item24\r
+            , typename Vector::item25, typename Vector::item26\r
+            , typename Vector::item27, typename Vector::item28\r
+            , typename Vector::item29, typename Vector::item30\r
+            , typename Vector::item31, typename Vector::item32\r
+            , typename Vector::item33, typename Vector::item34\r
+            , typename Vector::item35, typename Vector::item36\r
+            , typename Vector::item37, typename Vector::item38\r
+            , typename Vector::item39, typename Vector::item40\r
+            , typename Vector::item41, typename Vector::item42\r
+            , typename Vector::item43, typename Vector::item44\r
+            , typename Vector::item45\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<45> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector46<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34, typename Vector::item35\r
+            , typename Vector::item36, typename Vector::item37\r
+            , typename Vector::item38, typename Vector::item39\r
+            , typename Vector::item40, typename Vector::item41\r
+            , typename Vector::item42, typename Vector::item43\r
+            , typename Vector::item44\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<46> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector45<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34, typename Vector::item35\r
+            , typename Vector::item36, typename Vector::item37\r
+            , typename Vector::item38, typename Vector::item39\r
+            , typename Vector::item40, typename Vector::item41\r
+            , typename Vector::item42, typename Vector::item43\r
+            , typename Vector::item44\r
+            > type;\r
+    };\r
+};\r
+\r
+template< typename V >\r
+struct v_at< V,46 >\r
+{\r
+    typedef typename V::item46 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32, typename T33, typename T34\r
+    , typename T35, typename T36, typename T37, typename T38, typename T39\r
+    , typename T40, typename T41, typename T42, typename T43, typename T44\r
+    , typename T45, typename T46\r
+    >\r
+struct vector47\r
+{\r
+    typedef aux::vector_tag<47> tag;\r
+    typedef vector47 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    typedef T6 item6;\r
+    typedef T7 item7;\r
+    typedef T8 item8;\r
+    typedef T9 item9;\r
+    typedef T10 item10;\r
+    typedef T11 item11;\r
+    typedef T12 item12;\r
+    typedef T13 item13;\r
+    typedef T14 item14;\r
+    typedef T15 item15;\r
+    typedef T16 item16;\r
+    typedef T17 item17;\r
+    typedef T18 item18;\r
+    typedef T19 item19;\r
+    typedef T20 item20;\r
+    typedef T21 item21;\r
+    typedef T22 item22;\r
+    typedef T23 item23;\r
+    typedef T24 item24;\r
+    typedef T25 item25;\r
+    typedef T26 item26;\r
+    typedef T27 item27;\r
+    typedef T28 item28;\r
+    typedef T29 item29;\r
+    typedef T30 item30;\r
+    typedef T31 item31;\r
+    typedef T32 item32;\r
+    typedef T33 item33;\r
+    typedef T34 item34;\r
+    typedef T35 item35;\r
+    typedef T36 item36;\r
+    typedef T37 item37;\r
+    typedef T38 item38;\r
+    typedef T39 item39;\r
+    typedef T40 item40;\r
+    typedef T41 item41;\r
+    typedef T42 item42;\r
+    typedef T43 item43;\r
+    typedef T44 item44;\r
+    typedef T45 item45;\r
+    typedef T46 item46;\r
+    \r
+\r
+    typedef void_ item47;\r
+    typedef T46 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,47 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<46> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector47<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34, typename Vector::item35\r
+            , typename Vector::item36, typename Vector::item37\r
+            , typename Vector::item38, typename Vector::item39\r
+            , typename Vector::item40, typename Vector::item41\r
+            , typename Vector::item42, typename Vector::item43\r
+            , typename Vector::item44, typename Vector::item45\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<47> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector46<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5, typename Vector::item6\r
+            , typename Vector::item7, typename Vector::item8\r
+            , typename Vector::item9, typename Vector::item10\r
+            , typename Vector::item11, typename Vector::item12\r
+            , typename Vector::item13, typename Vector::item14\r
+            , typename Vector::item15, typename Vector::item16\r
+            , typename Vector::item17, typename Vector::item18\r
+            , typename Vector::item19, typename Vector::item20\r
+            , typename Vector::item21, typename Vector::item22\r
+            , typename Vector::item23, typename Vector::item24\r
+            , typename Vector::item25, typename Vector::item26\r
+            , typename Vector::item27, typename Vector::item28\r
+            , typename Vector::item29, typename Vector::item30\r
+            , typename Vector::item31, typename Vector::item32\r
+            , typename Vector::item33, typename Vector::item34\r
+            , typename Vector::item35, typename Vector::item36\r
+            , typename Vector::item37, typename Vector::item38\r
+            , typename Vector::item39, typename Vector::item40\r
+            , typename Vector::item41, typename Vector::item42\r
+            , typename Vector::item43, typename Vector::item44\r
+            , typename Vector::item45, typename Vector::item46\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<46> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector47<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34, typename Vector::item35\r
+            , typename Vector::item36, typename Vector::item37\r
+            , typename Vector::item38, typename Vector::item39\r
+            , typename Vector::item40, typename Vector::item41\r
+            , typename Vector::item42, typename Vector::item43\r
+            , typename Vector::item44, typename Vector::item45\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<47> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector46<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34, typename Vector::item35\r
+            , typename Vector::item36, typename Vector::item37\r
+            , typename Vector::item38, typename Vector::item39\r
+            , typename Vector::item40, typename Vector::item41\r
+            , typename Vector::item42, typename Vector::item43\r
+            , typename Vector::item44, typename Vector::item45\r
+            > type;\r
+    };\r
+};\r
+\r
+template< typename V >\r
+struct v_at< V,47 >\r
+{\r
+    typedef typename V::item47 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32, typename T33, typename T34\r
+    , typename T35, typename T36, typename T37, typename T38, typename T39\r
+    , typename T40, typename T41, typename T42, typename T43, typename T44\r
+    , typename T45, typename T46, typename T47\r
+    >\r
+struct vector48\r
+{\r
+    typedef aux::vector_tag<48> tag;\r
+    typedef vector48 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    typedef T6 item6;\r
+    typedef T7 item7;\r
+    typedef T8 item8;\r
+    typedef T9 item9;\r
+    typedef T10 item10;\r
+    typedef T11 item11;\r
+    typedef T12 item12;\r
+    typedef T13 item13;\r
+    typedef T14 item14;\r
+    typedef T15 item15;\r
+    typedef T16 item16;\r
+    typedef T17 item17;\r
+    typedef T18 item18;\r
+    typedef T19 item19;\r
+    typedef T20 item20;\r
+    typedef T21 item21;\r
+    typedef T22 item22;\r
+    typedef T23 item23;\r
+    typedef T24 item24;\r
+    typedef T25 item25;\r
+    typedef T26 item26;\r
+    typedef T27 item27;\r
+    typedef T28 item28;\r
+    typedef T29 item29;\r
+    typedef T30 item30;\r
+    typedef T31 item31;\r
+    typedef T32 item32;\r
+    typedef T33 item33;\r
+    typedef T34 item34;\r
+    typedef T35 item35;\r
+    typedef T36 item36;\r
+    typedef T37 item37;\r
+    typedef T38 item38;\r
+    typedef T39 item39;\r
+    typedef T40 item40;\r
+    typedef T41 item41;\r
+    typedef T42 item42;\r
+    typedef T43 item43;\r
+    typedef T44 item44;\r
+    typedef T45 item45;\r
+    typedef T46 item46;\r
+    typedef T47 item47;\r
+    \r
+\r
+    typedef void_ item48;\r
+    typedef T47 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,48 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<47> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector48<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34, typename Vector::item35\r
+            , typename Vector::item36, typename Vector::item37\r
+            , typename Vector::item38, typename Vector::item39\r
+            , typename Vector::item40, typename Vector::item41\r
+            , typename Vector::item42, typename Vector::item43\r
+            , typename Vector::item44, typename Vector::item45\r
+            , typename Vector::item46\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<48> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector47<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5, typename Vector::item6\r
+            , typename Vector::item7, typename Vector::item8\r
+            , typename Vector::item9, typename Vector::item10\r
+            , typename Vector::item11, typename Vector::item12\r
+            , typename Vector::item13, typename Vector::item14\r
+            , typename Vector::item15, typename Vector::item16\r
+            , typename Vector::item17, typename Vector::item18\r
+            , typename Vector::item19, typename Vector::item20\r
+            , typename Vector::item21, typename Vector::item22\r
+            , typename Vector::item23, typename Vector::item24\r
+            , typename Vector::item25, typename Vector::item26\r
+            , typename Vector::item27, typename Vector::item28\r
+            , typename Vector::item29, typename Vector::item30\r
+            , typename Vector::item31, typename Vector::item32\r
+            , typename Vector::item33, typename Vector::item34\r
+            , typename Vector::item35, typename Vector::item36\r
+            , typename Vector::item37, typename Vector::item38\r
+            , typename Vector::item39, typename Vector::item40\r
+            , typename Vector::item41, typename Vector::item42\r
+            , typename Vector::item43, typename Vector::item44\r
+            , typename Vector::item45, typename Vector::item46\r
+            , typename Vector::item47\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<47> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector48<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34, typename Vector::item35\r
+            , typename Vector::item36, typename Vector::item37\r
+            , typename Vector::item38, typename Vector::item39\r
+            , typename Vector::item40, typename Vector::item41\r
+            , typename Vector::item42, typename Vector::item43\r
+            , typename Vector::item44, typename Vector::item45\r
+            , typename Vector::item46\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<48> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector47<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34, typename Vector::item35\r
+            , typename Vector::item36, typename Vector::item37\r
+            , typename Vector::item38, typename Vector::item39\r
+            , typename Vector::item40, typename Vector::item41\r
+            , typename Vector::item42, typename Vector::item43\r
+            , typename Vector::item44, typename Vector::item45\r
+            , typename Vector::item46\r
+            > type;\r
+    };\r
+};\r
+\r
+template< typename V >\r
+struct v_at< V,48 >\r
+{\r
+    typedef typename V::item48 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32, typename T33, typename T34\r
+    , typename T35, typename T36, typename T37, typename T38, typename T39\r
+    , typename T40, typename T41, typename T42, typename T43, typename T44\r
+    , typename T45, typename T46, typename T47, typename T48\r
+    >\r
+struct vector49\r
+{\r
+    typedef aux::vector_tag<49> tag;\r
+    typedef vector49 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    typedef T6 item6;\r
+    typedef T7 item7;\r
+    typedef T8 item8;\r
+    typedef T9 item9;\r
+    typedef T10 item10;\r
+    typedef T11 item11;\r
+    typedef T12 item12;\r
+    typedef T13 item13;\r
+    typedef T14 item14;\r
+    typedef T15 item15;\r
+    typedef T16 item16;\r
+    typedef T17 item17;\r
+    typedef T18 item18;\r
+    typedef T19 item19;\r
+    typedef T20 item20;\r
+    typedef T21 item21;\r
+    typedef T22 item22;\r
+    typedef T23 item23;\r
+    typedef T24 item24;\r
+    typedef T25 item25;\r
+    typedef T26 item26;\r
+    typedef T27 item27;\r
+    typedef T28 item28;\r
+    typedef T29 item29;\r
+    typedef T30 item30;\r
+    typedef T31 item31;\r
+    typedef T32 item32;\r
+    typedef T33 item33;\r
+    typedef T34 item34;\r
+    typedef T35 item35;\r
+    typedef T36 item36;\r
+    typedef T37 item37;\r
+    typedef T38 item38;\r
+    typedef T39 item39;\r
+    typedef T40 item40;\r
+    typedef T41 item41;\r
+    typedef T42 item42;\r
+    typedef T43 item43;\r
+    typedef T44 item44;\r
+    typedef T45 item45;\r
+    typedef T46 item46;\r
+    typedef T47 item47;\r
+    typedef T48 item48;\r
+    \r
+\r
+    typedef void_ item49;\r
+    typedef T48 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,49 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<48> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector49<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34, typename Vector::item35\r
+            , typename Vector::item36, typename Vector::item37\r
+            , typename Vector::item38, typename Vector::item39\r
+            , typename Vector::item40, typename Vector::item41\r
+            , typename Vector::item42, typename Vector::item43\r
+            , typename Vector::item44, typename Vector::item45\r
+            , typename Vector::item46, typename Vector::item47\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<49> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector48<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5, typename Vector::item6\r
+            , typename Vector::item7, typename Vector::item8\r
+            , typename Vector::item9, typename Vector::item10\r
+            , typename Vector::item11, typename Vector::item12\r
+            , typename Vector::item13, typename Vector::item14\r
+            , typename Vector::item15, typename Vector::item16\r
+            , typename Vector::item17, typename Vector::item18\r
+            , typename Vector::item19, typename Vector::item20\r
+            , typename Vector::item21, typename Vector::item22\r
+            , typename Vector::item23, typename Vector::item24\r
+            , typename Vector::item25, typename Vector::item26\r
+            , typename Vector::item27, typename Vector::item28\r
+            , typename Vector::item29, typename Vector::item30\r
+            , typename Vector::item31, typename Vector::item32\r
+            , typename Vector::item33, typename Vector::item34\r
+            , typename Vector::item35, typename Vector::item36\r
+            , typename Vector::item37, typename Vector::item38\r
+            , typename Vector::item39, typename Vector::item40\r
+            , typename Vector::item41, typename Vector::item42\r
+            , typename Vector::item43, typename Vector::item44\r
+            , typename Vector::item45, typename Vector::item46\r
+            , typename Vector::item47, typename Vector::item48\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<48> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector49<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34, typename Vector::item35\r
+            , typename Vector::item36, typename Vector::item37\r
+            , typename Vector::item38, typename Vector::item39\r
+            , typename Vector::item40, typename Vector::item41\r
+            , typename Vector::item42, typename Vector::item43\r
+            , typename Vector::item44, typename Vector::item45\r
+            , typename Vector::item46, typename Vector::item47\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<49> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector48<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34, typename Vector::item35\r
+            , typename Vector::item36, typename Vector::item37\r
+            , typename Vector::item38, typename Vector::item39\r
+            , typename Vector::item40, typename Vector::item41\r
+            , typename Vector::item42, typename Vector::item43\r
+            , typename Vector::item44, typename Vector::item45\r
+            , typename Vector::item46, typename Vector::item47\r
+            > type;\r
+    };\r
+};\r
+\r
+template< typename V >\r
+struct v_at< V,49 >\r
+{\r
+    typedef typename V::item49 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32, typename T33, typename T34\r
+    , typename T35, typename T36, typename T37, typename T38, typename T39\r
+    , typename T40, typename T41, typename T42, typename T43, typename T44\r
+    , typename T45, typename T46, typename T47, typename T48, typename T49\r
+    >\r
+struct vector50\r
+{\r
+    typedef aux::vector_tag<50> tag;\r
+    typedef vector50 type;\r
+    typedef T0 item0;\r
+    typedef T1 item1;\r
+    typedef T2 item2;\r
+    typedef T3 item3;\r
+    typedef T4 item4;\r
+    typedef T5 item5;\r
+    typedef T6 item6;\r
+    typedef T7 item7;\r
+    typedef T8 item8;\r
+    typedef T9 item9;\r
+    typedef T10 item10;\r
+    typedef T11 item11;\r
+    typedef T12 item12;\r
+    typedef T13 item13;\r
+    typedef T14 item14;\r
+    typedef T15 item15;\r
+    typedef T16 item16;\r
+    typedef T17 item17;\r
+    typedef T18 item18;\r
+    typedef T19 item19;\r
+    typedef T20 item20;\r
+    typedef T21 item21;\r
+    typedef T22 item22;\r
+    typedef T23 item23;\r
+    typedef T24 item24;\r
+    typedef T25 item25;\r
+    typedef T26 item26;\r
+    typedef T27 item27;\r
+    typedef T28 item28;\r
+    typedef T29 item29;\r
+    typedef T30 item30;\r
+    typedef T31 item31;\r
+    typedef T32 item32;\r
+    typedef T33 item33;\r
+    typedef T34 item34;\r
+    typedef T35 item35;\r
+    typedef T36 item36;\r
+    typedef T37 item37;\r
+    typedef T38 item38;\r
+    typedef T39 item39;\r
+    typedef T40 item40;\r
+    typedef T41 item41;\r
+    typedef T42 item42;\r
+    typedef T43 item43;\r
+    typedef T44 item44;\r
+    typedef T45 item45;\r
+    typedef T46 item46;\r
+    typedef T47 item47;\r
+    typedef T48 item48;\r
+    typedef T49 item49;\r
+    \r
+\r
+    typedef void_ item50;\r
+    typedef T49 back;\r
+    typedef v_iter< type,0 > begin;\r
+    typedef v_iter< type,50 > end;\r
+};\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag<49> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector50<\r
+              T\r
+              ,\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34, typename Vector::item35\r
+            , typename Vector::item36, typename Vector::item37\r
+            , typename Vector::item38, typename Vector::item39\r
+            , typename Vector::item40, typename Vector::item41\r
+            , typename Vector::item42, typename Vector::item43\r
+            , typename Vector::item44, typename Vector::item45\r
+            , typename Vector::item46, typename Vector::item47\r
+            , typename Vector::item48\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_front_impl< aux::vector_tag<50> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector49<\r
+              typename Vector::item1, typename Vector::item2\r
+            , typename Vector::item3, typename Vector::item4\r
+            , typename Vector::item5, typename Vector::item6\r
+            , typename Vector::item7, typename Vector::item8\r
+            , typename Vector::item9, typename Vector::item10\r
+            , typename Vector::item11, typename Vector::item12\r
+            , typename Vector::item13, typename Vector::item14\r
+            , typename Vector::item15, typename Vector::item16\r
+            , typename Vector::item17, typename Vector::item18\r
+            , typename Vector::item19, typename Vector::item20\r
+            , typename Vector::item21, typename Vector::item22\r
+            , typename Vector::item23, typename Vector::item24\r
+            , typename Vector::item25, typename Vector::item26\r
+            , typename Vector::item27, typename Vector::item28\r
+            , typename Vector::item29, typename Vector::item30\r
+            , typename Vector::item31, typename Vector::item32\r
+            , typename Vector::item33, typename Vector::item34\r
+            , typename Vector::item35, typename Vector::item36\r
+            , typename Vector::item37, typename Vector::item38\r
+            , typename Vector::item39, typename Vector::item40\r
+            , typename Vector::item41, typename Vector::item42\r
+            , typename Vector::item43, typename Vector::item44\r
+            , typename Vector::item45, typename Vector::item46\r
+            , typename Vector::item47, typename Vector::item48\r
+            , typename Vector::item49\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag<49> >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef vector50<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34, typename Vector::item35\r
+            , typename Vector::item36, typename Vector::item37\r
+            , typename Vector::item38, typename Vector::item39\r
+            , typename Vector::item40, typename Vector::item41\r
+            , typename Vector::item42, typename Vector::item43\r
+            , typename Vector::item44, typename Vector::item45\r
+            , typename Vector::item46, typename Vector::item47\r
+            , typename Vector::item48\r
+              ,\r
+              T\r
+            > type;\r
+    };\r
+};\r
+\r
+template<>\r
+struct pop_back_impl< aux::vector_tag<50> >\r
+{\r
+    template< typename Vector > struct apply\r
+    {\r
+        typedef vector49<\r
+              typename Vector::item0, typename Vector::item1\r
+            , typename Vector::item2, typename Vector::item3\r
+            , typename Vector::item4, typename Vector::item5\r
+            , typename Vector::item6, typename Vector::item7\r
+            , typename Vector::item8, typename Vector::item9\r
+            , typename Vector::item10, typename Vector::item11\r
+            , typename Vector::item12, typename Vector::item13\r
+            , typename Vector::item14, typename Vector::item15\r
+            , typename Vector::item16, typename Vector::item17\r
+            , typename Vector::item18, typename Vector::item19\r
+            , typename Vector::item20, typename Vector::item21\r
+            , typename Vector::item22, typename Vector::item23\r
+            , typename Vector::item24, typename Vector::item25\r
+            , typename Vector::item26, typename Vector::item27\r
+            , typename Vector::item28, typename Vector::item29\r
+            , typename Vector::item30, typename Vector::item31\r
+            , typename Vector::item32, typename Vector::item33\r
+            , typename Vector::item34, typename Vector::item35\r
+            , typename Vector::item36, typename Vector::item37\r
+            , typename Vector::item38, typename Vector::item39\r
+            , typename Vector::item40, typename Vector::item41\r
+            , typename Vector::item42, typename Vector::item43\r
+            , typename Vector::item44, typename Vector::item45\r
+            , typename Vector::item46, typename Vector::item47\r
+            , typename Vector::item48\r
+            > type;\r
+    };\r
+};\r
+\r
+template< typename V >\r
+struct v_at< V,50 >\r
+{\r
+    typedef typename V::item50 type;\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..4d09834
--- /dev/null
@@ -0,0 +1,325 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/vector/vector50_c.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40\r
+    >\r
+struct vector41_c\r
+    : vector41<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >\r
+        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >\r
+        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >\r
+        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >\r
+        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >\r
+        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >\r
+        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >\r
+        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >\r
+        , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >\r
+        , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >\r
+        , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >\r
+        , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 >, integral_c<T\r
+        , C40> \r
+ >\r
+{\r
+    typedef vector41_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40\r
+    , T C41\r
+    >\r
+struct vector42_c\r
+    : vector42<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >\r
+        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >\r
+        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >\r
+        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >\r
+        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >\r
+        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >\r
+        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >\r
+        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >\r
+        , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >\r
+        , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >\r
+        , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >\r
+        , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 >\r
+        , integral_c< T,C40 >, integral_c< T,C41 > \r
+ >\r
+{\r
+    typedef vector42_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40\r
+    , T C41, T C42\r
+    >\r
+struct vector43_c\r
+    : vector43<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >\r
+        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >\r
+        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >\r
+        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >\r
+        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >\r
+        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >\r
+        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >\r
+        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >\r
+        , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >\r
+        , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >\r
+        , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >\r
+        , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 >\r
+        , integral_c< T,C40 >, integral_c< T,C41 >, integral_c< T,C42 > \r
+ >\r
+{\r
+    typedef vector43_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40\r
+    , T C41, T C42, T C43\r
+    >\r
+struct vector44_c\r
+    : vector44<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >\r
+        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >\r
+        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >\r
+        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >\r
+        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >\r
+        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >\r
+        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >\r
+        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >\r
+        , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >\r
+        , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >\r
+        , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >\r
+        , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 >\r
+        , integral_c< T,C40 >, integral_c< T,C41 >, integral_c< T,C42 >, integral_c<T\r
+        , C43> \r
+ >\r
+{\r
+    typedef vector44_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40\r
+    , T C41, T C42, T C43, T C44\r
+    >\r
+struct vector45_c\r
+    : vector45<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >\r
+        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >\r
+        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >\r
+        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >\r
+        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >\r
+        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >\r
+        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >\r
+        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >\r
+        , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >\r
+        , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >\r
+        , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >\r
+        , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 >\r
+        , integral_c< T,C40 >, integral_c< T,C41 >, integral_c< T,C42 >\r
+        , integral_c< T,C43 >, integral_c< T,C44 > \r
+ >\r
+{\r
+    typedef vector45_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40\r
+    , T C41, T C42, T C43, T C44, T C45\r
+    >\r
+struct vector46_c\r
+    : vector46<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >\r
+        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >\r
+        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >\r
+        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >\r
+        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >\r
+        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >\r
+        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >\r
+        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >\r
+        , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >\r
+        , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >\r
+        , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >\r
+        , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 >\r
+        , integral_c< T,C40 >, integral_c< T,C41 >, integral_c< T,C42 >\r
+        , integral_c< T,C43 >, integral_c< T,C44 >, integral_c< T,C45 > \r
+ >\r
+{\r
+    typedef vector46_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40\r
+    , T C41, T C42, T C43, T C44, T C45, T C46\r
+    >\r
+struct vector47_c\r
+    : vector47<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >\r
+        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >\r
+        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >\r
+        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >\r
+        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >\r
+        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >\r
+        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >\r
+        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >\r
+        , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >\r
+        , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >\r
+        , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >\r
+        , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 >\r
+        , integral_c< T,C40 >, integral_c< T,C41 >, integral_c< T,C42 >\r
+        , integral_c< T,C43 >, integral_c< T,C44 >, integral_c< T,C45 >, integral_c<T\r
+        , C46> \r
+ >\r
+{\r
+    typedef vector47_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40\r
+    , T C41, T C42, T C43, T C44, T C45, T C46, T C47\r
+    >\r
+struct vector48_c\r
+    : vector48<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >\r
+        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >\r
+        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >\r
+        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >\r
+        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >\r
+        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >\r
+        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >\r
+        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >\r
+        , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >\r
+        , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >\r
+        , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >\r
+        , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 >\r
+        , integral_c< T,C40 >, integral_c< T,C41 >, integral_c< T,C42 >\r
+        , integral_c< T,C43 >, integral_c< T,C44 >, integral_c< T,C45 >\r
+        , integral_c< T,C46 >, integral_c< T,C47 > \r
+ >\r
+{\r
+    typedef vector48_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40\r
+    , T C41, T C42, T C43, T C44, T C45, T C46, T C47, T C48\r
+    >\r
+struct vector49_c\r
+    : vector49<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >\r
+        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >\r
+        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >\r
+        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >\r
+        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >\r
+        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >\r
+        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >\r
+        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >\r
+        , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >\r
+        , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >\r
+        , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >\r
+        , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 >\r
+        , integral_c< T,C40 >, integral_c< T,C41 >, integral_c< T,C42 >\r
+        , integral_c< T,C43 >, integral_c< T,C44 >, integral_c< T,C45 >\r
+        , integral_c< T,C46 >, integral_c< T,C47 >, integral_c< T,C48 > \r
+ >\r
+{\r
+    typedef vector49_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40\r
+    , T C41, T C42, T C43, T C44, T C45, T C46, T C47, T C48, T C49\r
+    >\r
+struct vector50_c\r
+    : vector50<\r
+          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >\r
+        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >\r
+        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >\r
+        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >\r
+        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >\r
+        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >\r
+        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >\r
+        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >\r
+        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >\r
+        , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >\r
+        , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >\r
+        , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >\r
+        , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 >\r
+        , integral_c< T,C40 >, integral_c< T,C41 >, integral_c< T,C42 >\r
+        , integral_c< T,C43 >, integral_c< T,C44 >, integral_c< T,C45 >\r
+        , integral_c< T,C46 >, integral_c< T,C47 >, integral_c< T,C48 >, integral_c<T\r
+        , C49> \r
+ >\r
+{\r
+    typedef vector50_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..c2b52d0
--- /dev/null
@@ -0,0 +1,139 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/vector/vector10.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T0\r
+    >\r
+struct vector1\r
+    : v_item<\r
+          T0\r
+        , vector0<  >\r
+        >\r
+{\r
+    typedef vector1 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1\r
+    >\r
+struct vector2\r
+    : v_item<\r
+          T1\r
+        , vector1<T0>\r
+        >\r
+{\r
+    typedef vector2 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2\r
+    >\r
+struct vector3\r
+    : v_item<\r
+          T2\r
+        , vector2< T0,T1 >\r
+        >\r
+{\r
+    typedef vector3 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3\r
+    >\r
+struct vector4\r
+    : v_item<\r
+          T3\r
+        , vector3< T0,T1,T2 >\r
+        >\r
+{\r
+    typedef vector4 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    >\r
+struct vector5\r
+    : v_item<\r
+          T4\r
+        , vector4< T0,T1,T2,T3 >\r
+        >\r
+{\r
+    typedef vector5 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5\r
+    >\r
+struct vector6\r
+    : v_item<\r
+          T5\r
+        , vector5< T0,T1,T2,T3,T4 >\r
+        >\r
+{\r
+    typedef vector6 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6\r
+    >\r
+struct vector7\r
+    : v_item<\r
+          T6\r
+        , vector6< T0,T1,T2,T3,T4,T5 >\r
+        >\r
+{\r
+    typedef vector7 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7\r
+    >\r
+struct vector8\r
+    : v_item<\r
+          T7\r
+        , vector7< T0,T1,T2,T3,T4,T5,T6 >\r
+        >\r
+{\r
+    typedef vector8 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8\r
+    >\r
+struct vector9\r
+    : v_item<\r
+          T8\r
+        , vector8< T0,T1,T2,T3,T4,T5,T6,T7 >\r
+        >\r
+{\r
+    typedef vector9 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    >\r
+struct vector10\r
+    : v_item<\r
+          T9\r
+        , vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >\r
+        >\r
+{\r
+    typedef vector10 type;\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..be1bd26
--- /dev/null
@@ -0,0 +1,154 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/vector/vector10_c.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T\r
+    , T C0\r
+    >\r
+struct vector1_c\r
+    : v_item<\r
+          integral_c< T,C0 >\r
+        , vector0_c<T>\r
+        >\r
+{\r
+    typedef vector1_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1\r
+    >\r
+struct vector2_c\r
+    : v_item<\r
+          integral_c< T,C1 >\r
+        , vector1_c< T,C0 >\r
+        >\r
+{\r
+    typedef vector2_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2\r
+    >\r
+struct vector3_c\r
+    : v_item<\r
+          integral_c< T,C2 >\r
+        , vector2_c< T,C0,C1 >\r
+        >\r
+{\r
+    typedef vector3_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3\r
+    >\r
+struct vector4_c\r
+    : v_item<\r
+          integral_c< T,C3 >\r
+        , vector3_c< T,C0,C1,C2 >\r
+        >\r
+{\r
+    typedef vector4_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4\r
+    >\r
+struct vector5_c\r
+    : v_item<\r
+          integral_c< T,C4 >\r
+        , vector4_c< T,C0,C1,C2,C3 >\r
+        >\r
+{\r
+    typedef vector5_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5\r
+    >\r
+struct vector6_c\r
+    : v_item<\r
+          integral_c< T,C5 >\r
+        , vector5_c< T,C0,C1,C2,C3,C4 >\r
+        >\r
+{\r
+    typedef vector6_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6\r
+    >\r
+struct vector7_c\r
+    : v_item<\r
+          integral_c< T,C6 >\r
+        , vector6_c< T,C0,C1,C2,C3,C4,C5 >\r
+        >\r
+{\r
+    typedef vector7_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7\r
+    >\r
+struct vector8_c\r
+    : v_item<\r
+          integral_c< T,C7 >\r
+        , vector7_c< T,C0,C1,C2,C3,C4,C5,C6 >\r
+        >\r
+{\r
+    typedef vector8_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8\r
+    >\r
+struct vector9_c\r
+    : v_item<\r
+          integral_c< T,C8 >\r
+        , vector8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >\r
+        >\r
+{\r
+    typedef vector9_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9\r
+    >\r
+struct vector10_c\r
+    : v_item<\r
+          integral_c< T,C9 >\r
+        , vector9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >\r
+        >\r
+{\r
+    typedef vector10_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..59fb3e8
--- /dev/null
@@ -0,0 +1,159 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/vector/vector20.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10\r
+    >\r
+struct vector11\r
+    : v_item<\r
+          T10\r
+        , vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >\r
+        >\r
+{\r
+    typedef vector11 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11\r
+    >\r
+struct vector12\r
+    : v_item<\r
+          T11\r
+        , vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >\r
+        >\r
+{\r
+    typedef vector12 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12\r
+    >\r
+struct vector13\r
+    : v_item<\r
+          T12\r
+        , vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >\r
+        >\r
+{\r
+    typedef vector13 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13\r
+    >\r
+struct vector14\r
+    : v_item<\r
+          T13\r
+        , vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >\r
+        >\r
+{\r
+    typedef vector14 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    >\r
+struct vector15\r
+    : v_item<\r
+          T14\r
+        , vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >\r
+        >\r
+{\r
+    typedef vector15 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15\r
+    >\r
+struct vector16\r
+    : v_item<\r
+          T15\r
+        , vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >\r
+        >\r
+{\r
+    typedef vector16 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16\r
+    >\r
+struct vector17\r
+    : v_item<\r
+          T16\r
+        , vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >\r
+        >\r
+{\r
+    typedef vector17 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17\r
+    >\r
+struct vector18\r
+    : v_item<\r
+          T17\r
+        , vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >\r
+        >\r
+{\r
+    typedef vector18 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18\r
+    >\r
+struct vector19\r
+    : v_item<\r
+          T18\r
+        , vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >\r
+        >\r
+{\r
+    typedef vector19 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    >\r
+struct vector20\r
+    : v_item<\r
+          T19\r
+        , vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >\r
+        >\r
+{\r
+    typedef vector20 type;\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..5782591
--- /dev/null
@@ -0,0 +1,163 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/vector/vector20_c.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    >\r
+struct vector11_c\r
+    : v_item<\r
+          integral_c< T,C10 >\r
+        , vector10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >\r
+        >\r
+{\r
+    typedef vector11_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11\r
+    >\r
+struct vector12_c\r
+    : v_item<\r
+          integral_c< T,C11 >\r
+        , vector11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >\r
+        >\r
+{\r
+    typedef vector12_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12\r
+    >\r
+struct vector13_c\r
+    : v_item<\r
+          integral_c< T,C12 >\r
+        , vector12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >\r
+        >\r
+{\r
+    typedef vector13_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13\r
+    >\r
+struct vector14_c\r
+    : v_item<\r
+          integral_c< T,C13 >\r
+        , vector13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >\r
+        >\r
+{\r
+    typedef vector14_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14\r
+    >\r
+struct vector15_c\r
+    : v_item<\r
+          integral_c< T,C14 >\r
+        , vector14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >\r
+        >\r
+{\r
+    typedef vector15_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15\r
+    >\r
+struct vector16_c\r
+    : v_item<\r
+          integral_c< T,C15 >\r
+        , vector15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >\r
+        >\r
+{\r
+    typedef vector16_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16\r
+    >\r
+struct vector17_c\r
+    : v_item<\r
+          integral_c< T,C16 >\r
+        , vector16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >\r
+        >\r
+{\r
+    typedef vector17_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17\r
+    >\r
+struct vector18_c\r
+    : v_item<\r
+          integral_c< T,C17 >\r
+        , vector17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >\r
+        >\r
+{\r
+    typedef vector18_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18\r
+    >\r
+struct vector19_c\r
+    : v_item<\r
+          integral_c< T,C18 >\r
+        , vector18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >\r
+        >\r
+{\r
+    typedef vector19_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19\r
+    >\r
+struct vector20_c\r
+    : v_item<\r
+          integral_c< T,C19 >\r
+        , vector19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >\r
+        >\r
+{\r
+    typedef vector20_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..f7e8e87
--- /dev/null
@@ -0,0 +1,179 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/vector/vector30.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20\r
+    >\r
+struct vector21\r
+    : v_item<\r
+          T20\r
+        , vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >\r
+        >\r
+{\r
+    typedef vector21 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21\r
+    >\r
+struct vector22\r
+    : v_item<\r
+          T21\r
+        , vector21< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20 >\r
+        >\r
+{\r
+    typedef vector22 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22\r
+    >\r
+struct vector23\r
+    : v_item<\r
+          T22\r
+        , vector22< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21 >\r
+        >\r
+{\r
+    typedef vector23 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23\r
+    >\r
+struct vector24\r
+    : v_item<\r
+          T23\r
+        , vector23< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22 >\r
+        >\r
+{\r
+    typedef vector24 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    >\r
+struct vector25\r
+    : v_item<\r
+          T24\r
+        , 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 >\r
+        >\r
+{\r
+    typedef vector25 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25\r
+    >\r
+struct vector26\r
+    : v_item<\r
+          T25\r
+        , 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 >\r
+        >\r
+{\r
+    typedef vector26 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26\r
+    >\r
+struct vector27\r
+    : v_item<\r
+          T26\r
+        , 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 >\r
+        >\r
+{\r
+    typedef vector27 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27\r
+    >\r
+struct vector28\r
+    : v_item<\r
+          T27\r
+        , 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 >\r
+        >\r
+{\r
+    typedef vector28 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28\r
+    >\r
+struct vector29\r
+    : v_item<\r
+          T28\r
+        , 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 >\r
+        >\r
+{\r
+    typedef vector29 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    >\r
+struct vector30\r
+    : v_item<\r
+          T29\r
+        , 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 >\r
+        >\r
+{\r
+    typedef vector30 type;\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..9a3d4a6
--- /dev/null
@@ -0,0 +1,173 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/vector/vector30_c.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    >\r
+struct vector21_c\r
+    : v_item<\r
+          integral_c< T,C20 >\r
+        , vector20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >\r
+        >\r
+{\r
+    typedef vector21_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21\r
+    >\r
+struct vector22_c\r
+    : v_item<\r
+          integral_c< T,C21 >\r
+        , vector21_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20 >\r
+        >\r
+{\r
+    typedef vector22_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22\r
+    >\r
+struct vector23_c\r
+    : v_item<\r
+          integral_c< T,C22 >\r
+        , 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 >\r
+        >\r
+{\r
+    typedef vector23_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23\r
+    >\r
+struct vector24_c\r
+    : v_item<\r
+          integral_c< T,C23 >\r
+        , 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 >\r
+        >\r
+{\r
+    typedef vector24_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24\r
+    >\r
+struct vector25_c\r
+    : v_item<\r
+          integral_c< T,C24 >\r
+        , 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 >\r
+        >\r
+{\r
+    typedef vector25_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25\r
+    >\r
+struct vector26_c\r
+    : v_item<\r
+          integral_c< T,C25 >\r
+        , 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 >\r
+        >\r
+{\r
+    typedef vector26_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26\r
+    >\r
+struct vector27_c\r
+    : v_item<\r
+          integral_c< T,C26 >\r
+        , 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 >\r
+        >\r
+{\r
+    typedef vector27_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27\r
+    >\r
+struct vector28_c\r
+    : v_item<\r
+          integral_c< T,C27 >\r
+        , 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 >\r
+        >\r
+{\r
+    typedef vector28_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28\r
+    >\r
+struct vector29_c\r
+    : v_item<\r
+          integral_c< T,C28 >\r
+        , 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 >\r
+        >\r
+{\r
+    typedef vector29_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29\r
+    >\r
+struct vector30_c\r
+    : v_item<\r
+          integral_c< T,C29 >\r
+        , 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 >\r
+        >\r
+{\r
+    typedef vector30_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..3edad1e
--- /dev/null
@@ -0,0 +1,199 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/vector/vector40.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30\r
+    >\r
+struct vector31\r
+    : v_item<\r
+          T30\r
+        , 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 >\r
+        >\r
+{\r
+    typedef vector31 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31\r
+    >\r
+struct vector32\r
+    : v_item<\r
+          T31\r
+        , 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 >\r
+        >\r
+{\r
+    typedef vector32 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32\r
+    >\r
+struct vector33\r
+    : v_item<\r
+          T32\r
+        , 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 >\r
+        >\r
+{\r
+    typedef vector33 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32, typename T33\r
+    >\r
+struct vector34\r
+    : v_item<\r
+          T33\r
+        , 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 >\r
+        >\r
+{\r
+    typedef vector34 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32, typename T33, typename T34\r
+    >\r
+struct vector35\r
+    : v_item<\r
+          T34\r
+        , 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 >\r
+        >\r
+{\r
+    typedef vector35 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32, typename T33, typename T34\r
+    , typename T35\r
+    >\r
+struct vector36\r
+    : v_item<\r
+          T35\r
+        , 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 >\r
+        >\r
+{\r
+    typedef vector36 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32, typename T33, typename T34\r
+    , typename T35, typename T36\r
+    >\r
+struct vector37\r
+    : v_item<\r
+          T36\r
+        , 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 >\r
+        >\r
+{\r
+    typedef vector37 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32, typename T33, typename T34\r
+    , typename T35, typename T36, typename T37\r
+    >\r
+struct vector38\r
+    : v_item<\r
+          T37\r
+        , 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 >\r
+        >\r
+{\r
+    typedef vector38 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32, typename T33, typename T34\r
+    , typename T35, typename T36, typename T37, typename T38\r
+    >\r
+struct vector39\r
+    : v_item<\r
+          T38\r
+        , 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 >\r
+        >\r
+{\r
+    typedef vector39 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32, typename T33, typename T34\r
+    , typename T35, typename T36, typename T37, typename T38, typename T39\r
+    >\r
+struct vector40\r
+    : v_item<\r
+          T39\r
+        , 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 >\r
+        >\r
+{\r
+    typedef vector40 type;\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..0dc1a0a
--- /dev/null
@@ -0,0 +1,183 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/vector/vector40_c.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    >\r
+struct vector31_c\r
+    : v_item<\r
+          integral_c< T,C30 >\r
+        , 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 >\r
+        >\r
+{\r
+    typedef vector31_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31\r
+    >\r
+struct vector32_c\r
+    : v_item<\r
+          integral_c< T,C31 >\r
+        , 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 >\r
+        >\r
+{\r
+    typedef vector32_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32\r
+    >\r
+struct vector33_c\r
+    : v_item<\r
+          integral_c< T,C32 >\r
+        , 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 >\r
+        >\r
+{\r
+    typedef vector33_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32, T C33\r
+    >\r
+struct vector34_c\r
+    : v_item<\r
+          integral_c< T,C33 >\r
+        , 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 >\r
+        >\r
+{\r
+    typedef vector34_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32, T C33, T C34\r
+    >\r
+struct vector35_c\r
+    : v_item<\r
+          integral_c< T,C34 >\r
+        , 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 >\r
+        >\r
+{\r
+    typedef vector35_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32, T C33, T C34, T C35\r
+    >\r
+struct vector36_c\r
+    : v_item<\r
+          integral_c< T,C35 >\r
+        , 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 >\r
+        >\r
+{\r
+    typedef vector36_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32, T C33, T C34, T C35, T C36\r
+    >\r
+struct vector37_c\r
+    : v_item<\r
+          integral_c< T,C36 >\r
+        , 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 >\r
+        >\r
+{\r
+    typedef vector37_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32, T C33, T C34, T C35, T C36, T C37\r
+    >\r
+struct vector38_c\r
+    : v_item<\r
+          integral_c< T,C37 >\r
+        , 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 >\r
+        >\r
+{\r
+    typedef vector38_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38\r
+    >\r
+struct vector39_c\r
+    : v_item<\r
+          integral_c< T,C38 >\r
+        , 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 >\r
+        >\r
+{\r
+    typedef vector39_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39\r
+    >\r
+struct vector40_c\r
+    : v_item<\r
+          integral_c< T,C39 >\r
+        , 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 >\r
+        >\r
+{\r
+    typedef vector40_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..176ebfe
--- /dev/null
@@ -0,0 +1,219 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/vector/vector50.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32, typename T33, typename T34\r
+    , typename T35, typename T36, typename T37, typename T38, typename T39\r
+    , typename T40\r
+    >\r
+struct vector41\r
+    : v_item<\r
+          T40\r
+        , 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 >\r
+        >\r
+{\r
+    typedef vector41 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32, typename T33, typename T34\r
+    , typename T35, typename T36, typename T37, typename T38, typename T39\r
+    , typename T40, typename T41\r
+    >\r
+struct vector42\r
+    : v_item<\r
+          T41\r
+        , 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 >\r
+        >\r
+{\r
+    typedef vector42 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32, typename T33, typename T34\r
+    , typename T35, typename T36, typename T37, typename T38, typename T39\r
+    , typename T40, typename T41, typename T42\r
+    >\r
+struct vector43\r
+    : v_item<\r
+          T42\r
+        , 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 >\r
+        >\r
+{\r
+    typedef vector43 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32, typename T33, typename T34\r
+    , typename T35, typename T36, typename T37, typename T38, typename T39\r
+    , typename T40, typename T41, typename T42, typename T43\r
+    >\r
+struct vector44\r
+    : v_item<\r
+          T43\r
+        , 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 >\r
+        >\r
+{\r
+    typedef vector44 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32, typename T33, typename T34\r
+    , typename T35, typename T36, typename T37, typename T38, typename T39\r
+    , typename T40, typename T41, typename T42, typename T43, typename T44\r
+    >\r
+struct vector45\r
+    : v_item<\r
+          T44\r
+        , 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 >\r
+        >\r
+{\r
+    typedef vector45 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32, typename T33, typename T34\r
+    , typename T35, typename T36, typename T37, typename T38, typename T39\r
+    , typename T40, typename T41, typename T42, typename T43, typename T44\r
+    , typename T45\r
+    >\r
+struct vector46\r
+    : v_item<\r
+          T45\r
+        , 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 >\r
+        >\r
+{\r
+    typedef vector46 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32, typename T33, typename T34\r
+    , typename T35, typename T36, typename T37, typename T38, typename T39\r
+    , typename T40, typename T41, typename T42, typename T43, typename T44\r
+    , typename T45, typename T46\r
+    >\r
+struct vector47\r
+    : v_item<\r
+          T46\r
+        , 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 >\r
+        >\r
+{\r
+    typedef vector47 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32, typename T33, typename T34\r
+    , typename T35, typename T36, typename T37, typename T38, typename T39\r
+    , typename T40, typename T41, typename T42, typename T43, typename T44\r
+    , typename T45, typename T46, typename T47\r
+    >\r
+struct vector48\r
+    : v_item<\r
+          T47\r
+        , 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 >\r
+        >\r
+{\r
+    typedef vector48 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32, typename T33, typename T34\r
+    , typename T35, typename T36, typename T37, typename T38, typename T39\r
+    , typename T40, typename T41, typename T42, typename T43, typename T44\r
+    , typename T45, typename T46, typename T47, typename T48\r
+    >\r
+struct vector49\r
+    : v_item<\r
+          T48\r
+        , 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 >\r
+        >\r
+{\r
+    typedef vector49 type;\r
+};\r
+\r
+template<\r
+      typename T0, typename T1, typename T2, typename T3, typename T4\r
+    , typename T5, typename T6, typename T7, typename T8, typename T9\r
+    , typename T10, typename T11, typename T12, typename T13, typename T14\r
+    , typename T15, typename T16, typename T17, typename T18, typename T19\r
+    , typename T20, typename T21, typename T22, typename T23, typename T24\r
+    , typename T25, typename T26, typename T27, typename T28, typename T29\r
+    , typename T30, typename T31, typename T32, typename T33, typename T34\r
+    , typename T35, typename T36, typename T37, typename T38, typename T39\r
+    , typename T40, typename T41, typename T42, typename T43, typename T44\r
+    , typename T45, typename T46, typename T47, typename T48, typename T49\r
+    >\r
+struct vector50\r
+    : v_item<\r
+          T49\r
+        , 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 >\r
+        >\r
+{\r
+    typedef vector50 type;\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..aa14301
--- /dev/null
@@ -0,0 +1,193 @@
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+// Preprocessed version of "boost/mpl/vector/vector50_c.hpp" header\r
+// -- DO NOT modify by hand!\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40\r
+    >\r
+struct vector41_c\r
+    : v_item<\r
+          integral_c< T,C40 >\r
+        , 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 >\r
+        >\r
+{\r
+    typedef vector41_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40\r
+    , T C41\r
+    >\r
+struct vector42_c\r
+    : v_item<\r
+          integral_c< T,C41 >\r
+        , 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 >\r
+        >\r
+{\r
+    typedef vector42_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40\r
+    , T C41, T C42\r
+    >\r
+struct vector43_c\r
+    : v_item<\r
+          integral_c< T,C42 >\r
+        , 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 >\r
+        >\r
+{\r
+    typedef vector43_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40\r
+    , T C41, T C42, T C43\r
+    >\r
+struct vector44_c\r
+    : v_item<\r
+          integral_c< T,C43 >\r
+        , 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 >\r
+        >\r
+{\r
+    typedef vector44_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40\r
+    , T C41, T C42, T C43, T C44\r
+    >\r
+struct vector45_c\r
+    : v_item<\r
+          integral_c< T,C44 >\r
+        , 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 >\r
+        >\r
+{\r
+    typedef vector45_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40\r
+    , T C41, T C42, T C43, T C44, T C45\r
+    >\r
+struct vector46_c\r
+    : v_item<\r
+          integral_c< T,C45 >\r
+        , 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 >\r
+        >\r
+{\r
+    typedef vector46_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40\r
+    , T C41, T C42, T C43, T C44, T C45, T C46\r
+    >\r
+struct vector47_c\r
+    : v_item<\r
+          integral_c< T,C46 >\r
+        , 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 >\r
+        >\r
+{\r
+    typedef vector47_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40\r
+    , T C41, T C42, T C43, T C44, T C45, T C46, T C47\r
+    >\r
+struct vector48_c\r
+    : v_item<\r
+          integral_c< T,C47 >\r
+        , 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 >\r
+        >\r
+{\r
+    typedef vector48_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40\r
+    , T C41, T C42, T C43, T C44, T C45, T C46, T C47, T C48\r
+    >\r
+struct vector49_c\r
+    : v_item<\r
+          integral_c< T,C48 >\r
+        , 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 >\r
+        >\r
+{\r
+    typedef vector49_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+template<\r
+      typename T\r
+    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10\r
+    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20\r
+    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30\r
+    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40\r
+    , T C41, T C42, T C43, T C44, T C45, T C46, T C47, T C48, T C49\r
+    >\r
+struct vector50_c\r
+    : v_item<\r
+          integral_c< T,C49 >\r
+        , 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 >\r
+        >\r
+{\r
+    typedef vector50_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+}}\r
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 (file)
index 0000000..2ec8f34
--- /dev/null
@@ -0,0 +1,40 @@
+\r
+#ifndef BOOST_MPL_VECTOR_AUX_PUSH_BACK_HPP_INCLUDED\r
+#define BOOST_MPL_VECTOR_AUX_PUSH_BACK_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: push_back.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/push_back_fwd.hpp>\r
+#include <boost/mpl/aux_/config/typeof.hpp>\r
+\r
+#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)\r
+\r
+#   include <boost/mpl/vector/aux_/item.hpp>\r
+#   include <boost/mpl/vector/aux_/tag.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct push_back_impl< aux::vector_tag >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef v_item<T,Vector,0> type;\r
+    };\r
+};\r
+\r
+}}\r
+\r
+#endif \r
+\r
+#endif // BOOST_MPL_VECTOR_AUX_PUSH_BACK_HPP_INCLUDED\r
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 (file)
index 0000000..bd6abe5
--- /dev/null
@@ -0,0 +1,40 @@
+\r
+#ifndef BOOST_MPL_VECTOR_AUX_PUSH_FRONT_HPP_INCLUDED\r
+#define BOOST_MPL_VECTOR_AUX_PUSH_FRONT_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: push_front.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/push_front_fwd.hpp>\r
+#include <boost/mpl/aux_/config/typeof.hpp>\r
+\r
+#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)\r
+\r
+#   include <boost/mpl/vector/aux_/item.hpp>\r
+#   include <boost/mpl/vector/aux_/tag.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template<>\r
+struct push_front_impl< aux::vector_tag >\r
+{\r
+    template< typename Vector, typename T > struct apply\r
+    {\r
+        typedef v_item<T,Vector,1> type;\r
+    };\r
+};\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES\r
+\r
+#endif // BOOST_MPL_VECTOR_AUX_PUSH_FRONT_HPP_INCLUDED\r
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 (file)
index 0000000..b7acc25
--- /dev/null
@@ -0,0 +1,49 @@
+\r
+#ifndef BOOST_MPL_VECTOR_AUX_SIZE_HPP_INCLUDED\r
+#define BOOST_MPL_VECTOR_AUX_SIZE_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: size.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/size_fwd.hpp>\r
+#include <boost/mpl/vector/aux_/O1_size.hpp>\r
+#include <boost/mpl/vector/aux_/tag.hpp>\r
+#include <boost/mpl/aux_/config/typeof.hpp>\r
+#include <boost/mpl/aux_/config/ctps.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)\r
+\r
+template<>\r
+struct size_impl< aux::vector_tag >\r
+    : O1_size_impl< aux::vector_tag >\r
+{\r
+};\r
+\r
+#else\r
+\r
+#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)\r
+\r
+template< long N >\r
+struct size_impl< aux::vector_tag<N> >\r
+    : O1_size_impl< aux::vector_tag<N> >\r
+{\r
+};\r
+\r
+#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+\r
+#endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_VECTOR_AUX_SIZE_HPP_INCLUDED\r
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 (file)
index 0000000..02e050b
--- /dev/null
@@ -0,0 +1,32 @@
+\r
+#ifndef BOOST_MPL_VECTOR_AUX_TAG_HPP_INCLUDED\r
+#define BOOST_MPL_VECTOR_AUX_TAG_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: tag.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/aux_/config/typeof.hpp>\r
+#include <boost/mpl/aux_/nttp_decl.hpp>\r
+\r
+namespace boost { namespace mpl { namespace aux {\r
+\r
+struct v_iter_tag;\r
+\r
+#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)\r
+struct vector_tag;\r
+#else\r
+template< BOOST_MPL_AUX_NTTP_DECL(long, N) > struct vector_tag;\r
+#endif\r
+\r
+}}}\r
+\r
+#endif // BOOST_MPL_VECTOR_AUX_TAG_HPP_INCLUDED\r
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 (file)
index 0000000..26be22a
--- /dev/null
@@ -0,0 +1,52 @@
+\r
+#ifndef BOOST_MPL_VECTOR_AUX_VECTOR0_HPP_INCLUDED\r
+#define BOOST_MPL_VECTOR_AUX_VECTOR0_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: vector0.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/long.hpp>\r
+#include <boost/mpl/void.hpp>\r
+#include <boost/mpl/aux_/na.hpp>\r
+#include <boost/mpl/aux_/type_wrapper.hpp>\r
+\r
+#include <boost/mpl/vector/aux_/iterator.hpp>\r
+#include <boost/mpl/vector/aux_/tag.hpp>\r
+#include <boost/mpl/aux_/config/typeof.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template< typename Dummy = na > struct vector0;\r
+\r
+template<> struct vector0<na>\r
+{\r
+#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)\r
+    typedef aux::vector_tag tag;\r
+    typedef vector0         type;\r
+    typedef long_<32768>    lower_bound_;\r
+    typedef lower_bound_    upper_bound_;\r
+    typedef long_<0>        size;\r
+\r
+    static aux::type_wrapper<void_> item_(...);\r
+#else\r
+    typedef aux::vector_tag<0> tag;\r
+    typedef vector0 type;\r
+    typedef void_ item0;\r
+    \r
+    typedef v_iter<vector0<>,0> begin;\r
+    typedef v_iter<vector0<>,0> end;\r
+#endif\r
+};\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_VECTOR_AUX_VECTOR0_HPP_INCLUDED\r
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 (file)
index 0000000..fe5245d
--- /dev/null
@@ -0,0 +1,34 @@
+\r
+#ifndef BOOST_MPL_VECTOR_VECTOR0_HPP_INCLUDED\r
+#define BOOST_MPL_VECTOR_VECTOR0_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: vector0.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/vector/aux_/at.hpp>\r
+#include <boost/mpl/vector/aux_/front.hpp>\r
+#include <boost/mpl/vector/aux_/push_front.hpp>\r
+#include <boost/mpl/vector/aux_/pop_front.hpp>\r
+#include <boost/mpl/vector/aux_/push_back.hpp>\r
+#include <boost/mpl/vector/aux_/pop_back.hpp>\r
+#include <boost/mpl/vector/aux_/back.hpp>\r
+#include <boost/mpl/vector/aux_/clear.hpp>\r
+#include <boost/mpl/vector/aux_/O1_size.hpp>\r
+#include <boost/mpl/vector/aux_/size.hpp>\r
+#include <boost/mpl/vector/aux_/empty.hpp>\r
+#include <boost/mpl/vector/aux_/item.hpp>\r
+#include <boost/mpl/vector/aux_/iterator.hpp>\r
+#include <boost/mpl/vector/aux_/vector0.hpp>\r
+#include <boost/mpl/vector/aux_/begin_end.hpp>\r
+#include <boost/mpl/vector/aux_/tag.hpp>\r
+\r
+#endif // BOOST_MPL_VECTOR_VECTOR0_HPP_INCLUDED\r
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 (file)
index 0000000..f79e165
--- /dev/null
@@ -0,0 +1,31 @@
+\r
+#ifndef BOOST_MPL_VECTOR_VECTOR0_C_HPP_INCLUDED\r
+#define BOOST_MPL_VECTOR_VECTOR0_C_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: vector0_c.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/vector/vector0.hpp>\r
+#include <boost/mpl/integral_c.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template< typename T > struct vector0_c\r
+    : vector0<>\r
+{\r
+    typedef vector0_c type;\r
+    typedef T value_type;\r
+};\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_VECTOR_VECTOR0_C_HPP_INCLUDED\r
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 (file)
index 0000000..1fe9c3b
--- /dev/null
@@ -0,0 +1,45 @@
+\r
+#ifndef BOOST_MPL_VECTOR_VECTOR10_HPP_INCLUDED\r
+#define BOOST_MPL_VECTOR_VECTOR10_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: vector10.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#if !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+#   include <boost/mpl/vector/vector0.hpp>\r
+#endif\r
+\r
+#include <boost/mpl/aux_/config/use_preprocessed.hpp>\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \\r
+    && !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+\r
+#   define BOOST_MPL_PREPROCESSED_HEADER vector10.hpp\r
+#   include <boost/mpl/vector/aux_/include_preprocessed.hpp>\r
+\r
+#else\r
+\r
+#   include <boost/mpl/aux_/config/typeof.hpp>\r
+#   include <boost/mpl/aux_/config/ctps.hpp>\r
+#   include <boost/preprocessor/iterate.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+#   define BOOST_PP_ITERATION_PARAMS_1 \\r
+    (3,(0, 10, <boost/mpl/vector/aux_/numbered.hpp>))\r
+#   include BOOST_PP_ITERATE()\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS\r
+\r
+#endif // BOOST_MPL_VECTOR_VECTOR10_HPP_INCLUDED\r
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 (file)
index 0000000..bdc860f
--- /dev/null
@@ -0,0 +1,46 @@
+\r
+#ifndef BOOST_MPL_VECTOR_VECTOR10_C_HPP_INCLUDED\r
+#define BOOST_MPL_VECTOR_VECTOR10_C_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: vector10_c.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#if !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+#   include <boost/mpl/vector/vector0_c.hpp>\r
+#   include <boost/mpl/vector/vector10.hpp>\r
+#endif\r
+\r
+#include <boost/mpl/aux_/config/use_preprocessed.hpp>\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \\r
+    && !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+\r
+#   define BOOST_MPL_PREPROCESSED_HEADER vector10_c.hpp\r
+#   include <boost/mpl/vector/aux_/include_preprocessed.hpp>\r
+\r
+#else\r
+\r
+#   include <boost/mpl/aux_/config/typeof.hpp>\r
+#   include <boost/mpl/aux_/config/ctps.hpp>\r
+#   include <boost/preprocessor/iterate.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+#   define BOOST_PP_ITERATION_PARAMS_1 \\r
+    (3,(1, 10, <boost/mpl/vector/aux_/numbered_c.hpp>))\r
+#   include BOOST_PP_ITERATE()\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS\r
+\r
+#endif // BOOST_MPL_VECTOR_VECTOR10_C_HPP_INCLUDED\r
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 (file)
index 0000000..f781e71
--- /dev/null
@@ -0,0 +1,45 @@
+\r
+#ifndef BOOST_MPL_VECTOR_VECTOR20_HPP_INCLUDED\r
+#define BOOST_MPL_VECTOR_VECTOR20_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: vector20.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#if !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+#   include <boost/mpl/vector/vector10.hpp>\r
+#endif\r
+\r
+#include <boost/mpl/aux_/config/use_preprocessed.hpp>\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \\r
+    && !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+\r
+#   define BOOST_MPL_PREPROCESSED_HEADER vector20.hpp\r
+#   include <boost/mpl/vector/aux_/include_preprocessed.hpp>\r
+\r
+#else\r
+\r
+#   include <boost/mpl/aux_/config/typeof.hpp>\r
+#   include <boost/mpl/aux_/config/ctps.hpp>\r
+#   include <boost/preprocessor/iterate.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+#   define BOOST_PP_ITERATION_PARAMS_1 \\r
+    (3,(11, 20, <boost/mpl/vector/aux_/numbered.hpp>))\r
+#   include BOOST_PP_ITERATE()\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS\r
+\r
+#endif // BOOST_MPL_VECTOR_VECTOR20_HPP_INCLUDED\r
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 (file)
index 0000000..cd9b0bc
--- /dev/null
@@ -0,0 +1,46 @@
+\r
+#ifndef BOOST_MPL_VECTOR_VECTOR20_C_HPP_INCLUDED\r
+#define BOOST_MPL_VECTOR_VECTOR20_C_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: vector20_c.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#if !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+#   include <boost/mpl/vector/vector10_c.hpp>\r
+#   include <boost/mpl/vector/vector20.hpp>\r
+#endif\r
+\r
+#include <boost/mpl/aux_/config/use_preprocessed.hpp>\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \\r
+    && !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+\r
+#   define BOOST_MPL_PREPROCESSED_HEADER vector20_c.hpp\r
+#   include <boost/mpl/vector/aux_/include_preprocessed.hpp>\r
+\r
+#else\r
+\r
+#   include <boost/mpl/aux_/config/typeof.hpp>\r
+#   include <boost/mpl/aux_/config/ctps.hpp>\r
+#   include <boost/preprocessor/iterate.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+#   define BOOST_PP_ITERATION_PARAMS_1 \\r
+    (3,(11, 20, <boost/mpl/vector/aux_/numbered_c.hpp>))\r
+#   include BOOST_PP_ITERATE()\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS\r
+\r
+#endif // BOOST_MPL_VECTOR_VECTOR20_C_HPP_INCLUDED\r
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 (file)
index 0000000..fb06462
--- /dev/null
@@ -0,0 +1,45 @@
+\r
+#ifndef BOOST_MPL_VECTOR_VECTOR30_HPP_INCLUDED\r
+#define BOOST_MPL_VECTOR_VECTOR30_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: vector30.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#if !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+#   include <boost/mpl/vector/vector20.hpp>\r
+#endif\r
+\r
+#include <boost/mpl/aux_/config/use_preprocessed.hpp>\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \\r
+    && !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+\r
+#   define BOOST_MPL_PREPROCESSED_HEADER vector30.hpp\r
+#   include <boost/mpl/vector/aux_/include_preprocessed.hpp>\r
+\r
+#else\r
+\r
+#   include <boost/mpl/aux_/config/typeof.hpp>\r
+#   include <boost/mpl/aux_/config/ctps.hpp>\r
+#   include <boost/preprocessor/iterate.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+#   define BOOST_PP_ITERATION_PARAMS_1 \\r
+    (3,(21, 30, <boost/mpl/vector/aux_/numbered.hpp>))\r
+#   include BOOST_PP_ITERATE()\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS\r
+\r
+#endif // BOOST_MPL_VECTOR_VECTOR30_HPP_INCLUDED\r
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 (file)
index 0000000..b9fa97b
--- /dev/null
@@ -0,0 +1,47 @@
+\r
+#ifndef BOOST_MPL_VECTOR_VECTOR30_C_HPP_INCLUDED\r
+#define BOOST_MPL_VECTOR_VECTOR30_C_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: vector30_c.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#if !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+#   include <boost/mpl/vector/vector20_c.hpp>\r
+#   include <boost/mpl/vector/vector30.hpp>\r
+#endif\r
+\r
+#include <boost/mpl/aux_/config/use_preprocessed.hpp>\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \\r
+ && !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+\r
+#   define BOOST_MPL_PREPROCESSED_HEADER vector30_c.hpp\r
+#   include <boost/mpl/vector/aux_/include_preprocessed.hpp>\r
+\r
+#else\r
+\r
+#   include <boost/mpl/aux_/config/typeof.hpp>\r
+#   include <boost/mpl/aux_/config/ctps.hpp>\r
+#   include <boost/preprocessor/iterate.hpp>\r
+#   include <boost/config.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+#   define BOOST_PP_ITERATION_PARAMS_1 \\r
+    (3,(21, 30, <boost/mpl/vector/aux_/numbered_c.hpp>))\r
+#   include BOOST_PP_ITERATE()\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_CFG_USE_PREPROCESSED_HEADERS\r
+\r
+#endif // BOOST_MPL_VECTOR_VECTOR30_C_HPP_INCLUDED\r
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 (file)
index 0000000..46fb5bc
--- /dev/null
@@ -0,0 +1,45 @@
+\r
+#ifndef BOOST_MPL_VECTOR_VECTOR40_HPP_INCLUDED\r
+#define BOOST_MPL_VECTOR_VECTOR40_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: vector40.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#if !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+#   include <boost/mpl/vector/vector30.hpp>\r
+#endif\r
+\r
+#include <boost/mpl/aux_/config/use_preprocessed.hpp>\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \\r
+    && !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+\r
+#   define BOOST_MPL_PREPROCESSED_HEADER vector40.hpp\r
+#   include <boost/mpl/vector/aux_/include_preprocessed.hpp>\r
+\r
+#else\r
+\r
+#   include <boost/mpl/aux_/config/typeof.hpp>\r
+#   include <boost/mpl/aux_/config/ctps.hpp>\r
+#   include <boost/preprocessor/iterate.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+#   define BOOST_PP_ITERATION_PARAMS_1 \\r
+    (3,(31, 40, <boost/mpl/vector/aux_/numbered.hpp>))\r
+#   include BOOST_PP_ITERATE()\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS\r
+\r
+#endif // BOOST_MPL_VECTOR_VECTOR40_HPP_INCLUDED\r
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 (file)
index 0000000..4958021
--- /dev/null
@@ -0,0 +1,46 @@
+\r
+#ifndef BOOST_MPL_VECTOR_VECTOR40_C_HPP_INCLUDED\r
+#define BOOST_MPL_VECTOR_VECTOR40_C_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: vector40_c.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#if !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+#   include <boost/mpl/vector/vector30_c.hpp>\r
+#   include <boost/mpl/vector/vector40.hpp>\r
+#endif\r
+\r
+#include <boost/mpl/aux_/config/use_preprocessed.hpp>\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \\r
+    && !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+\r
+#   define BOOST_MPL_PREPROCESSED_HEADER vector40_c.hpp\r
+#   include <boost/mpl/vector/aux_/include_preprocessed.hpp>\r
+\r
+#else\r
+\r
+#   include <boost/mpl/aux_/config/typeof.hpp>\r
+#   include <boost/mpl/aux_/config/ctps.hpp>\r
+#   include <boost/preprocessor/iterate.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+#   define BOOST_PP_ITERATION_PARAMS_1 \\r
+    (3,(31, 40, <boost/mpl/vector/aux_/numbered_c.hpp>))\r
+#   include BOOST_PP_ITERATE()\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS\r
+\r
+#endif // BOOST_MPL_VECTOR_VECTOR40_C_HPP_INCLUDED\r
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 (file)
index 0000000..fb9a6ac
--- /dev/null
@@ -0,0 +1,45 @@
+\r
+#ifndef BOOST_MPL_VECTOR_VECTOR50_HPP_INCLUDED\r
+#define BOOST_MPL_VECTOR_VECTOR50_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: vector50.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#if !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+#   include <boost/mpl/vector/vector40.hpp>\r
+#endif\r
+\r
+#include <boost/mpl/aux_/config/use_preprocessed.hpp>\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \\r
+    && !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+\r
+#   define BOOST_MPL_PREPROCESSED_HEADER vector50.hpp\r
+#   include <boost/mpl/vector/aux_/include_preprocessed.hpp>\r
+\r
+#else\r
+\r
+#   include <boost/mpl/aux_/config/typeof.hpp>\r
+#   include <boost/mpl/aux_/config/ctps.hpp>\r
+#   include <boost/preprocessor/iterate.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+#   define BOOST_PP_ITERATION_PARAMS_1 \\r
+    (3,(41, 50, <boost/mpl/vector/aux_/numbered.hpp>))\r
+#   include BOOST_PP_ITERATE()\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS\r
+\r
+#endif // BOOST_MPL_VECTOR_VECTOR50_HPP_INCLUDED\r
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 (file)
index 0000000..791bb30
--- /dev/null
@@ -0,0 +1,46 @@
+\r
+#ifndef BOOST_MPL_VECTOR_VECTOR50_C_HPP_INCLUDED\r
+#define BOOST_MPL_VECTOR_VECTOR50_C_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: vector50_c.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#if !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+#   include <boost/mpl/vector/vector40_c.hpp>\r
+#   include <boost/mpl/vector/vector50.hpp>\r
+#endif\r
+\r
+#include <boost/mpl/aux_/config/use_preprocessed.hpp>\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \\r
+ && !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+\r
+#   define BOOST_MPL_PREPROCESSED_HEADER vector50_c.hpp\r
+#   include <boost/mpl/vector/aux_/include_preprocessed.hpp>\r
+\r
+#else\r
+\r
+#   include <boost/mpl/aux_/config/typeof.hpp>\r
+#   include <boost/mpl/aux_/config/ctps.hpp>\r
+#   include <boost/preprocessor/iterate.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+#   define BOOST_PP_ITERATION_PARAMS_1 \\r
+    (3,(41, 50, <boost/mpl/vector/aux_/numbered_c.hpp>))\r
+#   include BOOST_PP_ITERATE()\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS\r
+\r
+#endif // BOOST_MPL_VECTOR_VECTOR50_C_HPP_INCLUDED\r
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 (file)
index 0000000..b74c346
--- /dev/null
@@ -0,0 +1,61 @@
+\r
+#ifndef BOOST_MPL_VECTOR_C_HPP_INCLUDED\r
+#define BOOST_MPL_VECTOR_C_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2008\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: vector_c.hpp 49271 2008-10-11 06:46:00Z agurtovoy $\r
+// $Date: 2008-10-11 02:46:00 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49271 $\r
+\r
+#if !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+#   include <boost/mpl/limits/vector.hpp>\r
+#   include <boost/mpl/aux_/nttp_decl.hpp>\r
+#   include <boost/mpl/aux_/config/preprocessor.hpp>\r
+\r
+#   include <boost/preprocessor/inc.hpp>\r
+#   include <boost/preprocessor/cat.hpp>\r
+#   include <boost/preprocessor/stringize.hpp>\r
+\r
+#if !defined(BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING)\r
+#   define AUX778076_VECTOR_C_HEADER \\r
+    BOOST_PP_CAT(BOOST_PP_CAT(vector,BOOST_MPL_LIMIT_VECTOR_SIZE),_c).hpp \\r
+    /**/\r
+#else\r
+#   define AUX778076_VECTOR_C_HEADER \\r
+    BOOST_PP_CAT(BOOST_PP_CAT(vector,BOOST_MPL_LIMIT_VECTOR_SIZE),_c)##.hpp \\r
+    /**/\r
+#endif\r
+\r
+#   include BOOST_PP_STRINGIZE(boost/mpl/vector/AUX778076_VECTOR_C_HEADER)\r
+#   undef AUX778076_VECTOR_C_HEADER\r
+#   include <climits>\r
+#endif\r
+\r
+#include <boost/mpl/aux_/config/use_preprocessed.hpp>\r
+\r
+#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \\r
+    && !defined(BOOST_MPL_PREPROCESSING_MODE)\r
+\r
+#   define BOOST_MPL_PREPROCESSED_HEADER vector_c.hpp\r
+#   include <boost/mpl/aux_/include_preprocessed.hpp>\r
+\r
+#else\r
+\r
+#   include <boost/mpl/limits/vector.hpp>\r
+\r
+#   define AUX778076_SEQUENCE_NAME vector_c\r
+#   define AUX778076_SEQUENCE_LIMIT BOOST_MPL_LIMIT_VECTOR_SIZE\r
+#   define AUX778076_SEQUENCE_NAME_N(n) BOOST_PP_CAT(BOOST_PP_CAT(vector,n),_c)\r
+#   define AUX778076_SEQUENCE_CONVERT_CN_TO(z,n,TARGET) TARGET(BOOST_PP_CAT(C,n))\r
+#   define AUX778076_SEQUENCE_INTEGRAL_WRAPPER\r
+#   include <boost/mpl/aux_/sequence_wrapper.hpp>\r
+\r
+#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS\r
+#endif // BOOST_MPL_VECTOR_C_HPP_INCLUDED\r
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 (file)
index 0000000..439a523
--- /dev/null
@@ -0,0 +1,76 @@
+\r
+#ifndef BOOST_MPL_VOID_HPP_INCLUDED\r
+#define BOOST_MPL_VOID_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: void.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/void_fwd.hpp>\r
+#include <boost/mpl/bool.hpp>\r
+#include <boost/mpl/aux_/na_spec.hpp>\r
+#include <boost/mpl/aux_/config/msvc.hpp>\r
+#include <boost/mpl/aux_/config/workaround.hpp>\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+\r
+//  [JDG Feb-4-2003] made void_ a complete type to allow it to be\r
+//  instantiated so that it can be passed in as an object that can be\r
+//  used to select an overloaded function. Possible use includes signaling\r
+//  a zero arity functor evaluation call.\r
+struct void_ { typedef void_ type; };\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template< typename T >\r
+struct is_void_\r
+    : false_\r
+{\r
+#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)\r
+    using false_::value;\r
+#endif\r
+};\r
+\r
+template<>\r
+struct is_void_<void_>\r
+    : true_\r
+{\r
+#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)\r
+    using true_::value;\r
+#endif\r
+};\r
+\r
+template< typename T >\r
+struct is_not_void_\r
+    : true_\r
+{\r
+#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)\r
+    using true_::value;\r
+#endif\r
+};\r
+\r
+template<>\r
+struct is_not_void_<void_>\r
+    : false_\r
+{\r
+#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)\r
+    using false_::value;\r
+#endif\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(1, is_void_)\r
+BOOST_MPL_AUX_NA_SPEC(1, is_not_void_)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_VOID_HPP_INCLUDED\r
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 (file)
index 0000000..8db065f
--- /dev/null
@@ -0,0 +1,26 @@
+\r
+#ifndef BOOST_MPL_VOID_FWD_HPP_INCLUDED\r
+#define BOOST_MPL_VOID_FWD_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2001-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: void_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/aux_/adl_barrier.hpp>\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
+\r
+struct void_;\r
+\r
+BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r
+BOOST_MPL_AUX_ADL_BARRIER_DECL(void_)\r
+\r
+#endif // BOOST_MPL_VOID_FWD_HPP_INCLUDED\r
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 (file)
index 0000000..c05f9cc
--- /dev/null
@@ -0,0 +1,64 @@
+\r
+#ifndef BOOST_MPL_ZIP_VIEW_HPP_INCLUDED\r
+#define BOOST_MPL_ZIP_VIEW_HPP_INCLUDED\r
+\r
+// Copyright Aleksey Gurtovoy 2000-2002\r
+// Copyright David Abrahams 2000-2002\r
+//\r
+// Distributed under the Boost Software License, Version 1.0.\r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/mpl for documentation.\r
+\r
+// $Id: zip_view.hpp 49267 2008-10-11 06:19:02Z agurtovoy $\r
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $\r
+// $Revision: 49267 $\r
+\r
+#include <boost/mpl/transform.hpp>\r
+#include <boost/mpl/begin_end.hpp>\r
+#include <boost/mpl/iterator_tags.hpp>\r
+#include <boost/mpl/next.hpp>\r
+#include <boost/mpl/lambda.hpp>\r
+#include <boost/mpl/deref.hpp>\r
+#include <boost/mpl/aux_/na_spec.hpp>\r
+\r
+namespace boost { namespace mpl {\r
+\r
+template< typename IteratorSeq >\r
+struct zip_iterator\r
+{\r
+    typedef forward_iterator_tag category;\r
+    typedef typename transform1<\r
+          IteratorSeq\r
+        , deref<_1>\r
+        >::type type;\r
+\r
+    typedef zip_iterator<\r
+          typename transform1<\r
+                IteratorSeq\r
+              , mpl::next<_1>\r
+            >::type\r
+        > next;\r
+};\r
+\r
+template<\r
+      typename BOOST_MPL_AUX_NA_PARAM(Sequences)\r
+    >\r
+struct zip_view\r
+{\r
+ private:\r
+    typedef typename transform1< Sequences, mpl::begin<_1> >::type first_ones_;\r
+    typedef typename transform1< Sequences, mpl::end<_1> >::type last_ones_;\r
+    \r
+ public:\r
+    typedef nested_begin_end_tag tag;\r
+    typedef zip_iterator<first_ones_> begin;\r
+    typedef zip_iterator<last_ones_> end;\r
+};\r
+\r
+BOOST_MPL_AUX_NA_SPEC(1, zip_view)\r
+\r
+}}\r
+\r
+#endif // BOOST_MPL_ZIP_VIEW_HPP_INCLUDED\r
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 (file)
index 0000000..7deb935
--- /dev/null
@@ -0,0 +1,36 @@
+//  Boost noncopyable.hpp header file  --------------------------------------//\r
+\r
+//  (C) Copyright Beman Dawes 1999-2003. Distributed under the Boost\r
+//  Software License, Version 1.0. (See accompanying file\r
+//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+//  See http://www.boost.org/libs/utility for documentation.\r
+\r
+#ifndef BOOST_NONCOPYABLE_HPP_INCLUDED\r
+#define BOOST_NONCOPYABLE_HPP_INCLUDED\r
+\r
+namespace boost {\r
+\r
+//  Private copy constructor and copy assignment ensure classes derived from\r
+//  class noncopyable cannot be copied.\r
+\r
+//  Contributed by Dave Abrahams\r
+\r
+namespace noncopyable_  // protection from unintended ADL\r
+{\r
+  class noncopyable\r
+  {\r
+   protected:\r
+      noncopyable() {}\r
+      ~noncopyable() {}\r
+   private:  // emphasize the following members are private\r
+      noncopyable( const noncopyable& );\r
+      const noncopyable& operator=( const noncopyable& );\r
+  };\r
+}\r
+\r
+typedef noncopyable_::noncopyable noncopyable;\r
+\r
+} // namespace boost\r
+\r
+#endif  // BOOST_NONCOPYABLE_HPP_INCLUDED\r
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 (file)
index 0000000..d11e4ae
--- /dev/null
@@ -0,0 +1,976 @@
+//  Boost operators.hpp header file  ----------------------------------------//\r
+\r
+//  (C) Copyright David Abrahams, Jeremy Siek, Daryle Walker 1999-2001.\r
+//  Distributed under the Boost Software License, Version 1.0. (See\r
+//  accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+//  See http://www.boost.org/libs/utility/operators.htm for documentation.\r
+\r
+//  Revision History\r
+//  07 Aug 08 Added "euclidean" spelling. (Daniel Frey)\r
+//  03 Apr 08 Make sure "convertible to bool" is sufficient\r
+//            for T::operator<, etc. (Daniel Frey)\r
+//  24 May 07 Changed empty_base to depend on T, see\r
+//            http://svn.boost.org/trac/boost/ticket/979\r
+//  21 Oct 02 Modified implementation of operators to allow compilers with a\r
+//            correct named return value optimization (NRVO) to produce optimal\r
+//            code.  (Daniel Frey)\r
+//  02 Dec 01 Bug fixed in random_access_iteratable.  (Helmut Zeisel)\r
+//  28 Sep 01 Factored out iterator operator groups.  (Daryle Walker)\r
+//  27 Aug 01 'left' form for non commutative operators added;\r
+//            additional classes for groups of related operators added;\r
+//            workaround for empty base class optimization\r
+//            bug of GCC 3.0 (Helmut Zeisel)\r
+//  25 Jun 01 output_iterator_helper changes: removed default template \r
+//            parameters, added support for self-proxying, additional \r
+//            documentation and tests (Aleksey Gurtovoy)\r
+//  29 May 01 Added operator classes for << and >>.  Added input and output\r
+//            iterator helper classes.  Added classes to connect equality and\r
+//            relational operators.  Added classes for groups of related\r
+//            operators.  Reimplemented example operator and iterator helper\r
+//            classes in terms of the new groups.  (Daryle Walker, with help\r
+//            from Alexy Gurtovoy)\r
+//  11 Feb 01 Fixed bugs in the iterator helpers which prevented explicitly\r
+//            supplied arguments from actually being used (Dave Abrahams)\r
+//  04 Jul 00 Fixed NO_OPERATORS_IN_NAMESPACE bugs, major cleanup and\r
+//            refactoring of compiler workarounds, additional documentation\r
+//            (Alexy Gurtovoy and Mark Rodgers with some help and prompting from\r
+//            Dave Abrahams) \r
+//  28 Jun 00 General cleanup and integration of bugfixes from Mark Rodgers and\r
+//            Jeremy Siek (Dave Abrahams)\r
+//  20 Jun 00 Changes to accommodate Borland C++Builder 4 and Borland C++ 5.5\r
+//            (Mark Rodgers)\r
+//  20 Jun 00 Minor fixes to the prior revision (Aleksey Gurtovoy)\r
+//  10 Jun 00 Support for the base class chaining technique was added\r
+//            (Aleksey Gurtovoy). See documentation and the comments below \r
+//            for the details. \r
+//  12 Dec 99 Initial version with iterator operators (Jeremy Siek)\r
+//  18 Nov 99 Change name "divideable" to "dividable", remove unnecessary\r
+//            specializations of dividable, subtractable, modable (Ed Brey) \r
+//  17 Nov 99 Add comments (Beman Dawes)\r
+//            Remove unnecessary specialization of operators<> (Ed Brey)\r
+//  15 Nov 99 Fix less_than_comparable<T,U> second operand type for first two\r
+//            operators.(Beman Dawes)\r
+//  12 Nov 99 Add operators templates (Ed Brey)\r
+//  11 Nov 99 Add single template parameter version for compilers without\r
+//            partial specialization (Beman Dawes)\r
+//  10 Nov 99 Initial version\r
+\r
+// 10 Jun 00:\r
+// An additional optional template parameter was added to most of \r
+// operator templates to support the base class chaining technique (see \r
+// documentation for the details). Unfortunately, a straightforward\r
+// implementation of this change would have broken compatibility with the\r
+// previous version of the library by making it impossible to use the same\r
+// template name (e.g. 'addable') for both the 1- and 2-argument versions of\r
+// an operator template. This implementation solves the backward-compatibility\r
+// issue at the cost of some simplicity.\r
+//\r
+// One of the complications is an existence of special auxiliary class template\r
+// 'is_chained_base<>' (see 'detail' namespace below), which is used\r
+// to determine whether its template parameter is a library's operator template\r
+// or not. You have to specialize 'is_chained_base<>' for each new \r
+// operator template you add to the library.\r
+//\r
+// However, most of the non-trivial implementation details are hidden behind \r
+// several local macros defined below, and as soon as you understand them,\r
+// you understand the whole library implementation. \r
+\r
+#ifndef BOOST_OPERATORS_HPP\r
+#define BOOST_OPERATORS_HPP\r
+\r
+#include <boost/config.hpp>\r
+#include <boost/iterator.hpp>\r
+#include <boost/detail/workaround.hpp>\r
+\r
+#if defined(__sgi) && !defined(__GNUC__)\r
+#   pragma set woff 1234\r
+#endif\r
+\r
+#if defined(BOOST_MSVC)\r
+#   pragma warning( disable : 4284 ) // complaint about return type of \r
+#endif                               // operator-> not begin a UDT\r
+\r
+namespace boost {\r
+namespace detail {\r
+\r
+template <typename T> class empty_base {\r
+\r
+// Helmut Zeisel, empty base class optimization bug with GCC 3.0.0\r
+#if defined(__GNUC__) && __GNUC__==3 && __GNUC_MINOR__==0 && __GNU_PATCHLEVEL__==0\r
+  bool dummy; \r
+#endif\r
+\r
+};\r
+\r
+} // namespace detail\r
+} // namespace boost\r
+\r
+// In this section we supply the xxxx1 and xxxx2 forms of the operator\r
+// templates, which are explicitly targeted at the 1-type-argument and\r
+// 2-type-argument operator forms, respectively. Some compilers get confused\r
+// when inline friend functions are overloaded in namespaces other than the\r
+// global namespace. When BOOST_NO_OPERATORS_IN_NAMESPACE is defined, all of\r
+// these templates must go in the global namespace.\r
+\r
+#ifndef BOOST_NO_OPERATORS_IN_NAMESPACE\r
+namespace boost\r
+{\r
+#endif\r
+\r
+//  Basic operator classes (contributed by Dave Abrahams) ------------------//\r
+\r
+//  Note that friend functions defined in a class are implicitly inline.\r
+//  See the C++ std, 11.4 [class.friend] paragraph 5\r
+\r
+template <class T, class U, class B = ::boost::detail::empty_base<T> >\r
+struct less_than_comparable2 : B\r
+{\r
+     friend bool operator<=(const T& x, const U& y) { return !static_cast<bool>(x > y); }\r
+     friend bool operator>=(const T& x, const U& y) { return !static_cast<bool>(x < y); }\r
+     friend bool operator>(const U& x, const T& y)  { return y < x; }\r
+     friend bool operator<(const U& x, const T& y)  { return y > x; }\r
+     friend bool operator<=(const U& x, const T& y) { return !static_cast<bool>(y < x); }\r
+     friend bool operator>=(const U& x, const T& y) { return !static_cast<bool>(y > x); }\r
+};\r
+\r
+template <class T, class B = ::boost::detail::empty_base<T> >\r
+struct less_than_comparable1 : B\r
+{\r
+     friend bool operator>(const T& x, const T& y)  { return y < x; }\r
+     friend bool operator<=(const T& x, const T& y) { return !static_cast<bool>(y < x); }\r
+     friend bool operator>=(const T& x, const T& y) { return !static_cast<bool>(x < y); }\r
+};\r
+\r
+template <class T, class U, class B = ::boost::detail::empty_base<T> >\r
+struct equality_comparable2 : B\r
+{\r
+     friend bool operator==(const U& y, const T& x) { return x == y; }\r
+     friend bool operator!=(const U& y, const T& x) { return !static_cast<bool>(x == y); }\r
+     friend bool operator!=(const T& y, const U& x) { return !static_cast<bool>(y == x); }\r
+};\r
+\r
+template <class T, class B = ::boost::detail::empty_base<T> >\r
+struct equality_comparable1 : B\r
+{\r
+     friend bool operator!=(const T& x, const T& y) { return !static_cast<bool>(x == y); }\r
+};\r
+\r
+// A macro which produces "name_2left" from "name".\r
+#define BOOST_OPERATOR2_LEFT(name) name##2##_##left\r
+\r
+//  NRVO-friendly implementation (contributed by Daniel Frey) ---------------//\r
+\r
+#if defined(BOOST_HAS_NRVO) || defined(BOOST_FORCE_SYMMETRIC_OPERATORS)\r
+\r
+// This is the optimal implementation for ISO/ANSI C++,\r
+// but it requires the compiler to implement the NRVO.\r
+// If the compiler has no NRVO, this is the best symmetric\r
+// implementation available.\r
+\r
+#define BOOST_BINARY_OPERATOR_COMMUTATIVE( NAME, OP )                         \\r
+template <class T, class U, class B = ::boost::detail::empty_base<T> >        \\r
+struct NAME##2 : B                                                            \\r
+{                                                                             \\r
+  friend T operator OP( const T& lhs, const U& rhs )                          \\r
+    { T nrv( lhs ); nrv OP##= rhs; return nrv; }                              \\r
+  friend T operator OP( const U& lhs, const T& rhs )                          \\r
+    { T nrv( rhs ); nrv OP##= lhs; return nrv; }                              \\r
+};                                                                            \\r
+                                                                              \\r
+template <class T, class B = ::boost::detail::empty_base<T> >                 \\r
+struct NAME##1 : B                                                            \\r
+{                                                                             \\r
+  friend T operator OP( const T& lhs, const T& rhs )                          \\r
+    { T nrv( lhs ); nrv OP##= rhs; return nrv; }                              \\r
+};\r
+\r
+#define BOOST_BINARY_OPERATOR_NON_COMMUTATIVE( NAME, OP )               \\r
+template <class T, class U, class B = ::boost::detail::empty_base<T> >  \\r
+struct NAME##2 : B                                                      \\r
+{                                                                       \\r
+  friend T operator OP( const T& lhs, const U& rhs )                    \\r
+    { T nrv( lhs ); nrv OP##= rhs; return nrv; }                        \\r
+};                                                                      \\r
+                                                                        \\r
+template <class T, class U, class B = ::boost::detail::empty_base<T> >  \\r
+struct BOOST_OPERATOR2_LEFT(NAME) : B                                   \\r
+{                                                                       \\r
+  friend T operator OP( const U& lhs, const T& rhs )                    \\r
+    { T nrv( lhs ); nrv OP##= rhs; return nrv; }                        \\r
+};                                                                      \\r
+                                                                        \\r
+template <class T, class B = ::boost::detail::empty_base<T> >           \\r
+struct NAME##1 : B                                                      \\r
+{                                                                       \\r
+  friend T operator OP( const T& lhs, const T& rhs )                    \\r
+    { T nrv( lhs ); nrv OP##= rhs; return nrv; }                        \\r
+};\r
+\r
+#else // defined(BOOST_HAS_NRVO) || defined(BOOST_FORCE_SYMMETRIC_OPERATORS)\r
+\r
+// For compilers without NRVO the following code is optimal, but not\r
+// symmetric!  Note that the implementation of\r
+// BOOST_OPERATOR2_LEFT(NAME) only looks cool, but doesn't provide\r
+// optimization opportunities to the compiler :)\r
+\r
+#define BOOST_BINARY_OPERATOR_COMMUTATIVE( NAME, OP )                   \\r
+template <class T, class U, class B = ::boost::detail::empty_base<T> >  \\r
+struct NAME##2 : B                                                      \\r
+{                                                                       \\r
+  friend T operator OP( T lhs, const U& rhs ) { return lhs OP##= rhs; } \\r
+  friend T operator OP( const U& lhs, T rhs ) { return rhs OP##= lhs; } \\r
+};                                                                      \\r
+                                                                        \\r
+template <class T, class B = ::boost::detail::empty_base<T> >           \\r
+struct NAME##1 : B                                                      \\r
+{                                                                       \\r
+  friend T operator OP( T lhs, const T& rhs ) { return lhs OP##= rhs; } \\r
+};\r
+\r
+#define BOOST_BINARY_OPERATOR_NON_COMMUTATIVE( NAME, OP )               \\r
+template <class T, class U, class B = ::boost::detail::empty_base<T> >  \\r
+struct NAME##2 : B                                                      \\r
+{                                                                       \\r
+  friend T operator OP( T lhs, const U& rhs ) { return lhs OP##= rhs; } \\r
+};                                                                      \\r
+                                                                        \\r
+template <class T, class U, class B = ::boost::detail::empty_base<T> >  \\r
+struct BOOST_OPERATOR2_LEFT(NAME) : B                                   \\r
+{                                                                       \\r
+  friend T operator OP( const U& lhs, const T& rhs )                    \\r
+    { return T( lhs ) OP##= rhs; }                                      \\r
+};                                                                      \\r
+                                                                        \\r
+template <class T, class B = ::boost::detail::empty_base<T> >           \\r
+struct NAME##1 : B                                                      \\r
+{                                                                       \\r
+  friend T operator OP( T lhs, const T& rhs ) { return lhs OP##= rhs; } \\r
+};\r
+\r
+#endif // defined(BOOST_HAS_NRVO) || defined(BOOST_FORCE_SYMMETRIC_OPERATORS)\r
+\r
+BOOST_BINARY_OPERATOR_COMMUTATIVE( multipliable, * )\r
+BOOST_BINARY_OPERATOR_COMMUTATIVE( addable, + )\r
+BOOST_BINARY_OPERATOR_NON_COMMUTATIVE( subtractable, - )\r
+BOOST_BINARY_OPERATOR_NON_COMMUTATIVE( dividable, / )\r
+BOOST_BINARY_OPERATOR_NON_COMMUTATIVE( modable, % )\r
+BOOST_BINARY_OPERATOR_COMMUTATIVE( xorable, ^ )\r
+BOOST_BINARY_OPERATOR_COMMUTATIVE( andable, & )\r
+BOOST_BINARY_OPERATOR_COMMUTATIVE( orable, | )\r
+\r
+#undef BOOST_BINARY_OPERATOR_COMMUTATIVE\r
+#undef BOOST_BINARY_OPERATOR_NON_COMMUTATIVE\r
+#undef BOOST_OPERATOR2_LEFT\r
+\r
+//  incrementable and decrementable contributed by Jeremy Siek\r
+\r
+template <class T, class B = ::boost::detail::empty_base<T> >\r
+struct incrementable : B\r
+{\r
+  friend T operator++(T& x, int)\r
+  {\r
+    incrementable_type nrv(x);\r
+    ++x;\r
+    return nrv;\r
+  }\r
+private: // The use of this typedef works around a Borland bug\r
+  typedef T incrementable_type;\r
+};\r
+\r
+template <class T, class B = ::boost::detail::empty_base<T> >\r
+struct decrementable : B\r
+{\r
+  friend T operator--(T& x, int)\r
+  {\r
+    decrementable_type nrv(x);\r
+    --x;\r
+    return nrv;\r
+  }\r
+private: // The use of this typedef works around a Borland bug\r
+  typedef T decrementable_type;\r
+};\r
+\r
+//  Iterator operator classes (contributed by Jeremy Siek) ------------------//\r
+\r
+template <class T, class P, class B = ::boost::detail::empty_base<T> >\r
+struct dereferenceable : B\r
+{\r
+  P operator->() const\r
+  { \r
+    return &*static_cast<const T&>(*this); \r
+  }\r
+};\r
+\r
+template <class T, class I, class R, class B = ::boost::detail::empty_base<T> >\r
+struct indexable : B\r
+{\r
+  R operator[](I n) const\r
+  {\r
+    return *(static_cast<const T&>(*this) + n);\r
+  }\r
+};\r
+\r
+//  More operator classes (contributed by Daryle Walker) --------------------//\r
+//  (NRVO-friendly implementation contributed by Daniel Frey) ---------------//\r
+\r
+#if defined(BOOST_HAS_NRVO) || defined(BOOST_FORCE_SYMMETRIC_OPERATORS)\r
+\r
+#define BOOST_BINARY_OPERATOR( NAME, OP )                                     \\r
+template <class T, class U, class B = ::boost::detail::empty_base<T> >        \\r
+struct NAME##2 : B                                                            \\r
+{                                                                             \\r
+  friend T operator OP( const T& lhs, const U& rhs )                          \\r
+    { T nrv( lhs ); nrv OP##= rhs; return nrv; }                              \\r
+};                                                                            \\r
+                                                                              \\r
+template <class T, class B = ::boost::detail::empty_base<T> >                 \\r
+struct NAME##1 : B                                                            \\r
+{                                                                             \\r
+  friend T operator OP( const T& lhs, const T& rhs )                          \\r
+    { T nrv( lhs ); nrv OP##= rhs; return nrv; }                              \\r
+};\r
+\r
+#else // defined(BOOST_HAS_NRVO) || defined(BOOST_FORCE_SYMMETRIC_OPERATORS)\r
+\r
+#define BOOST_BINARY_OPERATOR( NAME, OP )                                     \\r
+template <class T, class U, class B = ::boost::detail::empty_base<T> >        \\r
+struct NAME##2 : B                                                            \\r
+{                                                                             \\r
+  friend T operator OP( T lhs, const U& rhs ) { return lhs OP##= rhs; }       \\r
+};                                                                            \\r
+                                                                              \\r
+template <class T, class B = ::boost::detail::empty_base<T> >                 \\r
+struct NAME##1 : B                                                            \\r
+{                                                                             \\r
+  friend T operator OP( T lhs, const T& rhs ) { return lhs OP##= rhs; }       \\r
+};\r
+\r
+#endif // defined(BOOST_HAS_NRVO) || defined(BOOST_FORCE_SYMMETRIC_OPERATORS)\r
+\r
+BOOST_BINARY_OPERATOR( left_shiftable, << )\r
+BOOST_BINARY_OPERATOR( right_shiftable, >> )\r
+\r
+#undef BOOST_BINARY_OPERATOR\r
+\r
+template <class T, class U, class B = ::boost::detail::empty_base<T> >\r
+struct equivalent2 : B\r
+{\r
+  friend bool operator==(const T& x, const U& y)\r
+  {\r
+    return !static_cast<bool>(x < y) && !static_cast<bool>(x > y);\r
+  }\r
+};\r
+\r
+template <class T, class B = ::boost::detail::empty_base<T> >\r
+struct equivalent1 : B\r
+{\r
+  friend bool operator==(const T&x, const T&y)\r
+  {\r
+    return !static_cast<bool>(x < y) && !static_cast<bool>(y < x);\r
+  }\r
+};\r
+\r
+template <class T, class U, class B = ::boost::detail::empty_base<T> >\r
+struct partially_ordered2 : B\r
+{\r
+  friend bool operator<=(const T& x, const U& y)\r
+    { return static_cast<bool>(x < y) || static_cast<bool>(x == y); }\r
+  friend bool operator>=(const T& x, const U& y)\r
+    { return static_cast<bool>(x > y) || static_cast<bool>(x == y); }\r
+  friend bool operator>(const U& x, const T& y)\r
+    { return y < x; }\r
+  friend bool operator<(const U& x, const T& y)\r
+    { return y > x; }\r
+  friend bool operator<=(const U& x, const T& y)\r
+    { return static_cast<bool>(y > x) || static_cast<bool>(y == x); }\r
+  friend bool operator>=(const U& x, const T& y)\r
+    { return static_cast<bool>(y < x) || static_cast<bool>(y == x); }\r
+};\r
+\r
+template <class T, class B = ::boost::detail::empty_base<T> >\r
+struct partially_ordered1 : B\r
+{\r
+  friend bool operator>(const T& x, const T& y)\r
+    { return y < x; }\r
+  friend bool operator<=(const T& x, const T& y)\r
+    { return static_cast<bool>(x < y) || static_cast<bool>(x == y); }\r
+  friend bool operator>=(const T& x, const T& y)\r
+    { return static_cast<bool>(y < x) || static_cast<bool>(x == y); }\r
+};\r
+\r
+//  Combined operator classes (contributed by Daryle Walker) ----------------//\r
+\r
+template <class T, class U, class B = ::boost::detail::empty_base<T> >\r
+struct totally_ordered2\r
+    : less_than_comparable2<T, U\r
+    , equality_comparable2<T, U, B\r
+      > > {};\r
+\r
+template <class T, class B = ::boost::detail::empty_base<T> >\r
+struct totally_ordered1\r
+    : less_than_comparable1<T\r
+    , equality_comparable1<T, B\r
+      > > {};\r
+\r
+template <class T, class U, class B = ::boost::detail::empty_base<T> >\r
+struct additive2\r
+    : addable2<T, U\r
+    , subtractable2<T, U, B\r
+      > > {};\r
+\r
+template <class T, class B = ::boost::detail::empty_base<T> >\r
+struct additive1\r
+    : addable1<T\r
+    , subtractable1<T, B\r
+      > > {};\r
+\r
+template <class T, class U, class B = ::boost::detail::empty_base<T> >\r
+struct multiplicative2\r
+    : multipliable2<T, U\r
+    , dividable2<T, U, B\r
+      > > {};\r
+\r
+template <class T, class B = ::boost::detail::empty_base<T> >\r
+struct multiplicative1\r
+    : multipliable1<T\r
+    , dividable1<T, B\r
+      > > {};\r
+\r
+template <class T, class U, class B = ::boost::detail::empty_base<T> >\r
+struct integer_multiplicative2\r
+    : multiplicative2<T, U\r
+    , modable2<T, U, B\r
+      > > {};\r
+\r
+template <class T, class B = ::boost::detail::empty_base<T> >\r
+struct integer_multiplicative1\r
+    : multiplicative1<T\r
+    , modable1<T, B\r
+      > > {};\r
+\r
+template <class T, class U, class B = ::boost::detail::empty_base<T> >\r
+struct arithmetic2\r
+    : additive2<T, U\r
+    , multiplicative2<T, U, B\r
+      > > {};\r
+\r
+template <class T, class B = ::boost::detail::empty_base<T> >\r
+struct arithmetic1\r
+    : additive1<T\r
+    , multiplicative1<T, B\r
+      > > {};\r
+\r
+template <class T, class U, class B = ::boost::detail::empty_base<T> >\r
+struct integer_arithmetic2\r
+    : additive2<T, U\r
+    , integer_multiplicative2<T, U, B\r
+      > > {};\r
+\r
+template <class T, class B = ::boost::detail::empty_base<T> >\r
+struct integer_arithmetic1\r
+    : additive1<T\r
+    , integer_multiplicative1<T, B\r
+      > > {};\r
+\r
+template <class T, class U, class B = ::boost::detail::empty_base<T> >\r
+struct bitwise2\r
+    : xorable2<T, U\r
+    , andable2<T, U\r
+    , orable2<T, U, B\r
+      > > > {};\r
+\r
+template <class T, class B = ::boost::detail::empty_base<T> >\r
+struct bitwise1\r
+    : xorable1<T\r
+    , andable1<T\r
+    , orable1<T, B\r
+      > > > {};\r
+\r
+template <class T, class B = ::boost::detail::empty_base<T> >\r
+struct unit_steppable\r
+    : incrementable<T\r
+    , decrementable<T, B\r
+      > > {};\r
+\r
+template <class T, class U, class B = ::boost::detail::empty_base<T> >\r
+struct shiftable2\r
+    : left_shiftable2<T, U\r
+    , right_shiftable2<T, U, B\r
+      > > {};\r
+\r
+template <class T, class B = ::boost::detail::empty_base<T> >\r
+struct shiftable1\r
+    : left_shiftable1<T\r
+    , right_shiftable1<T, B\r
+      > > {};\r
+\r
+template <class T, class U, class B = ::boost::detail::empty_base<T> >\r
+struct ring_operators2\r
+    : additive2<T, U\r
+    , subtractable2_left<T, U\r
+    , multipliable2<T, U, B\r
+      > > > {};\r
+\r
+template <class T, class B = ::boost::detail::empty_base<T> >\r
+struct ring_operators1\r
+    : additive1<T\r
+    , multipliable1<T, B\r
+      > > {};\r
+\r
+template <class T, class U, class B = ::boost::detail::empty_base<T> >\r
+struct ordered_ring_operators2\r
+    : ring_operators2<T, U\r
+    , totally_ordered2<T, U, B\r
+      > > {};\r
+\r
+template <class T, class B = ::boost::detail::empty_base<T> >\r
+struct ordered_ring_operators1\r
+    : ring_operators1<T\r
+    , totally_ordered1<T, B\r
+      > > {};\r
+\r
+template <class T, class U, class B = ::boost::detail::empty_base<T> >\r
+struct field_operators2\r
+    : ring_operators2<T, U\r
+    , dividable2<T, U\r
+    , dividable2_left<T, U, B\r
+      > > > {};\r
+\r
+template <class T, class B = ::boost::detail::empty_base<T> >\r
+struct field_operators1\r
+    : ring_operators1<T\r
+    , dividable1<T, B\r
+      > > {};\r
+\r
+template <class T, class U, class B = ::boost::detail::empty_base<T> >\r
+struct ordered_field_operators2\r
+    : field_operators2<T, U\r
+    , totally_ordered2<T, U, B\r
+      > > {};\r
+\r
+template <class T, class B = ::boost::detail::empty_base<T> >\r
+struct ordered_field_operators1\r
+    : field_operators1<T\r
+    , totally_ordered1<T, B\r
+      > > {};\r
+\r
+template <class T, class U, class B = ::boost::detail::empty_base<T> >\r
+struct euclidian_ring_operators2\r
+    : ring_operators2<T, U\r
+    , dividable2<T, U\r
+    , dividable2_left<T, U\r
+    , modable2<T, U\r
+    , modable2_left<T, U, B\r
+      > > > > > {};\r
+\r
+template <class T, class B = ::boost::detail::empty_base<T> >\r
+struct euclidian_ring_operators1\r
+    : ring_operators1<T\r
+    , dividable1<T\r
+    , modable1<T, B\r
+      > > > {};\r
+\r
+template <class T, class U, class B = ::boost::detail::empty_base<T> >\r
+struct ordered_euclidian_ring_operators2\r
+    : totally_ordered2<T, U\r
+    , euclidian_ring_operators2<T, U, B\r
+      > > {};\r
+\r
+template <class T, class B = ::boost::detail::empty_base<T> >\r
+struct ordered_euclidian_ring_operators1\r
+    : totally_ordered1<T\r
+    , euclidian_ring_operators1<T, B\r
+      > > {};\r
+\r
+template <class T, class U, class B = ::boost::detail::empty_base<T> >\r
+struct euclidean_ring_operators2\r
+    : ring_operators2<T, U\r
+    , dividable2<T, U\r
+    , dividable2_left<T, U\r
+    , modable2<T, U\r
+    , modable2_left<T, U, B\r
+      > > > > > {};\r
+\r
+template <class T, class B = ::boost::detail::empty_base<T> >\r
+struct euclidean_ring_operators1\r
+    : ring_operators1<T\r
+    , dividable1<T\r
+    , modable1<T, B\r
+      > > > {};\r
+\r
+template <class T, class U, class B = ::boost::detail::empty_base<T> >\r
+struct ordered_euclidean_ring_operators2\r
+    : totally_ordered2<T, U\r
+    , euclidean_ring_operators2<T, U, B\r
+      > > {};\r
+\r
+template <class T, class B = ::boost::detail::empty_base<T> >\r
+struct ordered_euclidean_ring_operators1\r
+    : totally_ordered1<T\r
+    , euclidean_ring_operators1<T, B\r
+      > > {};\r
+\r
+template <class T, class P, class B = ::boost::detail::empty_base<T> >\r
+struct input_iteratable\r
+    : equality_comparable1<T\r
+    , incrementable<T\r
+    , dereferenceable<T, P, B\r
+      > > > {};\r
+\r
+template <class T, class B = ::boost::detail::empty_base<T> >\r
+struct output_iteratable\r
+    : incrementable<T, B\r
+      > {};\r
+\r
+template <class T, class P, class B = ::boost::detail::empty_base<T> >\r
+struct forward_iteratable\r
+    : input_iteratable<T, P, B\r
+      > {};\r
+\r
+template <class T, class P, class B = ::boost::detail::empty_base<T> >\r
+struct bidirectional_iteratable\r
+    : forward_iteratable<T, P\r
+    , decrementable<T, B\r
+      > > {};\r
+\r
+//  To avoid repeated derivation from equality_comparable,\r
+//  which is an indirect base class of bidirectional_iterable,\r
+//  random_access_iteratable must not be derived from totally_ordered1\r
+//  but from less_than_comparable1 only. (Helmut Zeisel, 02-Dec-2001)\r
+template <class T, class P, class D, class R, class B = ::boost::detail::empty_base<T> >\r
+struct random_access_iteratable\r
+    : bidirectional_iteratable<T, P\r
+    , less_than_comparable1<T\r
+    , additive2<T, D\r
+    , indexable<T, D, R, B\r
+      > > > > {};\r
+\r
+#ifndef BOOST_NO_OPERATORS_IN_NAMESPACE\r
+} // namespace boost\r
+#endif // BOOST_NO_OPERATORS_IN_NAMESPACE\r
+\r
+\r
+// BOOST_IMPORT_TEMPLATE1 .. BOOST_IMPORT_TEMPLATE4 -\r
+//\r
+// When BOOST_NO_OPERATORS_IN_NAMESPACE is defined we need a way to import an\r
+// operator template into the boost namespace. BOOST_IMPORT_TEMPLATE1 is used\r
+// for one-argument forms of operator templates; BOOST_IMPORT_TEMPLATE2 for\r
+// two-argument forms. Note that these macros expect to be invoked from within\r
+// boost.\r
+\r
+#ifndef BOOST_NO_OPERATORS_IN_NAMESPACE\r
+\r
+  // The template is already in boost so we have nothing to do.\r
+# define BOOST_IMPORT_TEMPLATE4(template_name)\r
+# define BOOST_IMPORT_TEMPLATE3(template_name)\r
+# define BOOST_IMPORT_TEMPLATE2(template_name)\r
+# define BOOST_IMPORT_TEMPLATE1(template_name)\r
+\r
+#else // BOOST_NO_OPERATORS_IN_NAMESPACE\r
+\r
+#  ifndef BOOST_NO_USING_TEMPLATE\r
+\r
+     // Bring the names in with a using-declaration\r
+     // to avoid stressing the compiler.\r
+#    define BOOST_IMPORT_TEMPLATE4(template_name) using ::template_name;\r
+#    define BOOST_IMPORT_TEMPLATE3(template_name) using ::template_name;\r
+#    define BOOST_IMPORT_TEMPLATE2(template_name) using ::template_name;\r
+#    define BOOST_IMPORT_TEMPLATE1(template_name) using ::template_name;\r
+\r
+#  else\r
+\r
+     // Otherwise, because a Borland C++ 5.5 bug prevents a using declaration\r
+     // from working, we are forced to use inheritance for that compiler.\r
+#    define BOOST_IMPORT_TEMPLATE4(template_name)                                             \\r
+     template <class T, class U, class V, class W, class B = ::boost::detail::empty_base<T> > \\r
+     struct template_name : ::template_name<T, U, V, W, B> {};\r
+\r
+#    define BOOST_IMPORT_TEMPLATE3(template_name)                                    \\r
+     template <class T, class U, class V, class B = ::boost::detail::empty_base<T> > \\r
+     struct template_name : ::template_name<T, U, V, B> {};\r
+\r
+#    define BOOST_IMPORT_TEMPLATE2(template_name)                           \\r
+     template <class T, class U, class B = ::boost::detail::empty_base<T> > \\r
+     struct template_name : ::template_name<T, U, B> {};\r
+\r
+#    define BOOST_IMPORT_TEMPLATE1(template_name)                  \\r
+     template <class T, class B = ::boost::detail::empty_base<T> > \\r
+     struct template_name : ::template_name<T, B> {};\r
+\r
+#  endif // BOOST_NO_USING_TEMPLATE\r
+\r
+#endif // BOOST_NO_OPERATORS_IN_NAMESPACE\r
+\r
+//\r
+// Here's where we put it all together, defining the xxxx forms of the templates\r
+// in namespace boost. We also define specializations of is_chained_base<> for\r
+// the xxxx, xxxx1, and xxxx2 templates, importing them into boost:: as\r
+// necessary.\r
+//\r
+#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+\r
+// is_chained_base<> - a traits class used to distinguish whether an operator\r
+// template argument is being used for base class chaining, or is specifying a\r
+// 2nd argument type.\r
+\r
+namespace boost {\r
+// A type parameter is used instead of a plain bool because Borland's compiler\r
+// didn't cope well with the more obvious non-type template parameter.\r
+namespace detail {\r
+  struct true_t {};\r
+  struct false_t {};\r
+} // namespace detail\r
+\r
+// Unspecialized version assumes that most types are not being used for base\r
+// class chaining. We specialize for the operator templates defined in this\r
+// library.\r
+template<class T> struct is_chained_base {\r
+  typedef ::boost::detail::false_t value;\r
+};\r
+\r
+} // namespace boost\r
+\r
+// Import a 4-type-argument operator template into boost (if necessary) and\r
+// provide a specialization of 'is_chained_base<>' for it.\r
+# define BOOST_OPERATOR_TEMPLATE4(template_name4)                     \\r
+  BOOST_IMPORT_TEMPLATE4(template_name4)                              \\r
+  template<class T, class U, class V, class W, class B>               \\r
+  struct is_chained_base< ::boost::template_name4<T, U, V, W, B> > {  \\r
+    typedef ::boost::detail::true_t value;                            \\r
+  };\r
+\r
+// Import a 3-type-argument operator template into boost (if necessary) and\r
+// provide a specialization of 'is_chained_base<>' for it.\r
+# define BOOST_OPERATOR_TEMPLATE3(template_name3)                     \\r
+  BOOST_IMPORT_TEMPLATE3(template_name3)                              \\r
+  template<class T, class U, class V, class B>                        \\r
+  struct is_chained_base< ::boost::template_name3<T, U, V, B> > {     \\r
+    typedef ::boost::detail::true_t value;                            \\r
+  };\r
+\r
+// Import a 2-type-argument operator template into boost (if necessary) and\r
+// provide a specialization of 'is_chained_base<>' for it.\r
+# define BOOST_OPERATOR_TEMPLATE2(template_name2)                  \\r
+  BOOST_IMPORT_TEMPLATE2(template_name2)                           \\r
+  template<class T, class U, class B>                              \\r
+  struct is_chained_base< ::boost::template_name2<T, U, B> > {     \\r
+    typedef ::boost::detail::true_t value;                         \\r
+  };\r
+\r
+// Import a 1-type-argument operator template into boost (if necessary) and\r
+// provide a specialization of 'is_chained_base<>' for it.\r
+# define BOOST_OPERATOR_TEMPLATE1(template_name1)                  \\r
+  BOOST_IMPORT_TEMPLATE1(template_name1)                           \\r
+  template<class T, class B>                                       \\r
+  struct is_chained_base< ::boost::template_name1<T, B> > {        \\r
+    typedef ::boost::detail::true_t value;                         \\r
+  };\r
+\r
+// BOOST_OPERATOR_TEMPLATE(template_name) defines template_name<> such that it\r
+// can be used for specifying both 1-argument and 2-argument forms. Requires the\r
+// existence of two previously defined class templates named '<template_name>1'\r
+// and '<template_name>2' which must implement the corresponding 1- and 2-\r
+// argument forms.\r
+//\r
+// The template type parameter O == is_chained_base<U>::value is used to\r
+// distinguish whether the 2nd argument to <template_name> is being used for\r
+// base class chaining from another boost operator template or is describing a\r
+// 2nd operand type. O == true_t only when U is actually an another operator\r
+// template from the library. Partial specialization is used to select an\r
+// implementation in terms of either '<template_name>1' or '<template_name>2'.\r
+//\r
+\r
+# define BOOST_OPERATOR_TEMPLATE(template_name)                    \\r
+template <class T                                                  \\r
+         ,class U = T                                              \\r
+         ,class B = ::boost::detail::empty_base<T>                 \\r
+         ,class O = typename is_chained_base<U>::value             \\r
+         >                                                         \\r
+struct template_name : template_name##2<T, U, B> {};               \\r
+                                                                   \\r
+template<class T, class U, class B>                                \\r
+struct template_name<T, U, B, ::boost::detail::true_t>             \\r
+  : template_name##1<T, U> {};                                     \\r
+                                                                   \\r
+template <class T, class B>                                        \\r
+struct template_name<T, T, B, ::boost::detail::false_t>            \\r
+  : template_name##1<T, B> {};                                     \\r
+                                                                   \\r
+template<class T, class U, class B, class O>                       \\r
+struct is_chained_base< ::boost::template_name<T, U, B, O> > {     \\r
+  typedef ::boost::detail::true_t value;                           \\r
+};                                                                 \\r
+                                                                   \\r
+BOOST_OPERATOR_TEMPLATE2(template_name##2)                         \\r
+BOOST_OPERATOR_TEMPLATE1(template_name##1)\r
+\r
+\r
+#else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+\r
+#  define BOOST_OPERATOR_TEMPLATE4(template_name4) \\r
+        BOOST_IMPORT_TEMPLATE4(template_name4)\r
+#  define BOOST_OPERATOR_TEMPLATE3(template_name3) \\r
+        BOOST_IMPORT_TEMPLATE3(template_name3)\r
+#  define BOOST_OPERATOR_TEMPLATE2(template_name2) \\r
+        BOOST_IMPORT_TEMPLATE2(template_name2)\r
+#  define BOOST_OPERATOR_TEMPLATE1(template_name1) \\r
+        BOOST_IMPORT_TEMPLATE1(template_name1)\r
+\r
+   // In this case we can only assume that template_name<> is equivalent to the\r
+   // more commonly needed template_name1<> form.\r
+#  define BOOST_OPERATOR_TEMPLATE(template_name)                   \\r
+   template <class T, class B = ::boost::detail::empty_base<T> >   \\r
+   struct template_name : template_name##1<T, B> {};\r
+\r
+#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+\r
+namespace boost {\r
+    \r
+BOOST_OPERATOR_TEMPLATE(less_than_comparable)\r
+BOOST_OPERATOR_TEMPLATE(equality_comparable)\r
+BOOST_OPERATOR_TEMPLATE(multipliable)\r
+BOOST_OPERATOR_TEMPLATE(addable)\r
+BOOST_OPERATOR_TEMPLATE(subtractable)\r
+BOOST_OPERATOR_TEMPLATE2(subtractable2_left)\r
+BOOST_OPERATOR_TEMPLATE(dividable)\r
+BOOST_OPERATOR_TEMPLATE2(dividable2_left)\r
+BOOST_OPERATOR_TEMPLATE(modable)\r
+BOOST_OPERATOR_TEMPLATE2(modable2_left)\r
+BOOST_OPERATOR_TEMPLATE(xorable)\r
+BOOST_OPERATOR_TEMPLATE(andable)\r
+BOOST_OPERATOR_TEMPLATE(orable)\r
+\r
+BOOST_OPERATOR_TEMPLATE1(incrementable)\r
+BOOST_OPERATOR_TEMPLATE1(decrementable)\r
+\r
+BOOST_OPERATOR_TEMPLATE2(dereferenceable)\r
+BOOST_OPERATOR_TEMPLATE3(indexable)\r
+\r
+BOOST_OPERATOR_TEMPLATE(left_shiftable)\r
+BOOST_OPERATOR_TEMPLATE(right_shiftable)\r
+BOOST_OPERATOR_TEMPLATE(equivalent)\r
+BOOST_OPERATOR_TEMPLATE(partially_ordered)\r
+\r
+BOOST_OPERATOR_TEMPLATE(totally_ordered)\r
+BOOST_OPERATOR_TEMPLATE(additive)\r
+BOOST_OPERATOR_TEMPLATE(multiplicative)\r
+BOOST_OPERATOR_TEMPLATE(integer_multiplicative)\r
+BOOST_OPERATOR_TEMPLATE(arithmetic)\r
+BOOST_OPERATOR_TEMPLATE(integer_arithmetic)\r
+BOOST_OPERATOR_TEMPLATE(bitwise)\r
+BOOST_OPERATOR_TEMPLATE1(unit_steppable)\r
+BOOST_OPERATOR_TEMPLATE(shiftable)\r
+BOOST_OPERATOR_TEMPLATE(ring_operators)\r
+BOOST_OPERATOR_TEMPLATE(ordered_ring_operators)\r
+BOOST_OPERATOR_TEMPLATE(field_operators)\r
+BOOST_OPERATOR_TEMPLATE(ordered_field_operators)\r
+BOOST_OPERATOR_TEMPLATE(euclidian_ring_operators)\r
+BOOST_OPERATOR_TEMPLATE(ordered_euclidian_ring_operators)\r
+BOOST_OPERATOR_TEMPLATE(euclidean_ring_operators)\r
+BOOST_OPERATOR_TEMPLATE(ordered_euclidean_ring_operators)\r
+BOOST_OPERATOR_TEMPLATE2(input_iteratable)\r
+BOOST_OPERATOR_TEMPLATE1(output_iteratable)\r
+BOOST_OPERATOR_TEMPLATE2(forward_iteratable)\r
+BOOST_OPERATOR_TEMPLATE2(bidirectional_iteratable)\r
+BOOST_OPERATOR_TEMPLATE4(random_access_iteratable)\r
+\r
+#undef BOOST_OPERATOR_TEMPLATE\r
+#undef BOOST_OPERATOR_TEMPLATE4\r
+#undef BOOST_OPERATOR_TEMPLATE3\r
+#undef BOOST_OPERATOR_TEMPLATE2\r
+#undef BOOST_OPERATOR_TEMPLATE1\r
+#undef BOOST_IMPORT_TEMPLATE1\r
+#undef BOOST_IMPORT_TEMPLATE2\r
+#undef BOOST_IMPORT_TEMPLATE3\r
+#undef BOOST_IMPORT_TEMPLATE4\r
+\r
+// The following 'operators' classes can only be used portably if the derived class\r
+// declares ALL of the required member operators.\r
+template <class T, class U>\r
+struct operators2\r
+    : totally_ordered2<T,U\r
+    , integer_arithmetic2<T,U\r
+    , bitwise2<T,U\r
+      > > > {};\r
+\r
+#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+template <class T, class U = T>\r
+struct operators : operators2<T, U> {};\r
+\r
+template <class T> struct operators<T, T>\r
+#else\r
+template <class T> struct operators\r
+#endif\r
+    : totally_ordered<T\r
+    , integer_arithmetic<T\r
+    , bitwise<T\r
+    , unit_steppable<T\r
+      > > > > {};\r
+\r
+//  Iterator helper classes (contributed by Jeremy Siek) -------------------//\r
+//  (Input and output iterator helpers contributed by Daryle Walker) -------//\r
+//  (Changed to use combined operator classes by Daryle Walker) ------------//\r
+template <class T,\r
+          class V,\r
+          class D = std::ptrdiff_t,\r
+          class P = V const *,\r
+          class R = V const &>\r
+struct input_iterator_helper\r
+  : input_iteratable<T, P\r
+  , boost::iterator<std::input_iterator_tag, V, D, P, R\r
+    > > {};\r
+\r
+template<class T>\r
+struct output_iterator_helper\r
+  : output_iteratable<T\r
+  , boost::iterator<std::output_iterator_tag, void, void, void, void\r
+  > >\r
+{\r
+  T& operator*()  { return static_cast<T&>(*this); }\r
+  T& operator++() { return static_cast<T&>(*this); }\r
+};\r
+\r
+template <class T,\r
+          class V,\r
+          class D = std::ptrdiff_t,\r
+          class P = V*,\r
+          class R = V&>\r
+struct forward_iterator_helper\r
+  : forward_iteratable<T, P\r
+  , boost::iterator<std::forward_iterator_tag, V, D, P, R\r
+    > > {};\r
+\r
+template <class T,\r
+          class V,\r
+          class D = std::ptrdiff_t,\r
+          class P = V*,\r
+          class R = V&>\r
+struct bidirectional_iterator_helper\r
+  : bidirectional_iteratable<T, P\r
+  , boost::iterator<std::bidirectional_iterator_tag, V, D, P, R\r
+    > > {};\r
+\r
+template <class T,\r
+          class V, \r
+          class D = std::ptrdiff_t,\r
+          class P = V*,\r
+          class R = V&>\r
+struct random_access_iterator_helper\r
+  : random_access_iteratable<T, P, D, R\r
+  , boost::iterator<std::random_access_iterator_tag, V, D, P, R\r
+    > >\r
+{\r
+  friend D requires_difference_operator(const T& x, const T& y) {\r
+    return x - y;\r
+  }\r
+}; // random_access_iterator_helper\r
+\r
+} // namespace boost\r
+\r
+#if defined(__sgi) && !defined(__GNUC__)\r
+#pragma reset woff 1234\r
+#endif\r
+\r
+#endif // BOOST_OPERATORS_HPP\r
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 (file)
index 0000000..6ce0ead
--- /dev/null
@@ -0,0 +1,25 @@
+# /* Copyright (C) 2001\r
+#  * Housemarque Oy\r
+#  * http://www.housemarque.com\r
+#  *\r
+#  * Distributed under the Boost Software License, Version 1.0. (See\r
+#  * accompanying file LICENSE_1_0.txt or copy at\r
+#  * http://www.boost.org/LICENSE_1_0.txt)\r
+#  */\r
+#\r
+# /* Revised by Paul Mensonides (2002) */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_ARITHMETIC_HPP\r
+# define BOOST_PREPROCESSOR_ARITHMETIC_HPP\r
+#\r
+# include <boost/preprocessor/arithmetic/add.hpp>\r
+# include <boost/preprocessor/arithmetic/dec.hpp>\r
+# include <boost/preprocessor/arithmetic/div.hpp>\r
+# include <boost/preprocessor/arithmetic/inc.hpp>\r
+# include <boost/preprocessor/arithmetic/mod.hpp>\r
+# include <boost/preprocessor/arithmetic/mul.hpp>\r
+# include <boost/preprocessor/arithmetic/sub.hpp>\r
+#\r
+# endif\r
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 (file)
index 0000000..e6866ed
--- /dev/null
@@ -0,0 +1,51 @@
+# /* Copyright (C) 2001\r
+#  * Housemarque Oy\r
+#  * http://www.housemarque.com\r
+#  *\r
+#  * Distributed under the Boost Software License, Version 1.0. (See\r
+#  * accompanying file LICENSE_1_0.txt or copy at\r
+#  * http://www.boost.org/LICENSE_1_0.txt)\r
+#  */\r
+#\r
+# /* Revised by Paul Mensonides (2002) */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_ARITHMETIC_ADD_HPP\r
+# define BOOST_PREPROCESSOR_ARITHMETIC_ADD_HPP\r
+#\r
+# include <boost/preprocessor/arithmetic/dec.hpp>\r
+# include <boost/preprocessor/arithmetic/inc.hpp>\r
+# include <boost/preprocessor/config/config.hpp>\r
+# include <boost/preprocessor/control/while.hpp>\r
+# include <boost/preprocessor/tuple/elem.hpp>\r
+#\r
+# /* BOOST_PP_ADD */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    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)))\r
+# else\r
+#    define BOOST_PP_ADD(x, y) BOOST_PP_ADD_I(x, y)\r
+#    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)))\r
+# endif\r
+#\r
+# define BOOST_PP_ADD_P(d, xy) BOOST_PP_TUPLE_ELEM(2, 1, xy)\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()\r
+#    define BOOST_PP_ADD_O(d, xy) BOOST_PP_ADD_O_I xy\r
+# else\r
+#    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))\r
+# endif\r
+#\r
+# define BOOST_PP_ADD_O_I(x, y) (BOOST_PP_INC(x), BOOST_PP_DEC(y))\r
+#\r
+# /* BOOST_PP_ADD_D */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    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)))\r
+# else\r
+#    define BOOST_PP_ADD_D(d, x, y) BOOST_PP_ADD_D_I(d, x, y)\r
+#    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)))\r
+# endif\r
+#\r
+# endif\r
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 (file)
index 0000000..bef7281
--- /dev/null
@@ -0,0 +1,288 @@
+# /* Copyright (C) 2001\r
+#  * Housemarque Oy\r
+#  * http://www.housemarque.com\r
+#  *\r
+#  * Distributed under the Boost Software License, Version 1.0. (See\r
+#  * accompanying file LICENSE_1_0.txt or copy at\r
+#  * http://www.boost.org/LICENSE_1_0.txt)\r
+#  */\r
+#\r
+# /* Revised by Paul Mensonides (2002) */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_ARITHMETIC_DEC_HPP\r
+# define BOOST_PREPROCESSOR_ARITHMETIC_DEC_HPP\r
+#\r
+# include <boost/preprocessor/config/config.hpp>\r
+#\r
+# /* BOOST_PP_DEC */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()\r
+#    define BOOST_PP_DEC(x) BOOST_PP_DEC_I(x)\r
+# else\r
+#    define BOOST_PP_DEC(x) BOOST_PP_DEC_OO((x))\r
+#    define BOOST_PP_DEC_OO(par) BOOST_PP_DEC_I ## par\r
+# endif\r
+#\r
+# define BOOST_PP_DEC_I(x) BOOST_PP_DEC_ ## x\r
+#\r
+# define BOOST_PP_DEC_0 0\r
+# define BOOST_PP_DEC_1 0\r
+# define BOOST_PP_DEC_2 1\r
+# define BOOST_PP_DEC_3 2\r
+# define BOOST_PP_DEC_4 3\r
+# define BOOST_PP_DEC_5 4\r
+# define BOOST_PP_DEC_6 5\r
+# define BOOST_PP_DEC_7 6\r
+# define BOOST_PP_DEC_8 7\r
+# define BOOST_PP_DEC_9 8\r
+# define BOOST_PP_DEC_10 9\r
+# define BOOST_PP_DEC_11 10\r
+# define BOOST_PP_DEC_12 11\r
+# define BOOST_PP_DEC_13 12\r
+# define BOOST_PP_DEC_14 13\r
+# define BOOST_PP_DEC_15 14\r
+# define BOOST_PP_DEC_16 15\r
+# define BOOST_PP_DEC_17 16\r
+# define BOOST_PP_DEC_18 17\r
+# define BOOST_PP_DEC_19 18\r
+# define BOOST_PP_DEC_20 19\r
+# define BOOST_PP_DEC_21 20\r
+# define BOOST_PP_DEC_22 21\r
+# define BOOST_PP_DEC_23 22\r
+# define BOOST_PP_DEC_24 23\r
+# define BOOST_PP_DEC_25 24\r
+# define BOOST_PP_DEC_26 25\r
+# define BOOST_PP_DEC_27 26\r
+# define BOOST_PP_DEC_28 27\r
+# define BOOST_PP_DEC_29 28\r
+# define BOOST_PP_DEC_30 29\r
+# define BOOST_PP_DEC_31 30\r
+# define BOOST_PP_DEC_32 31\r
+# define BOOST_PP_DEC_33 32\r
+# define BOOST_PP_DEC_34 33\r
+# define BOOST_PP_DEC_35 34\r
+# define BOOST_PP_DEC_36 35\r
+# define BOOST_PP_DEC_37 36\r
+# define BOOST_PP_DEC_38 37\r
+# define BOOST_PP_DEC_39 38\r
+# define BOOST_PP_DEC_40 39\r
+# define BOOST_PP_DEC_41 40\r
+# define BOOST_PP_DEC_42 41\r
+# define BOOST_PP_DEC_43 42\r
+# define BOOST_PP_DEC_44 43\r
+# define BOOST_PP_DEC_45 44\r
+# define BOOST_PP_DEC_46 45\r
+# define BOOST_PP_DEC_47 46\r
+# define BOOST_PP_DEC_48 47\r
+# define BOOST_PP_DEC_49 48\r
+# define BOOST_PP_DEC_50 49\r
+# define BOOST_PP_DEC_51 50\r
+# define BOOST_PP_DEC_52 51\r
+# define BOOST_PP_DEC_53 52\r
+# define BOOST_PP_DEC_54 53\r
+# define BOOST_PP_DEC_55 54\r
+# define BOOST_PP_DEC_56 55\r
+# define BOOST_PP_DEC_57 56\r
+# define BOOST_PP_DEC_58 57\r
+# define BOOST_PP_DEC_59 58\r
+# define BOOST_PP_DEC_60 59\r
+# define BOOST_PP_DEC_61 60\r
+# define BOOST_PP_DEC_62 61\r
+# define BOOST_PP_DEC_63 62\r
+# define BOOST_PP_DEC_64 63\r
+# define BOOST_PP_DEC_65 64\r
+# define BOOST_PP_DEC_66 65\r
+# define BOOST_PP_DEC_67 66\r
+# define BOOST_PP_DEC_68 67\r
+# define BOOST_PP_DEC_69 68\r
+# define BOOST_PP_DEC_70 69\r
+# define BOOST_PP_DEC_71 70\r
+# define BOOST_PP_DEC_72 71\r
+# define BOOST_PP_DEC_73 72\r
+# define BOOST_PP_DEC_74 73\r
+# define BOOST_PP_DEC_75 74\r
+# define BOOST_PP_DEC_76 75\r
+# define BOOST_PP_DEC_77 76\r
+# define BOOST_PP_DEC_78 77\r
+# define BOOST_PP_DEC_79 78\r
+# define BOOST_PP_DEC_80 79\r
+# define BOOST_PP_DEC_81 80\r
+# define BOOST_PP_DEC_82 81\r
+# define BOOST_PP_DEC_83 82\r
+# define BOOST_PP_DEC_84 83\r
+# define BOOST_PP_DEC_85 84\r
+# define BOOST_PP_DEC_86 85\r
+# define BOOST_PP_DEC_87 86\r
+# define BOOST_PP_DEC_88 87\r
+# define BOOST_PP_DEC_89 88\r
+# define BOOST_PP_DEC_90 89\r
+# define BOOST_PP_DEC_91 90\r
+# define BOOST_PP_DEC_92 91\r
+# define BOOST_PP_DEC_93 92\r
+# define BOOST_PP_DEC_94 93\r
+# define BOOST_PP_DEC_95 94\r
+# define BOOST_PP_DEC_96 95\r
+# define BOOST_PP_DEC_97 96\r
+# define BOOST_PP_DEC_98 97\r
+# define BOOST_PP_DEC_99 98\r
+# define BOOST_PP_DEC_100 99\r
+# define BOOST_PP_DEC_101 100\r
+# define BOOST_PP_DEC_102 101\r
+# define BOOST_PP_DEC_103 102\r
+# define BOOST_PP_DEC_104 103\r
+# define BOOST_PP_DEC_105 104\r
+# define BOOST_PP_DEC_106 105\r
+# define BOOST_PP_DEC_107 106\r
+# define BOOST_PP_DEC_108 107\r
+# define BOOST_PP_DEC_109 108\r
+# define BOOST_PP_DEC_110 109\r
+# define BOOST_PP_DEC_111 110\r
+# define BOOST_PP_DEC_112 111\r
+# define BOOST_PP_DEC_113 112\r
+# define BOOST_PP_DEC_114 113\r
+# define BOOST_PP_DEC_115 114\r
+# define BOOST_PP_DEC_116 115\r
+# define BOOST_PP_DEC_117 116\r
+# define BOOST_PP_DEC_118 117\r
+# define BOOST_PP_DEC_119 118\r
+# define BOOST_PP_DEC_120 119\r
+# define BOOST_PP_DEC_121 120\r
+# define BOOST_PP_DEC_122 121\r
+# define BOOST_PP_DEC_123 122\r
+# define BOOST_PP_DEC_124 123\r
+# define BOOST_PP_DEC_125 124\r
+# define BOOST_PP_DEC_126 125\r
+# define BOOST_PP_DEC_127 126\r
+# define BOOST_PP_DEC_128 127\r
+# define BOOST_PP_DEC_129 128\r
+# define BOOST_PP_DEC_130 129\r
+# define BOOST_PP_DEC_131 130\r
+# define BOOST_PP_DEC_132 131\r
+# define BOOST_PP_DEC_133 132\r
+# define BOOST_PP_DEC_134 133\r
+# define BOOST_PP_DEC_135 134\r
+# define BOOST_PP_DEC_136 135\r
+# define BOOST_PP_DEC_137 136\r
+# define BOOST_PP_DEC_138 137\r
+# define BOOST_PP_DEC_139 138\r
+# define BOOST_PP_DEC_140 139\r
+# define BOOST_PP_DEC_141 140\r
+# define BOOST_PP_DEC_142 141\r
+# define BOOST_PP_DEC_143 142\r
+# define BOOST_PP_DEC_144 143\r
+# define BOOST_PP_DEC_145 144\r
+# define BOOST_PP_DEC_146 145\r
+# define BOOST_PP_DEC_147 146\r
+# define BOOST_PP_DEC_148 147\r
+# define BOOST_PP_DEC_149 148\r
+# define BOOST_PP_DEC_150 149\r
+# define BOOST_PP_DEC_151 150\r
+# define BOOST_PP_DEC_152 151\r
+# define BOOST_PP_DEC_153 152\r
+# define BOOST_PP_DEC_154 153\r
+# define BOOST_PP_DEC_155 154\r
+# define BOOST_PP_DEC_156 155\r
+# define BOOST_PP_DEC_157 156\r
+# define BOOST_PP_DEC_158 157\r
+# define BOOST_PP_DEC_159 158\r
+# define BOOST_PP_DEC_160 159\r
+# define BOOST_PP_DEC_161 160\r
+# define BOOST_PP_DEC_162 161\r
+# define BOOST_PP_DEC_163 162\r
+# define BOOST_PP_DEC_164 163\r
+# define BOOST_PP_DEC_165 164\r
+# define BOOST_PP_DEC_166 165\r
+# define BOOST_PP_DEC_167 166\r
+# define BOOST_PP_DEC_168 167\r
+# define BOOST_PP_DEC_169 168\r
+# define BOOST_PP_DEC_170 169\r
+# define BOOST_PP_DEC_171 170\r
+# define BOOST_PP_DEC_172 171\r
+# define BOOST_PP_DEC_173 172\r
+# define BOOST_PP_DEC_174 173\r
+# define BOOST_PP_DEC_175 174\r
+# define BOOST_PP_DEC_176 175\r
+# define BOOST_PP_DEC_177 176\r
+# define BOOST_PP_DEC_178 177\r
+# define BOOST_PP_DEC_179 178\r
+# define BOOST_PP_DEC_180 179\r
+# define BOOST_PP_DEC_181 180\r
+# define BOOST_PP_DEC_182 181\r
+# define BOOST_PP_DEC_183 182\r
+# define BOOST_PP_DEC_184 183\r
+# define BOOST_PP_DEC_185 184\r
+# define BOOST_PP_DEC_186 185\r
+# define BOOST_PP_DEC_187 186\r
+# define BOOST_PP_DEC_188 187\r
+# define BOOST_PP_DEC_189 188\r
+# define BOOST_PP_DEC_190 189\r
+# define BOOST_PP_DEC_191 190\r
+# define BOOST_PP_DEC_192 191\r
+# define BOOST_PP_DEC_193 192\r
+# define BOOST_PP_DEC_194 193\r
+# define BOOST_PP_DEC_195 194\r
+# define BOOST_PP_DEC_196 195\r
+# define BOOST_PP_DEC_197 196\r
+# define BOOST_PP_DEC_198 197\r
+# define BOOST_PP_DEC_199 198\r
+# define BOOST_PP_DEC_200 199\r
+# define BOOST_PP_DEC_201 200\r
+# define BOOST_PP_DEC_202 201\r
+# define BOOST_PP_DEC_203 202\r
+# define BOOST_PP_DEC_204 203\r
+# define BOOST_PP_DEC_205 204\r
+# define BOOST_PP_DEC_206 205\r
+# define BOOST_PP_DEC_207 206\r
+# define BOOST_PP_DEC_208 207\r
+# define BOOST_PP_DEC_209 208\r
+# define BOOST_PP_DEC_210 209\r
+# define BOOST_PP_DEC_211 210\r
+# define BOOST_PP_DEC_212 211\r
+# define BOOST_PP_DEC_213 212\r
+# define BOOST_PP_DEC_214 213\r
+# define BOOST_PP_DEC_215 214\r
+# define BOOST_PP_DEC_216 215\r
+# define BOOST_PP_DEC_217 216\r
+# define BOOST_PP_DEC_218 217\r
+# define BOOST_PP_DEC_219 218\r
+# define BOOST_PP_DEC_220 219\r
+# define BOOST_PP_DEC_221 220\r
+# define BOOST_PP_DEC_222 221\r
+# define BOOST_PP_DEC_223 222\r
+# define BOOST_PP_DEC_224 223\r
+# define BOOST_PP_DEC_225 224\r
+# define BOOST_PP_DEC_226 225\r
+# define BOOST_PP_DEC_227 226\r
+# define BOOST_PP_DEC_228 227\r
+# define BOOST_PP_DEC_229 228\r
+# define BOOST_PP_DEC_230 229\r
+# define BOOST_PP_DEC_231 230\r
+# define BOOST_PP_DEC_232 231\r
+# define BOOST_PP_DEC_233 232\r
+# define BOOST_PP_DEC_234 233\r
+# define BOOST_PP_DEC_235 234\r
+# define BOOST_PP_DEC_236 235\r
+# define BOOST_PP_DEC_237 236\r
+# define BOOST_PP_DEC_238 237\r
+# define BOOST_PP_DEC_239 238\r
+# define BOOST_PP_DEC_240 239\r
+# define BOOST_PP_DEC_241 240\r
+# define BOOST_PP_DEC_242 241\r
+# define BOOST_PP_DEC_243 242\r
+# define BOOST_PP_DEC_244 243\r
+# define BOOST_PP_DEC_245 244\r
+# define BOOST_PP_DEC_246 245\r
+# define BOOST_PP_DEC_247 246\r
+# define BOOST_PP_DEC_248 247\r
+# define BOOST_PP_DEC_249 248\r
+# define BOOST_PP_DEC_250 249\r
+# define BOOST_PP_DEC_251 250\r
+# define BOOST_PP_DEC_252 251\r
+# define BOOST_PP_DEC_253 252\r
+# define BOOST_PP_DEC_254 253\r
+# define BOOST_PP_DEC_255 254\r
+# define BOOST_PP_DEC_256 255\r
+#\r
+# endif\r
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 (file)
index 0000000..8b4de25
--- /dev/null
@@ -0,0 +1,61 @@
+# /* Copyright (C) 2001\r
+#  * Housemarque Oy\r
+#  * http://www.housemarque.com\r
+#  *\r
+#  * Distributed under the Boost Software License, Version 1.0. (See\r
+#  * accompanying file LICENSE_1_0.txt or copy at\r
+#  * http://www.boost.org/LICENSE_1_0.txt)\r
+#  */\r
+#\r
+# /* Revised by Paul Mensonides (2002) */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_ARITHMETIC_DETAIL_DIV_BASE_HPP\r
+# define BOOST_PREPROCESSOR_ARITHMETIC_DETAIL_DIV_BASE_HPP\r
+#\r
+# include <boost/preprocessor/arithmetic/inc.hpp>\r
+# include <boost/preprocessor/arithmetic/sub.hpp>\r
+# include <boost/preprocessor/comparison/less_equal.hpp>\r
+# include <boost/preprocessor/config/config.hpp>\r
+# include <boost/preprocessor/control/while.hpp>\r
+# include <boost/preprocessor/tuple/elem.hpp>\r
+# include <boost/preprocessor/tuple/rem.hpp>\r
+#\r
+# /* BOOST_PP_DIV_BASE */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    define BOOST_PP_DIV_BASE(x, y) BOOST_PP_WHILE(BOOST_PP_DIV_BASE_P, BOOST_PP_DIV_BASE_O, (0, x, y))\r
+# else\r
+#    define BOOST_PP_DIV_BASE(x, y) BOOST_PP_DIV_BASE_I(x, y)\r
+#    define BOOST_PP_DIV_BASE_I(x, y) BOOST_PP_WHILE(BOOST_PP_DIV_BASE_P, BOOST_PP_DIV_BASE_O, (0, x, y))\r
+# endif\r
+#\r
+# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()\r
+#    define BOOST_PP_DIV_BASE_P(d, rxy) BOOST_PP_DIV_BASE_P_IM(d, BOOST_PP_TUPLE_REM_3 rxy)\r
+#    define BOOST_PP_DIV_BASE_P_IM(d, im) BOOST_PP_DIV_BASE_P_I(d, im)\r
+# else\r
+#    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))\r
+# endif\r
+#\r
+# define BOOST_PP_DIV_BASE_P_I(d, r, x, y) BOOST_PP_LESS_EQUAL_D(d, y, x)\r
+#\r
+# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()\r
+#    define BOOST_PP_DIV_BASE_O(d, rxy) BOOST_PP_DIV_BASE_O_IM(d, BOOST_PP_TUPLE_REM_3 rxy)\r
+#    define BOOST_PP_DIV_BASE_O_IM(d, im) BOOST_PP_DIV_BASE_O_I(d, im)\r
+# else\r
+#    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))\r
+# endif\r
+#\r
+# define BOOST_PP_DIV_BASE_O_I(d, r, x, y) (BOOST_PP_INC(r), BOOST_PP_SUB_D(d, x, y), y)\r
+#\r
+# /* BOOST_PP_DIV_BASE_D */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    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))\r
+# else\r
+#    define BOOST_PP_DIV_BASE_D(d, x, y) BOOST_PP_DIV_BASE_D_I(d, x, y)\r
+#    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))\r
+# endif\r
+#\r
+# endif\r
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 (file)
index 0000000..1df8ab6
--- /dev/null
@@ -0,0 +1,39 @@
+# /* Copyright (C) 2001\r
+#  * Housemarque Oy\r
+#  * http://www.housemarque.com\r
+#  *\r
+#  * Distributed under the Boost Software License, Version 1.0. (See\r
+#  * accompanying file LICENSE_1_0.txt or copy at\r
+#  * http://www.boost.org/LICENSE_1_0.txt)\r
+#  */\r
+#\r
+# /* Revised by Paul Mensonides (2002) */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_ARITHMETIC_DIV_HPP\r
+# define BOOST_PREPROCESSOR_ARITHMETIC_DIV_HPP\r
+#\r
+# include <boost/preprocessor/arithmetic/detail/div_base.hpp>\r
+# include <boost/preprocessor/config/config.hpp>\r
+# include <boost/preprocessor/tuple/elem.hpp>\r
+#\r
+# /* BOOST_PP_DIV */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    define BOOST_PP_DIV(x, y) BOOST_PP_TUPLE_ELEM(3, 0, BOOST_PP_DIV_BASE(x, y))\r
+# else\r
+#    define BOOST_PP_DIV(x, y) BOOST_PP_DIV_I(x, y)\r
+#    define BOOST_PP_DIV_I(x, y) BOOST_PP_TUPLE_ELEM(3, 0, BOOST_PP_DIV_BASE(x, y))\r
+# endif\r
+#\r
+# /* BOOST_PP_DIV_D */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    define BOOST_PP_DIV_D(d, x, y) BOOST_PP_TUPLE_ELEM(3, 0, BOOST_PP_DIV_BASE_D(d, x, y))\r
+# else\r
+#    define BOOST_PP_DIV_D(d, x, y) BOOST_PP_DIV_D_I(d, x, y)\r
+#    define BOOST_PP_DIV_D_I(d, x, y) BOOST_PP_TUPLE_ELEM(3, 0, BOOST_PP_DIV_BASE_D(d, x, y))\r
+# endif\r
+#\r
+# endif\r
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 (file)
index 0000000..4c367f9
--- /dev/null
@@ -0,0 +1,288 @@
+# /* Copyright (C) 2001\r
+#  * Housemarque Oy\r
+#  * http://www.housemarque.com\r
+#  *\r
+#  * Distributed under the Boost Software License, Version 1.0. (See\r
+#  * accompanying file LICENSE_1_0.txt or copy at\r
+#  * http://www.boost.org/LICENSE_1_0.txt)\r
+#  */\r
+#\r
+# /* Revised by Paul Mensonides (2002) */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_ARITHMETIC_INC_HPP\r
+# define BOOST_PREPROCESSOR_ARITHMETIC_INC_HPP\r
+#\r
+# include <boost/preprocessor/config/config.hpp>\r
+#\r
+# /* BOOST_PP_INC */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()\r
+#    define BOOST_PP_INC(x) BOOST_PP_INC_I(x)\r
+# else\r
+#    define BOOST_PP_INC(x) BOOST_PP_INC_OO((x))\r
+#    define BOOST_PP_INC_OO(par) BOOST_PP_INC_I ## par\r
+# endif\r
+#\r
+# define BOOST_PP_INC_I(x) BOOST_PP_INC_ ## x\r
+#\r
+# define BOOST_PP_INC_0 1\r
+# define BOOST_PP_INC_1 2\r
+# define BOOST_PP_INC_2 3\r
+# define BOOST_PP_INC_3 4\r
+# define BOOST_PP_INC_4 5\r
+# define BOOST_PP_INC_5 6\r
+# define BOOST_PP_INC_6 7\r
+# define BOOST_PP_INC_7 8\r
+# define BOOST_PP_INC_8 9\r
+# define BOOST_PP_INC_9 10\r
+# define BOOST_PP_INC_10 11\r
+# define BOOST_PP_INC_11 12\r
+# define BOOST_PP_INC_12 13\r
+# define BOOST_PP_INC_13 14\r
+# define BOOST_PP_INC_14 15\r
+# define BOOST_PP_INC_15 16\r
+# define BOOST_PP_INC_16 17\r
+# define BOOST_PP_INC_17 18\r
+# define BOOST_PP_INC_18 19\r
+# define BOOST_PP_INC_19 20\r
+# define BOOST_PP_INC_20 21\r
+# define BOOST_PP_INC_21 22\r
+# define BOOST_PP_INC_22 23\r
+# define BOOST_PP_INC_23 24\r
+# define BOOST_PP_INC_24 25\r
+# define BOOST_PP_INC_25 26\r
+# define BOOST_PP_INC_26 27\r
+# define BOOST_PP_INC_27 28\r
+# define BOOST_PP_INC_28 29\r
+# define BOOST_PP_INC_29 30\r
+# define BOOST_PP_INC_30 31\r
+# define BOOST_PP_INC_31 32\r
+# define BOOST_PP_INC_32 33\r
+# define BOOST_PP_INC_33 34\r
+# define BOOST_PP_INC_34 35\r
+# define BOOST_PP_INC_35 36\r
+# define BOOST_PP_INC_36 37\r
+# define BOOST_PP_INC_37 38\r
+# define BOOST_PP_INC_38 39\r
+# define BOOST_PP_INC_39 40\r
+# define BOOST_PP_INC_40 41\r
+# define BOOST_PP_INC_41 42\r
+# define BOOST_PP_INC_42 43\r
+# define BOOST_PP_INC_43 44\r
+# define BOOST_PP_INC_44 45\r
+# define BOOST_PP_INC_45 46\r
+# define BOOST_PP_INC_46 47\r
+# define BOOST_PP_INC_47 48\r
+# define BOOST_PP_INC_48 49\r
+# define BOOST_PP_INC_49 50\r
+# define BOOST_PP_INC_50 51\r
+# define BOOST_PP_INC_51 52\r
+# define BOOST_PP_INC_52 53\r
+# define BOOST_PP_INC_53 54\r
+# define BOOST_PP_INC_54 55\r
+# define BOOST_PP_INC_55 56\r
+# define BOOST_PP_INC_56 57\r
+# define BOOST_PP_INC_57 58\r
+# define BOOST_PP_INC_58 59\r
+# define BOOST_PP_INC_59 60\r
+# define BOOST_PP_INC_60 61\r
+# define BOOST_PP_INC_61 62\r
+# define BOOST_PP_INC_62 63\r
+# define BOOST_PP_INC_63 64\r
+# define BOOST_PP_INC_64 65\r
+# define BOOST_PP_INC_65 66\r
+# define BOOST_PP_INC_66 67\r
+# define BOOST_PP_INC_67 68\r
+# define BOOST_PP_INC_68 69\r
+# define BOOST_PP_INC_69 70\r
+# define BOOST_PP_INC_70 71\r
+# define BOOST_PP_INC_71 72\r
+# define BOOST_PP_INC_72 73\r
+# define BOOST_PP_INC_73 74\r
+# define BOOST_PP_INC_74 75\r
+# define BOOST_PP_INC_75 76\r
+# define BOOST_PP_INC_76 77\r
+# define BOOST_PP_INC_77 78\r
+# define BOOST_PP_INC_78 79\r
+# define BOOST_PP_INC_79 80\r
+# define BOOST_PP_INC_80 81\r
+# define BOOST_PP_INC_81 82\r
+# define BOOST_PP_INC_82 83\r
+# define BOOST_PP_INC_83 84\r
+# define BOOST_PP_INC_84 85\r
+# define BOOST_PP_INC_85 86\r
+# define BOOST_PP_INC_86 87\r
+# define BOOST_PP_INC_87 88\r
+# define BOOST_PP_INC_88 89\r
+# define BOOST_PP_INC_89 90\r
+# define BOOST_PP_INC_90 91\r
+# define BOOST_PP_INC_91 92\r
+# define BOOST_PP_INC_92 93\r
+# define BOOST_PP_INC_93 94\r
+# define BOOST_PP_INC_94 95\r
+# define BOOST_PP_INC_95 96\r
+# define BOOST_PP_INC_96 97\r
+# define BOOST_PP_INC_97 98\r
+# define BOOST_PP_INC_98 99\r
+# define BOOST_PP_INC_99 100\r
+# define BOOST_PP_INC_100 101\r
+# define BOOST_PP_INC_101 102\r
+# define BOOST_PP_INC_102 103\r
+# define BOOST_PP_INC_103 104\r
+# define BOOST_PP_INC_104 105\r
+# define BOOST_PP_INC_105 106\r
+# define BOOST_PP_INC_106 107\r
+# define BOOST_PP_INC_107 108\r
+# define BOOST_PP_INC_108 109\r
+# define BOOST_PP_INC_109 110\r
+# define BOOST_PP_INC_110 111\r
+# define BOOST_PP_INC_111 112\r
+# define BOOST_PP_INC_112 113\r
+# define BOOST_PP_INC_113 114\r
+# define BOOST_PP_INC_114 115\r
+# define BOOST_PP_INC_115 116\r
+# define BOOST_PP_INC_116 117\r
+# define BOOST_PP_INC_117 118\r
+# define BOOST_PP_INC_118 119\r
+# define BOOST_PP_INC_119 120\r
+# define BOOST_PP_INC_120 121\r
+# define BOOST_PP_INC_121 122\r
+# define BOOST_PP_INC_122 123\r
+# define BOOST_PP_INC_123 124\r
+# define BOOST_PP_INC_124 125\r
+# define BOOST_PP_INC_125 126\r
+# define BOOST_PP_INC_126 127\r
+# define BOOST_PP_INC_127 128\r
+# define BOOST_PP_INC_128 129\r
+# define BOOST_PP_INC_129 130\r
+# define BOOST_PP_INC_130 131\r
+# define BOOST_PP_INC_131 132\r
+# define BOOST_PP_INC_132 133\r
+# define BOOST_PP_INC_133 134\r
+# define BOOST_PP_INC_134 135\r
+# define BOOST_PP_INC_135 136\r
+# define BOOST_PP_INC_136 137\r
+# define BOOST_PP_INC_137 138\r
+# define BOOST_PP_INC_138 139\r
+# define BOOST_PP_INC_139 140\r
+# define BOOST_PP_INC_140 141\r
+# define BOOST_PP_INC_141 142\r
+# define BOOST_PP_INC_142 143\r
+# define BOOST_PP_INC_143 144\r
+# define BOOST_PP_INC_144 145\r
+# define BOOST_PP_INC_145 146\r
+# define BOOST_PP_INC_146 147\r
+# define BOOST_PP_INC_147 148\r
+# define BOOST_PP_INC_148 149\r
+# define BOOST_PP_INC_149 150\r
+# define BOOST_PP_INC_150 151\r
+# define BOOST_PP_INC_151 152\r
+# define BOOST_PP_INC_152 153\r
+# define BOOST_PP_INC_153 154\r
+# define BOOST_PP_INC_154 155\r
+# define BOOST_PP_INC_155 156\r
+# define BOOST_PP_INC_156 157\r
+# define BOOST_PP_INC_157 158\r
+# define BOOST_PP_INC_158 159\r
+# define BOOST_PP_INC_159 160\r
+# define BOOST_PP_INC_160 161\r
+# define BOOST_PP_INC_161 162\r
+# define BOOST_PP_INC_162 163\r
+# define BOOST_PP_INC_163 164\r
+# define BOOST_PP_INC_164 165\r
+# define BOOST_PP_INC_165 166\r
+# define BOOST_PP_INC_166 167\r
+# define BOOST_PP_INC_167 168\r
+# define BOOST_PP_INC_168 169\r
+# define BOOST_PP_INC_169 170\r
+# define BOOST_PP_INC_170 171\r
+# define BOOST_PP_INC_171 172\r
+# define BOOST_PP_INC_172 173\r
+# define BOOST_PP_INC_173 174\r
+# define BOOST_PP_INC_174 175\r
+# define BOOST_PP_INC_175 176\r
+# define BOOST_PP_INC_176 177\r
+# define BOOST_PP_INC_177 178\r
+# define BOOST_PP_INC_178 179\r
+# define BOOST_PP_INC_179 180\r
+# define BOOST_PP_INC_180 181\r
+# define BOOST_PP_INC_181 182\r
+# define BOOST_PP_INC_182 183\r
+# define BOOST_PP_INC_183 184\r
+# define BOOST_PP_INC_184 185\r
+# define BOOST_PP_INC_185 186\r
+# define BOOST_PP_INC_186 187\r
+# define BOOST_PP_INC_187 188\r
+# define BOOST_PP_INC_188 189\r
+# define BOOST_PP_INC_189 190\r
+# define BOOST_PP_INC_190 191\r
+# define BOOST_PP_INC_191 192\r
+# define BOOST_PP_INC_192 193\r
+# define BOOST_PP_INC_193 194\r
+# define BOOST_PP_INC_194 195\r
+# define BOOST_PP_INC_195 196\r
+# define BOOST_PP_INC_196 197\r
+# define BOOST_PP_INC_197 198\r
+# define BOOST_PP_INC_198 199\r
+# define BOOST_PP_INC_199 200\r
+# define BOOST_PP_INC_200 201\r
+# define BOOST_PP_INC_201 202\r
+# define BOOST_PP_INC_202 203\r
+# define BOOST_PP_INC_203 204\r
+# define BOOST_PP_INC_204 205\r
+# define BOOST_PP_INC_205 206\r
+# define BOOST_PP_INC_206 207\r
+# define BOOST_PP_INC_207 208\r
+# define BOOST_PP_INC_208 209\r
+# define BOOST_PP_INC_209 210\r
+# define BOOST_PP_INC_210 211\r
+# define BOOST_PP_INC_211 212\r
+# define BOOST_PP_INC_212 213\r
+# define BOOST_PP_INC_213 214\r
+# define BOOST_PP_INC_214 215\r
+# define BOOST_PP_INC_215 216\r
+# define BOOST_PP_INC_216 217\r
+# define BOOST_PP_INC_217 218\r
+# define BOOST_PP_INC_218 219\r
+# define BOOST_PP_INC_219 220\r
+# define BOOST_PP_INC_220 221\r
+# define BOOST_PP_INC_221 222\r
+# define BOOST_PP_INC_222 223\r
+# define BOOST_PP_INC_223 224\r
+# define BOOST_PP_INC_224 225\r
+# define BOOST_PP_INC_225 226\r
+# define BOOST_PP_INC_226 227\r
+# define BOOST_PP_INC_227 228\r
+# define BOOST_PP_INC_228 229\r
+# define BOOST_PP_INC_229 230\r
+# define BOOST_PP_INC_230 231\r
+# define BOOST_PP_INC_231 232\r
+# define BOOST_PP_INC_232 233\r
+# define BOOST_PP_INC_233 234\r
+# define BOOST_PP_INC_234 235\r
+# define BOOST_PP_INC_235 236\r
+# define BOOST_PP_INC_236 237\r
+# define BOOST_PP_INC_237 238\r
+# define BOOST_PP_INC_238 239\r
+# define BOOST_PP_INC_239 240\r
+# define BOOST_PP_INC_240 241\r
+# define BOOST_PP_INC_241 242\r
+# define BOOST_PP_INC_242 243\r
+# define BOOST_PP_INC_243 244\r
+# define BOOST_PP_INC_244 245\r
+# define BOOST_PP_INC_245 246\r
+# define BOOST_PP_INC_246 247\r
+# define BOOST_PP_INC_247 248\r
+# define BOOST_PP_INC_248 249\r
+# define BOOST_PP_INC_249 250\r
+# define BOOST_PP_INC_250 251\r
+# define BOOST_PP_INC_251 252\r
+# define BOOST_PP_INC_252 253\r
+# define BOOST_PP_INC_253 254\r
+# define BOOST_PP_INC_254 255\r
+# define BOOST_PP_INC_255 256\r
+# define BOOST_PP_INC_256 256\r
+#\r
+# endif\r
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 (file)
index 0000000..89f9e0d
--- /dev/null
@@ -0,0 +1,39 @@
+# /* Copyright (C) 2001\r
+#  * Housemarque Oy\r
+#  * http://www.housemarque.com\r
+#  *\r
+#  * Distributed under the Boost Software License, Version 1.0. (See\r
+#  * accompanying file LICENSE_1_0.txt or copy at\r
+#  * http://www.boost.org/LICENSE_1_0.txt)\r
+#  */\r
+#\r
+# /* Revised by Paul Mensonides (2002) */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_ARITHMETIC_MOD_HPP\r
+# define BOOST_PREPROCESSOR_ARITHMETIC_MOD_HPP\r
+#\r
+# include <boost/preprocessor/arithmetic/detail/div_base.hpp>\r
+# include <boost/preprocessor/config/config.hpp>\r
+# include <boost/preprocessor/tuple/elem.hpp>\r
+#\r
+# /* BOOST_PP_MOD */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    define BOOST_PP_MOD(x, y) BOOST_PP_TUPLE_ELEM(3, 1, BOOST_PP_DIV_BASE(x, y))\r
+# else\r
+#    define BOOST_PP_MOD(x, y) BOOST_PP_MOD_I(x, y)\r
+#    define BOOST_PP_MOD_I(x, y) BOOST_PP_TUPLE_ELEM(3, 1, BOOST_PP_DIV_BASE(x, y))\r
+# endif\r
+#\r
+# /* BOOST_PP_MOD_D */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    define BOOST_PP_MOD_D(d, x, y) BOOST_PP_TUPLE_ELEM(3, 1, BOOST_PP_DIV_BASE_D(d, x, y))\r
+# else\r
+#    define BOOST_PP_MOD_D(d, x, y) BOOST_PP_MOD_D_I(d, x, y)\r
+#    define BOOST_PP_MOD_D_I(d, x, y) BOOST_PP_TUPLE_ELEM(3, 1, BOOST_PP_DIV_BASE_D(d, x, y))\r
+# endif\r
+#\r
+# endif\r
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 (file)
index 0000000..efcde5a
--- /dev/null
@@ -0,0 +1,53 @@
+# /* Copyright (C) 2001\r
+#  * Housemarque Oy\r
+#  * http://www.housemarque.com\r
+#  *\r
+#  * Distributed under the Boost Software License, Version 1.0. (See\r
+#  * accompanying file LICENSE_1_0.txt or copy at\r
+#  * http://www.boost.org/LICENSE_1_0.txt)\r
+#  */\r
+#\r
+# /* Revised by Paul Mensonides (2002) */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_ARITHMETIC_MUL_HPP\r
+# define BOOST_PREPROCESSOR_ARITHMETIC_MUL_HPP\r
+#\r
+# include <boost/preprocessor/arithmetic/add.hpp>\r
+# include <boost/preprocessor/arithmetic/dec.hpp>\r
+# include <boost/preprocessor/config/config.hpp>\r
+# include <boost/preprocessor/control/while.hpp>\r
+# include <boost/preprocessor/tuple/elem.hpp>\r
+# include <boost/preprocessor/tuple/rem.hpp>\r
+#\r
+# /* BOOST_PP_MUL */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    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)))\r
+# else\r
+#    define BOOST_PP_MUL(x, y) BOOST_PP_MUL_I(x, y)\r
+#    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)))\r
+# endif\r
+#\r
+# define BOOST_PP_MUL_P(d, rxy) BOOST_PP_TUPLE_ELEM(3, 2, rxy)\r
+#\r
+# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()\r
+#    define BOOST_PP_MUL_O(d, rxy) BOOST_PP_MUL_O_IM(d, BOOST_PP_TUPLE_REM_3 rxy)\r
+#    define BOOST_PP_MUL_O_IM(d, im) BOOST_PP_MUL_O_I(d, im)\r
+# else\r
+#    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))\r
+# endif\r
+#\r
+# define BOOST_PP_MUL_O_I(d, r, x, y) (BOOST_PP_ADD_D(d, r, x), x, BOOST_PP_DEC(y))\r
+#\r
+# /* BOOST_PP_MUL_D */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    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)))\r
+# else\r
+#    define BOOST_PP_MUL_D(d, x, y) BOOST_PP_MUL_D_I(d, x, y)\r
+#    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)))\r
+# endif\r
+#\r
+# endif\r
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 (file)
index 0000000..3ef7a28
--- /dev/null
@@ -0,0 +1,50 @@
+# /* Copyright (C) 2001\r
+#  * Housemarque Oy\r
+#  * http://www.housemarque.com\r
+#  *\r
+#  * Distributed under the Boost Software License, Version 1.0. (See\r
+#  * accompanying file LICENSE_1_0.txt or copy at\r
+#  * http://www.boost.org/LICENSE_1_0.txt)\r
+#  */\r
+#\r
+# /* Revised by Paul Mensonides (2002) */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_ARITHMETIC_SUB_HPP\r
+# define BOOST_PREPROCESSOR_ARITHMETIC_SUB_HPP\r
+#\r
+# include <boost/preprocessor/arithmetic/dec.hpp>\r
+# include <boost/preprocessor/config/config.hpp>\r
+# include <boost/preprocessor/control/while.hpp>\r
+# include <boost/preprocessor/tuple/elem.hpp>\r
+#\r
+# /* BOOST_PP_SUB */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    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)))\r
+# else\r
+#    define BOOST_PP_SUB(x, y) BOOST_PP_SUB_I(x, y)\r
+#    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)))\r
+# endif\r
+#\r
+# define BOOST_PP_SUB_P(d, xy) BOOST_PP_TUPLE_ELEM(2, 1, xy)\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()\r
+#    define BOOST_PP_SUB_O(d, xy) BOOST_PP_SUB_O_I xy\r
+# else\r
+#    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))\r
+# endif\r
+#\r
+# define BOOST_PP_SUB_O_I(x, y) (BOOST_PP_DEC(x), BOOST_PP_DEC(y))\r
+#\r
+# /* BOOST_PP_SUB_D */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    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)))\r
+# else\r
+#    define BOOST_PP_SUB_D(d, x, y) BOOST_PP_SUB_D_I(d, x, y)\r
+#    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)))\r
+# endif\r
+#\r
+# endif\r
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 (file)
index 0000000..bcc982b
--- /dev/null
@@ -0,0 +1,27 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_ARRAY_HPP\r
+# define BOOST_PREPROCESSOR_ARRAY_HPP\r
+#\r
+# include <boost/preprocessor/array/data.hpp>\r
+# include <boost/preprocessor/array/elem.hpp>\r
+# include <boost/preprocessor/array/insert.hpp>\r
+# include <boost/preprocessor/array/pop_back.hpp>\r
+# include <boost/preprocessor/array/pop_front.hpp>\r
+# include <boost/preprocessor/array/push_back.hpp>\r
+# include <boost/preprocessor/array/push_front.hpp>\r
+# include <boost/preprocessor/array/remove.hpp>\r
+# include <boost/preprocessor/array/replace.hpp>\r
+# include <boost/preprocessor/array/reverse.hpp>\r
+# include <boost/preprocessor/array/size.hpp>\r
+#\r
+# endif\r
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 (file)
index 0000000..4b00cdc
--- /dev/null
@@ -0,0 +1,28 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_ARRAY_DATA_HPP\r
+# define BOOST_PREPROCESSOR_ARRAY_DATA_HPP\r
+#\r
+# include <boost/preprocessor/config/config.hpp>\r
+# include <boost/preprocessor/tuple/elem.hpp>\r
+#\r
+# /* BOOST_PP_ARRAY_DATA */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    define BOOST_PP_ARRAY_DATA(array) BOOST_PP_TUPLE_ELEM(2, 1, array)\r
+# else\r
+#    define BOOST_PP_ARRAY_DATA(array) BOOST_PP_ARRAY_DATA_I(array)\r
+#    define BOOST_PP_ARRAY_DATA_I(array) BOOST_PP_ARRAY_DATA_II array\r
+#    define BOOST_PP_ARRAY_DATA_II(size, data) data\r
+# endif\r
+#\r
+# endif\r
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 (file)
index 0000000..4f11c08
--- /dev/null
@@ -0,0 +1,29 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_ARRAY_ELEM_HPP\r
+# define BOOST_PREPROCESSOR_ARRAY_ELEM_HPP\r
+#\r
+# include <boost/preprocessor/array/data.hpp>\r
+# include <boost/preprocessor/array/size.hpp>\r
+# include <boost/preprocessor/config/config.hpp>\r
+# include <boost/preprocessor/tuple/elem.hpp>\r
+#\r
+# /* BOOST_PP_ARRAY_ELEM */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    define BOOST_PP_ARRAY_ELEM(i, array) BOOST_PP_TUPLE_ELEM(BOOST_PP_ARRAY_SIZE(array), i, BOOST_PP_ARRAY_DATA(array))\r
+# else\r
+#    define BOOST_PP_ARRAY_ELEM(i, array) BOOST_PP_ARRAY_ELEM_I(i, array)\r
+#    define BOOST_PP_ARRAY_ELEM_I(i, array) BOOST_PP_TUPLE_ELEM(BOOST_PP_ARRAY_SIZE(array), i, BOOST_PP_ARRAY_DATA(array))\r
+# endif\r
+#\r
+# endif\r
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 (file)
index 0000000..289db40
--- /dev/null
@@ -0,0 +1,55 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_ARRAY_INSERT_HPP\r
+# define BOOST_PREPROCESSOR_ARRAY_INSERT_HPP\r
+#\r
+# include <boost/preprocessor/arithmetic/inc.hpp>\r
+# include <boost/preprocessor/array/elem.hpp>\r
+# include <boost/preprocessor/array/push_back.hpp>\r
+# include <boost/preprocessor/array/size.hpp>\r
+# include <boost/preprocessor/comparison/not_equal.hpp>\r
+# include <boost/preprocessor/control/deduce_d.hpp>\r
+# include <boost/preprocessor/control/iif.hpp>\r
+# include <boost/preprocessor/control/while.hpp>\r
+# include <boost/preprocessor/tuple/elem.hpp>\r
+#\r
+# /* BOOST_PP_ARRAY_INSERT */\r
+#\r
+# define BOOST_PP_ARRAY_INSERT(array, i, elem) BOOST_PP_ARRAY_INSERT_I(BOOST_PP_DEDUCE_D(), array, i, elem)\r
+# define BOOST_PP_ARRAY_INSERT_I(d, array, i, elem) BOOST_PP_ARRAY_INSERT_D(d, array, i, elem)\r
+#\r
+# /* BOOST_PP_ARRAY_INSERT_D */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    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)))\r
+# else\r
+#    define BOOST_PP_ARRAY_INSERT_D(d, array, i, elem) BOOST_PP_ARRAY_INSERT_D_I(d, array, i, elem)\r
+#    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)))\r
+# endif\r
+#\r
+# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()\r
+#    define BOOST_PP_ARRAY_INSERT_P(d, state) BOOST_PP_ARRAY_INSERT_P_I state\r
+# else\r
+#    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))\r
+# endif\r
+#\r
+# 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)))\r
+#\r
+# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()\r
+#    define BOOST_PP_ARRAY_INSERT_O(d, state) BOOST_PP_ARRAY_INSERT_O_I state\r
+# else\r
+#    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))\r
+# endif\r
+#\r
+# 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)\r
+#\r
+# endif\r
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 (file)
index 0000000..81cd1e0
--- /dev/null
@@ -0,0 +1,37 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_ARRAY_POP_BACK_HPP\r
+# define BOOST_PREPROCESSOR_ARRAY_POP_BACK_HPP\r
+#\r
+# include <boost/preprocessor/arithmetic/dec.hpp>\r
+# include <boost/preprocessor/array/elem.hpp>\r
+# include <boost/preprocessor/array/size.hpp>\r
+# include <boost/preprocessor/repetition/enum.hpp>\r
+# include <boost/preprocessor/repetition/deduce_z.hpp>\r
+#\r
+# /* BOOST_PP_ARRAY_POP_BACK */\r
+#\r
+# define BOOST_PP_ARRAY_POP_BACK(array) BOOST_PP_ARRAY_POP_BACK_Z(BOOST_PP_DEDUCE_Z(), array)\r
+#\r
+# /* BOOST_PP_ARRAY_POP_BACK_Z */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    define BOOST_PP_ARRAY_POP_BACK_Z(z, array) BOOST_PP_ARRAY_POP_BACK_I(z, BOOST_PP_ARRAY_SIZE(array), array)\r
+# else\r
+#    define BOOST_PP_ARRAY_POP_BACK_Z(z, array) BOOST_PP_ARRAY_POP_BACK_Z_D(z, array)\r
+#    define BOOST_PP_ARRAY_POP_BACK_Z_D(z, array) BOOST_PP_ARRAY_POP_BACK_I(z, BOOST_PP_ARRAY_SIZE(array), array)\r
+# endif\r
+#\r
+# 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)))\r
+# define BOOST_PP_ARRAY_POP_BACK_M(z, n, data) BOOST_PP_ARRAY_ELEM(n, data)\r
+#\r
+# endif\r
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 (file)
index 0000000..2c38ce6
--- /dev/null
@@ -0,0 +1,38 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_ARRAY_POP_FRONT_HPP\r
+# define BOOST_PREPROCESSOR_ARRAY_POP_FRONT_HPP\r
+#\r
+# include <boost/preprocessor/arithmetic/dec.hpp>\r
+# include <boost/preprocessor/arithmetic/inc.hpp>\r
+# include <boost/preprocessor/array/elem.hpp>\r
+# include <boost/preprocessor/array/size.hpp>\r
+# include <boost/preprocessor/repetition/enum.hpp>\r
+# include <boost/preprocessor/repetition/deduce_z.hpp>\r
+#\r
+# /* BOOST_PP_ARRAY_POP_FRONT */\r
+#\r
+# define BOOST_PP_ARRAY_POP_FRONT(array) BOOST_PP_ARRAY_POP_FRONT_Z(BOOST_PP_DEDUCE_Z(), array)\r
+#\r
+# /* BOOST_PP_ARRAY_POP_FRONT_Z */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    define BOOST_PP_ARRAY_POP_FRONT_Z(z, array) BOOST_PP_ARRAY_POP_FRONT_I(z, BOOST_PP_ARRAY_SIZE(array), array)\r
+# else\r
+#    define BOOST_PP_ARRAY_POP_FRONT_Z(z, array) BOOST_PP_ARRAY_POP_FRONT_Z_D(z, array)\r
+#    define BOOST_PP_ARRAY_POP_FRONT_Z_D(z, array) BOOST_PP_ARRAY_POP_FRONT_I(z, BOOST_PP_ARRAY_SIZE(array), array)\r
+# endif\r
+#\r
+# 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)))\r
+# define BOOST_PP_ARRAY_POP_FRONT_M(z, n, data) BOOST_PP_ARRAY_ELEM(BOOST_PP_INC(n), data)\r
+#\r
+# endif\r
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 (file)
index 0000000..78dfea6
--- /dev/null
@@ -0,0 +1,33 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_ARRAY_PUSH_BACK_HPP\r
+# define BOOST_PREPROCESSOR_ARRAY_PUSH_BACK_HPP\r
+#\r
+# include <boost/preprocessor/arithmetic/inc.hpp>\r
+# include <boost/preprocessor/array/data.hpp>\r
+# include <boost/preprocessor/array/size.hpp>\r
+# include <boost/preprocessor/config/config.hpp>\r
+# include <boost/preprocessor/punctuation/comma_if.hpp>\r
+# include <boost/preprocessor/tuple/rem.hpp>\r
+#\r
+# /* BOOST_PP_ARRAY_PUSH_BACK */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    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)\r
+# else\r
+#    define BOOST_PP_ARRAY_PUSH_BACK(array, elem) BOOST_PP_ARRAY_PUSH_BACK_D(array, elem)\r
+#    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)\r
+# endif\r
+#\r
+# 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))\r
+#\r
+# endif\r
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 (file)
index 0000000..8493bcc
--- /dev/null
@@ -0,0 +1,33 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_ARRAY_PUSH_FRONT_HPP\r
+# define BOOST_PREPROCESSOR_ARRAY_PUSH_FRONT_HPP\r
+#\r
+# include <boost/preprocessor/arithmetic/inc.hpp>\r
+# include <boost/preprocessor/array/data.hpp>\r
+# include <boost/preprocessor/array/size.hpp>\r
+# include <boost/preprocessor/config/config.hpp>\r
+# include <boost/preprocessor/punctuation/comma_if.hpp>\r
+# include <boost/preprocessor/tuple/rem.hpp>\r
+#\r
+# /* BOOST_PP_ARRAY_PUSH_FRONT */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    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)\r
+# else\r
+#    define BOOST_PP_ARRAY_PUSH_FRONT(array, elem) BOOST_PP_ARRAY_PUSH_FRONT_D(array, elem)\r
+#    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)\r
+# endif\r
+#\r
+# 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))\r
+#\r
+# endif\r
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 (file)
index 0000000..a7ae78d
--- /dev/null
@@ -0,0 +1,54 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_ARRAY_REMOVE_HPP\r
+# define BOOST_PREPROCESSOR_ARRAY_REMOVE_HPP\r
+#\r
+# include <boost/preprocessor/arithmetic/inc.hpp>\r
+# include <boost/preprocessor/array/elem.hpp>\r
+# include <boost/preprocessor/array/push_back.hpp>\r
+# include <boost/preprocessor/array/size.hpp>\r
+# include <boost/preprocessor/comparison/not_equal.hpp>\r
+# include <boost/preprocessor/control/deduce_d.hpp>\r
+# include <boost/preprocessor/control/iif.hpp>\r
+# include <boost/preprocessor/control/while.hpp>\r
+# include <boost/preprocessor/tuple/eat.hpp>\r
+# include <boost/preprocessor/tuple/elem.hpp>\r
+#\r
+# /* BOOST_PP_ARRAY_REMOVE */\r
+#\r
+# define BOOST_PP_ARRAY_REMOVE(array, i) BOOST_PP_ARRAY_REMOVE_I(BOOST_PP_DEDUCE_D(), array, i)\r
+# define BOOST_PP_ARRAY_REMOVE_I(d, array, i) BOOST_PP_ARRAY_REMOVE_D(d, array, i)\r
+#\r
+# /* BOOST_PP_ARRAY_REMOVE_D */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    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)))\r
+# else\r
+#    define BOOST_PP_ARRAY_REMOVE_D(d, array, i) BOOST_PP_ARRAY_REMOVE_D_I(d, array, i)\r
+#    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)))\r
+# endif\r
+#\r
+# 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)))\r
+#\r
+# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()\r
+#    define BOOST_PP_ARRAY_REMOVE_O(d, st) BOOST_PP_ARRAY_REMOVE_O_I st\r
+# else\r
+#    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))\r
+# endif\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC()\r
+#    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)\r
+# else\r
+#    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)\r
+# endif\r
+#\r
+# endif\r
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 (file)
index 0000000..b969113
--- /dev/null
@@ -0,0 +1,49 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_ARRAY_REPLACE_HPP\r
+# define BOOST_PREPROCESSOR_ARRAY_REPLACE_HPP\r
+#\r
+# include <boost/preprocessor/arithmetic/inc.hpp>\r
+# include <boost/preprocessor/array/elem.hpp>\r
+# include <boost/preprocessor/array/push_back.hpp>\r
+# include <boost/preprocessor/comparison/not_equal.hpp>\r
+# include <boost/preprocessor/config/config.hpp>\r
+# include <boost/preprocessor/control/deduce_d.hpp>\r
+# include <boost/preprocessor/control/iif.hpp>\r
+# include <boost/preprocessor/control/while.hpp>\r
+# include <boost/preprocessor/tuple/elem.hpp>\r
+#\r
+# /* BOOST_PP_ARRAY_REPLACE */\r
+#\r
+# define BOOST_PP_ARRAY_REPLACE(array, i, elem) BOOST_PP_ARRAY_REPLACE_I(BOOST_PP_DEDUCE_D(), array, i, elem)\r
+# define BOOST_PP_ARRAY_REPLACE_I(d, array, i, elem) BOOST_PP_ARRAY_REPLACE_D(d, array, i, elem)\r
+#\r
+# /* BOOST_PP_ARRAY_REPLACE_D */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    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)))\r
+# else\r
+#    define BOOST_PP_ARRAY_REPLACE_D(d, array, i, elem) BOOST_PP_ARRAY_REPLACE_D_I(d, array, i, elem)\r
+#    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)))\r
+# endif\r
+#\r
+# 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)))\r
+#\r
+# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()\r
+#    define BOOST_PP_ARRAY_REPLACE_O(d, state) BOOST_PP_ARRAY_REPLACE_O_I state\r
+# else\r
+#    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))\r
+# endif\r
+#\r
+# 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)\r
+#\r
+# endif\r
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 (file)
index 0000000..3c24ce3
--- /dev/null
@@ -0,0 +1,29 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_ARRAY_REVERSE_HPP\r
+# define BOOST_PREPROCESSOR_ARRAY_REVERSE_HPP\r
+#\r
+# include <boost/preprocessor/array/data.hpp>\r
+# include <boost/preprocessor/array/size.hpp>\r
+# include <boost/preprocessor/config/config.hpp>\r
+# include <boost/preprocessor/tuple/reverse.hpp>\r
+#\r
+# /* BOOST_PP_ARRAY_REVERSE */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    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)))\r
+# else\r
+#    define BOOST_PP_ARRAY_REVERSE(array) BOOST_PP_ARRAY_REVERSE_I(array)\r
+#    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)))\r
+# endif\r
+#\r
+# endif\r
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 (file)
index 0000000..d3d50ee
--- /dev/null
@@ -0,0 +1,28 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_ARRAY_SIZE_HPP\r
+# define BOOST_PREPROCESSOR_ARRAY_SIZE_HPP\r
+#\r
+# include <boost/preprocessor/config/config.hpp>\r
+# include <boost/preprocessor/tuple/elem.hpp>\r
+#\r
+# /* BOOST_PP_ARRAY_SIZE */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    define BOOST_PP_ARRAY_SIZE(array) BOOST_PP_TUPLE_ELEM(2, 0, array)\r
+# else\r
+#    define BOOST_PP_ARRAY_SIZE(array) BOOST_PP_ARRAY_SIZE_I(array)\r
+#    define BOOST_PP_ARRAY_SIZE_I(array) BOOST_PP_ARRAY_SIZE_II array\r
+#    define BOOST_PP_ARRAY_SIZE_II(size, data) size\r
+# endif\r
+#\r
+# endif\r
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 (file)
index 0000000..4b44db2
--- /dev/null
@@ -0,0 +1,17 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_ASSERT_MSG_HPP\r
+# define BOOST_PREPROCESSOR_ASSERT_MSG_HPP\r
+#\r
+# include <boost/preprocessor/debug/assert.hpp>\r
+#\r
+# endif\r
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 (file)
index 0000000..804d4d5
--- /dev/null
@@ -0,0 +1,35 @@
+# /* Copyright (C) 2001\r
+#  * Housemarque Oy\r
+#  * http://www.housemarque.com\r
+#  *\r
+#  * Distributed under the Boost Software License, Version 1.0. (See\r
+#  * accompanying file LICENSE_1_0.txt or copy at\r
+#  * http://www.boost.org/LICENSE_1_0.txt)\r
+#  */\r
+#\r
+# /* Revised by Paul Mensonides (2002) */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_CAT_HPP\r
+# define BOOST_PREPROCESSOR_CAT_HPP\r
+#\r
+# include <boost/preprocessor/config/config.hpp>\r
+#\r
+# /* BOOST_PP_CAT */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()\r
+#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)\r
+# else\r
+#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_OO((a, b))\r
+#    define BOOST_PP_CAT_OO(par) BOOST_PP_CAT_I ## par\r
+# endif\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()\r
+#    define BOOST_PP_CAT_I(a, b) a ## b\r
+# else\r
+#    define BOOST_PP_CAT_I(a, b) BOOST_PP_CAT_II(a ## b)\r
+#    define BOOST_PP_CAT_II(res) res\r
+# endif\r
+#\r
+# endif\r
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 (file)
index 0000000..03febe4
--- /dev/null
@@ -0,0 +1,17 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_COMMA_HPP\r
+# define BOOST_PREPROCESSOR_COMMA_HPP\r
+#\r
+# include <boost/preprocessor/punctuation/comma.hpp>\r
+#\r
+# endif\r
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 (file)
index 0000000..c629e1b
--- /dev/null
@@ -0,0 +1,17 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_COMMA_IF_HPP\r
+# define BOOST_PREPROCESSOR_COMMA_IF_HPP\r
+#\r
+# include <boost/preprocessor/punctuation/comma_if.hpp>\r
+#\r
+# endif\r
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 (file)
index 0000000..5a0e751
--- /dev/null
@@ -0,0 +1,24 @@
+# /* Copyright (C) 2001\r
+#  * Housemarque Oy\r
+#  * http://www.housemarque.com\r
+#  *\r
+#  * Distributed under the Boost Software License, Version 1.0. (See\r
+#  * accompanying file LICENSE_1_0.txt or copy at\r
+#  * http://www.boost.org/LICENSE_1_0.txt)\r
+#  */\r
+#\r
+# /* Revised by Paul Mensonides (2002) */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_COMPARISON_HPP\r
+# define BOOST_PREPROCESSOR_COMPARISON_HPP\r
+#\r
+# include <boost/preprocessor/comparison/equal.hpp>\r
+# include <boost/preprocessor/comparison/greater.hpp>\r
+# include <boost/preprocessor/comparison/greater_equal.hpp>\r
+# include <boost/preprocessor/comparison/less.hpp>\r
+# include <boost/preprocessor/comparison/less_equal.hpp>\r
+# include <boost/preprocessor/comparison/not_equal.hpp>\r
+#\r
+# endif\r
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 (file)
index 0000000..5387e01
--- /dev/null
@@ -0,0 +1,34 @@
+# /* Copyright (C) 2001\r
+#  * Housemarque Oy\r
+#  * http://www.housemarque.com\r
+#  *\r
+#  * Distributed under the Boost Software License, Version 1.0. (See\r
+#  * accompanying file LICENSE_1_0.txt or copy at\r
+#  * http://www.boost.org/LICENSE_1_0.txt)\r
+#  */\r
+#\r
+# /* Revised by Paul Mensonides (2002) */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_COMPARISON_EQUAL_HPP\r
+# define BOOST_PREPROCESSOR_COMPARISON_EQUAL_HPP\r
+#\r
+# include <boost/preprocessor/comparison/not_equal.hpp>\r
+# include <boost/preprocessor/config/config.hpp>\r
+# include <boost/preprocessor/logical/compl.hpp>\r
+#\r
+# /* BOOST_PP_EQUAL */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    define BOOST_PP_EQUAL(x, y) BOOST_PP_COMPL(BOOST_PP_NOT_EQUAL(x, y))\r
+# else\r
+#    define BOOST_PP_EQUAL(x, y) BOOST_PP_EQUAL_I(x, y)\r
+#    define BOOST_PP_EQUAL_I(x, y) BOOST_PP_COMPL(BOOST_PP_NOT_EQUAL(x, y))\r
+# endif\r
+#\r
+# /* BOOST_PP_EQUAL_D */\r
+#\r
+# define BOOST_PP_EQUAL_D(d, x, y) BOOST_PP_EQUAL(x, y)\r
+#\r
+# endif\r
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 (file)
index 0000000..c0ef4bc
--- /dev/null
@@ -0,0 +1,38 @@
+# /* Copyright (C) 2001\r
+#  * Housemarque Oy\r
+#  * http://www.housemarque.com\r
+#  *\r
+#  * Distributed under the Boost Software License, Version 1.0. (See\r
+#  * accompanying file LICENSE_1_0.txt or copy at\r
+#  * http://www.boost.org/LICENSE_1_0.txt)\r
+#  */\r
+#\r
+# /* Revised by Paul Mensonides (2002) */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_COMPARISON_GREATER_HPP\r
+# define BOOST_PREPROCESSOR_COMPARISON_GREATER_HPP\r
+#\r
+# include <boost/preprocessor/comparison/less.hpp>\r
+# include <boost/preprocessor/config/config.hpp>\r
+#\r
+# /* BOOST_PP_GREATER */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    define BOOST_PP_GREATER(x, y) BOOST_PP_LESS(y, x)\r
+# else\r
+#    define BOOST_PP_GREATER(x, y) BOOST_PP_GREATER_I(x, y)\r
+#    define BOOST_PP_GREATER_I(x, y) BOOST_PP_LESS(y, x)\r
+# endif\r
+#\r
+# /* BOOST_PP_GREATER_D */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    define BOOST_PP_GREATER_D(d, x, y) BOOST_PP_LESS_D(d, y, x)\r
+# else\r
+#    define BOOST_PP_GREATER_D(d, x, y) BOOST_PP_GREATER_D_I(d, x, y)\r
+#    define BOOST_PP_GREATER_D_I(d, x, y) BOOST_PP_LESS_D(d, y, x)\r
+# endif\r
+#\r
+# endif\r
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 (file)
index 0000000..8855cef
--- /dev/null
@@ -0,0 +1,38 @@
+# /* Copyright (C) 2001\r
+#  * Housemarque Oy\r
+#  * http://www.housemarque.com\r
+#  *\r
+#  * Distributed under the Boost Software License, Version 1.0. (See\r
+#  * accompanying file LICENSE_1_0.txt or copy at\r
+#  * http://www.boost.org/LICENSE_1_0.txt)\r
+#  */\r
+#\r
+# /* Revised by Paul Mensonides (2002) */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_COMPARISON_GREATER_EQUAL_HPP\r
+# define BOOST_PREPROCESSOR_COMPARISON_GREATER_EQUAL_HPP\r
+#\r
+# include <boost/preprocessor/comparison/less_equal.hpp>\r
+# include <boost/preprocessor/config/config.hpp>\r
+#\r
+# /* BOOST_PP_GREATER_EQUAL */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    define BOOST_PP_GREATER_EQUAL(x, y) BOOST_PP_LESS_EQUAL(y, x)\r
+# else\r
+#    define BOOST_PP_GREATER_EQUAL(x, y) BOOST_PP_GREATER_EQUAL_I(x, y)\r
+#    define BOOST_PP_GREATER_EQUAL_I(x, y) BOOST_PP_LESS_EQUAL(y, x)\r
+# endif\r
+#\r
+# /* BOOST_PP_GREATER_EQUAL_D */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    define BOOST_PP_GREATER_EQUAL_D(d, x, y) BOOST_PP_LESS_EQUAL_D(d, y, x)\r
+# else\r
+#    define BOOST_PP_GREATER_EQUAL_D(d, x, y) BOOST_PP_GREATER_EQUAL_D_I(d, x, y)\r
+#    define BOOST_PP_GREATER_EQUAL_D_I(d, x, y) BOOST_PP_LESS_EQUAL_D(d, y, x)\r
+# endif\r
+#\r
+# endif\r
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 (file)
index 0000000..ed071c4
--- /dev/null
@@ -0,0 +1,46 @@
+# /* Copyright (C) 2001\r
+#  * Housemarque Oy\r
+#  * http://www.housemarque.com\r
+#  *\r
+#  * Distributed under the Boost Software License, Version 1.0. (See\r
+#  * accompanying file LICENSE_1_0.txt or copy at\r
+#  * http://www.boost.org/LICENSE_1_0.txt)\r
+#  */\r
+#\r
+# /* Revised by Paul Mensonides (2002) */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_COMPARISON_LESS_HPP\r
+# define BOOST_PREPROCESSOR_COMPARISON_LESS_HPP\r
+#\r
+# include <boost/preprocessor/comparison/less_equal.hpp>\r
+# include <boost/preprocessor/comparison/not_equal.hpp>\r
+# include <boost/preprocessor/config/config.hpp>\r
+# include <boost/preprocessor/control/iif.hpp>\r
+# include <boost/preprocessor/logical/bitand.hpp>\r
+# include <boost/preprocessor/tuple/eat.hpp>\r
+#\r
+# /* BOOST_PP_LESS */\r
+#\r
+# if BOOST_PP_CONFIG_FLAGS() & (BOOST_PP_CONFIG_MWCC() | BOOST_PP_CONFIG_DMC())\r
+#    define BOOST_PP_LESS(x, y) BOOST_PP_BITAND(BOOST_PP_NOT_EQUAL(x, y), BOOST_PP_LESS_EQUAL(x, y))\r
+# elif ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    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)\r
+# else\r
+#    define BOOST_PP_LESS(x, y) BOOST_PP_LESS_I(x, y)\r
+#    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)\r
+# endif\r
+#\r
+# /* BOOST_PP_LESS_D */\r
+#\r
+# if BOOST_PP_CONFIG_FLAGS() & (BOOST_PP_CONFIG_MWCC() | BOOST_PP_CONFIG_DMC())\r
+#    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))\r
+# elif ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    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)\r
+# else\r
+#    define BOOST_PP_LESS_D(d, x, y) BOOST_PP_LESS_D_I(d, x, y)\r
+#    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)\r
+# endif\r
+#\r
+# endif\r
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 (file)
index 0000000..649efd2
--- /dev/null
@@ -0,0 +1,39 @@
+# /* Copyright (C) 2001\r
+#  * Housemarque Oy\r
+#  * http://www.housemarque.com\r
+#  *\r
+#  * Distributed under the Boost Software License, Version 1.0. (See\r
+#  * accompanying file LICENSE_1_0.txt or copy at\r
+#  * http://www.boost.org/LICENSE_1_0.txt)\r
+#  */\r
+#\r
+# /* Revised by Paul Mensonides (2002) */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_COMPARISON_LESS_EQUAL_HPP\r
+# define BOOST_PREPROCESSOR_COMPARISON_LESS_EQUAL_HPP\r
+#\r
+# include <boost/preprocessor/arithmetic/sub.hpp>\r
+# include <boost/preprocessor/config/config.hpp>\r
+# include <boost/preprocessor/logical/not.hpp>\r
+#\r
+# /* BOOST_PP_LESS_EQUAL */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    define BOOST_PP_LESS_EQUAL(x, y) BOOST_PP_NOT(BOOST_PP_SUB(x, y))\r
+# else\r
+#    define BOOST_PP_LESS_EQUAL(x, y) BOOST_PP_LESS_EQUAL_I(x, y)\r
+#    define BOOST_PP_LESS_EQUAL_I(x, y) BOOST_PP_NOT(BOOST_PP_SUB(x, y))\r
+# endif\r
+#\r
+# /* BOOST_PP_LESS_EQUAL_D */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    define BOOST_PP_LESS_EQUAL_D(d, x, y) BOOST_PP_NOT(BOOST_PP_SUB_D(d, x, y))\r
+# else\r
+#    define BOOST_PP_LESS_EQUAL_D(d, x, y) BOOST_PP_LESS_EQUAL_D_I(d, x, y)\r
+#    define BOOST_PP_LESS_EQUAL_D_I(d, x, y) BOOST_PP_NOT(BOOST_PP_SUB_D(d, x, y))\r
+# endif\r
+#\r
+# endif\r
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 (file)
index 0000000..e12b899
--- /dev/null
@@ -0,0 +1,814 @@
+# /* Copyright (C) 2001\r
+#  * Housemarque Oy\r
+#  * http://www.housemarque.com\r
+#  *\r
+#  * Distributed under the Boost Software License, Version 1.0. (See\r
+#  * accompanying file LICENSE_1_0.txt or copy at\r
+#  * http://www.boost.org/LICENSE_1_0.txt)\r
+#  */\r
+#\r
+# /* Revised by Paul Mensonides (2002) */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_COMPARISON_NOT_EQUAL_HPP\r
+# define BOOST_PREPROCESSOR_COMPARISON_NOT_EQUAL_HPP\r
+#\r
+# include <boost/preprocessor/cat.hpp>\r
+# include <boost/preprocessor/config/config.hpp>\r
+# include <boost/preprocessor/control/iif.hpp>\r
+#\r
+# /* BOOST_PP_NOT_EQUAL */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()\r
+#    define BOOST_PP_NOT_EQUAL(x, y) BOOST_PP_NOT_EQUAL_I(x, y)\r
+# else\r
+#    define BOOST_PP_NOT_EQUAL(x, y) BOOST_PP_NOT_EQUAL_OO((x, y))\r
+#    define BOOST_PP_NOT_EQUAL_OO(par) BOOST_PP_NOT_EQUAL_I ## par\r
+# endif\r
+#\r
+# 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))\r
+#\r
+# /* BOOST_PP_NOT_EQUAL_D */\r
+#\r
+# define BOOST_PP_NOT_EQUAL_D(d, x, y) BOOST_PP_NOT_EQUAL(x, y)\r
+#\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NIL 1\r
+#\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_0(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_1(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_2(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_3(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_4(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_5(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_6(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_7(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_8(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_9(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_10(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_11(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_12(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_13(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_14(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_15(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_16(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_17(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_18(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_19(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_20(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_21(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_22(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_23(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_24(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_25(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_26(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_27(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_28(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_29(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_30(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_31(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_32(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_33(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_34(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_35(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_36(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_37(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_38(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_39(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_40(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_41(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_42(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_43(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_44(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_45(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_46(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_47(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_48(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_49(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_50(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_51(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_52(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_53(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_54(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_55(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_56(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_57(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_58(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_59(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_60(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_61(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_62(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_63(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_64(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_65(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_66(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_67(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_68(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_69(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_70(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_71(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_72(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_73(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_74(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_75(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_76(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_77(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_78(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_79(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_80(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_81(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_82(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_83(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_84(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_85(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_86(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_87(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_88(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_89(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_90(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_91(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_92(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_93(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_94(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_95(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_96(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_97(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_98(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_99(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_100(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_101(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_102(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_103(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_104(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_105(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_106(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_107(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_108(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_109(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_110(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_111(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_112(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_113(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_114(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_115(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_116(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_117(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_118(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_119(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_120(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_121(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_122(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_123(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_124(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_125(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_126(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_127(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_128(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_129(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_130(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_131(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_132(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_133(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_134(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_135(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_136(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_137(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_138(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_139(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_140(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_141(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_142(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_143(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_144(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_145(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_146(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_147(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_148(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_149(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_150(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_151(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_152(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_153(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_154(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_155(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_156(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_157(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_158(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_159(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_160(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_161(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_162(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_163(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_164(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_165(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_166(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_167(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_168(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_169(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_170(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_171(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_172(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_173(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_174(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_175(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_176(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_177(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_178(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_179(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_180(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_181(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_182(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_183(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_184(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_185(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_186(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_187(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_188(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_189(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_190(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_191(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_192(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_193(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_194(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_195(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_196(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_197(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_198(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_199(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_200(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_201(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_202(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_203(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_204(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_205(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_206(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_207(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_208(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_209(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_210(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_211(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_212(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_213(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_214(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_215(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_216(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_217(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_218(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_219(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_220(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_221(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_222(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_223(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_224(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_225(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_226(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_227(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_228(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_229(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_230(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_231(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_232(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_233(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_234(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_235(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_236(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_237(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_238(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_239(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_240(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_241(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_242(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_243(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_244(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_245(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_246(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_247(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_248(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_249(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_250(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_251(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_252(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_253(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_254(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_255(c, y) 0\r
+# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_256(c, y) 0\r
+#\r
+#if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC()\r
+#    define BOOST_PP_NOT_EQUAL_0(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_1(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_2(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_3(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_4(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_5(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_6(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_7(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_8(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_9(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_10(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_11(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_12(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_13(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_14(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_15(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_16(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_17(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_18(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_19(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_20(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_21(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_22(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_23(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_24(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_25(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_26(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_27(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_28(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_29(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_30(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_31(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_32(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_33(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_34(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_35(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_36(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_37(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_38(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_39(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_40(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_41(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_42(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_43(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_44(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_45(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_46(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_47(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_48(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_49(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_50(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_51(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_52(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_53(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_54(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_55(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_56(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_57(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_58(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_59(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_60(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_61(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_62(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_63(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_64(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_65(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_66(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_67(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_68(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_69(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_70(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_71(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_72(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_73(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_74(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_75(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_76(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_77(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_78(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_79(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_80(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_81(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_82(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_83(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_84(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_85(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_86(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_87(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_88(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_89(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_90(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_91(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_92(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_93(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_94(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_95(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_96(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_97(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_98(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_99(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_100(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_101(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_102(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_103(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_104(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_105(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_106(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_107(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_108(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_109(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_110(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_111(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_112(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_113(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_114(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_115(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_116(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_117(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_118(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_119(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_120(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_121(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_122(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_123(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_124(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_125(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_126(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_127(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_128(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_129(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_130(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_131(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_132(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_133(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_134(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_135(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_136(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_137(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_138(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_139(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_140(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_141(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_142(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_143(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_144(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_145(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_146(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_147(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_148(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_149(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_150(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_151(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_152(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_153(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_154(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_155(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_156(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_157(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_158(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_159(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_160(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_161(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_162(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_163(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_164(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_165(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_166(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_167(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_168(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_169(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_170(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_171(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_172(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_173(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_174(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_175(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_176(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_177(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_178(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_179(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_180(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_181(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_182(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_183(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_184(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_185(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_186(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_187(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_188(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_189(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_190(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_191(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_192(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_193(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_194(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_195(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_196(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_197(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_198(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_199(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_200(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_201(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_202(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_203(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_204(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_205(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_206(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_207(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_208(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_209(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_210(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_211(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_212(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_213(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_214(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_215(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_216(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_217(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_218(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_219(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_220(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_221(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_222(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_223(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_224(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_225(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_226(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_227(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_228(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_229(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_230(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_231(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_232(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_233(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_234(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_235(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_236(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_237(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_238(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_239(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_240(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_241(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_242(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_243(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_244(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_245(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_246(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_247(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_248(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_249(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_250(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_251(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_252(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_253(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_254(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_255(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_256(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))\r
+# else\r
+#    define BOOST_PP_NOT_EQUAL_0(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_1(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_2(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_3(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_4(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_5(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_6(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_7(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_8(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_9(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_10(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_11(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_12(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_13(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_14(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_15(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_16(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_17(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_18(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_19(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_20(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_21(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_22(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_23(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_24(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_25(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_26(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_27(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_28(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_29(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_30(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_31(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_32(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_33(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_34(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_35(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_36(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_37(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_38(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_39(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_40(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_41(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_42(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_43(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_44(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_45(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_46(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_47(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_48(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_49(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_50(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_51(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_52(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_53(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_54(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_55(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_56(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_57(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_58(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_59(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_60(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_61(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_62(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_63(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_64(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_65(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_66(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_67(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_68(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_69(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_70(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_71(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_72(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_73(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_74(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_75(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_76(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_77(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_78(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_79(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_80(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_81(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_82(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_83(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_84(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_85(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_86(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_87(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_88(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_89(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_90(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_91(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_92(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_93(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_94(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_95(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_96(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_97(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_98(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_99(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_100(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_101(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_102(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_103(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_104(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_105(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_106(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_107(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_108(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_109(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_110(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_111(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_112(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_113(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_114(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_115(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_116(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_117(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_118(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_119(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_120(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_121(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_122(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_123(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_124(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_125(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_126(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_127(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_128(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_129(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_130(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_131(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_132(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_133(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_134(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_135(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_136(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_137(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_138(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_139(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_140(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_141(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_142(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_143(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_144(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_145(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_146(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_147(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_148(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_149(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_150(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_151(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_152(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_153(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_154(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_155(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_156(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_157(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_158(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_159(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_160(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_161(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_162(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_163(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_164(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_165(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_166(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_167(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_168(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_169(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_170(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_171(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_172(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_173(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_174(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_175(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_176(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_177(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_178(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_179(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_180(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_181(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_182(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_183(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_184(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_185(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_186(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_187(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_188(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_189(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_190(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_191(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_192(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_193(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_194(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_195(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_196(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_197(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_198(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_199(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_200(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_201(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_202(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_203(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_204(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_205(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_206(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_207(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_208(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_209(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_210(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_211(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_212(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_213(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_214(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_215(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_216(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_217(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_218(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_219(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_220(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_221(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_222(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_223(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_224(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_225(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_226(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_227(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_228(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_229(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_230(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_231(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_232(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_233(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_234(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_235(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_236(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_237(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_238(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_239(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_240(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_241(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_242(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_243(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_244(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_245(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_246(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_247(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_248(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_249(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_250(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_251(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_252(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_253(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_254(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_255(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+#    define BOOST_PP_NOT_EQUAL_256(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))\r
+# endif\r
+#\r
+# endif\r
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 (file)
index 0000000..dd4396a
--- /dev/null
@@ -0,0 +1,70 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_CONFIG_CONFIG_HPP\r
+# define BOOST_PREPROCESSOR_CONFIG_CONFIG_HPP\r
+#\r
+# /* BOOST_PP_CONFIG_FLAGS */\r
+#\r
+# define BOOST_PP_CONFIG_STRICT() 0x0001\r
+# define BOOST_PP_CONFIG_IDEAL() 0x0002\r
+#\r
+# define BOOST_PP_CONFIG_MSVC() 0x0004\r
+# define BOOST_PP_CONFIG_MWCC() 0x0008\r
+# define BOOST_PP_CONFIG_BCC() 0x0010\r
+# define BOOST_PP_CONFIG_EDG() 0x0020\r
+# define BOOST_PP_CONFIG_DMC() 0x0040\r
+#\r
+# ifndef BOOST_PP_CONFIG_FLAGS\r
+#    if defined(__GCCXML__)\r
+#        define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_STRICT())\r
+#    elif defined(__WAVE__)\r
+#        define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_STRICT())\r
+#    elif defined(__MWERKS__) && __MWERKS__ >= 0x3200\r
+#        define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_STRICT())\r
+#    elif defined(__EDG__) || defined(__EDG_VERSION__)\r
+#        if defined(_MSC_VER) && __EDG_VERSION__ >= 308\r
+#            define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_MSVC())\r
+#        else\r
+#            define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_EDG() | BOOST_PP_CONFIG_STRICT())\r
+#        endif\r
+#    elif defined(__MWERKS__)\r
+#        define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_MWCC())\r
+#    elif defined(__DMC__)\r
+#        define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_DMC())\r
+#    elif defined(__BORLANDC__) && __BORLANDC__ >= 0x581\r
+#        define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_STRICT())\r
+#    elif defined(__BORLANDC__) || defined(__IBMC__) || defined(__IBMCPP__) || defined(__SUNPRO_CC)\r
+#        define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_BCC())\r
+#    elif defined(_MSC_VER)\r
+#        define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_MSVC())\r
+#    else\r
+#        define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_STRICT())\r
+#    endif\r
+# endif\r
+#\r
+# /* BOOST_PP_CONFIG_EXTENDED_LINE_INFO */\r
+#\r
+# ifndef BOOST_PP_CONFIG_EXTENDED_LINE_INFO\r
+#    define BOOST_PP_CONFIG_EXTENDED_LINE_INFO 0\r
+# endif\r
+#\r
+# /* BOOST_PP_CONFIG_ERRORS */\r
+#\r
+# ifndef BOOST_PP_CONFIG_ERRORS\r
+#    ifdef NDEBUG\r
+#        define BOOST_PP_CONFIG_ERRORS 0\r
+#    else\r
+#        define BOOST_PP_CONFIG_ERRORS 1\r
+#    endif\r
+# endif\r
+#\r
+# endif\r
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 (file)
index 0000000..db790fa
--- /dev/null
@@ -0,0 +1,29 @@
+# /* Copyright (C) 2001\r
+#  * Housemarque Oy\r
+#  * http://www.housemarque.com\r
+#  *\r
+#  * Distributed under the Boost Software License, Version 1.0. (See\r
+#  * accompanying file LICENSE_1_0.txt or copy at\r
+#  * http://www.boost.org/LICENSE_1_0.txt)\r
+#  */\r
+#\r
+# /* Revised by Paul Mensonides (2002) */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_CONFIG_LIMITS_HPP\r
+# define BOOST_PREPROCESSOR_CONFIG_LIMITS_HPP\r
+#\r
+# define BOOST_PP_LIMIT_MAG 256\r
+# define BOOST_PP_LIMIT_TUPLE 25\r
+# define BOOST_PP_LIMIT_DIM 3\r
+# define BOOST_PP_LIMIT_REPEAT 256\r
+# define BOOST_PP_LIMIT_WHILE 256\r
+# define BOOST_PP_LIMIT_FOR 256\r
+# define BOOST_PP_LIMIT_ITERATION 256\r
+# define BOOST_PP_LIMIT_ITERATION_DIM 3\r
+# define BOOST_PP_LIMIT_SEQ 256\r
+# define BOOST_PP_LIMIT_SLOT_SIG 10\r
+# define BOOST_PP_LIMIT_SLOT_COUNT 5\r
+#\r
+# endif\r
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 (file)
index 0000000..8070bff
--- /dev/null
@@ -0,0 +1,22 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_CONTROL_HPP\r
+# define BOOST_PREPROCESSOR_CONTROL_HPP\r
+#\r
+# include <boost/preprocessor/control/deduce_d.hpp>\r
+# include <boost/preprocessor/control/expr_if.hpp>\r
+# include <boost/preprocessor/control/expr_iif.hpp>\r
+# include <boost/preprocessor/control/if.hpp>\r
+# include <boost/preprocessor/control/iif.hpp>\r
+# include <boost/preprocessor/control/while.hpp>\r
+#\r
+# endif\r
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 (file)
index 0000000..0a8ada9
--- /dev/null
@@ -0,0 +1,22 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_CONTROL_DEDUCE_D_HPP\r
+# define BOOST_PREPROCESSOR_CONTROL_DEDUCE_D_HPP\r
+#\r
+# include <boost/preprocessor/control/while.hpp>\r
+# include <boost/preprocessor/detail/auto_rec.hpp>\r
+#\r
+# /* BOOST_PP_DEDUCE_D */\r
+#\r
+# define BOOST_PP_DEDUCE_D() BOOST_PP_AUTO_REC(BOOST_PP_WHILE_P, 256)\r
+#\r
+# endif\r
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 (file)
index 0000000..8ed571a
--- /dev/null
@@ -0,0 +1,536 @@
+# /* Copyright (C) 2001\r
+#  * Housemarque Oy\r
+#  * http://www.housemarque.com\r
+#  *\r
+#  * Distributed under the Boost Software License, Version 1.0. (See\r
+#  * accompanying file LICENSE_1_0.txt or copy at\r
+#  * http://www.boost.org/LICENSE_1_0.txt)\r
+#  */\r
+#\r
+# /* Revised by Paul Mensonides (2002) */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_CONTROL_DETAIL_WHILE_HPP\r
+# define BOOST_PREPROCESSOR_CONTROL_DETAIL_WHILE_HPP\r
+#\r
+# include <boost/preprocessor/control/iif.hpp>\r
+# include <boost/preprocessor/logical/bool.hpp>\r
+# include <boost/preprocessor/tuple/eat.hpp>\r
+#\r
+# define BOOST_PP_WHILE_1(p, o, s) BOOST_PP_WHILE_1_C(BOOST_PP_BOOL(p##(2, s)), p, o, s)\r
+# define BOOST_PP_WHILE_2(p, o, s) BOOST_PP_WHILE_2_C(BOOST_PP_BOOL(p##(3, s)), p, o, s)\r
+# define BOOST_PP_WHILE_3(p, o, s) BOOST_PP_WHILE_3_C(BOOST_PP_BOOL(p##(4, s)), p, o, s)\r
+# define BOOST_PP_WHILE_4(p, o, s) BOOST_PP_WHILE_4_C(BOOST_PP_BOOL(p##(5, s)), p, o, s)\r
+# define BOOST_PP_WHILE_5(p, o, s) BOOST_PP_WHILE_5_C(BOOST_PP_BOOL(p##(6, s)), p, o, s)\r
+# define BOOST_PP_WHILE_6(p, o, s) BOOST_PP_WHILE_6_C(BOOST_PP_BOOL(p##(7, s)), p, o, s)\r
+# define BOOST_PP_WHILE_7(p, o, s) BOOST_PP_WHILE_7_C(BOOST_PP_BOOL(p##(8, s)), p, o, s)\r
+# define BOOST_PP_WHILE_8(p, o, s) BOOST_PP_WHILE_8_C(BOOST_PP_BOOL(p##(9, s)), p, o, s)\r
+# define BOOST_PP_WHILE_9(p, o, s) BOOST_PP_WHILE_9_C(BOOST_PP_BOOL(p##(10, s)), p, o, s)\r
+# define BOOST_PP_WHILE_10(p, o, s) BOOST_PP_WHILE_10_C(BOOST_PP_BOOL(p##(11, s)), p, o, s)\r
+# define BOOST_PP_WHILE_11(p, o, s) BOOST_PP_WHILE_11_C(BOOST_PP_BOOL(p##(12, s)), p, o, s)\r
+# define BOOST_PP_WHILE_12(p, o, s) BOOST_PP_WHILE_12_C(BOOST_PP_BOOL(p##(13, s)), p, o, s)\r
+# define BOOST_PP_WHILE_13(p, o, s) BOOST_PP_WHILE_13_C(BOOST_PP_BOOL(p##(14, s)), p, o, s)\r
+# define BOOST_PP_WHILE_14(p, o, s) BOOST_PP_WHILE_14_C(BOOST_PP_BOOL(p##(15, s)), p, o, s)\r
+# define BOOST_PP_WHILE_15(p, o, s) BOOST_PP_WHILE_15_C(BOOST_PP_BOOL(p##(16, s)), p, o, s)\r
+# define BOOST_PP_WHILE_16(p, o, s) BOOST_PP_WHILE_16_C(BOOST_PP_BOOL(p##(17, s)), p, o, s)\r
+# define BOOST_PP_WHILE_17(p, o, s) BOOST_PP_WHILE_17_C(BOOST_PP_BOOL(p##(18, s)), p, o, s)\r
+# define BOOST_PP_WHILE_18(p, o, s) BOOST_PP_WHILE_18_C(BOOST_PP_BOOL(p##(19, s)), p, o, s)\r
+# define BOOST_PP_WHILE_19(p, o, s) BOOST_PP_WHILE_19_C(BOOST_PP_BOOL(p##(20, s)), p, o, s)\r
+# define BOOST_PP_WHILE_20(p, o, s) BOOST_PP_WHILE_20_C(BOOST_PP_BOOL(p##(21, s)), p, o, s)\r
+# define BOOST_PP_WHILE_21(p, o, s) BOOST_PP_WHILE_21_C(BOOST_PP_BOOL(p##(22, s)), p, o, s)\r
+# define BOOST_PP_WHILE_22(p, o, s) BOOST_PP_WHILE_22_C(BOOST_PP_BOOL(p##(23, s)), p, o, s)\r
+# define BOOST_PP_WHILE_23(p, o, s) BOOST_PP_WHILE_23_C(BOOST_PP_BOOL(p##(24, s)), p, o, s)\r
+# define BOOST_PP_WHILE_24(p, o, s) BOOST_PP_WHILE_24_C(BOOST_PP_BOOL(p##(25, s)), p, o, s)\r
+# define BOOST_PP_WHILE_25(p, o, s) BOOST_PP_WHILE_25_C(BOOST_PP_BOOL(p##(26, s)), p, o, s)\r
+# define BOOST_PP_WHILE_26(p, o, s) BOOST_PP_WHILE_26_C(BOOST_PP_BOOL(p##(27, s)), p, o, s)\r
+# define BOOST_PP_WHILE_27(p, o, s) BOOST_PP_WHILE_27_C(BOOST_PP_BOOL(p##(28, s)), p, o, s)\r
+# define BOOST_PP_WHILE_28(p, o, s) BOOST_PP_WHILE_28_C(BOOST_PP_BOOL(p##(29, s)), p, o, s)\r
+# define BOOST_PP_WHILE_29(p, o, s) BOOST_PP_WHILE_29_C(BOOST_PP_BOOL(p##(30, s)), p, o, s)\r
+# define BOOST_PP_WHILE_30(p, o, s) BOOST_PP_WHILE_30_C(BOOST_PP_BOOL(p##(31, s)), p, o, s)\r
+# define BOOST_PP_WHILE_31(p, o, s) BOOST_PP_WHILE_31_C(BOOST_PP_BOOL(p##(32, s)), p, o, s)\r
+# define BOOST_PP_WHILE_32(p, o, s) BOOST_PP_WHILE_32_C(BOOST_PP_BOOL(p##(33, s)), p, o, s)\r
+# define BOOST_PP_WHILE_33(p, o, s) BOOST_PP_WHILE_33_C(BOOST_PP_BOOL(p##(34, s)), p, o, s)\r
+# define BOOST_PP_WHILE_34(p, o, s) BOOST_PP_WHILE_34_C(BOOST_PP_BOOL(p##(35, s)), p, o, s)\r
+# define BOOST_PP_WHILE_35(p, o, s) BOOST_PP_WHILE_35_C(BOOST_PP_BOOL(p##(36, s)), p, o, s)\r
+# define BOOST_PP_WHILE_36(p, o, s) BOOST_PP_WHILE_36_C(BOOST_PP_BOOL(p##(37, s)), p, o, s)\r
+# define BOOST_PP_WHILE_37(p, o, s) BOOST_PP_WHILE_37_C(BOOST_PP_BOOL(p##(38, s)), p, o, s)\r
+# define BOOST_PP_WHILE_38(p, o, s) BOOST_PP_WHILE_38_C(BOOST_PP_BOOL(p##(39, s)), p, o, s)\r
+# define BOOST_PP_WHILE_39(p, o, s) BOOST_PP_WHILE_39_C(BOOST_PP_BOOL(p##(40, s)), p, o, s)\r
+# define BOOST_PP_WHILE_40(p, o, s) BOOST_PP_WHILE_40_C(BOOST_PP_BOOL(p##(41, s)), p, o, s)\r
+# define BOOST_PP_WHILE_41(p, o, s) BOOST_PP_WHILE_41_C(BOOST_PP_BOOL(p##(42, s)), p, o, s)\r
+# define BOOST_PP_WHILE_42(p, o, s) BOOST_PP_WHILE_42_C(BOOST_PP_BOOL(p##(43, s)), p, o, s)\r
+# define BOOST_PP_WHILE_43(p, o, s) BOOST_PP_WHILE_43_C(BOOST_PP_BOOL(p##(44, s)), p, o, s)\r
+# define BOOST_PP_WHILE_44(p, o, s) BOOST_PP_WHILE_44_C(BOOST_PP_BOOL(p##(45, s)), p, o, s)\r
+# define BOOST_PP_WHILE_45(p, o, s) BOOST_PP_WHILE_45_C(BOOST_PP_BOOL(p##(46, s)), p, o, s)\r
+# define BOOST_PP_WHILE_46(p, o, s) BOOST_PP_WHILE_46_C(BOOST_PP_BOOL(p##(47, s)), p, o, s)\r
+# define BOOST_PP_WHILE_47(p, o, s) BOOST_PP_WHILE_47_C(BOOST_PP_BOOL(p##(48, s)), p, o, s)\r
+# define BOOST_PP_WHILE_48(p, o, s) BOOST_PP_WHILE_48_C(BOOST_PP_BOOL(p##(49, s)), p, o, s)\r
+# define BOOST_PP_WHILE_49(p, o, s) BOOST_PP_WHILE_49_C(BOOST_PP_BOOL(p##(50, s)), p, o, s)\r
+# define BOOST_PP_WHILE_50(p, o, s) BOOST_PP_WHILE_50_C(BOOST_PP_BOOL(p##(51, s)), p, o, s)\r
+# define BOOST_PP_WHILE_51(p, o, s) BOOST_PP_WHILE_51_C(BOOST_PP_BOOL(p##(52, s)), p, o, s)\r
+# define BOOST_PP_WHILE_52(p, o, s) BOOST_PP_WHILE_52_C(BOOST_PP_BOOL(p##(53, s)), p, o, s)\r
+# define BOOST_PP_WHILE_53(p, o, s) BOOST_PP_WHILE_53_C(BOOST_PP_BOOL(p##(54, s)), p, o, s)\r
+# define BOOST_PP_WHILE_54(p, o, s) BOOST_PP_WHILE_54_C(BOOST_PP_BOOL(p##(55, s)), p, o, s)\r
+# define BOOST_PP_WHILE_55(p, o, s) BOOST_PP_WHILE_55_C(BOOST_PP_BOOL(p##(56, s)), p, o, s)\r
+# define BOOST_PP_WHILE_56(p, o, s) BOOST_PP_WHILE_56_C(BOOST_PP_BOOL(p##(57, s)), p, o, s)\r
+# define BOOST_PP_WHILE_57(p, o, s) BOOST_PP_WHILE_57_C(BOOST_PP_BOOL(p##(58, s)), p, o, s)\r
+# define BOOST_PP_WHILE_58(p, o, s) BOOST_PP_WHILE_58_C(BOOST_PP_BOOL(p##(59, s)), p, o, s)\r
+# define BOOST_PP_WHILE_59(p, o, s) BOOST_PP_WHILE_59_C(BOOST_PP_BOOL(p##(60, s)), p, o, s)\r
+# define BOOST_PP_WHILE_60(p, o, s) BOOST_PP_WHILE_60_C(BOOST_PP_BOOL(p##(61, s)), p, o, s)\r
+# define BOOST_PP_WHILE_61(p, o, s) BOOST_PP_WHILE_61_C(BOOST_PP_BOOL(p##(62, s)), p, o, s)\r
+# define BOOST_PP_WHILE_62(p, o, s) BOOST_PP_WHILE_62_C(BOOST_PP_BOOL(p##(63, s)), p, o, s)\r
+# define BOOST_PP_WHILE_63(p, o, s) BOOST_PP_WHILE_63_C(BOOST_PP_BOOL(p##(64, s)), p, o, s)\r
+# define BOOST_PP_WHILE_64(p, o, s) BOOST_PP_WHILE_64_C(BOOST_PP_BOOL(p##(65, s)), p, o, s)\r
+# define BOOST_PP_WHILE_65(p, o, s) BOOST_PP_WHILE_65_C(BOOST_PP_BOOL(p##(66, s)), p, o, s)\r
+# define BOOST_PP_WHILE_66(p, o, s) BOOST_PP_WHILE_66_C(BOOST_PP_BOOL(p##(67, s)), p, o, s)\r
+# define BOOST_PP_WHILE_67(p, o, s) BOOST_PP_WHILE_67_C(BOOST_PP_BOOL(p##(68, s)), p, o, s)\r
+# define BOOST_PP_WHILE_68(p, o, s) BOOST_PP_WHILE_68_C(BOOST_PP_BOOL(p##(69, s)), p, o, s)\r
+# define BOOST_PP_WHILE_69(p, o, s) BOOST_PP_WHILE_69_C(BOOST_PP_BOOL(p##(70, s)), p, o, s)\r
+# define BOOST_PP_WHILE_70(p, o, s) BOOST_PP_WHILE_70_C(BOOST_PP_BOOL(p##(71, s)), p, o, s)\r
+# define BOOST_PP_WHILE_71(p, o, s) BOOST_PP_WHILE_71_C(BOOST_PP_BOOL(p##(72, s)), p, o, s)\r
+# define BOOST_PP_WHILE_72(p, o, s) BOOST_PP_WHILE_72_C(BOOST_PP_BOOL(p##(73, s)), p, o, s)\r
+# define BOOST_PP_WHILE_73(p, o, s) BOOST_PP_WHILE_73_C(BOOST_PP_BOOL(p##(74, s)), p, o, s)\r
+# define BOOST_PP_WHILE_74(p, o, s) BOOST_PP_WHILE_74_C(BOOST_PP_BOOL(p##(75, s)), p, o, s)\r
+# define BOOST_PP_WHILE_75(p, o, s) BOOST_PP_WHILE_75_C(BOOST_PP_BOOL(p##(76, s)), p, o, s)\r
+# define BOOST_PP_WHILE_76(p, o, s) BOOST_PP_WHILE_76_C(BOOST_PP_BOOL(p##(77, s)), p, o, s)\r
+# define BOOST_PP_WHILE_77(p, o, s) BOOST_PP_WHILE_77_C(BOOST_PP_BOOL(p##(78, s)), p, o, s)\r
+# define BOOST_PP_WHILE_78(p, o, s) BOOST_PP_WHILE_78_C(BOOST_PP_BOOL(p##(79, s)), p, o, s)\r
+# define BOOST_PP_WHILE_79(p, o, s) BOOST_PP_WHILE_79_C(BOOST_PP_BOOL(p##(80, s)), p, o, s)\r
+# define BOOST_PP_WHILE_80(p, o, s) BOOST_PP_WHILE_80_C(BOOST_PP_BOOL(p##(81, s)), p, o, s)\r
+# define BOOST_PP_WHILE_81(p, o, s) BOOST_PP_WHILE_81_C(BOOST_PP_BOOL(p##(82, s)), p, o, s)\r
+# define BOOST_PP_WHILE_82(p, o, s) BOOST_PP_WHILE_82_C(BOOST_PP_BOOL(p##(83, s)), p, o, s)\r
+# define BOOST_PP_WHILE_83(p, o, s) BOOST_PP_WHILE_83_C(BOOST_PP_BOOL(p##(84, s)), p, o, s)\r
+# define BOOST_PP_WHILE_84(p, o, s) BOOST_PP_WHILE_84_C(BOOST_PP_BOOL(p##(85, s)), p, o, s)\r
+# define BOOST_PP_WHILE_85(p, o, s) BOOST_PP_WHILE_85_C(BOOST_PP_BOOL(p##(86, s)), p, o, s)\r
+# define BOOST_PP_WHILE_86(p, o, s) BOOST_PP_WHILE_86_C(BOOST_PP_BOOL(p##(87, s)), p, o, s)\r
+# define BOOST_PP_WHILE_87(p, o, s) BOOST_PP_WHILE_87_C(BOOST_PP_BOOL(p##(88, s)), p, o, s)\r
+# define BOOST_PP_WHILE_88(p, o, s) BOOST_PP_WHILE_88_C(BOOST_PP_BOOL(p##(89, s)), p, o, s)\r
+# define BOOST_PP_WHILE_89(p, o, s) BOOST_PP_WHILE_89_C(BOOST_PP_BOOL(p##(90, s)), p, o, s)\r
+# define BOOST_PP_WHILE_90(p, o, s) BOOST_PP_WHILE_90_C(BOOST_PP_BOOL(p##(91, s)), p, o, s)\r
+# define BOOST_PP_WHILE_91(p, o, s) BOOST_PP_WHILE_91_C(BOOST_PP_BOOL(p##(92, s)), p, o, s)\r
+# define BOOST_PP_WHILE_92(p, o, s) BOOST_PP_WHILE_92_C(BOOST_PP_BOOL(p##(93, s)), p, o, s)\r
+# define BOOST_PP_WHILE_93(p, o, s) BOOST_PP_WHILE_93_C(BOOST_PP_BOOL(p##(94, s)), p, o, s)\r
+# define BOOST_PP_WHILE_94(p, o, s) BOOST_PP_WHILE_94_C(BOOST_PP_BOOL(p##(95, s)), p, o, s)\r
+# define BOOST_PP_WHILE_95(p, o, s) BOOST_PP_WHILE_95_C(BOOST_PP_BOOL(p##(96, s)), p, o, s)\r
+# define BOOST_PP_WHILE_96(p, o, s) BOOST_PP_WHILE_96_C(BOOST_PP_BOOL(p##(97, s)), p, o, s)\r
+# define BOOST_PP_WHILE_97(p, o, s) BOOST_PP_WHILE_97_C(BOOST_PP_BOOL(p##(98, s)), p, o, s)\r
+# define BOOST_PP_WHILE_98(p, o, s) BOOST_PP_WHILE_98_C(BOOST_PP_BOOL(p##(99, s)), p, o, s)\r
+# define BOOST_PP_WHILE_99(p, o, s) BOOST_PP_WHILE_99_C(BOOST_PP_BOOL(p##(100, s)), p, o, s)\r
+# define BOOST_PP_WHILE_100(p, o, s) BOOST_PP_WHILE_100_C(BOOST_PP_BOOL(p##(101, s)), p, o, s)\r
+# define BOOST_PP_WHILE_101(p, o, s) BOOST_PP_WHILE_101_C(BOOST_PP_BOOL(p##(102, s)), p, o, s)\r
+# define BOOST_PP_WHILE_102(p, o, s) BOOST_PP_WHILE_102_C(BOOST_PP_BOOL(p##(103, s)), p, o, s)\r
+# define BOOST_PP_WHILE_103(p, o, s) BOOST_PP_WHILE_103_C(BOOST_PP_BOOL(p##(104, s)), p, o, s)\r
+# define BOOST_PP_WHILE_104(p, o, s) BOOST_PP_WHILE_104_C(BOOST_PP_BOOL(p##(105, s)), p, o, s)\r
+# define BOOST_PP_WHILE_105(p, o, s) BOOST_PP_WHILE_105_C(BOOST_PP_BOOL(p##(106, s)), p, o, s)\r
+# define BOOST_PP_WHILE_106(p, o, s) BOOST_PP_WHILE_106_C(BOOST_PP_BOOL(p##(107, s)), p, o, s)\r
+# define BOOST_PP_WHILE_107(p, o, s) BOOST_PP_WHILE_107_C(BOOST_PP_BOOL(p##(108, s)), p, o, s)\r
+# define BOOST_PP_WHILE_108(p, o, s) BOOST_PP_WHILE_108_C(BOOST_PP_BOOL(p##(109, s)), p, o, s)\r
+# define BOOST_PP_WHILE_109(p, o, s) BOOST_PP_WHILE_109_C(BOOST_PP_BOOL(p##(110, s)), p, o, s)\r
+# define BOOST_PP_WHILE_110(p, o, s) BOOST_PP_WHILE_110_C(BOOST_PP_BOOL(p##(111, s)), p, o, s)\r
+# define BOOST_PP_WHILE_111(p, o, s) BOOST_PP_WHILE_111_C(BOOST_PP_BOOL(p##(112, s)), p, o, s)\r
+# define BOOST_PP_WHILE_112(p, o, s) BOOST_PP_WHILE_112_C(BOOST_PP_BOOL(p##(113, s)), p, o, s)\r
+# define BOOST_PP_WHILE_113(p, o, s) BOOST_PP_WHILE_113_C(BOOST_PP_BOOL(p##(114, s)), p, o, s)\r
+# define BOOST_PP_WHILE_114(p, o, s) BOOST_PP_WHILE_114_C(BOOST_PP_BOOL(p##(115, s)), p, o, s)\r
+# define BOOST_PP_WHILE_115(p, o, s) BOOST_PP_WHILE_115_C(BOOST_PP_BOOL(p##(116, s)), p, o, s)\r
+# define BOOST_PP_WHILE_116(p, o, s) BOOST_PP_WHILE_116_C(BOOST_PP_BOOL(p##(117, s)), p, o, s)\r
+# define BOOST_PP_WHILE_117(p, o, s) BOOST_PP_WHILE_117_C(BOOST_PP_BOOL(p##(118, s)), p, o, s)\r
+# define BOOST_PP_WHILE_118(p, o, s) BOOST_PP_WHILE_118_C(BOOST_PP_BOOL(p##(119, s)), p, o, s)\r
+# define BOOST_PP_WHILE_119(p, o, s) BOOST_PP_WHILE_119_C(BOOST_PP_BOOL(p##(120, s)), p, o, s)\r
+# define BOOST_PP_WHILE_120(p, o, s) BOOST_PP_WHILE_120_C(BOOST_PP_BOOL(p##(121, s)), p, o, s)\r
+# define BOOST_PP_WHILE_121(p, o, s) BOOST_PP_WHILE_121_C(BOOST_PP_BOOL(p##(122, s)), p, o, s)\r
+# define BOOST_PP_WHILE_122(p, o, s) BOOST_PP_WHILE_122_C(BOOST_PP_BOOL(p##(123, s)), p, o, s)\r
+# define BOOST_PP_WHILE_123(p, o, s) BOOST_PP_WHILE_123_C(BOOST_PP_BOOL(p##(124, s)), p, o, s)\r
+# define BOOST_PP_WHILE_124(p, o, s) BOOST_PP_WHILE_124_C(BOOST_PP_BOOL(p##(125, s)), p, o, s)\r
+# define BOOST_PP_WHILE_125(p, o, s) BOOST_PP_WHILE_125_C(BOOST_PP_BOOL(p##(126, s)), p, o, s)\r
+# define BOOST_PP_WHILE_126(p, o, s) BOOST_PP_WHILE_126_C(BOOST_PP_BOOL(p##(127, s)), p, o, s)\r
+# define BOOST_PP_WHILE_127(p, o, s) BOOST_PP_WHILE_127_C(BOOST_PP_BOOL(p##(128, s)), p, o, s)\r
+# define BOOST_PP_WHILE_128(p, o, s) BOOST_PP_WHILE_128_C(BOOST_PP_BOOL(p##(129, s)), p, o, s)\r
+# define BOOST_PP_WHILE_129(p, o, s) BOOST_PP_WHILE_129_C(BOOST_PP_BOOL(p##(130, s)), p, o, s)\r
+# define BOOST_PP_WHILE_130(p, o, s) BOOST_PP_WHILE_130_C(BOOST_PP_BOOL(p##(131, s)), p, o, s)\r
+# define BOOST_PP_WHILE_131(p, o, s) BOOST_PP_WHILE_131_C(BOOST_PP_BOOL(p##(132, s)), p, o, s)\r
+# define BOOST_PP_WHILE_132(p, o, s) BOOST_PP_WHILE_132_C(BOOST_PP_BOOL(p##(133, s)), p, o, s)\r
+# define BOOST_PP_WHILE_133(p, o, s) BOOST_PP_WHILE_133_C(BOOST_PP_BOOL(p##(134, s)), p, o, s)\r
+# define BOOST_PP_WHILE_134(p, o, s) BOOST_PP_WHILE_134_C(BOOST_PP_BOOL(p##(135, s)), p, o, s)\r
+# define BOOST_PP_WHILE_135(p, o, s) BOOST_PP_WHILE_135_C(BOOST_PP_BOOL(p##(136, s)), p, o, s)\r
+# define BOOST_PP_WHILE_136(p, o, s) BOOST_PP_WHILE_136_C(BOOST_PP_BOOL(p##(137, s)), p, o, s)\r
+# define BOOST_PP_WHILE_137(p, o, s) BOOST_PP_WHILE_137_C(BOOST_PP_BOOL(p##(138, s)), p, o, s)\r
+# define BOOST_PP_WHILE_138(p, o, s) BOOST_PP_WHILE_138_C(BOOST_PP_BOOL(p##(139, s)), p, o, s)\r
+# define BOOST_PP_WHILE_139(p, o, s) BOOST_PP_WHILE_139_C(BOOST_PP_BOOL(p##(140, s)), p, o, s)\r
+# define BOOST_PP_WHILE_140(p, o, s) BOOST_PP_WHILE_140_C(BOOST_PP_BOOL(p##(141, s)), p, o, s)\r
+# define BOOST_PP_WHILE_141(p, o, s) BOOST_PP_WHILE_141_C(BOOST_PP_BOOL(p##(142, s)), p, o, s)\r
+# define BOOST_PP_WHILE_142(p, o, s) BOOST_PP_WHILE_142_C(BOOST_PP_BOOL(p##(143, s)), p, o, s)\r
+# define BOOST_PP_WHILE_143(p, o, s) BOOST_PP_WHILE_143_C(BOOST_PP_BOOL(p##(144, s)), p, o, s)\r
+# define BOOST_PP_WHILE_144(p, o, s) BOOST_PP_WHILE_144_C(BOOST_PP_BOOL(p##(145, s)), p, o, s)\r
+# define BOOST_PP_WHILE_145(p, o, s) BOOST_PP_WHILE_145_C(BOOST_PP_BOOL(p##(146, s)), p, o, s)\r
+# define BOOST_PP_WHILE_146(p, o, s) BOOST_PP_WHILE_146_C(BOOST_PP_BOOL(p##(147, s)), p, o, s)\r
+# define BOOST_PP_WHILE_147(p, o, s) BOOST_PP_WHILE_147_C(BOOST_PP_BOOL(p##(148, s)), p, o, s)\r
+# define BOOST_PP_WHILE_148(p, o, s) BOOST_PP_WHILE_148_C(BOOST_PP_BOOL(p##(149, s)), p, o, s)\r
+# define BOOST_PP_WHILE_149(p, o, s) BOOST_PP_WHILE_149_C(BOOST_PP_BOOL(p##(150, s)), p, o, s)\r
+# define BOOST_PP_WHILE_150(p, o, s) BOOST_PP_WHILE_150_C(BOOST_PP_BOOL(p##(151, s)), p, o, s)\r
+# define BOOST_PP_WHILE_151(p, o, s) BOOST_PP_WHILE_151_C(BOOST_PP_BOOL(p##(152, s)), p, o, s)\r
+# define BOOST_PP_WHILE_152(p, o, s) BOOST_PP_WHILE_152_C(BOOST_PP_BOOL(p##(153, s)), p, o, s)\r
+# define BOOST_PP_WHILE_153(p, o, s) BOOST_PP_WHILE_153_C(BOOST_PP_BOOL(p##(154, s)), p, o, s)\r
+# define BOOST_PP_WHILE_154(p, o, s) BOOST_PP_WHILE_154_C(BOOST_PP_BOOL(p##(155, s)), p, o, s)\r
+# define BOOST_PP_WHILE_155(p, o, s) BOOST_PP_WHILE_155_C(BOOST_PP_BOOL(p##(156, s)), p, o, s)\r
+# define BOOST_PP_WHILE_156(p, o, s) BOOST_PP_WHILE_156_C(BOOST_PP_BOOL(p##(157, s)), p, o, s)\r
+# define BOOST_PP_WHILE_157(p, o, s) BOOST_PP_WHILE_157_C(BOOST_PP_BOOL(p##(158, s)), p, o, s)\r
+# define BOOST_PP_WHILE_158(p, o, s) BOOST_PP_WHILE_158_C(BOOST_PP_BOOL(p##(159, s)), p, o, s)\r
+# define BOOST_PP_WHILE_159(p, o, s) BOOST_PP_WHILE_159_C(BOOST_PP_BOOL(p##(160, s)), p, o, s)\r
+# define BOOST_PP_WHILE_160(p, o, s) BOOST_PP_WHILE_160_C(BOOST_PP_BOOL(p##(161, s)), p, o, s)\r
+# define BOOST_PP_WHILE_161(p, o, s) BOOST_PP_WHILE_161_C(BOOST_PP_BOOL(p##(162, s)), p, o, s)\r
+# define BOOST_PP_WHILE_162(p, o, s) BOOST_PP_WHILE_162_C(BOOST_PP_BOOL(p##(163, s)), p, o, s)\r
+# define BOOST_PP_WHILE_163(p, o, s) BOOST_PP_WHILE_163_C(BOOST_PP_BOOL(p##(164, s)), p, o, s)\r
+# define BOOST_PP_WHILE_164(p, o, s) BOOST_PP_WHILE_164_C(BOOST_PP_BOOL(p##(165, s)), p, o, s)\r
+# define BOOST_PP_WHILE_165(p, o, s) BOOST_PP_WHILE_165_C(BOOST_PP_BOOL(p##(166, s)), p, o, s)\r
+# define BOOST_PP_WHILE_166(p, o, s) BOOST_PP_WHILE_166_C(BOOST_PP_BOOL(p##(167, s)), p, o, s)\r
+# define BOOST_PP_WHILE_167(p, o, s) BOOST_PP_WHILE_167_C(BOOST_PP_BOOL(p##(168, s)), p, o, s)\r
+# define BOOST_PP_WHILE_168(p, o, s) BOOST_PP_WHILE_168_C(BOOST_PP_BOOL(p##(169, s)), p, o, s)\r
+# define BOOST_PP_WHILE_169(p, o, s) BOOST_PP_WHILE_169_C(BOOST_PP_BOOL(p##(170, s)), p, o, s)\r
+# define BOOST_PP_WHILE_170(p, o, s) BOOST_PP_WHILE_170_C(BOOST_PP_BOOL(p##(171, s)), p, o, s)\r
+# define BOOST_PP_WHILE_171(p, o, s) BOOST_PP_WHILE_171_C(BOOST_PP_BOOL(p##(172, s)), p, o, s)\r
+# define BOOST_PP_WHILE_172(p, o, s) BOOST_PP_WHILE_172_C(BOOST_PP_BOOL(p##(173, s)), p, o, s)\r
+# define BOOST_PP_WHILE_173(p, o, s) BOOST_PP_WHILE_173_C(BOOST_PP_BOOL(p##(174, s)), p, o, s)\r
+# define BOOST_PP_WHILE_174(p, o, s) BOOST_PP_WHILE_174_C(BOOST_PP_BOOL(p##(175, s)), p, o, s)\r
+# define BOOST_PP_WHILE_175(p, o, s) BOOST_PP_WHILE_175_C(BOOST_PP_BOOL(p##(176, s)), p, o, s)\r
+# define BOOST_PP_WHILE_176(p, o, s) BOOST_PP_WHILE_176_C(BOOST_PP_BOOL(p##(177, s)), p, o, s)\r
+# define BOOST_PP_WHILE_177(p, o, s) BOOST_PP_WHILE_177_C(BOOST_PP_BOOL(p##(178, s)), p, o, s)\r
+# define BOOST_PP_WHILE_178(p, o, s) BOOST_PP_WHILE_178_C(BOOST_PP_BOOL(p##(179, s)), p, o, s)\r
+# define BOOST_PP_WHILE_179(p, o, s) BOOST_PP_WHILE_179_C(BOOST_PP_BOOL(p##(180, s)), p, o, s)\r
+# define BOOST_PP_WHILE_180(p, o, s) BOOST_PP_WHILE_180_C(BOOST_PP_BOOL(p##(181, s)), p, o, s)\r
+# define BOOST_PP_WHILE_181(p, o, s) BOOST_PP_WHILE_181_C(BOOST_PP_BOOL(p##(182, s)), p, o, s)\r
+# define BOOST_PP_WHILE_182(p, o, s) BOOST_PP_WHILE_182_C(BOOST_PP_BOOL(p##(183, s)), p, o, s)\r
+# define BOOST_PP_WHILE_183(p, o, s) BOOST_PP_WHILE_183_C(BOOST_PP_BOOL(p##(184, s)), p, o, s)\r
+# define BOOST_PP_WHILE_184(p, o, s) BOOST_PP_WHILE_184_C(BOOST_PP_BOOL(p##(185, s)), p, o, s)\r
+# define BOOST_PP_WHILE_185(p, o, s) BOOST_PP_WHILE_185_C(BOOST_PP_BOOL(p##(186, s)), p, o, s)\r
+# define BOOST_PP_WHILE_186(p, o, s) BOOST_PP_WHILE_186_C(BOOST_PP_BOOL(p##(187, s)), p, o, s)\r
+# define BOOST_PP_WHILE_187(p, o, s) BOOST_PP_WHILE_187_C(BOOST_PP_BOOL(p##(188, s)), p, o, s)\r
+# define BOOST_PP_WHILE_188(p, o, s) BOOST_PP_WHILE_188_C(BOOST_PP_BOOL(p##(189, s)), p, o, s)\r
+# define BOOST_PP_WHILE_189(p, o, s) BOOST_PP_WHILE_189_C(BOOST_PP_BOOL(p##(190, s)), p, o, s)\r
+# define BOOST_PP_WHILE_190(p, o, s) BOOST_PP_WHILE_190_C(BOOST_PP_BOOL(p##(191, s)), p, o, s)\r
+# define BOOST_PP_WHILE_191(p, o, s) BOOST_PP_WHILE_191_C(BOOST_PP_BOOL(p##(192, s)), p, o, s)\r
+# define BOOST_PP_WHILE_192(p, o, s) BOOST_PP_WHILE_192_C(BOOST_PP_BOOL(p##(193, s)), p, o, s)\r
+# define BOOST_PP_WHILE_193(p, o, s) BOOST_PP_WHILE_193_C(BOOST_PP_BOOL(p##(194, s)), p, o, s)\r
+# define BOOST_PP_WHILE_194(p, o, s) BOOST_PP_WHILE_194_C(BOOST_PP_BOOL(p##(195, s)), p, o, s)\r
+# define BOOST_PP_WHILE_195(p, o, s) BOOST_PP_WHILE_195_C(BOOST_PP_BOOL(p##(196, s)), p, o, s)\r
+# define BOOST_PP_WHILE_196(p, o, s) BOOST_PP_WHILE_196_C(BOOST_PP_BOOL(p##(197, s)), p, o, s)\r
+# define BOOST_PP_WHILE_197(p, o, s) BOOST_PP_WHILE_197_C(BOOST_PP_BOOL(p##(198, s)), p, o, s)\r
+# define BOOST_PP_WHILE_198(p, o, s) BOOST_PP_WHILE_198_C(BOOST_PP_BOOL(p##(199, s)), p, o, s)\r
+# define BOOST_PP_WHILE_199(p, o, s) BOOST_PP_WHILE_199_C(BOOST_PP_BOOL(p##(200, s)), p, o, s)\r
+# define BOOST_PP_WHILE_200(p, o, s) BOOST_PP_WHILE_200_C(BOOST_PP_BOOL(p##(201, s)), p, o, s)\r
+# define BOOST_PP_WHILE_201(p, o, s) BOOST_PP_WHILE_201_C(BOOST_PP_BOOL(p##(202, s)), p, o, s)\r
+# define BOOST_PP_WHILE_202(p, o, s) BOOST_PP_WHILE_202_C(BOOST_PP_BOOL(p##(203, s)), p, o, s)\r
+# define BOOST_PP_WHILE_203(p, o, s) BOOST_PP_WHILE_203_C(BOOST_PP_BOOL(p##(204, s)), p, o, s)\r
+# define BOOST_PP_WHILE_204(p, o, s) BOOST_PP_WHILE_204_C(BOOST_PP_BOOL(p##(205, s)), p, o, s)\r
+# define BOOST_PP_WHILE_205(p, o, s) BOOST_PP_WHILE_205_C(BOOST_PP_BOOL(p##(206, s)), p, o, s)\r
+# define BOOST_PP_WHILE_206(p, o, s) BOOST_PP_WHILE_206_C(BOOST_PP_BOOL(p##(207, s)), p, o, s)\r
+# define BOOST_PP_WHILE_207(p, o, s) BOOST_PP_WHILE_207_C(BOOST_PP_BOOL(p##(208, s)), p, o, s)\r
+# define BOOST_PP_WHILE_208(p, o, s) BOOST_PP_WHILE_208_C(BOOST_PP_BOOL(p##(209, s)), p, o, s)\r
+# define BOOST_PP_WHILE_209(p, o, s) BOOST_PP_WHILE_209_C(BOOST_PP_BOOL(p##(210, s)), p, o, s)\r
+# define BOOST_PP_WHILE_210(p, o, s) BOOST_PP_WHILE_210_C(BOOST_PP_BOOL(p##(211, s)), p, o, s)\r
+# define BOOST_PP_WHILE_211(p, o, s) BOOST_PP_WHILE_211_C(BOOST_PP_BOOL(p##(212, s)), p, o, s)\r
+# define BOOST_PP_WHILE_212(p, o, s) BOOST_PP_WHILE_212_C(BOOST_PP_BOOL(p##(213, s)), p, o, s)\r
+# define BOOST_PP_WHILE_213(p, o, s) BOOST_PP_WHILE_213_C(BOOST_PP_BOOL(p##(214, s)), p, o, s)\r
+# define BOOST_PP_WHILE_214(p, o, s) BOOST_PP_WHILE_214_C(BOOST_PP_BOOL(p##(215, s)), p, o, s)\r
+# define BOOST_PP_WHILE_215(p, o, s) BOOST_PP_WHILE_215_C(BOOST_PP_BOOL(p##(216, s)), p, o, s)\r
+# define BOOST_PP_WHILE_216(p, o, s) BOOST_PP_WHILE_216_C(BOOST_PP_BOOL(p##(217, s)), p, o, s)\r
+# define BOOST_PP_WHILE_217(p, o, s) BOOST_PP_WHILE_217_C(BOOST_PP_BOOL(p##(218, s)), p, o, s)\r
+# define BOOST_PP_WHILE_218(p, o, s) BOOST_PP_WHILE_218_C(BOOST_PP_BOOL(p##(219, s)), p, o, s)\r
+# define BOOST_PP_WHILE_219(p, o, s) BOOST_PP_WHILE_219_C(BOOST_PP_BOOL(p##(220, s)), p, o, s)\r
+# define BOOST_PP_WHILE_220(p, o, s) BOOST_PP_WHILE_220_C(BOOST_PP_BOOL(p##(221, s)), p, o, s)\r
+# define BOOST_PP_WHILE_221(p, o, s) BOOST_PP_WHILE_221_C(BOOST_PP_BOOL(p##(222, s)), p, o, s)\r
+# define BOOST_PP_WHILE_222(p, o, s) BOOST_PP_WHILE_222_C(BOOST_PP_BOOL(p##(223, s)), p, o, s)\r
+# define BOOST_PP_WHILE_223(p, o, s) BOOST_PP_WHILE_223_C(BOOST_PP_BOOL(p##(224, s)), p, o, s)\r
+# define BOOST_PP_WHILE_224(p, o, s) BOOST_PP_WHILE_224_C(BOOST_PP_BOOL(p##(225, s)), p, o, s)\r
+# define BOOST_PP_WHILE_225(p, o, s) BOOST_PP_WHILE_225_C(BOOST_PP_BOOL(p##(226, s)), p, o, s)\r
+# define BOOST_PP_WHILE_226(p, o, s) BOOST_PP_WHILE_226_C(BOOST_PP_BOOL(p##(227, s)), p, o, s)\r
+# define BOOST_PP_WHILE_227(p, o, s) BOOST_PP_WHILE_227_C(BOOST_PP_BOOL(p##(228, s)), p, o, s)\r
+# define BOOST_PP_WHILE_228(p, o, s) BOOST_PP_WHILE_228_C(BOOST_PP_BOOL(p##(229, s)), p, o, s)\r
+# define BOOST_PP_WHILE_229(p, o, s) BOOST_PP_WHILE_229_C(BOOST_PP_BOOL(p##(230, s)), p, o, s)\r
+# define BOOST_PP_WHILE_230(p, o, s) BOOST_PP_WHILE_230_C(BOOST_PP_BOOL(p##(231, s)), p, o, s)\r
+# define BOOST_PP_WHILE_231(p, o, s) BOOST_PP_WHILE_231_C(BOOST_PP_BOOL(p##(232, s)), p, o, s)\r
+# define BOOST_PP_WHILE_232(p, o, s) BOOST_PP_WHILE_232_C(BOOST_PP_BOOL(p##(233, s)), p, o, s)\r
+# define BOOST_PP_WHILE_233(p, o, s) BOOST_PP_WHILE_233_C(BOOST_PP_BOOL(p##(234, s)), p, o, s)\r
+# define BOOST_PP_WHILE_234(p, o, s) BOOST_PP_WHILE_234_C(BOOST_PP_BOOL(p##(235, s)), p, o, s)\r
+# define BOOST_PP_WHILE_235(p, o, s) BOOST_PP_WHILE_235_C(BOOST_PP_BOOL(p##(236, s)), p, o, s)\r
+# define BOOST_PP_WHILE_236(p, o, s) BOOST_PP_WHILE_236_C(BOOST_PP_BOOL(p##(237, s)), p, o, s)\r
+# define BOOST_PP_WHILE_237(p, o, s) BOOST_PP_WHILE_237_C(BOOST_PP_BOOL(p##(238, s)), p, o, s)\r
+# define BOOST_PP_WHILE_238(p, o, s) BOOST_PP_WHILE_238_C(BOOST_PP_BOOL(p##(239, s)), p, o, s)\r
+# define BOOST_PP_WHILE_239(p, o, s) BOOST_PP_WHILE_239_C(BOOST_PP_BOOL(p##(240, s)), p, o, s)\r
+# define BOOST_PP_WHILE_240(p, o, s) BOOST_PP_WHILE_240_C(BOOST_PP_BOOL(p##(241, s)), p, o, s)\r
+# define BOOST_PP_WHILE_241(p, o, s) BOOST_PP_WHILE_241_C(BOOST_PP_BOOL(p##(242, s)), p, o, s)\r
+# define BOOST_PP_WHILE_242(p, o, s) BOOST_PP_WHILE_242_C(BOOST_PP_BOOL(p##(243, s)), p, o, s)\r
+# define BOOST_PP_WHILE_243(p, o, s) BOOST_PP_WHILE_243_C(BOOST_PP_BOOL(p##(244, s)), p, o, s)\r
+# define BOOST_PP_WHILE_244(p, o, s) BOOST_PP_WHILE_244_C(BOOST_PP_BOOL(p##(245, s)), p, o, s)\r
+# define BOOST_PP_WHILE_245(p, o, s) BOOST_PP_WHILE_245_C(BOOST_PP_BOOL(p##(246, s)), p, o, s)\r
+# define BOOST_PP_WHILE_246(p, o, s) BOOST_PP_WHILE_246_C(BOOST_PP_BOOL(p##(247, s)), p, o, s)\r
+# define BOOST_PP_WHILE_247(p, o, s) BOOST_PP_WHILE_247_C(BOOST_PP_BOOL(p##(248, s)), p, o, s)\r
+# define BOOST_PP_WHILE_248(p, o, s) BOOST_PP_WHILE_248_C(BOOST_PP_BOOL(p##(249, s)), p, o, s)\r
+# define BOOST_PP_WHILE_249(p, o, s) BOOST_PP_WHILE_249_C(BOOST_PP_BOOL(p##(250, s)), p, o, s)\r
+# define BOOST_PP_WHILE_250(p, o, s) BOOST_PP_WHILE_250_C(BOOST_PP_BOOL(p##(251, s)), p, o, s)\r
+# define BOOST_PP_WHILE_251(p, o, s) BOOST_PP_WHILE_251_C(BOOST_PP_BOOL(p##(252, s)), p, o, s)\r
+# define BOOST_PP_WHILE_252(p, o, s) BOOST_PP_WHILE_252_C(BOOST_PP_BOOL(p##(253, s)), p, o, s)\r
+# define BOOST_PP_WHILE_253(p, o, s) BOOST_PP_WHILE_253_C(BOOST_PP_BOOL(p##(254, s)), p, o, s)\r
+# define BOOST_PP_WHILE_254(p, o, s) BOOST_PP_WHILE_254_C(BOOST_PP_BOOL(p##(255, s)), p, o, s)\r
+# define BOOST_PP_WHILE_255(p, o, s) BOOST_PP_WHILE_255_C(BOOST_PP_BOOL(p##(256, s)), p, o, s)\r
+# define BOOST_PP_WHILE_256(p, o, s) BOOST_PP_WHILE_256_C(BOOST_PP_BOOL(p##(257, s)), p, o, s)\r
+#\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+#\r
+#\r
+# endif\r
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 (file)
index 0000000..ea10ecc
--- /dev/null
@@ -0,0 +1,534 @@
+# /* Copyright (C) 2001\r
+#  * Housemarque Oy\r
+#  * http://www.housemarque.com\r
+#  *\r
+#  * Distributed under the Boost Software License, Version 1.0. (See\r
+#  * accompanying file LICENSE_1_0.txt or copy at\r
+#  * http://www.boost.org/LICENSE_1_0.txt)\r
+#  */\r
+#\r
+# /* Revised by Paul Mensonides (2002) */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_CONTROL_DETAIL_EDG_WHILE_HPP\r
+# define BOOST_PREPROCESSOR_CONTROL_DETAIL_EDG_WHILE_HPP\r
+#\r
+# include <boost/preprocessor/control/if.hpp>\r
+# include <boost/preprocessor/tuple/eat.hpp>\r
+#\r
+# define BOOST_PP_WHILE_1(p, o, s) BOOST_PP_WHILE_1_I(p, o, s)\r
+# define BOOST_PP_WHILE_2(p, o, s) BOOST_PP_WHILE_2_I(p, o, s)\r
+# define BOOST_PP_WHILE_3(p, o, s) BOOST_PP_WHILE_3_I(p, o, s)\r
+# define BOOST_PP_WHILE_4(p, o, s) BOOST_PP_WHILE_4_I(p, o, s)\r
+# define BOOST_PP_WHILE_5(p, o, s) BOOST_PP_WHILE_5_I(p, o, s)\r
+# define BOOST_PP_WHILE_6(p, o, s) BOOST_PP_WHILE_6_I(p, o, s)\r
+# define BOOST_PP_WHILE_7(p, o, s) BOOST_PP_WHILE_7_I(p, o, s)\r
+# define BOOST_PP_WHILE_8(p, o, s) BOOST_PP_WHILE_8_I(p, o, s)\r
+# define BOOST_PP_WHILE_9(p, o, s) BOOST_PP_WHILE_9_I(p, o, s)\r
+# define BOOST_PP_WHILE_10(p, o, s) BOOST_PP_WHILE_10_I(p, o, s)\r
+# define BOOST_PP_WHILE_11(p, o, s) BOOST_PP_WHILE_11_I(p, o, s)\r
+# define BOOST_PP_WHILE_12(p, o, s) BOOST_PP_WHILE_12_I(p, o, s)\r
+# define BOOST_PP_WHILE_13(p, o, s) BOOST_PP_WHILE_13_I(p, o, s)\r
+# define BOOST_PP_WHILE_14(p, o, s) BOOST_PP_WHILE_14_I(p, o, s)\r
+# define BOOST_PP_WHILE_15(p, o, s) BOOST_PP_WHILE_15_I(p, o, s)\r
+# define BOOST_PP_WHILE_16(p, o, s) BOOST_PP_WHILE_16_I(p, o, s)\r
+# define BOOST_PP_WHILE_17(p, o, s) BOOST_PP_WHILE_17_I(p, o, s)\r
+# define BOOST_PP_WHILE_18(p, o, s) BOOST_PP_WHILE_18_I(p, o, s)\r
+# define BOOST_PP_WHILE_19(p, o, s) BOOST_PP_WHILE_19_I(p, o, s)\r
+# define BOOST_PP_WHILE_20(p, o, s) BOOST_PP_WHILE_20_I(p, o, s)\r
+# define BOOST_PP_WHILE_21(p, o, s) BOOST_PP_WHILE_21_I(p, o, s)\r
+# define BOOST_PP_WHILE_22(p, o, s) BOOST_PP_WHILE_22_I(p, o, s)\r
+# define BOOST_PP_WHILE_23(p, o, s) BOOST_PP_WHILE_23_I(p, o, s)\r
+# define BOOST_PP_WHILE_24(p, o, s) BOOST_PP_WHILE_24_I(p, o, s)\r
+# define BOOST_PP_WHILE_25(p, o, s) BOOST_PP_WHILE_25_I(p, o, s)\r
+# define BOOST_PP_WHILE_26(p, o, s) BOOST_PP_WHILE_26_I(p, o, s)\r
+# define BOOST_PP_WHILE_27(p, o, s) BOOST_PP_WHILE_27_I(p, o, s)\r
+# define BOOST_PP_WHILE_28(p, o, s) BOOST_PP_WHILE_28_I(p, o, s)\r
+# define BOOST_PP_WHILE_29(p, o, s) BOOST_PP_WHILE_29_I(p, o, s)\r
+# define BOOST_PP_WHILE_30(p, o, s) BOOST_PP_WHILE_30_I(p, o, s)\r
+# define BOOST_PP_WHILE_31(p, o, s) BOOST_PP_WHILE_31_I(p, o, s)\r
+# define BOOST_PP_WHILE_32(p, o, s) BOOST_PP_WHILE_32_I(p, o, s)\r
+# define BOOST_PP_WHILE_33(p, o, s) BOOST_PP_WHILE_33_I(p, o, s)\r
+# define BOOST_PP_WHILE_34(p, o, s) BOOST_PP_WHILE_34_I(p, o, s)\r
+# define BOOST_PP_WHILE_35(p, o, s) BOOST_PP_WHILE_35_I(p, o, s)\r
+# define BOOST_PP_WHILE_36(p, o, s) BOOST_PP_WHILE_36_I(p, o, s)\r
+# define BOOST_PP_WHILE_37(p, o, s) BOOST_PP_WHILE_37_I(p, o, s)\r
+# define BOOST_PP_WHILE_38(p, o, s) BOOST_PP_WHILE_38_I(p, o, s)\r
+# define BOOST_PP_WHILE_39(p, o, s) BOOST_PP_WHILE_39_I(p, o, s)\r
+# define BOOST_PP_WHILE_40(p, o, s) BOOST_PP_WHILE_40_I(p, o, s)\r
+# define BOOST_PP_WHILE_41(p, o, s) BOOST_PP_WHILE_41_I(p, o, s)\r
+# define BOOST_PP_WHILE_42(p, o, s) BOOST_PP_WHILE_42_I(p, o, s)\r
+# define BOOST_PP_WHILE_43(p, o, s) BOOST_PP_WHILE_43_I(p, o, s)\r
+# define BOOST_PP_WHILE_44(p, o, s) BOOST_PP_WHILE_44_I(p, o, s)\r
+# define BOOST_PP_WHILE_45(p, o, s) BOOST_PP_WHILE_45_I(p, o, s)\r
+# define BOOST_PP_WHILE_46(p, o, s) BOOST_PP_WHILE_46_I(p, o, s)\r
+# define BOOST_PP_WHILE_47(p, o, s) BOOST_PP_WHILE_47_I(p, o, s)\r
+# define BOOST_PP_WHILE_48(p, o, s) BOOST_PP_WHILE_48_I(p, o, s)\r
+# define BOOST_PP_WHILE_49(p, o, s) BOOST_PP_WHILE_49_I(p, o, s)\r
+# define BOOST_PP_WHILE_50(p, o, s) BOOST_PP_WHILE_50_I(p, o, s)\r
+# define BOOST_PP_WHILE_51(p, o, s) BOOST_PP_WHILE_51_I(p, o, s)\r
+# define BOOST_PP_WHILE_52(p, o, s) BOOST_PP_WHILE_52_I(p, o, s)\r
+# define BOOST_PP_WHILE_53(p, o, s) BOOST_PP_WHILE_53_I(p, o, s)\r
+# define BOOST_PP_WHILE_54(p, o, s) BOOST_PP_WHILE_54_I(p, o, s)\r
+# define BOOST_PP_WHILE_55(p, o, s) BOOST_PP_WHILE_55_I(p, o, s)\r
+# define BOOST_PP_WHILE_56(p, o, s) BOOST_PP_WHILE_56_I(p, o, s)\r
+# define BOOST_PP_WHILE_57(p, o, s) BOOST_PP_WHILE_57_I(p, o, s)\r
+# define BOOST_PP_WHILE_58(p, o, s) BOOST_PP_WHILE_58_I(p, o, s)\r
+# define BOOST_PP_WHILE_59(p, o, s) BOOST_PP_WHILE_59_I(p, o, s)\r
+# define BOOST_PP_WHILE_60(p, o, s) BOOST_PP_WHILE_60_I(p, o, s)\r
+# define BOOST_PP_WHILE_61(p, o, s) BOOST_PP_WHILE_61_I(p, o, s)\r
+# define BOOST_PP_WHILE_62(p, o, s) BOOST_PP_WHILE_62_I(p, o, s)\r
+# define BOOST_PP_WHILE_63(p, o, s) BOOST_PP_WHILE_63_I(p, o, s)\r
+# define BOOST_PP_WHILE_64(p, o, s) BOOST_PP_WHILE_64_I(p, o, s)\r
+# define BOOST_PP_WHILE_65(p, o, s) BOOST_PP_WHILE_65_I(p, o, s)\r
+# define BOOST_PP_WHILE_66(p, o, s) BOOST_PP_WHILE_66_I(p, o, s)\r
+# define BOOST_PP_WHILE_67(p, o, s) BOOST_PP_WHILE_67_I(p, o, s)\r
+# define BOOST_PP_WHILE_68(p, o, s) BOOST_PP_WHILE_68_I(p, o, s)\r
+# define BOOST_PP_WHILE_69(p, o, s) BOOST_PP_WHILE_69_I(p, o, s)\r
+# define BOOST_PP_WHILE_70(p, o, s) BOOST_PP_WHILE_70_I(p, o, s)\r
+# define BOOST_PP_WHILE_71(p, o, s) BOOST_PP_WHILE_71_I(p, o, s)\r
+# define BOOST_PP_WHILE_72(p, o, s) BOOST_PP_WHILE_72_I(p, o, s)\r
+# define BOOST_PP_WHILE_73(p, o, s) BOOST_PP_WHILE_73_I(p, o, s)\r
+# define BOOST_PP_WHILE_74(p, o, s) BOOST_PP_WHILE_74_I(p, o, s)\r
+# define BOOST_PP_WHILE_75(p, o, s) BOOST_PP_WHILE_75_I(p, o, s)\r
+# define BOOST_PP_WHILE_76(p, o, s) BOOST_PP_WHILE_76_I(p, o, s)\r
+# define BOOST_PP_WHILE_77(p, o, s) BOOST_PP_WHILE_77_I(p, o, s)\r
+# define BOOST_PP_WHILE_78(p, o, s) BOOST_PP_WHILE_78_I(p, o, s)\r
+# define BOOST_PP_WHILE_79(p, o, s) BOOST_PP_WHILE_79_I(p, o, s)\r
+# define BOOST_PP_WHILE_80(p, o, s) BOOST_PP_WHILE_80_I(p, o, s)\r
+# define BOOST_PP_WHILE_81(p, o, s) BOOST_PP_WHILE_81_I(p, o, s)\r
+# define BOOST_PP_WHILE_82(p, o, s) BOOST_PP_WHILE_82_I(p, o, s)\r
+# define BOOST_PP_WHILE_83(p, o, s) BOOST_PP_WHILE_83_I(p, o, s)\r
+# define BOOST_PP_WHILE_84(p, o, s) BOOST_PP_WHILE_84_I(p, o, s)\r
+# define BOOST_PP_WHILE_85(p, o, s) BOOST_PP_WHILE_85_I(p, o, s)\r
+# define BOOST_PP_WHILE_86(p, o, s) BOOST_PP_WHILE_86_I(p, o, s)\r
+# define BOOST_PP_WHILE_87(p, o, s) BOOST_PP_WHILE_87_I(p, o, s)\r
+# define BOOST_PP_WHILE_88(p, o, s) BOOST_PP_WHILE_88_I(p, o, s)\r
+# define BOOST_PP_WHILE_89(p, o, s) BOOST_PP_WHILE_89_I(p, o, s)\r
+# define BOOST_PP_WHILE_90(p, o, s) BOOST_PP_WHILE_90_I(p, o, s)\r
+# define BOOST_PP_WHILE_91(p, o, s) BOOST_PP_WHILE_91_I(p, o, s)\r
+# define BOOST_PP_WHILE_92(p, o, s) BOOST_PP_WHILE_92_I(p, o, s)\r
+# define BOOST_PP_WHILE_93(p, o, s) BOOST_PP_WHILE_93_I(p, o, s)\r
+# define BOOST_PP_WHILE_94(p, o, s) BOOST_PP_WHILE_94_I(p, o, s)\r
+# define BOOST_PP_WHILE_95(p, o, s) BOOST_PP_WHILE_95_I(p, o, s)\r
+# define BOOST_PP_WHILE_96(p, o, s) BOOST_PP_WHILE_96_I(p, o, s)\r
+# define BOOST_PP_WHILE_97(p, o, s) BOOST_PP_WHILE_97_I(p, o, s)\r
+# define BOOST_PP_WHILE_98(p, o, s) BOOST_PP_WHILE_98_I(p, o, s)\r
+# define BOOST_PP_WHILE_99(p, o, s) BOOST_PP_WHILE_99_I(p, o, s)\r
+# define BOOST_PP_WHILE_100(p, o, s) BOOST_PP_WHILE_100_I(p, o, s)\r
+# define BOOST_PP_WHILE_101(p, o, s) BOOST_PP_WHILE_101_I(p, o, s)\r
+# define BOOST_PP_WHILE_102(p, o, s) BOOST_PP_WHILE_102_I(p, o, s)\r
+# define BOOST_PP_WHILE_103(p, o, s) BOOST_PP_WHILE_103_I(p, o, s)\r
+# define BOOST_PP_WHILE_104(p, o, s) BOOST_PP_WHILE_104_I(p, o, s)\r
+# define BOOST_PP_WHILE_105(p, o, s) BOOST_PP_WHILE_105_I(p, o, s)\r
+# define BOOST_PP_WHILE_106(p, o, s) BOOST_PP_WHILE_106_I(p, o, s)\r
+# define BOOST_PP_WHILE_107(p, o, s) BOOST_PP_WHILE_107_I(p, o, s)\r
+# define BOOST_PP_WHILE_108(p, o, s) BOOST_PP_WHILE_108_I(p, o, s)\r
+# define BOOST_PP_WHILE_109(p, o, s) BOOST_PP_WHILE_109_I(p, o, s)\r
+# define BOOST_PP_WHILE_110(p, o, s) BOOST_PP_WHILE_110_I(p, o, s)\r
+# define BOOST_PP_WHILE_111(p, o, s) BOOST_PP_WHILE_111_I(p, o, s)\r
+# define BOOST_PP_WHILE_112(p, o, s) BOOST_PP_WHILE_112_I(p, o, s)\r
+# define BOOST_PP_WHILE_113(p, o, s) BOOST_PP_WHILE_113_I(p, o, s)\r
+# define BOOST_PP_WHILE_114(p, o, s) BOOST_PP_WHILE_114_I(p, o, s)\r
+# define BOOST_PP_WHILE_115(p, o, s) BOOST_PP_WHILE_115_I(p, o, s)\r
+# define BOOST_PP_WHILE_116(p, o, s) BOOST_PP_WHILE_116_I(p, o, s)\r
+# define BOOST_PP_WHILE_117(p, o, s) BOOST_PP_WHILE_117_I(p, o, s)\r
+# define BOOST_PP_WHILE_118(p, o, s) BOOST_PP_WHILE_118_I(p, o, s)\r
+# define BOOST_PP_WHILE_119(p, o, s) BOOST_PP_WHILE_119_I(p, o, s)\r
+# define BOOST_PP_WHILE_120(p, o, s) BOOST_PP_WHILE_120_I(p, o, s)\r
+# define BOOST_PP_WHILE_121(p, o, s) BOOST_PP_WHILE_121_I(p, o, s)\r
+# define BOOST_PP_WHILE_122(p, o, s) BOOST_PP_WHILE_122_I(p, o, s)\r
+# define BOOST_PP_WHILE_123(p, o, s) BOOST_PP_WHILE_123_I(p, o, s)\r
+# define BOOST_PP_WHILE_124(p, o, s) BOOST_PP_WHILE_124_I(p, o, s)\r
+# define BOOST_PP_WHILE_125(p, o, s) BOOST_PP_WHILE_125_I(p, o, s)\r
+# define BOOST_PP_WHILE_126(p, o, s) BOOST_PP_WHILE_126_I(p, o, s)\r
+# define BOOST_PP_WHILE_127(p, o, s) BOOST_PP_WHILE_127_I(p, o, s)\r
+# define BOOST_PP_WHILE_128(p, o, s) BOOST_PP_WHILE_128_I(p, o, s)\r
+# define BOOST_PP_WHILE_129(p, o, s) BOOST_PP_WHILE_129_I(p, o, s)\r
+# define BOOST_PP_WHILE_130(p, o, s) BOOST_PP_WHILE_130_I(p, o, s)\r
+# define BOOST_PP_WHILE_131(p, o, s) BOOST_PP_WHILE_131_I(p, o, s)\r
+# define BOOST_PP_WHILE_132(p, o, s) BOOST_PP_WHILE_132_I(p, o, s)\r
+# define BOOST_PP_WHILE_133(p, o, s) BOOST_PP_WHILE_133_I(p, o, s)\r
+# define BOOST_PP_WHILE_134(p, o, s) BOOST_PP_WHILE_134_I(p, o, s)\r
+# define BOOST_PP_WHILE_135(p, o, s) BOOST_PP_WHILE_135_I(p, o, s)\r
+# define BOOST_PP_WHILE_136(p, o, s) BOOST_PP_WHILE_136_I(p, o, s)\r
+# define BOOST_PP_WHILE_137(p, o, s) BOOST_PP_WHILE_137_I(p, o, s)\r
+# define BOOST_PP_WHILE_138(p, o, s) BOOST_PP_WHILE_138_I(p, o, s)\r
+# define BOOST_PP_WHILE_139(p, o, s) BOOST_PP_WHILE_139_I(p, o, s)\r
+# define BOOST_PP_WHILE_140(p, o, s) BOOST_PP_WHILE_140_I(p, o, s)\r
+# define BOOST_PP_WHILE_141(p, o, s) BOOST_PP_WHILE_141_I(p, o, s)\r
+# define BOOST_PP_WHILE_142(p, o, s) BOOST_PP_WHILE_142_I(p, o, s)\r
+# define BOOST_PP_WHILE_143(p, o, s) BOOST_PP_WHILE_143_I(p, o, s)\r
+# define BOOST_PP_WHILE_144(p, o, s) BOOST_PP_WHILE_144_I(p, o, s)\r
+# define BOOST_PP_WHILE_145(p, o, s) BOOST_PP_WHILE_145_I(p, o, s)\r
+# define BOOST_PP_WHILE_146(p, o, s) BOOST_PP_WHILE_146_I(p, o, s)\r
+# define BOOST_PP_WHILE_147(p, o, s) BOOST_PP_WHILE_147_I(p, o, s)\r
+# define BOOST_PP_WHILE_148(p, o, s) BOOST_PP_WHILE_148_I(p, o, s)\r
+# define BOOST_PP_WHILE_149(p, o, s) BOOST_PP_WHILE_149_I(p, o, s)\r
+# define BOOST_PP_WHILE_150(p, o, s) BOOST_PP_WHILE_150_I(p, o, s)\r
+# define BOOST_PP_WHILE_151(p, o, s) BOOST_PP_WHILE_151_I(p, o, s)\r
+# define BOOST_PP_WHILE_152(p, o, s) BOOST_PP_WHILE_152_I(p, o, s)\r
+# define BOOST_PP_WHILE_153(p, o, s) BOOST_PP_WHILE_153_I(p, o, s)\r
+# define BOOST_PP_WHILE_154(p, o, s) BOOST_PP_WHILE_154_I(p, o, s)\r
+# define BOOST_PP_WHILE_155(p, o, s) BOOST_PP_WHILE_155_I(p, o, s)\r
+# define BOOST_PP_WHILE_156(p, o, s) BOOST_PP_WHILE_156_I(p, o, s)\r
+# define BOOST_PP_WHILE_157(p, o, s) BOOST_PP_WHILE_157_I(p, o, s)\r
+# define BOOST_PP_WHILE_158(p, o, s) BOOST_PP_WHILE_158_I(p, o, s)\r
+# define BOOST_PP_WHILE_159(p, o, s) BOOST_PP_WHILE_159_I(p, o, s)\r
+# define BOOST_PP_WHILE_160(p, o, s) BOOST_PP_WHILE_160_I(p, o, s)\r
+# define BOOST_PP_WHILE_161(p, o, s) BOOST_PP_WHILE_161_I(p, o, s)\r
+# define BOOST_PP_WHILE_162(p, o, s) BOOST_PP_WHILE_162_I(p, o, s)\r
+# define BOOST_PP_WHILE_163(p, o, s) BOOST_PP_WHILE_163_I(p, o, s)\r
+# define BOOST_PP_WHILE_164(p, o, s) BOOST_PP_WHILE_164_I(p, o, s)\r
+# define BOOST_PP_WHILE_165(p, o, s) BOOST_PP_WHILE_165_I(p, o, s)\r
+# define BOOST_PP_WHILE_166(p, o, s) BOOST_PP_WHILE_166_I(p, o, s)\r
+# define BOOST_PP_WHILE_167(p, o, s) BOOST_PP_WHILE_167_I(p, o, s)\r
+# define BOOST_PP_WHILE_168(p, o, s) BOOST_PP_WHILE_168_I(p, o, s)\r
+# define BOOST_PP_WHILE_169(p, o, s) BOOST_PP_WHILE_169_I(p, o, s)\r
+# define BOOST_PP_WHILE_170(p, o, s) BOOST_PP_WHILE_170_I(p, o, s)\r
+# define BOOST_PP_WHILE_171(p, o, s) BOOST_PP_WHILE_171_I(p, o, s)\r
+# define BOOST_PP_WHILE_172(p, o, s) BOOST_PP_WHILE_172_I(p, o, s)\r
+# define BOOST_PP_WHILE_173(p, o, s) BOOST_PP_WHILE_173_I(p, o, s)\r
+# define BOOST_PP_WHILE_174(p, o, s) BOOST_PP_WHILE_174_I(p, o, s)\r
+# define BOOST_PP_WHILE_175(p, o, s) BOOST_PP_WHILE_175_I(p, o, s)\r
+# define BOOST_PP_WHILE_176(p, o, s) BOOST_PP_WHILE_176_I(p, o, s)\r
+# define BOOST_PP_WHILE_177(p, o, s) BOOST_PP_WHILE_177_I(p, o, s)\r
+# define BOOST_PP_WHILE_178(p, o, s) BOOST_PP_WHILE_178_I(p, o, s)\r
+# define BOOST_PP_WHILE_179(p, o, s) BOOST_PP_WHILE_179_I(p, o, s)\r
+# define BOOST_PP_WHILE_180(p, o, s) BOOST_PP_WHILE_180_I(p, o, s)\r
+# define BOOST_PP_WHILE_181(p, o, s) BOOST_PP_WHILE_181_I(p, o, s)\r
+# define BOOST_PP_WHILE_182(p, o, s) BOOST_PP_WHILE_182_I(p, o, s)\r
+# define BOOST_PP_WHILE_183(p, o, s) BOOST_PP_WHILE_183_I(p, o, s)\r
+# define BOOST_PP_WHILE_184(p, o, s) BOOST_PP_WHILE_184_I(p, o, s)\r
+# define BOOST_PP_WHILE_185(p, o, s) BOOST_PP_WHILE_185_I(p, o, s)\r
+# define BOOST_PP_WHILE_186(p, o, s) BOOST_PP_WHILE_186_I(p, o, s)\r
+# define BOOST_PP_WHILE_187(p, o, s) BOOST_PP_WHILE_187_I(p, o, s)\r
+# define BOOST_PP_WHILE_188(p, o, s) BOOST_PP_WHILE_188_I(p, o, s)\r
+# define BOOST_PP_WHILE_189(p, o, s) BOOST_PP_WHILE_189_I(p, o, s)\r
+# define BOOST_PP_WHILE_190(p, o, s) BOOST_PP_WHILE_190_I(p, o, s)\r
+# define BOOST_PP_WHILE_191(p, o, s) BOOST_PP_WHILE_191_I(p, o, s)\r
+# define BOOST_PP_WHILE_192(p, o, s) BOOST_PP_WHILE_192_I(p, o, s)\r
+# define BOOST_PP_WHILE_193(p, o, s) BOOST_PP_WHILE_193_I(p, o, s)\r
+# define BOOST_PP_WHILE_194(p, o, s) BOOST_PP_WHILE_194_I(p, o, s)\r
+# define BOOST_PP_WHILE_195(p, o, s) BOOST_PP_WHILE_195_I(p, o, s)\r
+# define BOOST_PP_WHILE_196(p, o, s) BOOST_PP_WHILE_196_I(p, o, s)\r
+# define BOOST_PP_WHILE_197(p, o, s) BOOST_PP_WHILE_197_I(p, o, s)\r
+# define BOOST_PP_WHILE_198(p, o, s) BOOST_PP_WHILE_198_I(p, o, s)\r
+# define BOOST_PP_WHILE_199(p, o, s) BOOST_PP_WHILE_199_I(p, o, s)\r
+# define BOOST_PP_WHILE_200(p, o, s) BOOST_PP_WHILE_200_I(p, o, s)\r
+# define BOOST_PP_WHILE_201(p, o, s) BOOST_PP_WHILE_201_I(p, o, s)\r
+# define BOOST_PP_WHILE_202(p, o, s) BOOST_PP_WHILE_202_I(p, o, s)\r
+# define BOOST_PP_WHILE_203(p, o, s) BOOST_PP_WHILE_203_I(p, o, s)\r
+# define BOOST_PP_WHILE_204(p, o, s) BOOST_PP_WHILE_204_I(p, o, s)\r
+# define BOOST_PP_WHILE_205(p, o, s) BOOST_PP_WHILE_205_I(p, o, s)\r
+# define BOOST_PP_WHILE_206(p, o, s) BOOST_PP_WHILE_206_I(p, o, s)\r
+# define BOOST_PP_WHILE_207(p, o, s) BOOST_PP_WHILE_207_I(p, o, s)\r
+# define BOOST_PP_WHILE_208(p, o, s) BOOST_PP_WHILE_208_I(p, o, s)\r
+# define BOOST_PP_WHILE_209(p, o, s) BOOST_PP_WHILE_209_I(p, o, s)\r
+# define BOOST_PP_WHILE_210(p, o, s) BOOST_PP_WHILE_210_I(p, o, s)\r
+# define BOOST_PP_WHILE_211(p, o, s) BOOST_PP_WHILE_211_I(p, o, s)\r
+# define BOOST_PP_WHILE_212(p, o, s) BOOST_PP_WHILE_212_I(p, o, s)\r
+# define BOOST_PP_WHILE_213(p, o, s) BOOST_PP_WHILE_213_I(p, o, s)\r
+# define BOOST_PP_WHILE_214(p, o, s) BOOST_PP_WHILE_214_I(p, o, s)\r
+# define BOOST_PP_WHILE_215(p, o, s) BOOST_PP_WHILE_215_I(p, o, s)\r
+# define BOOST_PP_WHILE_216(p, o, s) BOOST_PP_WHILE_216_I(p, o, s)\r
+# define BOOST_PP_WHILE_217(p, o, s) BOOST_PP_WHILE_217_I(p, o, s)\r
+# define BOOST_PP_WHILE_218(p, o, s) BOOST_PP_WHILE_218_I(p, o, s)\r
+# define BOOST_PP_WHILE_219(p, o, s) BOOST_PP_WHILE_219_I(p, o, s)\r
+# define BOOST_PP_WHILE_220(p, o, s) BOOST_PP_WHILE_220_I(p, o, s)\r
+# define BOOST_PP_WHILE_221(p, o, s) BOOST_PP_WHILE_221_I(p, o, s)\r
+# define BOOST_PP_WHILE_222(p, o, s) BOOST_PP_WHILE_222_I(p, o, s)\r
+# define BOOST_PP_WHILE_223(p, o, s) BOOST_PP_WHILE_223_I(p, o, s)\r
+# define BOOST_PP_WHILE_224(p, o, s) BOOST_PP_WHILE_224_I(p, o, s)\r
+# define BOOST_PP_WHILE_225(p, o, s) BOOST_PP_WHILE_225_I(p, o, s)\r
+# define BOOST_PP_WHILE_226(p, o, s) BOOST_PP_WHILE_226_I(p, o, s)\r
+# define BOOST_PP_WHILE_227(p, o, s) BOOST_PP_WHILE_227_I(p, o, s)\r
+# define BOOST_PP_WHILE_228(p, o, s) BOOST_PP_WHILE_228_I(p, o, s)\r
+# define BOOST_PP_WHILE_229(p, o, s) BOOST_PP_WHILE_229_I(p, o, s)\r
+# define BOOST_PP_WHILE_230(p, o, s) BOOST_PP_WHILE_230_I(p, o, s)\r
+# define BOOST_PP_WHILE_231(p, o, s) BOOST_PP_WHILE_231_I(p, o, s)\r
+# define BOOST_PP_WHILE_232(p, o, s) BOOST_PP_WHILE_232_I(p, o, s)\r
+# define BOOST_PP_WHILE_233(p, o, s) BOOST_PP_WHILE_233_I(p, o, s)\r
+# define BOOST_PP_WHILE_234(p, o, s) BOOST_PP_WHILE_234_I(p, o, s)\r
+# define BOOST_PP_WHILE_235(p, o, s) BOOST_PP_WHILE_235_I(p, o, s)\r
+# define BOOST_PP_WHILE_236(p, o, s) BOOST_PP_WHILE_236_I(p, o, s)\r
+# define BOOST_PP_WHILE_237(p, o, s) BOOST_PP_WHILE_237_I(p, o, s)\r
+# define BOOST_PP_WHILE_238(p, o, s) BOOST_PP_WHILE_238_I(p, o, s)\r
+# define BOOST_PP_WHILE_239(p, o, s) BOOST_PP_WHILE_239_I(p, o, s)\r
+# define BOOST_PP_WHILE_240(p, o, s) BOOST_PP_WHILE_240_I(p, o, s)\r
+# define BOOST_PP_WHILE_241(p, o, s) BOOST_PP_WHILE_241_I(p, o, s)\r
+# define BOOST_PP_WHILE_242(p, o, s) BOOST_PP_WHILE_242_I(p, o, s)\r
+# define BOOST_PP_WHILE_243(p, o, s) BOOST_PP_WHILE_243_I(p, o, s)\r
+# define BOOST_PP_WHILE_244(p, o, s) BOOST_PP_WHILE_244_I(p, o, s)\r
+# define BOOST_PP_WHILE_245(p, o, s) BOOST_PP_WHILE_245_I(p, o, s)\r
+# define BOOST_PP_WHILE_246(p, o, s) BOOST_PP_WHILE_246_I(p, o, s)\r
+# define BOOST_PP_WHILE_247(p, o, s) BOOST_PP_WHILE_247_I(p, o, s)\r
+# define BOOST_PP_WHILE_248(p, o, s) BOOST_PP_WHILE_248_I(p, o, s)\r
+# define BOOST_PP_WHILE_249(p, o, s) BOOST_PP_WHILE_249_I(p, o, s)\r
+# define BOOST_PP_WHILE_250(p, o, s) BOOST_PP_WHILE_250_I(p, o, s)\r
+# define BOOST_PP_WHILE_251(p, o, s) BOOST_PP_WHILE_251_I(p, o, s)\r
+# define BOOST_PP_WHILE_252(p, o, s) BOOST_PP_WHILE_252_I(p, o, s)\r
+# define BOOST_PP_WHILE_253(p, o, s) BOOST_PP_WHILE_253_I(p, o, s)\r
+# define BOOST_PP_WHILE_254(p, o, s) BOOST_PP_WHILE_254_I(p, o, s)\r
+# define BOOST_PP_WHILE_255(p, o, s) BOOST_PP_WHILE_255_I(p, o, s)\r
+# define BOOST_PP_WHILE_256(p, o, s) BOOST_PP_WHILE_256_I(p, o, s)\r
+#\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+#\r
+# endif\r
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 (file)
index 0000000..e3cc685
--- /dev/null
@@ -0,0 +1,277 @@
+# /* Copyright (C) 2001\r
+#  * Housemarque Oy\r
+#  * http://www.housemarque.com\r
+#  *\r
+#  * Distributed under the Boost Software License, Version 1.0. (See\r
+#  * accompanying file LICENSE_1_0.txt or copy at\r
+#  * http://www.boost.org/LICENSE_1_0.txt)\r
+#  */\r
+#\r
+# /* Revised by Paul Mensonides (2002) */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_CONTROL_DETAIL_MSVC_WHILE_HPP\r
+# define BOOST_PREPROCESSOR_CONTROL_DETAIL_MSVC_WHILE_HPP\r
+#\r
+# include <boost/preprocessor/control/if.hpp>\r
+# include <boost/preprocessor/tuple/eat.hpp>\r
+#\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+#\r
+# endif\r
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 (file)
index 0000000..1196c91
--- /dev/null
@@ -0,0 +1,536 @@
+# /* Copyright (C) 2001\r
+#  * Housemarque Oy\r
+#  * http://www.housemarque.com\r
+#  *\r
+#  * Distributed under the Boost Software License, Version 1.0. (See\r
+#  * accompanying file LICENSE_1_0.txt or copy at\r
+#  * http://www.boost.org/LICENSE_1_0.txt)\r
+#  */\r
+#\r
+# /* Revised by Paul Mensonides (2002) */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_CONTROL_DETAIL_WHILE_HPP\r
+# define BOOST_PREPROCESSOR_CONTROL_DETAIL_WHILE_HPP\r
+#\r
+# include <boost/preprocessor/control/iif.hpp>\r
+# include <boost/preprocessor/logical/bool.hpp>\r
+# include <boost/preprocessor/tuple/eat.hpp>\r
+#\r
+# define BOOST_PP_WHILE_1(p, o, s) BOOST_PP_WHILE_1_C(BOOST_PP_BOOL(p(2, s)), p, o, s)\r
+# define BOOST_PP_WHILE_2(p, o, s) BOOST_PP_WHILE_2_C(BOOST_PP_BOOL(p(3, s)), p, o, s)\r
+# define BOOST_PP_WHILE_3(p, o, s) BOOST_PP_WHILE_3_C(BOOST_PP_BOOL(p(4, s)), p, o, s)\r
+# define BOOST_PP_WHILE_4(p, o, s) BOOST_PP_WHILE_4_C(BOOST_PP_BOOL(p(5, s)), p, o, s)\r
+# define BOOST_PP_WHILE_5(p, o, s) BOOST_PP_WHILE_5_C(BOOST_PP_BOOL(p(6, s)), p, o, s)\r
+# define BOOST_PP_WHILE_6(p, o, s) BOOST_PP_WHILE_6_C(BOOST_PP_BOOL(p(7, s)), p, o, s)\r
+# define BOOST_PP_WHILE_7(p, o, s) BOOST_PP_WHILE_7_C(BOOST_PP_BOOL(p(8, s)), p, o, s)\r
+# define BOOST_PP_WHILE_8(p, o, s) BOOST_PP_WHILE_8_C(BOOST_PP_BOOL(p(9, s)), p, o, s)\r
+# define BOOST_PP_WHILE_9(p, o, s) BOOST_PP_WHILE_9_C(BOOST_PP_BOOL(p(10, s)), p, o, s)\r
+# define BOOST_PP_WHILE_10(p, o, s) BOOST_PP_WHILE_10_C(BOOST_PP_BOOL(p(11, s)), p, o, s)\r
+# define BOOST_PP_WHILE_11(p, o, s) BOOST_PP_WHILE_11_C(BOOST_PP_BOOL(p(12, s)), p, o, s)\r
+# define BOOST_PP_WHILE_12(p, o, s) BOOST_PP_WHILE_12_C(BOOST_PP_BOOL(p(13, s)), p, o, s)\r
+# define BOOST_PP_WHILE_13(p, o, s) BOOST_PP_WHILE_13_C(BOOST_PP_BOOL(p(14, s)), p, o, s)\r
+# define BOOST_PP_WHILE_14(p, o, s) BOOST_PP_WHILE_14_C(BOOST_PP_BOOL(p(15, s)), p, o, s)\r
+# define BOOST_PP_WHILE_15(p, o, s) BOOST_PP_WHILE_15_C(BOOST_PP_BOOL(p(16, s)), p, o, s)\r
+# define BOOST_PP_WHILE_16(p, o, s) BOOST_PP_WHILE_16_C(BOOST_PP_BOOL(p(17, s)), p, o, s)\r
+# define BOOST_PP_WHILE_17(p, o, s) BOOST_PP_WHILE_17_C(BOOST_PP_BOOL(p(18, s)), p, o, s)\r
+# define BOOST_PP_WHILE_18(p, o, s) BOOST_PP_WHILE_18_C(BOOST_PP_BOOL(p(19, s)), p, o, s)\r
+# define BOOST_PP_WHILE_19(p, o, s) BOOST_PP_WHILE_19_C(BOOST_PP_BOOL(p(20, s)), p, o, s)\r
+# define BOOST_PP_WHILE_20(p, o, s) BOOST_PP_WHILE_20_C(BOOST_PP_BOOL(p(21, s)), p, o, s)\r
+# define BOOST_PP_WHILE_21(p, o, s) BOOST_PP_WHILE_21_C(BOOST_PP_BOOL(p(22, s)), p, o, s)\r
+# define BOOST_PP_WHILE_22(p, o, s) BOOST_PP_WHILE_22_C(BOOST_PP_BOOL(p(23, s)), p, o, s)\r
+# define BOOST_PP_WHILE_23(p, o, s) BOOST_PP_WHILE_23_C(BOOST_PP_BOOL(p(24, s)), p, o, s)\r
+# define BOOST_PP_WHILE_24(p, o, s) BOOST_PP_WHILE_24_C(BOOST_PP_BOOL(p(25, s)), p, o, s)\r
+# define BOOST_PP_WHILE_25(p, o, s) BOOST_PP_WHILE_25_C(BOOST_PP_BOOL(p(26, s)), p, o, s)\r
+# define BOOST_PP_WHILE_26(p, o, s) BOOST_PP_WHILE_26_C(BOOST_PP_BOOL(p(27, s)), p, o, s)\r
+# define BOOST_PP_WHILE_27(p, o, s) BOOST_PP_WHILE_27_C(BOOST_PP_BOOL(p(28, s)), p, o, s)\r
+# define BOOST_PP_WHILE_28(p, o, s) BOOST_PP_WHILE_28_C(BOOST_PP_BOOL(p(29, s)), p, o, s)\r
+# define BOOST_PP_WHILE_29(p, o, s) BOOST_PP_WHILE_29_C(BOOST_PP_BOOL(p(30, s)), p, o, s)\r
+# define BOOST_PP_WHILE_30(p, o, s) BOOST_PP_WHILE_30_C(BOOST_PP_BOOL(p(31, s)), p, o, s)\r
+# define BOOST_PP_WHILE_31(p, o, s) BOOST_PP_WHILE_31_C(BOOST_PP_BOOL(p(32, s)), p, o, s)\r
+# define BOOST_PP_WHILE_32(p, o, s) BOOST_PP_WHILE_32_C(BOOST_PP_BOOL(p(33, s)), p, o, s)\r
+# define BOOST_PP_WHILE_33(p, o, s) BOOST_PP_WHILE_33_C(BOOST_PP_BOOL(p(34, s)), p, o, s)\r
+# define BOOST_PP_WHILE_34(p, o, s) BOOST_PP_WHILE_34_C(BOOST_PP_BOOL(p(35, s)), p, o, s)\r
+# define BOOST_PP_WHILE_35(p, o, s) BOOST_PP_WHILE_35_C(BOOST_PP_BOOL(p(36, s)), p, o, s)\r
+# define BOOST_PP_WHILE_36(p, o, s) BOOST_PP_WHILE_36_C(BOOST_PP_BOOL(p(37, s)), p, o, s)\r
+# define BOOST_PP_WHILE_37(p, o, s) BOOST_PP_WHILE_37_C(BOOST_PP_BOOL(p(38, s)), p, o, s)\r
+# define BOOST_PP_WHILE_38(p, o, s) BOOST_PP_WHILE_38_C(BOOST_PP_BOOL(p(39, s)), p, o, s)\r
+# define BOOST_PP_WHILE_39(p, o, s) BOOST_PP_WHILE_39_C(BOOST_PP_BOOL(p(40, s)), p, o, s)\r
+# define BOOST_PP_WHILE_40(p, o, s) BOOST_PP_WHILE_40_C(BOOST_PP_BOOL(p(41, s)), p, o, s)\r
+# define BOOST_PP_WHILE_41(p, o, s) BOOST_PP_WHILE_41_C(BOOST_PP_BOOL(p(42, s)), p, o, s)\r
+# define BOOST_PP_WHILE_42(p, o, s) BOOST_PP_WHILE_42_C(BOOST_PP_BOOL(p(43, s)), p, o, s)\r
+# define BOOST_PP_WHILE_43(p, o, s) BOOST_PP_WHILE_43_C(BOOST_PP_BOOL(p(44, s)), p, o, s)\r
+# define BOOST_PP_WHILE_44(p, o, s) BOOST_PP_WHILE_44_C(BOOST_PP_BOOL(p(45, s)), p, o, s)\r
+# define BOOST_PP_WHILE_45(p, o, s) BOOST_PP_WHILE_45_C(BOOST_PP_BOOL(p(46, s)), p, o, s)\r
+# define BOOST_PP_WHILE_46(p, o, s) BOOST_PP_WHILE_46_C(BOOST_PP_BOOL(p(47, s)), p, o, s)\r
+# define BOOST_PP_WHILE_47(p, o, s) BOOST_PP_WHILE_47_C(BOOST_PP_BOOL(p(48, s)), p, o, s)\r
+# define BOOST_PP_WHILE_48(p, o, s) BOOST_PP_WHILE_48_C(BOOST_PP_BOOL(p(49, s)), p, o, s)\r
+# define BOOST_PP_WHILE_49(p, o, s) BOOST_PP_WHILE_49_C(BOOST_PP_BOOL(p(50, s)), p, o, s)\r
+# define BOOST_PP_WHILE_50(p, o, s) BOOST_PP_WHILE_50_C(BOOST_PP_BOOL(p(51, s)), p, o, s)\r
+# define BOOST_PP_WHILE_51(p, o, s) BOOST_PP_WHILE_51_C(BOOST_PP_BOOL(p(52, s)), p, o, s)\r
+# define BOOST_PP_WHILE_52(p, o, s) BOOST_PP_WHILE_52_C(BOOST_PP_BOOL(p(53, s)), p, o, s)\r
+# define BOOST_PP_WHILE_53(p, o, s) BOOST_PP_WHILE_53_C(BOOST_PP_BOOL(p(54, s)), p, o, s)\r
+# define BOOST_PP_WHILE_54(p, o, s) BOOST_PP_WHILE_54_C(BOOST_PP_BOOL(p(55, s)), p, o, s)\r
+# define BOOST_PP_WHILE_55(p, o, s) BOOST_PP_WHILE_55_C(BOOST_PP_BOOL(p(56, s)), p, o, s)\r
+# define BOOST_PP_WHILE_56(p, o, s) BOOST_PP_WHILE_56_C(BOOST_PP_BOOL(p(57, s)), p, o, s)\r
+# define BOOST_PP_WHILE_57(p, o, s) BOOST_PP_WHILE_57_C(BOOST_PP_BOOL(p(58, s)), p, o, s)\r
+# define BOOST_PP_WHILE_58(p, o, s) BOOST_PP_WHILE_58_C(BOOST_PP_BOOL(p(59, s)), p, o, s)\r
+# define BOOST_PP_WHILE_59(p, o, s) BOOST_PP_WHILE_59_C(BOOST_PP_BOOL(p(60, s)), p, o, s)\r
+# define BOOST_PP_WHILE_60(p, o, s) BOOST_PP_WHILE_60_C(BOOST_PP_BOOL(p(61, s)), p, o, s)\r
+# define BOOST_PP_WHILE_61(p, o, s) BOOST_PP_WHILE_61_C(BOOST_PP_BOOL(p(62, s)), p, o, s)\r
+# define BOOST_PP_WHILE_62(p, o, s) BOOST_PP_WHILE_62_C(BOOST_PP_BOOL(p(63, s)), p, o, s)\r
+# define BOOST_PP_WHILE_63(p, o, s) BOOST_PP_WHILE_63_C(BOOST_PP_BOOL(p(64, s)), p, o, s)\r
+# define BOOST_PP_WHILE_64(p, o, s) BOOST_PP_WHILE_64_C(BOOST_PP_BOOL(p(65, s)), p, o, s)\r
+# define BOOST_PP_WHILE_65(p, o, s) BOOST_PP_WHILE_65_C(BOOST_PP_BOOL(p(66, s)), p, o, s)\r
+# define BOOST_PP_WHILE_66(p, o, s) BOOST_PP_WHILE_66_C(BOOST_PP_BOOL(p(67, s)), p, o, s)\r
+# define BOOST_PP_WHILE_67(p, o, s) BOOST_PP_WHILE_67_C(BOOST_PP_BOOL(p(68, s)), p, o, s)\r
+# define BOOST_PP_WHILE_68(p, o, s) BOOST_PP_WHILE_68_C(BOOST_PP_BOOL(p(69, s)), p, o, s)\r
+# define BOOST_PP_WHILE_69(p, o, s) BOOST_PP_WHILE_69_C(BOOST_PP_BOOL(p(70, s)), p, o, s)\r
+# define BOOST_PP_WHILE_70(p, o, s) BOOST_PP_WHILE_70_C(BOOST_PP_BOOL(p(71, s)), p, o, s)\r
+# define BOOST_PP_WHILE_71(p, o, s) BOOST_PP_WHILE_71_C(BOOST_PP_BOOL(p(72, s)), p, o, s)\r
+# define BOOST_PP_WHILE_72(p, o, s) BOOST_PP_WHILE_72_C(BOOST_PP_BOOL(p(73, s)), p, o, s)\r
+# define BOOST_PP_WHILE_73(p, o, s) BOOST_PP_WHILE_73_C(BOOST_PP_BOOL(p(74, s)), p, o, s)\r
+# define BOOST_PP_WHILE_74(p, o, s) BOOST_PP_WHILE_74_C(BOOST_PP_BOOL(p(75, s)), p, o, s)\r
+# define BOOST_PP_WHILE_75(p, o, s) BOOST_PP_WHILE_75_C(BOOST_PP_BOOL(p(76, s)), p, o, s)\r
+# define BOOST_PP_WHILE_76(p, o, s) BOOST_PP_WHILE_76_C(BOOST_PP_BOOL(p(77, s)), p, o, s)\r
+# define BOOST_PP_WHILE_77(p, o, s) BOOST_PP_WHILE_77_C(BOOST_PP_BOOL(p(78, s)), p, o, s)\r
+# define BOOST_PP_WHILE_78(p, o, s) BOOST_PP_WHILE_78_C(BOOST_PP_BOOL(p(79, s)), p, o, s)\r
+# define BOOST_PP_WHILE_79(p, o, s) BOOST_PP_WHILE_79_C(BOOST_PP_BOOL(p(80, s)), p, o, s)\r
+# define BOOST_PP_WHILE_80(p, o, s) BOOST_PP_WHILE_80_C(BOOST_PP_BOOL(p(81, s)), p, o, s)\r
+# define BOOST_PP_WHILE_81(p, o, s) BOOST_PP_WHILE_81_C(BOOST_PP_BOOL(p(82, s)), p, o, s)\r
+# define BOOST_PP_WHILE_82(p, o, s) BOOST_PP_WHILE_82_C(BOOST_PP_BOOL(p(83, s)), p, o, s)\r
+# define BOOST_PP_WHILE_83(p, o, s) BOOST_PP_WHILE_83_C(BOOST_PP_BOOL(p(84, s)), p, o, s)\r
+# define BOOST_PP_WHILE_84(p, o, s) BOOST_PP_WHILE_84_C(BOOST_PP_BOOL(p(85, s)), p, o, s)\r
+# define BOOST_PP_WHILE_85(p, o, s) BOOST_PP_WHILE_85_C(BOOST_PP_BOOL(p(86, s)), p, o, s)\r
+# define BOOST_PP_WHILE_86(p, o, s) BOOST_PP_WHILE_86_C(BOOST_PP_BOOL(p(87, s)), p, o, s)\r
+# define BOOST_PP_WHILE_87(p, o, s) BOOST_PP_WHILE_87_C(BOOST_PP_BOOL(p(88, s)), p, o, s)\r
+# define BOOST_PP_WHILE_88(p, o, s) BOOST_PP_WHILE_88_C(BOOST_PP_BOOL(p(89, s)), p, o, s)\r
+# define BOOST_PP_WHILE_89(p, o, s) BOOST_PP_WHILE_89_C(BOOST_PP_BOOL(p(90, s)), p, o, s)\r
+# define BOOST_PP_WHILE_90(p, o, s) BOOST_PP_WHILE_90_C(BOOST_PP_BOOL(p(91, s)), p, o, s)\r
+# define BOOST_PP_WHILE_91(p, o, s) BOOST_PP_WHILE_91_C(BOOST_PP_BOOL(p(92, s)), p, o, s)\r
+# define BOOST_PP_WHILE_92(p, o, s) BOOST_PP_WHILE_92_C(BOOST_PP_BOOL(p(93, s)), p, o, s)\r
+# define BOOST_PP_WHILE_93(p, o, s) BOOST_PP_WHILE_93_C(BOOST_PP_BOOL(p(94, s)), p, o, s)\r
+# define BOOST_PP_WHILE_94(p, o, s) BOOST_PP_WHILE_94_C(BOOST_PP_BOOL(p(95, s)), p, o, s)\r
+# define BOOST_PP_WHILE_95(p, o, s) BOOST_PP_WHILE_95_C(BOOST_PP_BOOL(p(96, s)), p, o, s)\r
+# define BOOST_PP_WHILE_96(p, o, s) BOOST_PP_WHILE_96_C(BOOST_PP_BOOL(p(97, s)), p, o, s)\r
+# define BOOST_PP_WHILE_97(p, o, s) BOOST_PP_WHILE_97_C(BOOST_PP_BOOL(p(98, s)), p, o, s)\r
+# define BOOST_PP_WHILE_98(p, o, s) BOOST_PP_WHILE_98_C(BOOST_PP_BOOL(p(99, s)), p, o, s)\r
+# define BOOST_PP_WHILE_99(p, o, s) BOOST_PP_WHILE_99_C(BOOST_PP_BOOL(p(100, s)), p, o, s)\r
+# define BOOST_PP_WHILE_100(p, o, s) BOOST_PP_WHILE_100_C(BOOST_PP_BOOL(p(101, s)), p, o, s)\r
+# define BOOST_PP_WHILE_101(p, o, s) BOOST_PP_WHILE_101_C(BOOST_PP_BOOL(p(102, s)), p, o, s)\r
+# define BOOST_PP_WHILE_102(p, o, s) BOOST_PP_WHILE_102_C(BOOST_PP_BOOL(p(103, s)), p, o, s)\r
+# define BOOST_PP_WHILE_103(p, o, s) BOOST_PP_WHILE_103_C(BOOST_PP_BOOL(p(104, s)), p, o, s)\r
+# define BOOST_PP_WHILE_104(p, o, s) BOOST_PP_WHILE_104_C(BOOST_PP_BOOL(p(105, s)), p, o, s)\r
+# define BOOST_PP_WHILE_105(p, o, s) BOOST_PP_WHILE_105_C(BOOST_PP_BOOL(p(106, s)), p, o, s)\r
+# define BOOST_PP_WHILE_106(p, o, s) BOOST_PP_WHILE_106_C(BOOST_PP_BOOL(p(107, s)), p, o, s)\r
+# define BOOST_PP_WHILE_107(p, o, s) BOOST_PP_WHILE_107_C(BOOST_PP_BOOL(p(108, s)), p, o, s)\r
+# define BOOST_PP_WHILE_108(p, o, s) BOOST_PP_WHILE_108_C(BOOST_PP_BOOL(p(109, s)), p, o, s)\r
+# define BOOST_PP_WHILE_109(p, o, s) BOOST_PP_WHILE_109_C(BOOST_PP_BOOL(p(110, s)), p, o, s)\r
+# define BOOST_PP_WHILE_110(p, o, s) BOOST_PP_WHILE_110_C(BOOST_PP_BOOL(p(111, s)), p, o, s)\r
+# define BOOST_PP_WHILE_111(p, o, s) BOOST_PP_WHILE_111_C(BOOST_PP_BOOL(p(112, s)), p, o, s)\r
+# define BOOST_PP_WHILE_112(p, o, s) BOOST_PP_WHILE_112_C(BOOST_PP_BOOL(p(113, s)), p, o, s)\r
+# define BOOST_PP_WHILE_113(p, o, s) BOOST_PP_WHILE_113_C(BOOST_PP_BOOL(p(114, s)), p, o, s)\r
+# define BOOST_PP_WHILE_114(p, o, s) BOOST_PP_WHILE_114_C(BOOST_PP_BOOL(p(115, s)), p, o, s)\r
+# define BOOST_PP_WHILE_115(p, o, s) BOOST_PP_WHILE_115_C(BOOST_PP_BOOL(p(116, s)), p, o, s)\r
+# define BOOST_PP_WHILE_116(p, o, s) BOOST_PP_WHILE_116_C(BOOST_PP_BOOL(p(117, s)), p, o, s)\r
+# define BOOST_PP_WHILE_117(p, o, s) BOOST_PP_WHILE_117_C(BOOST_PP_BOOL(p(118, s)), p, o, s)\r
+# define BOOST_PP_WHILE_118(p, o, s) BOOST_PP_WHILE_118_C(BOOST_PP_BOOL(p(119, s)), p, o, s)\r
+# define BOOST_PP_WHILE_119(p, o, s) BOOST_PP_WHILE_119_C(BOOST_PP_BOOL(p(120, s)), p, o, s)\r
+# define BOOST_PP_WHILE_120(p, o, s) BOOST_PP_WHILE_120_C(BOOST_PP_BOOL(p(121, s)), p, o, s)\r
+# define BOOST_PP_WHILE_121(p, o, s) BOOST_PP_WHILE_121_C(BOOST_PP_BOOL(p(122, s)), p, o, s)\r
+# define BOOST_PP_WHILE_122(p, o, s) BOOST_PP_WHILE_122_C(BOOST_PP_BOOL(p(123, s)), p, o, s)\r
+# define BOOST_PP_WHILE_123(p, o, s) BOOST_PP_WHILE_123_C(BOOST_PP_BOOL(p(124, s)), p, o, s)\r
+# define BOOST_PP_WHILE_124(p, o, s) BOOST_PP_WHILE_124_C(BOOST_PP_BOOL(p(125, s)), p, o, s)\r
+# define BOOST_PP_WHILE_125(p, o, s) BOOST_PP_WHILE_125_C(BOOST_PP_BOOL(p(126, s)), p, o, s)\r
+# define BOOST_PP_WHILE_126(p, o, s) BOOST_PP_WHILE_126_C(BOOST_PP_BOOL(p(127, s)), p, o, s)\r
+# define BOOST_PP_WHILE_127(p, o, s) BOOST_PP_WHILE_127_C(BOOST_PP_BOOL(p(128, s)), p, o, s)\r
+# define BOOST_PP_WHILE_128(p, o, s) BOOST_PP_WHILE_128_C(BOOST_PP_BOOL(p(129, s)), p, o, s)\r
+# define BOOST_PP_WHILE_129(p, o, s) BOOST_PP_WHILE_129_C(BOOST_PP_BOOL(p(130, s)), p, o, s)\r
+# define BOOST_PP_WHILE_130(p, o, s) BOOST_PP_WHILE_130_C(BOOST_PP_BOOL(p(131, s)), p, o, s)\r
+# define BOOST_PP_WHILE_131(p, o, s) BOOST_PP_WHILE_131_C(BOOST_PP_BOOL(p(132, s)), p, o, s)\r
+# define BOOST_PP_WHILE_132(p, o, s) BOOST_PP_WHILE_132_C(BOOST_PP_BOOL(p(133, s)), p, o, s)\r
+# define BOOST_PP_WHILE_133(p, o, s) BOOST_PP_WHILE_133_C(BOOST_PP_BOOL(p(134, s)), p, o, s)\r
+# define BOOST_PP_WHILE_134(p, o, s) BOOST_PP_WHILE_134_C(BOOST_PP_BOOL(p(135, s)), p, o, s)\r
+# define BOOST_PP_WHILE_135(p, o, s) BOOST_PP_WHILE_135_C(BOOST_PP_BOOL(p(136, s)), p, o, s)\r
+# define BOOST_PP_WHILE_136(p, o, s) BOOST_PP_WHILE_136_C(BOOST_PP_BOOL(p(137, s)), p, o, s)\r
+# define BOOST_PP_WHILE_137(p, o, s) BOOST_PP_WHILE_137_C(BOOST_PP_BOOL(p(138, s)), p, o, s)\r
+# define BOOST_PP_WHILE_138(p, o, s) BOOST_PP_WHILE_138_C(BOOST_PP_BOOL(p(139, s)), p, o, s)\r
+# define BOOST_PP_WHILE_139(p, o, s) BOOST_PP_WHILE_139_C(BOOST_PP_BOOL(p(140, s)), p, o, s)\r
+# define BOOST_PP_WHILE_140(p, o, s) BOOST_PP_WHILE_140_C(BOOST_PP_BOOL(p(141, s)), p, o, s)\r
+# define BOOST_PP_WHILE_141(p, o, s) BOOST_PP_WHILE_141_C(BOOST_PP_BOOL(p(142, s)), p, o, s)\r
+# define BOOST_PP_WHILE_142(p, o, s) BOOST_PP_WHILE_142_C(BOOST_PP_BOOL(p(143, s)), p, o, s)\r
+# define BOOST_PP_WHILE_143(p, o, s) BOOST_PP_WHILE_143_C(BOOST_PP_BOOL(p(144, s)), p, o, s)\r
+# define BOOST_PP_WHILE_144(p, o, s) BOOST_PP_WHILE_144_C(BOOST_PP_BOOL(p(145, s)), p, o, s)\r
+# define BOOST_PP_WHILE_145(p, o, s) BOOST_PP_WHILE_145_C(BOOST_PP_BOOL(p(146, s)), p, o, s)\r
+# define BOOST_PP_WHILE_146(p, o, s) BOOST_PP_WHILE_146_C(BOOST_PP_BOOL(p(147, s)), p, o, s)\r
+# define BOOST_PP_WHILE_147(p, o, s) BOOST_PP_WHILE_147_C(BOOST_PP_BOOL(p(148, s)), p, o, s)\r
+# define BOOST_PP_WHILE_148(p, o, s) BOOST_PP_WHILE_148_C(BOOST_PP_BOOL(p(149, s)), p, o, s)\r
+# define BOOST_PP_WHILE_149(p, o, s) BOOST_PP_WHILE_149_C(BOOST_PP_BOOL(p(150, s)), p, o, s)\r
+# define BOOST_PP_WHILE_150(p, o, s) BOOST_PP_WHILE_150_C(BOOST_PP_BOOL(p(151, s)), p, o, s)\r
+# define BOOST_PP_WHILE_151(p, o, s) BOOST_PP_WHILE_151_C(BOOST_PP_BOOL(p(152, s)), p, o, s)\r
+# define BOOST_PP_WHILE_152(p, o, s) BOOST_PP_WHILE_152_C(BOOST_PP_BOOL(p(153, s)), p, o, s)\r
+# define BOOST_PP_WHILE_153(p, o, s) BOOST_PP_WHILE_153_C(BOOST_PP_BOOL(p(154, s)), p, o, s)\r
+# define BOOST_PP_WHILE_154(p, o, s) BOOST_PP_WHILE_154_C(BOOST_PP_BOOL(p(155, s)), p, o, s)\r
+# define BOOST_PP_WHILE_155(p, o, s) BOOST_PP_WHILE_155_C(BOOST_PP_BOOL(p(156, s)), p, o, s)\r
+# define BOOST_PP_WHILE_156(p, o, s) BOOST_PP_WHILE_156_C(BOOST_PP_BOOL(p(157, s)), p, o, s)\r
+# define BOOST_PP_WHILE_157(p, o, s) BOOST_PP_WHILE_157_C(BOOST_PP_BOOL(p(158, s)), p, o, s)\r
+# define BOOST_PP_WHILE_158(p, o, s) BOOST_PP_WHILE_158_C(BOOST_PP_BOOL(p(159, s)), p, o, s)\r
+# define BOOST_PP_WHILE_159(p, o, s) BOOST_PP_WHILE_159_C(BOOST_PP_BOOL(p(160, s)), p, o, s)\r
+# define BOOST_PP_WHILE_160(p, o, s) BOOST_PP_WHILE_160_C(BOOST_PP_BOOL(p(161, s)), p, o, s)\r
+# define BOOST_PP_WHILE_161(p, o, s) BOOST_PP_WHILE_161_C(BOOST_PP_BOOL(p(162, s)), p, o, s)\r
+# define BOOST_PP_WHILE_162(p, o, s) BOOST_PP_WHILE_162_C(BOOST_PP_BOOL(p(163, s)), p, o, s)\r
+# define BOOST_PP_WHILE_163(p, o, s) BOOST_PP_WHILE_163_C(BOOST_PP_BOOL(p(164, s)), p, o, s)\r
+# define BOOST_PP_WHILE_164(p, o, s) BOOST_PP_WHILE_164_C(BOOST_PP_BOOL(p(165, s)), p, o, s)\r
+# define BOOST_PP_WHILE_165(p, o, s) BOOST_PP_WHILE_165_C(BOOST_PP_BOOL(p(166, s)), p, o, s)\r
+# define BOOST_PP_WHILE_166(p, o, s) BOOST_PP_WHILE_166_C(BOOST_PP_BOOL(p(167, s)), p, o, s)\r
+# define BOOST_PP_WHILE_167(p, o, s) BOOST_PP_WHILE_167_C(BOOST_PP_BOOL(p(168, s)), p, o, s)\r
+# define BOOST_PP_WHILE_168(p, o, s) BOOST_PP_WHILE_168_C(BOOST_PP_BOOL(p(169, s)), p, o, s)\r
+# define BOOST_PP_WHILE_169(p, o, s) BOOST_PP_WHILE_169_C(BOOST_PP_BOOL(p(170, s)), p, o, s)\r
+# define BOOST_PP_WHILE_170(p, o, s) BOOST_PP_WHILE_170_C(BOOST_PP_BOOL(p(171, s)), p, o, s)\r
+# define BOOST_PP_WHILE_171(p, o, s) BOOST_PP_WHILE_171_C(BOOST_PP_BOOL(p(172, s)), p, o, s)\r
+# define BOOST_PP_WHILE_172(p, o, s) BOOST_PP_WHILE_172_C(BOOST_PP_BOOL(p(173, s)), p, o, s)\r
+# define BOOST_PP_WHILE_173(p, o, s) BOOST_PP_WHILE_173_C(BOOST_PP_BOOL(p(174, s)), p, o, s)\r
+# define BOOST_PP_WHILE_174(p, o, s) BOOST_PP_WHILE_174_C(BOOST_PP_BOOL(p(175, s)), p, o, s)\r
+# define BOOST_PP_WHILE_175(p, o, s) BOOST_PP_WHILE_175_C(BOOST_PP_BOOL(p(176, s)), p, o, s)\r
+# define BOOST_PP_WHILE_176(p, o, s) BOOST_PP_WHILE_176_C(BOOST_PP_BOOL(p(177, s)), p, o, s)\r
+# define BOOST_PP_WHILE_177(p, o, s) BOOST_PP_WHILE_177_C(BOOST_PP_BOOL(p(178, s)), p, o, s)\r
+# define BOOST_PP_WHILE_178(p, o, s) BOOST_PP_WHILE_178_C(BOOST_PP_BOOL(p(179, s)), p, o, s)\r
+# define BOOST_PP_WHILE_179(p, o, s) BOOST_PP_WHILE_179_C(BOOST_PP_BOOL(p(180, s)), p, o, s)\r
+# define BOOST_PP_WHILE_180(p, o, s) BOOST_PP_WHILE_180_C(BOOST_PP_BOOL(p(181, s)), p, o, s)\r
+# define BOOST_PP_WHILE_181(p, o, s) BOOST_PP_WHILE_181_C(BOOST_PP_BOOL(p(182, s)), p, o, s)\r
+# define BOOST_PP_WHILE_182(p, o, s) BOOST_PP_WHILE_182_C(BOOST_PP_BOOL(p(183, s)), p, o, s)\r
+# define BOOST_PP_WHILE_183(p, o, s) BOOST_PP_WHILE_183_C(BOOST_PP_BOOL(p(184, s)), p, o, s)\r
+# define BOOST_PP_WHILE_184(p, o, s) BOOST_PP_WHILE_184_C(BOOST_PP_BOOL(p(185, s)), p, o, s)\r
+# define BOOST_PP_WHILE_185(p, o, s) BOOST_PP_WHILE_185_C(BOOST_PP_BOOL(p(186, s)), p, o, s)\r
+# define BOOST_PP_WHILE_186(p, o, s) BOOST_PP_WHILE_186_C(BOOST_PP_BOOL(p(187, s)), p, o, s)\r
+# define BOOST_PP_WHILE_187(p, o, s) BOOST_PP_WHILE_187_C(BOOST_PP_BOOL(p(188, s)), p, o, s)\r
+# define BOOST_PP_WHILE_188(p, o, s) BOOST_PP_WHILE_188_C(BOOST_PP_BOOL(p(189, s)), p, o, s)\r
+# define BOOST_PP_WHILE_189(p, o, s) BOOST_PP_WHILE_189_C(BOOST_PP_BOOL(p(190, s)), p, o, s)\r
+# define BOOST_PP_WHILE_190(p, o, s) BOOST_PP_WHILE_190_C(BOOST_PP_BOOL(p(191, s)), p, o, s)\r
+# define BOOST_PP_WHILE_191(p, o, s) BOOST_PP_WHILE_191_C(BOOST_PP_BOOL(p(192, s)), p, o, s)\r
+# define BOOST_PP_WHILE_192(p, o, s) BOOST_PP_WHILE_192_C(BOOST_PP_BOOL(p(193, s)), p, o, s)\r
+# define BOOST_PP_WHILE_193(p, o, s) BOOST_PP_WHILE_193_C(BOOST_PP_BOOL(p(194, s)), p, o, s)\r
+# define BOOST_PP_WHILE_194(p, o, s) BOOST_PP_WHILE_194_C(BOOST_PP_BOOL(p(195, s)), p, o, s)\r
+# define BOOST_PP_WHILE_195(p, o, s) BOOST_PP_WHILE_195_C(BOOST_PP_BOOL(p(196, s)), p, o, s)\r
+# define BOOST_PP_WHILE_196(p, o, s) BOOST_PP_WHILE_196_C(BOOST_PP_BOOL(p(197, s)), p, o, s)\r
+# define BOOST_PP_WHILE_197(p, o, s) BOOST_PP_WHILE_197_C(BOOST_PP_BOOL(p(198, s)), p, o, s)\r
+# define BOOST_PP_WHILE_198(p, o, s) BOOST_PP_WHILE_198_C(BOOST_PP_BOOL(p(199, s)), p, o, s)\r
+# define BOOST_PP_WHILE_199(p, o, s) BOOST_PP_WHILE_199_C(BOOST_PP_BOOL(p(200, s)), p, o, s)\r
+# define BOOST_PP_WHILE_200(p, o, s) BOOST_PP_WHILE_200_C(BOOST_PP_BOOL(p(201, s)), p, o, s)\r
+# define BOOST_PP_WHILE_201(p, o, s) BOOST_PP_WHILE_201_C(BOOST_PP_BOOL(p(202, s)), p, o, s)\r
+# define BOOST_PP_WHILE_202(p, o, s) BOOST_PP_WHILE_202_C(BOOST_PP_BOOL(p(203, s)), p, o, s)\r
+# define BOOST_PP_WHILE_203(p, o, s) BOOST_PP_WHILE_203_C(BOOST_PP_BOOL(p(204, s)), p, o, s)\r
+# define BOOST_PP_WHILE_204(p, o, s) BOOST_PP_WHILE_204_C(BOOST_PP_BOOL(p(205, s)), p, o, s)\r
+# define BOOST_PP_WHILE_205(p, o, s) BOOST_PP_WHILE_205_C(BOOST_PP_BOOL(p(206, s)), p, o, s)\r
+# define BOOST_PP_WHILE_206(p, o, s) BOOST_PP_WHILE_206_C(BOOST_PP_BOOL(p(207, s)), p, o, s)\r
+# define BOOST_PP_WHILE_207(p, o, s) BOOST_PP_WHILE_207_C(BOOST_PP_BOOL(p(208, s)), p, o, s)\r
+# define BOOST_PP_WHILE_208(p, o, s) BOOST_PP_WHILE_208_C(BOOST_PP_BOOL(p(209, s)), p, o, s)\r
+# define BOOST_PP_WHILE_209(p, o, s) BOOST_PP_WHILE_209_C(BOOST_PP_BOOL(p(210, s)), p, o, s)\r
+# define BOOST_PP_WHILE_210(p, o, s) BOOST_PP_WHILE_210_C(BOOST_PP_BOOL(p(211, s)), p, o, s)\r
+# define BOOST_PP_WHILE_211(p, o, s) BOOST_PP_WHILE_211_C(BOOST_PP_BOOL(p(212, s)), p, o, s)\r
+# define BOOST_PP_WHILE_212(p, o, s) BOOST_PP_WHILE_212_C(BOOST_PP_BOOL(p(213, s)), p, o, s)\r
+# define BOOST_PP_WHILE_213(p, o, s) BOOST_PP_WHILE_213_C(BOOST_PP_BOOL(p(214, s)), p, o, s)\r
+# define BOOST_PP_WHILE_214(p, o, s) BOOST_PP_WHILE_214_C(BOOST_PP_BOOL(p(215, s)), p, o, s)\r
+# define BOOST_PP_WHILE_215(p, o, s) BOOST_PP_WHILE_215_C(BOOST_PP_BOOL(p(216, s)), p, o, s)\r
+# define BOOST_PP_WHILE_216(p, o, s) BOOST_PP_WHILE_216_C(BOOST_PP_BOOL(p(217, s)), p, o, s)\r
+# define BOOST_PP_WHILE_217(p, o, s) BOOST_PP_WHILE_217_C(BOOST_PP_BOOL(p(218, s)), p, o, s)\r
+# define BOOST_PP_WHILE_218(p, o, s) BOOST_PP_WHILE_218_C(BOOST_PP_BOOL(p(219, s)), p, o, s)\r
+# define BOOST_PP_WHILE_219(p, o, s) BOOST_PP_WHILE_219_C(BOOST_PP_BOOL(p(220, s)), p, o, s)\r
+# define BOOST_PP_WHILE_220(p, o, s) BOOST_PP_WHILE_220_C(BOOST_PP_BOOL(p(221, s)), p, o, s)\r
+# define BOOST_PP_WHILE_221(p, o, s) BOOST_PP_WHILE_221_C(BOOST_PP_BOOL(p(222, s)), p, o, s)\r
+# define BOOST_PP_WHILE_222(p, o, s) BOOST_PP_WHILE_222_C(BOOST_PP_BOOL(p(223, s)), p, o, s)\r
+# define BOOST_PP_WHILE_223(p, o, s) BOOST_PP_WHILE_223_C(BOOST_PP_BOOL(p(224, s)), p, o, s)\r
+# define BOOST_PP_WHILE_224(p, o, s) BOOST_PP_WHILE_224_C(BOOST_PP_BOOL(p(225, s)), p, o, s)\r
+# define BOOST_PP_WHILE_225(p, o, s) BOOST_PP_WHILE_225_C(BOOST_PP_BOOL(p(226, s)), p, o, s)\r
+# define BOOST_PP_WHILE_226(p, o, s) BOOST_PP_WHILE_226_C(BOOST_PP_BOOL(p(227, s)), p, o, s)\r
+# define BOOST_PP_WHILE_227(p, o, s) BOOST_PP_WHILE_227_C(BOOST_PP_BOOL(p(228, s)), p, o, s)\r
+# define BOOST_PP_WHILE_228(p, o, s) BOOST_PP_WHILE_228_C(BOOST_PP_BOOL(p(229, s)), p, o, s)\r
+# define BOOST_PP_WHILE_229(p, o, s) BOOST_PP_WHILE_229_C(BOOST_PP_BOOL(p(230, s)), p, o, s)\r
+# define BOOST_PP_WHILE_230(p, o, s) BOOST_PP_WHILE_230_C(BOOST_PP_BOOL(p(231, s)), p, o, s)\r
+# define BOOST_PP_WHILE_231(p, o, s) BOOST_PP_WHILE_231_C(BOOST_PP_BOOL(p(232, s)), p, o, s)\r
+# define BOOST_PP_WHILE_232(p, o, s) BOOST_PP_WHILE_232_C(BOOST_PP_BOOL(p(233, s)), p, o, s)\r
+# define BOOST_PP_WHILE_233(p, o, s) BOOST_PP_WHILE_233_C(BOOST_PP_BOOL(p(234, s)), p, o, s)\r
+# define BOOST_PP_WHILE_234(p, o, s) BOOST_PP_WHILE_234_C(BOOST_PP_BOOL(p(235, s)), p, o, s)\r
+# define BOOST_PP_WHILE_235(p, o, s) BOOST_PP_WHILE_235_C(BOOST_PP_BOOL(p(236, s)), p, o, s)\r
+# define BOOST_PP_WHILE_236(p, o, s) BOOST_PP_WHILE_236_C(BOOST_PP_BOOL(p(237, s)), p, o, s)\r
+# define BOOST_PP_WHILE_237(p, o, s) BOOST_PP_WHILE_237_C(BOOST_PP_BOOL(p(238, s)), p, o, s)\r
+# define BOOST_PP_WHILE_238(p, o, s) BOOST_PP_WHILE_238_C(BOOST_PP_BOOL(p(239, s)), p, o, s)\r
+# define BOOST_PP_WHILE_239(p, o, s) BOOST_PP_WHILE_239_C(BOOST_PP_BOOL(p(240, s)), p, o, s)\r
+# define BOOST_PP_WHILE_240(p, o, s) BOOST_PP_WHILE_240_C(BOOST_PP_BOOL(p(241, s)), p, o, s)\r
+# define BOOST_PP_WHILE_241(p, o, s) BOOST_PP_WHILE_241_C(BOOST_PP_BOOL(p(242, s)), p, o, s)\r
+# define BOOST_PP_WHILE_242(p, o, s) BOOST_PP_WHILE_242_C(BOOST_PP_BOOL(p(243, s)), p, o, s)\r
+# define BOOST_PP_WHILE_243(p, o, s) BOOST_PP_WHILE_243_C(BOOST_PP_BOOL(p(244, s)), p, o, s)\r
+# define BOOST_PP_WHILE_244(p, o, s) BOOST_PP_WHILE_244_C(BOOST_PP_BOOL(p(245, s)), p, o, s)\r
+# define BOOST_PP_WHILE_245(p, o, s) BOOST_PP_WHILE_245_C(BOOST_PP_BOOL(p(246, s)), p, o, s)\r
+# define BOOST_PP_WHILE_246(p, o, s) BOOST_PP_WHILE_246_C(BOOST_PP_BOOL(p(247, s)), p, o, s)\r
+# define BOOST_PP_WHILE_247(p, o, s) BOOST_PP_WHILE_247_C(BOOST_PP_BOOL(p(248, s)), p, o, s)\r
+# define BOOST_PP_WHILE_248(p, o, s) BOOST_PP_WHILE_248_C(BOOST_PP_BOOL(p(249, s)), p, o, s)\r
+# define BOOST_PP_WHILE_249(p, o, s) BOOST_PP_WHILE_249_C(BOOST_PP_BOOL(p(250, s)), p, o, s)\r
+# define BOOST_PP_WHILE_250(p, o, s) BOOST_PP_WHILE_250_C(BOOST_PP_BOOL(p(251, s)), p, o, s)\r
+# define BOOST_PP_WHILE_251(p, o, s) BOOST_PP_WHILE_251_C(BOOST_PP_BOOL(p(252, s)), p, o, s)\r
+# define BOOST_PP_WHILE_252(p, o, s) BOOST_PP_WHILE_252_C(BOOST_PP_BOOL(p(253, s)), p, o, s)\r
+# define BOOST_PP_WHILE_253(p, o, s) BOOST_PP_WHILE_253_C(BOOST_PP_BOOL(p(254, s)), p, o, s)\r
+# define BOOST_PP_WHILE_254(p, o, s) BOOST_PP_WHILE_254_C(BOOST_PP_BOOL(p(255, s)), p, o, s)\r
+# define BOOST_PP_WHILE_255(p, o, s) BOOST_PP_WHILE_255_C(BOOST_PP_BOOL(p(256, s)), p, o, s)\r
+# define BOOST_PP_WHILE_256(p, o, s) BOOST_PP_WHILE_256_C(BOOST_PP_BOOL(p(257, s)), p, o, s)\r
+#\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+#\r
+#\r
+# endif\r
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 (file)
index 0000000..ddbacc9
--- /dev/null
@@ -0,0 +1,30 @@
+# /* Copyright (C) 2001\r
+#  * Housemarque Oy\r
+#  * http://www.housemarque.com\r
+#  *\r
+#  * Distributed under the Boost Software License, Version 1.0. (See\r
+#  * accompanying file LICENSE_1_0.txt or copy at\r
+#  * http://www.boost.org/LICENSE_1_0.txt)\r
+#  */\r
+#\r
+# /* Revised by Paul Mensonides (2002) */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_CONTROL_EXPR_IF_HPP\r
+# define BOOST_PREPROCESSOR_CONTROL_EXPR_IF_HPP\r
+#\r
+# include <boost/preprocessor/config/config.hpp>\r
+# include <boost/preprocessor/control/expr_iif.hpp>\r
+# include <boost/preprocessor/logical/bool.hpp>\r
+#\r
+# /* BOOST_PP_EXPR_IF */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    define BOOST_PP_EXPR_IF(cond, expr) BOOST_PP_EXPR_IIF(BOOST_PP_BOOL(cond), expr)\r
+# else\r
+#    define BOOST_PP_EXPR_IF(cond, expr) BOOST_PP_EXPR_IF_I(cond, expr)\r
+#    define BOOST_PP_EXPR_IF_I(cond, expr) BOOST_PP_EXPR_IIF(BOOST_PP_BOOL(cond), expr)\r
+# endif\r
+#\r
+# endif\r
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 (file)
index 0000000..01818fe
--- /dev/null
@@ -0,0 +1,31 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_CONTROL_EXPR_IIF_HPP\r
+# define BOOST_PREPROCESSOR_CONTROL_EXPR_IIF_HPP\r
+#\r
+# include <boost/preprocessor/config/config.hpp>\r
+#\r
+# /* BOOST_PP_EXPR_IIF */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()\r
+#    define BOOST_PP_EXPR_IIF(bit, expr) BOOST_PP_EXPR_IIF_I(bit, expr)\r
+# else\r
+#    define BOOST_PP_EXPR_IIF(bit, expr) BOOST_PP_EXPR_IIF_OO((bit, expr))\r
+#    define BOOST_PP_EXPR_IIF_OO(par) BOOST_PP_EXPR_IIF_I ## par\r
+# endif\r
+#\r
+# define BOOST_PP_EXPR_IIF_I(bit, expr) BOOST_PP_EXPR_IIF_ ## bit(expr)\r
+#\r
+# define BOOST_PP_EXPR_IIF_0(expr)\r
+# define BOOST_PP_EXPR_IIF_1(expr) expr\r
+#\r
+# endif\r
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 (file)
index 0000000..51ab276
--- /dev/null
@@ -0,0 +1,30 @@
+# /* Copyright (C) 2001\r
+#  * Housemarque Oy\r
+#  * http://www.housemarque.com\r
+#  *\r
+#  * Distributed under the Boost Software License, Version 1.0. (See\r
+#  * accompanying file LICENSE_1_0.txt or copy at\r
+#  * http://www.boost.org/LICENSE_1_0.txt)\r
+#  */\r
+#\r
+# /* Revised by Paul Mensonides (2002) */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_CONTROL_IF_HPP\r
+# define BOOST_PREPROCESSOR_CONTROL_IF_HPP\r
+#\r
+# include <boost/preprocessor/config/config.hpp>\r
+# include <boost/preprocessor/control/iif.hpp>\r
+# include <boost/preprocessor/logical/bool.hpp>\r
+#\r
+# /* BOOST_PP_IF */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    define BOOST_PP_IF(cond, t, f) BOOST_PP_IIF(BOOST_PP_BOOL(cond), t, f)\r
+# else\r
+#    define BOOST_PP_IF(cond, t, f) BOOST_PP_IF_I(cond, t, f)\r
+#    define BOOST_PP_IF_I(cond, t, f) BOOST_PP_IIF(BOOST_PP_BOOL(cond), t, f)\r
+# endif\r
+#\r
+# endif\r
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 (file)
index 0000000..21dd8d9
--- /dev/null
@@ -0,0 +1,34 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_CONTROL_IIF_HPP\r
+# define BOOST_PREPROCESSOR_CONTROL_IIF_HPP\r
+#\r
+# include <boost/preprocessor/config/config.hpp>\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()\r
+#    define BOOST_PP_IIF(bit, t, f) BOOST_PP_IIF_I(bit, t, f)\r
+# else\r
+#    define BOOST_PP_IIF(bit, t, f) BOOST_PP_IIF_OO((bit, t, f))\r
+#    define BOOST_PP_IIF_OO(par) BOOST_PP_IIF_I ## par\r
+# endif\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()\r
+#    define BOOST_PP_IIF_I(bit, t, f) BOOST_PP_IIF_ ## bit(t, f)\r
+# else\r
+#    define BOOST_PP_IIF_I(bit, t, f) BOOST_PP_IIF_II(BOOST_PP_IIF_ ## bit(t, f))\r
+#    define BOOST_PP_IIF_II(id) id\r
+# endif\r
+#\r
+# define BOOST_PP_IIF_0(t, f) f\r
+# define BOOST_PP_IIF_1(t, f) t\r
+#\r
+# endif\r
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 (file)
index 0000000..31f9746
--- /dev/null
@@ -0,0 +1,312 @@
+# /* Copyright (C) 2001\r
+#  * Housemarque Oy\r
+#  * http://www.housemarque.com\r
+#  *\r
+#  * Distributed under the Boost Software License, Version 1.0. (See\r
+#  * accompanying file LICENSE_1_0.txt or copy at\r
+#  * http://www.boost.org/LICENSE_1_0.txt)\r
+#  */\r
+#\r
+# /* Revised by Paul Mensonides (2002) */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_CONTROL_WHILE_HPP\r
+# define BOOST_PREPROCESSOR_CONTROL_WHILE_HPP\r
+#\r
+# include <boost/preprocessor/cat.hpp>\r
+# include <boost/preprocessor/config/config.hpp>\r
+# include <boost/preprocessor/debug/error.hpp>\r
+# include <boost/preprocessor/detail/auto_rec.hpp>\r
+# include <boost/preprocessor/list/fold_left.hpp>\r
+# include <boost/preprocessor/list/fold_right.hpp>\r
+# include <boost/preprocessor/logical/bitand.hpp>\r
+#\r
+# /* BOOST_PP_WHILE */\r
+#\r
+# if 0\r
+#    define BOOST_PP_WHILE(pred, op, state)\r
+# endif\r
+#\r
+# define BOOST_PP_WHILE BOOST_PP_CAT(BOOST_PP_WHILE_, BOOST_PP_AUTO_REC(BOOST_PP_WHILE_P, 256))\r
+#\r
+# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    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))))\r
+# else\r
+#    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)))\r
+# endif\r
+#\r
+# define BOOST_PP_WHILE_F(d, _) 0\r
+#\r
+# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    include <boost/preprocessor/control/detail/edg/while.hpp>\r
+# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()\r
+#    include <boost/preprocessor/control/detail/msvc/while.hpp>\r
+# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC()\r
+#    include <boost/preprocessor/control/detail/dmc/while.hpp>\r
+# else\r
+#    include <boost/preprocessor/control/detail/while.hpp>\r
+# endif\r
+#\r
+# define BOOST_PP_WHILE_257(p, o, s) BOOST_PP_ERROR(0x0001)\r
+#\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_NIL 1\r
+#\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_1(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_2(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_3(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_4(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_5(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_6(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_7(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_8(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_9(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_10(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_11(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_12(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_13(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_14(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_15(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_16(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_17(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_18(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_19(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_20(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_21(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_22(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_23(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_24(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_25(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_26(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_27(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_28(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_29(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_30(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_31(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_32(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_33(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_34(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_35(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_36(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_37(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_38(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_39(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_40(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_41(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_42(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_43(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_44(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_45(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_46(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_47(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_48(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_49(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_50(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_51(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_52(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_53(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_54(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_55(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_56(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_57(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_58(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_59(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_60(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_61(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_62(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_63(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_64(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_65(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_66(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_67(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_68(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_69(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_70(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_71(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_72(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_73(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_74(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_75(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_76(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_77(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_78(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_79(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_80(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_81(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_82(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_83(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_84(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_85(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_86(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_87(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_88(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_89(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_90(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_91(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_92(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_93(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_94(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_95(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_96(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_97(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_98(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_99(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_100(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_101(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_102(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_103(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_104(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_105(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_106(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_107(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_108(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_109(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_110(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_111(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_112(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_113(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_114(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_115(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_116(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_117(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_118(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_119(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_120(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_121(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_122(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_123(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_124(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_125(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_126(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_127(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_128(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_129(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_130(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_131(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_132(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_133(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_134(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_135(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_136(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_137(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_138(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_139(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_140(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_141(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_142(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_143(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_144(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_145(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_146(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_147(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_148(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_149(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_150(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_151(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_152(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_153(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_154(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_155(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_156(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_157(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_158(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_159(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_160(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_161(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_162(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_163(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_164(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_165(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_166(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_167(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_168(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_169(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_170(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_171(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_172(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_173(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_174(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_175(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_176(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_177(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_178(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_179(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_180(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_181(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_182(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_183(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_184(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_185(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_186(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_187(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_188(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_189(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_190(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_191(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_192(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_193(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_194(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_195(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_196(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_197(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_198(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_199(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_200(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_201(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_202(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_203(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_204(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_205(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_206(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_207(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_208(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_209(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_210(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_211(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_212(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_213(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_214(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_215(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_216(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_217(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_218(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_219(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_220(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_221(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_222(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_223(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_224(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_225(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_226(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_227(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_228(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_229(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_230(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_231(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_232(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_233(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_234(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_235(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_236(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_237(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_238(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_239(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_240(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_241(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_242(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_243(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_244(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_245(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_246(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_247(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_248(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_249(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_250(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_251(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_252(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_253(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_254(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_255(p, o, s) 0\r
+# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_256(p, o, s) 0\r
+#\r
+# endif\r
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 (file)
index 0000000..ad6f6f6
--- /dev/null
@@ -0,0 +1,18 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_DEBUG_HPP\r
+# define BOOST_PREPROCESSOR_DEBUG_HPP\r
+#\r
+# include <boost/preprocessor/debug/assert.hpp>\r
+# include <boost/preprocessor/debug/line.hpp>\r
+#\r
+# endif\r
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 (file)
index 0000000..66e333e
--- /dev/null
@@ -0,0 +1,44 @@
+# /* Copyright (C) 2001\r
+#  * Housemarque Oy\r
+#  * http://www.housemarque.com\r
+#  *\r
+#  * Distributed under the Boost Software License, Version 1.0. (See\r
+#  * accompanying file LICENSE_1_0.txt or copy at\r
+#  * http://www.boost.org/LICENSE_1_0.txt)\r
+#  */\r
+#\r
+# /* Revised by Paul Mensonides (2002) */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_DEBUG_ASSERT_HPP\r
+# define BOOST_PREPROCESSOR_DEBUG_ASSERT_HPP\r
+#\r
+# include <boost/preprocessor/config/config.hpp>\r
+# include <boost/preprocessor/control/expr_iif.hpp>\r
+# include <boost/preprocessor/control/iif.hpp>\r
+# include <boost/preprocessor/logical/not.hpp>\r
+# include <boost/preprocessor/tuple/eat.hpp>\r
+#\r
+# /* BOOST_PP_ASSERT */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    define BOOST_PP_ASSERT BOOST_PP_ASSERT_D\r
+# else\r
+#    define BOOST_PP_ASSERT(cond) BOOST_PP_ASSERT_D(cond)\r
+# endif\r
+#\r
+# define BOOST_PP_ASSERT_D(cond) BOOST_PP_IIF(BOOST_PP_NOT(cond), BOOST_PP_ASSERT_ERROR, BOOST_PP_TUPLE_EAT_1)(...)\r
+# define BOOST_PP_ASSERT_ERROR(x, y, z)\r
+#\r
+# /* BOOST_PP_ASSERT_MSG */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    define BOOST_PP_ASSERT_MSG BOOST_PP_ASSERT_MSG_D\r
+# else\r
+#    define BOOST_PP_ASSERT_MSG(cond, msg) BOOST_PP_ASSERT_MSG_D(cond, msg)\r
+# endif\r
+#\r
+# define BOOST_PP_ASSERT_MSG_D(cond, msg) BOOST_PP_EXPR_IIF(BOOST_PP_NOT(cond), msg)\r
+#\r
+# endif\r
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 (file)
index 0000000..8941caf
--- /dev/null
@@ -0,0 +1,33 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_DEBUG_ERROR_HPP\r
+# define BOOST_PREPROCESSOR_DEBUG_ERROR_HPP\r
+#\r
+# include <boost/preprocessor/cat.hpp>\r
+# include <boost/preprocessor/config/config.hpp>\r
+#\r
+# /* BOOST_PP_ERROR */\r
+#\r
+# if BOOST_PP_CONFIG_ERRORS\r
+#    define BOOST_PP_ERROR(code) BOOST_PP_CAT(BOOST_PP_ERROR_, code)\r
+# endif\r
+#\r
+# define BOOST_PP_ERROR_0x0000 BOOST_PP_ERROR(0x0000, BOOST_PP_INDEX_OUT_OF_BOUNDS)\r
+# define BOOST_PP_ERROR_0x0001 BOOST_PP_ERROR(0x0001, BOOST_PP_WHILE_OVERFLOW)\r
+# define BOOST_PP_ERROR_0x0002 BOOST_PP_ERROR(0x0002, BOOST_PP_FOR_OVERFLOW)\r
+# define BOOST_PP_ERROR_0x0003 BOOST_PP_ERROR(0x0003, BOOST_PP_REPEAT_OVERFLOW)\r
+# define BOOST_PP_ERROR_0x0004 BOOST_PP_ERROR(0x0004, BOOST_PP_LIST_FOLD_OVERFLOW)\r
+# define BOOST_PP_ERROR_0x0005 BOOST_PP_ERROR(0x0005, BOOST_PP_SEQ_FOLD_OVERFLOW)\r
+# define BOOST_PP_ERROR_0x0006 BOOST_PP_ERROR(0x0006, BOOST_PP_ARITHMETIC_OVERFLOW)\r
+# define BOOST_PP_ERROR_0x0007 BOOST_PP_ERROR(0x0007, BOOST_PP_DIVISION_BY_ZERO)\r
+#\r
+# endif\r
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 (file)
index 0000000..ac96c2c
--- /dev/null
@@ -0,0 +1,35 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_DEBUG_LINE_HPP\r
+# define BOOST_PREPROCESSOR_DEBUG_LINE_HPP\r
+#\r
+# include <boost/preprocessor/cat.hpp>\r
+# include <boost/preprocessor/config/config.hpp>\r
+# include <boost/preprocessor/iteration/iterate.hpp>\r
+# include <boost/preprocessor/stringize.hpp>\r
+#\r
+# /* BOOST_PP_LINE */\r
+#\r
+# if BOOST_PP_CONFIG_EXTENDED_LINE_INFO\r
+#    define BOOST_PP_LINE(line, file) line BOOST_PP_CAT(BOOST_PP_LINE_, BOOST_PP_IS_ITERATING)(file)\r
+#    define BOOST_PP_LINE_BOOST_PP_IS_ITERATING(file) #file\r
+#    define BOOST_PP_LINE_1(file) BOOST_PP_STRINGIZE(file BOOST_PP_CAT(BOOST_PP_LINE_I_, BOOST_PP_ITERATION_DEPTH())())\r
+#    define BOOST_PP_LINE_I_1() [BOOST_PP_FRAME_ITERATION(1)]\r
+#    define BOOST_PP_LINE_I_2() BOOST_PP_LINE_I_1()[BOOST_PP_FRAME_ITERATION(2)]\r
+#    define BOOST_PP_LINE_I_3() BOOST_PP_LINE_I_2()[BOOST_PP_FRAME_ITERATION(3)]\r
+#    define BOOST_PP_LINE_I_4() BOOST_PP_LINE_I_3()[BOOST_PP_FRAME_ITERATION(4)]\r
+#    define BOOST_PP_LINE_I_5() BOOST_PP_LINE_I_4()[BOOST_PP_FRAME_ITERATION(5)]\r
+# else\r
+#    define BOOST_PP_LINE(line, file) line __FILE__\r
+# endif\r
+#\r
+# endif\r
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 (file)
index 0000000..641c540
--- /dev/null
@@ -0,0 +1,17 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_DEC_HPP\r
+# define BOOST_PREPROCESSOR_DEC_HPP\r
+#\r
+# include <boost/preprocessor/arithmetic/dec.hpp>\r
+#\r
+# endif\r
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 (file)
index 0000000..9e706fa
--- /dev/null
@@ -0,0 +1,293 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# include <boost/preprocessor/config/config.hpp>\r
+#\r
+# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC()\r
+#     include <boost/preprocessor/detail/dmc/auto_rec.hpp>\r
+# else\r
+#\r
+# ifndef BOOST_PREPROCESSOR_DETAIL_AUTO_REC_HPP\r
+# define BOOST_PREPROCESSOR_DETAIL_AUTO_REC_HPP\r
+#\r
+# include <boost/preprocessor/control/iif.hpp>\r
+#\r
+# /* BOOST_PP_AUTO_REC */\r
+#\r
+# define BOOST_PP_AUTO_REC(pred, n) BOOST_PP_NODE_ENTRY_ ## n(pred)\r
+#\r
+# define BOOST_PP_NODE_ENTRY_256(p) BOOST_PP_NODE_128(p)(p)(p)(p)(p)(p)(p)(p)\r
+# define BOOST_PP_NODE_ENTRY_128(p) BOOST_PP_NODE_64(p)(p)(p)(p)(p)(p)(p)\r
+# define BOOST_PP_NODE_ENTRY_64(p) BOOST_PP_NODE_32(p)(p)(p)(p)(p)(p)\r
+# define BOOST_PP_NODE_ENTRY_32(p) BOOST_PP_NODE_16(p)(p)(p)(p)(p)\r
+# define BOOST_PP_NODE_ENTRY_16(p) BOOST_PP_NODE_8(p)(p)(p)(p)\r
+# define BOOST_PP_NODE_ENTRY_8(p) BOOST_PP_NODE_4(p)(p)(p)\r
+# define BOOST_PP_NODE_ENTRY_4(p) BOOST_PP_NODE_2(p)(p)\r
+# define BOOST_PP_NODE_ENTRY_2(p) BOOST_PP_NODE_1(p)\r
+#\r
+# define BOOST_PP_NODE_128(p) BOOST_PP_IIF(p(128), BOOST_PP_NODE_64, BOOST_PP_NODE_192)\r
+#    define BOOST_PP_NODE_64(p) BOOST_PP_IIF(p(64), BOOST_PP_NODE_32, BOOST_PP_NODE_96)\r
+#        define BOOST_PP_NODE_32(p) BOOST_PP_IIF(p(32), BOOST_PP_NODE_16, BOOST_PP_NODE_48)\r
+#            define BOOST_PP_NODE_16(p) BOOST_PP_IIF(p(16), BOOST_PP_NODE_8, BOOST_PP_NODE_24)\r
+#                define BOOST_PP_NODE_8(p) BOOST_PP_IIF(p(8), BOOST_PP_NODE_4, BOOST_PP_NODE_12)\r
+#                    define BOOST_PP_NODE_4(p) BOOST_PP_IIF(p(4), BOOST_PP_NODE_2, BOOST_PP_NODE_6)\r
+#                        define BOOST_PP_NODE_2(p) BOOST_PP_IIF(p(2), BOOST_PP_NODE_1, BOOST_PP_NODE_3)\r
+#                            define BOOST_PP_NODE_1(p) BOOST_PP_IIF(p(1), 1, 2)\r
+#                            define BOOST_PP_NODE_3(p) BOOST_PP_IIF(p(3), 3, 4)\r
+#                        define BOOST_PP_NODE_6(p) BOOST_PP_IIF(p(6), BOOST_PP_NODE_5, BOOST_PP_NODE_7)\r
+#                            define BOOST_PP_NODE_5(p) BOOST_PP_IIF(p(5), 5, 6)\r
+#                            define BOOST_PP_NODE_7(p) BOOST_PP_IIF(p(7), 7, 8)\r
+#                    define BOOST_PP_NODE_12(p) BOOST_PP_IIF(p(12), BOOST_PP_NODE_10, BOOST_PP_NODE_14)\r
+#                        define BOOST_PP_NODE_10(p) BOOST_PP_IIF(p(10), BOOST_PP_NODE_9, BOOST_PP_NODE_11)\r
+#                            define BOOST_PP_NODE_9(p) BOOST_PP_IIF(p(9), 9, 10)\r
+#                            define BOOST_PP_NODE_11(p) BOOST_PP_IIF(p(11), 11, 12)\r
+#                        define BOOST_PP_NODE_14(p) BOOST_PP_IIF(p(14), BOOST_PP_NODE_13, BOOST_PP_NODE_15)\r
+#                            define BOOST_PP_NODE_13(p) BOOST_PP_IIF(p(13), 13, 14)\r
+#                            define BOOST_PP_NODE_15(p) BOOST_PP_IIF(p(15), 15, 16)\r
+#                define BOOST_PP_NODE_24(p) BOOST_PP_IIF(p(24), BOOST_PP_NODE_20, BOOST_PP_NODE_28)\r
+#                    define BOOST_PP_NODE_20(p) BOOST_PP_IIF(p(20), BOOST_PP_NODE_18, BOOST_PP_NODE_22)\r
+#                        define BOOST_PP_NODE_18(p) BOOST_PP_IIF(p(18), BOOST_PP_NODE_17, BOOST_PP_NODE_19)\r
+#                            define BOOST_PP_NODE_17(p) BOOST_PP_IIF(p(17), 17, 18)\r
+#                            define BOOST_PP_NODE_19(p) BOOST_PP_IIF(p(19), 19, 20)\r
+#                        define BOOST_PP_NODE_22(p) BOOST_PP_IIF(p(22), BOOST_PP_NODE_21, BOOST_PP_NODE_23)\r
+#                            define BOOST_PP_NODE_21(p) BOOST_PP_IIF(p(21), 21, 22)\r
+#                            define BOOST_PP_NODE_23(p) BOOST_PP_IIF(p(23), 23, 24)\r
+#                    define BOOST_PP_NODE_28(p) BOOST_PP_IIF(p(28), BOOST_PP_NODE_26, BOOST_PP_NODE_30)\r
+#                        define BOOST_PP_NODE_26(p) BOOST_PP_IIF(p(26), BOOST_PP_NODE_25, BOOST_PP_NODE_27)\r
+#                            define BOOST_PP_NODE_25(p) BOOST_PP_IIF(p(25), 25, 26)\r
+#                            define BOOST_PP_NODE_27(p) BOOST_PP_IIF(p(27), 27, 28)\r
+#                        define BOOST_PP_NODE_30(p) BOOST_PP_IIF(p(30), BOOST_PP_NODE_29, BOOST_PP_NODE_31)\r
+#                            define BOOST_PP_NODE_29(p) BOOST_PP_IIF(p(29), 29, 30)\r
+#                            define BOOST_PP_NODE_31(p) BOOST_PP_IIF(p(31), 31, 32)\r
+#            define BOOST_PP_NODE_48(p) BOOST_PP_IIF(p(48), BOOST_PP_NODE_40, BOOST_PP_NODE_56)\r
+#                define BOOST_PP_NODE_40(p) BOOST_PP_IIF(p(40), BOOST_PP_NODE_36, BOOST_PP_NODE_44)\r
+#                    define BOOST_PP_NODE_36(p) BOOST_PP_IIF(p(36), BOOST_PP_NODE_34, BOOST_PP_NODE_38)\r
+#                        define BOOST_PP_NODE_34(p) BOOST_PP_IIF(p(34), BOOST_PP_NODE_33, BOOST_PP_NODE_35)\r
+#                            define BOOST_PP_NODE_33(p) BOOST_PP_IIF(p(33), 33, 34)\r
+#                            define BOOST_PP_NODE_35(p) BOOST_PP_IIF(p(35), 35, 36)\r
+#                        define BOOST_PP_NODE_38(p) BOOST_PP_IIF(p(38), BOOST_PP_NODE_37, BOOST_PP_NODE_39)\r
+#                            define BOOST_PP_NODE_37(p) BOOST_PP_IIF(p(37), 37, 38)\r
+#                            define BOOST_PP_NODE_39(p) BOOST_PP_IIF(p(39), 39, 40)\r
+#                    define BOOST_PP_NODE_44(p) BOOST_PP_IIF(p(44), BOOST_PP_NODE_42, BOOST_PP_NODE_46)\r
+#                        define BOOST_PP_NODE_42(p) BOOST_PP_IIF(p(42), BOOST_PP_NODE_41, BOOST_PP_NODE_43)\r
+#                            define BOOST_PP_NODE_41(p) BOOST_PP_IIF(p(41), 41, 42)\r
+#                            define BOOST_PP_NODE_43(p) BOOST_PP_IIF(p(43), 43, 44)\r
+#                        define BOOST_PP_NODE_46(p) BOOST_PP_IIF(p(46), BOOST_PP_NODE_45, BOOST_PP_NODE_47)\r
+#                            define BOOST_PP_NODE_45(p) BOOST_PP_IIF(p(45), 45, 46)\r
+#                            define BOOST_PP_NODE_47(p) BOOST_PP_IIF(p(47), 47, 48)\r
+#                define BOOST_PP_NODE_56(p) BOOST_PP_IIF(p(56), BOOST_PP_NODE_52, BOOST_PP_NODE_60)\r
+#                    define BOOST_PP_NODE_52(p) BOOST_PP_IIF(p(52), BOOST_PP_NODE_50, BOOST_PP_NODE_54)\r
+#                        define BOOST_PP_NODE_50(p) BOOST_PP_IIF(p(50), BOOST_PP_NODE_49, BOOST_PP_NODE_51)\r
+#                            define BOOST_PP_NODE_49(p) BOOST_PP_IIF(p(49), 49, 50)\r
+#                            define BOOST_PP_NODE_51(p) BOOST_PP_IIF(p(51), 51, 52)\r
+#                        define BOOST_PP_NODE_54(p) BOOST_PP_IIF(p(54), BOOST_PP_NODE_53, BOOST_PP_NODE_55)\r
+#                            define BOOST_PP_NODE_53(p) BOOST_PP_IIF(p(53), 53, 54)\r
+#                            define BOOST_PP_NODE_55(p) BOOST_PP_IIF(p(55), 55, 56)\r
+#                    define BOOST_PP_NODE_60(p) BOOST_PP_IIF(p(60), BOOST_PP_NODE_58, BOOST_PP_NODE_62)\r
+#                        define BOOST_PP_NODE_58(p) BOOST_PP_IIF(p(58), BOOST_PP_NODE_57, BOOST_PP_NODE_59)\r
+#                            define BOOST_PP_NODE_57(p) BOOST_PP_IIF(p(57), 57, 58)\r
+#                            define BOOST_PP_NODE_59(p) BOOST_PP_IIF(p(59), 59, 60)\r
+#                        define BOOST_PP_NODE_62(p) BOOST_PP_IIF(p(62), BOOST_PP_NODE_61, BOOST_PP_NODE_63)\r
+#                            define BOOST_PP_NODE_61(p) BOOST_PP_IIF(p(61), 61, 62)\r
+#                            define BOOST_PP_NODE_63(p) BOOST_PP_IIF(p(63), 63, 64)\r
+#        define BOOST_PP_NODE_96(p) BOOST_PP_IIF(p(96), BOOST_PP_NODE_80, BOOST_PP_NODE_112)\r
+#            define BOOST_PP_NODE_80(p) BOOST_PP_IIF(p(80), BOOST_PP_NODE_72, BOOST_PP_NODE_88)\r
+#                define BOOST_PP_NODE_72(p) BOOST_PP_IIF(p(72), BOOST_PP_NODE_68, BOOST_PP_NODE_76)\r
+#                    define BOOST_PP_NODE_68(p) BOOST_PP_IIF(p(68), BOOST_PP_NODE_66, BOOST_PP_NODE_70)\r
+#                        define BOOST_PP_NODE_66(p) BOOST_PP_IIF(p(66), BOOST_PP_NODE_65, BOOST_PP_NODE_67)\r
+#                            define BOOST_PP_NODE_65(p) BOOST_PP_IIF(p(65), 65, 66)\r
+#                            define BOOST_PP_NODE_67(p) BOOST_PP_IIF(p(67), 67, 68)\r
+#                        define BOOST_PP_NODE_70(p) BOOST_PP_IIF(p(70), BOOST_PP_NODE_69, BOOST_PP_NODE_71)\r
+#                            define BOOST_PP_NODE_69(p) BOOST_PP_IIF(p(69), 69, 70)\r
+#                            define BOOST_PP_NODE_71(p) BOOST_PP_IIF(p(71), 71, 72)\r
+#                    define BOOST_PP_NODE_76(p) BOOST_PP_IIF(p(76), BOOST_PP_NODE_74, BOOST_PP_NODE_78)\r
+#                        define BOOST_PP_NODE_74(p) BOOST_PP_IIF(p(74), BOOST_PP_NODE_73, BOOST_PP_NODE_75)\r
+#                            define BOOST_PP_NODE_73(p) BOOST_PP_IIF(p(73), 73, 74)\r
+#                            define BOOST_PP_NODE_75(p) BOOST_PP_IIF(p(75), 75, 76)\r
+#                        define BOOST_PP_NODE_78(p) BOOST_PP_IIF(p(78), BOOST_PP_NODE_77, BOOST_PP_NODE_79)\r
+#                            define BOOST_PP_NODE_77(p) BOOST_PP_IIF(p(77), 77, 78)\r
+#                            define BOOST_PP_NODE_79(p) BOOST_PP_IIF(p(79), 79, 80)\r
+#                define BOOST_PP_NODE_88(p) BOOST_PP_IIF(p(88), BOOST_PP_NODE_84, BOOST_PP_NODE_92)\r
+#                    define BOOST_PP_NODE_84(p) BOOST_PP_IIF(p(84), BOOST_PP_NODE_82, BOOST_PP_NODE_86)\r
+#                        define BOOST_PP_NODE_82(p) BOOST_PP_IIF(p(82), BOOST_PP_NODE_81, BOOST_PP_NODE_83)\r
+#                            define BOOST_PP_NODE_81(p) BOOST_PP_IIF(p(81), 81, 82)\r
+#                            define BOOST_PP_NODE_83(p) BOOST_PP_IIF(p(83), 83, 84)\r
+#                        define BOOST_PP_NODE_86(p) BOOST_PP_IIF(p(86), BOOST_PP_NODE_85, BOOST_PP_NODE_87)\r
+#                            define BOOST_PP_NODE_85(p) BOOST_PP_IIF(p(85), 85, 86)\r
+#                            define BOOST_PP_NODE_87(p) BOOST_PP_IIF(p(87), 87, 88)\r
+#                    define BOOST_PP_NODE_92(p) BOOST_PP_IIF(p(92), BOOST_PP_NODE_90, BOOST_PP_NODE_94)\r
+#                        define BOOST_PP_NODE_90(p) BOOST_PP_IIF(p(90), BOOST_PP_NODE_89, BOOST_PP_NODE_91)\r
+#                            define BOOST_PP_NODE_89(p) BOOST_PP_IIF(p(89), 89, 90)\r
+#                            define BOOST_PP_NODE_91(p) BOOST_PP_IIF(p(91), 91, 92)\r
+#                        define BOOST_PP_NODE_94(p) BOOST_PP_IIF(p(94), BOOST_PP_NODE_93, BOOST_PP_NODE_95)\r
+#                            define BOOST_PP_NODE_93(p) BOOST_PP_IIF(p(93), 93, 94)\r
+#                            define BOOST_PP_NODE_95(p) BOOST_PP_IIF(p(95), 95, 96)\r
+#            define BOOST_PP_NODE_112(p) BOOST_PP_IIF(p(112), BOOST_PP_NODE_104, BOOST_PP_NODE_120)\r
+#                define BOOST_PP_NODE_104(p) BOOST_PP_IIF(p(104), BOOST_PP_NODE_100, BOOST_PP_NODE_108)\r
+#                    define BOOST_PP_NODE_100(p) BOOST_PP_IIF(p(100), BOOST_PP_NODE_98, BOOST_PP_NODE_102)\r
+#                        define BOOST_PP_NODE_98(p) BOOST_PP_IIF(p(98), BOOST_PP_NODE_97, BOOST_PP_NODE_99)\r
+#                            define BOOST_PP_NODE_97(p) BOOST_PP_IIF(p(97), 97, 98)\r
+#                            define BOOST_PP_NODE_99(p) BOOST_PP_IIF(p(99), 99, 100)\r
+#                        define BOOST_PP_NODE_102(p) BOOST_PP_IIF(p(102), BOOST_PP_NODE_101, BOOST_PP_NODE_103)\r
+#                            define BOOST_PP_NODE_101(p) BOOST_PP_IIF(p(101), 101, 102)\r
+#                            define BOOST_PP_NODE_103(p) BOOST_PP_IIF(p(103), 103, 104)\r
+#                    define BOOST_PP_NODE_108(p) BOOST_PP_IIF(p(108), BOOST_PP_NODE_106, BOOST_PP_NODE_110)\r
+#                        define BOOST_PP_NODE_106(p) BOOST_PP_IIF(p(106), BOOST_PP_NODE_105, BOOST_PP_NODE_107)\r
+#                            define BOOST_PP_NODE_105(p) BOOST_PP_IIF(p(105), 105, 106)\r
+#                            define BOOST_PP_NODE_107(p) BOOST_PP_IIF(p(107), 107, 108)\r
+#                        define BOOST_PP_NODE_110(p) BOOST_PP_IIF(p(110), BOOST_PP_NODE_109, BOOST_PP_NODE_111)\r
+#                            define BOOST_PP_NODE_109(p) BOOST_PP_IIF(p(109), 109, 110)\r
+#                            define BOOST_PP_NODE_111(p) BOOST_PP_IIF(p(111), 111, 112)\r
+#                define BOOST_PP_NODE_120(p) BOOST_PP_IIF(p(120), BOOST_PP_NODE_116, BOOST_PP_NODE_124)\r
+#                    define BOOST_PP_NODE_116(p) BOOST_PP_IIF(p(116), BOOST_PP_NODE_114, BOOST_PP_NODE_118)\r
+#                        define BOOST_PP_NODE_114(p) BOOST_PP_IIF(p(114), BOOST_PP_NODE_113, BOOST_PP_NODE_115)\r
+#                            define BOOST_PP_NODE_113(p) BOOST_PP_IIF(p(113), 113, 114)\r
+#                            define BOOST_PP_NODE_115(p) BOOST_PP_IIF(p(115), 115, 116)\r
+#                        define BOOST_PP_NODE_118(p) BOOST_PP_IIF(p(118), BOOST_PP_NODE_117, BOOST_PP_NODE_119)\r
+#                            define BOOST_PP_NODE_117(p) BOOST_PP_IIF(p(117), 117, 118)\r
+#                            define BOOST_PP_NODE_119(p) BOOST_PP_IIF(p(119), 119, 120)\r
+#                    define BOOST_PP_NODE_124(p) BOOST_PP_IIF(p(124), BOOST_PP_NODE_122, BOOST_PP_NODE_126)\r
+#                        define BOOST_PP_NODE_122(p) BOOST_PP_IIF(p(122), BOOST_PP_NODE_121, BOOST_PP_NODE_123)\r
+#                            define BOOST_PP_NODE_121(p) BOOST_PP_IIF(p(121), 121, 122)\r
+#                            define BOOST_PP_NODE_123(p) BOOST_PP_IIF(p(123), 123, 124)\r
+#                        define BOOST_PP_NODE_126(p) BOOST_PP_IIF(p(126), BOOST_PP_NODE_125, BOOST_PP_NODE_127)\r
+#                            define BOOST_PP_NODE_125(p) BOOST_PP_IIF(p(125), 125, 126)\r
+#                            define BOOST_PP_NODE_127(p) BOOST_PP_IIF(p(127), 127, 128)\r
+#    define BOOST_PP_NODE_192(p) BOOST_PP_IIF(p(192), BOOST_PP_NODE_160, BOOST_PP_NODE_224)\r
+#        define BOOST_PP_NODE_160(p) BOOST_PP_IIF(p(160), BOOST_PP_NODE_144, BOOST_PP_NODE_176)\r
+#            define BOOST_PP_NODE_144(p) BOOST_PP_IIF(p(144), BOOST_PP_NODE_136, BOOST_PP_NODE_152)\r
+#                define BOOST_PP_NODE_136(p) BOOST_PP_IIF(p(136), BOOST_PP_NODE_132, BOOST_PP_NODE_140)\r
+#                    define BOOST_PP_NODE_132(p) BOOST_PP_IIF(p(132), BOOST_PP_NODE_130, BOOST_PP_NODE_134)\r
+#                        define BOOST_PP_NODE_130(p) BOOST_PP_IIF(p(130), BOOST_PP_NODE_129, BOOST_PP_NODE_131)\r
+#                            define BOOST_PP_NODE_129(p) BOOST_PP_IIF(p(129), 129, 130)\r
+#                            define BOOST_PP_NODE_131(p) BOOST_PP_IIF(p(131), 131, 132)\r
+#                        define BOOST_PP_NODE_134(p) BOOST_PP_IIF(p(134), BOOST_PP_NODE_133, BOOST_PP_NODE_135)\r
+#                            define BOOST_PP_NODE_133(p) BOOST_PP_IIF(p(133), 133, 134)\r
+#                            define BOOST_PP_NODE_135(p) BOOST_PP_IIF(p(135), 135, 136)\r
+#                    define BOOST_PP_NODE_140(p) BOOST_PP_IIF(p(140), BOOST_PP_NODE_138, BOOST_PP_NODE_142)\r
+#                        define BOOST_PP_NODE_138(p) BOOST_PP_IIF(p(138), BOOST_PP_NODE_137, BOOST_PP_NODE_139)\r
+#                            define BOOST_PP_NODE_137(p) BOOST_PP_IIF(p(137), 137, 138)\r
+#                            define BOOST_PP_NODE_139(p) BOOST_PP_IIF(p(139), 139, 140)\r
+#                        define BOOST_PP_NODE_142(p) BOOST_PP_IIF(p(142), BOOST_PP_NODE_141, BOOST_PP_NODE_143)\r
+#                            define BOOST_PP_NODE_141(p) BOOST_PP_IIF(p(141), 141, 142)\r
+#                            define BOOST_PP_NODE_143(p) BOOST_PP_IIF(p(143), 143, 144)\r
+#                define BOOST_PP_NODE_152(p) BOOST_PP_IIF(p(152), BOOST_PP_NODE_148, BOOST_PP_NODE_156)\r
+#                    define BOOST_PP_NODE_148(p) BOOST_PP_IIF(p(148), BOOST_PP_NODE_146, BOOST_PP_NODE_150)\r
+#                        define BOOST_PP_NODE_146(p) BOOST_PP_IIF(p(146), BOOST_PP_NODE_145, BOOST_PP_NODE_147)\r
+#                            define BOOST_PP_NODE_145(p) BOOST_PP_IIF(p(145), 145, 146)\r
+#                            define BOOST_PP_NODE_147(p) BOOST_PP_IIF(p(147), 147, 148)\r
+#                        define BOOST_PP_NODE_150(p) BOOST_PP_IIF(p(150), BOOST_PP_NODE_149, BOOST_PP_NODE_151)\r
+#                            define BOOST_PP_NODE_149(p) BOOST_PP_IIF(p(149), 149, 150)\r
+#                            define BOOST_PP_NODE_151(p) BOOST_PP_IIF(p(151), 151, 152)\r
+#                    define BOOST_PP_NODE_156(p) BOOST_PP_IIF(p(156), BOOST_PP_NODE_154, BOOST_PP_NODE_158)\r
+#                        define BOOST_PP_NODE_154(p) BOOST_PP_IIF(p(154), BOOST_PP_NODE_153, BOOST_PP_NODE_155)\r
+#                            define BOOST_PP_NODE_153(p) BOOST_PP_IIF(p(153), 153, 154)\r
+#                            define BOOST_PP_NODE_155(p) BOOST_PP_IIF(p(155), 155, 156)\r
+#                        define BOOST_PP_NODE_158(p) BOOST_PP_IIF(p(158), BOOST_PP_NODE_157, BOOST_PP_NODE_159)\r
+#                            define BOOST_PP_NODE_157(p) BOOST_PP_IIF(p(157), 157, 158)\r
+#                            define BOOST_PP_NODE_159(p) BOOST_PP_IIF(p(159), 159, 160)\r
+#            define BOOST_PP_NODE_176(p) BOOST_PP_IIF(p(176), BOOST_PP_NODE_168, BOOST_PP_NODE_184)\r
+#                define BOOST_PP_NODE_168(p) BOOST_PP_IIF(p(168), BOOST_PP_NODE_164, BOOST_PP_NODE_172)\r
+#                    define BOOST_PP_NODE_164(p) BOOST_PP_IIF(p(164), BOOST_PP_NODE_162, BOOST_PP_NODE_166)\r
+#                        define BOOST_PP_NODE_162(p) BOOST_PP_IIF(p(162), BOOST_PP_NODE_161, BOOST_PP_NODE_163)\r
+#                            define BOOST_PP_NODE_161(p) BOOST_PP_IIF(p(161), 161, 162)\r
+#                            define BOOST_PP_NODE_163(p) BOOST_PP_IIF(p(163), 163, 164)\r
+#                        define BOOST_PP_NODE_166(p) BOOST_PP_IIF(p(166), BOOST_PP_NODE_165, BOOST_PP_NODE_167)\r
+#                            define BOOST_PP_NODE_165(p) BOOST_PP_IIF(p(165), 165, 166)\r
+#                            define BOOST_PP_NODE_167(p) BOOST_PP_IIF(p(167), 167, 168)\r
+#                    define BOOST_PP_NODE_172(p) BOOST_PP_IIF(p(172), BOOST_PP_NODE_170, BOOST_PP_NODE_174)\r
+#                        define BOOST_PP_NODE_170(p) BOOST_PP_IIF(p(170), BOOST_PP_NODE_169, BOOST_PP_NODE_171)\r
+#                            define BOOST_PP_NODE_169(p) BOOST_PP_IIF(p(169), 169, 170)\r
+#                            define BOOST_PP_NODE_171(p) BOOST_PP_IIF(p(171), 171, 172)\r
+#                        define BOOST_PP_NODE_174(p) BOOST_PP_IIF(p(174), BOOST_PP_NODE_173, BOOST_PP_NODE_175)\r
+#                            define BOOST_PP_NODE_173(p) BOOST_PP_IIF(p(173), 173, 174)\r
+#                            define BOOST_PP_NODE_175(p) BOOST_PP_IIF(p(175), 175, 176)\r
+#                define BOOST_PP_NODE_184(p) BOOST_PP_IIF(p(184), BOOST_PP_NODE_180, BOOST_PP_NODE_188)\r
+#                    define BOOST_PP_NODE_180(p) BOOST_PP_IIF(p(180), BOOST_PP_NODE_178, BOOST_PP_NODE_182)\r
+#                        define BOOST_PP_NODE_178(p) BOOST_PP_IIF(p(178), BOOST_PP_NODE_177, BOOST_PP_NODE_179)\r
+#                            define BOOST_PP_NODE_177(p) BOOST_PP_IIF(p(177), 177, 178)\r
+#                            define BOOST_PP_NODE_179(p) BOOST_PP_IIF(p(179), 179, 180)\r
+#                        define BOOST_PP_NODE_182(p) BOOST_PP_IIF(p(182), BOOST_PP_NODE_181, BOOST_PP_NODE_183)\r
+#                            define BOOST_PP_NODE_181(p) BOOST_PP_IIF(p(181), 181, 182)\r
+#                            define BOOST_PP_NODE_183(p) BOOST_PP_IIF(p(183), 183, 184)\r
+#                    define BOOST_PP_NODE_188(p) BOOST_PP_IIF(p(188), BOOST_PP_NODE_186, BOOST_PP_NODE_190)\r
+#                        define BOOST_PP_NODE_186(p) BOOST_PP_IIF(p(186), BOOST_PP_NODE_185, BOOST_PP_NODE_187)\r
+#                            define BOOST_PP_NODE_185(p) BOOST_PP_IIF(p(185), 185, 186)\r
+#                            define BOOST_PP_NODE_187(p) BOOST_PP_IIF(p(187), 187, 188)\r
+#                        define BOOST_PP_NODE_190(p) BOOST_PP_IIF(p(190), BOOST_PP_NODE_189, BOOST_PP_NODE_191)\r
+#                            define BOOST_PP_NODE_189(p) BOOST_PP_IIF(p(189), 189, 190)\r
+#                            define BOOST_PP_NODE_191(p) BOOST_PP_IIF(p(191), 191, 192)\r
+#        define BOOST_PP_NODE_224(p) BOOST_PP_IIF(p(224), BOOST_PP_NODE_208, BOOST_PP_NODE_240)\r
+#            define BOOST_PP_NODE_208(p) BOOST_PP_IIF(p(208), BOOST_PP_NODE_200, BOOST_PP_NODE_216)\r
+#                define BOOST_PP_NODE_200(p) BOOST_PP_IIF(p(200), BOOST_PP_NODE_196, BOOST_PP_NODE_204)\r
+#                    define BOOST_PP_NODE_196(p) BOOST_PP_IIF(p(196), BOOST_PP_NODE_194, BOOST_PP_NODE_198)\r
+#                        define BOOST_PP_NODE_194(p) BOOST_PP_IIF(p(194), BOOST_PP_NODE_193, BOOST_PP_NODE_195)\r
+#                            define BOOST_PP_NODE_193(p) BOOST_PP_IIF(p(193), 193, 194)\r
+#                            define BOOST_PP_NODE_195(p) BOOST_PP_IIF(p(195), 195, 196)\r
+#                        define BOOST_PP_NODE_198(p) BOOST_PP_IIF(p(198), BOOST_PP_NODE_197, BOOST_PP_NODE_199)\r
+#                            define BOOST_PP_NODE_197(p) BOOST_PP_IIF(p(197), 197, 198)\r
+#                            define BOOST_PP_NODE_199(p) BOOST_PP_IIF(p(199), 199, 200)\r
+#                    define BOOST_PP_NODE_204(p) BOOST_PP_IIF(p(204), BOOST_PP_NODE_202, BOOST_PP_NODE_206)\r
+#                        define BOOST_PP_NODE_202(p) BOOST_PP_IIF(p(202), BOOST_PP_NODE_201, BOOST_PP_NODE_203)\r
+#                            define BOOST_PP_NODE_201(p) BOOST_PP_IIF(p(201), 201, 202)\r
+#                            define BOOST_PP_NODE_203(p) BOOST_PP_IIF(p(203), 203, 204)\r
+#                        define BOOST_PP_NODE_206(p) BOOST_PP_IIF(p(206), BOOST_PP_NODE_205, BOOST_PP_NODE_207)\r
+#                            define BOOST_PP_NODE_205(p) BOOST_PP_IIF(p(205), 205, 206)\r
+#                            define BOOST_PP_NODE_207(p) BOOST_PP_IIF(p(207), 207, 208)\r
+#                define BOOST_PP_NODE_216(p) BOOST_PP_IIF(p(216), BOOST_PP_NODE_212, BOOST_PP_NODE_220)\r
+#                    define BOOST_PP_NODE_212(p) BOOST_PP_IIF(p(212), BOOST_PP_NODE_210, BOOST_PP_NODE_214)\r
+#                        define BOOST_PP_NODE_210(p) BOOST_PP_IIF(p(210), BOOST_PP_NODE_209, BOOST_PP_NODE_211)\r
+#                            define BOOST_PP_NODE_209(p) BOOST_PP_IIF(p(209), 209, 210)\r
+#                            define BOOST_PP_NODE_211(p) BOOST_PP_IIF(p(211), 211, 212)\r
+#                        define BOOST_PP_NODE_214(p) BOOST_PP_IIF(p(214), BOOST_PP_NODE_213, BOOST_PP_NODE_215)\r
+#                            define BOOST_PP_NODE_213(p) BOOST_PP_IIF(p(213), 213, 214)\r
+#                            define BOOST_PP_NODE_215(p) BOOST_PP_IIF(p(215), 215, 216)\r
+#                    define BOOST_PP_NODE_220(p) BOOST_PP_IIF(p(220), BOOST_PP_NODE_218, BOOST_PP_NODE_222)\r
+#                        define BOOST_PP_NODE_218(p) BOOST_PP_IIF(p(218), BOOST_PP_NODE_217, BOOST_PP_NODE_219)\r
+#                            define BOOST_PP_NODE_217(p) BOOST_PP_IIF(p(217), 217, 218)\r
+#                            define BOOST_PP_NODE_219(p) BOOST_PP_IIF(p(219), 219, 220)\r
+#                        define BOOST_PP_NODE_222(p) BOOST_PP_IIF(p(222), BOOST_PP_NODE_221, BOOST_PP_NODE_223)\r
+#                            define BOOST_PP_NODE_221(p) BOOST_PP_IIF(p(221), 221, 222)\r
+#                            define BOOST_PP_NODE_223(p) BOOST_PP_IIF(p(223), 223, 224)\r
+#            define BOOST_PP_NODE_240(p) BOOST_PP_IIF(p(240), BOOST_PP_NODE_232, BOOST_PP_NODE_248)\r
+#                define BOOST_PP_NODE_232(p) BOOST_PP_IIF(p(232), BOOST_PP_NODE_228, BOOST_PP_NODE_236)\r
+#                    define BOOST_PP_NODE_228(p) BOOST_PP_IIF(p(228), BOOST_PP_NODE_226, BOOST_PP_NODE_230)\r
+#                        define BOOST_PP_NODE_226(p) BOOST_PP_IIF(p(226), BOOST_PP_NODE_225, BOOST_PP_NODE_227)\r
+#                            define BOOST_PP_NODE_225(p) BOOST_PP_IIF(p(225), 225, 226)\r
+#                            define BOOST_PP_NODE_227(p) BOOST_PP_IIF(p(227), 227, 228)\r
+#                        define BOOST_PP_NODE_230(p) BOOST_PP_IIF(p(230), BOOST_PP_NODE_229, BOOST_PP_NODE_231)\r
+#                            define BOOST_PP_NODE_229(p) BOOST_PP_IIF(p(229), 229, 230)\r
+#                            define BOOST_PP_NODE_231(p) BOOST_PP_IIF(p(231), 231, 232)\r
+#                    define BOOST_PP_NODE_236(p) BOOST_PP_IIF(p(236), BOOST_PP_NODE_234, BOOST_PP_NODE_238)\r
+#                        define BOOST_PP_NODE_234(p) BOOST_PP_IIF(p(234), BOOST_PP_NODE_233, BOOST_PP_NODE_235)\r
+#                            define BOOST_PP_NODE_233(p) BOOST_PP_IIF(p(233), 233, 234)\r
+#                            define BOOST_PP_NODE_235(p) BOOST_PP_IIF(p(235), 235, 236)\r
+#                        define BOOST_PP_NODE_238(p) BOOST_PP_IIF(p(238), BOOST_PP_NODE_237, BOOST_PP_NODE_239)\r
+#                            define BOOST_PP_NODE_237(p) BOOST_PP_IIF(p(237), 237, 238)\r
+#                            define BOOST_PP_NODE_239(p) BOOST_PP_IIF(p(239), 239, 240)\r
+#                define BOOST_PP_NODE_248(p) BOOST_PP_IIF(p(248), BOOST_PP_NODE_244, BOOST_PP_NODE_252)\r
+#                    define BOOST_PP_NODE_244(p) BOOST_PP_IIF(p(244), BOOST_PP_NODE_242, BOOST_PP_NODE_246)\r
+#                        define BOOST_PP_NODE_242(p) BOOST_PP_IIF(p(242), BOOST_PP_NODE_241, BOOST_PP_NODE_243)\r
+#                            define BOOST_PP_NODE_241(p) BOOST_PP_IIF(p(241), 241, 242)\r
+#                            define BOOST_PP_NODE_243(p) BOOST_PP_IIF(p(243), 243, 244)\r
+#                        define BOOST_PP_NODE_246(p) BOOST_PP_IIF(p(246), BOOST_PP_NODE_245, BOOST_PP_NODE_247)\r
+#                            define BOOST_PP_NODE_245(p) BOOST_PP_IIF(p(245), 245, 246)\r
+#                            define BOOST_PP_NODE_247(p) BOOST_PP_IIF(p(247), 247, 248)\r
+#                    define BOOST_PP_NODE_252(p) BOOST_PP_IIF(p(252), BOOST_PP_NODE_250, BOOST_PP_NODE_254)\r
+#                        define BOOST_PP_NODE_250(p) BOOST_PP_IIF(p(250), BOOST_PP_NODE_249, BOOST_PP_NODE_251)\r
+#                            define BOOST_PP_NODE_249(p) BOOST_PP_IIF(p(249), 249, 250)\r
+#                            define BOOST_PP_NODE_251(p) BOOST_PP_IIF(p(251), 251, 252)\r
+#                        define BOOST_PP_NODE_254(p) BOOST_PP_IIF(p(254), BOOST_PP_NODE_253, BOOST_PP_NODE_255)\r
+#                            define BOOST_PP_NODE_253(p) BOOST_PP_IIF(p(253), 253, 254)\r
+#                            define BOOST_PP_NODE_255(p) BOOST_PP_IIF(p(255), 255, 256)\r
+#\r
+# endif\r
+# endif\r
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 (file)
index 0000000..8e374c6
--- /dev/null
@@ -0,0 +1,48 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_DETAIL_CHECK_HPP\r
+# define BOOST_PREPROCESSOR_DETAIL_CHECK_HPP\r
+#\r
+# include <boost/preprocessor/cat.hpp>\r
+# include <boost/preprocessor/config/config.hpp>\r
+#\r
+# /* BOOST_PP_CHECK */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()\r
+#    define BOOST_PP_CHECK(x, type) BOOST_PP_CHECK_D(x, type)\r
+# else\r
+#    define BOOST_PP_CHECK(x, type) BOOST_PP_CHECK_OO((x, type))\r
+#    define BOOST_PP_CHECK_OO(par) BOOST_PP_CHECK_D ## par\r
+# endif\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() && ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC()\r
+#    define BOOST_PP_CHECK_D(x, type) BOOST_PP_CHECK_1(BOOST_PP_CAT(BOOST_PP_CHECK_RESULT_, type x))\r
+#    define BOOST_PP_CHECK_1(chk) BOOST_PP_CHECK_2(chk)\r
+#    define BOOST_PP_CHECK_2(res, _) res\r
+# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()\r
+#    define BOOST_PP_CHECK_D(x, type) BOOST_PP_CHECK_1(type x)\r
+#    define BOOST_PP_CHECK_1(chk) BOOST_PP_CHECK_2(chk)\r
+#    define BOOST_PP_CHECK_2(chk) BOOST_PP_CHECK_3((BOOST_PP_CHECK_RESULT_ ## chk))\r
+#    define BOOST_PP_CHECK_3(im) BOOST_PP_CHECK_5(BOOST_PP_CHECK_4 im)\r
+#    define BOOST_PP_CHECK_4(res, _) res\r
+#    define BOOST_PP_CHECK_5(res) res\r
+# else /* DMC */\r
+#    define BOOST_PP_CHECK_D(x, type) BOOST_PP_CHECK_OO((type x))\r
+#    define BOOST_PP_CHECK_OO(par) BOOST_PP_CHECK_0 ## par\r
+#    define BOOST_PP_CHECK_0(chk) BOOST_PP_CHECK_1(BOOST_PP_CAT(BOOST_PP_CHECK_RESULT_, chk))\r
+#    define BOOST_PP_CHECK_1(chk) BOOST_PP_CHECK_2(chk)\r
+#    define BOOST_PP_CHECK_2(res, _) res\r
+# endif\r
+#\r
+# define BOOST_PP_CHECK_RESULT_1 1, BOOST_PP_NIL\r
+#\r
+# endif\r
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 (file)
index 0000000..dda0ba9
--- /dev/null
@@ -0,0 +1,286 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_DETAIL_AUTO_REC_HPP\r
+# define BOOST_PREPROCESSOR_DETAIL_AUTO_REC_HPP\r
+#\r
+# include <boost/preprocessor/control/iif.hpp>\r
+#\r
+# /* BOOST_PP_AUTO_REC */\r
+#\r
+# define BOOST_PP_AUTO_REC(pred, n) BOOST_PP_NODE_ENTRY_ ## n(pred)\r
+#\r
+# define BOOST_PP_NODE_ENTRY_256(p) BOOST_PP_NODE_128(p)(p)(p)(p)(p)(p)(p)(p)\r
+# define BOOST_PP_NODE_ENTRY_128(p) BOOST_PP_NODE_64(p)(p)(p)(p)(p)(p)(p)\r
+# define BOOST_PP_NODE_ENTRY_64(p) BOOST_PP_NODE_32(p)(p)(p)(p)(p)(p)\r
+# define BOOST_PP_NODE_ENTRY_32(p) BOOST_PP_NODE_16(p)(p)(p)(p)(p)\r
+# define BOOST_PP_NODE_ENTRY_16(p) BOOST_PP_NODE_8(p)(p)(p)(p)\r
+# define BOOST_PP_NODE_ENTRY_8(p) BOOST_PP_NODE_4(p)(p)(p)\r
+# define BOOST_PP_NODE_ENTRY_4(p) BOOST_PP_NODE_2(p)(p)\r
+# define BOOST_PP_NODE_ENTRY_2(p) BOOST_PP_NODE_1(p)\r
+#\r
+# define BOOST_PP_NODE_128(p) BOOST_PP_IIF(p##(128), BOOST_PP_NODE_64, BOOST_PP_NODE_192)\r
+#    define BOOST_PP_NODE_64(p) BOOST_PP_IIF(p##(64), BOOST_PP_NODE_32, BOOST_PP_NODE_96)\r
+#        define BOOST_PP_NODE_32(p) BOOST_PP_IIF(p##(32), BOOST_PP_NODE_16, BOOST_PP_NODE_48)\r
+#            define BOOST_PP_NODE_16(p) BOOST_PP_IIF(p##(16), BOOST_PP_NODE_8, BOOST_PP_NODE_24)\r
+#                define BOOST_PP_NODE_8(p) BOOST_PP_IIF(p##(8), BOOST_PP_NODE_4, BOOST_PP_NODE_12)\r
+#                    define BOOST_PP_NODE_4(p) BOOST_PP_IIF(p##(4), BOOST_PP_NODE_2, BOOST_PP_NODE_6)\r
+#                        define BOOST_PP_NODE_2(p) BOOST_PP_IIF(p##(2), BOOST_PP_NODE_1, BOOST_PP_NODE_3)\r
+#                            define BOOST_PP_NODE_1(p) BOOST_PP_IIF(p##(1), 1, 2)\r
+#                            define BOOST_PP_NODE_3(p) BOOST_PP_IIF(p##(3), 3, 4)\r
+#                        define BOOST_PP_NODE_6(p) BOOST_PP_IIF(p##(6), BOOST_PP_NODE_5, BOOST_PP_NODE_7)\r
+#                            define BOOST_PP_NODE_5(p) BOOST_PP_IIF(p##(5), 5, 6)\r
+#                            define BOOST_PP_NODE_7(p) BOOST_PP_IIF(p##(7), 7, 8)\r
+#                    define BOOST_PP_NODE_12(p) BOOST_PP_IIF(p##(12), BOOST_PP_NODE_10, BOOST_PP_NODE_14)\r
+#                        define BOOST_PP_NODE_10(p) BOOST_PP_IIF(p##(10), BOOST_PP_NODE_9, BOOST_PP_NODE_11)\r
+#                            define BOOST_PP_NODE_9(p) BOOST_PP_IIF(p##(9), 9, 10)\r
+#                            define BOOST_PP_NODE_11(p) BOOST_PP_IIF(p##(11), 11, 12)\r
+#                        define BOOST_PP_NODE_14(p) BOOST_PP_IIF(p##(14), BOOST_PP_NODE_13, BOOST_PP_NODE_15)\r
+#                            define BOOST_PP_NODE_13(p) BOOST_PP_IIF(p##(13), 13, 14)\r
+#                            define BOOST_PP_NODE_15(p) BOOST_PP_IIF(p##(15), 15, 16)\r
+#                define BOOST_PP_NODE_24(p) BOOST_PP_IIF(p##(24), BOOST_PP_NODE_20, BOOST_PP_NODE_28)\r
+#                    define BOOST_PP_NODE_20(p) BOOST_PP_IIF(p##(20), BOOST_PP_NODE_18, BOOST_PP_NODE_22)\r
+#                        define BOOST_PP_NODE_18(p) BOOST_PP_IIF(p##(18), BOOST_PP_NODE_17, BOOST_PP_NODE_19)\r
+#                            define BOOST_PP_NODE_17(p) BOOST_PP_IIF(p##(17), 17, 18)\r
+#                            define BOOST_PP_NODE_19(p) BOOST_PP_IIF(p##(19), 19, 20)\r
+#                        define BOOST_PP_NODE_22(p) BOOST_PP_IIF(p##(22), BOOST_PP_NODE_21, BOOST_PP_NODE_23)\r
+#                            define BOOST_PP_NODE_21(p) BOOST_PP_IIF(p##(21), 21, 22)\r
+#                            define BOOST_PP_NODE_23(p) BOOST_PP_IIF(p##(23), 23, 24)\r
+#                    define BOOST_PP_NODE_28(p) BOOST_PP_IIF(p##(28), BOOST_PP_NODE_26, BOOST_PP_NODE_30)\r
+#                        define BOOST_PP_NODE_26(p) BOOST_PP_IIF(p##(26), BOOST_PP_NODE_25, BOOST_PP_NODE_27)\r
+#                            define BOOST_PP_NODE_25(p) BOOST_PP_IIF(p##(25), 25, 26)\r
+#                            define BOOST_PP_NODE_27(p) BOOST_PP_IIF(p##(27), 27, 28)\r
+#                        define BOOST_PP_NODE_30(p) BOOST_PP_IIF(p##(30), BOOST_PP_NODE_29, BOOST_PP_NODE_31)\r
+#                            define BOOST_PP_NODE_29(p) BOOST_PP_IIF(p##(29), 29, 30)\r
+#                            define BOOST_PP_NODE_31(p) BOOST_PP_IIF(p##(31), 31, 32)\r
+#            define BOOST_PP_NODE_48(p) BOOST_PP_IIF(p##(48), BOOST_PP_NODE_40, BOOST_PP_NODE_56)\r
+#                define BOOST_PP_NODE_40(p) BOOST_PP_IIF(p##(40), BOOST_PP_NODE_36, BOOST_PP_NODE_44)\r
+#                    define BOOST_PP_NODE_36(p) BOOST_PP_IIF(p##(36), BOOST_PP_NODE_34, BOOST_PP_NODE_38)\r
+#                        define BOOST_PP_NODE_34(p) BOOST_PP_IIF(p##(34), BOOST_PP_NODE_33, BOOST_PP_NODE_35)\r
+#                            define BOOST_PP_NODE_33(p) BOOST_PP_IIF(p##(33), 33, 34)\r
+#                            define BOOST_PP_NODE_35(p) BOOST_PP_IIF(p##(35), 35, 36)\r
+#                        define BOOST_PP_NODE_38(p) BOOST_PP_IIF(p##(38), BOOST_PP_NODE_37, BOOST_PP_NODE_39)\r
+#                            define BOOST_PP_NODE_37(p) BOOST_PP_IIF(p##(37), 37, 38)\r
+#                            define BOOST_PP_NODE_39(p) BOOST_PP_IIF(p##(39), 39, 40)\r
+#                    define BOOST_PP_NODE_44(p) BOOST_PP_IIF(p##(44), BOOST_PP_NODE_42, BOOST_PP_NODE_46)\r
+#                        define BOOST_PP_NODE_42(p) BOOST_PP_IIF(p##(42), BOOST_PP_NODE_41, BOOST_PP_NODE_43)\r
+#                            define BOOST_PP_NODE_41(p) BOOST_PP_IIF(p##(41), 41, 42)\r
+#                            define BOOST_PP_NODE_43(p) BOOST_PP_IIF(p##(43), 43, 44)\r
+#                        define BOOST_PP_NODE_46(p) BOOST_PP_IIF(p##(46), BOOST_PP_NODE_45, BOOST_PP_NODE_47)\r
+#                            define BOOST_PP_NODE_45(p) BOOST_PP_IIF(p##(45), 45, 46)\r
+#                            define BOOST_PP_NODE_47(p) BOOST_PP_IIF(p##(47), 47, 48)\r
+#                define BOOST_PP_NODE_56(p) BOOST_PP_IIF(p##(56), BOOST_PP_NODE_52, BOOST_PP_NODE_60)\r
+#                    define BOOST_PP_NODE_52(p) BOOST_PP_IIF(p##(52), BOOST_PP_NODE_50, BOOST_PP_NODE_54)\r
+#                        define BOOST_PP_NODE_50(p) BOOST_PP_IIF(p##(50), BOOST_PP_NODE_49, BOOST_PP_NODE_51)\r
+#                            define BOOST_PP_NODE_49(p) BOOST_PP_IIF(p##(49), 49, 50)\r
+#                            define BOOST_PP_NODE_51(p) BOOST_PP_IIF(p##(51), 51, 52)\r
+#                        define BOOST_PP_NODE_54(p) BOOST_PP_IIF(p##(54), BOOST_PP_NODE_53, BOOST_PP_NODE_55)\r
+#                            define BOOST_PP_NODE_53(p) BOOST_PP_IIF(p##(53), 53, 54)\r
+#                            define BOOST_PP_NODE_55(p) BOOST_PP_IIF(p##(55), 55, 56)\r
+#                    define BOOST_PP_NODE_60(p) BOOST_PP_IIF(p##(60), BOOST_PP_NODE_58, BOOST_PP_NODE_62)\r
+#                        define BOOST_PP_NODE_58(p) BOOST_PP_IIF(p##(58), BOOST_PP_NODE_57, BOOST_PP_NODE_59)\r
+#                            define BOOST_PP_NODE_57(p) BOOST_PP_IIF(p##(57), 57, 58)\r
+#                            define BOOST_PP_NODE_59(p) BOOST_PP_IIF(p##(59), 59, 60)\r
+#                        define BOOST_PP_NODE_62(p) BOOST_PP_IIF(p##(62), BOOST_PP_NODE_61, BOOST_PP_NODE_63)\r
+#                            define BOOST_PP_NODE_61(p) BOOST_PP_IIF(p##(61), 61, 62)\r
+#                            define BOOST_PP_NODE_63(p) BOOST_PP_IIF(p##(63), 63, 64)\r
+#        define BOOST_PP_NODE_96(p) BOOST_PP_IIF(p##(96), BOOST_PP_NODE_80, BOOST_PP_NODE_112)\r
+#            define BOOST_PP_NODE_80(p) BOOST_PP_IIF(p##(80), BOOST_PP_NODE_72, BOOST_PP_NODE_88)\r
+#                define BOOST_PP_NODE_72(p) BOOST_PP_IIF(p##(72), BOOST_PP_NODE_68, BOOST_PP_NODE_76)\r
+#                    define BOOST_PP_NODE_68(p) BOOST_PP_IIF(p##(68), BOOST_PP_NODE_66, BOOST_PP_NODE_70)\r
+#                        define BOOST_PP_NODE_66(p) BOOST_PP_IIF(p##(66), BOOST_PP_NODE_65, BOOST_PP_NODE_67)\r
+#                            define BOOST_PP_NODE_65(p) BOOST_PP_IIF(p##(65), 65, 66)\r
+#                            define BOOST_PP_NODE_67(p) BOOST_PP_IIF(p##(67), 67, 68)\r
+#                        define BOOST_PP_NODE_70(p) BOOST_PP_IIF(p##(70), BOOST_PP_NODE_69, BOOST_PP_NODE_71)\r
+#                            define BOOST_PP_NODE_69(p) BOOST_PP_IIF(p##(69), 69, 70)\r
+#                            define BOOST_PP_NODE_71(p) BOOST_PP_IIF(p##(71), 71, 72)\r
+#                    define BOOST_PP_NODE_76(p) BOOST_PP_IIF(p##(76), BOOST_PP_NODE_74, BOOST_PP_NODE_78)\r
+#                        define BOOST_PP_NODE_74(p) BOOST_PP_IIF(p##(74), BOOST_PP_NODE_73, BOOST_PP_NODE_75)\r
+#                            define BOOST_PP_NODE_73(p) BOOST_PP_IIF(p##(73), 73, 74)\r
+#                            define BOOST_PP_NODE_75(p) BOOST_PP_IIF(p##(75), 75, 76)\r
+#                        define BOOST_PP_NODE_78(p) BOOST_PP_IIF(p##(78), BOOST_PP_NODE_77, BOOST_PP_NODE_79)\r
+#                            define BOOST_PP_NODE_77(p) BOOST_PP_IIF(p##(77), 77, 78)\r
+#                            define BOOST_PP_NODE_79(p) BOOST_PP_IIF(p##(79), 79, 80)\r
+#                define BOOST_PP_NODE_88(p) BOOST_PP_IIF(p##(88), BOOST_PP_NODE_84, BOOST_PP_NODE_92)\r
+#                    define BOOST_PP_NODE_84(p) BOOST_PP_IIF(p##(84), BOOST_PP_NODE_82, BOOST_PP_NODE_86)\r
+#                        define BOOST_PP_NODE_82(p) BOOST_PP_IIF(p##(82), BOOST_PP_NODE_81, BOOST_PP_NODE_83)\r
+#                            define BOOST_PP_NODE_81(p) BOOST_PP_IIF(p##(81), 81, 82)\r
+#                            define BOOST_PP_NODE_83(p) BOOST_PP_IIF(p##(83), 83, 84)\r
+#                        define BOOST_PP_NODE_86(p) BOOST_PP_IIF(p##(86), BOOST_PP_NODE_85, BOOST_PP_NODE_87)\r
+#                            define BOOST_PP_NODE_85(p) BOOST_PP_IIF(p##(85), 85, 86)\r
+#                            define BOOST_PP_NODE_87(p) BOOST_PP_IIF(p##(87), 87, 88)\r
+#                    define BOOST_PP_NODE_92(p) BOOST_PP_IIF(p##(92), BOOST_PP_NODE_90, BOOST_PP_NODE_94)\r
+#                        define BOOST_PP_NODE_90(p) BOOST_PP_IIF(p##(90), BOOST_PP_NODE_89, BOOST_PP_NODE_91)\r
+#                            define BOOST_PP_NODE_89(p) BOOST_PP_IIF(p##(89), 89, 90)\r
+#                            define BOOST_PP_NODE_91(p) BOOST_PP_IIF(p##(91), 91, 92)\r
+#                        define BOOST_PP_NODE_94(p) BOOST_PP_IIF(p##(94), BOOST_PP_NODE_93, BOOST_PP_NODE_95)\r
+#                            define BOOST_PP_NODE_93(p) BOOST_PP_IIF(p##(93), 93, 94)\r
+#                            define BOOST_PP_NODE_95(p) BOOST_PP_IIF(p##(95), 95, 96)\r
+#            define BOOST_PP_NODE_112(p) BOOST_PP_IIF(p##(112), BOOST_PP_NODE_104, BOOST_PP_NODE_120)\r
+#                define BOOST_PP_NODE_104(p) BOOST_PP_IIF(p##(104), BOOST_PP_NODE_100, BOOST_PP_NODE_108)\r
+#                    define BOOST_PP_NODE_100(p) BOOST_PP_IIF(p##(100), BOOST_PP_NODE_98, BOOST_PP_NODE_102)\r
+#                        define BOOST_PP_NODE_98(p) BOOST_PP_IIF(p##(98), BOOST_PP_NODE_97, BOOST_PP_NODE_99)\r
+#                            define BOOST_PP_NODE_97(p) BOOST_PP_IIF(p##(97), 97, 98)\r
+#                            define BOOST_PP_NODE_99(p) BOOST_PP_IIF(p##(99), 99, 100)\r
+#                        define BOOST_PP_NODE_102(p) BOOST_PP_IIF(p##(102), BOOST_PP_NODE_101, BOOST_PP_NODE_103)\r
+#                            define BOOST_PP_NODE_101(p) BOOST_PP_IIF(p##(101), 101, 102)\r
+#                            define BOOST_PP_NODE_103(p) BOOST_PP_IIF(p##(103), 103, 104)\r
+#                    define BOOST_PP_NODE_108(p) BOOST_PP_IIF(p##(108), BOOST_PP_NODE_106, BOOST_PP_NODE_110)\r
+#                        define BOOST_PP_NODE_106(p) BOOST_PP_IIF(p##(106), BOOST_PP_NODE_105, BOOST_PP_NODE_107)\r
+#                            define BOOST_PP_NODE_105(p) BOOST_PP_IIF(p##(105), 105, 106)\r
+#                            define BOOST_PP_NODE_107(p) BOOST_PP_IIF(p##(107), 107, 108)\r
+#                        define BOOST_PP_NODE_110(p) BOOST_PP_IIF(p##(110), BOOST_PP_NODE_109, BOOST_PP_NODE_111)\r
+#                            define BOOST_PP_NODE_109(p) BOOST_PP_IIF(p##(109), 109, 110)\r
+#                            define BOOST_PP_NODE_111(p) BOOST_PP_IIF(p##(111), 111, 112)\r
+#                define BOOST_PP_NODE_120(p) BOOST_PP_IIF(p##(120), BOOST_PP_NODE_116, BOOST_PP_NODE_124)\r
+#                    define BOOST_PP_NODE_116(p) BOOST_PP_IIF(p##(116), BOOST_PP_NODE_114, BOOST_PP_NODE_118)\r
+#                        define BOOST_PP_NODE_114(p) BOOST_PP_IIF(p##(114), BOOST_PP_NODE_113, BOOST_PP_NODE_115)\r
+#                            define BOOST_PP_NODE_113(p) BOOST_PP_IIF(p##(113), 113, 114)\r
+#                            define BOOST_PP_NODE_115(p) BOOST_PP_IIF(p##(115), 115, 116)\r
+#                        define BOOST_PP_NODE_118(p) BOOST_PP_IIF(p##(118), BOOST_PP_NODE_117, BOOST_PP_NODE_119)\r
+#                            define BOOST_PP_NODE_117(p) BOOST_PP_IIF(p##(117), 117, 118)\r
+#                            define BOOST_PP_NODE_119(p) BOOST_PP_IIF(p##(119), 119, 120)\r
+#                    define BOOST_PP_NODE_124(p) BOOST_PP_IIF(p##(124), BOOST_PP_NODE_122, BOOST_PP_NODE_126)\r
+#                        define BOOST_PP_NODE_122(p) BOOST_PP_IIF(p##(122), BOOST_PP_NODE_121, BOOST_PP_NODE_123)\r
+#                            define BOOST_PP_NODE_121(p) BOOST_PP_IIF(p##(121), 121, 122)\r
+#                            define BOOST_PP_NODE_123(p) BOOST_PP_IIF(p##(123), 123, 124)\r
+#                        define BOOST_PP_NODE_126(p) BOOST_PP_IIF(p##(126), BOOST_PP_NODE_125, BOOST_PP_NODE_127)\r
+#                            define BOOST_PP_NODE_125(p) BOOST_PP_IIF(p##(125), 125, 126)\r
+#                            define BOOST_PP_NODE_127(p) BOOST_PP_IIF(p##(127), 127, 128)\r
+#    define BOOST_PP_NODE_192(p) BOOST_PP_IIF(p##(192), BOOST_PP_NODE_160, BOOST_PP_NODE_224)\r
+#        define BOOST_PP_NODE_160(p) BOOST_PP_IIF(p##(160), BOOST_PP_NODE_144, BOOST_PP_NODE_176)\r
+#            define BOOST_PP_NODE_144(p) BOOST_PP_IIF(p##(144), BOOST_PP_NODE_136, BOOST_PP_NODE_152)\r
+#                define BOOST_PP_NODE_136(p) BOOST_PP_IIF(p##(136), BOOST_PP_NODE_132, BOOST_PP_NODE_140)\r
+#                    define BOOST_PP_NODE_132(p) BOOST_PP_IIF(p##(132), BOOST_PP_NODE_130, BOOST_PP_NODE_134)\r
+#                        define BOOST_PP_NODE_130(p) BOOST_PP_IIF(p##(130), BOOST_PP_NODE_129, BOOST_PP_NODE_131)\r
+#                            define BOOST_PP_NODE_129(p) BOOST_PP_IIF(p##(129), 129, 130)\r
+#                            define BOOST_PP_NODE_131(p) BOOST_PP_IIF(p##(131), 131, 132)\r
+#                        define BOOST_PP_NODE_134(p) BOOST_PP_IIF(p##(134), BOOST_PP_NODE_133, BOOST_PP_NODE_135)\r
+#                            define BOOST_PP_NODE_133(p) BOOST_PP_IIF(p##(133), 133, 134)\r
+#                            define BOOST_PP_NODE_135(p) BOOST_PP_IIF(p##(135), 135, 136)\r
+#                    define BOOST_PP_NODE_140(p) BOOST_PP_IIF(p##(140), BOOST_PP_NODE_138, BOOST_PP_NODE_142)\r
+#                        define BOOST_PP_NODE_138(p) BOOST_PP_IIF(p##(138), BOOST_PP_NODE_137, BOOST_PP_NODE_139)\r
+#                            define BOOST_PP_NODE_137(p) BOOST_PP_IIF(p##(137), 137, 138)\r
+#                            define BOOST_PP_NODE_139(p) BOOST_PP_IIF(p##(139), 139, 140)\r
+#                        define BOOST_PP_NODE_142(p) BOOST_PP_IIF(p##(142), BOOST_PP_NODE_141, BOOST_PP_NODE_143)\r
+#                            define BOOST_PP_NODE_141(p) BOOST_PP_IIF(p##(141), 141, 142)\r
+#                            define BOOST_PP_NODE_143(p) BOOST_PP_IIF(p##(143), 143, 144)\r
+#                define BOOST_PP_NODE_152(p) BOOST_PP_IIF(p##(152), BOOST_PP_NODE_148, BOOST_PP_NODE_156)\r
+#                    define BOOST_PP_NODE_148(p) BOOST_PP_IIF(p##(148), BOOST_PP_NODE_146, BOOST_PP_NODE_150)\r
+#                        define BOOST_PP_NODE_146(p) BOOST_PP_IIF(p##(146), BOOST_PP_NODE_145, BOOST_PP_NODE_147)\r
+#                            define BOOST_PP_NODE_145(p) BOOST_PP_IIF(p##(145), 145, 146)\r
+#                            define BOOST_PP_NODE_147(p) BOOST_PP_IIF(p##(147), 147, 148)\r
+#                        define BOOST_PP_NODE_150(p) BOOST_PP_IIF(p##(150), BOOST_PP_NODE_149, BOOST_PP_NODE_151)\r
+#                            define BOOST_PP_NODE_149(p) BOOST_PP_IIF(p##(149), 149, 150)\r
+#                            define BOOST_PP_NODE_151(p) BOOST_PP_IIF(p##(151), 151, 152)\r
+#                    define BOOST_PP_NODE_156(p) BOOST_PP_IIF(p##(156), BOOST_PP_NODE_154, BOOST_PP_NODE_158)\r
+#                        define BOOST_PP_NODE_154(p) BOOST_PP_IIF(p##(154), BOOST_PP_NODE_153, BOOST_PP_NODE_155)\r
+#                            define BOOST_PP_NODE_153(p) BOOST_PP_IIF(p##(153), 153, 154)\r
+#                            define BOOST_PP_NODE_155(p) BOOST_PP_IIF(p##(155), 155, 156)\r
+#                        define BOOST_PP_NODE_158(p) BOOST_PP_IIF(p##(158), BOOST_PP_NODE_157, BOOST_PP_NODE_159)\r
+#                            define BOOST_PP_NODE_157(p) BOOST_PP_IIF(p##(157), 157, 158)\r
+#                            define BOOST_PP_NODE_159(p) BOOST_PP_IIF(p##(159), 159, 160)\r
+#            define BOOST_PP_NODE_176(p) BOOST_PP_IIF(p##(176), BOOST_PP_NODE_168, BOOST_PP_NODE_184)\r
+#                define BOOST_PP_NODE_168(p) BOOST_PP_IIF(p##(168), BOOST_PP_NODE_164, BOOST_PP_NODE_172)\r
+#                    define BOOST_PP_NODE_164(p) BOOST_PP_IIF(p##(164), BOOST_PP_NODE_162, BOOST_PP_NODE_166)\r
+#                        define BOOST_PP_NODE_162(p) BOOST_PP_IIF(p##(162), BOOST_PP_NODE_161, BOOST_PP_NODE_163)\r
+#                            define BOOST_PP_NODE_161(p) BOOST_PP_IIF(p##(161), 161, 162)\r
+#                            define BOOST_PP_NODE_163(p) BOOST_PP_IIF(p##(163), 163, 164)\r
+#                        define BOOST_PP_NODE_166(p) BOOST_PP_IIF(p##(166), BOOST_PP_NODE_165, BOOST_PP_NODE_167)\r
+#                            define BOOST_PP_NODE_165(p) BOOST_PP_IIF(p##(165), 165, 166)\r
+#                            define BOOST_PP_NODE_167(p) BOOST_PP_IIF(p##(167), 167, 168)\r
+#                    define BOOST_PP_NODE_172(p) BOOST_PP_IIF(p##(172), BOOST_PP_NODE_170, BOOST_PP_NODE_174)\r
+#                        define BOOST_PP_NODE_170(p) BOOST_PP_IIF(p##(170), BOOST_PP_NODE_169, BOOST_PP_NODE_171)\r
+#                            define BOOST_PP_NODE_169(p) BOOST_PP_IIF(p##(169), 169, 170)\r
+#                            define BOOST_PP_NODE_171(p) BOOST_PP_IIF(p##(171), 171, 172)\r
+#                        define BOOST_PP_NODE_174(p) BOOST_PP_IIF(p##(174), BOOST_PP_NODE_173, BOOST_PP_NODE_175)\r
+#                            define BOOST_PP_NODE_173(p) BOOST_PP_IIF(p##(173), 173, 174)\r
+#                            define BOOST_PP_NODE_175(p) BOOST_PP_IIF(p##(175), 175, 176)\r
+#                define BOOST_PP_NODE_184(p) BOOST_PP_IIF(p##(184), BOOST_PP_NODE_180, BOOST_PP_NODE_188)\r
+#                    define BOOST_PP_NODE_180(p) BOOST_PP_IIF(p##(180), BOOST_PP_NODE_178, BOOST_PP_NODE_182)\r
+#                        define BOOST_PP_NODE_178(p) BOOST_PP_IIF(p##(178), BOOST_PP_NODE_177, BOOST_PP_NODE_179)\r
+#                            define BOOST_PP_NODE_177(p) BOOST_PP_IIF(p##(177), 177, 178)\r
+#                            define BOOST_PP_NODE_179(p) BOOST_PP_IIF(p##(179), 179, 180)\r
+#                        define BOOST_PP_NODE_182(p) BOOST_PP_IIF(p##(182), BOOST_PP_NODE_181, BOOST_PP_NODE_183)\r
+#                            define BOOST_PP_NODE_181(p) BOOST_PP_IIF(p##(181), 181, 182)\r
+#                            define BOOST_PP_NODE_183(p) BOOST_PP_IIF(p##(183), 183, 184)\r
+#                    define BOOST_PP_NODE_188(p) BOOST_PP_IIF(p##(188), BOOST_PP_NODE_186, BOOST_PP_NODE_190)\r
+#                        define BOOST_PP_NODE_186(p) BOOST_PP_IIF(p##(186), BOOST_PP_NODE_185, BOOST_PP_NODE_187)\r
+#                            define BOOST_PP_NODE_185(p) BOOST_PP_IIF(p##(185), 185, 186)\r
+#                            define BOOST_PP_NODE_187(p) BOOST_PP_IIF(p##(187), 187, 188)\r
+#                        define BOOST_PP_NODE_190(p) BOOST_PP_IIF(p##(190), BOOST_PP_NODE_189, BOOST_PP_NODE_191)\r
+#                            define BOOST_PP_NODE_189(p) BOOST_PP_IIF(p##(189), 189, 190)\r
+#                            define BOOST_PP_NODE_191(p) BOOST_PP_IIF(p##(191), 191, 192)\r
+#        define BOOST_PP_NODE_224(p) BOOST_PP_IIF(p##(224), BOOST_PP_NODE_208, BOOST_PP_NODE_240)\r
+#            define BOOST_PP_NODE_208(p) BOOST_PP_IIF(p##(208), BOOST_PP_NODE_200, BOOST_PP_NODE_216)\r
+#                define BOOST_PP_NODE_200(p) BOOST_PP_IIF(p##(200), BOOST_PP_NODE_196, BOOST_PP_NODE_204)\r
+#                    define BOOST_PP_NODE_196(p) BOOST_PP_IIF(p##(196), BOOST_PP_NODE_194, BOOST_PP_NODE_198)\r
+#                        define BOOST_PP_NODE_194(p) BOOST_PP_IIF(p##(194), BOOST_PP_NODE_193, BOOST_PP_NODE_195)\r
+#                            define BOOST_PP_NODE_193(p) BOOST_PP_IIF(p##(193), 193, 194)\r
+#                            define BOOST_PP_NODE_195(p) BOOST_PP_IIF(p##(195), 195, 196)\r
+#                        define BOOST_PP_NODE_198(p) BOOST_PP_IIF(p##(198), BOOST_PP_NODE_197, BOOST_PP_NODE_199)\r
+#                            define BOOST_PP_NODE_197(p) BOOST_PP_IIF(p##(197), 197, 198)\r
+#                            define BOOST_PP_NODE_199(p) BOOST_PP_IIF(p##(199), 199, 200)\r
+#                    define BOOST_PP_NODE_204(p) BOOST_PP_IIF(p##(204), BOOST_PP_NODE_202, BOOST_PP_NODE_206)\r
+#                        define BOOST_PP_NODE_202(p) BOOST_PP_IIF(p##(202), BOOST_PP_NODE_201, BOOST_PP_NODE_203)\r
+#                            define BOOST_PP_NODE_201(p) BOOST_PP_IIF(p##(201), 201, 202)\r
+#                            define BOOST_PP_NODE_203(p) BOOST_PP_IIF(p##(203), 203, 204)\r
+#                        define BOOST_PP_NODE_206(p) BOOST_PP_IIF(p##(206), BOOST_PP_NODE_205, BOOST_PP_NODE_207)\r
+#                            define BOOST_PP_NODE_205(p) BOOST_PP_IIF(p##(205), 205, 206)\r
+#                            define BOOST_PP_NODE_207(p) BOOST_PP_IIF(p##(207), 207, 208)\r
+#                define BOOST_PP_NODE_216(p) BOOST_PP_IIF(p##(216), BOOST_PP_NODE_212, BOOST_PP_NODE_220)\r
+#                    define BOOST_PP_NODE_212(p) BOOST_PP_IIF(p##(212), BOOST_PP_NODE_210, BOOST_PP_NODE_214)\r
+#                        define BOOST_PP_NODE_210(p) BOOST_PP_IIF(p##(210), BOOST_PP_NODE_209, BOOST_PP_NODE_211)\r
+#                            define BOOST_PP_NODE_209(p) BOOST_PP_IIF(p##(209), 209, 210)\r
+#                            define BOOST_PP_NODE_211(p) BOOST_PP_IIF(p##(211), 211, 212)\r
+#                        define BOOST_PP_NODE_214(p) BOOST_PP_IIF(p##(214), BOOST_PP_NODE_213, BOOST_PP_NODE_215)\r
+#                            define BOOST_PP_NODE_213(p) BOOST_PP_IIF(p##(213), 213, 214)\r
+#                            define BOOST_PP_NODE_215(p) BOOST_PP_IIF(p##(215), 215, 216)\r
+#                    define BOOST_PP_NODE_220(p) BOOST_PP_IIF(p##(220), BOOST_PP_NODE_218, BOOST_PP_NODE_222)\r
+#                        define BOOST_PP_NODE_218(p) BOOST_PP_IIF(p##(218), BOOST_PP_NODE_217, BOOST_PP_NODE_219)\r
+#                            define BOOST_PP_NODE_217(p) BOOST_PP_IIF(p##(217), 217, 218)\r
+#                            define BOOST_PP_NODE_219(p) BOOST_PP_IIF(p##(219), 219, 220)\r
+#                        define BOOST_PP_NODE_222(p) BOOST_PP_IIF(p##(222), BOOST_PP_NODE_221, BOOST_PP_NODE_223)\r
+#                            define BOOST_PP_NODE_221(p) BOOST_PP_IIF(p##(221), 221, 222)\r
+#                            define BOOST_PP_NODE_223(p) BOOST_PP_IIF(p##(223), 223, 224)\r
+#            define BOOST_PP_NODE_240(p) BOOST_PP_IIF(p##(240), BOOST_PP_NODE_232, BOOST_PP_NODE_248)\r
+#                define BOOST_PP_NODE_232(p) BOOST_PP_IIF(p##(232), BOOST_PP_NODE_228, BOOST_PP_NODE_236)\r
+#                    define BOOST_PP_NODE_228(p) BOOST_PP_IIF(p##(228), BOOST_PP_NODE_226, BOOST_PP_NODE_230)\r
+#                        define BOOST_PP_NODE_226(p) BOOST_PP_IIF(p##(226), BOOST_PP_NODE_225, BOOST_PP_NODE_227)\r
+#                            define BOOST_PP_NODE_225(p) BOOST_PP_IIF(p##(225), 225, 226)\r
+#                            define BOOST_PP_NODE_227(p) BOOST_PP_IIF(p##(227), 227, 228)\r
+#                        define BOOST_PP_NODE_230(p) BOOST_PP_IIF(p##(230), BOOST_PP_NODE_229, BOOST_PP_NODE_231)\r
+#                            define BOOST_PP_NODE_229(p) BOOST_PP_IIF(p##(229), 229, 230)\r
+#                            define BOOST_PP_NODE_231(p) BOOST_PP_IIF(p##(231), 231, 232)\r
+#                    define BOOST_PP_NODE_236(p) BOOST_PP_IIF(p##(236), BOOST_PP_NODE_234, BOOST_PP_NODE_238)\r
+#                        define BOOST_PP_NODE_234(p) BOOST_PP_IIF(p##(234), BOOST_PP_NODE_233, BOOST_PP_NODE_235)\r
+#                            define BOOST_PP_NODE_233(p) BOOST_PP_IIF(p##(233), 233, 234)\r
+#                            define BOOST_PP_NODE_235(p) BOOST_PP_IIF(p##(235), 235, 236)\r
+#                        define BOOST_PP_NODE_238(p) BOOST_PP_IIF(p##(238), BOOST_PP_NODE_237, BOOST_PP_NODE_239)\r
+#                            define BOOST_PP_NODE_237(p) BOOST_PP_IIF(p##(237), 237, 238)\r
+#                            define BOOST_PP_NODE_239(p) BOOST_PP_IIF(p##(239), 239, 240)\r
+#                define BOOST_PP_NODE_248(p) BOOST_PP_IIF(p##(248), BOOST_PP_NODE_244, BOOST_PP_NODE_252)\r
+#                    define BOOST_PP_NODE_244(p) BOOST_PP_IIF(p##(244), BOOST_PP_NODE_242, BOOST_PP_NODE_246)\r
+#                        define BOOST_PP_NODE_242(p) BOOST_PP_IIF(p##(242), BOOST_PP_NODE_241, BOOST_PP_NODE_243)\r
+#                            define BOOST_PP_NODE_241(p) BOOST_PP_IIF(p##(241), 241, 242)\r
+#                            define BOOST_PP_NODE_243(p) BOOST_PP_IIF(p##(243), 243, 244)\r
+#                        define BOOST_PP_NODE_246(p) BOOST_PP_IIF(p##(246), BOOST_PP_NODE_245, BOOST_PP_NODE_247)\r
+#                            define BOOST_PP_NODE_245(p) BOOST_PP_IIF(p##(245), 245, 246)\r
+#                            define BOOST_PP_NODE_247(p) BOOST_PP_IIF(p##(247), 247, 248)\r
+#                    define BOOST_PP_NODE_252(p) BOOST_PP_IIF(p##(252), BOOST_PP_NODE_250, BOOST_PP_NODE_254)\r
+#                        define BOOST_PP_NODE_250(p) BOOST_PP_IIF(p##(250), BOOST_PP_NODE_249, BOOST_PP_NODE_251)\r
+#                            define BOOST_PP_NODE_249(p) BOOST_PP_IIF(p##(249), 249, 250)\r
+#                            define BOOST_PP_NODE_251(p) BOOST_PP_IIF(p##(251), 251, 252)\r
+#                        define BOOST_PP_NODE_254(p) BOOST_PP_IIF(p##(254), BOOST_PP_NODE_253, BOOST_PP_NODE_255)\r
+#                            define BOOST_PP_NODE_253(p) BOOST_PP_IIF(p##(253), 253, 254)\r
+#                            define BOOST_PP_NODE_255(p) BOOST_PP_IIF(p##(255), 255, 256)\r
+#\r
+# endif\r
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 (file)
index 0000000..f2180e5
--- /dev/null
@@ -0,0 +1,30 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_DETAIL_IS_BINARY_HPP\r
+# define BOOST_PREPROCESSOR_DETAIL_IS_BINARY_HPP\r
+#\r
+# include <boost/preprocessor/config/config.hpp>\r
+# include <boost/preprocessor/detail/check.hpp>\r
+#\r
+# /* BOOST_PP_IS_BINARY */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    define BOOST_PP_IS_BINARY(x) BOOST_PP_CHECK(x, BOOST_PP_IS_BINARY_CHECK)\r
+# else\r
+#    define BOOST_PP_IS_BINARY(x) BOOST_PP_IS_BINARY_I(x)\r
+#    define BOOST_PP_IS_BINARY_I(x) BOOST_PP_CHECK(x, BOOST_PP_IS_BINARY_CHECK)\r
+# endif\r
+#\r
+# define BOOST_PP_IS_BINARY_CHECK(a, b) 1\r
+# define BOOST_PP_CHECK_RESULT_BOOST_PP_IS_BINARY_CHECK 0, BOOST_PP_NIL\r
+#\r
+# endif\r
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 (file)
index 0000000..a99822d
--- /dev/null
@@ -0,0 +1,30 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_DETAIL_IS_NULLARY_HPP\r
+# define BOOST_PREPROCESSOR_DETAIL_IS_NULLARY_HPP\r
+#\r
+# include <boost/preprocessor/config/config.hpp>\r
+# include <boost/preprocessor/detail/check.hpp>\r
+#\r
+# /* BOOST_PP_IS_NULLARY */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    define BOOST_PP_IS_NULLARY(x) BOOST_PP_CHECK(x, BOOST_PP_IS_NULLARY_CHECK)\r
+# else\r
+#    define BOOST_PP_IS_NULLARY(x) BOOST_PP_IS_NULLARY_I(x)\r
+#    define BOOST_PP_IS_NULLARY_I(x) BOOST_PP_CHECK(x, BOOST_PP_IS_NULLARY_CHECK)\r
+# endif\r
+#\r
+# define BOOST_PP_IS_NULLARY_CHECK() 1\r
+# define BOOST_PP_CHECK_RESULT_BOOST_PP_IS_NULLARY_CHECK 0, BOOST_PP_NIL\r
+#\r
+# endif\r
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 (file)
index 0000000..72486c5
--- /dev/null
@@ -0,0 +1,30 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_DETAIL_IS_UNARY_HPP\r
+# define BOOST_PREPROCESSOR_DETAIL_IS_UNARY_HPP\r
+#\r
+# include <boost/preprocessor/config/config.hpp>\r
+# include <boost/preprocessor/detail/check.hpp>\r
+#\r
+# /* BOOST_PP_IS_UNARY */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    define BOOST_PP_IS_UNARY(x) BOOST_PP_CHECK(x, BOOST_PP_IS_UNARY_CHECK)\r
+# else\r
+#    define BOOST_PP_IS_UNARY(x) BOOST_PP_IS_UNARY_I(x)\r
+#    define BOOST_PP_IS_UNARY_I(x) BOOST_PP_CHECK(x, BOOST_PP_IS_UNARY_CHECK)\r
+# endif\r
+#\r
+# define BOOST_PP_IS_UNARY_CHECK(a) 1\r
+# define BOOST_PP_CHECK_RESULT_BOOST_PP_IS_UNARY_CHECK 0, BOOST_PP_NIL\r
+#\r
+# endif\r
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 (file)
index 0000000..eaec7ba
--- /dev/null
@@ -0,0 +1,17 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_DETAIL_NULL_HPP\r
+# define BOOST_PREPROCESSOR_DETAIL_NULL_HPP\r
+#\r
+# /* empty file */\r
+#\r
+# endif\r
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 (file)
index 0000000..99d9183
--- /dev/null
@@ -0,0 +1,35 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_DETAIL_SPLIT_HPP\r
+# define BOOST_PREPROCESSOR_DETAIL_SPLIT_HPP\r
+#\r
+# include <boost/preprocessor/config/config.hpp>\r
+#\r
+# /* BOOST_PP_SPLIT */\r
+#\r
+# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()\r
+#    define BOOST_PP_SPLIT(n, im) BOOST_PP_SPLIT_I((n, im))\r
+#    define BOOST_PP_SPLIT_I(par) BOOST_PP_SPLIT_II ## par\r
+#    define BOOST_PP_SPLIT_II(n, a, b) BOOST_PP_SPLIT_ ## n(a, b)\r
+# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()\r
+#    define BOOST_PP_SPLIT(n, im) BOOST_PP_SPLIT_I(n((im)))\r
+#    define BOOST_PP_SPLIT_I(n) BOOST_PP_SPLIT_ID(BOOST_PP_SPLIT_II_ ## n)\r
+#    define BOOST_PP_SPLIT_II_0(s) BOOST_PP_SPLIT_ID(BOOST_PP_SPLIT_0 s)\r
+#    define BOOST_PP_SPLIT_II_1(s) BOOST_PP_SPLIT_ID(BOOST_PP_SPLIT_1 s)\r
+#    define BOOST_PP_SPLIT_ID(id) id\r
+# else\r
+#    define BOOST_PP_SPLIT(n, im) BOOST_PP_SPLIT_I(n)(im)\r
+#    define BOOST_PP_SPLIT_I(n) BOOST_PP_SPLIT_ ## n\r
+# endif\r
+#\r
+# define BOOST_PP_SPLIT_0(a, b) a\r
+# define BOOST_PP_SPLIT_1(a, b) b\r
+#\r
+# endif\r
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 (file)
index 0000000..2367897
--- /dev/null
@@ -0,0 +1,17 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_EMPTY_HPP\r
+# define BOOST_PREPROCESSOR_EMPTY_HPP\r
+#\r
+# include <boost/preprocessor/facilities/empty.hpp>\r
+#\r
+# endif\r
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 (file)
index 0000000..a5bd7e0
--- /dev/null
@@ -0,0 +1,17 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_ENUM_HPP\r
+# define BOOST_PREPROCESSOR_ENUM_HPP\r
+#\r
+# include <boost/preprocessor/repetition/enum.hpp>\r
+#\r
+# endif\r
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 (file)
index 0000000..4b03350
--- /dev/null
@@ -0,0 +1,17 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_ENUM_PARAMS_HPP\r
+# define BOOST_PREPROCESSOR_ENUM_PARAMS_HPP\r
+#\r
+# include <boost/preprocessor/repetition/enum_params.hpp>\r
+#\r
+# endif\r
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 (file)
index 0000000..ed7f22d
--- /dev/null
@@ -0,0 +1,17 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_A_DEFAULT_HPP\r
+# define BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_A_DEFAULT_HPP\r
+#\r
+# include <boost/preprocessor/repetition/enum_params_with_a_default.hpp>\r
+#\r
+# endif\r
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 (file)
index 0000000..cab7db6
--- /dev/null
@@ -0,0 +1,17 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_DEFAULTS_HPP\r
+# define BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_DEFAULTS_HPP\r
+#\r
+# include <boost/preprocessor/repetition/enum_params_with_defaults.hpp>\r
+#\r
+# endif\r
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 (file)
index 0000000..8d111d6
--- /dev/null
@@ -0,0 +1,17 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_ENUM_SHIFTED_HPP\r
+# define BOOST_PREPROCESSOR_ENUM_SHIFTED_HPP\r
+#\r
+# include <boost/preprocessor/repetition/enum_shifted.hpp>\r
+#\r
+# endif\r
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 (file)
index 0000000..ebdea2d
--- /dev/null
@@ -0,0 +1,17 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_ENUM_SHIFTED_PARAMS_HPP\r
+# define BOOST_PREPROCESSOR_ENUM_SHIFTED_PARAMS_HPP\r
+#\r
+# include <boost/preprocessor/repetition/enum_shifted_params.hpp>\r
+#\r
+# endif\r
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 (file)
index 0000000..bb2e0a2
--- /dev/null
@@ -0,0 +1,17 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_EXPAND_HPP\r
+# define BOOST_PREPROCESSOR_EXPAND_HPP\r
+#\r
+# include <boost/preprocessor/facilities/expand.hpp>\r
+#\r
+# endif\r
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 (file)
index 0000000..46948e9
--- /dev/null
@@ -0,0 +1,17 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_EXPR_IF_HPP\r
+# define BOOST_PREPROCESSOR_EXPR_IF_HPP\r
+#\r
+# include <boost/preprocessor/control/expr_if.hpp>\r
+#\r
+# endif\r
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 (file)
index 0000000..af8eb07
--- /dev/null
@@ -0,0 +1,21 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_FACILITIES_HPP\r
+# define BOOST_PREPROCESSOR_FACILITIES_HPP\r
+#\r
+# include <boost/preprocessor/facilities/apply.hpp>\r
+# include <boost/preprocessor/facilities/empty.hpp>\r
+# include <boost/preprocessor/facilities/expand.hpp>\r
+# include <boost/preprocessor/facilities/identity.hpp>\r
+# include <boost/preprocessor/facilities/intercept.hpp>\r
+#\r
+# endif\r
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 (file)
index 0000000..360bb50
--- /dev/null
@@ -0,0 +1,34 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_FACILITIES_APPLY_HPP\r
+# define BOOST_PREPROCESSOR_FACILITIES_APPLY_HPP\r
+#\r
+# include <boost/preprocessor/config/config.hpp>\r
+# include <boost/preprocessor/control/expr_iif.hpp>\r
+# include <boost/preprocessor/detail/is_unary.hpp>\r
+# include <boost/preprocessor/tuple/rem.hpp>\r
+#\r
+# /* BOOST_PP_APPLY */\r
+#\r
+# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    define BOOST_PP_APPLY(x) BOOST_PP_APPLY_I(x)\r
+#    define BOOST_PP_APPLY_I(x) BOOST_PP_EXPR_IIF(BOOST_PP_IS_UNARY(x), BOOST_PP_TUPLE_REM_1 x)\r
+# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_BCC()\r
+#    define BOOST_PP_APPLY(x) BOOST_PP_APPLY_I(x)\r
+#    define BOOST_PP_APPLY_I(x) BOOST_PP_APPLY_ ## x\r
+#    define BOOST_PP_APPLY_(x) x\r
+#    define BOOST_PP_APPLY_BOOST_PP_NIL\r
+# else\r
+#    define BOOST_PP_APPLY(x) BOOST_PP_EXPR_IIF(BOOST_PP_IS_UNARY(x), BOOST_PP_TUPLE_REM_1 x)\r
+# endif\r
+#\r
+# endif\r
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 (file)
index 0000000..ad45c12
--- /dev/null
@@ -0,0 +1,21 @@
+# /* Copyright (C) 2001\r
+#  * Housemarque Oy\r
+#  * http://www.housemarque.com\r
+#  *\r
+#  * Distributed under the Boost Software License, Version 1.0. (See\r
+#  * accompanying file LICENSE_1_0.txt or copy at\r
+#  * http://www.boost.org/LICENSE_1_0.txt)\r
+#  */\r
+#\r
+# /* Revised by Paul Mensonides (2002) */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_FACILITIES_EMPTY_HPP\r
+# define BOOST_PREPROCESSOR_FACILITIES_EMPTY_HPP\r
+#\r
+# /* BOOST_PP_EMPTY */\r
+#\r
+# define BOOST_PP_EMPTY()\r
+#\r
+# endif\r
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 (file)
index 0000000..562d5fd
--- /dev/null
@@ -0,0 +1,28 @@
+# /* Copyright (C) 2001\r
+#  * Housemarque Oy\r
+#  * http://www.housemarque.com\r
+#  *\r
+#  * Distributed under the Boost Software License, Version 1.0. (See\r
+#  * accompanying file LICENSE_1_0.txt or copy at\r
+#  * http://www.boost.org/LICENSE_1_0.txt)\r
+#  */\r
+#\r
+# /* Revised by Paul Mensonides (2002) */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_FACILITIES_EXPAND_HPP\r
+# define BOOST_PREPROCESSOR_FACILITIES_EXPAND_HPP\r
+#\r
+# include <boost/preprocessor/config/config.hpp>\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() && ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC()\r
+#    define BOOST_PP_EXPAND(x) BOOST_PP_EXPAND_I(x)\r
+# else\r
+#    define BOOST_PP_EXPAND(x) BOOST_PP_EXPAND_OO((x))\r
+#    define BOOST_PP_EXPAND_OO(par) BOOST_PP_EXPAND_I ## par\r
+# endif\r
+#\r
+# define BOOST_PP_EXPAND_I(x) x\r
+#\r
+# endif\r
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 (file)
index 0000000..f79b3ce
--- /dev/null
@@ -0,0 +1,23 @@
+# /* Copyright (C) 2001\r
+#  * Housemarque Oy\r
+#  * http://www.housemarque.com\r
+#  *\r
+#  * Distributed under the Boost Software License, Version 1.0. (See\r
+#  * accompanying file LICENSE_1_0.txt or copy at\r
+#  * http://www.boost.org/LICENSE_1_0.txt)\r
+#  */\r
+#\r
+# /* Revised by Paul Mensonides (2002) */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_FACILITIES_IDENTITY_HPP\r
+# define BOOST_PREPROCESSOR_FACILITIES_IDENTITY_HPP\r
+#\r
+# include <boost/preprocessor/facilities/empty.hpp>\r
+#\r
+# /* BOOST_PP_IDENTITY */\r
+#\r
+# define BOOST_PP_IDENTITY(item) item BOOST_PP_EMPTY\r
+#\r
+# endif\r
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 (file)
index 0000000..3cbaa67
--- /dev/null
@@ -0,0 +1,277 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_FACILITIES_INTERCEPT_HPP\r
+# define BOOST_PREPROCESSOR_FACILITIES_INTERCEPT_HPP\r
+#\r
+# /* BOOST_PP_INTERCEPT */\r
+#\r
+# define BOOST_PP_INTERCEPT BOOST_PP_INTERCEPT_\r
+#\r
+# define BOOST_PP_INTERCEPT_0\r
+# define BOOST_PP_INTERCEPT_1\r
+# define BOOST_PP_INTERCEPT_2\r
+# define BOOST_PP_INTERCEPT_3\r
+# define BOOST_PP_INTERCEPT_4\r
+# define BOOST_PP_INTERCEPT_5\r
+# define BOOST_PP_INTERCEPT_6\r
+# define BOOST_PP_INTERCEPT_7\r
+# define BOOST_PP_INTERCEPT_8\r
+# define BOOST_PP_INTERCEPT_9\r
+# define BOOST_PP_INTERCEPT_10\r
+# define BOOST_PP_INTERCEPT_11\r
+# define BOOST_PP_INTERCEPT_12\r
+# define BOOST_PP_INTERCEPT_13\r
+# define BOOST_PP_INTERCEPT_14\r
+# define BOOST_PP_INTERCEPT_15\r
+# define BOOST_PP_INTERCEPT_16\r
+# define BOOST_PP_INTERCEPT_17\r
+# define BOOST_PP_INTERCEPT_18\r
+# define BOOST_PP_INTERCEPT_19\r
+# define BOOST_PP_INTERCEPT_20\r
+# define BOOST_PP_INTERCEPT_21\r
+# define BOOST_PP_INTERCEPT_22\r
+# define BOOST_PP_INTERCEPT_23\r
+# define BOOST_PP_INTERCEPT_24\r
+# define BOOST_PP_INTERCEPT_25\r
+# define BOOST_PP_INTERCEPT_26\r
+# define BOOST_PP_INTERCEPT_27\r
+# define BOOST_PP_INTERCEPT_28\r
+# define BOOST_PP_INTERCEPT_29\r
+# define BOOST_PP_INTERCEPT_30\r
+# define BOOST_PP_INTERCEPT_31\r
+# define BOOST_PP_INTERCEPT_32\r
+# define BOOST_PP_INTERCEPT_33\r
+# define BOOST_PP_INTERCEPT_34\r
+# define BOOST_PP_INTERCEPT_35\r
+# define BOOST_PP_INTERCEPT_36\r
+# define BOOST_PP_INTERCEPT_37\r
+# define BOOST_PP_INTERCEPT_38\r
+# define BOOST_PP_INTERCEPT_39\r
+# define BOOST_PP_INTERCEPT_40\r
+# define BOOST_PP_INTERCEPT_41\r
+# define BOOST_PP_INTERCEPT_42\r
+# define BOOST_PP_INTERCEPT_43\r
+# define BOOST_PP_INTERCEPT_44\r
+# define BOOST_PP_INTERCEPT_45\r
+# define BOOST_PP_INTERCEPT_46\r
+# define BOOST_PP_INTERCEPT_47\r
+# define BOOST_PP_INTERCEPT_48\r
+# define BOOST_PP_INTERCEPT_49\r
+# define BOOST_PP_INTERCEPT_50\r
+# define BOOST_PP_INTERCEPT_51\r
+# define BOOST_PP_INTERCEPT_52\r
+# define BOOST_PP_INTERCEPT_53\r
+# define BOOST_PP_INTERCEPT_54\r
+# define BOOST_PP_INTERCEPT_55\r
+# define BOOST_PP_INTERCEPT_56\r
+# define BOOST_PP_INTERCEPT_57\r
+# define BOOST_PP_INTERCEPT_58\r
+# define BOOST_PP_INTERCEPT_59\r
+# define BOOST_PP_INTERCEPT_60\r
+# define BOOST_PP_INTERCEPT_61\r
+# define BOOST_PP_INTERCEPT_62\r
+# define BOOST_PP_INTERCEPT_63\r
+# define BOOST_PP_INTERCEPT_64\r
+# define BOOST_PP_INTERCEPT_65\r
+# define BOOST_PP_INTERCEPT_66\r
+# define BOOST_PP_INTERCEPT_67\r
+# define BOOST_PP_INTERCEPT_68\r
+# define BOOST_PP_INTERCEPT_69\r
+# define BOOST_PP_INTERCEPT_70\r
+# define BOOST_PP_INTERCEPT_71\r
+# define BOOST_PP_INTERCEPT_72\r
+# define BOOST_PP_INTERCEPT_73\r
+# define BOOST_PP_INTERCEPT_74\r
+# define BOOST_PP_INTERCEPT_75\r
+# define BOOST_PP_INTERCEPT_76\r
+# define BOOST_PP_INTERCEPT_77\r
+# define BOOST_PP_INTERCEPT_78\r
+# define BOOST_PP_INTERCEPT_79\r
+# define BOOST_PP_INTERCEPT_80\r
+# define BOOST_PP_INTERCEPT_81\r
+# define BOOST_PP_INTERCEPT_82\r
+# define BOOST_PP_INTERCEPT_83\r
+# define BOOST_PP_INTERCEPT_84\r
+# define BOOST_PP_INTERCEPT_85\r
+# define BOOST_PP_INTERCEPT_86\r
+# define BOOST_PP_INTERCEPT_87\r
+# define BOOST_PP_INTERCEPT_88\r
+# define BOOST_PP_INTERCEPT_89\r
+# define BOOST_PP_INTERCEPT_90\r
+# define BOOST_PP_INTERCEPT_91\r
+# define BOOST_PP_INTERCEPT_92\r
+# define BOOST_PP_INTERCEPT_93\r
+# define BOOST_PP_INTERCEPT_94\r
+# define BOOST_PP_INTERCEPT_95\r
+# define BOOST_PP_INTERCEPT_96\r
+# define BOOST_PP_INTERCEPT_97\r
+# define BOOST_PP_INTERCEPT_98\r
+# define BOOST_PP_INTERCEPT_99\r
+# define BOOST_PP_INTERCEPT_100\r
+# define BOOST_PP_INTERCEPT_101\r
+# define BOOST_PP_INTERCEPT_102\r
+# define BOOST_PP_INTERCEPT_103\r
+# define BOOST_PP_INTERCEPT_104\r
+# define BOOST_PP_INTERCEPT_105\r
+# define BOOST_PP_INTERCEPT_106\r
+# define BOOST_PP_INTERCEPT_107\r
+# define BOOST_PP_INTERCEPT_108\r
+# define BOOST_PP_INTERCEPT_109\r
+# define BOOST_PP_INTERCEPT_110\r
+# define BOOST_PP_INTERCEPT_111\r
+# define BOOST_PP_INTERCEPT_112\r
+# define BOOST_PP_INTERCEPT_113\r
+# define BOOST_PP_INTERCEPT_114\r
+# define BOOST_PP_INTERCEPT_115\r
+# define BOOST_PP_INTERCEPT_116\r
+# define BOOST_PP_INTERCEPT_117\r
+# define BOOST_PP_INTERCEPT_118\r
+# define BOOST_PP_INTERCEPT_119\r
+# define BOOST_PP_INTERCEPT_120\r
+# define BOOST_PP_INTERCEPT_121\r
+# define BOOST_PP_INTERCEPT_122\r
+# define BOOST_PP_INTERCEPT_123\r
+# define BOOST_PP_INTERCEPT_124\r
+# define BOOST_PP_INTERCEPT_125\r
+# define BOOST_PP_INTERCEPT_126\r
+# define BOOST_PP_INTERCEPT_127\r
+# define BOOST_PP_INTERCEPT_128\r
+# define BOOST_PP_INTERCEPT_129\r
+# define BOOST_PP_INTERCEPT_130\r
+# define BOOST_PP_INTERCEPT_131\r
+# define BOOST_PP_INTERCEPT_132\r
+# define BOOST_PP_INTERCEPT_133\r
+# define BOOST_PP_INTERCEPT_134\r
+# define BOOST_PP_INTERCEPT_135\r
+# define BOOST_PP_INTERCEPT_136\r
+# define BOOST_PP_INTERCEPT_137\r
+# define BOOST_PP_INTERCEPT_138\r
+# define BOOST_PP_INTERCEPT_139\r
+# define BOOST_PP_INTERCEPT_140\r
+# define BOOST_PP_INTERCEPT_141\r
+# define BOOST_PP_INTERCEPT_142\r
+# define BOOST_PP_INTERCEPT_143\r
+# define BOOST_PP_INTERCEPT_144\r
+# define BOOST_PP_INTERCEPT_145\r
+# define BOOST_PP_INTERCEPT_146\r
+# define BOOST_PP_INTERCEPT_147\r
+# define BOOST_PP_INTERCEPT_148\r
+# define BOOST_PP_INTERCEPT_149\r
+# define BOOST_PP_INTERCEPT_150\r
+# define BOOST_PP_INTERCEPT_151\r
+# define BOOST_PP_INTERCEPT_152\r
+# define BOOST_PP_INTERCEPT_153\r
+# define BOOST_PP_INTERCEPT_154\r
+# define BOOST_PP_INTERCEPT_155\r
+# define BOOST_PP_INTERCEPT_156\r
+# define BOOST_PP_INTERCEPT_157\r
+# define BOOST_PP_INTERCEPT_158\r
+# define BOOST_PP_INTERCEPT_159\r
+# define BOOST_PP_INTERCEPT_160\r
+# define BOOST_PP_INTERCEPT_161\r
+# define BOOST_PP_INTERCEPT_162\r
+# define BOOST_PP_INTERCEPT_163\r
+# define BOOST_PP_INTERCEPT_164\r
+# define BOOST_PP_INTERCEPT_165\r
+# define BOOST_PP_INTERCEPT_166\r
+# define BOOST_PP_INTERCEPT_167\r
+# define BOOST_PP_INTERCEPT_168\r
+# define BOOST_PP_INTERCEPT_169\r
+# define BOOST_PP_INTERCEPT_170\r
+# define BOOST_PP_INTERCEPT_171\r
+# define BOOST_PP_INTERCEPT_172\r
+# define BOOST_PP_INTERCEPT_173\r
+# define BOOST_PP_INTERCEPT_174\r
+# define BOOST_PP_INTERCEPT_175\r
+# define BOOST_PP_INTERCEPT_176\r
+# define BOOST_PP_INTERCEPT_177\r
+# define BOOST_PP_INTERCEPT_178\r
+# define BOOST_PP_INTERCEPT_179\r
+# define BOOST_PP_INTERCEPT_180\r
+# define BOOST_PP_INTERCEPT_181\r
+# define BOOST_PP_INTERCEPT_182\r
+# define BOOST_PP_INTERCEPT_183\r
+# define BOOST_PP_INTERCEPT_184\r
+# define BOOST_PP_INTERCEPT_185\r
+# define BOOST_PP_INTERCEPT_186\r
+# define BOOST_PP_INTERCEPT_187\r
+# define BOOST_PP_INTERCEPT_188\r
+# define BOOST_PP_INTERCEPT_189\r
+# define BOOST_PP_INTERCEPT_190\r
+# define BOOST_PP_INTERCEPT_191\r
+# define BOOST_PP_INTERCEPT_192\r
+# define BOOST_PP_INTERCEPT_193\r
+# define BOOST_PP_INTERCEPT_194\r
+# define BOOST_PP_INTERCEPT_195\r
+# define BOOST_PP_INTERCEPT_196\r
+# define BOOST_PP_INTERCEPT_197\r
+# define BOOST_PP_INTERCEPT_198\r
+# define BOOST_PP_INTERCEPT_199\r
+# define BOOST_PP_INTERCEPT_200\r
+# define BOOST_PP_INTERCEPT_201\r
+# define BOOST_PP_INTERCEPT_202\r
+# define BOOST_PP_INTERCEPT_203\r
+# define BOOST_PP_INTERCEPT_204\r
+# define BOOST_PP_INTERCEPT_205\r
+# define BOOST_PP_INTERCEPT_206\r
+# define BOOST_PP_INTERCEPT_207\r
+# define BOOST_PP_INTERCEPT_208\r
+# define BOOST_PP_INTERCEPT_209\r
+# define BOOST_PP_INTERCEPT_210\r
+# define BOOST_PP_INTERCEPT_211\r
+# define BOOST_PP_INTERCEPT_212\r
+# define BOOST_PP_INTERCEPT_213\r
+# define BOOST_PP_INTERCEPT_214\r
+# define BOOST_PP_INTERCEPT_215\r
+# define BOOST_PP_INTERCEPT_216\r
+# define BOOST_PP_INTERCEPT_217\r
+# define BOOST_PP_INTERCEPT_218\r
+# define BOOST_PP_INTERCEPT_219\r
+# define BOOST_PP_INTERCEPT_220\r
+# define BOOST_PP_INTERCEPT_221\r
+# define BOOST_PP_INTERCEPT_222\r
+# define BOOST_PP_INTERCEPT_223\r
+# define BOOST_PP_INTERCEPT_224\r
+# define BOOST_PP_INTERCEPT_225\r
+# define BOOST_PP_INTERCEPT_226\r
+# define BOOST_PP_INTERCEPT_227\r
+# define BOOST_PP_INTERCEPT_228\r
+# define BOOST_PP_INTERCEPT_229\r
+# define BOOST_PP_INTERCEPT_230\r
+# define BOOST_PP_INTERCEPT_231\r
+# define BOOST_PP_INTERCEPT_232\r
+# define BOOST_PP_INTERCEPT_233\r
+# define BOOST_PP_INTERCEPT_234\r
+# define BOOST_PP_INTERCEPT_235\r
+# define BOOST_PP_INTERCEPT_236\r
+# define BOOST_PP_INTERCEPT_237\r
+# define BOOST_PP_INTERCEPT_238\r
+# define BOOST_PP_INTERCEPT_239\r
+# define BOOST_PP_INTERCEPT_240\r
+# define BOOST_PP_INTERCEPT_241\r
+# define BOOST_PP_INTERCEPT_242\r
+# define BOOST_PP_INTERCEPT_243\r
+# define BOOST_PP_INTERCEPT_244\r
+# define BOOST_PP_INTERCEPT_245\r
+# define BOOST_PP_INTERCEPT_246\r
+# define BOOST_PP_INTERCEPT_247\r
+# define BOOST_PP_INTERCEPT_248\r
+# define BOOST_PP_INTERCEPT_249\r
+# define BOOST_PP_INTERCEPT_250\r
+# define BOOST_PP_INTERCEPT_251\r
+# define BOOST_PP_INTERCEPT_252\r
+# define BOOST_PP_INTERCEPT_253\r
+# define BOOST_PP_INTERCEPT_254\r
+# define BOOST_PP_INTERCEPT_255\r
+# define BOOST_PP_INTERCEPT_256\r
+#\r
+# endif\r
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 (file)
index 0000000..b3dba6d
--- /dev/null
@@ -0,0 +1,23 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2003.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_FACILITIES_IS_1_HPP\r
+# define BOOST_PREPROCESSOR_FACILITIES_IS_1_HPP\r
+#\r
+# include <boost/preprocessor/cat.hpp>\r
+# include <boost/preprocessor/facilities/is_empty.hpp>\r
+#\r
+# /* BOOST_PP_IS_1 */\r
+#\r
+# define BOOST_PP_IS_1(x) BOOST_PP_IS_EMPTY(BOOST_PP_CAT(BOOST_PP_IS_1_HELPER_, x))\r
+# define BOOST_PP_IS_1_HELPER_1\r
+#\r
+# endif\r
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 (file)
index 0000000..3f6eeba
--- /dev/null
@@ -0,0 +1,43 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2003.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_FACILITIES_IS_EMPTY_HPP\r
+# define BOOST_PREPROCESSOR_FACILITIES_IS_EMPTY_HPP\r
+#\r
+# include <boost/preprocessor/config/config.hpp>\r
+# include <boost/preprocessor/cat.hpp>\r
+# include <boost/preprocessor/tuple/elem.hpp>\r
+# include <boost/preprocessor/facilities/empty.hpp>\r
+# include <boost/preprocessor/detail/split.hpp>\r
+#\r
+# /* BOOST_PP_IS_EMPTY */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() && ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()\r
+#    define BOOST_PP_IS_EMPTY(x) BOOST_PP_IS_EMPTY_I(x BOOST_PP_IS_EMPTY_HELPER)\r
+#    define BOOST_PP_IS_EMPTY_I(contents) BOOST_PP_TUPLE_ELEM(2, 1, (BOOST_PP_IS_EMPTY_DEF_ ## contents()))\r
+#    define BOOST_PP_IS_EMPTY_DEF_BOOST_PP_IS_EMPTY_HELPER 1, 1 BOOST_PP_EMPTY\r
+#    define BOOST_PP_IS_EMPTY_HELPER() , 0\r
+# else\r
+#    if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()\r
+#        define BOOST_PP_IS_EMPTY(x) BOOST_PP_IS_EMPTY_I(BOOST_PP_IS_EMPTY_HELPER x ())\r
+#        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)))\r
+#        define BOOST_PP_IS_EMPTY_II(id) id\r
+#    else\r
+#        define BOOST_PP_IS_EMPTY(x) BOOST_PP_IS_EMPTY_I((BOOST_PP_IS_EMPTY_HELPER x ()))\r
+#        define BOOST_PP_IS_EMPTY_I(par) BOOST_PP_IS_EMPTY_II ## par\r
+#        define BOOST_PP_IS_EMPTY_II(test) BOOST_PP_SPLIT(0, BOOST_PP_CAT(BOOST_PP_IS_EMPTY_DEF_, test))\r
+#    endif\r
+#    define BOOST_PP_IS_EMPTY_HELPER() 1\r
+#    define BOOST_PP_IS_EMPTY_DEF_1 1, BOOST_PP_NIL\r
+#    define BOOST_PP_IS_EMPTY_DEF_BOOST_PP_IS_EMPTY_HELPER 0, BOOST_PP_NIL\r
+# endif\r
+#\r
+# endif\r
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 (file)
index 0000000..b437d1e
--- /dev/null
@@ -0,0 +1,30 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2003.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_FACILITIES_IS_EMPTY_OR_1_HPP\r
+# define BOOST_PREPROCESSOR_FACILITIES_IS_EMPTY_OR_1_HPP\r
+#\r
+# include <boost/preprocessor/control/iif.hpp>\r
+# include <boost/preprocessor/facilities/empty.hpp>\r
+# include <boost/preprocessor/facilities/is_1.hpp>\r
+# include <boost/preprocessor/facilities/is_empty.hpp>\r
+#\r
+# /* BOOST_PP_IS_EMPTY_OR_1 */\r
+#\r
+# define BOOST_PP_IS_EMPTY_OR_1(x) \\r
+    BOOST_PP_IIF( \\r
+        BOOST_PP_IS_EMPTY(x BOOST_PP_EMPTY()), \\r
+        1 BOOST_PP_EMPTY, \\r
+        BOOST_PP_IS_1 \\r
+    )(x) \\r
+    /**/\r
+#\r
+# endif\r
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 (file)
index 0000000..f84a074
--- /dev/null
@@ -0,0 +1,17 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_FOR_HPP\r
+# define BOOST_PREPROCESSOR_FOR_HPP\r
+#\r
+# include <boost/preprocessor/repetition/for.hpp>\r
+#\r
+# endif\r
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 (file)
index 0000000..23f37a4
--- /dev/null
@@ -0,0 +1,17 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_IDENTITY_HPP\r
+# define BOOST_PREPROCESSOR_IDENTITY_HPP\r
+#\r
+# include <boost/preprocessor/facilities/identity.hpp>\r
+#\r
+# endif\r
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 (file)
index 0000000..0a23da1
--- /dev/null
@@ -0,0 +1,17 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_IF_HPP\r
+# define BOOST_PREPROCESSOR_IF_HPP\r
+#\r
+# include <boost/preprocessor/control/if.hpp>\r
+#\r
+# endif\r
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 (file)
index 0000000..b11e899
--- /dev/null
@@ -0,0 +1,17 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_INC_HPP\r
+# define BOOST_PREPROCESSOR_INC_HPP\r
+#\r
+# include <boost/preprocessor/arithmetic/inc.hpp>\r
+#\r
+# endif\r
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 (file)
index 0000000..b3b4aeb
--- /dev/null
@@ -0,0 +1,17 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_ITERATE_HPP\r
+# define BOOST_PREPROCESSOR_ITERATE_HPP\r
+#\r
+# include <boost/preprocessor/iteration/iterate.hpp>\r
+#\r
+# endif\r
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 (file)
index 0000000..bd2541e
--- /dev/null
@@ -0,0 +1,19 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_ITERATION_HPP\r
+# define BOOST_PREPROCESSOR_ITERATION_HPP\r
+#\r
+# include <boost/preprocessor/iteration/iterate.hpp>\r
+# include <boost/preprocessor/iteration/local.hpp>\r
+# include <boost/preprocessor/iteration/self.hpp>\r
+#\r
+# endif\r
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 (file)
index 0000000..6c4dad2
--- /dev/null
@@ -0,0 +1,99 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# include <boost/preprocessor/slot/detail/shared.hpp>\r
+#\r
+# undef BOOST_PP_ITERATION_START_1\r
+#\r
+# undef BOOST_PP_ITERATION_START_1_DIGIT_1\r
+# undef BOOST_PP_ITERATION_START_1_DIGIT_2\r
+# undef BOOST_PP_ITERATION_START_1_DIGIT_3\r
+# undef BOOST_PP_ITERATION_START_1_DIGIT_4\r
+# undef BOOST_PP_ITERATION_START_1_DIGIT_5\r
+# undef BOOST_PP_ITERATION_START_1_DIGIT_6\r
+# undef BOOST_PP_ITERATION_START_1_DIGIT_7\r
+# undef BOOST_PP_ITERATION_START_1_DIGIT_8\r
+# undef BOOST_PP_ITERATION_START_1_DIGIT_9\r
+# undef BOOST_PP_ITERATION_START_1_DIGIT_10\r
+#\r
+# if BOOST_PP_SLOT_TEMP_3 == 0\r
+#    define BOOST_PP_ITERATION_START_1_DIGIT_3 0\r
+# elif BOOST_PP_SLOT_TEMP_3 == 1\r
+#    define BOOST_PP_ITERATION_START_1_DIGIT_3 1\r
+# elif BOOST_PP_SLOT_TEMP_3 == 2\r
+#    define BOOST_PP_ITERATION_START_1_DIGIT_3 2\r
+# elif BOOST_PP_SLOT_TEMP_3 == 3\r
+#    define BOOST_PP_ITERATION_START_1_DIGIT_3 3\r
+# elif BOOST_PP_SLOT_TEMP_3 == 4\r
+#    define BOOST_PP_ITERATION_START_1_DIGIT_3 4\r
+# elif BOOST_PP_SLOT_TEMP_3 == 5\r
+#    define BOOST_PP_ITERATION_START_1_DIGIT_3 5\r
+# elif BOOST_PP_SLOT_TEMP_3 == 6\r
+#    define BOOST_PP_ITERATION_START_1_DIGIT_3 6\r
+# elif BOOST_PP_SLOT_TEMP_3 == 7\r
+#    define BOOST_PP_ITERATION_START_1_DIGIT_3 7\r
+# elif BOOST_PP_SLOT_TEMP_3 == 8\r
+#    define BOOST_PP_ITERATION_START_1_DIGIT_3 8\r
+# elif BOOST_PP_SLOT_TEMP_3 == 9\r
+#    define BOOST_PP_ITERATION_START_1_DIGIT_3 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_TEMP_2 == 0\r
+#    define BOOST_PP_ITERATION_START_1_DIGIT_2 0\r
+# elif BOOST_PP_SLOT_TEMP_2 == 1\r
+#    define BOOST_PP_ITERATION_START_1_DIGIT_2 1\r
+# elif BOOST_PP_SLOT_TEMP_2 == 2\r
+#    define BOOST_PP_ITERATION_START_1_DIGIT_2 2\r
+# elif BOOST_PP_SLOT_TEMP_2 == 3\r
+#    define BOOST_PP_ITERATION_START_1_DIGIT_2 3\r
+# elif BOOST_PP_SLOT_TEMP_2 == 4\r
+#    define BOOST_PP_ITERATION_START_1_DIGIT_2 4\r
+# elif BOOST_PP_SLOT_TEMP_2 == 5\r
+#    define BOOST_PP_ITERATION_START_1_DIGIT_2 5\r
+# elif BOOST_PP_SLOT_TEMP_2 == 6\r
+#    define BOOST_PP_ITERATION_START_1_DIGIT_2 6\r
+# elif BOOST_PP_SLOT_TEMP_2 == 7\r
+#    define BOOST_PP_ITERATION_START_1_DIGIT_2 7\r
+# elif BOOST_PP_SLOT_TEMP_2 == 8\r
+#    define BOOST_PP_ITERATION_START_1_DIGIT_2 8\r
+# elif BOOST_PP_SLOT_TEMP_2 == 9\r
+#    define BOOST_PP_ITERATION_START_1_DIGIT_2 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_TEMP_1 == 0\r
+#    define BOOST_PP_ITERATION_START_1_DIGIT_1 0\r
+# elif BOOST_PP_SLOT_TEMP_1 == 1\r
+#    define BOOST_PP_ITERATION_START_1_DIGIT_1 1\r
+# elif BOOST_PP_SLOT_TEMP_1 == 2\r
+#    define BOOST_PP_ITERATION_START_1_DIGIT_1 2\r
+# elif BOOST_PP_SLOT_TEMP_1 == 3\r
+#    define BOOST_PP_ITERATION_START_1_DIGIT_1 3\r
+# elif BOOST_PP_SLOT_TEMP_1 == 4\r
+#    define BOOST_PP_ITERATION_START_1_DIGIT_1 4\r
+# elif BOOST_PP_SLOT_TEMP_1 == 5\r
+#    define BOOST_PP_ITERATION_START_1_DIGIT_1 5\r
+# elif BOOST_PP_SLOT_TEMP_1 == 6\r
+#    define BOOST_PP_ITERATION_START_1_DIGIT_1 6\r
+# elif BOOST_PP_SLOT_TEMP_1 == 7\r
+#    define BOOST_PP_ITERATION_START_1_DIGIT_1 7\r
+# elif BOOST_PP_SLOT_TEMP_1 == 8\r
+#    define BOOST_PP_ITERATION_START_1_DIGIT_1 8\r
+# elif BOOST_PP_SLOT_TEMP_1 == 9\r
+#    define BOOST_PP_ITERATION_START_1_DIGIT_1 9\r
+# endif\r
+#\r
+# if BOOST_PP_ITERATION_START_1_DIGIT_3\r
+#    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)\r
+# elif BOOST_PP_ITERATION_START_1_DIGIT_2\r
+#    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)\r
+# else\r
+#    define BOOST_PP_ITERATION_START_1 BOOST_PP_ITERATION_START_1_DIGIT_1\r
+# endif\r
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 (file)
index 0000000..29cf19d
--- /dev/null
@@ -0,0 +1,99 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# include <boost/preprocessor/slot/detail/shared.hpp>\r
+#\r
+# undef BOOST_PP_ITERATION_START_2\r
+#\r
+# undef BOOST_PP_ITERATION_START_2_DIGIT_1\r
+# undef BOOST_PP_ITERATION_START_2_DIGIT_2\r
+# undef BOOST_PP_ITERATION_START_2_DIGIT_3\r
+# undef BOOST_PP_ITERATION_START_2_DIGIT_4\r
+# undef BOOST_PP_ITERATION_START_2_DIGIT_5\r
+# undef BOOST_PP_ITERATION_START_2_DIGIT_6\r
+# undef BOOST_PP_ITERATION_START_2_DIGIT_7\r
+# undef BOOST_PP_ITERATION_START_2_DIGIT_8\r
+# undef BOOST_PP_ITERATION_START_2_DIGIT_9\r
+# undef BOOST_PP_ITERATION_START_2_DIGIT_10\r
+#\r
+# if BOOST_PP_SLOT_TEMP_3 == 0\r
+#    define BOOST_PP_ITERATION_START_2_DIGIT_3 0\r
+# elif BOOST_PP_SLOT_TEMP_3 == 1\r
+#    define BOOST_PP_ITERATION_START_2_DIGIT_3 1\r
+# elif BOOST_PP_SLOT_TEMP_3 == 2\r
+#    define BOOST_PP_ITERATION_START_2_DIGIT_3 2\r
+# elif BOOST_PP_SLOT_TEMP_3 == 3\r
+#    define BOOST_PP_ITERATION_START_2_DIGIT_3 3\r
+# elif BOOST_PP_SLOT_TEMP_3 == 4\r
+#    define BOOST_PP_ITERATION_START_2_DIGIT_3 4\r
+# elif BOOST_PP_SLOT_TEMP_3 == 5\r
+#    define BOOST_PP_ITERATION_START_2_DIGIT_3 5\r
+# elif BOOST_PP_SLOT_TEMP_3 == 6\r
+#    define BOOST_PP_ITERATION_START_2_DIGIT_3 6\r
+# elif BOOST_PP_SLOT_TEMP_3 == 7\r
+#    define BOOST_PP_ITERATION_START_2_DIGIT_3 7\r
+# elif BOOST_PP_SLOT_TEMP_3 == 8\r
+#    define BOOST_PP_ITERATION_START_2_DIGIT_3 8\r
+# elif BOOST_PP_SLOT_TEMP_3 == 9\r
+#    define BOOST_PP_ITERATION_START_2_DIGIT_3 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_TEMP_2 == 0\r
+#    define BOOST_PP_ITERATION_START_2_DIGIT_2 0\r
+# elif BOOST_PP_SLOT_TEMP_2 == 1\r
+#    define BOOST_PP_ITERATION_START_2_DIGIT_2 1\r
+# elif BOOST_PP_SLOT_TEMP_2 == 2\r
+#    define BOOST_PP_ITERATION_START_2_DIGIT_2 2\r
+# elif BOOST_PP_SLOT_TEMP_2 == 3\r
+#    define BOOST_PP_ITERATION_START_2_DIGIT_2 3\r
+# elif BOOST_PP_SLOT_TEMP_2 == 4\r
+#    define BOOST_PP_ITERATION_START_2_DIGIT_2 4\r
+# elif BOOST_PP_SLOT_TEMP_2 == 5\r
+#    define BOOST_PP_ITERATION_START_2_DIGIT_2 5\r
+# elif BOOST_PP_SLOT_TEMP_2 == 6\r
+#    define BOOST_PP_ITERATION_START_2_DIGIT_2 6\r
+# elif BOOST_PP_SLOT_TEMP_2 == 7\r
+#    define BOOST_PP_ITERATION_START_2_DIGIT_2 7\r
+# elif BOOST_PP_SLOT_TEMP_2 == 8\r
+#    define BOOST_PP_ITERATION_START_2_DIGIT_2 8\r
+# elif BOOST_PP_SLOT_TEMP_2 == 9\r
+#    define BOOST_PP_ITERATION_START_2_DIGIT_2 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_TEMP_1 == 0\r
+#    define BOOST_PP_ITERATION_START_2_DIGIT_1 0\r
+# elif BOOST_PP_SLOT_TEMP_1 == 1\r
+#    define BOOST_PP_ITERATION_START_2_DIGIT_1 1\r
+# elif BOOST_PP_SLOT_TEMP_1 == 2\r
+#    define BOOST_PP_ITERATION_START_2_DIGIT_1 2\r
+# elif BOOST_PP_SLOT_TEMP_1 == 3\r
+#    define BOOST_PP_ITERATION_START_2_DIGIT_1 3\r
+# elif BOOST_PP_SLOT_TEMP_1 == 4\r
+#    define BOOST_PP_ITERATION_START_2_DIGIT_1 4\r
+# elif BOOST_PP_SLOT_TEMP_1 == 5\r
+#    define BOOST_PP_ITERATION_START_2_DIGIT_1 5\r
+# elif BOOST_PP_SLOT_TEMP_1 == 6\r
+#    define BOOST_PP_ITERATION_START_2_DIGIT_1 6\r
+# elif BOOST_PP_SLOT_TEMP_1 == 7\r
+#    define BOOST_PP_ITERATION_START_2_DIGIT_1 7\r
+# elif BOOST_PP_SLOT_TEMP_1 == 8\r
+#    define BOOST_PP_ITERATION_START_2_DIGIT_1 8\r
+# elif BOOST_PP_SLOT_TEMP_1 == 9\r
+#    define BOOST_PP_ITERATION_START_2_DIGIT_1 9\r
+# endif\r
+#\r
+# if BOOST_PP_ITERATION_START_2_DIGIT_3\r
+#    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)\r
+# elif BOOST_PP_ITERATION_START_2_DIGIT_2\r
+#    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)\r
+# else\r
+#    define BOOST_PP_ITERATION_START_2 BOOST_PP_ITERATION_START_2_DIGIT_1\r
+# endif\r
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 (file)
index 0000000..fe5f658
--- /dev/null
@@ -0,0 +1,99 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# include <boost/preprocessor/slot/detail/shared.hpp>\r
+#\r
+# undef BOOST_PP_ITERATION_START_3\r
+#\r
+# undef BOOST_PP_ITERATION_START_3_DIGIT_1\r
+# undef BOOST_PP_ITERATION_START_3_DIGIT_2\r
+# undef BOOST_PP_ITERATION_START_3_DIGIT_3\r
+# undef BOOST_PP_ITERATION_START_3_DIGIT_4\r
+# undef BOOST_PP_ITERATION_START_3_DIGIT_5\r
+# undef BOOST_PP_ITERATION_START_3_DIGIT_6\r
+# undef BOOST_PP_ITERATION_START_3_DIGIT_7\r
+# undef BOOST_PP_ITERATION_START_3_DIGIT_8\r
+# undef BOOST_PP_ITERATION_START_3_DIGIT_9\r
+# undef BOOST_PP_ITERATION_START_3_DIGIT_10\r
+#\r
+# if BOOST_PP_SLOT_TEMP_3 == 0\r
+#    define BOOST_PP_ITERATION_START_3_DIGIT_3 0\r
+# elif BOOST_PP_SLOT_TEMP_3 == 1\r
+#    define BOOST_PP_ITERATION_START_3_DIGIT_3 1\r
+# elif BOOST_PP_SLOT_TEMP_3 == 2\r
+#    define BOOST_PP_ITERATION_START_3_DIGIT_3 2\r
+# elif BOOST_PP_SLOT_TEMP_3 == 3\r
+#    define BOOST_PP_ITERATION_START_3_DIGIT_3 3\r
+# elif BOOST_PP_SLOT_TEMP_3 == 4\r
+#    define BOOST_PP_ITERATION_START_3_DIGIT_3 4\r
+# elif BOOST_PP_SLOT_TEMP_3 == 5\r
+#    define BOOST_PP_ITERATION_START_3_DIGIT_3 5\r
+# elif BOOST_PP_SLOT_TEMP_3 == 6\r
+#    define BOOST_PP_ITERATION_START_3_DIGIT_3 6\r
+# elif BOOST_PP_SLOT_TEMP_3 == 7\r
+#    define BOOST_PP_ITERATION_START_3_DIGIT_3 7\r
+# elif BOOST_PP_SLOT_TEMP_3 == 8\r
+#    define BOOST_PP_ITERATION_START_3_DIGIT_3 8\r
+# elif BOOST_PP_SLOT_TEMP_3 == 9\r
+#    define BOOST_PP_ITERATION_START_3_DIGIT_3 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_TEMP_2 == 0\r
+#    define BOOST_PP_ITERATION_START_3_DIGIT_2 0\r
+# elif BOOST_PP_SLOT_TEMP_2 == 1\r
+#    define BOOST_PP_ITERATION_START_3_DIGIT_2 1\r
+# elif BOOST_PP_SLOT_TEMP_2 == 2\r
+#    define BOOST_PP_ITERATION_START_3_DIGIT_2 2\r
+# elif BOOST_PP_SLOT_TEMP_2 == 3\r
+#    define BOOST_PP_ITERATION_START_3_DIGIT_2 3\r
+# elif BOOST_PP_SLOT_TEMP_2 == 4\r
+#    define BOOST_PP_ITERATION_START_3_DIGIT_2 4\r
+# elif BOOST_PP_SLOT_TEMP_2 == 5\r
+#    define BOOST_PP_ITERATION_START_3_DIGIT_2 5\r
+# elif BOOST_PP_SLOT_TEMP_2 == 6\r
+#    define BOOST_PP_ITERATION_START_3_DIGIT_2 6\r
+# elif BOOST_PP_SLOT_TEMP_2 == 7\r
+#    define BOOST_PP_ITERATION_START_3_DIGIT_2 7\r
+# elif BOOST_PP_SLOT_TEMP_2 == 8\r
+#    define BOOST_PP_ITERATION_START_3_DIGIT_2 8\r
+# elif BOOST_PP_SLOT_TEMP_2 == 9\r
+#    define BOOST_PP_ITERATION_START_3_DIGIT_2 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_TEMP_1 == 0\r
+#    define BOOST_PP_ITERATION_START_3_DIGIT_1 0\r
+# elif BOOST_PP_SLOT_TEMP_1 == 1\r
+#    define BOOST_PP_ITERATION_START_3_DIGIT_1 1\r
+# elif BOOST_PP_SLOT_TEMP_1 == 2\r
+#    define BOOST_PP_ITERATION_START_3_DIGIT_1 2\r
+# elif BOOST_PP_SLOT_TEMP_1 == 3\r
+#    define BOOST_PP_ITERATION_START_3_DIGIT_1 3\r
+# elif BOOST_PP_SLOT_TEMP_1 == 4\r
+#    define BOOST_PP_ITERATION_START_3_DIGIT_1 4\r
+# elif BOOST_PP_SLOT_TEMP_1 == 5\r
+#    define BOOST_PP_ITERATION_START_3_DIGIT_1 5\r
+# elif BOOST_PP_SLOT_TEMP_1 == 6\r
+#    define BOOST_PP_ITERATION_START_3_DIGIT_1 6\r
+# elif BOOST_PP_SLOT_TEMP_1 == 7\r
+#    define BOOST_PP_ITERATION_START_3_DIGIT_1 7\r
+# elif BOOST_PP_SLOT_TEMP_1 == 8\r
+#    define BOOST_PP_ITERATION_START_3_DIGIT_1 8\r
+# elif BOOST_PP_SLOT_TEMP_1 == 9\r
+#    define BOOST_PP_ITERATION_START_3_DIGIT_1 9\r
+# endif\r
+#\r
+# if BOOST_PP_ITERATION_START_3_DIGIT_3\r
+#    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)\r
+# elif BOOST_PP_ITERATION_START_3_DIGIT_2\r
+#    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)\r
+# else\r
+#    define BOOST_PP_ITERATION_START_3 BOOST_PP_ITERATION_START_3_DIGIT_1\r
+# endif\r
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 (file)
index 0000000..0a5a398
--- /dev/null
@@ -0,0 +1,99 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# include <boost/preprocessor/slot/detail/shared.hpp>\r
+#\r
+# undef BOOST_PP_ITERATION_START_4\r
+#\r
+# undef BOOST_PP_ITERATION_START_4_DIGIT_1\r
+# undef BOOST_PP_ITERATION_START_4_DIGIT_2\r
+# undef BOOST_PP_ITERATION_START_4_DIGIT_3\r
+# undef BOOST_PP_ITERATION_START_4_DIGIT_4\r
+# undef BOOST_PP_ITERATION_START_4_DIGIT_5\r
+# undef BOOST_PP_ITERATION_START_4_DIGIT_6\r
+# undef BOOST_PP_ITERATION_START_4_DIGIT_7\r
+# undef BOOST_PP_ITERATION_START_4_DIGIT_8\r
+# undef BOOST_PP_ITERATION_START_4_DIGIT_9\r
+# undef BOOST_PP_ITERATION_START_4_DIGIT_10\r
+#\r
+# if BOOST_PP_SLOT_TEMP_3 == 0\r
+#    define BOOST_PP_ITERATION_START_4_DIGIT_3 0\r
+# elif BOOST_PP_SLOT_TEMP_3 == 1\r
+#    define BOOST_PP_ITERATION_START_4_DIGIT_3 1\r
+# elif BOOST_PP_SLOT_TEMP_3 == 2\r
+#    define BOOST_PP_ITERATION_START_4_DIGIT_3 2\r
+# elif BOOST_PP_SLOT_TEMP_3 == 3\r
+#    define BOOST_PP_ITERATION_START_4_DIGIT_3 3\r
+# elif BOOST_PP_SLOT_TEMP_3 == 4\r
+#    define BOOST_PP_ITERATION_START_4_DIGIT_3 4\r
+# elif BOOST_PP_SLOT_TEMP_3 == 5\r
+#    define BOOST_PP_ITERATION_START_4_DIGIT_3 5\r
+# elif BOOST_PP_SLOT_TEMP_3 == 6\r
+#    define BOOST_PP_ITERATION_START_4_DIGIT_3 6\r
+# elif BOOST_PP_SLOT_TEMP_3 == 7\r
+#    define BOOST_PP_ITERATION_START_4_DIGIT_3 7\r
+# elif BOOST_PP_SLOT_TEMP_3 == 8\r
+#    define BOOST_PP_ITERATION_START_4_DIGIT_3 8\r
+# elif BOOST_PP_SLOT_TEMP_3 == 9\r
+#    define BOOST_PP_ITERATION_START_4_DIGIT_3 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_TEMP_2 == 0\r
+#    define BOOST_PP_ITERATION_START_4_DIGIT_2 0\r
+# elif BOOST_PP_SLOT_TEMP_2 == 1\r
+#    define BOOST_PP_ITERATION_START_4_DIGIT_2 1\r
+# elif BOOST_PP_SLOT_TEMP_2 == 2\r
+#    define BOOST_PP_ITERATION_START_4_DIGIT_2 2\r
+# elif BOOST_PP_SLOT_TEMP_2 == 3\r
+#    define BOOST_PP_ITERATION_START_4_DIGIT_2 3\r
+# elif BOOST_PP_SLOT_TEMP_2 == 4\r
+#    define BOOST_PP_ITERATION_START_4_DIGIT_2 4\r
+# elif BOOST_PP_SLOT_TEMP_2 == 5\r
+#    define BOOST_PP_ITERATION_START_4_DIGIT_2 5\r
+# elif BOOST_PP_SLOT_TEMP_2 == 6\r
+#    define BOOST_PP_ITERATION_START_4_DIGIT_2 6\r
+# elif BOOST_PP_SLOT_TEMP_2 == 7\r
+#    define BOOST_PP_ITERATION_START_4_DIGIT_2 7\r
+# elif BOOST_PP_SLOT_TEMP_2 == 8\r
+#    define BOOST_PP_ITERATION_START_4_DIGIT_2 8\r
+# elif BOOST_PP_SLOT_TEMP_2 == 9\r
+#    define BOOST_PP_ITERATION_START_4_DIGIT_2 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_TEMP_1 == 0\r
+#    define BOOST_PP_ITERATION_START_4_DIGIT_1 0\r
+# elif BOOST_PP_SLOT_TEMP_1 == 1\r
+#    define BOOST_PP_ITERATION_START_4_DIGIT_1 1\r
+# elif BOOST_PP_SLOT_TEMP_1 == 2\r
+#    define BOOST_PP_ITERATION_START_4_DIGIT_1 2\r
+# elif BOOST_PP_SLOT_TEMP_1 == 3\r
+#    define BOOST_PP_ITERATION_START_4_DIGIT_1 3\r
+# elif BOOST_PP_SLOT_TEMP_1 == 4\r
+#    define BOOST_PP_ITERATION_START_4_DIGIT_1 4\r
+# elif BOOST_PP_SLOT_TEMP_1 == 5\r
+#    define BOOST_PP_ITERATION_START_4_DIGIT_1 5\r
+# elif BOOST_PP_SLOT_TEMP_1 == 6\r
+#    define BOOST_PP_ITERATION_START_4_DIGIT_1 6\r
+# elif BOOST_PP_SLOT_TEMP_1 == 7\r
+#    define BOOST_PP_ITERATION_START_4_DIGIT_1 7\r
+# elif BOOST_PP_SLOT_TEMP_1 == 8\r
+#    define BOOST_PP_ITERATION_START_4_DIGIT_1 8\r
+# elif BOOST_PP_SLOT_TEMP_1 == 9\r
+#    define BOOST_PP_ITERATION_START_4_DIGIT_1 9\r
+# endif\r
+#\r
+# if BOOST_PP_ITERATION_START_4_DIGIT_3\r
+#    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)\r
+# elif BOOST_PP_ITERATION_START_4_DIGIT_2\r
+#    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)\r
+# else\r
+#    define BOOST_PP_ITERATION_START_4 BOOST_PP_ITERATION_START_4_DIGIT_1\r
+# endif\r
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 (file)
index 0000000..227efde
--- /dev/null
@@ -0,0 +1,99 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# include <boost/preprocessor/slot/detail/shared.hpp>\r
+#\r
+# undef BOOST_PP_ITERATION_START_5\r
+#\r
+# undef BOOST_PP_ITERATION_START_5_DIGIT_1\r
+# undef BOOST_PP_ITERATION_START_5_DIGIT_2\r
+# undef BOOST_PP_ITERATION_START_5_DIGIT_3\r
+# undef BOOST_PP_ITERATION_START_5_DIGIT_4\r
+# undef BOOST_PP_ITERATION_START_5_DIGIT_5\r
+# undef BOOST_PP_ITERATION_START_5_DIGIT_6\r
+# undef BOOST_PP_ITERATION_START_5_DIGIT_7\r
+# undef BOOST_PP_ITERATION_START_5_DIGIT_8\r
+# undef BOOST_PP_ITERATION_START_5_DIGIT_9\r
+# undef BOOST_PP_ITERATION_START_5_DIGIT_10\r
+#\r
+# if BOOST_PP_SLOT_TEMP_3 == 0\r
+#    define BOOST_PP_ITERATION_START_5_DIGIT_3 0\r
+# elif BOOST_PP_SLOT_TEMP_3 == 1\r
+#    define BOOST_PP_ITERATION_START_5_DIGIT_3 1\r
+# elif BOOST_PP_SLOT_TEMP_3 == 2\r
+#    define BOOST_PP_ITERATION_START_5_DIGIT_3 2\r
+# elif BOOST_PP_SLOT_TEMP_3 == 3\r
+#    define BOOST_PP_ITERATION_START_5_DIGIT_3 3\r
+# elif BOOST_PP_SLOT_TEMP_3 == 4\r
+#    define BOOST_PP_ITERATION_START_5_DIGIT_3 4\r
+# elif BOOST_PP_SLOT_TEMP_3 == 5\r
+#    define BOOST_PP_ITERATION_START_5_DIGIT_3 5\r
+# elif BOOST_PP_SLOT_TEMP_3 == 6\r
+#    define BOOST_PP_ITERATION_START_5_DIGIT_3 6\r
+# elif BOOST_PP_SLOT_TEMP_3 == 7\r
+#    define BOOST_PP_ITERATION_START_5_DIGIT_3 7\r
+# elif BOOST_PP_SLOT_TEMP_3 == 8\r
+#    define BOOST_PP_ITERATION_START_5_DIGIT_3 8\r
+# elif BOOST_PP_SLOT_TEMP_3 == 9\r
+#    define BOOST_PP_ITERATION_START_5_DIGIT_3 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_TEMP_2 == 0\r
+#    define BOOST_PP_ITERATION_START_5_DIGIT_2 0\r
+# elif BOOST_PP_SLOT_TEMP_2 == 1\r
+#    define BOOST_PP_ITERATION_START_5_DIGIT_2 1\r
+# elif BOOST_PP_SLOT_TEMP_2 == 2\r
+#    define BOOST_PP_ITERATION_START_5_DIGIT_2 2\r
+# elif BOOST_PP_SLOT_TEMP_2 == 3\r
+#    define BOOST_PP_ITERATION_START_5_DIGIT_2 3\r
+# elif BOOST_PP_SLOT_TEMP_2 == 4\r
+#    define BOOST_PP_ITERATION_START_5_DIGIT_2 4\r
+# elif BOOST_PP_SLOT_TEMP_2 == 5\r
+#    define BOOST_PP_ITERATION_START_5_DIGIT_2 5\r
+# elif BOOST_PP_SLOT_TEMP_2 == 6\r
+#    define BOOST_PP_ITERATION_START_5_DIGIT_2 6\r
+# elif BOOST_PP_SLOT_TEMP_2 == 7\r
+#    define BOOST_PP_ITERATION_START_5_DIGIT_2 7\r
+# elif BOOST_PP_SLOT_TEMP_2 == 8\r
+#    define BOOST_PP_ITERATION_START_5_DIGIT_2 8\r
+# elif BOOST_PP_SLOT_TEMP_2 == 9\r
+#    define BOOST_PP_ITERATION_START_5_DIGIT_2 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_TEMP_1 == 0\r
+#    define BOOST_PP_ITERATION_START_5_DIGIT_1 0\r
+# elif BOOST_PP_SLOT_TEMP_1 == 1\r
+#    define BOOST_PP_ITERATION_START_5_DIGIT_1 1\r
+# elif BOOST_PP_SLOT_TEMP_1 == 2\r
+#    define BOOST_PP_ITERATION_START_5_DIGIT_1 2\r
+# elif BOOST_PP_SLOT_TEMP_1 == 3\r
+#    define BOOST_PP_ITERATION_START_5_DIGIT_1 3\r
+# elif BOOST_PP_SLOT_TEMP_1 == 4\r
+#    define BOOST_PP_ITERATION_START_5_DIGIT_1 4\r
+# elif BOOST_PP_SLOT_TEMP_1 == 5\r
+#    define BOOST_PP_ITERATION_START_5_DIGIT_1 5\r
+# elif BOOST_PP_SLOT_TEMP_1 == 6\r
+#    define BOOST_PP_ITERATION_START_5_DIGIT_1 6\r
+# elif BOOST_PP_SLOT_TEMP_1 == 7\r
+#    define BOOST_PP_ITERATION_START_5_DIGIT_1 7\r
+# elif BOOST_PP_SLOT_TEMP_1 == 8\r
+#    define BOOST_PP_ITERATION_START_5_DIGIT_1 8\r
+# elif BOOST_PP_SLOT_TEMP_1 == 9\r
+#    define BOOST_PP_ITERATION_START_5_DIGIT_1 9\r
+# endif\r
+#\r
+# if BOOST_PP_ITERATION_START_5_DIGIT_3\r
+#    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)\r
+# elif BOOST_PP_ITERATION_START_5_DIGIT_2\r
+#    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)\r
+# else\r
+#    define BOOST_PP_ITERATION_START_5 BOOST_PP_ITERATION_START_5_DIGIT_1\r
+# endif\r
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 (file)
index 0000000..db0732d
--- /dev/null
@@ -0,0 +1,99 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# include <boost/preprocessor/slot/detail/shared.hpp>\r
+#\r
+# undef BOOST_PP_ITERATION_FINISH_1\r
+#\r
+# undef BOOST_PP_ITERATION_FINISH_1_DIGIT_1\r
+# undef BOOST_PP_ITERATION_FINISH_1_DIGIT_2\r
+# undef BOOST_PP_ITERATION_FINISH_1_DIGIT_3\r
+# undef BOOST_PP_ITERATION_FINISH_1_DIGIT_4\r
+# undef BOOST_PP_ITERATION_FINISH_1_DIGIT_5\r
+# undef BOOST_PP_ITERATION_FINISH_1_DIGIT_6\r
+# undef BOOST_PP_ITERATION_FINISH_1_DIGIT_7\r
+# undef BOOST_PP_ITERATION_FINISH_1_DIGIT_8\r
+# undef BOOST_PP_ITERATION_FINISH_1_DIGIT_9\r
+# undef BOOST_PP_ITERATION_FINISH_1_DIGIT_10\r
+#\r
+# if BOOST_PP_SLOT_TEMP_3 == 0\r
+#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_3 0\r
+# elif BOOST_PP_SLOT_TEMP_3 == 1\r
+#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_3 1\r
+# elif BOOST_PP_SLOT_TEMP_3 == 2\r
+#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_3 2\r
+# elif BOOST_PP_SLOT_TEMP_3 == 3\r
+#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_3 3\r
+# elif BOOST_PP_SLOT_TEMP_3 == 4\r
+#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_3 4\r
+# elif BOOST_PP_SLOT_TEMP_3 == 5\r
+#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_3 5\r
+# elif BOOST_PP_SLOT_TEMP_3 == 6\r
+#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_3 6\r
+# elif BOOST_PP_SLOT_TEMP_3 == 7\r
+#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_3 7\r
+# elif BOOST_PP_SLOT_TEMP_3 == 8\r
+#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_3 8\r
+# elif BOOST_PP_SLOT_TEMP_3 == 9\r
+#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_3 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_TEMP_2 == 0\r
+#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_2 0\r
+# elif BOOST_PP_SLOT_TEMP_2 == 1\r
+#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_2 1\r
+# elif BOOST_PP_SLOT_TEMP_2 == 2\r
+#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_2 2\r
+# elif BOOST_PP_SLOT_TEMP_2 == 3\r
+#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_2 3\r
+# elif BOOST_PP_SLOT_TEMP_2 == 4\r
+#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_2 4\r
+# elif BOOST_PP_SLOT_TEMP_2 == 5\r
+#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_2 5\r
+# elif BOOST_PP_SLOT_TEMP_2 == 6\r
+#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_2 6\r
+# elif BOOST_PP_SLOT_TEMP_2 == 7\r
+#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_2 7\r
+# elif BOOST_PP_SLOT_TEMP_2 == 8\r
+#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_2 8\r
+# elif BOOST_PP_SLOT_TEMP_2 == 9\r
+#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_2 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_TEMP_1 == 0\r
+#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_1 0\r
+# elif BOOST_PP_SLOT_TEMP_1 == 1\r
+#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_1 1\r
+# elif BOOST_PP_SLOT_TEMP_1 == 2\r
+#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_1 2\r
+# elif BOOST_PP_SLOT_TEMP_1 == 3\r
+#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_1 3\r
+# elif BOOST_PP_SLOT_TEMP_1 == 4\r
+#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_1 4\r
+# elif BOOST_PP_SLOT_TEMP_1 == 5\r
+#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_1 5\r
+# elif BOOST_PP_SLOT_TEMP_1 == 6\r
+#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_1 6\r
+# elif BOOST_PP_SLOT_TEMP_1 == 7\r
+#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_1 7\r
+# elif BOOST_PP_SLOT_TEMP_1 == 8\r
+#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_1 8\r
+# elif BOOST_PP_SLOT_TEMP_1 == 9\r
+#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_1 9\r
+# endif\r
+#\r
+# if BOOST_PP_ITERATION_FINISH_1_DIGIT_3\r
+#    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)\r
+# elif BOOST_PP_ITERATION_FINISH_1_DIGIT_2\r
+#    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)\r
+# else\r
+#    define BOOST_PP_ITERATION_FINISH_1 BOOST_PP_ITERATION_FINISH_1_DIGIT_1\r
+# endif\r
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 (file)
index 0000000..fd053c0
--- /dev/null
@@ -0,0 +1,99 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# include <boost/preprocessor/slot/detail/shared.hpp>\r
+#\r
+# undef BOOST_PP_ITERATION_FINISH_2\r
+#\r
+# undef BOOST_PP_ITERATION_FINISH_2_DIGIT_1\r
+# undef BOOST_PP_ITERATION_FINISH_2_DIGIT_2\r
+# undef BOOST_PP_ITERATION_FINISH_2_DIGIT_3\r
+# undef BOOST_PP_ITERATION_FINISH_2_DIGIT_4\r
+# undef BOOST_PP_ITERATION_FINISH_2_DIGIT_5\r
+# undef BOOST_PP_ITERATION_FINISH_2_DIGIT_6\r
+# undef BOOST_PP_ITERATION_FINISH_2_DIGIT_7\r
+# undef BOOST_PP_ITERATION_FINISH_2_DIGIT_8\r
+# undef BOOST_PP_ITERATION_FINISH_2_DIGIT_9\r
+# undef BOOST_PP_ITERATION_FINISH_2_DIGIT_10\r
+#\r
+# if BOOST_PP_SLOT_TEMP_3 == 0\r
+#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_3 0\r
+# elif BOOST_PP_SLOT_TEMP_3 == 1\r
+#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_3 1\r
+# elif BOOST_PP_SLOT_TEMP_3 == 2\r
+#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_3 2\r
+# elif BOOST_PP_SLOT_TEMP_3 == 3\r
+#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_3 3\r
+# elif BOOST_PP_SLOT_TEMP_3 == 4\r
+#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_3 4\r
+# elif BOOST_PP_SLOT_TEMP_3 == 5\r
+#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_3 5\r
+# elif BOOST_PP_SLOT_TEMP_3 == 6\r
+#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_3 6\r
+# elif BOOST_PP_SLOT_TEMP_3 == 7\r
+#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_3 7\r
+# elif BOOST_PP_SLOT_TEMP_3 == 8\r
+#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_3 8\r
+# elif BOOST_PP_SLOT_TEMP_3 == 9\r
+#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_3 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_TEMP_2 == 0\r
+#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_2 0\r
+# elif BOOST_PP_SLOT_TEMP_2 == 1\r
+#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_2 1\r
+# elif BOOST_PP_SLOT_TEMP_2 == 2\r
+#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_2 2\r
+# elif BOOST_PP_SLOT_TEMP_2 == 3\r
+#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_2 3\r
+# elif BOOST_PP_SLOT_TEMP_2 == 4\r
+#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_2 4\r
+# elif BOOST_PP_SLOT_TEMP_2 == 5\r
+#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_2 5\r
+# elif BOOST_PP_SLOT_TEMP_2 == 6\r
+#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_2 6\r
+# elif BOOST_PP_SLOT_TEMP_2 == 7\r
+#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_2 7\r
+# elif BOOST_PP_SLOT_TEMP_2 == 8\r
+#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_2 8\r
+# elif BOOST_PP_SLOT_TEMP_2 == 9\r
+#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_2 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_TEMP_1 == 0\r
+#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_1 0\r
+# elif BOOST_PP_SLOT_TEMP_1 == 1\r
+#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_1 1\r
+# elif BOOST_PP_SLOT_TEMP_1 == 2\r
+#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_1 2\r
+# elif BOOST_PP_SLOT_TEMP_1 == 3\r
+#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_1 3\r
+# elif BOOST_PP_SLOT_TEMP_1 == 4\r
+#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_1 4\r
+# elif BOOST_PP_SLOT_TEMP_1 == 5\r
+#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_1 5\r
+# elif BOOST_PP_SLOT_TEMP_1 == 6\r
+#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_1 6\r
+# elif BOOST_PP_SLOT_TEMP_1 == 7\r
+#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_1 7\r
+# elif BOOST_PP_SLOT_TEMP_1 == 8\r
+#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_1 8\r
+# elif BOOST_PP_SLOT_TEMP_1 == 9\r
+#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_1 9\r
+# endif\r
+#\r
+# if BOOST_PP_ITERATION_FINISH_2_DIGIT_3\r
+#    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)\r
+# elif BOOST_PP_ITERATION_FINISH_2_DIGIT_2\r
+#    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)\r
+# else\r
+#    define BOOST_PP_ITERATION_FINISH_2 BOOST_PP_ITERATION_FINISH_2_DIGIT_1\r
+# endif\r
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 (file)
index 0000000..f6838f0
--- /dev/null
@@ -0,0 +1,99 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# include <boost/preprocessor/slot/detail/shared.hpp>\r
+#\r
+# undef BOOST_PP_ITERATION_FINISH_3\r
+#\r
+# undef BOOST_PP_ITERATION_FINISH_3_DIGIT_1\r
+# undef BOOST_PP_ITERATION_FINISH_3_DIGIT_2\r
+# undef BOOST_PP_ITERATION_FINISH_3_DIGIT_3\r
+# undef BOOST_PP_ITERATION_FINISH_3_DIGIT_4\r
+# undef BOOST_PP_ITERATION_FINISH_3_DIGIT_5\r
+# undef BOOST_PP_ITERATION_FINISH_3_DIGIT_6\r
+# undef BOOST_PP_ITERATION_FINISH_3_DIGIT_7\r
+# undef BOOST_PP_ITERATION_FINISH_3_DIGIT_8\r
+# undef BOOST_PP_ITERATION_FINISH_3_DIGIT_9\r
+# undef BOOST_PP_ITERATION_FINISH_3_DIGIT_10\r
+#\r
+# if BOOST_PP_SLOT_TEMP_3 == 0\r
+#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_3 0\r
+# elif BOOST_PP_SLOT_TEMP_3 == 1\r
+#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_3 1\r
+# elif BOOST_PP_SLOT_TEMP_3 == 2\r
+#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_3 2\r
+# elif BOOST_PP_SLOT_TEMP_3 == 3\r
+#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_3 3\r
+# elif BOOST_PP_SLOT_TEMP_3 == 4\r
+#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_3 4\r
+# elif BOOST_PP_SLOT_TEMP_3 == 5\r
+#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_3 5\r
+# elif BOOST_PP_SLOT_TEMP_3 == 6\r
+#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_3 6\r
+# elif BOOST_PP_SLOT_TEMP_3 == 7\r
+#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_3 7\r
+# elif BOOST_PP_SLOT_TEMP_3 == 8\r
+#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_3 8\r
+# elif BOOST_PP_SLOT_TEMP_3 == 9\r
+#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_3 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_TEMP_2 == 0\r
+#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_2 0\r
+# elif BOOST_PP_SLOT_TEMP_2 == 1\r
+#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_2 1\r
+# elif BOOST_PP_SLOT_TEMP_2 == 2\r
+#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_2 2\r
+# elif BOOST_PP_SLOT_TEMP_2 == 3\r
+#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_2 3\r
+# elif BOOST_PP_SLOT_TEMP_2 == 4\r
+#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_2 4\r
+# elif BOOST_PP_SLOT_TEMP_2 == 5\r
+#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_2 5\r
+# elif BOOST_PP_SLOT_TEMP_2 == 6\r
+#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_2 6\r
+# elif BOOST_PP_SLOT_TEMP_2 == 7\r
+#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_2 7\r
+# elif BOOST_PP_SLOT_TEMP_2 == 8\r
+#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_2 8\r
+# elif BOOST_PP_SLOT_TEMP_2 == 9\r
+#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_2 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_TEMP_1 == 0\r
+#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_1 0\r
+# elif BOOST_PP_SLOT_TEMP_1 == 1\r
+#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_1 1\r
+# elif BOOST_PP_SLOT_TEMP_1 == 2\r
+#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_1 2\r
+# elif BOOST_PP_SLOT_TEMP_1 == 3\r
+#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_1 3\r
+# elif BOOST_PP_SLOT_TEMP_1 == 4\r
+#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_1 4\r
+# elif BOOST_PP_SLOT_TEMP_1 == 5\r
+#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_1 5\r
+# elif BOOST_PP_SLOT_TEMP_1 == 6\r
+#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_1 6\r
+# elif BOOST_PP_SLOT_TEMP_1 == 7\r
+#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_1 7\r
+# elif BOOST_PP_SLOT_TEMP_1 == 8\r
+#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_1 8\r
+# elif BOOST_PP_SLOT_TEMP_1 == 9\r
+#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_1 9\r
+# endif\r
+#\r
+# if BOOST_PP_ITERATION_FINISH_3_DIGIT_3\r
+#    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)\r
+# elif BOOST_PP_ITERATION_FINISH_3_DIGIT_2\r
+#    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)\r
+# else\r
+#    define BOOST_PP_ITERATION_FINISH_3 BOOST_PP_ITERATION_FINISH_3_DIGIT_1\r
+# endif\r
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 (file)
index 0000000..9049732
--- /dev/null
@@ -0,0 +1,99 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# include <boost/preprocessor/slot/detail/shared.hpp>\r
+#\r
+# undef BOOST_PP_ITERATION_FINISH_4\r
+#\r
+# undef BOOST_PP_ITERATION_FINISH_4_DIGIT_1\r
+# undef BOOST_PP_ITERATION_FINISH_4_DIGIT_2\r
+# undef BOOST_PP_ITERATION_FINISH_4_DIGIT_3\r
+# undef BOOST_PP_ITERATION_FINISH_4_DIGIT_4\r
+# undef BOOST_PP_ITERATION_FINISH_4_DIGIT_5\r
+# undef BOOST_PP_ITERATION_FINISH_4_DIGIT_6\r
+# undef BOOST_PP_ITERATION_FINISH_4_DIGIT_7\r
+# undef BOOST_PP_ITERATION_FINISH_4_DIGIT_8\r
+# undef BOOST_PP_ITERATION_FINISH_4_DIGIT_9\r
+# undef BOOST_PP_ITERATION_FINISH_4_DIGIT_10\r
+#\r
+# if BOOST_PP_SLOT_TEMP_3 == 0\r
+#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_3 0\r
+# elif BOOST_PP_SLOT_TEMP_3 == 1\r
+#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_3 1\r
+# elif BOOST_PP_SLOT_TEMP_3 == 2\r
+#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_3 2\r
+# elif BOOST_PP_SLOT_TEMP_3 == 3\r
+#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_3 3\r
+# elif BOOST_PP_SLOT_TEMP_3 == 4\r
+#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_3 4\r
+# elif BOOST_PP_SLOT_TEMP_3 == 5\r
+#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_3 5\r
+# elif BOOST_PP_SLOT_TEMP_3 == 6\r
+#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_3 6\r
+# elif BOOST_PP_SLOT_TEMP_3 == 7\r
+#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_3 7\r
+# elif BOOST_PP_SLOT_TEMP_3 == 8\r
+#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_3 8\r
+# elif BOOST_PP_SLOT_TEMP_3 == 9\r
+#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_3 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_TEMP_2 == 0\r
+#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_2 0\r
+# elif BOOST_PP_SLOT_TEMP_2 == 1\r
+#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_2 1\r
+# elif BOOST_PP_SLOT_TEMP_2 == 2\r
+#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_2 2\r
+# elif BOOST_PP_SLOT_TEMP_2 == 3\r
+#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_2 3\r
+# elif BOOST_PP_SLOT_TEMP_2 == 4\r
+#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_2 4\r
+# elif BOOST_PP_SLOT_TEMP_2 == 5\r
+#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_2 5\r
+# elif BOOST_PP_SLOT_TEMP_2 == 6\r
+#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_2 6\r
+# elif BOOST_PP_SLOT_TEMP_2 == 7\r
+#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_2 7\r
+# elif BOOST_PP_SLOT_TEMP_2 == 8\r
+#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_2 8\r
+# elif BOOST_PP_SLOT_TEMP_2 == 9\r
+#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_2 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_TEMP_1 == 0\r
+#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_1 0\r
+# elif BOOST_PP_SLOT_TEMP_1 == 1\r
+#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_1 1\r
+# elif BOOST_PP_SLOT_TEMP_1 == 2\r
+#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_1 2\r
+# elif BOOST_PP_SLOT_TEMP_1 == 3\r
+#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_1 3\r
+# elif BOOST_PP_SLOT_TEMP_1 == 4\r
+#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_1 4\r
+# elif BOOST_PP_SLOT_TEMP_1 == 5\r
+#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_1 5\r
+# elif BOOST_PP_SLOT_TEMP_1 == 6\r
+#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_1 6\r
+# elif BOOST_PP_SLOT_TEMP_1 == 7\r
+#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_1 7\r
+# elif BOOST_PP_SLOT_TEMP_1 == 8\r
+#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_1 8\r
+# elif BOOST_PP_SLOT_TEMP_1 == 9\r
+#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_1 9\r
+# endif\r
+#\r
+# if BOOST_PP_ITERATION_FINISH_4_DIGIT_3\r
+#    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)\r
+# elif BOOST_PP_ITERATION_FINISH_4_DIGIT_2\r
+#    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)\r
+# else\r
+#    define BOOST_PP_ITERATION_FINISH_4 BOOST_PP_ITERATION_FINISH_4_DIGIT_1\r
+# endif\r
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 (file)
index 0000000..3fddffd
--- /dev/null
@@ -0,0 +1,99 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# include <boost/preprocessor/slot/detail/shared.hpp>\r
+#\r
+# undef BOOST_PP_ITERATION_FINISH_5\r
+#\r
+# undef BOOST_PP_ITERATION_FINISH_5_DIGIT_1\r
+# undef BOOST_PP_ITERATION_FINISH_5_DIGIT_2\r
+# undef BOOST_PP_ITERATION_FINISH_5_DIGIT_3\r
+# undef BOOST_PP_ITERATION_FINISH_5_DIGIT_4\r
+# undef BOOST_PP_ITERATION_FINISH_5_DIGIT_5\r
+# undef BOOST_PP_ITERATION_FINISH_5_DIGIT_6\r
+# undef BOOST_PP_ITERATION_FINISH_5_DIGIT_7\r
+# undef BOOST_PP_ITERATION_FINISH_5_DIGIT_8\r
+# undef BOOST_PP_ITERATION_FINISH_5_DIGIT_9\r
+# undef BOOST_PP_ITERATION_FINISH_5_DIGIT_10\r
+#\r
+# if BOOST_PP_SLOT_TEMP_3 == 0\r
+#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_3 0\r
+# elif BOOST_PP_SLOT_TEMP_3 == 1\r
+#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_3 1\r
+# elif BOOST_PP_SLOT_TEMP_3 == 2\r
+#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_3 2\r
+# elif BOOST_PP_SLOT_TEMP_3 == 3\r
+#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_3 3\r
+# elif BOOST_PP_SLOT_TEMP_3 == 4\r
+#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_3 4\r
+# elif BOOST_PP_SLOT_TEMP_3 == 5\r
+#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_3 5\r
+# elif BOOST_PP_SLOT_TEMP_3 == 6\r
+#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_3 6\r
+# elif BOOST_PP_SLOT_TEMP_3 == 7\r
+#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_3 7\r
+# elif BOOST_PP_SLOT_TEMP_3 == 8\r
+#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_3 8\r
+# elif BOOST_PP_SLOT_TEMP_3 == 9\r
+#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_3 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_TEMP_2 == 0\r
+#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_2 0\r
+# elif BOOST_PP_SLOT_TEMP_2 == 1\r
+#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_2 1\r
+# elif BOOST_PP_SLOT_TEMP_2 == 2\r
+#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_2 2\r
+# elif BOOST_PP_SLOT_TEMP_2 == 3\r
+#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_2 3\r
+# elif BOOST_PP_SLOT_TEMP_2 == 4\r
+#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_2 4\r
+# elif BOOST_PP_SLOT_TEMP_2 == 5\r
+#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_2 5\r
+# elif BOOST_PP_SLOT_TEMP_2 == 6\r
+#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_2 6\r
+# elif BOOST_PP_SLOT_TEMP_2 == 7\r
+#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_2 7\r
+# elif BOOST_PP_SLOT_TEMP_2 == 8\r
+#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_2 8\r
+# elif BOOST_PP_SLOT_TEMP_2 == 9\r
+#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_2 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_TEMP_1 == 0\r
+#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_1 0\r
+# elif BOOST_PP_SLOT_TEMP_1 == 1\r
+#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_1 1\r
+# elif BOOST_PP_SLOT_TEMP_1 == 2\r
+#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_1 2\r
+# elif BOOST_PP_SLOT_TEMP_1 == 3\r
+#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_1 3\r
+# elif BOOST_PP_SLOT_TEMP_1 == 4\r
+#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_1 4\r
+# elif BOOST_PP_SLOT_TEMP_1 == 5\r
+#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_1 5\r
+# elif BOOST_PP_SLOT_TEMP_1 == 6\r
+#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_1 6\r
+# elif BOOST_PP_SLOT_TEMP_1 == 7\r
+#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_1 7\r
+# elif BOOST_PP_SLOT_TEMP_1 == 8\r
+#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_1 8\r
+# elif BOOST_PP_SLOT_TEMP_1 == 9\r
+#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_1 9\r
+# endif\r
+#\r
+# if BOOST_PP_ITERATION_FINISH_5_DIGIT_3\r
+#    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)\r
+# elif BOOST_PP_ITERATION_FINISH_5_DIGIT_2\r
+#    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)\r
+# else\r
+#    define BOOST_PP_ITERATION_FINISH_5 BOOST_PP_ITERATION_FINISH_5_DIGIT_1\r
+# endif\r
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 (file)
index 0000000..7fbd1ff
--- /dev/null
@@ -0,0 +1,99 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# include <boost/preprocessor/slot/detail/shared.hpp>\r
+#\r
+# undef BOOST_PP_LOCAL_FE\r
+#\r
+# undef BOOST_PP_LOCAL_FE_DIGIT_1\r
+# undef BOOST_PP_LOCAL_FE_DIGIT_2\r
+# undef BOOST_PP_LOCAL_FE_DIGIT_3\r
+# undef BOOST_PP_LOCAL_FE_DIGIT_4\r
+# undef BOOST_PP_LOCAL_FE_DIGIT_5\r
+# undef BOOST_PP_LOCAL_FE_DIGIT_6\r
+# undef BOOST_PP_LOCAL_FE_DIGIT_7\r
+# undef BOOST_PP_LOCAL_FE_DIGIT_8\r
+# undef BOOST_PP_LOCAL_FE_DIGIT_9\r
+# undef BOOST_PP_LOCAL_FE_DIGIT_10\r
+#\r
+# if BOOST_PP_SLOT_TEMP_3 == 0\r
+#    define BOOST_PP_LOCAL_FE_DIGIT_3 0\r
+# elif BOOST_PP_SLOT_TEMP_3 == 1\r
+#    define BOOST_PP_LOCAL_FE_DIGIT_3 1\r
+# elif BOOST_PP_SLOT_TEMP_3 == 2\r
+#    define BOOST_PP_LOCAL_FE_DIGIT_3 2\r
+# elif BOOST_PP_SLOT_TEMP_3 == 3\r
+#    define BOOST_PP_LOCAL_FE_DIGIT_3 3\r
+# elif BOOST_PP_SLOT_TEMP_3 == 4\r
+#    define BOOST_PP_LOCAL_FE_DIGIT_3 4\r
+# elif BOOST_PP_SLOT_TEMP_3 == 5\r
+#    define BOOST_PP_LOCAL_FE_DIGIT_3 5\r
+# elif BOOST_PP_SLOT_TEMP_3 == 6\r
+#    define BOOST_PP_LOCAL_FE_DIGIT_3 6\r
+# elif BOOST_PP_SLOT_TEMP_3 == 7\r
+#    define BOOST_PP_LOCAL_FE_DIGIT_3 7\r
+# elif BOOST_PP_SLOT_TEMP_3 == 8\r
+#    define BOOST_PP_LOCAL_FE_DIGIT_3 8\r
+# elif BOOST_PP_SLOT_TEMP_3 == 9\r
+#    define BOOST_PP_LOCAL_FE_DIGIT_3 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_TEMP_2 == 0\r
+#    define BOOST_PP_LOCAL_FE_DIGIT_2 0\r
+# elif BOOST_PP_SLOT_TEMP_2 == 1\r
+#    define BOOST_PP_LOCAL_FE_DIGIT_2 1\r
+# elif BOOST_PP_SLOT_TEMP_2 == 2\r
+#    define BOOST_PP_LOCAL_FE_DIGIT_2 2\r
+# elif BOOST_PP_SLOT_TEMP_2 == 3\r
+#    define BOOST_PP_LOCAL_FE_DIGIT_2 3\r
+# elif BOOST_PP_SLOT_TEMP_2 == 4\r
+#    define BOOST_PP_LOCAL_FE_DIGIT_2 4\r
+# elif BOOST_PP_SLOT_TEMP_2 == 5\r
+#    define BOOST_PP_LOCAL_FE_DIGIT_2 5\r
+# elif BOOST_PP_SLOT_TEMP_2 == 6\r
+#    define BOOST_PP_LOCAL_FE_DIGIT_2 6\r
+# elif BOOST_PP_SLOT_TEMP_2 == 7\r
+#    define BOOST_PP_LOCAL_FE_DIGIT_2 7\r
+# elif BOOST_PP_SLOT_TEMP_2 == 8\r
+#    define BOOST_PP_LOCAL_FE_DIGIT_2 8\r
+# elif BOOST_PP_SLOT_TEMP_2 == 9\r
+#    define BOOST_PP_LOCAL_FE_DIGIT_2 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_TEMP_1 == 0\r
+#    define BOOST_PP_LOCAL_FE_DIGIT_1 0\r
+# elif BOOST_PP_SLOT_TEMP_1 == 1\r
+#    define BOOST_PP_LOCAL_FE_DIGIT_1 1\r
+# elif BOOST_PP_SLOT_TEMP_1 == 2\r
+#    define BOOST_PP_LOCAL_FE_DIGIT_1 2\r
+# elif BOOST_PP_SLOT_TEMP_1 == 3\r
+#    define BOOST_PP_LOCAL_FE_DIGIT_1 3\r
+# elif BOOST_PP_SLOT_TEMP_1 == 4\r
+#    define BOOST_PP_LOCAL_FE_DIGIT_1 4\r
+# elif BOOST_PP_SLOT_TEMP_1 == 5\r
+#    define BOOST_PP_LOCAL_FE_DIGIT_1 5\r
+# elif BOOST_PP_SLOT_TEMP_1 == 6\r
+#    define BOOST_PP_LOCAL_FE_DIGIT_1 6\r
+# elif BOOST_PP_SLOT_TEMP_1 == 7\r
+#    define BOOST_PP_LOCAL_FE_DIGIT_1 7\r
+# elif BOOST_PP_SLOT_TEMP_1 == 8\r
+#    define BOOST_PP_LOCAL_FE_DIGIT_1 8\r
+# elif BOOST_PP_SLOT_TEMP_1 == 9\r
+#    define BOOST_PP_LOCAL_FE_DIGIT_1 9\r
+# endif\r
+#\r
+# if BOOST_PP_LOCAL_FE_DIGIT_3\r
+#    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)\r
+# elif BOOST_PP_LOCAL_FE_DIGIT_2\r
+#    define BOOST_PP_LOCAL_FE() BOOST_PP_SLOT_CC_2(BOOST_PP_LOCAL_FE_DIGIT_2, BOOST_PP_LOCAL_FE_DIGIT_1)\r
+# else\r
+#    define BOOST_PP_LOCAL_FE() BOOST_PP_LOCAL_FE_DIGIT_1\r
+# endif\r
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 (file)
index 0000000..2d50054
--- /dev/null
@@ -0,0 +1,1342 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# if defined(BOOST_PP_ITERATION_LIMITS)\r
+#    if !defined(BOOST_PP_FILENAME_1)\r
+#        error BOOST_PP_ERROR:  depth #1 filename is not defined\r
+#    endif\r
+#    define BOOST_PP_VALUE BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_ITERATION_LIMITS)\r
+#    include <boost/preprocessor/iteration/detail/bounds/lower1.hpp>\r
+#    define BOOST_PP_VALUE BOOST_PP_TUPLE_ELEM(2, 1, BOOST_PP_ITERATION_LIMITS)\r
+#    include <boost/preprocessor/iteration/detail/bounds/upper1.hpp>\r
+#    define BOOST_PP_ITERATION_FLAGS_1 0\r
+#    undef BOOST_PP_ITERATION_LIMITS\r
+# elif defined(BOOST_PP_ITERATION_PARAMS_1)\r
+#    define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(0, BOOST_PP_ITERATION_PARAMS_1)\r
+#    include <boost/preprocessor/iteration/detail/bounds/lower1.hpp>\r
+#    define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(1, BOOST_PP_ITERATION_PARAMS_1)\r
+#    include <boost/preprocessor/iteration/detail/bounds/upper1.hpp>\r
+#    define BOOST_PP_FILENAME_1 BOOST_PP_ARRAY_ELEM(2, BOOST_PP_ITERATION_PARAMS_1)\r
+#    if BOOST_PP_ARRAY_SIZE(BOOST_PP_ITERATION_PARAMS_1) >= 4\r
+#        define BOOST_PP_ITERATION_FLAGS_1 BOOST_PP_ARRAY_ELEM(3, BOOST_PP_ITERATION_PARAMS_1)\r
+#    else\r
+#        define BOOST_PP_ITERATION_FLAGS_1 0\r
+#    endif\r
+# else\r
+#    error BOOST_PP_ERROR:  depth #1 iteration boundaries or filename not defined\r
+# endif\r
+#\r
+# undef BOOST_PP_ITERATION_DEPTH\r
+# define BOOST_PP_ITERATION_DEPTH() 1\r
+#\r
+# define BOOST_PP_IS_ITERATING 1\r
+#\r
+# if (BOOST_PP_ITERATION_START_1) > (BOOST_PP_ITERATION_FINISH_1)\r
+#    include <boost/preprocessor/iteration/detail/iter/reverse1.hpp>\r
+# else\r
+#    if BOOST_PP_ITERATION_START_1 <= 0 && BOOST_PP_ITERATION_FINISH_1 >= 0\r
+#        define BOOST_PP_ITERATION_1 0\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 1 && BOOST_PP_ITERATION_FINISH_1 >= 1\r
+#        define BOOST_PP_ITERATION_1 1\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 2 && BOOST_PP_ITERATION_FINISH_1 >= 2\r
+#        define BOOST_PP_ITERATION_1 2\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 3 && BOOST_PP_ITERATION_FINISH_1 >= 3\r
+#        define BOOST_PP_ITERATION_1 3\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 4 && BOOST_PP_ITERATION_FINISH_1 >= 4\r
+#        define BOOST_PP_ITERATION_1 4\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 5 && BOOST_PP_ITERATION_FINISH_1 >= 5\r
+#        define BOOST_PP_ITERATION_1 5\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 6 && BOOST_PP_ITERATION_FINISH_1 >= 6\r
+#        define BOOST_PP_ITERATION_1 6\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 7 && BOOST_PP_ITERATION_FINISH_1 >= 7\r
+#        define BOOST_PP_ITERATION_1 7\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 8 && BOOST_PP_ITERATION_FINISH_1 >= 8\r
+#        define BOOST_PP_ITERATION_1 8\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 9 && BOOST_PP_ITERATION_FINISH_1 >= 9\r
+#        define BOOST_PP_ITERATION_1 9\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 10 && BOOST_PP_ITERATION_FINISH_1 >= 10\r
+#        define BOOST_PP_ITERATION_1 10\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 11 && BOOST_PP_ITERATION_FINISH_1 >= 11\r
+#        define BOOST_PP_ITERATION_1 11\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 12 && BOOST_PP_ITERATION_FINISH_1 >= 12\r
+#        define BOOST_PP_ITERATION_1 12\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 13 && BOOST_PP_ITERATION_FINISH_1 >= 13\r
+#        define BOOST_PP_ITERATION_1 13\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 14 && BOOST_PP_ITERATION_FINISH_1 >= 14\r
+#        define BOOST_PP_ITERATION_1 14\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 15 && BOOST_PP_ITERATION_FINISH_1 >= 15\r
+#        define BOOST_PP_ITERATION_1 15\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 16 && BOOST_PP_ITERATION_FINISH_1 >= 16\r
+#        define BOOST_PP_ITERATION_1 16\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 17 && BOOST_PP_ITERATION_FINISH_1 >= 17\r
+#        define BOOST_PP_ITERATION_1 17\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 18 && BOOST_PP_ITERATION_FINISH_1 >= 18\r
+#        define BOOST_PP_ITERATION_1 18\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 19 && BOOST_PP_ITERATION_FINISH_1 >= 19\r
+#        define BOOST_PP_ITERATION_1 19\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 20 && BOOST_PP_ITERATION_FINISH_1 >= 20\r
+#        define BOOST_PP_ITERATION_1 20\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 21 && BOOST_PP_ITERATION_FINISH_1 >= 21\r
+#        define BOOST_PP_ITERATION_1 21\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 22 && BOOST_PP_ITERATION_FINISH_1 >= 22\r
+#        define BOOST_PP_ITERATION_1 22\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 23 && BOOST_PP_ITERATION_FINISH_1 >= 23\r
+#        define BOOST_PP_ITERATION_1 23\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 24 && BOOST_PP_ITERATION_FINISH_1 >= 24\r
+#        define BOOST_PP_ITERATION_1 24\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 25 && BOOST_PP_ITERATION_FINISH_1 >= 25\r
+#        define BOOST_PP_ITERATION_1 25\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 26 && BOOST_PP_ITERATION_FINISH_1 >= 26\r
+#        define BOOST_PP_ITERATION_1 26\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 27 && BOOST_PP_ITERATION_FINISH_1 >= 27\r
+#        define BOOST_PP_ITERATION_1 27\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 28 && BOOST_PP_ITERATION_FINISH_1 >= 28\r
+#        define BOOST_PP_ITERATION_1 28\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 29 && BOOST_PP_ITERATION_FINISH_1 >= 29\r
+#        define BOOST_PP_ITERATION_1 29\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 30 && BOOST_PP_ITERATION_FINISH_1 >= 30\r
+#        define BOOST_PP_ITERATION_1 30\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 31 && BOOST_PP_ITERATION_FINISH_1 >= 31\r
+#        define BOOST_PP_ITERATION_1 31\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 32 && BOOST_PP_ITERATION_FINISH_1 >= 32\r
+#        define BOOST_PP_ITERATION_1 32\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 33 && BOOST_PP_ITERATION_FINISH_1 >= 33\r
+#        define BOOST_PP_ITERATION_1 33\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 34 && BOOST_PP_ITERATION_FINISH_1 >= 34\r
+#        define BOOST_PP_ITERATION_1 34\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 35 && BOOST_PP_ITERATION_FINISH_1 >= 35\r
+#        define BOOST_PP_ITERATION_1 35\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 36 && BOOST_PP_ITERATION_FINISH_1 >= 36\r
+#        define BOOST_PP_ITERATION_1 36\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 37 && BOOST_PP_ITERATION_FINISH_1 >= 37\r
+#        define BOOST_PP_ITERATION_1 37\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 38 && BOOST_PP_ITERATION_FINISH_1 >= 38\r
+#        define BOOST_PP_ITERATION_1 38\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 39 && BOOST_PP_ITERATION_FINISH_1 >= 39\r
+#        define BOOST_PP_ITERATION_1 39\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 40 && BOOST_PP_ITERATION_FINISH_1 >= 40\r
+#        define BOOST_PP_ITERATION_1 40\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 41 && BOOST_PP_ITERATION_FINISH_1 >= 41\r
+#        define BOOST_PP_ITERATION_1 41\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 42 && BOOST_PP_ITERATION_FINISH_1 >= 42\r
+#        define BOOST_PP_ITERATION_1 42\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 43 && BOOST_PP_ITERATION_FINISH_1 >= 43\r
+#        define BOOST_PP_ITERATION_1 43\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 44 && BOOST_PP_ITERATION_FINISH_1 >= 44\r
+#        define BOOST_PP_ITERATION_1 44\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 45 && BOOST_PP_ITERATION_FINISH_1 >= 45\r
+#        define BOOST_PP_ITERATION_1 45\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 46 && BOOST_PP_ITERATION_FINISH_1 >= 46\r
+#        define BOOST_PP_ITERATION_1 46\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 47 && BOOST_PP_ITERATION_FINISH_1 >= 47\r
+#        define BOOST_PP_ITERATION_1 47\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 48 && BOOST_PP_ITERATION_FINISH_1 >= 48\r
+#        define BOOST_PP_ITERATION_1 48\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 49 && BOOST_PP_ITERATION_FINISH_1 >= 49\r
+#        define BOOST_PP_ITERATION_1 49\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 50 && BOOST_PP_ITERATION_FINISH_1 >= 50\r
+#        define BOOST_PP_ITERATION_1 50\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 51 && BOOST_PP_ITERATION_FINISH_1 >= 51\r
+#        define BOOST_PP_ITERATION_1 51\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 52 && BOOST_PP_ITERATION_FINISH_1 >= 52\r
+#        define BOOST_PP_ITERATION_1 52\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 53 && BOOST_PP_ITERATION_FINISH_1 >= 53\r
+#        define BOOST_PP_ITERATION_1 53\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 54 && BOOST_PP_ITERATION_FINISH_1 >= 54\r
+#        define BOOST_PP_ITERATION_1 54\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 55 && BOOST_PP_ITERATION_FINISH_1 >= 55\r
+#        define BOOST_PP_ITERATION_1 55\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 56 && BOOST_PP_ITERATION_FINISH_1 >= 56\r
+#        define BOOST_PP_ITERATION_1 56\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 57 && BOOST_PP_ITERATION_FINISH_1 >= 57\r
+#        define BOOST_PP_ITERATION_1 57\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 58 && BOOST_PP_ITERATION_FINISH_1 >= 58\r
+#        define BOOST_PP_ITERATION_1 58\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 59 && BOOST_PP_ITERATION_FINISH_1 >= 59\r
+#        define BOOST_PP_ITERATION_1 59\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 60 && BOOST_PP_ITERATION_FINISH_1 >= 60\r
+#        define BOOST_PP_ITERATION_1 60\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 61 && BOOST_PP_ITERATION_FINISH_1 >= 61\r
+#        define BOOST_PP_ITERATION_1 61\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 62 && BOOST_PP_ITERATION_FINISH_1 >= 62\r
+#        define BOOST_PP_ITERATION_1 62\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 63 && BOOST_PP_ITERATION_FINISH_1 >= 63\r
+#        define BOOST_PP_ITERATION_1 63\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 64 && BOOST_PP_ITERATION_FINISH_1 >= 64\r
+#        define BOOST_PP_ITERATION_1 64\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 65 && BOOST_PP_ITERATION_FINISH_1 >= 65\r
+#        define BOOST_PP_ITERATION_1 65\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 66 && BOOST_PP_ITERATION_FINISH_1 >= 66\r
+#        define BOOST_PP_ITERATION_1 66\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 67 && BOOST_PP_ITERATION_FINISH_1 >= 67\r
+#        define BOOST_PP_ITERATION_1 67\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 68 && BOOST_PP_ITERATION_FINISH_1 >= 68\r
+#        define BOOST_PP_ITERATION_1 68\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 69 && BOOST_PP_ITERATION_FINISH_1 >= 69\r
+#        define BOOST_PP_ITERATION_1 69\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 70 && BOOST_PP_ITERATION_FINISH_1 >= 70\r
+#        define BOOST_PP_ITERATION_1 70\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 71 && BOOST_PP_ITERATION_FINISH_1 >= 71\r
+#        define BOOST_PP_ITERATION_1 71\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 72 && BOOST_PP_ITERATION_FINISH_1 >= 72\r
+#        define BOOST_PP_ITERATION_1 72\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 73 && BOOST_PP_ITERATION_FINISH_1 >= 73\r
+#        define BOOST_PP_ITERATION_1 73\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 74 && BOOST_PP_ITERATION_FINISH_1 >= 74\r
+#        define BOOST_PP_ITERATION_1 74\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 75 && BOOST_PP_ITERATION_FINISH_1 >= 75\r
+#        define BOOST_PP_ITERATION_1 75\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 76 && BOOST_PP_ITERATION_FINISH_1 >= 76\r
+#        define BOOST_PP_ITERATION_1 76\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 77 && BOOST_PP_ITERATION_FINISH_1 >= 77\r
+#        define BOOST_PP_ITERATION_1 77\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 78 && BOOST_PP_ITERATION_FINISH_1 >= 78\r
+#        define BOOST_PP_ITERATION_1 78\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 79 && BOOST_PP_ITERATION_FINISH_1 >= 79\r
+#        define BOOST_PP_ITERATION_1 79\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 80 && BOOST_PP_ITERATION_FINISH_1 >= 80\r
+#        define BOOST_PP_ITERATION_1 80\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 81 && BOOST_PP_ITERATION_FINISH_1 >= 81\r
+#        define BOOST_PP_ITERATION_1 81\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 82 && BOOST_PP_ITERATION_FINISH_1 >= 82\r
+#        define BOOST_PP_ITERATION_1 82\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 83 && BOOST_PP_ITERATION_FINISH_1 >= 83\r
+#        define BOOST_PP_ITERATION_1 83\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 84 && BOOST_PP_ITERATION_FINISH_1 >= 84\r
+#        define BOOST_PP_ITERATION_1 84\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 85 && BOOST_PP_ITERATION_FINISH_1 >= 85\r
+#        define BOOST_PP_ITERATION_1 85\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 86 && BOOST_PP_ITERATION_FINISH_1 >= 86\r
+#        define BOOST_PP_ITERATION_1 86\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 87 && BOOST_PP_ITERATION_FINISH_1 >= 87\r
+#        define BOOST_PP_ITERATION_1 87\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 88 && BOOST_PP_ITERATION_FINISH_1 >= 88\r
+#        define BOOST_PP_ITERATION_1 88\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 89 && BOOST_PP_ITERATION_FINISH_1 >= 89\r
+#        define BOOST_PP_ITERATION_1 89\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 90 && BOOST_PP_ITERATION_FINISH_1 >= 90\r
+#        define BOOST_PP_ITERATION_1 90\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 91 && BOOST_PP_ITERATION_FINISH_1 >= 91\r
+#        define BOOST_PP_ITERATION_1 91\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 92 && BOOST_PP_ITERATION_FINISH_1 >= 92\r
+#        define BOOST_PP_ITERATION_1 92\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 93 && BOOST_PP_ITERATION_FINISH_1 >= 93\r
+#        define BOOST_PP_ITERATION_1 93\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 94 && BOOST_PP_ITERATION_FINISH_1 >= 94\r
+#        define BOOST_PP_ITERATION_1 94\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 95 && BOOST_PP_ITERATION_FINISH_1 >= 95\r
+#        define BOOST_PP_ITERATION_1 95\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 96 && BOOST_PP_ITERATION_FINISH_1 >= 96\r
+#        define BOOST_PP_ITERATION_1 96\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 97 && BOOST_PP_ITERATION_FINISH_1 >= 97\r
+#        define BOOST_PP_ITERATION_1 97\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 98 && BOOST_PP_ITERATION_FINISH_1 >= 98\r
+#        define BOOST_PP_ITERATION_1 98\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 99 && BOOST_PP_ITERATION_FINISH_1 >= 99\r
+#        define BOOST_PP_ITERATION_1 99\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 100 && BOOST_PP_ITERATION_FINISH_1 >= 100\r
+#        define BOOST_PP_ITERATION_1 100\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 101 && BOOST_PP_ITERATION_FINISH_1 >= 101\r
+#        define BOOST_PP_ITERATION_1 101\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 102 && BOOST_PP_ITERATION_FINISH_1 >= 102\r
+#        define BOOST_PP_ITERATION_1 102\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 103 && BOOST_PP_ITERATION_FINISH_1 >= 103\r
+#        define BOOST_PP_ITERATION_1 103\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 104 && BOOST_PP_ITERATION_FINISH_1 >= 104\r
+#        define BOOST_PP_ITERATION_1 104\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 105 && BOOST_PP_ITERATION_FINISH_1 >= 105\r
+#        define BOOST_PP_ITERATION_1 105\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 106 && BOOST_PP_ITERATION_FINISH_1 >= 106\r
+#        define BOOST_PP_ITERATION_1 106\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 107 && BOOST_PP_ITERATION_FINISH_1 >= 107\r
+#        define BOOST_PP_ITERATION_1 107\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 108 && BOOST_PP_ITERATION_FINISH_1 >= 108\r
+#        define BOOST_PP_ITERATION_1 108\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 109 && BOOST_PP_ITERATION_FINISH_1 >= 109\r
+#        define BOOST_PP_ITERATION_1 109\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 110 && BOOST_PP_ITERATION_FINISH_1 >= 110\r
+#        define BOOST_PP_ITERATION_1 110\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 111 && BOOST_PP_ITERATION_FINISH_1 >= 111\r
+#        define BOOST_PP_ITERATION_1 111\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 112 && BOOST_PP_ITERATION_FINISH_1 >= 112\r
+#        define BOOST_PP_ITERATION_1 112\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 113 && BOOST_PP_ITERATION_FINISH_1 >= 113\r
+#        define BOOST_PP_ITERATION_1 113\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 114 && BOOST_PP_ITERATION_FINISH_1 >= 114\r
+#        define BOOST_PP_ITERATION_1 114\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 115 && BOOST_PP_ITERATION_FINISH_1 >= 115\r
+#        define BOOST_PP_ITERATION_1 115\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 116 && BOOST_PP_ITERATION_FINISH_1 >= 116\r
+#        define BOOST_PP_ITERATION_1 116\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 117 && BOOST_PP_ITERATION_FINISH_1 >= 117\r
+#        define BOOST_PP_ITERATION_1 117\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 118 && BOOST_PP_ITERATION_FINISH_1 >= 118\r
+#        define BOOST_PP_ITERATION_1 118\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 119 && BOOST_PP_ITERATION_FINISH_1 >= 119\r
+#        define BOOST_PP_ITERATION_1 119\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 120 && BOOST_PP_ITERATION_FINISH_1 >= 120\r
+#        define BOOST_PP_ITERATION_1 120\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 121 && BOOST_PP_ITERATION_FINISH_1 >= 121\r
+#        define BOOST_PP_ITERATION_1 121\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 122 && BOOST_PP_ITERATION_FINISH_1 >= 122\r
+#        define BOOST_PP_ITERATION_1 122\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 123 && BOOST_PP_ITERATION_FINISH_1 >= 123\r
+#        define BOOST_PP_ITERATION_1 123\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 124 && BOOST_PP_ITERATION_FINISH_1 >= 124\r
+#        define BOOST_PP_ITERATION_1 124\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 125 && BOOST_PP_ITERATION_FINISH_1 >= 125\r
+#        define BOOST_PP_ITERATION_1 125\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 126 && BOOST_PP_ITERATION_FINISH_1 >= 126\r
+#        define BOOST_PP_ITERATION_1 126\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 127 && BOOST_PP_ITERATION_FINISH_1 >= 127\r
+#        define BOOST_PP_ITERATION_1 127\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 128 && BOOST_PP_ITERATION_FINISH_1 >= 128\r
+#        define BOOST_PP_ITERATION_1 128\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 129 && BOOST_PP_ITERATION_FINISH_1 >= 129\r
+#        define BOOST_PP_ITERATION_1 129\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 130 && BOOST_PP_ITERATION_FINISH_1 >= 130\r
+#        define BOOST_PP_ITERATION_1 130\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 131 && BOOST_PP_ITERATION_FINISH_1 >= 131\r
+#        define BOOST_PP_ITERATION_1 131\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 132 && BOOST_PP_ITERATION_FINISH_1 >= 132\r
+#        define BOOST_PP_ITERATION_1 132\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 133 && BOOST_PP_ITERATION_FINISH_1 >= 133\r
+#        define BOOST_PP_ITERATION_1 133\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 134 && BOOST_PP_ITERATION_FINISH_1 >= 134\r
+#        define BOOST_PP_ITERATION_1 134\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 135 && BOOST_PP_ITERATION_FINISH_1 >= 135\r
+#        define BOOST_PP_ITERATION_1 135\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 136 && BOOST_PP_ITERATION_FINISH_1 >= 136\r
+#        define BOOST_PP_ITERATION_1 136\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 137 && BOOST_PP_ITERATION_FINISH_1 >= 137\r
+#        define BOOST_PP_ITERATION_1 137\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 138 && BOOST_PP_ITERATION_FINISH_1 >= 138\r
+#        define BOOST_PP_ITERATION_1 138\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 139 && BOOST_PP_ITERATION_FINISH_1 >= 139\r
+#        define BOOST_PP_ITERATION_1 139\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 140 && BOOST_PP_ITERATION_FINISH_1 >= 140\r
+#        define BOOST_PP_ITERATION_1 140\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 141 && BOOST_PP_ITERATION_FINISH_1 >= 141\r
+#        define BOOST_PP_ITERATION_1 141\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 142 && BOOST_PP_ITERATION_FINISH_1 >= 142\r
+#        define BOOST_PP_ITERATION_1 142\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 143 && BOOST_PP_ITERATION_FINISH_1 >= 143\r
+#        define BOOST_PP_ITERATION_1 143\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 144 && BOOST_PP_ITERATION_FINISH_1 >= 144\r
+#        define BOOST_PP_ITERATION_1 144\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 145 && BOOST_PP_ITERATION_FINISH_1 >= 145\r
+#        define BOOST_PP_ITERATION_1 145\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 146 && BOOST_PP_ITERATION_FINISH_1 >= 146\r
+#        define BOOST_PP_ITERATION_1 146\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 147 && BOOST_PP_ITERATION_FINISH_1 >= 147\r
+#        define BOOST_PP_ITERATION_1 147\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 148 && BOOST_PP_ITERATION_FINISH_1 >= 148\r
+#        define BOOST_PP_ITERATION_1 148\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 149 && BOOST_PP_ITERATION_FINISH_1 >= 149\r
+#        define BOOST_PP_ITERATION_1 149\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 150 && BOOST_PP_ITERATION_FINISH_1 >= 150\r
+#        define BOOST_PP_ITERATION_1 150\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 151 && BOOST_PP_ITERATION_FINISH_1 >= 151\r
+#        define BOOST_PP_ITERATION_1 151\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 152 && BOOST_PP_ITERATION_FINISH_1 >= 152\r
+#        define BOOST_PP_ITERATION_1 152\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 153 && BOOST_PP_ITERATION_FINISH_1 >= 153\r
+#        define BOOST_PP_ITERATION_1 153\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 154 && BOOST_PP_ITERATION_FINISH_1 >= 154\r
+#        define BOOST_PP_ITERATION_1 154\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 155 && BOOST_PP_ITERATION_FINISH_1 >= 155\r
+#        define BOOST_PP_ITERATION_1 155\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 156 && BOOST_PP_ITERATION_FINISH_1 >= 156\r
+#        define BOOST_PP_ITERATION_1 156\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 157 && BOOST_PP_ITERATION_FINISH_1 >= 157\r
+#        define BOOST_PP_ITERATION_1 157\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 158 && BOOST_PP_ITERATION_FINISH_1 >= 158\r
+#        define BOOST_PP_ITERATION_1 158\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 159 && BOOST_PP_ITERATION_FINISH_1 >= 159\r
+#        define BOOST_PP_ITERATION_1 159\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 160 && BOOST_PP_ITERATION_FINISH_1 >= 160\r
+#        define BOOST_PP_ITERATION_1 160\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 161 && BOOST_PP_ITERATION_FINISH_1 >= 161\r
+#        define BOOST_PP_ITERATION_1 161\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 162 && BOOST_PP_ITERATION_FINISH_1 >= 162\r
+#        define BOOST_PP_ITERATION_1 162\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 163 && BOOST_PP_ITERATION_FINISH_1 >= 163\r
+#        define BOOST_PP_ITERATION_1 163\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 164 && BOOST_PP_ITERATION_FINISH_1 >= 164\r
+#        define BOOST_PP_ITERATION_1 164\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 165 && BOOST_PP_ITERATION_FINISH_1 >= 165\r
+#        define BOOST_PP_ITERATION_1 165\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 166 && BOOST_PP_ITERATION_FINISH_1 >= 166\r
+#        define BOOST_PP_ITERATION_1 166\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 167 && BOOST_PP_ITERATION_FINISH_1 >= 167\r
+#        define BOOST_PP_ITERATION_1 167\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 168 && BOOST_PP_ITERATION_FINISH_1 >= 168\r
+#        define BOOST_PP_ITERATION_1 168\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 169 && BOOST_PP_ITERATION_FINISH_1 >= 169\r
+#        define BOOST_PP_ITERATION_1 169\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 170 && BOOST_PP_ITERATION_FINISH_1 >= 170\r
+#        define BOOST_PP_ITERATION_1 170\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 171 && BOOST_PP_ITERATION_FINISH_1 >= 171\r
+#        define BOOST_PP_ITERATION_1 171\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 172 && BOOST_PP_ITERATION_FINISH_1 >= 172\r
+#        define BOOST_PP_ITERATION_1 172\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 173 && BOOST_PP_ITERATION_FINISH_1 >= 173\r
+#        define BOOST_PP_ITERATION_1 173\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 174 && BOOST_PP_ITERATION_FINISH_1 >= 174\r
+#        define BOOST_PP_ITERATION_1 174\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 175 && BOOST_PP_ITERATION_FINISH_1 >= 175\r
+#        define BOOST_PP_ITERATION_1 175\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 176 && BOOST_PP_ITERATION_FINISH_1 >= 176\r
+#        define BOOST_PP_ITERATION_1 176\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 177 && BOOST_PP_ITERATION_FINISH_1 >= 177\r
+#        define BOOST_PP_ITERATION_1 177\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 178 && BOOST_PP_ITERATION_FINISH_1 >= 178\r
+#        define BOOST_PP_ITERATION_1 178\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 179 && BOOST_PP_ITERATION_FINISH_1 >= 179\r
+#        define BOOST_PP_ITERATION_1 179\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 180 && BOOST_PP_ITERATION_FINISH_1 >= 180\r
+#        define BOOST_PP_ITERATION_1 180\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 181 && BOOST_PP_ITERATION_FINISH_1 >= 181\r
+#        define BOOST_PP_ITERATION_1 181\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 182 && BOOST_PP_ITERATION_FINISH_1 >= 182\r
+#        define BOOST_PP_ITERATION_1 182\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 183 && BOOST_PP_ITERATION_FINISH_1 >= 183\r
+#        define BOOST_PP_ITERATION_1 183\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 184 && BOOST_PP_ITERATION_FINISH_1 >= 184\r
+#        define BOOST_PP_ITERATION_1 184\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 185 && BOOST_PP_ITERATION_FINISH_1 >= 185\r
+#        define BOOST_PP_ITERATION_1 185\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 186 && BOOST_PP_ITERATION_FINISH_1 >= 186\r
+#        define BOOST_PP_ITERATION_1 186\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 187 && BOOST_PP_ITERATION_FINISH_1 >= 187\r
+#        define BOOST_PP_ITERATION_1 187\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 188 && BOOST_PP_ITERATION_FINISH_1 >= 188\r
+#        define BOOST_PP_ITERATION_1 188\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 189 && BOOST_PP_ITERATION_FINISH_1 >= 189\r
+#        define BOOST_PP_ITERATION_1 189\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 190 && BOOST_PP_ITERATION_FINISH_1 >= 190\r
+#        define BOOST_PP_ITERATION_1 190\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 191 && BOOST_PP_ITERATION_FINISH_1 >= 191\r
+#        define BOOST_PP_ITERATION_1 191\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 192 && BOOST_PP_ITERATION_FINISH_1 >= 192\r
+#        define BOOST_PP_ITERATION_1 192\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 193 && BOOST_PP_ITERATION_FINISH_1 >= 193\r
+#        define BOOST_PP_ITERATION_1 193\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 194 && BOOST_PP_ITERATION_FINISH_1 >= 194\r
+#        define BOOST_PP_ITERATION_1 194\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 195 && BOOST_PP_ITERATION_FINISH_1 >= 195\r
+#        define BOOST_PP_ITERATION_1 195\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 196 && BOOST_PP_ITERATION_FINISH_1 >= 196\r
+#        define BOOST_PP_ITERATION_1 196\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 197 && BOOST_PP_ITERATION_FINISH_1 >= 197\r
+#        define BOOST_PP_ITERATION_1 197\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 198 && BOOST_PP_ITERATION_FINISH_1 >= 198\r
+#        define BOOST_PP_ITERATION_1 198\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 199 && BOOST_PP_ITERATION_FINISH_1 >= 199\r
+#        define BOOST_PP_ITERATION_1 199\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 200 && BOOST_PP_ITERATION_FINISH_1 >= 200\r
+#        define BOOST_PP_ITERATION_1 200\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 201 && BOOST_PP_ITERATION_FINISH_1 >= 201\r
+#        define BOOST_PP_ITERATION_1 201\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 202 && BOOST_PP_ITERATION_FINISH_1 >= 202\r
+#        define BOOST_PP_ITERATION_1 202\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 203 && BOOST_PP_ITERATION_FINISH_1 >= 203\r
+#        define BOOST_PP_ITERATION_1 203\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 204 && BOOST_PP_ITERATION_FINISH_1 >= 204\r
+#        define BOOST_PP_ITERATION_1 204\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 205 && BOOST_PP_ITERATION_FINISH_1 >= 205\r
+#        define BOOST_PP_ITERATION_1 205\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 206 && BOOST_PP_ITERATION_FINISH_1 >= 206\r
+#        define BOOST_PP_ITERATION_1 206\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 207 && BOOST_PP_ITERATION_FINISH_1 >= 207\r
+#        define BOOST_PP_ITERATION_1 207\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 208 && BOOST_PP_ITERATION_FINISH_1 >= 208\r
+#        define BOOST_PP_ITERATION_1 208\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 209 && BOOST_PP_ITERATION_FINISH_1 >= 209\r
+#        define BOOST_PP_ITERATION_1 209\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 210 && BOOST_PP_ITERATION_FINISH_1 >= 210\r
+#        define BOOST_PP_ITERATION_1 210\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 211 && BOOST_PP_ITERATION_FINISH_1 >= 211\r
+#        define BOOST_PP_ITERATION_1 211\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 212 && BOOST_PP_ITERATION_FINISH_1 >= 212\r
+#        define BOOST_PP_ITERATION_1 212\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 213 && BOOST_PP_ITERATION_FINISH_1 >= 213\r
+#        define BOOST_PP_ITERATION_1 213\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 214 && BOOST_PP_ITERATION_FINISH_1 >= 214\r
+#        define BOOST_PP_ITERATION_1 214\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 215 && BOOST_PP_ITERATION_FINISH_1 >= 215\r
+#        define BOOST_PP_ITERATION_1 215\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 216 && BOOST_PP_ITERATION_FINISH_1 >= 216\r
+#        define BOOST_PP_ITERATION_1 216\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 217 && BOOST_PP_ITERATION_FINISH_1 >= 217\r
+#        define BOOST_PP_ITERATION_1 217\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 218 && BOOST_PP_ITERATION_FINISH_1 >= 218\r
+#        define BOOST_PP_ITERATION_1 218\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 219 && BOOST_PP_ITERATION_FINISH_1 >= 219\r
+#        define BOOST_PP_ITERATION_1 219\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 220 && BOOST_PP_ITERATION_FINISH_1 >= 220\r
+#        define BOOST_PP_ITERATION_1 220\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 221 && BOOST_PP_ITERATION_FINISH_1 >= 221\r
+#        define BOOST_PP_ITERATION_1 221\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 222 && BOOST_PP_ITERATION_FINISH_1 >= 222\r
+#        define BOOST_PP_ITERATION_1 222\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 223 && BOOST_PP_ITERATION_FINISH_1 >= 223\r
+#        define BOOST_PP_ITERATION_1 223\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 224 && BOOST_PP_ITERATION_FINISH_1 >= 224\r
+#        define BOOST_PP_ITERATION_1 224\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 225 && BOOST_PP_ITERATION_FINISH_1 >= 225\r
+#        define BOOST_PP_ITERATION_1 225\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 226 && BOOST_PP_ITERATION_FINISH_1 >= 226\r
+#        define BOOST_PP_ITERATION_1 226\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 227 && BOOST_PP_ITERATION_FINISH_1 >= 227\r
+#        define BOOST_PP_ITERATION_1 227\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 228 && BOOST_PP_ITERATION_FINISH_1 >= 228\r
+#        define BOOST_PP_ITERATION_1 228\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 229 && BOOST_PP_ITERATION_FINISH_1 >= 229\r
+#        define BOOST_PP_ITERATION_1 229\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 230 && BOOST_PP_ITERATION_FINISH_1 >= 230\r
+#        define BOOST_PP_ITERATION_1 230\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 231 && BOOST_PP_ITERATION_FINISH_1 >= 231\r
+#        define BOOST_PP_ITERATION_1 231\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 232 && BOOST_PP_ITERATION_FINISH_1 >= 232\r
+#        define BOOST_PP_ITERATION_1 232\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 233 && BOOST_PP_ITERATION_FINISH_1 >= 233\r
+#        define BOOST_PP_ITERATION_1 233\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 234 && BOOST_PP_ITERATION_FINISH_1 >= 234\r
+#        define BOOST_PP_ITERATION_1 234\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 235 && BOOST_PP_ITERATION_FINISH_1 >= 235\r
+#        define BOOST_PP_ITERATION_1 235\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 236 && BOOST_PP_ITERATION_FINISH_1 >= 236\r
+#        define BOOST_PP_ITERATION_1 236\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 237 && BOOST_PP_ITERATION_FINISH_1 >= 237\r
+#        define BOOST_PP_ITERATION_1 237\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 238 && BOOST_PP_ITERATION_FINISH_1 >= 238\r
+#        define BOOST_PP_ITERATION_1 238\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 239 && BOOST_PP_ITERATION_FINISH_1 >= 239\r
+#        define BOOST_PP_ITERATION_1 239\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 240 && BOOST_PP_ITERATION_FINISH_1 >= 240\r
+#        define BOOST_PP_ITERATION_1 240\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 241 && BOOST_PP_ITERATION_FINISH_1 >= 241\r
+#        define BOOST_PP_ITERATION_1 241\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 242 && BOOST_PP_ITERATION_FINISH_1 >= 242\r
+#        define BOOST_PP_ITERATION_1 242\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 243 && BOOST_PP_ITERATION_FINISH_1 >= 243\r
+#        define BOOST_PP_ITERATION_1 243\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 244 && BOOST_PP_ITERATION_FINISH_1 >= 244\r
+#        define BOOST_PP_ITERATION_1 244\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 245 && BOOST_PP_ITERATION_FINISH_1 >= 245\r
+#        define BOOST_PP_ITERATION_1 245\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 246 && BOOST_PP_ITERATION_FINISH_1 >= 246\r
+#        define BOOST_PP_ITERATION_1 246\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 247 && BOOST_PP_ITERATION_FINISH_1 >= 247\r
+#        define BOOST_PP_ITERATION_1 247\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 248 && BOOST_PP_ITERATION_FINISH_1 >= 248\r
+#        define BOOST_PP_ITERATION_1 248\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 249 && BOOST_PP_ITERATION_FINISH_1 >= 249\r
+#        define BOOST_PP_ITERATION_1 249\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 250 && BOOST_PP_ITERATION_FINISH_1 >= 250\r
+#        define BOOST_PP_ITERATION_1 250\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 251 && BOOST_PP_ITERATION_FINISH_1 >= 251\r
+#        define BOOST_PP_ITERATION_1 251\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 252 && BOOST_PP_ITERATION_FINISH_1 >= 252\r
+#        define BOOST_PP_ITERATION_1 252\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 253 && BOOST_PP_ITERATION_FINISH_1 >= 253\r
+#        define BOOST_PP_ITERATION_1 253\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 254 && BOOST_PP_ITERATION_FINISH_1 >= 254\r
+#        define BOOST_PP_ITERATION_1 254\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 255 && BOOST_PP_ITERATION_FINISH_1 >= 255\r
+#        define BOOST_PP_ITERATION_1 255\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_1 <= 256 && BOOST_PP_ITERATION_FINISH_1 >= 256\r
+#        define BOOST_PP_ITERATION_1 256\r
+#        include BOOST_PP_FILENAME_1\r
+#        undef BOOST_PP_ITERATION_1\r
+#    endif\r
+# endif\r
+#\r
+# undef BOOST_PP_IS_ITERATING\r
+#\r
+# undef BOOST_PP_ITERATION_DEPTH\r
+# define BOOST_PP_ITERATION_DEPTH() 0\r
+#\r
+# undef BOOST_PP_ITERATION_START_1\r
+# undef BOOST_PP_ITERATION_FINISH_1\r
+# undef BOOST_PP_FILENAME_1\r
+#\r
+# undef BOOST_PP_ITERATION_FLAGS_1\r
+# undef BOOST_PP_ITERATION_PARAMS_1\r
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 (file)
index 0000000..33e2dda
--- /dev/null
@@ -0,0 +1,1338 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# if defined(BOOST_PP_ITERATION_LIMITS)\r
+#    if !defined(BOOST_PP_FILENAME_2)\r
+#        error BOOST_PP_ERROR:  depth #2 filename is not defined\r
+#    endif\r
+#    define BOOST_PP_VALUE BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_ITERATION_LIMITS)\r
+#    include <boost/preprocessor/iteration/detail/bounds/lower2.hpp>\r
+#    define BOOST_PP_VALUE BOOST_PP_TUPLE_ELEM(2, 1, BOOST_PP_ITERATION_LIMITS)\r
+#    include <boost/preprocessor/iteration/detail/bounds/upper2.hpp>\r
+#    define BOOST_PP_ITERATION_FLAGS_2 0\r
+#    undef BOOST_PP_ITERATION_LIMITS\r
+# elif defined(BOOST_PP_ITERATION_PARAMS_2)\r
+#    define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(0, BOOST_PP_ITERATION_PARAMS_2)\r
+#    include <boost/preprocessor/iteration/detail/bounds/lower2.hpp>\r
+#    define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(1, BOOST_PP_ITERATION_PARAMS_2)\r
+#    include <boost/preprocessor/iteration/detail/bounds/upper2.hpp>\r
+#    define BOOST_PP_FILENAME_2 BOOST_PP_ARRAY_ELEM(2, BOOST_PP_ITERATION_PARAMS_2)\r
+#    if BOOST_PP_ARRAY_SIZE(BOOST_PP_ITERATION_PARAMS_2) >= 4\r
+#        define BOOST_PP_ITERATION_FLAGS_2 BOOST_PP_ARRAY_ELEM(3, BOOST_PP_ITERATION_PARAMS_2)\r
+#    else\r
+#        define BOOST_PP_ITERATION_FLAGS_2 0\r
+#    endif\r
+# else\r
+#    error BOOST_PP_ERROR:  depth #2 iteration boundaries or filename not defined\r
+# endif\r
+#\r
+# undef BOOST_PP_ITERATION_DEPTH\r
+# define BOOST_PP_ITERATION_DEPTH() 2\r
+#\r
+# if (BOOST_PP_ITERATION_START_2) > (BOOST_PP_ITERATION_FINISH_2)\r
+#    include <boost/preprocessor/iteration/detail/iter/reverse2.hpp>\r
+# else\r
+#    if BOOST_PP_ITERATION_START_2 <= 0 && BOOST_PP_ITERATION_FINISH_2 >= 0\r
+#        define BOOST_PP_ITERATION_2 0\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 1 && BOOST_PP_ITERATION_FINISH_2 >= 1\r
+#        define BOOST_PP_ITERATION_2 1\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 2 && BOOST_PP_ITERATION_FINISH_2 >= 2\r
+#        define BOOST_PP_ITERATION_2 2\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 3 && BOOST_PP_ITERATION_FINISH_2 >= 3\r
+#        define BOOST_PP_ITERATION_2 3\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 4 && BOOST_PP_ITERATION_FINISH_2 >= 4\r
+#        define BOOST_PP_ITERATION_2 4\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 5 && BOOST_PP_ITERATION_FINISH_2 >= 5\r
+#        define BOOST_PP_ITERATION_2 5\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 6 && BOOST_PP_ITERATION_FINISH_2 >= 6\r
+#        define BOOST_PP_ITERATION_2 6\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 7 && BOOST_PP_ITERATION_FINISH_2 >= 7\r
+#        define BOOST_PP_ITERATION_2 7\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 8 && BOOST_PP_ITERATION_FINISH_2 >= 8\r
+#        define BOOST_PP_ITERATION_2 8\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 9 && BOOST_PP_ITERATION_FINISH_2 >= 9\r
+#        define BOOST_PP_ITERATION_2 9\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 10 && BOOST_PP_ITERATION_FINISH_2 >= 10\r
+#        define BOOST_PP_ITERATION_2 10\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 11 && BOOST_PP_ITERATION_FINISH_2 >= 11\r
+#        define BOOST_PP_ITERATION_2 11\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 12 && BOOST_PP_ITERATION_FINISH_2 >= 12\r
+#        define BOOST_PP_ITERATION_2 12\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 13 && BOOST_PP_ITERATION_FINISH_2 >= 13\r
+#        define BOOST_PP_ITERATION_2 13\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 14 && BOOST_PP_ITERATION_FINISH_2 >= 14\r
+#        define BOOST_PP_ITERATION_2 14\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 15 && BOOST_PP_ITERATION_FINISH_2 >= 15\r
+#        define BOOST_PP_ITERATION_2 15\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 16 && BOOST_PP_ITERATION_FINISH_2 >= 16\r
+#        define BOOST_PP_ITERATION_2 16\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 17 && BOOST_PP_ITERATION_FINISH_2 >= 17\r
+#        define BOOST_PP_ITERATION_2 17\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 18 && BOOST_PP_ITERATION_FINISH_2 >= 18\r
+#        define BOOST_PP_ITERATION_2 18\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 19 && BOOST_PP_ITERATION_FINISH_2 >= 19\r
+#        define BOOST_PP_ITERATION_2 19\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 20 && BOOST_PP_ITERATION_FINISH_2 >= 20\r
+#        define BOOST_PP_ITERATION_2 20\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 21 && BOOST_PP_ITERATION_FINISH_2 >= 21\r
+#        define BOOST_PP_ITERATION_2 21\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 22 && BOOST_PP_ITERATION_FINISH_2 >= 22\r
+#        define BOOST_PP_ITERATION_2 22\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 23 && BOOST_PP_ITERATION_FINISH_2 >= 23\r
+#        define BOOST_PP_ITERATION_2 23\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 24 && BOOST_PP_ITERATION_FINISH_2 >= 24\r
+#        define BOOST_PP_ITERATION_2 24\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 25 && BOOST_PP_ITERATION_FINISH_2 >= 25\r
+#        define BOOST_PP_ITERATION_2 25\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 26 && BOOST_PP_ITERATION_FINISH_2 >= 26\r
+#        define BOOST_PP_ITERATION_2 26\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 27 && BOOST_PP_ITERATION_FINISH_2 >= 27\r
+#        define BOOST_PP_ITERATION_2 27\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 28 && BOOST_PP_ITERATION_FINISH_2 >= 28\r
+#        define BOOST_PP_ITERATION_2 28\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 29 && BOOST_PP_ITERATION_FINISH_2 >= 29\r
+#        define BOOST_PP_ITERATION_2 29\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 30 && BOOST_PP_ITERATION_FINISH_2 >= 30\r
+#        define BOOST_PP_ITERATION_2 30\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 31 && BOOST_PP_ITERATION_FINISH_2 >= 31\r
+#        define BOOST_PP_ITERATION_2 31\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 32 && BOOST_PP_ITERATION_FINISH_2 >= 32\r
+#        define BOOST_PP_ITERATION_2 32\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 33 && BOOST_PP_ITERATION_FINISH_2 >= 33\r
+#        define BOOST_PP_ITERATION_2 33\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 34 && BOOST_PP_ITERATION_FINISH_2 >= 34\r
+#        define BOOST_PP_ITERATION_2 34\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 35 && BOOST_PP_ITERATION_FINISH_2 >= 35\r
+#        define BOOST_PP_ITERATION_2 35\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 36 && BOOST_PP_ITERATION_FINISH_2 >= 36\r
+#        define BOOST_PP_ITERATION_2 36\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 37 && BOOST_PP_ITERATION_FINISH_2 >= 37\r
+#        define BOOST_PP_ITERATION_2 37\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 38 && BOOST_PP_ITERATION_FINISH_2 >= 38\r
+#        define BOOST_PP_ITERATION_2 38\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 39 && BOOST_PP_ITERATION_FINISH_2 >= 39\r
+#        define BOOST_PP_ITERATION_2 39\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 40 && BOOST_PP_ITERATION_FINISH_2 >= 40\r
+#        define BOOST_PP_ITERATION_2 40\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 41 && BOOST_PP_ITERATION_FINISH_2 >= 41\r
+#        define BOOST_PP_ITERATION_2 41\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 42 && BOOST_PP_ITERATION_FINISH_2 >= 42\r
+#        define BOOST_PP_ITERATION_2 42\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 43 && BOOST_PP_ITERATION_FINISH_2 >= 43\r
+#        define BOOST_PP_ITERATION_2 43\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 44 && BOOST_PP_ITERATION_FINISH_2 >= 44\r
+#        define BOOST_PP_ITERATION_2 44\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 45 && BOOST_PP_ITERATION_FINISH_2 >= 45\r
+#        define BOOST_PP_ITERATION_2 45\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 46 && BOOST_PP_ITERATION_FINISH_2 >= 46\r
+#        define BOOST_PP_ITERATION_2 46\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 47 && BOOST_PP_ITERATION_FINISH_2 >= 47\r
+#        define BOOST_PP_ITERATION_2 47\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 48 && BOOST_PP_ITERATION_FINISH_2 >= 48\r
+#        define BOOST_PP_ITERATION_2 48\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 49 && BOOST_PP_ITERATION_FINISH_2 >= 49\r
+#        define BOOST_PP_ITERATION_2 49\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 50 && BOOST_PP_ITERATION_FINISH_2 >= 50\r
+#        define BOOST_PP_ITERATION_2 50\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 51 && BOOST_PP_ITERATION_FINISH_2 >= 51\r
+#        define BOOST_PP_ITERATION_2 51\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 52 && BOOST_PP_ITERATION_FINISH_2 >= 52\r
+#        define BOOST_PP_ITERATION_2 52\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 53 && BOOST_PP_ITERATION_FINISH_2 >= 53\r
+#        define BOOST_PP_ITERATION_2 53\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 54 && BOOST_PP_ITERATION_FINISH_2 >= 54\r
+#        define BOOST_PP_ITERATION_2 54\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 55 && BOOST_PP_ITERATION_FINISH_2 >= 55\r
+#        define BOOST_PP_ITERATION_2 55\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 56 && BOOST_PP_ITERATION_FINISH_2 >= 56\r
+#        define BOOST_PP_ITERATION_2 56\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 57 && BOOST_PP_ITERATION_FINISH_2 >= 57\r
+#        define BOOST_PP_ITERATION_2 57\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 58 && BOOST_PP_ITERATION_FINISH_2 >= 58\r
+#        define BOOST_PP_ITERATION_2 58\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 59 && BOOST_PP_ITERATION_FINISH_2 >= 59\r
+#        define BOOST_PP_ITERATION_2 59\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 60 && BOOST_PP_ITERATION_FINISH_2 >= 60\r
+#        define BOOST_PP_ITERATION_2 60\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 61 && BOOST_PP_ITERATION_FINISH_2 >= 61\r
+#        define BOOST_PP_ITERATION_2 61\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 62 && BOOST_PP_ITERATION_FINISH_2 >= 62\r
+#        define BOOST_PP_ITERATION_2 62\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 63 && BOOST_PP_ITERATION_FINISH_2 >= 63\r
+#        define BOOST_PP_ITERATION_2 63\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 64 && BOOST_PP_ITERATION_FINISH_2 >= 64\r
+#        define BOOST_PP_ITERATION_2 64\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 65 && BOOST_PP_ITERATION_FINISH_2 >= 65\r
+#        define BOOST_PP_ITERATION_2 65\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 66 && BOOST_PP_ITERATION_FINISH_2 >= 66\r
+#        define BOOST_PP_ITERATION_2 66\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 67 && BOOST_PP_ITERATION_FINISH_2 >= 67\r
+#        define BOOST_PP_ITERATION_2 67\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 68 && BOOST_PP_ITERATION_FINISH_2 >= 68\r
+#        define BOOST_PP_ITERATION_2 68\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 69 && BOOST_PP_ITERATION_FINISH_2 >= 69\r
+#        define BOOST_PP_ITERATION_2 69\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 70 && BOOST_PP_ITERATION_FINISH_2 >= 70\r
+#        define BOOST_PP_ITERATION_2 70\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 71 && BOOST_PP_ITERATION_FINISH_2 >= 71\r
+#        define BOOST_PP_ITERATION_2 71\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 72 && BOOST_PP_ITERATION_FINISH_2 >= 72\r
+#        define BOOST_PP_ITERATION_2 72\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 73 && BOOST_PP_ITERATION_FINISH_2 >= 73\r
+#        define BOOST_PP_ITERATION_2 73\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 74 && BOOST_PP_ITERATION_FINISH_2 >= 74\r
+#        define BOOST_PP_ITERATION_2 74\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 75 && BOOST_PP_ITERATION_FINISH_2 >= 75\r
+#        define BOOST_PP_ITERATION_2 75\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 76 && BOOST_PP_ITERATION_FINISH_2 >= 76\r
+#        define BOOST_PP_ITERATION_2 76\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 77 && BOOST_PP_ITERATION_FINISH_2 >= 77\r
+#        define BOOST_PP_ITERATION_2 77\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 78 && BOOST_PP_ITERATION_FINISH_2 >= 78\r
+#        define BOOST_PP_ITERATION_2 78\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 79 && BOOST_PP_ITERATION_FINISH_2 >= 79\r
+#        define BOOST_PP_ITERATION_2 79\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 80 && BOOST_PP_ITERATION_FINISH_2 >= 80\r
+#        define BOOST_PP_ITERATION_2 80\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 81 && BOOST_PP_ITERATION_FINISH_2 >= 81\r
+#        define BOOST_PP_ITERATION_2 81\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 82 && BOOST_PP_ITERATION_FINISH_2 >= 82\r
+#        define BOOST_PP_ITERATION_2 82\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 83 && BOOST_PP_ITERATION_FINISH_2 >= 83\r
+#        define BOOST_PP_ITERATION_2 83\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 84 && BOOST_PP_ITERATION_FINISH_2 >= 84\r
+#        define BOOST_PP_ITERATION_2 84\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 85 && BOOST_PP_ITERATION_FINISH_2 >= 85\r
+#        define BOOST_PP_ITERATION_2 85\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 86 && BOOST_PP_ITERATION_FINISH_2 >= 86\r
+#        define BOOST_PP_ITERATION_2 86\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 87 && BOOST_PP_ITERATION_FINISH_2 >= 87\r
+#        define BOOST_PP_ITERATION_2 87\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 88 && BOOST_PP_ITERATION_FINISH_2 >= 88\r
+#        define BOOST_PP_ITERATION_2 88\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 89 && BOOST_PP_ITERATION_FINISH_2 >= 89\r
+#        define BOOST_PP_ITERATION_2 89\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 90 && BOOST_PP_ITERATION_FINISH_2 >= 90\r
+#        define BOOST_PP_ITERATION_2 90\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 91 && BOOST_PP_ITERATION_FINISH_2 >= 91\r
+#        define BOOST_PP_ITERATION_2 91\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 92 && BOOST_PP_ITERATION_FINISH_2 >= 92\r
+#        define BOOST_PP_ITERATION_2 92\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 93 && BOOST_PP_ITERATION_FINISH_2 >= 93\r
+#        define BOOST_PP_ITERATION_2 93\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 94 && BOOST_PP_ITERATION_FINISH_2 >= 94\r
+#        define BOOST_PP_ITERATION_2 94\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 95 && BOOST_PP_ITERATION_FINISH_2 >= 95\r
+#        define BOOST_PP_ITERATION_2 95\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 96 && BOOST_PP_ITERATION_FINISH_2 >= 96\r
+#        define BOOST_PP_ITERATION_2 96\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 97 && BOOST_PP_ITERATION_FINISH_2 >= 97\r
+#        define BOOST_PP_ITERATION_2 97\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 98 && BOOST_PP_ITERATION_FINISH_2 >= 98\r
+#        define BOOST_PP_ITERATION_2 98\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 99 && BOOST_PP_ITERATION_FINISH_2 >= 99\r
+#        define BOOST_PP_ITERATION_2 99\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 100 && BOOST_PP_ITERATION_FINISH_2 >= 100\r
+#        define BOOST_PP_ITERATION_2 100\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 101 && BOOST_PP_ITERATION_FINISH_2 >= 101\r
+#        define BOOST_PP_ITERATION_2 101\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 102 && BOOST_PP_ITERATION_FINISH_2 >= 102\r
+#        define BOOST_PP_ITERATION_2 102\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 103 && BOOST_PP_ITERATION_FINISH_2 >= 103\r
+#        define BOOST_PP_ITERATION_2 103\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 104 && BOOST_PP_ITERATION_FINISH_2 >= 104\r
+#        define BOOST_PP_ITERATION_2 104\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 105 && BOOST_PP_ITERATION_FINISH_2 >= 105\r
+#        define BOOST_PP_ITERATION_2 105\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 106 && BOOST_PP_ITERATION_FINISH_2 >= 106\r
+#        define BOOST_PP_ITERATION_2 106\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 107 && BOOST_PP_ITERATION_FINISH_2 >= 107\r
+#        define BOOST_PP_ITERATION_2 107\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 108 && BOOST_PP_ITERATION_FINISH_2 >= 108\r
+#        define BOOST_PP_ITERATION_2 108\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 109 && BOOST_PP_ITERATION_FINISH_2 >= 109\r
+#        define BOOST_PP_ITERATION_2 109\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 110 && BOOST_PP_ITERATION_FINISH_2 >= 110\r
+#        define BOOST_PP_ITERATION_2 110\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 111 && BOOST_PP_ITERATION_FINISH_2 >= 111\r
+#        define BOOST_PP_ITERATION_2 111\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 112 && BOOST_PP_ITERATION_FINISH_2 >= 112\r
+#        define BOOST_PP_ITERATION_2 112\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 113 && BOOST_PP_ITERATION_FINISH_2 >= 113\r
+#        define BOOST_PP_ITERATION_2 113\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 114 && BOOST_PP_ITERATION_FINISH_2 >= 114\r
+#        define BOOST_PP_ITERATION_2 114\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 115 && BOOST_PP_ITERATION_FINISH_2 >= 115\r
+#        define BOOST_PP_ITERATION_2 115\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 116 && BOOST_PP_ITERATION_FINISH_2 >= 116\r
+#        define BOOST_PP_ITERATION_2 116\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 117 && BOOST_PP_ITERATION_FINISH_2 >= 117\r
+#        define BOOST_PP_ITERATION_2 117\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 118 && BOOST_PP_ITERATION_FINISH_2 >= 118\r
+#        define BOOST_PP_ITERATION_2 118\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 119 && BOOST_PP_ITERATION_FINISH_2 >= 119\r
+#        define BOOST_PP_ITERATION_2 119\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 120 && BOOST_PP_ITERATION_FINISH_2 >= 120\r
+#        define BOOST_PP_ITERATION_2 120\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 121 && BOOST_PP_ITERATION_FINISH_2 >= 121\r
+#        define BOOST_PP_ITERATION_2 121\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 122 && BOOST_PP_ITERATION_FINISH_2 >= 122\r
+#        define BOOST_PP_ITERATION_2 122\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 123 && BOOST_PP_ITERATION_FINISH_2 >= 123\r
+#        define BOOST_PP_ITERATION_2 123\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 124 && BOOST_PP_ITERATION_FINISH_2 >= 124\r
+#        define BOOST_PP_ITERATION_2 124\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 125 && BOOST_PP_ITERATION_FINISH_2 >= 125\r
+#        define BOOST_PP_ITERATION_2 125\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 126 && BOOST_PP_ITERATION_FINISH_2 >= 126\r
+#        define BOOST_PP_ITERATION_2 126\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 127 && BOOST_PP_ITERATION_FINISH_2 >= 127\r
+#        define BOOST_PP_ITERATION_2 127\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 128 && BOOST_PP_ITERATION_FINISH_2 >= 128\r
+#        define BOOST_PP_ITERATION_2 128\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 129 && BOOST_PP_ITERATION_FINISH_2 >= 129\r
+#        define BOOST_PP_ITERATION_2 129\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 130 && BOOST_PP_ITERATION_FINISH_2 >= 130\r
+#        define BOOST_PP_ITERATION_2 130\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 131 && BOOST_PP_ITERATION_FINISH_2 >= 131\r
+#        define BOOST_PP_ITERATION_2 131\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 132 && BOOST_PP_ITERATION_FINISH_2 >= 132\r
+#        define BOOST_PP_ITERATION_2 132\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 133 && BOOST_PP_ITERATION_FINISH_2 >= 133\r
+#        define BOOST_PP_ITERATION_2 133\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 134 && BOOST_PP_ITERATION_FINISH_2 >= 134\r
+#        define BOOST_PP_ITERATION_2 134\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 135 && BOOST_PP_ITERATION_FINISH_2 >= 135\r
+#        define BOOST_PP_ITERATION_2 135\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 136 && BOOST_PP_ITERATION_FINISH_2 >= 136\r
+#        define BOOST_PP_ITERATION_2 136\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 137 && BOOST_PP_ITERATION_FINISH_2 >= 137\r
+#        define BOOST_PP_ITERATION_2 137\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 138 && BOOST_PP_ITERATION_FINISH_2 >= 138\r
+#        define BOOST_PP_ITERATION_2 138\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 139 && BOOST_PP_ITERATION_FINISH_2 >= 139\r
+#        define BOOST_PP_ITERATION_2 139\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 140 && BOOST_PP_ITERATION_FINISH_2 >= 140\r
+#        define BOOST_PP_ITERATION_2 140\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 141 && BOOST_PP_ITERATION_FINISH_2 >= 141\r
+#        define BOOST_PP_ITERATION_2 141\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 142 && BOOST_PP_ITERATION_FINISH_2 >= 142\r
+#        define BOOST_PP_ITERATION_2 142\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 143 && BOOST_PP_ITERATION_FINISH_2 >= 143\r
+#        define BOOST_PP_ITERATION_2 143\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 144 && BOOST_PP_ITERATION_FINISH_2 >= 144\r
+#        define BOOST_PP_ITERATION_2 144\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 145 && BOOST_PP_ITERATION_FINISH_2 >= 145\r
+#        define BOOST_PP_ITERATION_2 145\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 146 && BOOST_PP_ITERATION_FINISH_2 >= 146\r
+#        define BOOST_PP_ITERATION_2 146\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 147 && BOOST_PP_ITERATION_FINISH_2 >= 147\r
+#        define BOOST_PP_ITERATION_2 147\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 148 && BOOST_PP_ITERATION_FINISH_2 >= 148\r
+#        define BOOST_PP_ITERATION_2 148\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 149 && BOOST_PP_ITERATION_FINISH_2 >= 149\r
+#        define BOOST_PP_ITERATION_2 149\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 150 && BOOST_PP_ITERATION_FINISH_2 >= 150\r
+#        define BOOST_PP_ITERATION_2 150\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 151 && BOOST_PP_ITERATION_FINISH_2 >= 151\r
+#        define BOOST_PP_ITERATION_2 151\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 152 && BOOST_PP_ITERATION_FINISH_2 >= 152\r
+#        define BOOST_PP_ITERATION_2 152\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 153 && BOOST_PP_ITERATION_FINISH_2 >= 153\r
+#        define BOOST_PP_ITERATION_2 153\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 154 && BOOST_PP_ITERATION_FINISH_2 >= 154\r
+#        define BOOST_PP_ITERATION_2 154\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 155 && BOOST_PP_ITERATION_FINISH_2 >= 155\r
+#        define BOOST_PP_ITERATION_2 155\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 156 && BOOST_PP_ITERATION_FINISH_2 >= 156\r
+#        define BOOST_PP_ITERATION_2 156\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 157 && BOOST_PP_ITERATION_FINISH_2 >= 157\r
+#        define BOOST_PP_ITERATION_2 157\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 158 && BOOST_PP_ITERATION_FINISH_2 >= 158\r
+#        define BOOST_PP_ITERATION_2 158\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 159 && BOOST_PP_ITERATION_FINISH_2 >= 159\r
+#        define BOOST_PP_ITERATION_2 159\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 160 && BOOST_PP_ITERATION_FINISH_2 >= 160\r
+#        define BOOST_PP_ITERATION_2 160\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 161 && BOOST_PP_ITERATION_FINISH_2 >= 161\r
+#        define BOOST_PP_ITERATION_2 161\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 162 && BOOST_PP_ITERATION_FINISH_2 >= 162\r
+#        define BOOST_PP_ITERATION_2 162\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 163 && BOOST_PP_ITERATION_FINISH_2 >= 163\r
+#        define BOOST_PP_ITERATION_2 163\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 164 && BOOST_PP_ITERATION_FINISH_2 >= 164\r
+#        define BOOST_PP_ITERATION_2 164\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 165 && BOOST_PP_ITERATION_FINISH_2 >= 165\r
+#        define BOOST_PP_ITERATION_2 165\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 166 && BOOST_PP_ITERATION_FINISH_2 >= 166\r
+#        define BOOST_PP_ITERATION_2 166\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 167 && BOOST_PP_ITERATION_FINISH_2 >= 167\r
+#        define BOOST_PP_ITERATION_2 167\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 168 && BOOST_PP_ITERATION_FINISH_2 >= 168\r
+#        define BOOST_PP_ITERATION_2 168\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 169 && BOOST_PP_ITERATION_FINISH_2 >= 169\r
+#        define BOOST_PP_ITERATION_2 169\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 170 && BOOST_PP_ITERATION_FINISH_2 >= 170\r
+#        define BOOST_PP_ITERATION_2 170\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 171 && BOOST_PP_ITERATION_FINISH_2 >= 171\r
+#        define BOOST_PP_ITERATION_2 171\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 172 && BOOST_PP_ITERATION_FINISH_2 >= 172\r
+#        define BOOST_PP_ITERATION_2 172\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 173 && BOOST_PP_ITERATION_FINISH_2 >= 173\r
+#        define BOOST_PP_ITERATION_2 173\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 174 && BOOST_PP_ITERATION_FINISH_2 >= 174\r
+#        define BOOST_PP_ITERATION_2 174\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 175 && BOOST_PP_ITERATION_FINISH_2 >= 175\r
+#        define BOOST_PP_ITERATION_2 175\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 176 && BOOST_PP_ITERATION_FINISH_2 >= 176\r
+#        define BOOST_PP_ITERATION_2 176\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 177 && BOOST_PP_ITERATION_FINISH_2 >= 177\r
+#        define BOOST_PP_ITERATION_2 177\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 178 && BOOST_PP_ITERATION_FINISH_2 >= 178\r
+#        define BOOST_PP_ITERATION_2 178\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 179 && BOOST_PP_ITERATION_FINISH_2 >= 179\r
+#        define BOOST_PP_ITERATION_2 179\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 180 && BOOST_PP_ITERATION_FINISH_2 >= 180\r
+#        define BOOST_PP_ITERATION_2 180\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 181 && BOOST_PP_ITERATION_FINISH_2 >= 181\r
+#        define BOOST_PP_ITERATION_2 181\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 182 && BOOST_PP_ITERATION_FINISH_2 >= 182\r
+#        define BOOST_PP_ITERATION_2 182\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 183 && BOOST_PP_ITERATION_FINISH_2 >= 183\r
+#        define BOOST_PP_ITERATION_2 183\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 184 && BOOST_PP_ITERATION_FINISH_2 >= 184\r
+#        define BOOST_PP_ITERATION_2 184\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 185 && BOOST_PP_ITERATION_FINISH_2 >= 185\r
+#        define BOOST_PP_ITERATION_2 185\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 186 && BOOST_PP_ITERATION_FINISH_2 >= 186\r
+#        define BOOST_PP_ITERATION_2 186\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 187 && BOOST_PP_ITERATION_FINISH_2 >= 187\r
+#        define BOOST_PP_ITERATION_2 187\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 188 && BOOST_PP_ITERATION_FINISH_2 >= 188\r
+#        define BOOST_PP_ITERATION_2 188\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 189 && BOOST_PP_ITERATION_FINISH_2 >= 189\r
+#        define BOOST_PP_ITERATION_2 189\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 190 && BOOST_PP_ITERATION_FINISH_2 >= 190\r
+#        define BOOST_PP_ITERATION_2 190\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 191 && BOOST_PP_ITERATION_FINISH_2 >= 191\r
+#        define BOOST_PP_ITERATION_2 191\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 192 && BOOST_PP_ITERATION_FINISH_2 >= 192\r
+#        define BOOST_PP_ITERATION_2 192\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 193 && BOOST_PP_ITERATION_FINISH_2 >= 193\r
+#        define BOOST_PP_ITERATION_2 193\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 194 && BOOST_PP_ITERATION_FINISH_2 >= 194\r
+#        define BOOST_PP_ITERATION_2 194\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 195 && BOOST_PP_ITERATION_FINISH_2 >= 195\r
+#        define BOOST_PP_ITERATION_2 195\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 196 && BOOST_PP_ITERATION_FINISH_2 >= 196\r
+#        define BOOST_PP_ITERATION_2 196\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 197 && BOOST_PP_ITERATION_FINISH_2 >= 197\r
+#        define BOOST_PP_ITERATION_2 197\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 198 && BOOST_PP_ITERATION_FINISH_2 >= 198\r
+#        define BOOST_PP_ITERATION_2 198\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 199 && BOOST_PP_ITERATION_FINISH_2 >= 199\r
+#        define BOOST_PP_ITERATION_2 199\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 200 && BOOST_PP_ITERATION_FINISH_2 >= 200\r
+#        define BOOST_PP_ITERATION_2 200\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 201 && BOOST_PP_ITERATION_FINISH_2 >= 201\r
+#        define BOOST_PP_ITERATION_2 201\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 202 && BOOST_PP_ITERATION_FINISH_2 >= 202\r
+#        define BOOST_PP_ITERATION_2 202\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 203 && BOOST_PP_ITERATION_FINISH_2 >= 203\r
+#        define BOOST_PP_ITERATION_2 203\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 204 && BOOST_PP_ITERATION_FINISH_2 >= 204\r
+#        define BOOST_PP_ITERATION_2 204\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 205 && BOOST_PP_ITERATION_FINISH_2 >= 205\r
+#        define BOOST_PP_ITERATION_2 205\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 206 && BOOST_PP_ITERATION_FINISH_2 >= 206\r
+#        define BOOST_PP_ITERATION_2 206\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 207 && BOOST_PP_ITERATION_FINISH_2 >= 207\r
+#        define BOOST_PP_ITERATION_2 207\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 208 && BOOST_PP_ITERATION_FINISH_2 >= 208\r
+#        define BOOST_PP_ITERATION_2 208\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 209 && BOOST_PP_ITERATION_FINISH_2 >= 209\r
+#        define BOOST_PP_ITERATION_2 209\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 210 && BOOST_PP_ITERATION_FINISH_2 >= 210\r
+#        define BOOST_PP_ITERATION_2 210\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 211 && BOOST_PP_ITERATION_FINISH_2 >= 211\r
+#        define BOOST_PP_ITERATION_2 211\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 212 && BOOST_PP_ITERATION_FINISH_2 >= 212\r
+#        define BOOST_PP_ITERATION_2 212\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 213 && BOOST_PP_ITERATION_FINISH_2 >= 213\r
+#        define BOOST_PP_ITERATION_2 213\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 214 && BOOST_PP_ITERATION_FINISH_2 >= 214\r
+#        define BOOST_PP_ITERATION_2 214\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 215 && BOOST_PP_ITERATION_FINISH_2 >= 215\r
+#        define BOOST_PP_ITERATION_2 215\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 216 && BOOST_PP_ITERATION_FINISH_2 >= 216\r
+#        define BOOST_PP_ITERATION_2 216\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 217 && BOOST_PP_ITERATION_FINISH_2 >= 217\r
+#        define BOOST_PP_ITERATION_2 217\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 218 && BOOST_PP_ITERATION_FINISH_2 >= 218\r
+#        define BOOST_PP_ITERATION_2 218\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 219 && BOOST_PP_ITERATION_FINISH_2 >= 219\r
+#        define BOOST_PP_ITERATION_2 219\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 220 && BOOST_PP_ITERATION_FINISH_2 >= 220\r
+#        define BOOST_PP_ITERATION_2 220\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 221 && BOOST_PP_ITERATION_FINISH_2 >= 221\r
+#        define BOOST_PP_ITERATION_2 221\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 222 && BOOST_PP_ITERATION_FINISH_2 >= 222\r
+#        define BOOST_PP_ITERATION_2 222\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 223 && BOOST_PP_ITERATION_FINISH_2 >= 223\r
+#        define BOOST_PP_ITERATION_2 223\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 224 && BOOST_PP_ITERATION_FINISH_2 >= 224\r
+#        define BOOST_PP_ITERATION_2 224\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 225 && BOOST_PP_ITERATION_FINISH_2 >= 225\r
+#        define BOOST_PP_ITERATION_2 225\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 226 && BOOST_PP_ITERATION_FINISH_2 >= 226\r
+#        define BOOST_PP_ITERATION_2 226\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 227 && BOOST_PP_ITERATION_FINISH_2 >= 227\r
+#        define BOOST_PP_ITERATION_2 227\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 228 && BOOST_PP_ITERATION_FINISH_2 >= 228\r
+#        define BOOST_PP_ITERATION_2 228\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 229 && BOOST_PP_ITERATION_FINISH_2 >= 229\r
+#        define BOOST_PP_ITERATION_2 229\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 230 && BOOST_PP_ITERATION_FINISH_2 >= 230\r
+#        define BOOST_PP_ITERATION_2 230\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 231 && BOOST_PP_ITERATION_FINISH_2 >= 231\r
+#        define BOOST_PP_ITERATION_2 231\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 232 && BOOST_PP_ITERATION_FINISH_2 >= 232\r
+#        define BOOST_PP_ITERATION_2 232\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 233 && BOOST_PP_ITERATION_FINISH_2 >= 233\r
+#        define BOOST_PP_ITERATION_2 233\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 234 && BOOST_PP_ITERATION_FINISH_2 >= 234\r
+#        define BOOST_PP_ITERATION_2 234\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 235 && BOOST_PP_ITERATION_FINISH_2 >= 235\r
+#        define BOOST_PP_ITERATION_2 235\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 236 && BOOST_PP_ITERATION_FINISH_2 >= 236\r
+#        define BOOST_PP_ITERATION_2 236\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 237 && BOOST_PP_ITERATION_FINISH_2 >= 237\r
+#        define BOOST_PP_ITERATION_2 237\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 238 && BOOST_PP_ITERATION_FINISH_2 >= 238\r
+#        define BOOST_PP_ITERATION_2 238\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 239 && BOOST_PP_ITERATION_FINISH_2 >= 239\r
+#        define BOOST_PP_ITERATION_2 239\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 240 && BOOST_PP_ITERATION_FINISH_2 >= 240\r
+#        define BOOST_PP_ITERATION_2 240\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 241 && BOOST_PP_ITERATION_FINISH_2 >= 241\r
+#        define BOOST_PP_ITERATION_2 241\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 242 && BOOST_PP_ITERATION_FINISH_2 >= 242\r
+#        define BOOST_PP_ITERATION_2 242\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 243 && BOOST_PP_ITERATION_FINISH_2 >= 243\r
+#        define BOOST_PP_ITERATION_2 243\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 244 && BOOST_PP_ITERATION_FINISH_2 >= 244\r
+#        define BOOST_PP_ITERATION_2 244\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 245 && BOOST_PP_ITERATION_FINISH_2 >= 245\r
+#        define BOOST_PP_ITERATION_2 245\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 246 && BOOST_PP_ITERATION_FINISH_2 >= 246\r
+#        define BOOST_PP_ITERATION_2 246\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 247 && BOOST_PP_ITERATION_FINISH_2 >= 247\r
+#        define BOOST_PP_ITERATION_2 247\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 248 && BOOST_PP_ITERATION_FINISH_2 >= 248\r
+#        define BOOST_PP_ITERATION_2 248\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 249 && BOOST_PP_ITERATION_FINISH_2 >= 249\r
+#        define BOOST_PP_ITERATION_2 249\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 250 && BOOST_PP_ITERATION_FINISH_2 >= 250\r
+#        define BOOST_PP_ITERATION_2 250\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 251 && BOOST_PP_ITERATION_FINISH_2 >= 251\r
+#        define BOOST_PP_ITERATION_2 251\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 252 && BOOST_PP_ITERATION_FINISH_2 >= 252\r
+#        define BOOST_PP_ITERATION_2 252\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 253 && BOOST_PP_ITERATION_FINISH_2 >= 253\r
+#        define BOOST_PP_ITERATION_2 253\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 254 && BOOST_PP_ITERATION_FINISH_2 >= 254\r
+#        define BOOST_PP_ITERATION_2 254\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 255 && BOOST_PP_ITERATION_FINISH_2 >= 255\r
+#        define BOOST_PP_ITERATION_2 255\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_2 <= 256 && BOOST_PP_ITERATION_FINISH_2 >= 256\r
+#        define BOOST_PP_ITERATION_2 256\r
+#        include BOOST_PP_FILENAME_2\r
+#        undef BOOST_PP_ITERATION_2\r
+#    endif\r
+# endif\r
+#\r
+# undef BOOST_PP_ITERATION_DEPTH\r
+# define BOOST_PP_ITERATION_DEPTH() 1\r
+#\r
+# undef BOOST_PP_ITERATION_START_2\r
+# undef BOOST_PP_ITERATION_FINISH_2\r
+# undef BOOST_PP_FILENAME_2\r
+#\r
+# undef BOOST_PP_ITERATION_FLAGS_2\r
+# undef BOOST_PP_ITERATION_PARAMS_2\r
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 (file)
index 0000000..e0a95f3
--- /dev/null
@@ -0,0 +1,1338 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# if defined(BOOST_PP_ITERATION_LIMITS)\r
+#    if !defined(BOOST_PP_FILENAME_3)\r
+#        error BOOST_PP_ERROR:  depth #3 filename is not defined\r
+#    endif\r
+#    define BOOST_PP_VALUE BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_ITERATION_LIMITS)\r
+#    include <boost/preprocessor/iteration/detail/bounds/lower3.hpp>\r
+#    define BOOST_PP_VALUE BOOST_PP_TUPLE_ELEM(2, 1, BOOST_PP_ITERATION_LIMITS)\r
+#    include <boost/preprocessor/iteration/detail/bounds/upper3.hpp>\r
+#    define BOOST_PP_ITERATION_FLAGS_3 0\r
+#    undef BOOST_PP_ITERATION_LIMITS\r
+# elif defined(BOOST_PP_ITERATION_PARAMS_3)\r
+#    define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(0, BOOST_PP_ITERATION_PARAMS_3)\r
+#    include <boost/preprocessor/iteration/detail/bounds/lower3.hpp>\r
+#    define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(1, BOOST_PP_ITERATION_PARAMS_3)\r
+#    include <boost/preprocessor/iteration/detail/bounds/upper3.hpp>\r
+#    define BOOST_PP_FILENAME_3 BOOST_PP_ARRAY_ELEM(2, BOOST_PP_ITERATION_PARAMS_3)\r
+#    if BOOST_PP_ARRAY_SIZE(BOOST_PP_ITERATION_PARAMS_3) >= 4\r
+#        define BOOST_PP_ITERATION_FLAGS_3 BOOST_PP_ARRAY_ELEM(3, BOOST_PP_ITERATION_PARAMS_3)\r
+#    else\r
+#        define BOOST_PP_ITERATION_FLAGS_3 0\r
+#    endif\r
+# else\r
+#    error BOOST_PP_ERROR:  depth #3 iteration boundaries or filename not defined\r
+# endif\r
+#\r
+# undef BOOST_PP_ITERATION_DEPTH\r
+# define BOOST_PP_ITERATION_DEPTH() 3\r
+#\r
+# if (BOOST_PP_ITERATION_START_3) > (BOOST_PP_ITERATION_FINISH_3)\r
+#    include <boost/preprocessor/iteration/detail/iter/reverse3.hpp>\r
+# else\r
+#    if BOOST_PP_ITERATION_START_3 <= 0 && BOOST_PP_ITERATION_FINISH_3 >= 0\r
+#        define BOOST_PP_ITERATION_3 0\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 1 && BOOST_PP_ITERATION_FINISH_3 >= 1\r
+#        define BOOST_PP_ITERATION_3 1\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 2 && BOOST_PP_ITERATION_FINISH_3 >= 2\r
+#        define BOOST_PP_ITERATION_3 2\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 3 && BOOST_PP_ITERATION_FINISH_3 >= 3\r
+#        define BOOST_PP_ITERATION_3 3\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 4 && BOOST_PP_ITERATION_FINISH_3 >= 4\r
+#        define BOOST_PP_ITERATION_3 4\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 5 && BOOST_PP_ITERATION_FINISH_3 >= 5\r
+#        define BOOST_PP_ITERATION_3 5\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 6 && BOOST_PP_ITERATION_FINISH_3 >= 6\r
+#        define BOOST_PP_ITERATION_3 6\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 7 && BOOST_PP_ITERATION_FINISH_3 >= 7\r
+#        define BOOST_PP_ITERATION_3 7\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 8 && BOOST_PP_ITERATION_FINISH_3 >= 8\r
+#        define BOOST_PP_ITERATION_3 8\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 9 && BOOST_PP_ITERATION_FINISH_3 >= 9\r
+#        define BOOST_PP_ITERATION_3 9\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 10 && BOOST_PP_ITERATION_FINISH_3 >= 10\r
+#        define BOOST_PP_ITERATION_3 10\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 11 && BOOST_PP_ITERATION_FINISH_3 >= 11\r
+#        define BOOST_PP_ITERATION_3 11\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 12 && BOOST_PP_ITERATION_FINISH_3 >= 12\r
+#        define BOOST_PP_ITERATION_3 12\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 13 && BOOST_PP_ITERATION_FINISH_3 >= 13\r
+#        define BOOST_PP_ITERATION_3 13\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 14 && BOOST_PP_ITERATION_FINISH_3 >= 14\r
+#        define BOOST_PP_ITERATION_3 14\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 15 && BOOST_PP_ITERATION_FINISH_3 >= 15\r
+#        define BOOST_PP_ITERATION_3 15\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 16 && BOOST_PP_ITERATION_FINISH_3 >= 16\r
+#        define BOOST_PP_ITERATION_3 16\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 17 && BOOST_PP_ITERATION_FINISH_3 >= 17\r
+#        define BOOST_PP_ITERATION_3 17\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 18 && BOOST_PP_ITERATION_FINISH_3 >= 18\r
+#        define BOOST_PP_ITERATION_3 18\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 19 && BOOST_PP_ITERATION_FINISH_3 >= 19\r
+#        define BOOST_PP_ITERATION_3 19\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 20 && BOOST_PP_ITERATION_FINISH_3 >= 20\r
+#        define BOOST_PP_ITERATION_3 20\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 21 && BOOST_PP_ITERATION_FINISH_3 >= 21\r
+#        define BOOST_PP_ITERATION_3 21\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 22 && BOOST_PP_ITERATION_FINISH_3 >= 22\r
+#        define BOOST_PP_ITERATION_3 22\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 23 && BOOST_PP_ITERATION_FINISH_3 >= 23\r
+#        define BOOST_PP_ITERATION_3 23\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 24 && BOOST_PP_ITERATION_FINISH_3 >= 24\r
+#        define BOOST_PP_ITERATION_3 24\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 25 && BOOST_PP_ITERATION_FINISH_3 >= 25\r
+#        define BOOST_PP_ITERATION_3 25\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 26 && BOOST_PP_ITERATION_FINISH_3 >= 26\r
+#        define BOOST_PP_ITERATION_3 26\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 27 && BOOST_PP_ITERATION_FINISH_3 >= 27\r
+#        define BOOST_PP_ITERATION_3 27\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 28 && BOOST_PP_ITERATION_FINISH_3 >= 28\r
+#        define BOOST_PP_ITERATION_3 28\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 29 && BOOST_PP_ITERATION_FINISH_3 >= 29\r
+#        define BOOST_PP_ITERATION_3 29\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 30 && BOOST_PP_ITERATION_FINISH_3 >= 30\r
+#        define BOOST_PP_ITERATION_3 30\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 31 && BOOST_PP_ITERATION_FINISH_3 >= 31\r
+#        define BOOST_PP_ITERATION_3 31\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 32 && BOOST_PP_ITERATION_FINISH_3 >= 32\r
+#        define BOOST_PP_ITERATION_3 32\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 33 && BOOST_PP_ITERATION_FINISH_3 >= 33\r
+#        define BOOST_PP_ITERATION_3 33\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 34 && BOOST_PP_ITERATION_FINISH_3 >= 34\r
+#        define BOOST_PP_ITERATION_3 34\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 35 && BOOST_PP_ITERATION_FINISH_3 >= 35\r
+#        define BOOST_PP_ITERATION_3 35\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 36 && BOOST_PP_ITERATION_FINISH_3 >= 36\r
+#        define BOOST_PP_ITERATION_3 36\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 37 && BOOST_PP_ITERATION_FINISH_3 >= 37\r
+#        define BOOST_PP_ITERATION_3 37\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 38 && BOOST_PP_ITERATION_FINISH_3 >= 38\r
+#        define BOOST_PP_ITERATION_3 38\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 39 && BOOST_PP_ITERATION_FINISH_3 >= 39\r
+#        define BOOST_PP_ITERATION_3 39\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 40 && BOOST_PP_ITERATION_FINISH_3 >= 40\r
+#        define BOOST_PP_ITERATION_3 40\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 41 && BOOST_PP_ITERATION_FINISH_3 >= 41\r
+#        define BOOST_PP_ITERATION_3 41\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 42 && BOOST_PP_ITERATION_FINISH_3 >= 42\r
+#        define BOOST_PP_ITERATION_3 42\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 43 && BOOST_PP_ITERATION_FINISH_3 >= 43\r
+#        define BOOST_PP_ITERATION_3 43\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 44 && BOOST_PP_ITERATION_FINISH_3 >= 44\r
+#        define BOOST_PP_ITERATION_3 44\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 45 && BOOST_PP_ITERATION_FINISH_3 >= 45\r
+#        define BOOST_PP_ITERATION_3 45\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 46 && BOOST_PP_ITERATION_FINISH_3 >= 46\r
+#        define BOOST_PP_ITERATION_3 46\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 47 && BOOST_PP_ITERATION_FINISH_3 >= 47\r
+#        define BOOST_PP_ITERATION_3 47\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 48 && BOOST_PP_ITERATION_FINISH_3 >= 48\r
+#        define BOOST_PP_ITERATION_3 48\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 49 && BOOST_PP_ITERATION_FINISH_3 >= 49\r
+#        define BOOST_PP_ITERATION_3 49\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 50 && BOOST_PP_ITERATION_FINISH_3 >= 50\r
+#        define BOOST_PP_ITERATION_3 50\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 51 && BOOST_PP_ITERATION_FINISH_3 >= 51\r
+#        define BOOST_PP_ITERATION_3 51\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 52 && BOOST_PP_ITERATION_FINISH_3 >= 52\r
+#        define BOOST_PP_ITERATION_3 52\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 53 && BOOST_PP_ITERATION_FINISH_3 >= 53\r
+#        define BOOST_PP_ITERATION_3 53\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 54 && BOOST_PP_ITERATION_FINISH_3 >= 54\r
+#        define BOOST_PP_ITERATION_3 54\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 55 && BOOST_PP_ITERATION_FINISH_3 >= 55\r
+#        define BOOST_PP_ITERATION_3 55\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 56 && BOOST_PP_ITERATION_FINISH_3 >= 56\r
+#        define BOOST_PP_ITERATION_3 56\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 57 && BOOST_PP_ITERATION_FINISH_3 >= 57\r
+#        define BOOST_PP_ITERATION_3 57\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 58 && BOOST_PP_ITERATION_FINISH_3 >= 58\r
+#        define BOOST_PP_ITERATION_3 58\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 59 && BOOST_PP_ITERATION_FINISH_3 >= 59\r
+#        define BOOST_PP_ITERATION_3 59\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 60 && BOOST_PP_ITERATION_FINISH_3 >= 60\r
+#        define BOOST_PP_ITERATION_3 60\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 61 && BOOST_PP_ITERATION_FINISH_3 >= 61\r
+#        define BOOST_PP_ITERATION_3 61\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 62 && BOOST_PP_ITERATION_FINISH_3 >= 62\r
+#        define BOOST_PP_ITERATION_3 62\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 63 && BOOST_PP_ITERATION_FINISH_3 >= 63\r
+#        define BOOST_PP_ITERATION_3 63\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 64 && BOOST_PP_ITERATION_FINISH_3 >= 64\r
+#        define BOOST_PP_ITERATION_3 64\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 65 && BOOST_PP_ITERATION_FINISH_3 >= 65\r
+#        define BOOST_PP_ITERATION_3 65\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 66 && BOOST_PP_ITERATION_FINISH_3 >= 66\r
+#        define BOOST_PP_ITERATION_3 66\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 67 && BOOST_PP_ITERATION_FINISH_3 >= 67\r
+#        define BOOST_PP_ITERATION_3 67\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 68 && BOOST_PP_ITERATION_FINISH_3 >= 68\r
+#        define BOOST_PP_ITERATION_3 68\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 69 && BOOST_PP_ITERATION_FINISH_3 >= 69\r
+#        define BOOST_PP_ITERATION_3 69\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 70 && BOOST_PP_ITERATION_FINISH_3 >= 70\r
+#        define BOOST_PP_ITERATION_3 70\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 71 && BOOST_PP_ITERATION_FINISH_3 >= 71\r
+#        define BOOST_PP_ITERATION_3 71\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 72 && BOOST_PP_ITERATION_FINISH_3 >= 72\r
+#        define BOOST_PP_ITERATION_3 72\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 73 && BOOST_PP_ITERATION_FINISH_3 >= 73\r
+#        define BOOST_PP_ITERATION_3 73\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 74 && BOOST_PP_ITERATION_FINISH_3 >= 74\r
+#        define BOOST_PP_ITERATION_3 74\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 75 && BOOST_PP_ITERATION_FINISH_3 >= 75\r
+#        define BOOST_PP_ITERATION_3 75\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 76 && BOOST_PP_ITERATION_FINISH_3 >= 76\r
+#        define BOOST_PP_ITERATION_3 76\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 77 && BOOST_PP_ITERATION_FINISH_3 >= 77\r
+#        define BOOST_PP_ITERATION_3 77\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 78 && BOOST_PP_ITERATION_FINISH_3 >= 78\r
+#        define BOOST_PP_ITERATION_3 78\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 79 && BOOST_PP_ITERATION_FINISH_3 >= 79\r
+#        define BOOST_PP_ITERATION_3 79\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 80 && BOOST_PP_ITERATION_FINISH_3 >= 80\r
+#        define BOOST_PP_ITERATION_3 80\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 81 && BOOST_PP_ITERATION_FINISH_3 >= 81\r
+#        define BOOST_PP_ITERATION_3 81\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 82 && BOOST_PP_ITERATION_FINISH_3 >= 82\r
+#        define BOOST_PP_ITERATION_3 82\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 83 && BOOST_PP_ITERATION_FINISH_3 >= 83\r
+#        define BOOST_PP_ITERATION_3 83\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 84 && BOOST_PP_ITERATION_FINISH_3 >= 84\r
+#        define BOOST_PP_ITERATION_3 84\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 85 && BOOST_PP_ITERATION_FINISH_3 >= 85\r
+#        define BOOST_PP_ITERATION_3 85\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 86 && BOOST_PP_ITERATION_FINISH_3 >= 86\r
+#        define BOOST_PP_ITERATION_3 86\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 87 && BOOST_PP_ITERATION_FINISH_3 >= 87\r
+#        define BOOST_PP_ITERATION_3 87\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 88 && BOOST_PP_ITERATION_FINISH_3 >= 88\r
+#        define BOOST_PP_ITERATION_3 88\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 89 && BOOST_PP_ITERATION_FINISH_3 >= 89\r
+#        define BOOST_PP_ITERATION_3 89\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 90 && BOOST_PP_ITERATION_FINISH_3 >= 90\r
+#        define BOOST_PP_ITERATION_3 90\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 91 && BOOST_PP_ITERATION_FINISH_3 >= 91\r
+#        define BOOST_PP_ITERATION_3 91\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 92 && BOOST_PP_ITERATION_FINISH_3 >= 92\r
+#        define BOOST_PP_ITERATION_3 92\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 93 && BOOST_PP_ITERATION_FINISH_3 >= 93\r
+#        define BOOST_PP_ITERATION_3 93\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 94 && BOOST_PP_ITERATION_FINISH_3 >= 94\r
+#        define BOOST_PP_ITERATION_3 94\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 95 && BOOST_PP_ITERATION_FINISH_3 >= 95\r
+#        define BOOST_PP_ITERATION_3 95\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 96 && BOOST_PP_ITERATION_FINISH_3 >= 96\r
+#        define BOOST_PP_ITERATION_3 96\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 97 && BOOST_PP_ITERATION_FINISH_3 >= 97\r
+#        define BOOST_PP_ITERATION_3 97\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 98 && BOOST_PP_ITERATION_FINISH_3 >= 98\r
+#        define BOOST_PP_ITERATION_3 98\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 99 && BOOST_PP_ITERATION_FINISH_3 >= 99\r
+#        define BOOST_PP_ITERATION_3 99\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 100 && BOOST_PP_ITERATION_FINISH_3 >= 100\r
+#        define BOOST_PP_ITERATION_3 100\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 101 && BOOST_PP_ITERATION_FINISH_3 >= 101\r
+#        define BOOST_PP_ITERATION_3 101\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 102 && BOOST_PP_ITERATION_FINISH_3 >= 102\r
+#        define BOOST_PP_ITERATION_3 102\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 103 && BOOST_PP_ITERATION_FINISH_3 >= 103\r
+#        define BOOST_PP_ITERATION_3 103\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 104 && BOOST_PP_ITERATION_FINISH_3 >= 104\r
+#        define BOOST_PP_ITERATION_3 104\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 105 && BOOST_PP_ITERATION_FINISH_3 >= 105\r
+#        define BOOST_PP_ITERATION_3 105\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 106 && BOOST_PP_ITERATION_FINISH_3 >= 106\r
+#        define BOOST_PP_ITERATION_3 106\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 107 && BOOST_PP_ITERATION_FINISH_3 >= 107\r
+#        define BOOST_PP_ITERATION_3 107\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 108 && BOOST_PP_ITERATION_FINISH_3 >= 108\r
+#        define BOOST_PP_ITERATION_3 108\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 109 && BOOST_PP_ITERATION_FINISH_3 >= 109\r
+#        define BOOST_PP_ITERATION_3 109\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 110 && BOOST_PP_ITERATION_FINISH_3 >= 110\r
+#        define BOOST_PP_ITERATION_3 110\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 111 && BOOST_PP_ITERATION_FINISH_3 >= 111\r
+#        define BOOST_PP_ITERATION_3 111\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 112 && BOOST_PP_ITERATION_FINISH_3 >= 112\r
+#        define BOOST_PP_ITERATION_3 112\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 113 && BOOST_PP_ITERATION_FINISH_3 >= 113\r
+#        define BOOST_PP_ITERATION_3 113\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 114 && BOOST_PP_ITERATION_FINISH_3 >= 114\r
+#        define BOOST_PP_ITERATION_3 114\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 115 && BOOST_PP_ITERATION_FINISH_3 >= 115\r
+#        define BOOST_PP_ITERATION_3 115\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 116 && BOOST_PP_ITERATION_FINISH_3 >= 116\r
+#        define BOOST_PP_ITERATION_3 116\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 117 && BOOST_PP_ITERATION_FINISH_3 >= 117\r
+#        define BOOST_PP_ITERATION_3 117\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 118 && BOOST_PP_ITERATION_FINISH_3 >= 118\r
+#        define BOOST_PP_ITERATION_3 118\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 119 && BOOST_PP_ITERATION_FINISH_3 >= 119\r
+#        define BOOST_PP_ITERATION_3 119\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 120 && BOOST_PP_ITERATION_FINISH_3 >= 120\r
+#        define BOOST_PP_ITERATION_3 120\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 121 && BOOST_PP_ITERATION_FINISH_3 >= 121\r
+#        define BOOST_PP_ITERATION_3 121\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 122 && BOOST_PP_ITERATION_FINISH_3 >= 122\r
+#        define BOOST_PP_ITERATION_3 122\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 123 && BOOST_PP_ITERATION_FINISH_3 >= 123\r
+#        define BOOST_PP_ITERATION_3 123\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 124 && BOOST_PP_ITERATION_FINISH_3 >= 124\r
+#        define BOOST_PP_ITERATION_3 124\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 125 && BOOST_PP_ITERATION_FINISH_3 >= 125\r
+#        define BOOST_PP_ITERATION_3 125\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 126 && BOOST_PP_ITERATION_FINISH_3 >= 126\r
+#        define BOOST_PP_ITERATION_3 126\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 127 && BOOST_PP_ITERATION_FINISH_3 >= 127\r
+#        define BOOST_PP_ITERATION_3 127\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 128 && BOOST_PP_ITERATION_FINISH_3 >= 128\r
+#        define BOOST_PP_ITERATION_3 128\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 129 && BOOST_PP_ITERATION_FINISH_3 >= 129\r
+#        define BOOST_PP_ITERATION_3 129\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 130 && BOOST_PP_ITERATION_FINISH_3 >= 130\r
+#        define BOOST_PP_ITERATION_3 130\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 131 && BOOST_PP_ITERATION_FINISH_3 >= 131\r
+#        define BOOST_PP_ITERATION_3 131\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 132 && BOOST_PP_ITERATION_FINISH_3 >= 132\r
+#        define BOOST_PP_ITERATION_3 132\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 133 && BOOST_PP_ITERATION_FINISH_3 >= 133\r
+#        define BOOST_PP_ITERATION_3 133\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 134 && BOOST_PP_ITERATION_FINISH_3 >= 134\r
+#        define BOOST_PP_ITERATION_3 134\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 135 && BOOST_PP_ITERATION_FINISH_3 >= 135\r
+#        define BOOST_PP_ITERATION_3 135\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 136 && BOOST_PP_ITERATION_FINISH_3 >= 136\r
+#        define BOOST_PP_ITERATION_3 136\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 137 && BOOST_PP_ITERATION_FINISH_3 >= 137\r
+#        define BOOST_PP_ITERATION_3 137\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 138 && BOOST_PP_ITERATION_FINISH_3 >= 138\r
+#        define BOOST_PP_ITERATION_3 138\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 139 && BOOST_PP_ITERATION_FINISH_3 >= 139\r
+#        define BOOST_PP_ITERATION_3 139\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 140 && BOOST_PP_ITERATION_FINISH_3 >= 140\r
+#        define BOOST_PP_ITERATION_3 140\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 141 && BOOST_PP_ITERATION_FINISH_3 >= 141\r
+#        define BOOST_PP_ITERATION_3 141\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 142 && BOOST_PP_ITERATION_FINISH_3 >= 142\r
+#        define BOOST_PP_ITERATION_3 142\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 143 && BOOST_PP_ITERATION_FINISH_3 >= 143\r
+#        define BOOST_PP_ITERATION_3 143\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 144 && BOOST_PP_ITERATION_FINISH_3 >= 144\r
+#        define BOOST_PP_ITERATION_3 144\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 145 && BOOST_PP_ITERATION_FINISH_3 >= 145\r
+#        define BOOST_PP_ITERATION_3 145\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 146 && BOOST_PP_ITERATION_FINISH_3 >= 146\r
+#        define BOOST_PP_ITERATION_3 146\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 147 && BOOST_PP_ITERATION_FINISH_3 >= 147\r
+#        define BOOST_PP_ITERATION_3 147\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 148 && BOOST_PP_ITERATION_FINISH_3 >= 148\r
+#        define BOOST_PP_ITERATION_3 148\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 149 && BOOST_PP_ITERATION_FINISH_3 >= 149\r
+#        define BOOST_PP_ITERATION_3 149\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 150 && BOOST_PP_ITERATION_FINISH_3 >= 150\r
+#        define BOOST_PP_ITERATION_3 150\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 151 && BOOST_PP_ITERATION_FINISH_3 >= 151\r
+#        define BOOST_PP_ITERATION_3 151\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 152 && BOOST_PP_ITERATION_FINISH_3 >= 152\r
+#        define BOOST_PP_ITERATION_3 152\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 153 && BOOST_PP_ITERATION_FINISH_3 >= 153\r
+#        define BOOST_PP_ITERATION_3 153\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 154 && BOOST_PP_ITERATION_FINISH_3 >= 154\r
+#        define BOOST_PP_ITERATION_3 154\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 155 && BOOST_PP_ITERATION_FINISH_3 >= 155\r
+#        define BOOST_PP_ITERATION_3 155\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 156 && BOOST_PP_ITERATION_FINISH_3 >= 156\r
+#        define BOOST_PP_ITERATION_3 156\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 157 && BOOST_PP_ITERATION_FINISH_3 >= 157\r
+#        define BOOST_PP_ITERATION_3 157\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 158 && BOOST_PP_ITERATION_FINISH_3 >= 158\r
+#        define BOOST_PP_ITERATION_3 158\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 159 && BOOST_PP_ITERATION_FINISH_3 >= 159\r
+#        define BOOST_PP_ITERATION_3 159\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 160 && BOOST_PP_ITERATION_FINISH_3 >= 160\r
+#        define BOOST_PP_ITERATION_3 160\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 161 && BOOST_PP_ITERATION_FINISH_3 >= 161\r
+#        define BOOST_PP_ITERATION_3 161\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 162 && BOOST_PP_ITERATION_FINISH_3 >= 162\r
+#        define BOOST_PP_ITERATION_3 162\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 163 && BOOST_PP_ITERATION_FINISH_3 >= 163\r
+#        define BOOST_PP_ITERATION_3 163\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 164 && BOOST_PP_ITERATION_FINISH_3 >= 164\r
+#        define BOOST_PP_ITERATION_3 164\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 165 && BOOST_PP_ITERATION_FINISH_3 >= 165\r
+#        define BOOST_PP_ITERATION_3 165\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 166 && BOOST_PP_ITERATION_FINISH_3 >= 166\r
+#        define BOOST_PP_ITERATION_3 166\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 167 && BOOST_PP_ITERATION_FINISH_3 >= 167\r
+#        define BOOST_PP_ITERATION_3 167\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 168 && BOOST_PP_ITERATION_FINISH_3 >= 168\r
+#        define BOOST_PP_ITERATION_3 168\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 169 && BOOST_PP_ITERATION_FINISH_3 >= 169\r
+#        define BOOST_PP_ITERATION_3 169\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 170 && BOOST_PP_ITERATION_FINISH_3 >= 170\r
+#        define BOOST_PP_ITERATION_3 170\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 171 && BOOST_PP_ITERATION_FINISH_3 >= 171\r
+#        define BOOST_PP_ITERATION_3 171\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 172 && BOOST_PP_ITERATION_FINISH_3 >= 172\r
+#        define BOOST_PP_ITERATION_3 172\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 173 && BOOST_PP_ITERATION_FINISH_3 >= 173\r
+#        define BOOST_PP_ITERATION_3 173\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 174 && BOOST_PP_ITERATION_FINISH_3 >= 174\r
+#        define BOOST_PP_ITERATION_3 174\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 175 && BOOST_PP_ITERATION_FINISH_3 >= 175\r
+#        define BOOST_PP_ITERATION_3 175\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 176 && BOOST_PP_ITERATION_FINISH_3 >= 176\r
+#        define BOOST_PP_ITERATION_3 176\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 177 && BOOST_PP_ITERATION_FINISH_3 >= 177\r
+#        define BOOST_PP_ITERATION_3 177\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 178 && BOOST_PP_ITERATION_FINISH_3 >= 178\r
+#        define BOOST_PP_ITERATION_3 178\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 179 && BOOST_PP_ITERATION_FINISH_3 >= 179\r
+#        define BOOST_PP_ITERATION_3 179\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 180 && BOOST_PP_ITERATION_FINISH_3 >= 180\r
+#        define BOOST_PP_ITERATION_3 180\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 181 && BOOST_PP_ITERATION_FINISH_3 >= 181\r
+#        define BOOST_PP_ITERATION_3 181\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 182 && BOOST_PP_ITERATION_FINISH_3 >= 182\r
+#        define BOOST_PP_ITERATION_3 182\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 183 && BOOST_PP_ITERATION_FINISH_3 >= 183\r
+#        define BOOST_PP_ITERATION_3 183\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 184 && BOOST_PP_ITERATION_FINISH_3 >= 184\r
+#        define BOOST_PP_ITERATION_3 184\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 185 && BOOST_PP_ITERATION_FINISH_3 >= 185\r
+#        define BOOST_PP_ITERATION_3 185\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 186 && BOOST_PP_ITERATION_FINISH_3 >= 186\r
+#        define BOOST_PP_ITERATION_3 186\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 187 && BOOST_PP_ITERATION_FINISH_3 >= 187\r
+#        define BOOST_PP_ITERATION_3 187\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 188 && BOOST_PP_ITERATION_FINISH_3 >= 188\r
+#        define BOOST_PP_ITERATION_3 188\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 189 && BOOST_PP_ITERATION_FINISH_3 >= 189\r
+#        define BOOST_PP_ITERATION_3 189\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 190 && BOOST_PP_ITERATION_FINISH_3 >= 190\r
+#        define BOOST_PP_ITERATION_3 190\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 191 && BOOST_PP_ITERATION_FINISH_3 >= 191\r
+#        define BOOST_PP_ITERATION_3 191\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 192 && BOOST_PP_ITERATION_FINISH_3 >= 192\r
+#        define BOOST_PP_ITERATION_3 192\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 193 && BOOST_PP_ITERATION_FINISH_3 >= 193\r
+#        define BOOST_PP_ITERATION_3 193\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 194 && BOOST_PP_ITERATION_FINISH_3 >= 194\r
+#        define BOOST_PP_ITERATION_3 194\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 195 && BOOST_PP_ITERATION_FINISH_3 >= 195\r
+#        define BOOST_PP_ITERATION_3 195\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 196 && BOOST_PP_ITERATION_FINISH_3 >= 196\r
+#        define BOOST_PP_ITERATION_3 196\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 197 && BOOST_PP_ITERATION_FINISH_3 >= 197\r
+#        define BOOST_PP_ITERATION_3 197\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 198 && BOOST_PP_ITERATION_FINISH_3 >= 198\r
+#        define BOOST_PP_ITERATION_3 198\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 199 && BOOST_PP_ITERATION_FINISH_3 >= 199\r
+#        define BOOST_PP_ITERATION_3 199\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 200 && BOOST_PP_ITERATION_FINISH_3 >= 200\r
+#        define BOOST_PP_ITERATION_3 200\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 201 && BOOST_PP_ITERATION_FINISH_3 >= 201\r
+#        define BOOST_PP_ITERATION_3 201\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 202 && BOOST_PP_ITERATION_FINISH_3 >= 202\r
+#        define BOOST_PP_ITERATION_3 202\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 203 && BOOST_PP_ITERATION_FINISH_3 >= 203\r
+#        define BOOST_PP_ITERATION_3 203\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 204 && BOOST_PP_ITERATION_FINISH_3 >= 204\r
+#        define BOOST_PP_ITERATION_3 204\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 205 && BOOST_PP_ITERATION_FINISH_3 >= 205\r
+#        define BOOST_PP_ITERATION_3 205\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 206 && BOOST_PP_ITERATION_FINISH_3 >= 206\r
+#        define BOOST_PP_ITERATION_3 206\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 207 && BOOST_PP_ITERATION_FINISH_3 >= 207\r
+#        define BOOST_PP_ITERATION_3 207\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 208 && BOOST_PP_ITERATION_FINISH_3 >= 208\r
+#        define BOOST_PP_ITERATION_3 208\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 209 && BOOST_PP_ITERATION_FINISH_3 >= 209\r
+#        define BOOST_PP_ITERATION_3 209\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 210 && BOOST_PP_ITERATION_FINISH_3 >= 210\r
+#        define BOOST_PP_ITERATION_3 210\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 211 && BOOST_PP_ITERATION_FINISH_3 >= 211\r
+#        define BOOST_PP_ITERATION_3 211\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 212 && BOOST_PP_ITERATION_FINISH_3 >= 212\r
+#        define BOOST_PP_ITERATION_3 212\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 213 && BOOST_PP_ITERATION_FINISH_3 >= 213\r
+#        define BOOST_PP_ITERATION_3 213\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 214 && BOOST_PP_ITERATION_FINISH_3 >= 214\r
+#        define BOOST_PP_ITERATION_3 214\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 215 && BOOST_PP_ITERATION_FINISH_3 >= 215\r
+#        define BOOST_PP_ITERATION_3 215\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 216 && BOOST_PP_ITERATION_FINISH_3 >= 216\r
+#        define BOOST_PP_ITERATION_3 216\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 217 && BOOST_PP_ITERATION_FINISH_3 >= 217\r
+#        define BOOST_PP_ITERATION_3 217\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 218 && BOOST_PP_ITERATION_FINISH_3 >= 218\r
+#        define BOOST_PP_ITERATION_3 218\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 219 && BOOST_PP_ITERATION_FINISH_3 >= 219\r
+#        define BOOST_PP_ITERATION_3 219\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 220 && BOOST_PP_ITERATION_FINISH_3 >= 220\r
+#        define BOOST_PP_ITERATION_3 220\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 221 && BOOST_PP_ITERATION_FINISH_3 >= 221\r
+#        define BOOST_PP_ITERATION_3 221\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 222 && BOOST_PP_ITERATION_FINISH_3 >= 222\r
+#        define BOOST_PP_ITERATION_3 222\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 223 && BOOST_PP_ITERATION_FINISH_3 >= 223\r
+#        define BOOST_PP_ITERATION_3 223\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 224 && BOOST_PP_ITERATION_FINISH_3 >= 224\r
+#        define BOOST_PP_ITERATION_3 224\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 225 && BOOST_PP_ITERATION_FINISH_3 >= 225\r
+#        define BOOST_PP_ITERATION_3 225\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 226 && BOOST_PP_ITERATION_FINISH_3 >= 226\r
+#        define BOOST_PP_ITERATION_3 226\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 227 && BOOST_PP_ITERATION_FINISH_3 >= 227\r
+#        define BOOST_PP_ITERATION_3 227\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 228 && BOOST_PP_ITERATION_FINISH_3 >= 228\r
+#        define BOOST_PP_ITERATION_3 228\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 229 && BOOST_PP_ITERATION_FINISH_3 >= 229\r
+#        define BOOST_PP_ITERATION_3 229\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 230 && BOOST_PP_ITERATION_FINISH_3 >= 230\r
+#        define BOOST_PP_ITERATION_3 230\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 231 && BOOST_PP_ITERATION_FINISH_3 >= 231\r
+#        define BOOST_PP_ITERATION_3 231\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 232 && BOOST_PP_ITERATION_FINISH_3 >= 232\r
+#        define BOOST_PP_ITERATION_3 232\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 233 && BOOST_PP_ITERATION_FINISH_3 >= 233\r
+#        define BOOST_PP_ITERATION_3 233\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 234 && BOOST_PP_ITERATION_FINISH_3 >= 234\r
+#        define BOOST_PP_ITERATION_3 234\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 235 && BOOST_PP_ITERATION_FINISH_3 >= 235\r
+#        define BOOST_PP_ITERATION_3 235\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 236 && BOOST_PP_ITERATION_FINISH_3 >= 236\r
+#        define BOOST_PP_ITERATION_3 236\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 237 && BOOST_PP_ITERATION_FINISH_3 >= 237\r
+#        define BOOST_PP_ITERATION_3 237\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 238 && BOOST_PP_ITERATION_FINISH_3 >= 238\r
+#        define BOOST_PP_ITERATION_3 238\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 239 && BOOST_PP_ITERATION_FINISH_3 >= 239\r
+#        define BOOST_PP_ITERATION_3 239\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 240 && BOOST_PP_ITERATION_FINISH_3 >= 240\r
+#        define BOOST_PP_ITERATION_3 240\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 241 && BOOST_PP_ITERATION_FINISH_3 >= 241\r
+#        define BOOST_PP_ITERATION_3 241\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 242 && BOOST_PP_ITERATION_FINISH_3 >= 242\r
+#        define BOOST_PP_ITERATION_3 242\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 243 && BOOST_PP_ITERATION_FINISH_3 >= 243\r
+#        define BOOST_PP_ITERATION_3 243\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 244 && BOOST_PP_ITERATION_FINISH_3 >= 244\r
+#        define BOOST_PP_ITERATION_3 244\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 245 && BOOST_PP_ITERATION_FINISH_3 >= 245\r
+#        define BOOST_PP_ITERATION_3 245\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 246 && BOOST_PP_ITERATION_FINISH_3 >= 246\r
+#        define BOOST_PP_ITERATION_3 246\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 247 && BOOST_PP_ITERATION_FINISH_3 >= 247\r
+#        define BOOST_PP_ITERATION_3 247\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 248 && BOOST_PP_ITERATION_FINISH_3 >= 248\r
+#        define BOOST_PP_ITERATION_3 248\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 249 && BOOST_PP_ITERATION_FINISH_3 >= 249\r
+#        define BOOST_PP_ITERATION_3 249\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 250 && BOOST_PP_ITERATION_FINISH_3 >= 250\r
+#        define BOOST_PP_ITERATION_3 250\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 251 && BOOST_PP_ITERATION_FINISH_3 >= 251\r
+#        define BOOST_PP_ITERATION_3 251\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 252 && BOOST_PP_ITERATION_FINISH_3 >= 252\r
+#        define BOOST_PP_ITERATION_3 252\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 253 && BOOST_PP_ITERATION_FINISH_3 >= 253\r
+#        define BOOST_PP_ITERATION_3 253\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 254 && BOOST_PP_ITERATION_FINISH_3 >= 254\r
+#        define BOOST_PP_ITERATION_3 254\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 255 && BOOST_PP_ITERATION_FINISH_3 >= 255\r
+#        define BOOST_PP_ITERATION_3 255\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_3 <= 256 && BOOST_PP_ITERATION_FINISH_3 >= 256\r
+#        define BOOST_PP_ITERATION_3 256\r
+#        include BOOST_PP_FILENAME_3\r
+#        undef BOOST_PP_ITERATION_3\r
+#    endif\r
+# endif\r
+#\r
+# undef BOOST_PP_ITERATION_DEPTH\r
+# define BOOST_PP_ITERATION_DEPTH() 2\r
+#\r
+# undef BOOST_PP_ITERATION_START_3\r
+# undef BOOST_PP_ITERATION_FINISH_3\r
+# undef BOOST_PP_FILENAME_3\r
+#\r
+# undef BOOST_PP_ITERATION_FLAGS_3\r
+# undef BOOST_PP_ITERATION_PARAMS_3\r
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 (file)
index 0000000..653c7b1
--- /dev/null
@@ -0,0 +1,1338 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# if defined(BOOST_PP_ITERATION_LIMITS)\r
+#    if !defined(BOOST_PP_FILENAME_4)\r
+#        error BOOST_PP_ERROR:  depth #4 filename is not defined\r
+#    endif\r
+#    define BOOST_PP_VALUE BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_ITERATION_LIMITS)\r
+#    include <boost/preprocessor/iteration/detail/bounds/lower4.hpp>\r
+#    define BOOST_PP_VALUE BOOST_PP_TUPLE_ELEM(2, 1, BOOST_PP_ITERATION_LIMITS)\r
+#    include <boost/preprocessor/iteration/detail/bounds/upper4.hpp>\r
+#    define BOOST_PP_ITERATION_FLAGS_4 0\r
+#    undef BOOST_PP_ITERATION_LIMITS\r
+# elif defined(BOOST_PP_ITERATION_PARAMS_4)\r
+#    define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(0, BOOST_PP_ITERATION_PARAMS_4)\r
+#    include <boost/preprocessor/iteration/detail/bounds/lower4.hpp>\r
+#    define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(1, BOOST_PP_ITERATION_PARAMS_4)\r
+#    include <boost/preprocessor/iteration/detail/bounds/upper4.hpp>\r
+#    define BOOST_PP_FILENAME_4 BOOST_PP_ARRAY_ELEM(2, BOOST_PP_ITERATION_PARAMS_4)\r
+#    if BOOST_PP_ARRAY_SIZE(BOOST_PP_ITERATION_PARAMS_4) >= 4\r
+#        define BOOST_PP_ITERATION_FLAGS_4 BOOST_PP_ARRAY_ELEM(3, BOOST_PP_ITERATION_PARAMS_4)\r
+#    else\r
+#        define BOOST_PP_ITERATION_FLAGS_4 0\r
+#    endif\r
+# else\r
+#    error BOOST_PP_ERROR:  depth #4 iteration boundaries or filename not defined\r
+# endif\r
+#\r
+# undef BOOST_PP_ITERATION_DEPTH\r
+# define BOOST_PP_ITERATION_DEPTH() 4\r
+#\r
+# if (BOOST_PP_ITERATION_START_4) > (BOOST_PP_ITERATION_FINISH_4)\r
+#    include <boost/preprocessor/iteration/detail/iter/reverse4.hpp>\r
+# else\r
+#    if BOOST_PP_ITERATION_START_4 <= 0 && BOOST_PP_ITERATION_FINISH_4 >= 0\r
+#        define BOOST_PP_ITERATION_4 0\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 1 && BOOST_PP_ITERATION_FINISH_4 >= 1\r
+#        define BOOST_PP_ITERATION_4 1\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 2 && BOOST_PP_ITERATION_FINISH_4 >= 2\r
+#        define BOOST_PP_ITERATION_4 2\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 3 && BOOST_PP_ITERATION_FINISH_4 >= 3\r
+#        define BOOST_PP_ITERATION_4 3\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 4 && BOOST_PP_ITERATION_FINISH_4 >= 4\r
+#        define BOOST_PP_ITERATION_4 4\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 5 && BOOST_PP_ITERATION_FINISH_4 >= 5\r
+#        define BOOST_PP_ITERATION_4 5\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 6 && BOOST_PP_ITERATION_FINISH_4 >= 6\r
+#        define BOOST_PP_ITERATION_4 6\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 7 && BOOST_PP_ITERATION_FINISH_4 >= 7\r
+#        define BOOST_PP_ITERATION_4 7\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 8 && BOOST_PP_ITERATION_FINISH_4 >= 8\r
+#        define BOOST_PP_ITERATION_4 8\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 9 && BOOST_PP_ITERATION_FINISH_4 >= 9\r
+#        define BOOST_PP_ITERATION_4 9\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 10 && BOOST_PP_ITERATION_FINISH_4 >= 10\r
+#        define BOOST_PP_ITERATION_4 10\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 11 && BOOST_PP_ITERATION_FINISH_4 >= 11\r
+#        define BOOST_PP_ITERATION_4 11\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 12 && BOOST_PP_ITERATION_FINISH_4 >= 12\r
+#        define BOOST_PP_ITERATION_4 12\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 13 && BOOST_PP_ITERATION_FINISH_4 >= 13\r
+#        define BOOST_PP_ITERATION_4 13\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 14 && BOOST_PP_ITERATION_FINISH_4 >= 14\r
+#        define BOOST_PP_ITERATION_4 14\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 15 && BOOST_PP_ITERATION_FINISH_4 >= 15\r
+#        define BOOST_PP_ITERATION_4 15\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 16 && BOOST_PP_ITERATION_FINISH_4 >= 16\r
+#        define BOOST_PP_ITERATION_4 16\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 17 && BOOST_PP_ITERATION_FINISH_4 >= 17\r
+#        define BOOST_PP_ITERATION_4 17\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 18 && BOOST_PP_ITERATION_FINISH_4 >= 18\r
+#        define BOOST_PP_ITERATION_4 18\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 19 && BOOST_PP_ITERATION_FINISH_4 >= 19\r
+#        define BOOST_PP_ITERATION_4 19\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 20 && BOOST_PP_ITERATION_FINISH_4 >= 20\r
+#        define BOOST_PP_ITERATION_4 20\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 21 && BOOST_PP_ITERATION_FINISH_4 >= 21\r
+#        define BOOST_PP_ITERATION_4 21\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 22 && BOOST_PP_ITERATION_FINISH_4 >= 22\r
+#        define BOOST_PP_ITERATION_4 22\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 23 && BOOST_PP_ITERATION_FINISH_4 >= 23\r
+#        define BOOST_PP_ITERATION_4 23\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 24 && BOOST_PP_ITERATION_FINISH_4 >= 24\r
+#        define BOOST_PP_ITERATION_4 24\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 25 && BOOST_PP_ITERATION_FINISH_4 >= 25\r
+#        define BOOST_PP_ITERATION_4 25\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 26 && BOOST_PP_ITERATION_FINISH_4 >= 26\r
+#        define BOOST_PP_ITERATION_4 26\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 27 && BOOST_PP_ITERATION_FINISH_4 >= 27\r
+#        define BOOST_PP_ITERATION_4 27\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 28 && BOOST_PP_ITERATION_FINISH_4 >= 28\r
+#        define BOOST_PP_ITERATION_4 28\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 29 && BOOST_PP_ITERATION_FINISH_4 >= 29\r
+#        define BOOST_PP_ITERATION_4 29\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 30 && BOOST_PP_ITERATION_FINISH_4 >= 30\r
+#        define BOOST_PP_ITERATION_4 30\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 31 && BOOST_PP_ITERATION_FINISH_4 >= 31\r
+#        define BOOST_PP_ITERATION_4 31\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 32 && BOOST_PP_ITERATION_FINISH_4 >= 32\r
+#        define BOOST_PP_ITERATION_4 32\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 33 && BOOST_PP_ITERATION_FINISH_4 >= 33\r
+#        define BOOST_PP_ITERATION_4 33\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 34 && BOOST_PP_ITERATION_FINISH_4 >= 34\r
+#        define BOOST_PP_ITERATION_4 34\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 35 && BOOST_PP_ITERATION_FINISH_4 >= 35\r
+#        define BOOST_PP_ITERATION_4 35\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 36 && BOOST_PP_ITERATION_FINISH_4 >= 36\r
+#        define BOOST_PP_ITERATION_4 36\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 37 && BOOST_PP_ITERATION_FINISH_4 >= 37\r
+#        define BOOST_PP_ITERATION_4 37\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 38 && BOOST_PP_ITERATION_FINISH_4 >= 38\r
+#        define BOOST_PP_ITERATION_4 38\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 39 && BOOST_PP_ITERATION_FINISH_4 >= 39\r
+#        define BOOST_PP_ITERATION_4 39\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 40 && BOOST_PP_ITERATION_FINISH_4 >= 40\r
+#        define BOOST_PP_ITERATION_4 40\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 41 && BOOST_PP_ITERATION_FINISH_4 >= 41\r
+#        define BOOST_PP_ITERATION_4 41\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 42 && BOOST_PP_ITERATION_FINISH_4 >= 42\r
+#        define BOOST_PP_ITERATION_4 42\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 43 && BOOST_PP_ITERATION_FINISH_4 >= 43\r
+#        define BOOST_PP_ITERATION_4 43\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 44 && BOOST_PP_ITERATION_FINISH_4 >= 44\r
+#        define BOOST_PP_ITERATION_4 44\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 45 && BOOST_PP_ITERATION_FINISH_4 >= 45\r
+#        define BOOST_PP_ITERATION_4 45\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 46 && BOOST_PP_ITERATION_FINISH_4 >= 46\r
+#        define BOOST_PP_ITERATION_4 46\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 47 && BOOST_PP_ITERATION_FINISH_4 >= 47\r
+#        define BOOST_PP_ITERATION_4 47\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 48 && BOOST_PP_ITERATION_FINISH_4 >= 48\r
+#        define BOOST_PP_ITERATION_4 48\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 49 && BOOST_PP_ITERATION_FINISH_4 >= 49\r
+#        define BOOST_PP_ITERATION_4 49\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 50 && BOOST_PP_ITERATION_FINISH_4 >= 50\r
+#        define BOOST_PP_ITERATION_4 50\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 51 && BOOST_PP_ITERATION_FINISH_4 >= 51\r
+#        define BOOST_PP_ITERATION_4 51\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 52 && BOOST_PP_ITERATION_FINISH_4 >= 52\r
+#        define BOOST_PP_ITERATION_4 52\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 53 && BOOST_PP_ITERATION_FINISH_4 >= 53\r
+#        define BOOST_PP_ITERATION_4 53\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 54 && BOOST_PP_ITERATION_FINISH_4 >= 54\r
+#        define BOOST_PP_ITERATION_4 54\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 55 && BOOST_PP_ITERATION_FINISH_4 >= 55\r
+#        define BOOST_PP_ITERATION_4 55\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 56 && BOOST_PP_ITERATION_FINISH_4 >= 56\r
+#        define BOOST_PP_ITERATION_4 56\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 57 && BOOST_PP_ITERATION_FINISH_4 >= 57\r
+#        define BOOST_PP_ITERATION_4 57\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 58 && BOOST_PP_ITERATION_FINISH_4 >= 58\r
+#        define BOOST_PP_ITERATION_4 58\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 59 && BOOST_PP_ITERATION_FINISH_4 >= 59\r
+#        define BOOST_PP_ITERATION_4 59\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 60 && BOOST_PP_ITERATION_FINISH_4 >= 60\r
+#        define BOOST_PP_ITERATION_4 60\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 61 && BOOST_PP_ITERATION_FINISH_4 >= 61\r
+#        define BOOST_PP_ITERATION_4 61\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 62 && BOOST_PP_ITERATION_FINISH_4 >= 62\r
+#        define BOOST_PP_ITERATION_4 62\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 63 && BOOST_PP_ITERATION_FINISH_4 >= 63\r
+#        define BOOST_PP_ITERATION_4 63\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 64 && BOOST_PP_ITERATION_FINISH_4 >= 64\r
+#        define BOOST_PP_ITERATION_4 64\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 65 && BOOST_PP_ITERATION_FINISH_4 >= 65\r
+#        define BOOST_PP_ITERATION_4 65\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 66 && BOOST_PP_ITERATION_FINISH_4 >= 66\r
+#        define BOOST_PP_ITERATION_4 66\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 67 && BOOST_PP_ITERATION_FINISH_4 >= 67\r
+#        define BOOST_PP_ITERATION_4 67\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 68 && BOOST_PP_ITERATION_FINISH_4 >= 68\r
+#        define BOOST_PP_ITERATION_4 68\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 69 && BOOST_PP_ITERATION_FINISH_4 >= 69\r
+#        define BOOST_PP_ITERATION_4 69\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 70 && BOOST_PP_ITERATION_FINISH_4 >= 70\r
+#        define BOOST_PP_ITERATION_4 70\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 71 && BOOST_PP_ITERATION_FINISH_4 >= 71\r
+#        define BOOST_PP_ITERATION_4 71\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 72 && BOOST_PP_ITERATION_FINISH_4 >= 72\r
+#        define BOOST_PP_ITERATION_4 72\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 73 && BOOST_PP_ITERATION_FINISH_4 >= 73\r
+#        define BOOST_PP_ITERATION_4 73\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 74 && BOOST_PP_ITERATION_FINISH_4 >= 74\r
+#        define BOOST_PP_ITERATION_4 74\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 75 && BOOST_PP_ITERATION_FINISH_4 >= 75\r
+#        define BOOST_PP_ITERATION_4 75\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 76 && BOOST_PP_ITERATION_FINISH_4 >= 76\r
+#        define BOOST_PP_ITERATION_4 76\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 77 && BOOST_PP_ITERATION_FINISH_4 >= 77\r
+#        define BOOST_PP_ITERATION_4 77\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 78 && BOOST_PP_ITERATION_FINISH_4 >= 78\r
+#        define BOOST_PP_ITERATION_4 78\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 79 && BOOST_PP_ITERATION_FINISH_4 >= 79\r
+#        define BOOST_PP_ITERATION_4 79\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 80 && BOOST_PP_ITERATION_FINISH_4 >= 80\r
+#        define BOOST_PP_ITERATION_4 80\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 81 && BOOST_PP_ITERATION_FINISH_4 >= 81\r
+#        define BOOST_PP_ITERATION_4 81\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 82 && BOOST_PP_ITERATION_FINISH_4 >= 82\r
+#        define BOOST_PP_ITERATION_4 82\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 83 && BOOST_PP_ITERATION_FINISH_4 >= 83\r
+#        define BOOST_PP_ITERATION_4 83\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 84 && BOOST_PP_ITERATION_FINISH_4 >= 84\r
+#        define BOOST_PP_ITERATION_4 84\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 85 && BOOST_PP_ITERATION_FINISH_4 >= 85\r
+#        define BOOST_PP_ITERATION_4 85\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 86 && BOOST_PP_ITERATION_FINISH_4 >= 86\r
+#        define BOOST_PP_ITERATION_4 86\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 87 && BOOST_PP_ITERATION_FINISH_4 >= 87\r
+#        define BOOST_PP_ITERATION_4 87\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 88 && BOOST_PP_ITERATION_FINISH_4 >= 88\r
+#        define BOOST_PP_ITERATION_4 88\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 89 && BOOST_PP_ITERATION_FINISH_4 >= 89\r
+#        define BOOST_PP_ITERATION_4 89\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 90 && BOOST_PP_ITERATION_FINISH_4 >= 90\r
+#        define BOOST_PP_ITERATION_4 90\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 91 && BOOST_PP_ITERATION_FINISH_4 >= 91\r
+#        define BOOST_PP_ITERATION_4 91\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 92 && BOOST_PP_ITERATION_FINISH_4 >= 92\r
+#        define BOOST_PP_ITERATION_4 92\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 93 && BOOST_PP_ITERATION_FINISH_4 >= 93\r
+#        define BOOST_PP_ITERATION_4 93\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 94 && BOOST_PP_ITERATION_FINISH_4 >= 94\r
+#        define BOOST_PP_ITERATION_4 94\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 95 && BOOST_PP_ITERATION_FINISH_4 >= 95\r
+#        define BOOST_PP_ITERATION_4 95\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 96 && BOOST_PP_ITERATION_FINISH_4 >= 96\r
+#        define BOOST_PP_ITERATION_4 96\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 97 && BOOST_PP_ITERATION_FINISH_4 >= 97\r
+#        define BOOST_PP_ITERATION_4 97\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 98 && BOOST_PP_ITERATION_FINISH_4 >= 98\r
+#        define BOOST_PP_ITERATION_4 98\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 99 && BOOST_PP_ITERATION_FINISH_4 >= 99\r
+#        define BOOST_PP_ITERATION_4 99\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 100 && BOOST_PP_ITERATION_FINISH_4 >= 100\r
+#        define BOOST_PP_ITERATION_4 100\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 101 && BOOST_PP_ITERATION_FINISH_4 >= 101\r
+#        define BOOST_PP_ITERATION_4 101\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 102 && BOOST_PP_ITERATION_FINISH_4 >= 102\r
+#        define BOOST_PP_ITERATION_4 102\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 103 && BOOST_PP_ITERATION_FINISH_4 >= 103\r
+#        define BOOST_PP_ITERATION_4 103\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 104 && BOOST_PP_ITERATION_FINISH_4 >= 104\r
+#        define BOOST_PP_ITERATION_4 104\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 105 && BOOST_PP_ITERATION_FINISH_4 >= 105\r
+#        define BOOST_PP_ITERATION_4 105\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 106 && BOOST_PP_ITERATION_FINISH_4 >= 106\r
+#        define BOOST_PP_ITERATION_4 106\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 107 && BOOST_PP_ITERATION_FINISH_4 >= 107\r
+#        define BOOST_PP_ITERATION_4 107\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 108 && BOOST_PP_ITERATION_FINISH_4 >= 108\r
+#        define BOOST_PP_ITERATION_4 108\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 109 && BOOST_PP_ITERATION_FINISH_4 >= 109\r
+#        define BOOST_PP_ITERATION_4 109\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 110 && BOOST_PP_ITERATION_FINISH_4 >= 110\r
+#        define BOOST_PP_ITERATION_4 110\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 111 && BOOST_PP_ITERATION_FINISH_4 >= 111\r
+#        define BOOST_PP_ITERATION_4 111\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 112 && BOOST_PP_ITERATION_FINISH_4 >= 112\r
+#        define BOOST_PP_ITERATION_4 112\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 113 && BOOST_PP_ITERATION_FINISH_4 >= 113\r
+#        define BOOST_PP_ITERATION_4 113\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 114 && BOOST_PP_ITERATION_FINISH_4 >= 114\r
+#        define BOOST_PP_ITERATION_4 114\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 115 && BOOST_PP_ITERATION_FINISH_4 >= 115\r
+#        define BOOST_PP_ITERATION_4 115\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 116 && BOOST_PP_ITERATION_FINISH_4 >= 116\r
+#        define BOOST_PP_ITERATION_4 116\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 117 && BOOST_PP_ITERATION_FINISH_4 >= 117\r
+#        define BOOST_PP_ITERATION_4 117\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 118 && BOOST_PP_ITERATION_FINISH_4 >= 118\r
+#        define BOOST_PP_ITERATION_4 118\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 119 && BOOST_PP_ITERATION_FINISH_4 >= 119\r
+#        define BOOST_PP_ITERATION_4 119\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 120 && BOOST_PP_ITERATION_FINISH_4 >= 120\r
+#        define BOOST_PP_ITERATION_4 120\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 121 && BOOST_PP_ITERATION_FINISH_4 >= 121\r
+#        define BOOST_PP_ITERATION_4 121\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 122 && BOOST_PP_ITERATION_FINISH_4 >= 122\r
+#        define BOOST_PP_ITERATION_4 122\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 123 && BOOST_PP_ITERATION_FINISH_4 >= 123\r
+#        define BOOST_PP_ITERATION_4 123\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 124 && BOOST_PP_ITERATION_FINISH_4 >= 124\r
+#        define BOOST_PP_ITERATION_4 124\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 125 && BOOST_PP_ITERATION_FINISH_4 >= 125\r
+#        define BOOST_PP_ITERATION_4 125\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 126 && BOOST_PP_ITERATION_FINISH_4 >= 126\r
+#        define BOOST_PP_ITERATION_4 126\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 127 && BOOST_PP_ITERATION_FINISH_4 >= 127\r
+#        define BOOST_PP_ITERATION_4 127\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 128 && BOOST_PP_ITERATION_FINISH_4 >= 128\r
+#        define BOOST_PP_ITERATION_4 128\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 129 && BOOST_PP_ITERATION_FINISH_4 >= 129\r
+#        define BOOST_PP_ITERATION_4 129\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 130 && BOOST_PP_ITERATION_FINISH_4 >= 130\r
+#        define BOOST_PP_ITERATION_4 130\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 131 && BOOST_PP_ITERATION_FINISH_4 >= 131\r
+#        define BOOST_PP_ITERATION_4 131\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 132 && BOOST_PP_ITERATION_FINISH_4 >= 132\r
+#        define BOOST_PP_ITERATION_4 132\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 133 && BOOST_PP_ITERATION_FINISH_4 >= 133\r
+#        define BOOST_PP_ITERATION_4 133\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 134 && BOOST_PP_ITERATION_FINISH_4 >= 134\r
+#        define BOOST_PP_ITERATION_4 134\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 135 && BOOST_PP_ITERATION_FINISH_4 >= 135\r
+#        define BOOST_PP_ITERATION_4 135\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 136 && BOOST_PP_ITERATION_FINISH_4 >= 136\r
+#        define BOOST_PP_ITERATION_4 136\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 137 && BOOST_PP_ITERATION_FINISH_4 >= 137\r
+#        define BOOST_PP_ITERATION_4 137\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 138 && BOOST_PP_ITERATION_FINISH_4 >= 138\r
+#        define BOOST_PP_ITERATION_4 138\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 139 && BOOST_PP_ITERATION_FINISH_4 >= 139\r
+#        define BOOST_PP_ITERATION_4 139\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 140 && BOOST_PP_ITERATION_FINISH_4 >= 140\r
+#        define BOOST_PP_ITERATION_4 140\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 141 && BOOST_PP_ITERATION_FINISH_4 >= 141\r
+#        define BOOST_PP_ITERATION_4 141\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 142 && BOOST_PP_ITERATION_FINISH_4 >= 142\r
+#        define BOOST_PP_ITERATION_4 142\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 143 && BOOST_PP_ITERATION_FINISH_4 >= 143\r
+#        define BOOST_PP_ITERATION_4 143\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 144 && BOOST_PP_ITERATION_FINISH_4 >= 144\r
+#        define BOOST_PP_ITERATION_4 144\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 145 && BOOST_PP_ITERATION_FINISH_4 >= 145\r
+#        define BOOST_PP_ITERATION_4 145\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 146 && BOOST_PP_ITERATION_FINISH_4 >= 146\r
+#        define BOOST_PP_ITERATION_4 146\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 147 && BOOST_PP_ITERATION_FINISH_4 >= 147\r
+#        define BOOST_PP_ITERATION_4 147\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 148 && BOOST_PP_ITERATION_FINISH_4 >= 148\r
+#        define BOOST_PP_ITERATION_4 148\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 149 && BOOST_PP_ITERATION_FINISH_4 >= 149\r
+#        define BOOST_PP_ITERATION_4 149\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 150 && BOOST_PP_ITERATION_FINISH_4 >= 150\r
+#        define BOOST_PP_ITERATION_4 150\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 151 && BOOST_PP_ITERATION_FINISH_4 >= 151\r
+#        define BOOST_PP_ITERATION_4 151\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 152 && BOOST_PP_ITERATION_FINISH_4 >= 152\r
+#        define BOOST_PP_ITERATION_4 152\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 153 && BOOST_PP_ITERATION_FINISH_4 >= 153\r
+#        define BOOST_PP_ITERATION_4 153\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 154 && BOOST_PP_ITERATION_FINISH_4 >= 154\r
+#        define BOOST_PP_ITERATION_4 154\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 155 && BOOST_PP_ITERATION_FINISH_4 >= 155\r
+#        define BOOST_PP_ITERATION_4 155\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 156 && BOOST_PP_ITERATION_FINISH_4 >= 156\r
+#        define BOOST_PP_ITERATION_4 156\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 157 && BOOST_PP_ITERATION_FINISH_4 >= 157\r
+#        define BOOST_PP_ITERATION_4 157\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 158 && BOOST_PP_ITERATION_FINISH_4 >= 158\r
+#        define BOOST_PP_ITERATION_4 158\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 159 && BOOST_PP_ITERATION_FINISH_4 >= 159\r
+#        define BOOST_PP_ITERATION_4 159\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 160 && BOOST_PP_ITERATION_FINISH_4 >= 160\r
+#        define BOOST_PP_ITERATION_4 160\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 161 && BOOST_PP_ITERATION_FINISH_4 >= 161\r
+#        define BOOST_PP_ITERATION_4 161\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 162 && BOOST_PP_ITERATION_FINISH_4 >= 162\r
+#        define BOOST_PP_ITERATION_4 162\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 163 && BOOST_PP_ITERATION_FINISH_4 >= 163\r
+#        define BOOST_PP_ITERATION_4 163\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 164 && BOOST_PP_ITERATION_FINISH_4 >= 164\r
+#        define BOOST_PP_ITERATION_4 164\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 165 && BOOST_PP_ITERATION_FINISH_4 >= 165\r
+#        define BOOST_PP_ITERATION_4 165\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 166 && BOOST_PP_ITERATION_FINISH_4 >= 166\r
+#        define BOOST_PP_ITERATION_4 166\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 167 && BOOST_PP_ITERATION_FINISH_4 >= 167\r
+#        define BOOST_PP_ITERATION_4 167\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 168 && BOOST_PP_ITERATION_FINISH_4 >= 168\r
+#        define BOOST_PP_ITERATION_4 168\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 169 && BOOST_PP_ITERATION_FINISH_4 >= 169\r
+#        define BOOST_PP_ITERATION_4 169\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 170 && BOOST_PP_ITERATION_FINISH_4 >= 170\r
+#        define BOOST_PP_ITERATION_4 170\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 171 && BOOST_PP_ITERATION_FINISH_4 >= 171\r
+#        define BOOST_PP_ITERATION_4 171\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 172 && BOOST_PP_ITERATION_FINISH_4 >= 172\r
+#        define BOOST_PP_ITERATION_4 172\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 173 && BOOST_PP_ITERATION_FINISH_4 >= 173\r
+#        define BOOST_PP_ITERATION_4 173\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 174 && BOOST_PP_ITERATION_FINISH_4 >= 174\r
+#        define BOOST_PP_ITERATION_4 174\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 175 && BOOST_PP_ITERATION_FINISH_4 >= 175\r
+#        define BOOST_PP_ITERATION_4 175\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 176 && BOOST_PP_ITERATION_FINISH_4 >= 176\r
+#        define BOOST_PP_ITERATION_4 176\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 177 && BOOST_PP_ITERATION_FINISH_4 >= 177\r
+#        define BOOST_PP_ITERATION_4 177\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 178 && BOOST_PP_ITERATION_FINISH_4 >= 178\r
+#        define BOOST_PP_ITERATION_4 178\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 179 && BOOST_PP_ITERATION_FINISH_4 >= 179\r
+#        define BOOST_PP_ITERATION_4 179\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 180 && BOOST_PP_ITERATION_FINISH_4 >= 180\r
+#        define BOOST_PP_ITERATION_4 180\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 181 && BOOST_PP_ITERATION_FINISH_4 >= 181\r
+#        define BOOST_PP_ITERATION_4 181\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 182 && BOOST_PP_ITERATION_FINISH_4 >= 182\r
+#        define BOOST_PP_ITERATION_4 182\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 183 && BOOST_PP_ITERATION_FINISH_4 >= 183\r
+#        define BOOST_PP_ITERATION_4 183\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 184 && BOOST_PP_ITERATION_FINISH_4 >= 184\r
+#        define BOOST_PP_ITERATION_4 184\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 185 && BOOST_PP_ITERATION_FINISH_4 >= 185\r
+#        define BOOST_PP_ITERATION_4 185\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 186 && BOOST_PP_ITERATION_FINISH_4 >= 186\r
+#        define BOOST_PP_ITERATION_4 186\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 187 && BOOST_PP_ITERATION_FINISH_4 >= 187\r
+#        define BOOST_PP_ITERATION_4 187\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 188 && BOOST_PP_ITERATION_FINISH_4 >= 188\r
+#        define BOOST_PP_ITERATION_4 188\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 189 && BOOST_PP_ITERATION_FINISH_4 >= 189\r
+#        define BOOST_PP_ITERATION_4 189\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 190 && BOOST_PP_ITERATION_FINISH_4 >= 190\r
+#        define BOOST_PP_ITERATION_4 190\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 191 && BOOST_PP_ITERATION_FINISH_4 >= 191\r
+#        define BOOST_PP_ITERATION_4 191\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 192 && BOOST_PP_ITERATION_FINISH_4 >= 192\r
+#        define BOOST_PP_ITERATION_4 192\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 193 && BOOST_PP_ITERATION_FINISH_4 >= 193\r
+#        define BOOST_PP_ITERATION_4 193\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 194 && BOOST_PP_ITERATION_FINISH_4 >= 194\r
+#        define BOOST_PP_ITERATION_4 194\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 195 && BOOST_PP_ITERATION_FINISH_4 >= 195\r
+#        define BOOST_PP_ITERATION_4 195\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 196 && BOOST_PP_ITERATION_FINISH_4 >= 196\r
+#        define BOOST_PP_ITERATION_4 196\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 197 && BOOST_PP_ITERATION_FINISH_4 >= 197\r
+#        define BOOST_PP_ITERATION_4 197\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 198 && BOOST_PP_ITERATION_FINISH_4 >= 198\r
+#        define BOOST_PP_ITERATION_4 198\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 199 && BOOST_PP_ITERATION_FINISH_4 >= 199\r
+#        define BOOST_PP_ITERATION_4 199\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 200 && BOOST_PP_ITERATION_FINISH_4 >= 200\r
+#        define BOOST_PP_ITERATION_4 200\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 201 && BOOST_PP_ITERATION_FINISH_4 >= 201\r
+#        define BOOST_PP_ITERATION_4 201\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 202 && BOOST_PP_ITERATION_FINISH_4 >= 202\r
+#        define BOOST_PP_ITERATION_4 202\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 203 && BOOST_PP_ITERATION_FINISH_4 >= 203\r
+#        define BOOST_PP_ITERATION_4 203\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 204 && BOOST_PP_ITERATION_FINISH_4 >= 204\r
+#        define BOOST_PP_ITERATION_4 204\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 205 && BOOST_PP_ITERATION_FINISH_4 >= 205\r
+#        define BOOST_PP_ITERATION_4 205\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 206 && BOOST_PP_ITERATION_FINISH_4 >= 206\r
+#        define BOOST_PP_ITERATION_4 206\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 207 && BOOST_PP_ITERATION_FINISH_4 >= 207\r
+#        define BOOST_PP_ITERATION_4 207\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 208 && BOOST_PP_ITERATION_FINISH_4 >= 208\r
+#        define BOOST_PP_ITERATION_4 208\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 209 && BOOST_PP_ITERATION_FINISH_4 >= 209\r
+#        define BOOST_PP_ITERATION_4 209\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 210 && BOOST_PP_ITERATION_FINISH_4 >= 210\r
+#        define BOOST_PP_ITERATION_4 210\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 211 && BOOST_PP_ITERATION_FINISH_4 >= 211\r
+#        define BOOST_PP_ITERATION_4 211\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 212 && BOOST_PP_ITERATION_FINISH_4 >= 212\r
+#        define BOOST_PP_ITERATION_4 212\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 213 && BOOST_PP_ITERATION_FINISH_4 >= 213\r
+#        define BOOST_PP_ITERATION_4 213\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 214 && BOOST_PP_ITERATION_FINISH_4 >= 214\r
+#        define BOOST_PP_ITERATION_4 214\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 215 && BOOST_PP_ITERATION_FINISH_4 >= 215\r
+#        define BOOST_PP_ITERATION_4 215\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 216 && BOOST_PP_ITERATION_FINISH_4 >= 216\r
+#        define BOOST_PP_ITERATION_4 216\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 217 && BOOST_PP_ITERATION_FINISH_4 >= 217\r
+#        define BOOST_PP_ITERATION_4 217\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 218 && BOOST_PP_ITERATION_FINISH_4 >= 218\r
+#        define BOOST_PP_ITERATION_4 218\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 219 && BOOST_PP_ITERATION_FINISH_4 >= 219\r
+#        define BOOST_PP_ITERATION_4 219\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 220 && BOOST_PP_ITERATION_FINISH_4 >= 220\r
+#        define BOOST_PP_ITERATION_4 220\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 221 && BOOST_PP_ITERATION_FINISH_4 >= 221\r
+#        define BOOST_PP_ITERATION_4 221\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 222 && BOOST_PP_ITERATION_FINISH_4 >= 222\r
+#        define BOOST_PP_ITERATION_4 222\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 223 && BOOST_PP_ITERATION_FINISH_4 >= 223\r
+#        define BOOST_PP_ITERATION_4 223\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 224 && BOOST_PP_ITERATION_FINISH_4 >= 224\r
+#        define BOOST_PP_ITERATION_4 224\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 225 && BOOST_PP_ITERATION_FINISH_4 >= 225\r
+#        define BOOST_PP_ITERATION_4 225\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 226 && BOOST_PP_ITERATION_FINISH_4 >= 226\r
+#        define BOOST_PP_ITERATION_4 226\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 227 && BOOST_PP_ITERATION_FINISH_4 >= 227\r
+#        define BOOST_PP_ITERATION_4 227\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 228 && BOOST_PP_ITERATION_FINISH_4 >= 228\r
+#        define BOOST_PP_ITERATION_4 228\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 229 && BOOST_PP_ITERATION_FINISH_4 >= 229\r
+#        define BOOST_PP_ITERATION_4 229\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 230 && BOOST_PP_ITERATION_FINISH_4 >= 230\r
+#        define BOOST_PP_ITERATION_4 230\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 231 && BOOST_PP_ITERATION_FINISH_4 >= 231\r
+#        define BOOST_PP_ITERATION_4 231\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 232 && BOOST_PP_ITERATION_FINISH_4 >= 232\r
+#        define BOOST_PP_ITERATION_4 232\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 233 && BOOST_PP_ITERATION_FINISH_4 >= 233\r
+#        define BOOST_PP_ITERATION_4 233\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 234 && BOOST_PP_ITERATION_FINISH_4 >= 234\r
+#        define BOOST_PP_ITERATION_4 234\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 235 && BOOST_PP_ITERATION_FINISH_4 >= 235\r
+#        define BOOST_PP_ITERATION_4 235\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 236 && BOOST_PP_ITERATION_FINISH_4 >= 236\r
+#        define BOOST_PP_ITERATION_4 236\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 237 && BOOST_PP_ITERATION_FINISH_4 >= 237\r
+#        define BOOST_PP_ITERATION_4 237\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 238 && BOOST_PP_ITERATION_FINISH_4 >= 238\r
+#        define BOOST_PP_ITERATION_4 238\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 239 && BOOST_PP_ITERATION_FINISH_4 >= 239\r
+#        define BOOST_PP_ITERATION_4 239\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 240 && BOOST_PP_ITERATION_FINISH_4 >= 240\r
+#        define BOOST_PP_ITERATION_4 240\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 241 && BOOST_PP_ITERATION_FINISH_4 >= 241\r
+#        define BOOST_PP_ITERATION_4 241\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 242 && BOOST_PP_ITERATION_FINISH_4 >= 242\r
+#        define BOOST_PP_ITERATION_4 242\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 243 && BOOST_PP_ITERATION_FINISH_4 >= 243\r
+#        define BOOST_PP_ITERATION_4 243\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 244 && BOOST_PP_ITERATION_FINISH_4 >= 244\r
+#        define BOOST_PP_ITERATION_4 244\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 245 && BOOST_PP_ITERATION_FINISH_4 >= 245\r
+#        define BOOST_PP_ITERATION_4 245\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 246 && BOOST_PP_ITERATION_FINISH_4 >= 246\r
+#        define BOOST_PP_ITERATION_4 246\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 247 && BOOST_PP_ITERATION_FINISH_4 >= 247\r
+#        define BOOST_PP_ITERATION_4 247\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 248 && BOOST_PP_ITERATION_FINISH_4 >= 248\r
+#        define BOOST_PP_ITERATION_4 248\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 249 && BOOST_PP_ITERATION_FINISH_4 >= 249\r
+#        define BOOST_PP_ITERATION_4 249\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 250 && BOOST_PP_ITERATION_FINISH_4 >= 250\r
+#        define BOOST_PP_ITERATION_4 250\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 251 && BOOST_PP_ITERATION_FINISH_4 >= 251\r
+#        define BOOST_PP_ITERATION_4 251\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 252 && BOOST_PP_ITERATION_FINISH_4 >= 252\r
+#        define BOOST_PP_ITERATION_4 252\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 253 && BOOST_PP_ITERATION_FINISH_4 >= 253\r
+#        define BOOST_PP_ITERATION_4 253\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 254 && BOOST_PP_ITERATION_FINISH_4 >= 254\r
+#        define BOOST_PP_ITERATION_4 254\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 255 && BOOST_PP_ITERATION_FINISH_4 >= 255\r
+#        define BOOST_PP_ITERATION_4 255\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_4 <= 256 && BOOST_PP_ITERATION_FINISH_4 >= 256\r
+#        define BOOST_PP_ITERATION_4 256\r
+#        include BOOST_PP_FILENAME_4\r
+#        undef BOOST_PP_ITERATION_4\r
+#    endif\r
+# endif\r
+#\r
+# undef BOOST_PP_ITERATION_DEPTH\r
+# define BOOST_PP_ITERATION_DEPTH() 3\r
+#\r
+# undef BOOST_PP_ITERATION_START_4\r
+# undef BOOST_PP_ITERATION_FINISH_4\r
+# undef BOOST_PP_FILENAME_4\r
+#\r
+# undef BOOST_PP_ITERATION_FLAGS_4\r
+# undef BOOST_PP_ITERATION_PARAMS_4\r
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 (file)
index 0000000..000ba0f
--- /dev/null
@@ -0,0 +1,1338 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# if defined(BOOST_PP_ITERATION_LIMITS)\r
+#    if !defined(BOOST_PP_FILENAME_5)\r
+#        error BOOST_PP_ERROR:  depth #5 filename is not defined\r
+#    endif\r
+#    define BOOST_PP_VALUE BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_ITERATION_LIMITS)\r
+#    include <boost/preprocessor/iteration/detail/bounds/lower5.hpp>\r
+#    define BOOST_PP_VALUE BOOST_PP_TUPLE_ELEM(2, 1, BOOST_PP_ITERATION_LIMITS)\r
+#    include <boost/preprocessor/iteration/detail/bounds/upper5.hpp>\r
+#    define BOOST_PP_ITERATION_FLAGS_5 0\r
+#    undef BOOST_PP_ITERATION_LIMITS\r
+# elif defined(BOOST_PP_ITERATION_PARAMS_5)\r
+#    define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(0, BOOST_PP_ITERATION_PARAMS_5)\r
+#    include <boost/preprocessor/iteration/detail/bounds/lower5.hpp>\r
+#    define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(1, BOOST_PP_ITERATION_PARAMS_5)\r
+#    include <boost/preprocessor/iteration/detail/bounds/upper5.hpp>\r
+#    define BOOST_PP_FILENAME_5 BOOST_PP_ARRAY_ELEM(2, BOOST_PP_ITERATION_PARAMS_5)\r
+#    if BOOST_PP_ARRAY_SIZE(BOOST_PP_ITERATION_PARAMS_5) >= 4\r
+#        define BOOST_PP_ITERATION_FLAGS_5 BOOST_PP_ARRAY_ELEM(3, BOOST_PP_ITERATION_PARAMS_5)\r
+#    else\r
+#        define BOOST_PP_ITERATION_FLAGS_5 0\r
+#    endif\r
+# else\r
+#    error BOOST_PP_ERROR:  depth #5 iteration boundaries or filename not defined\r
+# endif\r
+#\r
+# undef BOOST_PP_ITERATION_DEPTH\r
+# define BOOST_PP_ITERATION_DEPTH() 5\r
+#\r
+# if (BOOST_PP_ITERATION_START_5) > (BOOST_PP_ITERATION_FINISH_5)\r
+#    include <boost/preprocessor/iteration/detail/iter/reverse5.hpp>\r
+# else\r
+#    if BOOST_PP_ITERATION_START_5 <= 0 && BOOST_PP_ITERATION_FINISH_5 >= 0\r
+#        define BOOST_PP_ITERATION_5 0\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 1 && BOOST_PP_ITERATION_FINISH_5 >= 1\r
+#        define BOOST_PP_ITERATION_5 1\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 2 && BOOST_PP_ITERATION_FINISH_5 >= 2\r
+#        define BOOST_PP_ITERATION_5 2\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 3 && BOOST_PP_ITERATION_FINISH_5 >= 3\r
+#        define BOOST_PP_ITERATION_5 3\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 4 && BOOST_PP_ITERATION_FINISH_5 >= 4\r
+#        define BOOST_PP_ITERATION_5 4\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 5 && BOOST_PP_ITERATION_FINISH_5 >= 5\r
+#        define BOOST_PP_ITERATION_5 5\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 6 && BOOST_PP_ITERATION_FINISH_5 >= 6\r
+#        define BOOST_PP_ITERATION_5 6\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 7 && BOOST_PP_ITERATION_FINISH_5 >= 7\r
+#        define BOOST_PP_ITERATION_5 7\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 8 && BOOST_PP_ITERATION_FINISH_5 >= 8\r
+#        define BOOST_PP_ITERATION_5 8\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 9 && BOOST_PP_ITERATION_FINISH_5 >= 9\r
+#        define BOOST_PP_ITERATION_5 9\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 10 && BOOST_PP_ITERATION_FINISH_5 >= 10\r
+#        define BOOST_PP_ITERATION_5 10\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 11 && BOOST_PP_ITERATION_FINISH_5 >= 11\r
+#        define BOOST_PP_ITERATION_5 11\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 12 && BOOST_PP_ITERATION_FINISH_5 >= 12\r
+#        define BOOST_PP_ITERATION_5 12\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 13 && BOOST_PP_ITERATION_FINISH_5 >= 13\r
+#        define BOOST_PP_ITERATION_5 13\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 14 && BOOST_PP_ITERATION_FINISH_5 >= 14\r
+#        define BOOST_PP_ITERATION_5 14\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 15 && BOOST_PP_ITERATION_FINISH_5 >= 15\r
+#        define BOOST_PP_ITERATION_5 15\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 16 && BOOST_PP_ITERATION_FINISH_5 >= 16\r
+#        define BOOST_PP_ITERATION_5 16\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 17 && BOOST_PP_ITERATION_FINISH_5 >= 17\r
+#        define BOOST_PP_ITERATION_5 17\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 18 && BOOST_PP_ITERATION_FINISH_5 >= 18\r
+#        define BOOST_PP_ITERATION_5 18\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 19 && BOOST_PP_ITERATION_FINISH_5 >= 19\r
+#        define BOOST_PP_ITERATION_5 19\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 20 && BOOST_PP_ITERATION_FINISH_5 >= 20\r
+#        define BOOST_PP_ITERATION_5 20\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 21 && BOOST_PP_ITERATION_FINISH_5 >= 21\r
+#        define BOOST_PP_ITERATION_5 21\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 22 && BOOST_PP_ITERATION_FINISH_5 >= 22\r
+#        define BOOST_PP_ITERATION_5 22\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 23 && BOOST_PP_ITERATION_FINISH_5 >= 23\r
+#        define BOOST_PP_ITERATION_5 23\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 24 && BOOST_PP_ITERATION_FINISH_5 >= 24\r
+#        define BOOST_PP_ITERATION_5 24\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 25 && BOOST_PP_ITERATION_FINISH_5 >= 25\r
+#        define BOOST_PP_ITERATION_5 25\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 26 && BOOST_PP_ITERATION_FINISH_5 >= 26\r
+#        define BOOST_PP_ITERATION_5 26\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 27 && BOOST_PP_ITERATION_FINISH_5 >= 27\r
+#        define BOOST_PP_ITERATION_5 27\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 28 && BOOST_PP_ITERATION_FINISH_5 >= 28\r
+#        define BOOST_PP_ITERATION_5 28\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 29 && BOOST_PP_ITERATION_FINISH_5 >= 29\r
+#        define BOOST_PP_ITERATION_5 29\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 30 && BOOST_PP_ITERATION_FINISH_5 >= 30\r
+#        define BOOST_PP_ITERATION_5 30\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 31 && BOOST_PP_ITERATION_FINISH_5 >= 31\r
+#        define BOOST_PP_ITERATION_5 31\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 32 && BOOST_PP_ITERATION_FINISH_5 >= 32\r
+#        define BOOST_PP_ITERATION_5 32\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 33 && BOOST_PP_ITERATION_FINISH_5 >= 33\r
+#        define BOOST_PP_ITERATION_5 33\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 34 && BOOST_PP_ITERATION_FINISH_5 >= 34\r
+#        define BOOST_PP_ITERATION_5 34\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 35 && BOOST_PP_ITERATION_FINISH_5 >= 35\r
+#        define BOOST_PP_ITERATION_5 35\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 36 && BOOST_PP_ITERATION_FINISH_5 >= 36\r
+#        define BOOST_PP_ITERATION_5 36\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 37 && BOOST_PP_ITERATION_FINISH_5 >= 37\r
+#        define BOOST_PP_ITERATION_5 37\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 38 && BOOST_PP_ITERATION_FINISH_5 >= 38\r
+#        define BOOST_PP_ITERATION_5 38\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 39 && BOOST_PP_ITERATION_FINISH_5 >= 39\r
+#        define BOOST_PP_ITERATION_5 39\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 40 && BOOST_PP_ITERATION_FINISH_5 >= 40\r
+#        define BOOST_PP_ITERATION_5 40\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 41 && BOOST_PP_ITERATION_FINISH_5 >= 41\r
+#        define BOOST_PP_ITERATION_5 41\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 42 && BOOST_PP_ITERATION_FINISH_5 >= 42\r
+#        define BOOST_PP_ITERATION_5 42\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 43 && BOOST_PP_ITERATION_FINISH_5 >= 43\r
+#        define BOOST_PP_ITERATION_5 43\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 44 && BOOST_PP_ITERATION_FINISH_5 >= 44\r
+#        define BOOST_PP_ITERATION_5 44\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 45 && BOOST_PP_ITERATION_FINISH_5 >= 45\r
+#        define BOOST_PP_ITERATION_5 45\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 46 && BOOST_PP_ITERATION_FINISH_5 >= 46\r
+#        define BOOST_PP_ITERATION_5 46\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 47 && BOOST_PP_ITERATION_FINISH_5 >= 47\r
+#        define BOOST_PP_ITERATION_5 47\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 48 && BOOST_PP_ITERATION_FINISH_5 >= 48\r
+#        define BOOST_PP_ITERATION_5 48\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 49 && BOOST_PP_ITERATION_FINISH_5 >= 49\r
+#        define BOOST_PP_ITERATION_5 49\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 50 && BOOST_PP_ITERATION_FINISH_5 >= 50\r
+#        define BOOST_PP_ITERATION_5 50\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 51 && BOOST_PP_ITERATION_FINISH_5 >= 51\r
+#        define BOOST_PP_ITERATION_5 51\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 52 && BOOST_PP_ITERATION_FINISH_5 >= 52\r
+#        define BOOST_PP_ITERATION_5 52\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 53 && BOOST_PP_ITERATION_FINISH_5 >= 53\r
+#        define BOOST_PP_ITERATION_5 53\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 54 && BOOST_PP_ITERATION_FINISH_5 >= 54\r
+#        define BOOST_PP_ITERATION_5 54\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 55 && BOOST_PP_ITERATION_FINISH_5 >= 55\r
+#        define BOOST_PP_ITERATION_5 55\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 56 && BOOST_PP_ITERATION_FINISH_5 >= 56\r
+#        define BOOST_PP_ITERATION_5 56\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 57 && BOOST_PP_ITERATION_FINISH_5 >= 57\r
+#        define BOOST_PP_ITERATION_5 57\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 58 && BOOST_PP_ITERATION_FINISH_5 >= 58\r
+#        define BOOST_PP_ITERATION_5 58\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 59 && BOOST_PP_ITERATION_FINISH_5 >= 59\r
+#        define BOOST_PP_ITERATION_5 59\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 60 && BOOST_PP_ITERATION_FINISH_5 >= 60\r
+#        define BOOST_PP_ITERATION_5 60\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 61 && BOOST_PP_ITERATION_FINISH_5 >= 61\r
+#        define BOOST_PP_ITERATION_5 61\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 62 && BOOST_PP_ITERATION_FINISH_5 >= 62\r
+#        define BOOST_PP_ITERATION_5 62\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 63 && BOOST_PP_ITERATION_FINISH_5 >= 63\r
+#        define BOOST_PP_ITERATION_5 63\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 64 && BOOST_PP_ITERATION_FINISH_5 >= 64\r
+#        define BOOST_PP_ITERATION_5 64\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 65 && BOOST_PP_ITERATION_FINISH_5 >= 65\r
+#        define BOOST_PP_ITERATION_5 65\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 66 && BOOST_PP_ITERATION_FINISH_5 >= 66\r
+#        define BOOST_PP_ITERATION_5 66\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 67 && BOOST_PP_ITERATION_FINISH_5 >= 67\r
+#        define BOOST_PP_ITERATION_5 67\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 68 && BOOST_PP_ITERATION_FINISH_5 >= 68\r
+#        define BOOST_PP_ITERATION_5 68\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 69 && BOOST_PP_ITERATION_FINISH_5 >= 69\r
+#        define BOOST_PP_ITERATION_5 69\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 70 && BOOST_PP_ITERATION_FINISH_5 >= 70\r
+#        define BOOST_PP_ITERATION_5 70\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 71 && BOOST_PP_ITERATION_FINISH_5 >= 71\r
+#        define BOOST_PP_ITERATION_5 71\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 72 && BOOST_PP_ITERATION_FINISH_5 >= 72\r
+#        define BOOST_PP_ITERATION_5 72\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 73 && BOOST_PP_ITERATION_FINISH_5 >= 73\r
+#        define BOOST_PP_ITERATION_5 73\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 74 && BOOST_PP_ITERATION_FINISH_5 >= 74\r
+#        define BOOST_PP_ITERATION_5 74\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 75 && BOOST_PP_ITERATION_FINISH_5 >= 75\r
+#        define BOOST_PP_ITERATION_5 75\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 76 && BOOST_PP_ITERATION_FINISH_5 >= 76\r
+#        define BOOST_PP_ITERATION_5 76\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 77 && BOOST_PP_ITERATION_FINISH_5 >= 77\r
+#        define BOOST_PP_ITERATION_5 77\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 78 && BOOST_PP_ITERATION_FINISH_5 >= 78\r
+#        define BOOST_PP_ITERATION_5 78\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 79 && BOOST_PP_ITERATION_FINISH_5 >= 79\r
+#        define BOOST_PP_ITERATION_5 79\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 80 && BOOST_PP_ITERATION_FINISH_5 >= 80\r
+#        define BOOST_PP_ITERATION_5 80\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 81 && BOOST_PP_ITERATION_FINISH_5 >= 81\r
+#        define BOOST_PP_ITERATION_5 81\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 82 && BOOST_PP_ITERATION_FINISH_5 >= 82\r
+#        define BOOST_PP_ITERATION_5 82\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 83 && BOOST_PP_ITERATION_FINISH_5 >= 83\r
+#        define BOOST_PP_ITERATION_5 83\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 84 && BOOST_PP_ITERATION_FINISH_5 >= 84\r
+#        define BOOST_PP_ITERATION_5 84\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 85 && BOOST_PP_ITERATION_FINISH_5 >= 85\r
+#        define BOOST_PP_ITERATION_5 85\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 86 && BOOST_PP_ITERATION_FINISH_5 >= 86\r
+#        define BOOST_PP_ITERATION_5 86\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 87 && BOOST_PP_ITERATION_FINISH_5 >= 87\r
+#        define BOOST_PP_ITERATION_5 87\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 88 && BOOST_PP_ITERATION_FINISH_5 >= 88\r
+#        define BOOST_PP_ITERATION_5 88\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 89 && BOOST_PP_ITERATION_FINISH_5 >= 89\r
+#        define BOOST_PP_ITERATION_5 89\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 90 && BOOST_PP_ITERATION_FINISH_5 >= 90\r
+#        define BOOST_PP_ITERATION_5 90\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 91 && BOOST_PP_ITERATION_FINISH_5 >= 91\r
+#        define BOOST_PP_ITERATION_5 91\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 92 && BOOST_PP_ITERATION_FINISH_5 >= 92\r
+#        define BOOST_PP_ITERATION_5 92\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 93 && BOOST_PP_ITERATION_FINISH_5 >= 93\r
+#        define BOOST_PP_ITERATION_5 93\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 94 && BOOST_PP_ITERATION_FINISH_5 >= 94\r
+#        define BOOST_PP_ITERATION_5 94\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 95 && BOOST_PP_ITERATION_FINISH_5 >= 95\r
+#        define BOOST_PP_ITERATION_5 95\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 96 && BOOST_PP_ITERATION_FINISH_5 >= 96\r
+#        define BOOST_PP_ITERATION_5 96\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 97 && BOOST_PP_ITERATION_FINISH_5 >= 97\r
+#        define BOOST_PP_ITERATION_5 97\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 98 && BOOST_PP_ITERATION_FINISH_5 >= 98\r
+#        define BOOST_PP_ITERATION_5 98\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 99 && BOOST_PP_ITERATION_FINISH_5 >= 99\r
+#        define BOOST_PP_ITERATION_5 99\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 100 && BOOST_PP_ITERATION_FINISH_5 >= 100\r
+#        define BOOST_PP_ITERATION_5 100\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 101 && BOOST_PP_ITERATION_FINISH_5 >= 101\r
+#        define BOOST_PP_ITERATION_5 101\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 102 && BOOST_PP_ITERATION_FINISH_5 >= 102\r
+#        define BOOST_PP_ITERATION_5 102\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 103 && BOOST_PP_ITERATION_FINISH_5 >= 103\r
+#        define BOOST_PP_ITERATION_5 103\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 104 && BOOST_PP_ITERATION_FINISH_5 >= 104\r
+#        define BOOST_PP_ITERATION_5 104\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 105 && BOOST_PP_ITERATION_FINISH_5 >= 105\r
+#        define BOOST_PP_ITERATION_5 105\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 106 && BOOST_PP_ITERATION_FINISH_5 >= 106\r
+#        define BOOST_PP_ITERATION_5 106\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 107 && BOOST_PP_ITERATION_FINISH_5 >= 107\r
+#        define BOOST_PP_ITERATION_5 107\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 108 && BOOST_PP_ITERATION_FINISH_5 >= 108\r
+#        define BOOST_PP_ITERATION_5 108\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 109 && BOOST_PP_ITERATION_FINISH_5 >= 109\r
+#        define BOOST_PP_ITERATION_5 109\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 110 && BOOST_PP_ITERATION_FINISH_5 >= 110\r
+#        define BOOST_PP_ITERATION_5 110\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 111 && BOOST_PP_ITERATION_FINISH_5 >= 111\r
+#        define BOOST_PP_ITERATION_5 111\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 112 && BOOST_PP_ITERATION_FINISH_5 >= 112\r
+#        define BOOST_PP_ITERATION_5 112\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 113 && BOOST_PP_ITERATION_FINISH_5 >= 113\r
+#        define BOOST_PP_ITERATION_5 113\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 114 && BOOST_PP_ITERATION_FINISH_5 >= 114\r
+#        define BOOST_PP_ITERATION_5 114\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 115 && BOOST_PP_ITERATION_FINISH_5 >= 115\r
+#        define BOOST_PP_ITERATION_5 115\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 116 && BOOST_PP_ITERATION_FINISH_5 >= 116\r
+#        define BOOST_PP_ITERATION_5 116\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 117 && BOOST_PP_ITERATION_FINISH_5 >= 117\r
+#        define BOOST_PP_ITERATION_5 117\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 118 && BOOST_PP_ITERATION_FINISH_5 >= 118\r
+#        define BOOST_PP_ITERATION_5 118\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 119 && BOOST_PP_ITERATION_FINISH_5 >= 119\r
+#        define BOOST_PP_ITERATION_5 119\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 120 && BOOST_PP_ITERATION_FINISH_5 >= 120\r
+#        define BOOST_PP_ITERATION_5 120\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 121 && BOOST_PP_ITERATION_FINISH_5 >= 121\r
+#        define BOOST_PP_ITERATION_5 121\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 122 && BOOST_PP_ITERATION_FINISH_5 >= 122\r
+#        define BOOST_PP_ITERATION_5 122\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 123 && BOOST_PP_ITERATION_FINISH_5 >= 123\r
+#        define BOOST_PP_ITERATION_5 123\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 124 && BOOST_PP_ITERATION_FINISH_5 >= 124\r
+#        define BOOST_PP_ITERATION_5 124\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 125 && BOOST_PP_ITERATION_FINISH_5 >= 125\r
+#        define BOOST_PP_ITERATION_5 125\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 126 && BOOST_PP_ITERATION_FINISH_5 >= 126\r
+#        define BOOST_PP_ITERATION_5 126\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 127 && BOOST_PP_ITERATION_FINISH_5 >= 127\r
+#        define BOOST_PP_ITERATION_5 127\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 128 && BOOST_PP_ITERATION_FINISH_5 >= 128\r
+#        define BOOST_PP_ITERATION_5 128\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 129 && BOOST_PP_ITERATION_FINISH_5 >= 129\r
+#        define BOOST_PP_ITERATION_5 129\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 130 && BOOST_PP_ITERATION_FINISH_5 >= 130\r
+#        define BOOST_PP_ITERATION_5 130\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 131 && BOOST_PP_ITERATION_FINISH_5 >= 131\r
+#        define BOOST_PP_ITERATION_5 131\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 132 && BOOST_PP_ITERATION_FINISH_5 >= 132\r
+#        define BOOST_PP_ITERATION_5 132\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 133 && BOOST_PP_ITERATION_FINISH_5 >= 133\r
+#        define BOOST_PP_ITERATION_5 133\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 134 && BOOST_PP_ITERATION_FINISH_5 >= 134\r
+#        define BOOST_PP_ITERATION_5 134\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 135 && BOOST_PP_ITERATION_FINISH_5 >= 135\r
+#        define BOOST_PP_ITERATION_5 135\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 136 && BOOST_PP_ITERATION_FINISH_5 >= 136\r
+#        define BOOST_PP_ITERATION_5 136\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 137 && BOOST_PP_ITERATION_FINISH_5 >= 137\r
+#        define BOOST_PP_ITERATION_5 137\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 138 && BOOST_PP_ITERATION_FINISH_5 >= 138\r
+#        define BOOST_PP_ITERATION_5 138\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 139 && BOOST_PP_ITERATION_FINISH_5 >= 139\r
+#        define BOOST_PP_ITERATION_5 139\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 140 && BOOST_PP_ITERATION_FINISH_5 >= 140\r
+#        define BOOST_PP_ITERATION_5 140\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 141 && BOOST_PP_ITERATION_FINISH_5 >= 141\r
+#        define BOOST_PP_ITERATION_5 141\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 142 && BOOST_PP_ITERATION_FINISH_5 >= 142\r
+#        define BOOST_PP_ITERATION_5 142\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 143 && BOOST_PP_ITERATION_FINISH_5 >= 143\r
+#        define BOOST_PP_ITERATION_5 143\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 144 && BOOST_PP_ITERATION_FINISH_5 >= 144\r
+#        define BOOST_PP_ITERATION_5 144\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 145 && BOOST_PP_ITERATION_FINISH_5 >= 145\r
+#        define BOOST_PP_ITERATION_5 145\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 146 && BOOST_PP_ITERATION_FINISH_5 >= 146\r
+#        define BOOST_PP_ITERATION_5 146\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 147 && BOOST_PP_ITERATION_FINISH_5 >= 147\r
+#        define BOOST_PP_ITERATION_5 147\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 148 && BOOST_PP_ITERATION_FINISH_5 >= 148\r
+#        define BOOST_PP_ITERATION_5 148\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 149 && BOOST_PP_ITERATION_FINISH_5 >= 149\r
+#        define BOOST_PP_ITERATION_5 149\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 150 && BOOST_PP_ITERATION_FINISH_5 >= 150\r
+#        define BOOST_PP_ITERATION_5 150\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 151 && BOOST_PP_ITERATION_FINISH_5 >= 151\r
+#        define BOOST_PP_ITERATION_5 151\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 152 && BOOST_PP_ITERATION_FINISH_5 >= 152\r
+#        define BOOST_PP_ITERATION_5 152\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 153 && BOOST_PP_ITERATION_FINISH_5 >= 153\r
+#        define BOOST_PP_ITERATION_5 153\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 154 && BOOST_PP_ITERATION_FINISH_5 >= 154\r
+#        define BOOST_PP_ITERATION_5 154\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 155 && BOOST_PP_ITERATION_FINISH_5 >= 155\r
+#        define BOOST_PP_ITERATION_5 155\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 156 && BOOST_PP_ITERATION_FINISH_5 >= 156\r
+#        define BOOST_PP_ITERATION_5 156\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 157 && BOOST_PP_ITERATION_FINISH_5 >= 157\r
+#        define BOOST_PP_ITERATION_5 157\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 158 && BOOST_PP_ITERATION_FINISH_5 >= 158\r
+#        define BOOST_PP_ITERATION_5 158\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 159 && BOOST_PP_ITERATION_FINISH_5 >= 159\r
+#        define BOOST_PP_ITERATION_5 159\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 160 && BOOST_PP_ITERATION_FINISH_5 >= 160\r
+#        define BOOST_PP_ITERATION_5 160\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 161 && BOOST_PP_ITERATION_FINISH_5 >= 161\r
+#        define BOOST_PP_ITERATION_5 161\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 162 && BOOST_PP_ITERATION_FINISH_5 >= 162\r
+#        define BOOST_PP_ITERATION_5 162\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 163 && BOOST_PP_ITERATION_FINISH_5 >= 163\r
+#        define BOOST_PP_ITERATION_5 163\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 164 && BOOST_PP_ITERATION_FINISH_5 >= 164\r
+#        define BOOST_PP_ITERATION_5 164\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 165 && BOOST_PP_ITERATION_FINISH_5 >= 165\r
+#        define BOOST_PP_ITERATION_5 165\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 166 && BOOST_PP_ITERATION_FINISH_5 >= 166\r
+#        define BOOST_PP_ITERATION_5 166\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 167 && BOOST_PP_ITERATION_FINISH_5 >= 167\r
+#        define BOOST_PP_ITERATION_5 167\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 168 && BOOST_PP_ITERATION_FINISH_5 >= 168\r
+#        define BOOST_PP_ITERATION_5 168\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 169 && BOOST_PP_ITERATION_FINISH_5 >= 169\r
+#        define BOOST_PP_ITERATION_5 169\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 170 && BOOST_PP_ITERATION_FINISH_5 >= 170\r
+#        define BOOST_PP_ITERATION_5 170\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 171 && BOOST_PP_ITERATION_FINISH_5 >= 171\r
+#        define BOOST_PP_ITERATION_5 171\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 172 && BOOST_PP_ITERATION_FINISH_5 >= 172\r
+#        define BOOST_PP_ITERATION_5 172\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 173 && BOOST_PP_ITERATION_FINISH_5 >= 173\r
+#        define BOOST_PP_ITERATION_5 173\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 174 && BOOST_PP_ITERATION_FINISH_5 >= 174\r
+#        define BOOST_PP_ITERATION_5 174\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 175 && BOOST_PP_ITERATION_FINISH_5 >= 175\r
+#        define BOOST_PP_ITERATION_5 175\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 176 && BOOST_PP_ITERATION_FINISH_5 >= 176\r
+#        define BOOST_PP_ITERATION_5 176\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 177 && BOOST_PP_ITERATION_FINISH_5 >= 177\r
+#        define BOOST_PP_ITERATION_5 177\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 178 && BOOST_PP_ITERATION_FINISH_5 >= 178\r
+#        define BOOST_PP_ITERATION_5 178\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 179 && BOOST_PP_ITERATION_FINISH_5 >= 179\r
+#        define BOOST_PP_ITERATION_5 179\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 180 && BOOST_PP_ITERATION_FINISH_5 >= 180\r
+#        define BOOST_PP_ITERATION_5 180\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 181 && BOOST_PP_ITERATION_FINISH_5 >= 181\r
+#        define BOOST_PP_ITERATION_5 181\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 182 && BOOST_PP_ITERATION_FINISH_5 >= 182\r
+#        define BOOST_PP_ITERATION_5 182\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 183 && BOOST_PP_ITERATION_FINISH_5 >= 183\r
+#        define BOOST_PP_ITERATION_5 183\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 184 && BOOST_PP_ITERATION_FINISH_5 >= 184\r
+#        define BOOST_PP_ITERATION_5 184\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 185 && BOOST_PP_ITERATION_FINISH_5 >= 185\r
+#        define BOOST_PP_ITERATION_5 185\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 186 && BOOST_PP_ITERATION_FINISH_5 >= 186\r
+#        define BOOST_PP_ITERATION_5 186\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 187 && BOOST_PP_ITERATION_FINISH_5 >= 187\r
+#        define BOOST_PP_ITERATION_5 187\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 188 && BOOST_PP_ITERATION_FINISH_5 >= 188\r
+#        define BOOST_PP_ITERATION_5 188\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 189 && BOOST_PP_ITERATION_FINISH_5 >= 189\r
+#        define BOOST_PP_ITERATION_5 189\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 190 && BOOST_PP_ITERATION_FINISH_5 >= 190\r
+#        define BOOST_PP_ITERATION_5 190\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 191 && BOOST_PP_ITERATION_FINISH_5 >= 191\r
+#        define BOOST_PP_ITERATION_5 191\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 192 && BOOST_PP_ITERATION_FINISH_5 >= 192\r
+#        define BOOST_PP_ITERATION_5 192\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 193 && BOOST_PP_ITERATION_FINISH_5 >= 193\r
+#        define BOOST_PP_ITERATION_5 193\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 194 && BOOST_PP_ITERATION_FINISH_5 >= 194\r
+#        define BOOST_PP_ITERATION_5 194\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 195 && BOOST_PP_ITERATION_FINISH_5 >= 195\r
+#        define BOOST_PP_ITERATION_5 195\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 196 && BOOST_PP_ITERATION_FINISH_5 >= 196\r
+#        define BOOST_PP_ITERATION_5 196\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 197 && BOOST_PP_ITERATION_FINISH_5 >= 197\r
+#        define BOOST_PP_ITERATION_5 197\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 198 && BOOST_PP_ITERATION_FINISH_5 >= 198\r
+#        define BOOST_PP_ITERATION_5 198\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 199 && BOOST_PP_ITERATION_FINISH_5 >= 199\r
+#        define BOOST_PP_ITERATION_5 199\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 200 && BOOST_PP_ITERATION_FINISH_5 >= 200\r
+#        define BOOST_PP_ITERATION_5 200\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 201 && BOOST_PP_ITERATION_FINISH_5 >= 201\r
+#        define BOOST_PP_ITERATION_5 201\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 202 && BOOST_PP_ITERATION_FINISH_5 >= 202\r
+#        define BOOST_PP_ITERATION_5 202\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 203 && BOOST_PP_ITERATION_FINISH_5 >= 203\r
+#        define BOOST_PP_ITERATION_5 203\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 204 && BOOST_PP_ITERATION_FINISH_5 >= 204\r
+#        define BOOST_PP_ITERATION_5 204\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 205 && BOOST_PP_ITERATION_FINISH_5 >= 205\r
+#        define BOOST_PP_ITERATION_5 205\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 206 && BOOST_PP_ITERATION_FINISH_5 >= 206\r
+#        define BOOST_PP_ITERATION_5 206\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 207 && BOOST_PP_ITERATION_FINISH_5 >= 207\r
+#        define BOOST_PP_ITERATION_5 207\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 208 && BOOST_PP_ITERATION_FINISH_5 >= 208\r
+#        define BOOST_PP_ITERATION_5 208\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 209 && BOOST_PP_ITERATION_FINISH_5 >= 209\r
+#        define BOOST_PP_ITERATION_5 209\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 210 && BOOST_PP_ITERATION_FINISH_5 >= 210\r
+#        define BOOST_PP_ITERATION_5 210\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 211 && BOOST_PP_ITERATION_FINISH_5 >= 211\r
+#        define BOOST_PP_ITERATION_5 211\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 212 && BOOST_PP_ITERATION_FINISH_5 >= 212\r
+#        define BOOST_PP_ITERATION_5 212\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 213 && BOOST_PP_ITERATION_FINISH_5 >= 213\r
+#        define BOOST_PP_ITERATION_5 213\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 214 && BOOST_PP_ITERATION_FINISH_5 >= 214\r
+#        define BOOST_PP_ITERATION_5 214\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 215 && BOOST_PP_ITERATION_FINISH_5 >= 215\r
+#        define BOOST_PP_ITERATION_5 215\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 216 && BOOST_PP_ITERATION_FINISH_5 >= 216\r
+#        define BOOST_PP_ITERATION_5 216\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 217 && BOOST_PP_ITERATION_FINISH_5 >= 217\r
+#        define BOOST_PP_ITERATION_5 217\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 218 && BOOST_PP_ITERATION_FINISH_5 >= 218\r
+#        define BOOST_PP_ITERATION_5 218\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 219 && BOOST_PP_ITERATION_FINISH_5 >= 219\r
+#        define BOOST_PP_ITERATION_5 219\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 220 && BOOST_PP_ITERATION_FINISH_5 >= 220\r
+#        define BOOST_PP_ITERATION_5 220\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 221 && BOOST_PP_ITERATION_FINISH_5 >= 221\r
+#        define BOOST_PP_ITERATION_5 221\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 222 && BOOST_PP_ITERATION_FINISH_5 >= 222\r
+#        define BOOST_PP_ITERATION_5 222\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 223 && BOOST_PP_ITERATION_FINISH_5 >= 223\r
+#        define BOOST_PP_ITERATION_5 223\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 224 && BOOST_PP_ITERATION_FINISH_5 >= 224\r
+#        define BOOST_PP_ITERATION_5 224\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 225 && BOOST_PP_ITERATION_FINISH_5 >= 225\r
+#        define BOOST_PP_ITERATION_5 225\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 226 && BOOST_PP_ITERATION_FINISH_5 >= 226\r
+#        define BOOST_PP_ITERATION_5 226\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 227 && BOOST_PP_ITERATION_FINISH_5 >= 227\r
+#        define BOOST_PP_ITERATION_5 227\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 228 && BOOST_PP_ITERATION_FINISH_5 >= 228\r
+#        define BOOST_PP_ITERATION_5 228\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 229 && BOOST_PP_ITERATION_FINISH_5 >= 229\r
+#        define BOOST_PP_ITERATION_5 229\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 230 && BOOST_PP_ITERATION_FINISH_5 >= 230\r
+#        define BOOST_PP_ITERATION_5 230\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 231 && BOOST_PP_ITERATION_FINISH_5 >= 231\r
+#        define BOOST_PP_ITERATION_5 231\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 232 && BOOST_PP_ITERATION_FINISH_5 >= 232\r
+#        define BOOST_PP_ITERATION_5 232\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 233 && BOOST_PP_ITERATION_FINISH_5 >= 233\r
+#        define BOOST_PP_ITERATION_5 233\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 234 && BOOST_PP_ITERATION_FINISH_5 >= 234\r
+#        define BOOST_PP_ITERATION_5 234\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 235 && BOOST_PP_ITERATION_FINISH_5 >= 235\r
+#        define BOOST_PP_ITERATION_5 235\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 236 && BOOST_PP_ITERATION_FINISH_5 >= 236\r
+#        define BOOST_PP_ITERATION_5 236\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 237 && BOOST_PP_ITERATION_FINISH_5 >= 237\r
+#        define BOOST_PP_ITERATION_5 237\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 238 && BOOST_PP_ITERATION_FINISH_5 >= 238\r
+#        define BOOST_PP_ITERATION_5 238\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 239 && BOOST_PP_ITERATION_FINISH_5 >= 239\r
+#        define BOOST_PP_ITERATION_5 239\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 240 && BOOST_PP_ITERATION_FINISH_5 >= 240\r
+#        define BOOST_PP_ITERATION_5 240\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 241 && BOOST_PP_ITERATION_FINISH_5 >= 241\r
+#        define BOOST_PP_ITERATION_5 241\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 242 && BOOST_PP_ITERATION_FINISH_5 >= 242\r
+#        define BOOST_PP_ITERATION_5 242\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 243 && BOOST_PP_ITERATION_FINISH_5 >= 243\r
+#        define BOOST_PP_ITERATION_5 243\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 244 && BOOST_PP_ITERATION_FINISH_5 >= 244\r
+#        define BOOST_PP_ITERATION_5 244\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 245 && BOOST_PP_ITERATION_FINISH_5 >= 245\r
+#        define BOOST_PP_ITERATION_5 245\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 246 && BOOST_PP_ITERATION_FINISH_5 >= 246\r
+#        define BOOST_PP_ITERATION_5 246\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 247 && BOOST_PP_ITERATION_FINISH_5 >= 247\r
+#        define BOOST_PP_ITERATION_5 247\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 248 && BOOST_PP_ITERATION_FINISH_5 >= 248\r
+#        define BOOST_PP_ITERATION_5 248\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 249 && BOOST_PP_ITERATION_FINISH_5 >= 249\r
+#        define BOOST_PP_ITERATION_5 249\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 250 && BOOST_PP_ITERATION_FINISH_5 >= 250\r
+#        define BOOST_PP_ITERATION_5 250\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 251 && BOOST_PP_ITERATION_FINISH_5 >= 251\r
+#        define BOOST_PP_ITERATION_5 251\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 252 && BOOST_PP_ITERATION_FINISH_5 >= 252\r
+#        define BOOST_PP_ITERATION_5 252\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 253 && BOOST_PP_ITERATION_FINISH_5 >= 253\r
+#        define BOOST_PP_ITERATION_5 253\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 254 && BOOST_PP_ITERATION_FINISH_5 >= 254\r
+#        define BOOST_PP_ITERATION_5 254\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 255 && BOOST_PP_ITERATION_FINISH_5 >= 255\r
+#        define BOOST_PP_ITERATION_5 255\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+#    if BOOST_PP_ITERATION_START_5 <= 256 && BOOST_PP_ITERATION_FINISH_5 >= 256\r
+#        define BOOST_PP_ITERATION_5 256\r
+#        include BOOST_PP_FILENAME_5\r
+#        undef BOOST_PP_ITERATION_5\r
+#    endif\r
+# endif\r
+#\r
+# undef BOOST_PP_ITERATION_DEPTH\r
+# define BOOST_PP_ITERATION_DEPTH() 4\r
+#\r
+# undef BOOST_PP_ITERATION_START_5\r
+# undef BOOST_PP_ITERATION_FINISH_5\r
+# undef BOOST_PP_FILENAME_5\r
+#\r
+# undef BOOST_PP_ITERATION_FLAGS_5\r
+# undef BOOST_PP_ITERATION_PARAMS_5\r
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 (file)
index 0000000..558e856
--- /dev/null
@@ -0,0 +1,1296 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 256 && BOOST_PP_ITERATION_START_1 >= 256\r
+#    define BOOST_PP_ITERATION_1 256\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 255 && BOOST_PP_ITERATION_START_1 >= 255\r
+#    define BOOST_PP_ITERATION_1 255\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 254 && BOOST_PP_ITERATION_START_1 >= 254\r
+#    define BOOST_PP_ITERATION_1 254\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 253 && BOOST_PP_ITERATION_START_1 >= 253\r
+#    define BOOST_PP_ITERATION_1 253\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 252 && BOOST_PP_ITERATION_START_1 >= 252\r
+#    define BOOST_PP_ITERATION_1 252\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 251 && BOOST_PP_ITERATION_START_1 >= 251\r
+#    define BOOST_PP_ITERATION_1 251\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 250 && BOOST_PP_ITERATION_START_1 >= 250\r
+#    define BOOST_PP_ITERATION_1 250\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 249 && BOOST_PP_ITERATION_START_1 >= 249\r
+#    define BOOST_PP_ITERATION_1 249\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 248 && BOOST_PP_ITERATION_START_1 >= 248\r
+#    define BOOST_PP_ITERATION_1 248\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 247 && BOOST_PP_ITERATION_START_1 >= 247\r
+#    define BOOST_PP_ITERATION_1 247\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 246 && BOOST_PP_ITERATION_START_1 >= 246\r
+#    define BOOST_PP_ITERATION_1 246\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 245 && BOOST_PP_ITERATION_START_1 >= 245\r
+#    define BOOST_PP_ITERATION_1 245\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 244 && BOOST_PP_ITERATION_START_1 >= 244\r
+#    define BOOST_PP_ITERATION_1 244\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 243 && BOOST_PP_ITERATION_START_1 >= 243\r
+#    define BOOST_PP_ITERATION_1 243\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 242 && BOOST_PP_ITERATION_START_1 >= 242\r
+#    define BOOST_PP_ITERATION_1 242\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 241 && BOOST_PP_ITERATION_START_1 >= 241\r
+#    define BOOST_PP_ITERATION_1 241\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 240 && BOOST_PP_ITERATION_START_1 >= 240\r
+#    define BOOST_PP_ITERATION_1 240\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 239 && BOOST_PP_ITERATION_START_1 >= 239\r
+#    define BOOST_PP_ITERATION_1 239\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 238 && BOOST_PP_ITERATION_START_1 >= 238\r
+#    define BOOST_PP_ITERATION_1 238\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 237 && BOOST_PP_ITERATION_START_1 >= 237\r
+#    define BOOST_PP_ITERATION_1 237\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 236 && BOOST_PP_ITERATION_START_1 >= 236\r
+#    define BOOST_PP_ITERATION_1 236\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 235 && BOOST_PP_ITERATION_START_1 >= 235\r
+#    define BOOST_PP_ITERATION_1 235\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 234 && BOOST_PP_ITERATION_START_1 >= 234\r
+#    define BOOST_PP_ITERATION_1 234\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 233 && BOOST_PP_ITERATION_START_1 >= 233\r
+#    define BOOST_PP_ITERATION_1 233\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 232 && BOOST_PP_ITERATION_START_1 >= 232\r
+#    define BOOST_PP_ITERATION_1 232\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 231 && BOOST_PP_ITERATION_START_1 >= 231\r
+#    define BOOST_PP_ITERATION_1 231\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 230 && BOOST_PP_ITERATION_START_1 >= 230\r
+#    define BOOST_PP_ITERATION_1 230\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 229 && BOOST_PP_ITERATION_START_1 >= 229\r
+#    define BOOST_PP_ITERATION_1 229\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 228 && BOOST_PP_ITERATION_START_1 >= 228\r
+#    define BOOST_PP_ITERATION_1 228\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 227 && BOOST_PP_ITERATION_START_1 >= 227\r
+#    define BOOST_PP_ITERATION_1 227\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 226 && BOOST_PP_ITERATION_START_1 >= 226\r
+#    define BOOST_PP_ITERATION_1 226\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 225 && BOOST_PP_ITERATION_START_1 >= 225\r
+#    define BOOST_PP_ITERATION_1 225\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 224 && BOOST_PP_ITERATION_START_1 >= 224\r
+#    define BOOST_PP_ITERATION_1 224\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 223 && BOOST_PP_ITERATION_START_1 >= 223\r
+#    define BOOST_PP_ITERATION_1 223\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 222 && BOOST_PP_ITERATION_START_1 >= 222\r
+#    define BOOST_PP_ITERATION_1 222\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 221 && BOOST_PP_ITERATION_START_1 >= 221\r
+#    define BOOST_PP_ITERATION_1 221\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 220 && BOOST_PP_ITERATION_START_1 >= 220\r
+#    define BOOST_PP_ITERATION_1 220\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 219 && BOOST_PP_ITERATION_START_1 >= 219\r
+#    define BOOST_PP_ITERATION_1 219\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 218 && BOOST_PP_ITERATION_START_1 >= 218\r
+#    define BOOST_PP_ITERATION_1 218\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 217 && BOOST_PP_ITERATION_START_1 >= 217\r
+#    define BOOST_PP_ITERATION_1 217\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 216 && BOOST_PP_ITERATION_START_1 >= 216\r
+#    define BOOST_PP_ITERATION_1 216\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 215 && BOOST_PP_ITERATION_START_1 >= 215\r
+#    define BOOST_PP_ITERATION_1 215\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 214 && BOOST_PP_ITERATION_START_1 >= 214\r
+#    define BOOST_PP_ITERATION_1 214\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 213 && BOOST_PP_ITERATION_START_1 >= 213\r
+#    define BOOST_PP_ITERATION_1 213\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 212 && BOOST_PP_ITERATION_START_1 >= 212\r
+#    define BOOST_PP_ITERATION_1 212\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 211 && BOOST_PP_ITERATION_START_1 >= 211\r
+#    define BOOST_PP_ITERATION_1 211\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 210 && BOOST_PP_ITERATION_START_1 >= 210\r
+#    define BOOST_PP_ITERATION_1 210\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 209 && BOOST_PP_ITERATION_START_1 >= 209\r
+#    define BOOST_PP_ITERATION_1 209\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 208 && BOOST_PP_ITERATION_START_1 >= 208\r
+#    define BOOST_PP_ITERATION_1 208\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 207 && BOOST_PP_ITERATION_START_1 >= 207\r
+#    define BOOST_PP_ITERATION_1 207\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 206 && BOOST_PP_ITERATION_START_1 >= 206\r
+#    define BOOST_PP_ITERATION_1 206\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 205 && BOOST_PP_ITERATION_START_1 >= 205\r
+#    define BOOST_PP_ITERATION_1 205\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 204 && BOOST_PP_ITERATION_START_1 >= 204\r
+#    define BOOST_PP_ITERATION_1 204\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 203 && BOOST_PP_ITERATION_START_1 >= 203\r
+#    define BOOST_PP_ITERATION_1 203\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 202 && BOOST_PP_ITERATION_START_1 >= 202\r
+#    define BOOST_PP_ITERATION_1 202\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 201 && BOOST_PP_ITERATION_START_1 >= 201\r
+#    define BOOST_PP_ITERATION_1 201\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 200 && BOOST_PP_ITERATION_START_1 >= 200\r
+#    define BOOST_PP_ITERATION_1 200\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 199 && BOOST_PP_ITERATION_START_1 >= 199\r
+#    define BOOST_PP_ITERATION_1 199\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 198 && BOOST_PP_ITERATION_START_1 >= 198\r
+#    define BOOST_PP_ITERATION_1 198\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 197 && BOOST_PP_ITERATION_START_1 >= 197\r
+#    define BOOST_PP_ITERATION_1 197\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 196 && BOOST_PP_ITERATION_START_1 >= 196\r
+#    define BOOST_PP_ITERATION_1 196\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 195 && BOOST_PP_ITERATION_START_1 >= 195\r
+#    define BOOST_PP_ITERATION_1 195\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 194 && BOOST_PP_ITERATION_START_1 >= 194\r
+#    define BOOST_PP_ITERATION_1 194\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 193 && BOOST_PP_ITERATION_START_1 >= 193\r
+#    define BOOST_PP_ITERATION_1 193\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 192 && BOOST_PP_ITERATION_START_1 >= 192\r
+#    define BOOST_PP_ITERATION_1 192\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 191 && BOOST_PP_ITERATION_START_1 >= 191\r
+#    define BOOST_PP_ITERATION_1 191\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 190 && BOOST_PP_ITERATION_START_1 >= 190\r
+#    define BOOST_PP_ITERATION_1 190\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 189 && BOOST_PP_ITERATION_START_1 >= 189\r
+#    define BOOST_PP_ITERATION_1 189\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 188 && BOOST_PP_ITERATION_START_1 >= 188\r
+#    define BOOST_PP_ITERATION_1 188\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 187 && BOOST_PP_ITERATION_START_1 >= 187\r
+#    define BOOST_PP_ITERATION_1 187\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 186 && BOOST_PP_ITERATION_START_1 >= 186\r
+#    define BOOST_PP_ITERATION_1 186\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 185 && BOOST_PP_ITERATION_START_1 >= 185\r
+#    define BOOST_PP_ITERATION_1 185\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 184 && BOOST_PP_ITERATION_START_1 >= 184\r
+#    define BOOST_PP_ITERATION_1 184\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 183 && BOOST_PP_ITERATION_START_1 >= 183\r
+#    define BOOST_PP_ITERATION_1 183\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 182 && BOOST_PP_ITERATION_START_1 >= 182\r
+#    define BOOST_PP_ITERATION_1 182\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 181 && BOOST_PP_ITERATION_START_1 >= 181\r
+#    define BOOST_PP_ITERATION_1 181\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 180 && BOOST_PP_ITERATION_START_1 >= 180\r
+#    define BOOST_PP_ITERATION_1 180\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 179 && BOOST_PP_ITERATION_START_1 >= 179\r
+#    define BOOST_PP_ITERATION_1 179\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 178 && BOOST_PP_ITERATION_START_1 >= 178\r
+#    define BOOST_PP_ITERATION_1 178\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 177 && BOOST_PP_ITERATION_START_1 >= 177\r
+#    define BOOST_PP_ITERATION_1 177\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 176 && BOOST_PP_ITERATION_START_1 >= 176\r
+#    define BOOST_PP_ITERATION_1 176\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 175 && BOOST_PP_ITERATION_START_1 >= 175\r
+#    define BOOST_PP_ITERATION_1 175\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 174 && BOOST_PP_ITERATION_START_1 >= 174\r
+#    define BOOST_PP_ITERATION_1 174\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 173 && BOOST_PP_ITERATION_START_1 >= 173\r
+#    define BOOST_PP_ITERATION_1 173\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 172 && BOOST_PP_ITERATION_START_1 >= 172\r
+#    define BOOST_PP_ITERATION_1 172\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 171 && BOOST_PP_ITERATION_START_1 >= 171\r
+#    define BOOST_PP_ITERATION_1 171\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 170 && BOOST_PP_ITERATION_START_1 >= 170\r
+#    define BOOST_PP_ITERATION_1 170\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 169 && BOOST_PP_ITERATION_START_1 >= 169\r
+#    define BOOST_PP_ITERATION_1 169\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 168 && BOOST_PP_ITERATION_START_1 >= 168\r
+#    define BOOST_PP_ITERATION_1 168\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 167 && BOOST_PP_ITERATION_START_1 >= 167\r
+#    define BOOST_PP_ITERATION_1 167\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 166 && BOOST_PP_ITERATION_START_1 >= 166\r
+#    define BOOST_PP_ITERATION_1 166\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 165 && BOOST_PP_ITERATION_START_1 >= 165\r
+#    define BOOST_PP_ITERATION_1 165\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 164 && BOOST_PP_ITERATION_START_1 >= 164\r
+#    define BOOST_PP_ITERATION_1 164\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 163 && BOOST_PP_ITERATION_START_1 >= 163\r
+#    define BOOST_PP_ITERATION_1 163\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 162 && BOOST_PP_ITERATION_START_1 >= 162\r
+#    define BOOST_PP_ITERATION_1 162\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 161 && BOOST_PP_ITERATION_START_1 >= 161\r
+#    define BOOST_PP_ITERATION_1 161\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 160 && BOOST_PP_ITERATION_START_1 >= 160\r
+#    define BOOST_PP_ITERATION_1 160\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 159 && BOOST_PP_ITERATION_START_1 >= 159\r
+#    define BOOST_PP_ITERATION_1 159\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 158 && BOOST_PP_ITERATION_START_1 >= 158\r
+#    define BOOST_PP_ITERATION_1 158\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 157 && BOOST_PP_ITERATION_START_1 >= 157\r
+#    define BOOST_PP_ITERATION_1 157\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 156 && BOOST_PP_ITERATION_START_1 >= 156\r
+#    define BOOST_PP_ITERATION_1 156\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 155 && BOOST_PP_ITERATION_START_1 >= 155\r
+#    define BOOST_PP_ITERATION_1 155\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 154 && BOOST_PP_ITERATION_START_1 >= 154\r
+#    define BOOST_PP_ITERATION_1 154\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 153 && BOOST_PP_ITERATION_START_1 >= 153\r
+#    define BOOST_PP_ITERATION_1 153\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 152 && BOOST_PP_ITERATION_START_1 >= 152\r
+#    define BOOST_PP_ITERATION_1 152\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 151 && BOOST_PP_ITERATION_START_1 >= 151\r
+#    define BOOST_PP_ITERATION_1 151\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 150 && BOOST_PP_ITERATION_START_1 >= 150\r
+#    define BOOST_PP_ITERATION_1 150\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 149 && BOOST_PP_ITERATION_START_1 >= 149\r
+#    define BOOST_PP_ITERATION_1 149\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 148 && BOOST_PP_ITERATION_START_1 >= 148\r
+#    define BOOST_PP_ITERATION_1 148\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 147 && BOOST_PP_ITERATION_START_1 >= 147\r
+#    define BOOST_PP_ITERATION_1 147\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 146 && BOOST_PP_ITERATION_START_1 >= 146\r
+#    define BOOST_PP_ITERATION_1 146\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 145 && BOOST_PP_ITERATION_START_1 >= 145\r
+#    define BOOST_PP_ITERATION_1 145\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 144 && BOOST_PP_ITERATION_START_1 >= 144\r
+#    define BOOST_PP_ITERATION_1 144\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 143 && BOOST_PP_ITERATION_START_1 >= 143\r
+#    define BOOST_PP_ITERATION_1 143\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 142 && BOOST_PP_ITERATION_START_1 >= 142\r
+#    define BOOST_PP_ITERATION_1 142\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 141 && BOOST_PP_ITERATION_START_1 >= 141\r
+#    define BOOST_PP_ITERATION_1 141\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 140 && BOOST_PP_ITERATION_START_1 >= 140\r
+#    define BOOST_PP_ITERATION_1 140\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 139 && BOOST_PP_ITERATION_START_1 >= 139\r
+#    define BOOST_PP_ITERATION_1 139\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 138 && BOOST_PP_ITERATION_START_1 >= 138\r
+#    define BOOST_PP_ITERATION_1 138\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 137 && BOOST_PP_ITERATION_START_1 >= 137\r
+#    define BOOST_PP_ITERATION_1 137\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 136 && BOOST_PP_ITERATION_START_1 >= 136\r
+#    define BOOST_PP_ITERATION_1 136\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 135 && BOOST_PP_ITERATION_START_1 >= 135\r
+#    define BOOST_PP_ITERATION_1 135\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 134 && BOOST_PP_ITERATION_START_1 >= 134\r
+#    define BOOST_PP_ITERATION_1 134\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 133 && BOOST_PP_ITERATION_START_1 >= 133\r
+#    define BOOST_PP_ITERATION_1 133\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 132 && BOOST_PP_ITERATION_START_1 >= 132\r
+#    define BOOST_PP_ITERATION_1 132\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 131 && BOOST_PP_ITERATION_START_1 >= 131\r
+#    define BOOST_PP_ITERATION_1 131\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 130 && BOOST_PP_ITERATION_START_1 >= 130\r
+#    define BOOST_PP_ITERATION_1 130\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 129 && BOOST_PP_ITERATION_START_1 >= 129\r
+#    define BOOST_PP_ITERATION_1 129\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 128 && BOOST_PP_ITERATION_START_1 >= 128\r
+#    define BOOST_PP_ITERATION_1 128\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 127 && BOOST_PP_ITERATION_START_1 >= 127\r
+#    define BOOST_PP_ITERATION_1 127\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 126 && BOOST_PP_ITERATION_START_1 >= 126\r
+#    define BOOST_PP_ITERATION_1 126\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 125 && BOOST_PP_ITERATION_START_1 >= 125\r
+#    define BOOST_PP_ITERATION_1 125\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 124 && BOOST_PP_ITERATION_START_1 >= 124\r
+#    define BOOST_PP_ITERATION_1 124\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 123 && BOOST_PP_ITERATION_START_1 >= 123\r
+#    define BOOST_PP_ITERATION_1 123\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 122 && BOOST_PP_ITERATION_START_1 >= 122\r
+#    define BOOST_PP_ITERATION_1 122\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 121 && BOOST_PP_ITERATION_START_1 >= 121\r
+#    define BOOST_PP_ITERATION_1 121\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 120 && BOOST_PP_ITERATION_START_1 >= 120\r
+#    define BOOST_PP_ITERATION_1 120\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 119 && BOOST_PP_ITERATION_START_1 >= 119\r
+#    define BOOST_PP_ITERATION_1 119\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 118 && BOOST_PP_ITERATION_START_1 >= 118\r
+#    define BOOST_PP_ITERATION_1 118\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 117 && BOOST_PP_ITERATION_START_1 >= 117\r
+#    define BOOST_PP_ITERATION_1 117\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 116 && BOOST_PP_ITERATION_START_1 >= 116\r
+#    define BOOST_PP_ITERATION_1 116\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 115 && BOOST_PP_ITERATION_START_1 >= 115\r
+#    define BOOST_PP_ITERATION_1 115\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 114 && BOOST_PP_ITERATION_START_1 >= 114\r
+#    define BOOST_PP_ITERATION_1 114\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 113 && BOOST_PP_ITERATION_START_1 >= 113\r
+#    define BOOST_PP_ITERATION_1 113\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 112 && BOOST_PP_ITERATION_START_1 >= 112\r
+#    define BOOST_PP_ITERATION_1 112\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 111 && BOOST_PP_ITERATION_START_1 >= 111\r
+#    define BOOST_PP_ITERATION_1 111\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 110 && BOOST_PP_ITERATION_START_1 >= 110\r
+#    define BOOST_PP_ITERATION_1 110\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 109 && BOOST_PP_ITERATION_START_1 >= 109\r
+#    define BOOST_PP_ITERATION_1 109\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 108 && BOOST_PP_ITERATION_START_1 >= 108\r
+#    define BOOST_PP_ITERATION_1 108\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 107 && BOOST_PP_ITERATION_START_1 >= 107\r
+#    define BOOST_PP_ITERATION_1 107\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 106 && BOOST_PP_ITERATION_START_1 >= 106\r
+#    define BOOST_PP_ITERATION_1 106\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 105 && BOOST_PP_ITERATION_START_1 >= 105\r
+#    define BOOST_PP_ITERATION_1 105\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 104 && BOOST_PP_ITERATION_START_1 >= 104\r
+#    define BOOST_PP_ITERATION_1 104\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 103 && BOOST_PP_ITERATION_START_1 >= 103\r
+#    define BOOST_PP_ITERATION_1 103\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 102 && BOOST_PP_ITERATION_START_1 >= 102\r
+#    define BOOST_PP_ITERATION_1 102\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 101 && BOOST_PP_ITERATION_START_1 >= 101\r
+#    define BOOST_PP_ITERATION_1 101\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 100 && BOOST_PP_ITERATION_START_1 >= 100\r
+#    define BOOST_PP_ITERATION_1 100\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 99 && BOOST_PP_ITERATION_START_1 >= 99\r
+#    define BOOST_PP_ITERATION_1 99\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 98 && BOOST_PP_ITERATION_START_1 >= 98\r
+#    define BOOST_PP_ITERATION_1 98\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 97 && BOOST_PP_ITERATION_START_1 >= 97\r
+#    define BOOST_PP_ITERATION_1 97\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 96 && BOOST_PP_ITERATION_START_1 >= 96\r
+#    define BOOST_PP_ITERATION_1 96\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 95 && BOOST_PP_ITERATION_START_1 >= 95\r
+#    define BOOST_PP_ITERATION_1 95\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 94 && BOOST_PP_ITERATION_START_1 >= 94\r
+#    define BOOST_PP_ITERATION_1 94\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 93 && BOOST_PP_ITERATION_START_1 >= 93\r
+#    define BOOST_PP_ITERATION_1 93\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 92 && BOOST_PP_ITERATION_START_1 >= 92\r
+#    define BOOST_PP_ITERATION_1 92\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 91 && BOOST_PP_ITERATION_START_1 >= 91\r
+#    define BOOST_PP_ITERATION_1 91\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 90 && BOOST_PP_ITERATION_START_1 >= 90\r
+#    define BOOST_PP_ITERATION_1 90\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 89 && BOOST_PP_ITERATION_START_1 >= 89\r
+#    define BOOST_PP_ITERATION_1 89\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 88 && BOOST_PP_ITERATION_START_1 >= 88\r
+#    define BOOST_PP_ITERATION_1 88\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 87 && BOOST_PP_ITERATION_START_1 >= 87\r
+#    define BOOST_PP_ITERATION_1 87\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 86 && BOOST_PP_ITERATION_START_1 >= 86\r
+#    define BOOST_PP_ITERATION_1 86\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 85 && BOOST_PP_ITERATION_START_1 >= 85\r
+#    define BOOST_PP_ITERATION_1 85\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 84 && BOOST_PP_ITERATION_START_1 >= 84\r
+#    define BOOST_PP_ITERATION_1 84\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 83 && BOOST_PP_ITERATION_START_1 >= 83\r
+#    define BOOST_PP_ITERATION_1 83\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 82 && BOOST_PP_ITERATION_START_1 >= 82\r
+#    define BOOST_PP_ITERATION_1 82\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 81 && BOOST_PP_ITERATION_START_1 >= 81\r
+#    define BOOST_PP_ITERATION_1 81\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 80 && BOOST_PP_ITERATION_START_1 >= 80\r
+#    define BOOST_PP_ITERATION_1 80\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 79 && BOOST_PP_ITERATION_START_1 >= 79\r
+#    define BOOST_PP_ITERATION_1 79\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 78 && BOOST_PP_ITERATION_START_1 >= 78\r
+#    define BOOST_PP_ITERATION_1 78\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 77 && BOOST_PP_ITERATION_START_1 >= 77\r
+#    define BOOST_PP_ITERATION_1 77\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 76 && BOOST_PP_ITERATION_START_1 >= 76\r
+#    define BOOST_PP_ITERATION_1 76\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 75 && BOOST_PP_ITERATION_START_1 >= 75\r
+#    define BOOST_PP_ITERATION_1 75\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 74 && BOOST_PP_ITERATION_START_1 >= 74\r
+#    define BOOST_PP_ITERATION_1 74\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 73 && BOOST_PP_ITERATION_START_1 >= 73\r
+#    define BOOST_PP_ITERATION_1 73\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 72 && BOOST_PP_ITERATION_START_1 >= 72\r
+#    define BOOST_PP_ITERATION_1 72\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 71 && BOOST_PP_ITERATION_START_1 >= 71\r
+#    define BOOST_PP_ITERATION_1 71\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 70 && BOOST_PP_ITERATION_START_1 >= 70\r
+#    define BOOST_PP_ITERATION_1 70\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 69 && BOOST_PP_ITERATION_START_1 >= 69\r
+#    define BOOST_PP_ITERATION_1 69\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 68 && BOOST_PP_ITERATION_START_1 >= 68\r
+#    define BOOST_PP_ITERATION_1 68\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 67 && BOOST_PP_ITERATION_START_1 >= 67\r
+#    define BOOST_PP_ITERATION_1 67\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 66 && BOOST_PP_ITERATION_START_1 >= 66\r
+#    define BOOST_PP_ITERATION_1 66\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 65 && BOOST_PP_ITERATION_START_1 >= 65\r
+#    define BOOST_PP_ITERATION_1 65\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 64 && BOOST_PP_ITERATION_START_1 >= 64\r
+#    define BOOST_PP_ITERATION_1 64\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 63 && BOOST_PP_ITERATION_START_1 >= 63\r
+#    define BOOST_PP_ITERATION_1 63\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 62 && BOOST_PP_ITERATION_START_1 >= 62\r
+#    define BOOST_PP_ITERATION_1 62\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 61 && BOOST_PP_ITERATION_START_1 >= 61\r
+#    define BOOST_PP_ITERATION_1 61\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 60 && BOOST_PP_ITERATION_START_1 >= 60\r
+#    define BOOST_PP_ITERATION_1 60\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 59 && BOOST_PP_ITERATION_START_1 >= 59\r
+#    define BOOST_PP_ITERATION_1 59\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 58 && BOOST_PP_ITERATION_START_1 >= 58\r
+#    define BOOST_PP_ITERATION_1 58\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 57 && BOOST_PP_ITERATION_START_1 >= 57\r
+#    define BOOST_PP_ITERATION_1 57\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 56 && BOOST_PP_ITERATION_START_1 >= 56\r
+#    define BOOST_PP_ITERATION_1 56\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 55 && BOOST_PP_ITERATION_START_1 >= 55\r
+#    define BOOST_PP_ITERATION_1 55\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 54 && BOOST_PP_ITERATION_START_1 >= 54\r
+#    define BOOST_PP_ITERATION_1 54\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 53 && BOOST_PP_ITERATION_START_1 >= 53\r
+#    define BOOST_PP_ITERATION_1 53\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 52 && BOOST_PP_ITERATION_START_1 >= 52\r
+#    define BOOST_PP_ITERATION_1 52\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 51 && BOOST_PP_ITERATION_START_1 >= 51\r
+#    define BOOST_PP_ITERATION_1 51\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 50 && BOOST_PP_ITERATION_START_1 >= 50\r
+#    define BOOST_PP_ITERATION_1 50\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 49 && BOOST_PP_ITERATION_START_1 >= 49\r
+#    define BOOST_PP_ITERATION_1 49\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 48 && BOOST_PP_ITERATION_START_1 >= 48\r
+#    define BOOST_PP_ITERATION_1 48\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 47 && BOOST_PP_ITERATION_START_1 >= 47\r
+#    define BOOST_PP_ITERATION_1 47\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 46 && BOOST_PP_ITERATION_START_1 >= 46\r
+#    define BOOST_PP_ITERATION_1 46\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 45 && BOOST_PP_ITERATION_START_1 >= 45\r
+#    define BOOST_PP_ITERATION_1 45\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 44 && BOOST_PP_ITERATION_START_1 >= 44\r
+#    define BOOST_PP_ITERATION_1 44\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 43 && BOOST_PP_ITERATION_START_1 >= 43\r
+#    define BOOST_PP_ITERATION_1 43\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 42 && BOOST_PP_ITERATION_START_1 >= 42\r
+#    define BOOST_PP_ITERATION_1 42\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 41 && BOOST_PP_ITERATION_START_1 >= 41\r
+#    define BOOST_PP_ITERATION_1 41\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 40 && BOOST_PP_ITERATION_START_1 >= 40\r
+#    define BOOST_PP_ITERATION_1 40\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 39 && BOOST_PP_ITERATION_START_1 >= 39\r
+#    define BOOST_PP_ITERATION_1 39\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 38 && BOOST_PP_ITERATION_START_1 >= 38\r
+#    define BOOST_PP_ITERATION_1 38\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 37 && BOOST_PP_ITERATION_START_1 >= 37\r
+#    define BOOST_PP_ITERATION_1 37\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 36 && BOOST_PP_ITERATION_START_1 >= 36\r
+#    define BOOST_PP_ITERATION_1 36\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 35 && BOOST_PP_ITERATION_START_1 >= 35\r
+#    define BOOST_PP_ITERATION_1 35\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 34 && BOOST_PP_ITERATION_START_1 >= 34\r
+#    define BOOST_PP_ITERATION_1 34\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 33 && BOOST_PP_ITERATION_START_1 >= 33\r
+#    define BOOST_PP_ITERATION_1 33\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 32 && BOOST_PP_ITERATION_START_1 >= 32\r
+#    define BOOST_PP_ITERATION_1 32\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 31 && BOOST_PP_ITERATION_START_1 >= 31\r
+#    define BOOST_PP_ITERATION_1 31\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 30 && BOOST_PP_ITERATION_START_1 >= 30\r
+#    define BOOST_PP_ITERATION_1 30\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 29 && BOOST_PP_ITERATION_START_1 >= 29\r
+#    define BOOST_PP_ITERATION_1 29\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 28 && BOOST_PP_ITERATION_START_1 >= 28\r
+#    define BOOST_PP_ITERATION_1 28\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 27 && BOOST_PP_ITERATION_START_1 >= 27\r
+#    define BOOST_PP_ITERATION_1 27\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 26 && BOOST_PP_ITERATION_START_1 >= 26\r
+#    define BOOST_PP_ITERATION_1 26\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 25 && BOOST_PP_ITERATION_START_1 >= 25\r
+#    define BOOST_PP_ITERATION_1 25\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 24 && BOOST_PP_ITERATION_START_1 >= 24\r
+#    define BOOST_PP_ITERATION_1 24\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 23 && BOOST_PP_ITERATION_START_1 >= 23\r
+#    define BOOST_PP_ITERATION_1 23\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 22 && BOOST_PP_ITERATION_START_1 >= 22\r
+#    define BOOST_PP_ITERATION_1 22\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 21 && BOOST_PP_ITERATION_START_1 >= 21\r
+#    define BOOST_PP_ITERATION_1 21\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 20 && BOOST_PP_ITERATION_START_1 >= 20\r
+#    define BOOST_PP_ITERATION_1 20\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 19 && BOOST_PP_ITERATION_START_1 >= 19\r
+#    define BOOST_PP_ITERATION_1 19\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 18 && BOOST_PP_ITERATION_START_1 >= 18\r
+#    define BOOST_PP_ITERATION_1 18\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 17 && BOOST_PP_ITERATION_START_1 >= 17\r
+#    define BOOST_PP_ITERATION_1 17\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 16 && BOOST_PP_ITERATION_START_1 >= 16\r
+#    define BOOST_PP_ITERATION_1 16\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 15 && BOOST_PP_ITERATION_START_1 >= 15\r
+#    define BOOST_PP_ITERATION_1 15\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 14 && BOOST_PP_ITERATION_START_1 >= 14\r
+#    define BOOST_PP_ITERATION_1 14\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 13 && BOOST_PP_ITERATION_START_1 >= 13\r
+#    define BOOST_PP_ITERATION_1 13\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 12 && BOOST_PP_ITERATION_START_1 >= 12\r
+#    define BOOST_PP_ITERATION_1 12\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 11 && BOOST_PP_ITERATION_START_1 >= 11\r
+#    define BOOST_PP_ITERATION_1 11\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 10 && BOOST_PP_ITERATION_START_1 >= 10\r
+#    define BOOST_PP_ITERATION_1 10\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 9 && BOOST_PP_ITERATION_START_1 >= 9\r
+#    define BOOST_PP_ITERATION_1 9\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 8 && BOOST_PP_ITERATION_START_1 >= 8\r
+#    define BOOST_PP_ITERATION_1 8\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 7 && BOOST_PP_ITERATION_START_1 >= 7\r
+#    define BOOST_PP_ITERATION_1 7\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 6 && BOOST_PP_ITERATION_START_1 >= 6\r
+#    define BOOST_PP_ITERATION_1 6\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 5 && BOOST_PP_ITERATION_START_1 >= 5\r
+#    define BOOST_PP_ITERATION_1 5\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 4 && BOOST_PP_ITERATION_START_1 >= 4\r
+#    define BOOST_PP_ITERATION_1 4\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 3 && BOOST_PP_ITERATION_START_1 >= 3\r
+#    define BOOST_PP_ITERATION_1 3\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 2 && BOOST_PP_ITERATION_START_1 >= 2\r
+#    define BOOST_PP_ITERATION_1 2\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 1 && BOOST_PP_ITERATION_START_1 >= 1\r
+#    define BOOST_PP_ITERATION_1 1\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_1 <= 0 && BOOST_PP_ITERATION_START_1 >= 0\r
+#    define BOOST_PP_ITERATION_1 0\r
+#    include BOOST_PP_FILENAME_1\r
+#    undef BOOST_PP_ITERATION_1\r
+# endif\r
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 (file)
index 0000000..c784198
--- /dev/null
@@ -0,0 +1,1296 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 256 && BOOST_PP_ITERATION_START_2 >= 256\r
+#    define BOOST_PP_ITERATION_2 256\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 255 && BOOST_PP_ITERATION_START_2 >= 255\r
+#    define BOOST_PP_ITERATION_2 255\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 254 && BOOST_PP_ITERATION_START_2 >= 254\r
+#    define BOOST_PP_ITERATION_2 254\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 253 && BOOST_PP_ITERATION_START_2 >= 253\r
+#    define BOOST_PP_ITERATION_2 253\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 252 && BOOST_PP_ITERATION_START_2 >= 252\r
+#    define BOOST_PP_ITERATION_2 252\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 251 && BOOST_PP_ITERATION_START_2 >= 251\r
+#    define BOOST_PP_ITERATION_2 251\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 250 && BOOST_PP_ITERATION_START_2 >= 250\r
+#    define BOOST_PP_ITERATION_2 250\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 249 && BOOST_PP_ITERATION_START_2 >= 249\r
+#    define BOOST_PP_ITERATION_2 249\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 248 && BOOST_PP_ITERATION_START_2 >= 248\r
+#    define BOOST_PP_ITERATION_2 248\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 247 && BOOST_PP_ITERATION_START_2 >= 247\r
+#    define BOOST_PP_ITERATION_2 247\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 246 && BOOST_PP_ITERATION_START_2 >= 246\r
+#    define BOOST_PP_ITERATION_2 246\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 245 && BOOST_PP_ITERATION_START_2 >= 245\r
+#    define BOOST_PP_ITERATION_2 245\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 244 && BOOST_PP_ITERATION_START_2 >= 244\r
+#    define BOOST_PP_ITERATION_2 244\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 243 && BOOST_PP_ITERATION_START_2 >= 243\r
+#    define BOOST_PP_ITERATION_2 243\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 242 && BOOST_PP_ITERATION_START_2 >= 242\r
+#    define BOOST_PP_ITERATION_2 242\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 241 && BOOST_PP_ITERATION_START_2 >= 241\r
+#    define BOOST_PP_ITERATION_2 241\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 240 && BOOST_PP_ITERATION_START_2 >= 240\r
+#    define BOOST_PP_ITERATION_2 240\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 239 && BOOST_PP_ITERATION_START_2 >= 239\r
+#    define BOOST_PP_ITERATION_2 239\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 238 && BOOST_PP_ITERATION_START_2 >= 238\r
+#    define BOOST_PP_ITERATION_2 238\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 237 && BOOST_PP_ITERATION_START_2 >= 237\r
+#    define BOOST_PP_ITERATION_2 237\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 236 && BOOST_PP_ITERATION_START_2 >= 236\r
+#    define BOOST_PP_ITERATION_2 236\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 235 && BOOST_PP_ITERATION_START_2 >= 235\r
+#    define BOOST_PP_ITERATION_2 235\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 234 && BOOST_PP_ITERATION_START_2 >= 234\r
+#    define BOOST_PP_ITERATION_2 234\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 233 && BOOST_PP_ITERATION_START_2 >= 233\r
+#    define BOOST_PP_ITERATION_2 233\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 232 && BOOST_PP_ITERATION_START_2 >= 232\r
+#    define BOOST_PP_ITERATION_2 232\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 231 && BOOST_PP_ITERATION_START_2 >= 231\r
+#    define BOOST_PP_ITERATION_2 231\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 230 && BOOST_PP_ITERATION_START_2 >= 230\r
+#    define BOOST_PP_ITERATION_2 230\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 229 && BOOST_PP_ITERATION_START_2 >= 229\r
+#    define BOOST_PP_ITERATION_2 229\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 228 && BOOST_PP_ITERATION_START_2 >= 228\r
+#    define BOOST_PP_ITERATION_2 228\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 227 && BOOST_PP_ITERATION_START_2 >= 227\r
+#    define BOOST_PP_ITERATION_2 227\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 226 && BOOST_PP_ITERATION_START_2 >= 226\r
+#    define BOOST_PP_ITERATION_2 226\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 225 && BOOST_PP_ITERATION_START_2 >= 225\r
+#    define BOOST_PP_ITERATION_2 225\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 224 && BOOST_PP_ITERATION_START_2 >= 224\r
+#    define BOOST_PP_ITERATION_2 224\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 223 && BOOST_PP_ITERATION_START_2 >= 223\r
+#    define BOOST_PP_ITERATION_2 223\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 222 && BOOST_PP_ITERATION_START_2 >= 222\r
+#    define BOOST_PP_ITERATION_2 222\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 221 && BOOST_PP_ITERATION_START_2 >= 221\r
+#    define BOOST_PP_ITERATION_2 221\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 220 && BOOST_PP_ITERATION_START_2 >= 220\r
+#    define BOOST_PP_ITERATION_2 220\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 219 && BOOST_PP_ITERATION_START_2 >= 219\r
+#    define BOOST_PP_ITERATION_2 219\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 218 && BOOST_PP_ITERATION_START_2 >= 218\r
+#    define BOOST_PP_ITERATION_2 218\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 217 && BOOST_PP_ITERATION_START_2 >= 217\r
+#    define BOOST_PP_ITERATION_2 217\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 216 && BOOST_PP_ITERATION_START_2 >= 216\r
+#    define BOOST_PP_ITERATION_2 216\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 215 && BOOST_PP_ITERATION_START_2 >= 215\r
+#    define BOOST_PP_ITERATION_2 215\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 214 && BOOST_PP_ITERATION_START_2 >= 214\r
+#    define BOOST_PP_ITERATION_2 214\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 213 && BOOST_PP_ITERATION_START_2 >= 213\r
+#    define BOOST_PP_ITERATION_2 213\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 212 && BOOST_PP_ITERATION_START_2 >= 212\r
+#    define BOOST_PP_ITERATION_2 212\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 211 && BOOST_PP_ITERATION_START_2 >= 211\r
+#    define BOOST_PP_ITERATION_2 211\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 210 && BOOST_PP_ITERATION_START_2 >= 210\r
+#    define BOOST_PP_ITERATION_2 210\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 209 && BOOST_PP_ITERATION_START_2 >= 209\r
+#    define BOOST_PP_ITERATION_2 209\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 208 && BOOST_PP_ITERATION_START_2 >= 208\r
+#    define BOOST_PP_ITERATION_2 208\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 207 && BOOST_PP_ITERATION_START_2 >= 207\r
+#    define BOOST_PP_ITERATION_2 207\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 206 && BOOST_PP_ITERATION_START_2 >= 206\r
+#    define BOOST_PP_ITERATION_2 206\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 205 && BOOST_PP_ITERATION_START_2 >= 205\r
+#    define BOOST_PP_ITERATION_2 205\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 204 && BOOST_PP_ITERATION_START_2 >= 204\r
+#    define BOOST_PP_ITERATION_2 204\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 203 && BOOST_PP_ITERATION_START_2 >= 203\r
+#    define BOOST_PP_ITERATION_2 203\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 202 && BOOST_PP_ITERATION_START_2 >= 202\r
+#    define BOOST_PP_ITERATION_2 202\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 201 && BOOST_PP_ITERATION_START_2 >= 201\r
+#    define BOOST_PP_ITERATION_2 201\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 200 && BOOST_PP_ITERATION_START_2 >= 200\r
+#    define BOOST_PP_ITERATION_2 200\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 199 && BOOST_PP_ITERATION_START_2 >= 199\r
+#    define BOOST_PP_ITERATION_2 199\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 198 && BOOST_PP_ITERATION_START_2 >= 198\r
+#    define BOOST_PP_ITERATION_2 198\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 197 && BOOST_PP_ITERATION_START_2 >= 197\r
+#    define BOOST_PP_ITERATION_2 197\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 196 && BOOST_PP_ITERATION_START_2 >= 196\r
+#    define BOOST_PP_ITERATION_2 196\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 195 && BOOST_PP_ITERATION_START_2 >= 195\r
+#    define BOOST_PP_ITERATION_2 195\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 194 && BOOST_PP_ITERATION_START_2 >= 194\r
+#    define BOOST_PP_ITERATION_2 194\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 193 && BOOST_PP_ITERATION_START_2 >= 193\r
+#    define BOOST_PP_ITERATION_2 193\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 192 && BOOST_PP_ITERATION_START_2 >= 192\r
+#    define BOOST_PP_ITERATION_2 192\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 191 && BOOST_PP_ITERATION_START_2 >= 191\r
+#    define BOOST_PP_ITERATION_2 191\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 190 && BOOST_PP_ITERATION_START_2 >= 190\r
+#    define BOOST_PP_ITERATION_2 190\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 189 && BOOST_PP_ITERATION_START_2 >= 189\r
+#    define BOOST_PP_ITERATION_2 189\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 188 && BOOST_PP_ITERATION_START_2 >= 188\r
+#    define BOOST_PP_ITERATION_2 188\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 187 && BOOST_PP_ITERATION_START_2 >= 187\r
+#    define BOOST_PP_ITERATION_2 187\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 186 && BOOST_PP_ITERATION_START_2 >= 186\r
+#    define BOOST_PP_ITERATION_2 186\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 185 && BOOST_PP_ITERATION_START_2 >= 185\r
+#    define BOOST_PP_ITERATION_2 185\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 184 && BOOST_PP_ITERATION_START_2 >= 184\r
+#    define BOOST_PP_ITERATION_2 184\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 183 && BOOST_PP_ITERATION_START_2 >= 183\r
+#    define BOOST_PP_ITERATION_2 183\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 182 && BOOST_PP_ITERATION_START_2 >= 182\r
+#    define BOOST_PP_ITERATION_2 182\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 181 && BOOST_PP_ITERATION_START_2 >= 181\r
+#    define BOOST_PP_ITERATION_2 181\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 180 && BOOST_PP_ITERATION_START_2 >= 180\r
+#    define BOOST_PP_ITERATION_2 180\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 179 && BOOST_PP_ITERATION_START_2 >= 179\r
+#    define BOOST_PP_ITERATION_2 179\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 178 && BOOST_PP_ITERATION_START_2 >= 178\r
+#    define BOOST_PP_ITERATION_2 178\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 177 && BOOST_PP_ITERATION_START_2 >= 177\r
+#    define BOOST_PP_ITERATION_2 177\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 176 && BOOST_PP_ITERATION_START_2 >= 176\r
+#    define BOOST_PP_ITERATION_2 176\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 175 && BOOST_PP_ITERATION_START_2 >= 175\r
+#    define BOOST_PP_ITERATION_2 175\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 174 && BOOST_PP_ITERATION_START_2 >= 174\r
+#    define BOOST_PP_ITERATION_2 174\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 173 && BOOST_PP_ITERATION_START_2 >= 173\r
+#    define BOOST_PP_ITERATION_2 173\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 172 && BOOST_PP_ITERATION_START_2 >= 172\r
+#    define BOOST_PP_ITERATION_2 172\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 171 && BOOST_PP_ITERATION_START_2 >= 171\r
+#    define BOOST_PP_ITERATION_2 171\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 170 && BOOST_PP_ITERATION_START_2 >= 170\r
+#    define BOOST_PP_ITERATION_2 170\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 169 && BOOST_PP_ITERATION_START_2 >= 169\r
+#    define BOOST_PP_ITERATION_2 169\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 168 && BOOST_PP_ITERATION_START_2 >= 168\r
+#    define BOOST_PP_ITERATION_2 168\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 167 && BOOST_PP_ITERATION_START_2 >= 167\r
+#    define BOOST_PP_ITERATION_2 167\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 166 && BOOST_PP_ITERATION_START_2 >= 166\r
+#    define BOOST_PP_ITERATION_2 166\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 165 && BOOST_PP_ITERATION_START_2 >= 165\r
+#    define BOOST_PP_ITERATION_2 165\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 164 && BOOST_PP_ITERATION_START_2 >= 164\r
+#    define BOOST_PP_ITERATION_2 164\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 163 && BOOST_PP_ITERATION_START_2 >= 163\r
+#    define BOOST_PP_ITERATION_2 163\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 162 && BOOST_PP_ITERATION_START_2 >= 162\r
+#    define BOOST_PP_ITERATION_2 162\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 161 && BOOST_PP_ITERATION_START_2 >= 161\r
+#    define BOOST_PP_ITERATION_2 161\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 160 && BOOST_PP_ITERATION_START_2 >= 160\r
+#    define BOOST_PP_ITERATION_2 160\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 159 && BOOST_PP_ITERATION_START_2 >= 159\r
+#    define BOOST_PP_ITERATION_2 159\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 158 && BOOST_PP_ITERATION_START_2 >= 158\r
+#    define BOOST_PP_ITERATION_2 158\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 157 && BOOST_PP_ITERATION_START_2 >= 157\r
+#    define BOOST_PP_ITERATION_2 157\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 156 && BOOST_PP_ITERATION_START_2 >= 156\r
+#    define BOOST_PP_ITERATION_2 156\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 155 && BOOST_PP_ITERATION_START_2 >= 155\r
+#    define BOOST_PP_ITERATION_2 155\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 154 && BOOST_PP_ITERATION_START_2 >= 154\r
+#    define BOOST_PP_ITERATION_2 154\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 153 && BOOST_PP_ITERATION_START_2 >= 153\r
+#    define BOOST_PP_ITERATION_2 153\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 152 && BOOST_PP_ITERATION_START_2 >= 152\r
+#    define BOOST_PP_ITERATION_2 152\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 151 && BOOST_PP_ITERATION_START_2 >= 151\r
+#    define BOOST_PP_ITERATION_2 151\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 150 && BOOST_PP_ITERATION_START_2 >= 150\r
+#    define BOOST_PP_ITERATION_2 150\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 149 && BOOST_PP_ITERATION_START_2 >= 149\r
+#    define BOOST_PP_ITERATION_2 149\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 148 && BOOST_PP_ITERATION_START_2 >= 148\r
+#    define BOOST_PP_ITERATION_2 148\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 147 && BOOST_PP_ITERATION_START_2 >= 147\r
+#    define BOOST_PP_ITERATION_2 147\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 146 && BOOST_PP_ITERATION_START_2 >= 146\r
+#    define BOOST_PP_ITERATION_2 146\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 145 && BOOST_PP_ITERATION_START_2 >= 145\r
+#    define BOOST_PP_ITERATION_2 145\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 144 && BOOST_PP_ITERATION_START_2 >= 144\r
+#    define BOOST_PP_ITERATION_2 144\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 143 && BOOST_PP_ITERATION_START_2 >= 143\r
+#    define BOOST_PP_ITERATION_2 143\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 142 && BOOST_PP_ITERATION_START_2 >= 142\r
+#    define BOOST_PP_ITERATION_2 142\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 141 && BOOST_PP_ITERATION_START_2 >= 141\r
+#    define BOOST_PP_ITERATION_2 141\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 140 && BOOST_PP_ITERATION_START_2 >= 140\r
+#    define BOOST_PP_ITERATION_2 140\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 139 && BOOST_PP_ITERATION_START_2 >= 139\r
+#    define BOOST_PP_ITERATION_2 139\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 138 && BOOST_PP_ITERATION_START_2 >= 138\r
+#    define BOOST_PP_ITERATION_2 138\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 137 && BOOST_PP_ITERATION_START_2 >= 137\r
+#    define BOOST_PP_ITERATION_2 137\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 136 && BOOST_PP_ITERATION_START_2 >= 136\r
+#    define BOOST_PP_ITERATION_2 136\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 135 && BOOST_PP_ITERATION_START_2 >= 135\r
+#    define BOOST_PP_ITERATION_2 135\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 134 && BOOST_PP_ITERATION_START_2 >= 134\r
+#    define BOOST_PP_ITERATION_2 134\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 133 && BOOST_PP_ITERATION_START_2 >= 133\r
+#    define BOOST_PP_ITERATION_2 133\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 132 && BOOST_PP_ITERATION_START_2 >= 132\r
+#    define BOOST_PP_ITERATION_2 132\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 131 && BOOST_PP_ITERATION_START_2 >= 131\r
+#    define BOOST_PP_ITERATION_2 131\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 130 && BOOST_PP_ITERATION_START_2 >= 130\r
+#    define BOOST_PP_ITERATION_2 130\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 129 && BOOST_PP_ITERATION_START_2 >= 129\r
+#    define BOOST_PP_ITERATION_2 129\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 128 && BOOST_PP_ITERATION_START_2 >= 128\r
+#    define BOOST_PP_ITERATION_2 128\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 127 && BOOST_PP_ITERATION_START_2 >= 127\r
+#    define BOOST_PP_ITERATION_2 127\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 126 && BOOST_PP_ITERATION_START_2 >= 126\r
+#    define BOOST_PP_ITERATION_2 126\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 125 && BOOST_PP_ITERATION_START_2 >= 125\r
+#    define BOOST_PP_ITERATION_2 125\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 124 && BOOST_PP_ITERATION_START_2 >= 124\r
+#    define BOOST_PP_ITERATION_2 124\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 123 && BOOST_PP_ITERATION_START_2 >= 123\r
+#    define BOOST_PP_ITERATION_2 123\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 122 && BOOST_PP_ITERATION_START_2 >= 122\r
+#    define BOOST_PP_ITERATION_2 122\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 121 && BOOST_PP_ITERATION_START_2 >= 121\r
+#    define BOOST_PP_ITERATION_2 121\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 120 && BOOST_PP_ITERATION_START_2 >= 120\r
+#    define BOOST_PP_ITERATION_2 120\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 119 && BOOST_PP_ITERATION_START_2 >= 119\r
+#    define BOOST_PP_ITERATION_2 119\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 118 && BOOST_PP_ITERATION_START_2 >= 118\r
+#    define BOOST_PP_ITERATION_2 118\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 117 && BOOST_PP_ITERATION_START_2 >= 117\r
+#    define BOOST_PP_ITERATION_2 117\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 116 && BOOST_PP_ITERATION_START_2 >= 116\r
+#    define BOOST_PP_ITERATION_2 116\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 115 && BOOST_PP_ITERATION_START_2 >= 115\r
+#    define BOOST_PP_ITERATION_2 115\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 114 && BOOST_PP_ITERATION_START_2 >= 114\r
+#    define BOOST_PP_ITERATION_2 114\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 113 && BOOST_PP_ITERATION_START_2 >= 113\r
+#    define BOOST_PP_ITERATION_2 113\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 112 && BOOST_PP_ITERATION_START_2 >= 112\r
+#    define BOOST_PP_ITERATION_2 112\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 111 && BOOST_PP_ITERATION_START_2 >= 111\r
+#    define BOOST_PP_ITERATION_2 111\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 110 && BOOST_PP_ITERATION_START_2 >= 110\r
+#    define BOOST_PP_ITERATION_2 110\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 109 && BOOST_PP_ITERATION_START_2 >= 109\r
+#    define BOOST_PP_ITERATION_2 109\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 108 && BOOST_PP_ITERATION_START_2 >= 108\r
+#    define BOOST_PP_ITERATION_2 108\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 107 && BOOST_PP_ITERATION_START_2 >= 107\r
+#    define BOOST_PP_ITERATION_2 107\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 106 && BOOST_PP_ITERATION_START_2 >= 106\r
+#    define BOOST_PP_ITERATION_2 106\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 105 && BOOST_PP_ITERATION_START_2 >= 105\r
+#    define BOOST_PP_ITERATION_2 105\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 104 && BOOST_PP_ITERATION_START_2 >= 104\r
+#    define BOOST_PP_ITERATION_2 104\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 103 && BOOST_PP_ITERATION_START_2 >= 103\r
+#    define BOOST_PP_ITERATION_2 103\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 102 && BOOST_PP_ITERATION_START_2 >= 102\r
+#    define BOOST_PP_ITERATION_2 102\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 101 && BOOST_PP_ITERATION_START_2 >= 101\r
+#    define BOOST_PP_ITERATION_2 101\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 100 && BOOST_PP_ITERATION_START_2 >= 100\r
+#    define BOOST_PP_ITERATION_2 100\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 99 && BOOST_PP_ITERATION_START_2 >= 99\r
+#    define BOOST_PP_ITERATION_2 99\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 98 && BOOST_PP_ITERATION_START_2 >= 98\r
+#    define BOOST_PP_ITERATION_2 98\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 97 && BOOST_PP_ITERATION_START_2 >= 97\r
+#    define BOOST_PP_ITERATION_2 97\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 96 && BOOST_PP_ITERATION_START_2 >= 96\r
+#    define BOOST_PP_ITERATION_2 96\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 95 && BOOST_PP_ITERATION_START_2 >= 95\r
+#    define BOOST_PP_ITERATION_2 95\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 94 && BOOST_PP_ITERATION_START_2 >= 94\r
+#    define BOOST_PP_ITERATION_2 94\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 93 && BOOST_PP_ITERATION_START_2 >= 93\r
+#    define BOOST_PP_ITERATION_2 93\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 92 && BOOST_PP_ITERATION_START_2 >= 92\r
+#    define BOOST_PP_ITERATION_2 92\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 91 && BOOST_PP_ITERATION_START_2 >= 91\r
+#    define BOOST_PP_ITERATION_2 91\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 90 && BOOST_PP_ITERATION_START_2 >= 90\r
+#    define BOOST_PP_ITERATION_2 90\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 89 && BOOST_PP_ITERATION_START_2 >= 89\r
+#    define BOOST_PP_ITERATION_2 89\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 88 && BOOST_PP_ITERATION_START_2 >= 88\r
+#    define BOOST_PP_ITERATION_2 88\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 87 && BOOST_PP_ITERATION_START_2 >= 87\r
+#    define BOOST_PP_ITERATION_2 87\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 86 && BOOST_PP_ITERATION_START_2 >= 86\r
+#    define BOOST_PP_ITERATION_2 86\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 85 && BOOST_PP_ITERATION_START_2 >= 85\r
+#    define BOOST_PP_ITERATION_2 85\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 84 && BOOST_PP_ITERATION_START_2 >= 84\r
+#    define BOOST_PP_ITERATION_2 84\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 83 && BOOST_PP_ITERATION_START_2 >= 83\r
+#    define BOOST_PP_ITERATION_2 83\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 82 && BOOST_PP_ITERATION_START_2 >= 82\r
+#    define BOOST_PP_ITERATION_2 82\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 81 && BOOST_PP_ITERATION_START_2 >= 81\r
+#    define BOOST_PP_ITERATION_2 81\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 80 && BOOST_PP_ITERATION_START_2 >= 80\r
+#    define BOOST_PP_ITERATION_2 80\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 79 && BOOST_PP_ITERATION_START_2 >= 79\r
+#    define BOOST_PP_ITERATION_2 79\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 78 && BOOST_PP_ITERATION_START_2 >= 78\r
+#    define BOOST_PP_ITERATION_2 78\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 77 && BOOST_PP_ITERATION_START_2 >= 77\r
+#    define BOOST_PP_ITERATION_2 77\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 76 && BOOST_PP_ITERATION_START_2 >= 76\r
+#    define BOOST_PP_ITERATION_2 76\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 75 && BOOST_PP_ITERATION_START_2 >= 75\r
+#    define BOOST_PP_ITERATION_2 75\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 74 && BOOST_PP_ITERATION_START_2 >= 74\r
+#    define BOOST_PP_ITERATION_2 74\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 73 && BOOST_PP_ITERATION_START_2 >= 73\r
+#    define BOOST_PP_ITERATION_2 73\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 72 && BOOST_PP_ITERATION_START_2 >= 72\r
+#    define BOOST_PP_ITERATION_2 72\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 71 && BOOST_PP_ITERATION_START_2 >= 71\r
+#    define BOOST_PP_ITERATION_2 71\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 70 && BOOST_PP_ITERATION_START_2 >= 70\r
+#    define BOOST_PP_ITERATION_2 70\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 69 && BOOST_PP_ITERATION_START_2 >= 69\r
+#    define BOOST_PP_ITERATION_2 69\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 68 && BOOST_PP_ITERATION_START_2 >= 68\r
+#    define BOOST_PP_ITERATION_2 68\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 67 && BOOST_PP_ITERATION_START_2 >= 67\r
+#    define BOOST_PP_ITERATION_2 67\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 66 && BOOST_PP_ITERATION_START_2 >= 66\r
+#    define BOOST_PP_ITERATION_2 66\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 65 && BOOST_PP_ITERATION_START_2 >= 65\r
+#    define BOOST_PP_ITERATION_2 65\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 64 && BOOST_PP_ITERATION_START_2 >= 64\r
+#    define BOOST_PP_ITERATION_2 64\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 63 && BOOST_PP_ITERATION_START_2 >= 63\r
+#    define BOOST_PP_ITERATION_2 63\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 62 && BOOST_PP_ITERATION_START_2 >= 62\r
+#    define BOOST_PP_ITERATION_2 62\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 61 && BOOST_PP_ITERATION_START_2 >= 61\r
+#    define BOOST_PP_ITERATION_2 61\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 60 && BOOST_PP_ITERATION_START_2 >= 60\r
+#    define BOOST_PP_ITERATION_2 60\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 59 && BOOST_PP_ITERATION_START_2 >= 59\r
+#    define BOOST_PP_ITERATION_2 59\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 58 && BOOST_PP_ITERATION_START_2 >= 58\r
+#    define BOOST_PP_ITERATION_2 58\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 57 && BOOST_PP_ITERATION_START_2 >= 57\r
+#    define BOOST_PP_ITERATION_2 57\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 56 && BOOST_PP_ITERATION_START_2 >= 56\r
+#    define BOOST_PP_ITERATION_2 56\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 55 && BOOST_PP_ITERATION_START_2 >= 55\r
+#    define BOOST_PP_ITERATION_2 55\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 54 && BOOST_PP_ITERATION_START_2 >= 54\r
+#    define BOOST_PP_ITERATION_2 54\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 53 && BOOST_PP_ITERATION_START_2 >= 53\r
+#    define BOOST_PP_ITERATION_2 53\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 52 && BOOST_PP_ITERATION_START_2 >= 52\r
+#    define BOOST_PP_ITERATION_2 52\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 51 && BOOST_PP_ITERATION_START_2 >= 51\r
+#    define BOOST_PP_ITERATION_2 51\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 50 && BOOST_PP_ITERATION_START_2 >= 50\r
+#    define BOOST_PP_ITERATION_2 50\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 49 && BOOST_PP_ITERATION_START_2 >= 49\r
+#    define BOOST_PP_ITERATION_2 49\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 48 && BOOST_PP_ITERATION_START_2 >= 48\r
+#    define BOOST_PP_ITERATION_2 48\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 47 && BOOST_PP_ITERATION_START_2 >= 47\r
+#    define BOOST_PP_ITERATION_2 47\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 46 && BOOST_PP_ITERATION_START_2 >= 46\r
+#    define BOOST_PP_ITERATION_2 46\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 45 && BOOST_PP_ITERATION_START_2 >= 45\r
+#    define BOOST_PP_ITERATION_2 45\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 44 && BOOST_PP_ITERATION_START_2 >= 44\r
+#    define BOOST_PP_ITERATION_2 44\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 43 && BOOST_PP_ITERATION_START_2 >= 43\r
+#    define BOOST_PP_ITERATION_2 43\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 42 && BOOST_PP_ITERATION_START_2 >= 42\r
+#    define BOOST_PP_ITERATION_2 42\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 41 && BOOST_PP_ITERATION_START_2 >= 41\r
+#    define BOOST_PP_ITERATION_2 41\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 40 && BOOST_PP_ITERATION_START_2 >= 40\r
+#    define BOOST_PP_ITERATION_2 40\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 39 && BOOST_PP_ITERATION_START_2 >= 39\r
+#    define BOOST_PP_ITERATION_2 39\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 38 && BOOST_PP_ITERATION_START_2 >= 38\r
+#    define BOOST_PP_ITERATION_2 38\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 37 && BOOST_PP_ITERATION_START_2 >= 37\r
+#    define BOOST_PP_ITERATION_2 37\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 36 && BOOST_PP_ITERATION_START_2 >= 36\r
+#    define BOOST_PP_ITERATION_2 36\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 35 && BOOST_PP_ITERATION_START_2 >= 35\r
+#    define BOOST_PP_ITERATION_2 35\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 34 && BOOST_PP_ITERATION_START_2 >= 34\r
+#    define BOOST_PP_ITERATION_2 34\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 33 && BOOST_PP_ITERATION_START_2 >= 33\r
+#    define BOOST_PP_ITERATION_2 33\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 32 && BOOST_PP_ITERATION_START_2 >= 32\r
+#    define BOOST_PP_ITERATION_2 32\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 31 && BOOST_PP_ITERATION_START_2 >= 31\r
+#    define BOOST_PP_ITERATION_2 31\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 30 && BOOST_PP_ITERATION_START_2 >= 30\r
+#    define BOOST_PP_ITERATION_2 30\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 29 && BOOST_PP_ITERATION_START_2 >= 29\r
+#    define BOOST_PP_ITERATION_2 29\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 28 && BOOST_PP_ITERATION_START_2 >= 28\r
+#    define BOOST_PP_ITERATION_2 28\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 27 && BOOST_PP_ITERATION_START_2 >= 27\r
+#    define BOOST_PP_ITERATION_2 27\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 26 && BOOST_PP_ITERATION_START_2 >= 26\r
+#    define BOOST_PP_ITERATION_2 26\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 25 && BOOST_PP_ITERATION_START_2 >= 25\r
+#    define BOOST_PP_ITERATION_2 25\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 24 && BOOST_PP_ITERATION_START_2 >= 24\r
+#    define BOOST_PP_ITERATION_2 24\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 23 && BOOST_PP_ITERATION_START_2 >= 23\r
+#    define BOOST_PP_ITERATION_2 23\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 22 && BOOST_PP_ITERATION_START_2 >= 22\r
+#    define BOOST_PP_ITERATION_2 22\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 21 && BOOST_PP_ITERATION_START_2 >= 21\r
+#    define BOOST_PP_ITERATION_2 21\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 20 && BOOST_PP_ITERATION_START_2 >= 20\r
+#    define BOOST_PP_ITERATION_2 20\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 19 && BOOST_PP_ITERATION_START_2 >= 19\r
+#    define BOOST_PP_ITERATION_2 19\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 18 && BOOST_PP_ITERATION_START_2 >= 18\r
+#    define BOOST_PP_ITERATION_2 18\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 17 && BOOST_PP_ITERATION_START_2 >= 17\r
+#    define BOOST_PP_ITERATION_2 17\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 16 && BOOST_PP_ITERATION_START_2 >= 16\r
+#    define BOOST_PP_ITERATION_2 16\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 15 && BOOST_PP_ITERATION_START_2 >= 15\r
+#    define BOOST_PP_ITERATION_2 15\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 14 && BOOST_PP_ITERATION_START_2 >= 14\r
+#    define BOOST_PP_ITERATION_2 14\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 13 && BOOST_PP_ITERATION_START_2 >= 13\r
+#    define BOOST_PP_ITERATION_2 13\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 12 && BOOST_PP_ITERATION_START_2 >= 12\r
+#    define BOOST_PP_ITERATION_2 12\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 11 && BOOST_PP_ITERATION_START_2 >= 11\r
+#    define BOOST_PP_ITERATION_2 11\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 10 && BOOST_PP_ITERATION_START_2 >= 10\r
+#    define BOOST_PP_ITERATION_2 10\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 9 && BOOST_PP_ITERATION_START_2 >= 9\r
+#    define BOOST_PP_ITERATION_2 9\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 8 && BOOST_PP_ITERATION_START_2 >= 8\r
+#    define BOOST_PP_ITERATION_2 8\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 7 && BOOST_PP_ITERATION_START_2 >= 7\r
+#    define BOOST_PP_ITERATION_2 7\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 6 && BOOST_PP_ITERATION_START_2 >= 6\r
+#    define BOOST_PP_ITERATION_2 6\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 5 && BOOST_PP_ITERATION_START_2 >= 5\r
+#    define BOOST_PP_ITERATION_2 5\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 4 && BOOST_PP_ITERATION_START_2 >= 4\r
+#    define BOOST_PP_ITERATION_2 4\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 3 && BOOST_PP_ITERATION_START_2 >= 3\r
+#    define BOOST_PP_ITERATION_2 3\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 2 && BOOST_PP_ITERATION_START_2 >= 2\r
+#    define BOOST_PP_ITERATION_2 2\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 1 && BOOST_PP_ITERATION_START_2 >= 1\r
+#    define BOOST_PP_ITERATION_2 1\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_2 <= 0 && BOOST_PP_ITERATION_START_2 >= 0\r
+#    define BOOST_PP_ITERATION_2 0\r
+#    include BOOST_PP_FILENAME_2\r
+#    undef BOOST_PP_ITERATION_2\r
+# endif\r
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 (file)
index 0000000..189f77c
--- /dev/null
@@ -0,0 +1,1296 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 256 && BOOST_PP_ITERATION_START_3 >= 256\r
+#    define BOOST_PP_ITERATION_3 256\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 255 && BOOST_PP_ITERATION_START_3 >= 255\r
+#    define BOOST_PP_ITERATION_3 255\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 254 && BOOST_PP_ITERATION_START_3 >= 254\r
+#    define BOOST_PP_ITERATION_3 254\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 253 && BOOST_PP_ITERATION_START_3 >= 253\r
+#    define BOOST_PP_ITERATION_3 253\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 252 && BOOST_PP_ITERATION_START_3 >= 252\r
+#    define BOOST_PP_ITERATION_3 252\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 251 && BOOST_PP_ITERATION_START_3 >= 251\r
+#    define BOOST_PP_ITERATION_3 251\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 250 && BOOST_PP_ITERATION_START_3 >= 250\r
+#    define BOOST_PP_ITERATION_3 250\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 249 && BOOST_PP_ITERATION_START_3 >= 249\r
+#    define BOOST_PP_ITERATION_3 249\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 248 && BOOST_PP_ITERATION_START_3 >= 248\r
+#    define BOOST_PP_ITERATION_3 248\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 247 && BOOST_PP_ITERATION_START_3 >= 247\r
+#    define BOOST_PP_ITERATION_3 247\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 246 && BOOST_PP_ITERATION_START_3 >= 246\r
+#    define BOOST_PP_ITERATION_3 246\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 245 && BOOST_PP_ITERATION_START_3 >= 245\r
+#    define BOOST_PP_ITERATION_3 245\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 244 && BOOST_PP_ITERATION_START_3 >= 244\r
+#    define BOOST_PP_ITERATION_3 244\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 243 && BOOST_PP_ITERATION_START_3 >= 243\r
+#    define BOOST_PP_ITERATION_3 243\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 242 && BOOST_PP_ITERATION_START_3 >= 242\r
+#    define BOOST_PP_ITERATION_3 242\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 241 && BOOST_PP_ITERATION_START_3 >= 241\r
+#    define BOOST_PP_ITERATION_3 241\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 240 && BOOST_PP_ITERATION_START_3 >= 240\r
+#    define BOOST_PP_ITERATION_3 240\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 239 && BOOST_PP_ITERATION_START_3 >= 239\r
+#    define BOOST_PP_ITERATION_3 239\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 238 && BOOST_PP_ITERATION_START_3 >= 238\r
+#    define BOOST_PP_ITERATION_3 238\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 237 && BOOST_PP_ITERATION_START_3 >= 237\r
+#    define BOOST_PP_ITERATION_3 237\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 236 && BOOST_PP_ITERATION_START_3 >= 236\r
+#    define BOOST_PP_ITERATION_3 236\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 235 && BOOST_PP_ITERATION_START_3 >= 235\r
+#    define BOOST_PP_ITERATION_3 235\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 234 && BOOST_PP_ITERATION_START_3 >= 234\r
+#    define BOOST_PP_ITERATION_3 234\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 233 && BOOST_PP_ITERATION_START_3 >= 233\r
+#    define BOOST_PP_ITERATION_3 233\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 232 && BOOST_PP_ITERATION_START_3 >= 232\r
+#    define BOOST_PP_ITERATION_3 232\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 231 && BOOST_PP_ITERATION_START_3 >= 231\r
+#    define BOOST_PP_ITERATION_3 231\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 230 && BOOST_PP_ITERATION_START_3 >= 230\r
+#    define BOOST_PP_ITERATION_3 230\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 229 && BOOST_PP_ITERATION_START_3 >= 229\r
+#    define BOOST_PP_ITERATION_3 229\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 228 && BOOST_PP_ITERATION_START_3 >= 228\r
+#    define BOOST_PP_ITERATION_3 228\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 227 && BOOST_PP_ITERATION_START_3 >= 227\r
+#    define BOOST_PP_ITERATION_3 227\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 226 && BOOST_PP_ITERATION_START_3 >= 226\r
+#    define BOOST_PP_ITERATION_3 226\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 225 && BOOST_PP_ITERATION_START_3 >= 225\r
+#    define BOOST_PP_ITERATION_3 225\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 224 && BOOST_PP_ITERATION_START_3 >= 224\r
+#    define BOOST_PP_ITERATION_3 224\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 223 && BOOST_PP_ITERATION_START_3 >= 223\r
+#    define BOOST_PP_ITERATION_3 223\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 222 && BOOST_PP_ITERATION_START_3 >= 222\r
+#    define BOOST_PP_ITERATION_3 222\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 221 && BOOST_PP_ITERATION_START_3 >= 221\r
+#    define BOOST_PP_ITERATION_3 221\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 220 && BOOST_PP_ITERATION_START_3 >= 220\r
+#    define BOOST_PP_ITERATION_3 220\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 219 && BOOST_PP_ITERATION_START_3 >= 219\r
+#    define BOOST_PP_ITERATION_3 219\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 218 && BOOST_PP_ITERATION_START_3 >= 218\r
+#    define BOOST_PP_ITERATION_3 218\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 217 && BOOST_PP_ITERATION_START_3 >= 217\r
+#    define BOOST_PP_ITERATION_3 217\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 216 && BOOST_PP_ITERATION_START_3 >= 216\r
+#    define BOOST_PP_ITERATION_3 216\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 215 && BOOST_PP_ITERATION_START_3 >= 215\r
+#    define BOOST_PP_ITERATION_3 215\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 214 && BOOST_PP_ITERATION_START_3 >= 214\r
+#    define BOOST_PP_ITERATION_3 214\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 213 && BOOST_PP_ITERATION_START_3 >= 213\r
+#    define BOOST_PP_ITERATION_3 213\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 212 && BOOST_PP_ITERATION_START_3 >= 212\r
+#    define BOOST_PP_ITERATION_3 212\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 211 && BOOST_PP_ITERATION_START_3 >= 211\r
+#    define BOOST_PP_ITERATION_3 211\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 210 && BOOST_PP_ITERATION_START_3 >= 210\r
+#    define BOOST_PP_ITERATION_3 210\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 209 && BOOST_PP_ITERATION_START_3 >= 209\r
+#    define BOOST_PP_ITERATION_3 209\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 208 && BOOST_PP_ITERATION_START_3 >= 208\r
+#    define BOOST_PP_ITERATION_3 208\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 207 && BOOST_PP_ITERATION_START_3 >= 207\r
+#    define BOOST_PP_ITERATION_3 207\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 206 && BOOST_PP_ITERATION_START_3 >= 206\r
+#    define BOOST_PP_ITERATION_3 206\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 205 && BOOST_PP_ITERATION_START_3 >= 205\r
+#    define BOOST_PP_ITERATION_3 205\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 204 && BOOST_PP_ITERATION_START_3 >= 204\r
+#    define BOOST_PP_ITERATION_3 204\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 203 && BOOST_PP_ITERATION_START_3 >= 203\r
+#    define BOOST_PP_ITERATION_3 203\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 202 && BOOST_PP_ITERATION_START_3 >= 202\r
+#    define BOOST_PP_ITERATION_3 202\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 201 && BOOST_PP_ITERATION_START_3 >= 201\r
+#    define BOOST_PP_ITERATION_3 201\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 200 && BOOST_PP_ITERATION_START_3 >= 200\r
+#    define BOOST_PP_ITERATION_3 200\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 199 && BOOST_PP_ITERATION_START_3 >= 199\r
+#    define BOOST_PP_ITERATION_3 199\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 198 && BOOST_PP_ITERATION_START_3 >= 198\r
+#    define BOOST_PP_ITERATION_3 198\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 197 && BOOST_PP_ITERATION_START_3 >= 197\r
+#    define BOOST_PP_ITERATION_3 197\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 196 && BOOST_PP_ITERATION_START_3 >= 196\r
+#    define BOOST_PP_ITERATION_3 196\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 195 && BOOST_PP_ITERATION_START_3 >= 195\r
+#    define BOOST_PP_ITERATION_3 195\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 194 && BOOST_PP_ITERATION_START_3 >= 194\r
+#    define BOOST_PP_ITERATION_3 194\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 193 && BOOST_PP_ITERATION_START_3 >= 193\r
+#    define BOOST_PP_ITERATION_3 193\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 192 && BOOST_PP_ITERATION_START_3 >= 192\r
+#    define BOOST_PP_ITERATION_3 192\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 191 && BOOST_PP_ITERATION_START_3 >= 191\r
+#    define BOOST_PP_ITERATION_3 191\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 190 && BOOST_PP_ITERATION_START_3 >= 190\r
+#    define BOOST_PP_ITERATION_3 190\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 189 && BOOST_PP_ITERATION_START_3 >= 189\r
+#    define BOOST_PP_ITERATION_3 189\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 188 && BOOST_PP_ITERATION_START_3 >= 188\r
+#    define BOOST_PP_ITERATION_3 188\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 187 && BOOST_PP_ITERATION_START_3 >= 187\r
+#    define BOOST_PP_ITERATION_3 187\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 186 && BOOST_PP_ITERATION_START_3 >= 186\r
+#    define BOOST_PP_ITERATION_3 186\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 185 && BOOST_PP_ITERATION_START_3 >= 185\r
+#    define BOOST_PP_ITERATION_3 185\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 184 && BOOST_PP_ITERATION_START_3 >= 184\r
+#    define BOOST_PP_ITERATION_3 184\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 183 && BOOST_PP_ITERATION_START_3 >= 183\r
+#    define BOOST_PP_ITERATION_3 183\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 182 && BOOST_PP_ITERATION_START_3 >= 182\r
+#    define BOOST_PP_ITERATION_3 182\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 181 && BOOST_PP_ITERATION_START_3 >= 181\r
+#    define BOOST_PP_ITERATION_3 181\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 180 && BOOST_PP_ITERATION_START_3 >= 180\r
+#    define BOOST_PP_ITERATION_3 180\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 179 && BOOST_PP_ITERATION_START_3 >= 179\r
+#    define BOOST_PP_ITERATION_3 179\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 178 && BOOST_PP_ITERATION_START_3 >= 178\r
+#    define BOOST_PP_ITERATION_3 178\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 177 && BOOST_PP_ITERATION_START_3 >= 177\r
+#    define BOOST_PP_ITERATION_3 177\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 176 && BOOST_PP_ITERATION_START_3 >= 176\r
+#    define BOOST_PP_ITERATION_3 176\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 175 && BOOST_PP_ITERATION_START_3 >= 175\r
+#    define BOOST_PP_ITERATION_3 175\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 174 && BOOST_PP_ITERATION_START_3 >= 174\r
+#    define BOOST_PP_ITERATION_3 174\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 173 && BOOST_PP_ITERATION_START_3 >= 173\r
+#    define BOOST_PP_ITERATION_3 173\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 172 && BOOST_PP_ITERATION_START_3 >= 172\r
+#    define BOOST_PP_ITERATION_3 172\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 171 && BOOST_PP_ITERATION_START_3 >= 171\r
+#    define BOOST_PP_ITERATION_3 171\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 170 && BOOST_PP_ITERATION_START_3 >= 170\r
+#    define BOOST_PP_ITERATION_3 170\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 169 && BOOST_PP_ITERATION_START_3 >= 169\r
+#    define BOOST_PP_ITERATION_3 169\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 168 && BOOST_PP_ITERATION_START_3 >= 168\r
+#    define BOOST_PP_ITERATION_3 168\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 167 && BOOST_PP_ITERATION_START_3 >= 167\r
+#    define BOOST_PP_ITERATION_3 167\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 166 && BOOST_PP_ITERATION_START_3 >= 166\r
+#    define BOOST_PP_ITERATION_3 166\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 165 && BOOST_PP_ITERATION_START_3 >= 165\r
+#    define BOOST_PP_ITERATION_3 165\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 164 && BOOST_PP_ITERATION_START_3 >= 164\r
+#    define BOOST_PP_ITERATION_3 164\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 163 && BOOST_PP_ITERATION_START_3 >= 163\r
+#    define BOOST_PP_ITERATION_3 163\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 162 && BOOST_PP_ITERATION_START_3 >= 162\r
+#    define BOOST_PP_ITERATION_3 162\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 161 && BOOST_PP_ITERATION_START_3 >= 161\r
+#    define BOOST_PP_ITERATION_3 161\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 160 && BOOST_PP_ITERATION_START_3 >= 160\r
+#    define BOOST_PP_ITERATION_3 160\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 159 && BOOST_PP_ITERATION_START_3 >= 159\r
+#    define BOOST_PP_ITERATION_3 159\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 158 && BOOST_PP_ITERATION_START_3 >= 158\r
+#    define BOOST_PP_ITERATION_3 158\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 157 && BOOST_PP_ITERATION_START_3 >= 157\r
+#    define BOOST_PP_ITERATION_3 157\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 156 && BOOST_PP_ITERATION_START_3 >= 156\r
+#    define BOOST_PP_ITERATION_3 156\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 155 && BOOST_PP_ITERATION_START_3 >= 155\r
+#    define BOOST_PP_ITERATION_3 155\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 154 && BOOST_PP_ITERATION_START_3 >= 154\r
+#    define BOOST_PP_ITERATION_3 154\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 153 && BOOST_PP_ITERATION_START_3 >= 153\r
+#    define BOOST_PP_ITERATION_3 153\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 152 && BOOST_PP_ITERATION_START_3 >= 152\r
+#    define BOOST_PP_ITERATION_3 152\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 151 && BOOST_PP_ITERATION_START_3 >= 151\r
+#    define BOOST_PP_ITERATION_3 151\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 150 && BOOST_PP_ITERATION_START_3 >= 150\r
+#    define BOOST_PP_ITERATION_3 150\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 149 && BOOST_PP_ITERATION_START_3 >= 149\r
+#    define BOOST_PP_ITERATION_3 149\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 148 && BOOST_PP_ITERATION_START_3 >= 148\r
+#    define BOOST_PP_ITERATION_3 148\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 147 && BOOST_PP_ITERATION_START_3 >= 147\r
+#    define BOOST_PP_ITERATION_3 147\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 146 && BOOST_PP_ITERATION_START_3 >= 146\r
+#    define BOOST_PP_ITERATION_3 146\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 145 && BOOST_PP_ITERATION_START_3 >= 145\r
+#    define BOOST_PP_ITERATION_3 145\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 144 && BOOST_PP_ITERATION_START_3 >= 144\r
+#    define BOOST_PP_ITERATION_3 144\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 143 && BOOST_PP_ITERATION_START_3 >= 143\r
+#    define BOOST_PP_ITERATION_3 143\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 142 && BOOST_PP_ITERATION_START_3 >= 142\r
+#    define BOOST_PP_ITERATION_3 142\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 141 && BOOST_PP_ITERATION_START_3 >= 141\r
+#    define BOOST_PP_ITERATION_3 141\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 140 && BOOST_PP_ITERATION_START_3 >= 140\r
+#    define BOOST_PP_ITERATION_3 140\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 139 && BOOST_PP_ITERATION_START_3 >= 139\r
+#    define BOOST_PP_ITERATION_3 139\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 138 && BOOST_PP_ITERATION_START_3 >= 138\r
+#    define BOOST_PP_ITERATION_3 138\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 137 && BOOST_PP_ITERATION_START_3 >= 137\r
+#    define BOOST_PP_ITERATION_3 137\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 136 && BOOST_PP_ITERATION_START_3 >= 136\r
+#    define BOOST_PP_ITERATION_3 136\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 135 && BOOST_PP_ITERATION_START_3 >= 135\r
+#    define BOOST_PP_ITERATION_3 135\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 134 && BOOST_PP_ITERATION_START_3 >= 134\r
+#    define BOOST_PP_ITERATION_3 134\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 133 && BOOST_PP_ITERATION_START_3 >= 133\r
+#    define BOOST_PP_ITERATION_3 133\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 132 && BOOST_PP_ITERATION_START_3 >= 132\r
+#    define BOOST_PP_ITERATION_3 132\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 131 && BOOST_PP_ITERATION_START_3 >= 131\r
+#    define BOOST_PP_ITERATION_3 131\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 130 && BOOST_PP_ITERATION_START_3 >= 130\r
+#    define BOOST_PP_ITERATION_3 130\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 129 && BOOST_PP_ITERATION_START_3 >= 129\r
+#    define BOOST_PP_ITERATION_3 129\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 128 && BOOST_PP_ITERATION_START_3 >= 128\r
+#    define BOOST_PP_ITERATION_3 128\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 127 && BOOST_PP_ITERATION_START_3 >= 127\r
+#    define BOOST_PP_ITERATION_3 127\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 126 && BOOST_PP_ITERATION_START_3 >= 126\r
+#    define BOOST_PP_ITERATION_3 126\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 125 && BOOST_PP_ITERATION_START_3 >= 125\r
+#    define BOOST_PP_ITERATION_3 125\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 124 && BOOST_PP_ITERATION_START_3 >= 124\r
+#    define BOOST_PP_ITERATION_3 124\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 123 && BOOST_PP_ITERATION_START_3 >= 123\r
+#    define BOOST_PP_ITERATION_3 123\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 122 && BOOST_PP_ITERATION_START_3 >= 122\r
+#    define BOOST_PP_ITERATION_3 122\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 121 && BOOST_PP_ITERATION_START_3 >= 121\r
+#    define BOOST_PP_ITERATION_3 121\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 120 && BOOST_PP_ITERATION_START_3 >= 120\r
+#    define BOOST_PP_ITERATION_3 120\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 119 && BOOST_PP_ITERATION_START_3 >= 119\r
+#    define BOOST_PP_ITERATION_3 119\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 118 && BOOST_PP_ITERATION_START_3 >= 118\r
+#    define BOOST_PP_ITERATION_3 118\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 117 && BOOST_PP_ITERATION_START_3 >= 117\r
+#    define BOOST_PP_ITERATION_3 117\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 116 && BOOST_PP_ITERATION_START_3 >= 116\r
+#    define BOOST_PP_ITERATION_3 116\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 115 && BOOST_PP_ITERATION_START_3 >= 115\r
+#    define BOOST_PP_ITERATION_3 115\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 114 && BOOST_PP_ITERATION_START_3 >= 114\r
+#    define BOOST_PP_ITERATION_3 114\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 113 && BOOST_PP_ITERATION_START_3 >= 113\r
+#    define BOOST_PP_ITERATION_3 113\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 112 && BOOST_PP_ITERATION_START_3 >= 112\r
+#    define BOOST_PP_ITERATION_3 112\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 111 && BOOST_PP_ITERATION_START_3 >= 111\r
+#    define BOOST_PP_ITERATION_3 111\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 110 && BOOST_PP_ITERATION_START_3 >= 110\r
+#    define BOOST_PP_ITERATION_3 110\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 109 && BOOST_PP_ITERATION_START_3 >= 109\r
+#    define BOOST_PP_ITERATION_3 109\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 108 && BOOST_PP_ITERATION_START_3 >= 108\r
+#    define BOOST_PP_ITERATION_3 108\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 107 && BOOST_PP_ITERATION_START_3 >= 107\r
+#    define BOOST_PP_ITERATION_3 107\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 106 && BOOST_PP_ITERATION_START_3 >= 106\r
+#    define BOOST_PP_ITERATION_3 106\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 105 && BOOST_PP_ITERATION_START_3 >= 105\r
+#    define BOOST_PP_ITERATION_3 105\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 104 && BOOST_PP_ITERATION_START_3 >= 104\r
+#    define BOOST_PP_ITERATION_3 104\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 103 && BOOST_PP_ITERATION_START_3 >= 103\r
+#    define BOOST_PP_ITERATION_3 103\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 102 && BOOST_PP_ITERATION_START_3 >= 102\r
+#    define BOOST_PP_ITERATION_3 102\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 101 && BOOST_PP_ITERATION_START_3 >= 101\r
+#    define BOOST_PP_ITERATION_3 101\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 100 && BOOST_PP_ITERATION_START_3 >= 100\r
+#    define BOOST_PP_ITERATION_3 100\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 99 && BOOST_PP_ITERATION_START_3 >= 99\r
+#    define BOOST_PP_ITERATION_3 99\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 98 && BOOST_PP_ITERATION_START_3 >= 98\r
+#    define BOOST_PP_ITERATION_3 98\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 97 && BOOST_PP_ITERATION_START_3 >= 97\r
+#    define BOOST_PP_ITERATION_3 97\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 96 && BOOST_PP_ITERATION_START_3 >= 96\r
+#    define BOOST_PP_ITERATION_3 96\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 95 && BOOST_PP_ITERATION_START_3 >= 95\r
+#    define BOOST_PP_ITERATION_3 95\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 94 && BOOST_PP_ITERATION_START_3 >= 94\r
+#    define BOOST_PP_ITERATION_3 94\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 93 && BOOST_PP_ITERATION_START_3 >= 93\r
+#    define BOOST_PP_ITERATION_3 93\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 92 && BOOST_PP_ITERATION_START_3 >= 92\r
+#    define BOOST_PP_ITERATION_3 92\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 91 && BOOST_PP_ITERATION_START_3 >= 91\r
+#    define BOOST_PP_ITERATION_3 91\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 90 && BOOST_PP_ITERATION_START_3 >= 90\r
+#    define BOOST_PP_ITERATION_3 90\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 89 && BOOST_PP_ITERATION_START_3 >= 89\r
+#    define BOOST_PP_ITERATION_3 89\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 88 && BOOST_PP_ITERATION_START_3 >= 88\r
+#    define BOOST_PP_ITERATION_3 88\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 87 && BOOST_PP_ITERATION_START_3 >= 87\r
+#    define BOOST_PP_ITERATION_3 87\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 86 && BOOST_PP_ITERATION_START_3 >= 86\r
+#    define BOOST_PP_ITERATION_3 86\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 85 && BOOST_PP_ITERATION_START_3 >= 85\r
+#    define BOOST_PP_ITERATION_3 85\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 84 && BOOST_PP_ITERATION_START_3 >= 84\r
+#    define BOOST_PP_ITERATION_3 84\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 83 && BOOST_PP_ITERATION_START_3 >= 83\r
+#    define BOOST_PP_ITERATION_3 83\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 82 && BOOST_PP_ITERATION_START_3 >= 82\r
+#    define BOOST_PP_ITERATION_3 82\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 81 && BOOST_PP_ITERATION_START_3 >= 81\r
+#    define BOOST_PP_ITERATION_3 81\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 80 && BOOST_PP_ITERATION_START_3 >= 80\r
+#    define BOOST_PP_ITERATION_3 80\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 79 && BOOST_PP_ITERATION_START_3 >= 79\r
+#    define BOOST_PP_ITERATION_3 79\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 78 && BOOST_PP_ITERATION_START_3 >= 78\r
+#    define BOOST_PP_ITERATION_3 78\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 77 && BOOST_PP_ITERATION_START_3 >= 77\r
+#    define BOOST_PP_ITERATION_3 77\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 76 && BOOST_PP_ITERATION_START_3 >= 76\r
+#    define BOOST_PP_ITERATION_3 76\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 75 && BOOST_PP_ITERATION_START_3 >= 75\r
+#    define BOOST_PP_ITERATION_3 75\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 74 && BOOST_PP_ITERATION_START_3 >= 74\r
+#    define BOOST_PP_ITERATION_3 74\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 73 && BOOST_PP_ITERATION_START_3 >= 73\r
+#    define BOOST_PP_ITERATION_3 73\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 72 && BOOST_PP_ITERATION_START_3 >= 72\r
+#    define BOOST_PP_ITERATION_3 72\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 71 && BOOST_PP_ITERATION_START_3 >= 71\r
+#    define BOOST_PP_ITERATION_3 71\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 70 && BOOST_PP_ITERATION_START_3 >= 70\r
+#    define BOOST_PP_ITERATION_3 70\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 69 && BOOST_PP_ITERATION_START_3 >= 69\r
+#    define BOOST_PP_ITERATION_3 69\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 68 && BOOST_PP_ITERATION_START_3 >= 68\r
+#    define BOOST_PP_ITERATION_3 68\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 67 && BOOST_PP_ITERATION_START_3 >= 67\r
+#    define BOOST_PP_ITERATION_3 67\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 66 && BOOST_PP_ITERATION_START_3 >= 66\r
+#    define BOOST_PP_ITERATION_3 66\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 65 && BOOST_PP_ITERATION_START_3 >= 65\r
+#    define BOOST_PP_ITERATION_3 65\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 64 && BOOST_PP_ITERATION_START_3 >= 64\r
+#    define BOOST_PP_ITERATION_3 64\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 63 && BOOST_PP_ITERATION_START_3 >= 63\r
+#    define BOOST_PP_ITERATION_3 63\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 62 && BOOST_PP_ITERATION_START_3 >= 62\r
+#    define BOOST_PP_ITERATION_3 62\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 61 && BOOST_PP_ITERATION_START_3 >= 61\r
+#    define BOOST_PP_ITERATION_3 61\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 60 && BOOST_PP_ITERATION_START_3 >= 60\r
+#    define BOOST_PP_ITERATION_3 60\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 59 && BOOST_PP_ITERATION_START_3 >= 59\r
+#    define BOOST_PP_ITERATION_3 59\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 58 && BOOST_PP_ITERATION_START_3 >= 58\r
+#    define BOOST_PP_ITERATION_3 58\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 57 && BOOST_PP_ITERATION_START_3 >= 57\r
+#    define BOOST_PP_ITERATION_3 57\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 56 && BOOST_PP_ITERATION_START_3 >= 56\r
+#    define BOOST_PP_ITERATION_3 56\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 55 && BOOST_PP_ITERATION_START_3 >= 55\r
+#    define BOOST_PP_ITERATION_3 55\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 54 && BOOST_PP_ITERATION_START_3 >= 54\r
+#    define BOOST_PP_ITERATION_3 54\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 53 && BOOST_PP_ITERATION_START_3 >= 53\r
+#    define BOOST_PP_ITERATION_3 53\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 52 && BOOST_PP_ITERATION_START_3 >= 52\r
+#    define BOOST_PP_ITERATION_3 52\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 51 && BOOST_PP_ITERATION_START_3 >= 51\r
+#    define BOOST_PP_ITERATION_3 51\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 50 && BOOST_PP_ITERATION_START_3 >= 50\r
+#    define BOOST_PP_ITERATION_3 50\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 49 && BOOST_PP_ITERATION_START_3 >= 49\r
+#    define BOOST_PP_ITERATION_3 49\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 48 && BOOST_PP_ITERATION_START_3 >= 48\r
+#    define BOOST_PP_ITERATION_3 48\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 47 && BOOST_PP_ITERATION_START_3 >= 47\r
+#    define BOOST_PP_ITERATION_3 47\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 46 && BOOST_PP_ITERATION_START_3 >= 46\r
+#    define BOOST_PP_ITERATION_3 46\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 45 && BOOST_PP_ITERATION_START_3 >= 45\r
+#    define BOOST_PP_ITERATION_3 45\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 44 && BOOST_PP_ITERATION_START_3 >= 44\r
+#    define BOOST_PP_ITERATION_3 44\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 43 && BOOST_PP_ITERATION_START_3 >= 43\r
+#    define BOOST_PP_ITERATION_3 43\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 42 && BOOST_PP_ITERATION_START_3 >= 42\r
+#    define BOOST_PP_ITERATION_3 42\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 41 && BOOST_PP_ITERATION_START_3 >= 41\r
+#    define BOOST_PP_ITERATION_3 41\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 40 && BOOST_PP_ITERATION_START_3 >= 40\r
+#    define BOOST_PP_ITERATION_3 40\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 39 && BOOST_PP_ITERATION_START_3 >= 39\r
+#    define BOOST_PP_ITERATION_3 39\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 38 && BOOST_PP_ITERATION_START_3 >= 38\r
+#    define BOOST_PP_ITERATION_3 38\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 37 && BOOST_PP_ITERATION_START_3 >= 37\r
+#    define BOOST_PP_ITERATION_3 37\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 36 && BOOST_PP_ITERATION_START_3 >= 36\r
+#    define BOOST_PP_ITERATION_3 36\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 35 && BOOST_PP_ITERATION_START_3 >= 35\r
+#    define BOOST_PP_ITERATION_3 35\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 34 && BOOST_PP_ITERATION_START_3 >= 34\r
+#    define BOOST_PP_ITERATION_3 34\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 33 && BOOST_PP_ITERATION_START_3 >= 33\r
+#    define BOOST_PP_ITERATION_3 33\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 32 && BOOST_PP_ITERATION_START_3 >= 32\r
+#    define BOOST_PP_ITERATION_3 32\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 31 && BOOST_PP_ITERATION_START_3 >= 31\r
+#    define BOOST_PP_ITERATION_3 31\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 30 && BOOST_PP_ITERATION_START_3 >= 30\r
+#    define BOOST_PP_ITERATION_3 30\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 29 && BOOST_PP_ITERATION_START_3 >= 29\r
+#    define BOOST_PP_ITERATION_3 29\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 28 && BOOST_PP_ITERATION_START_3 >= 28\r
+#    define BOOST_PP_ITERATION_3 28\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 27 && BOOST_PP_ITERATION_START_3 >= 27\r
+#    define BOOST_PP_ITERATION_3 27\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 26 && BOOST_PP_ITERATION_START_3 >= 26\r
+#    define BOOST_PP_ITERATION_3 26\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 25 && BOOST_PP_ITERATION_START_3 >= 25\r
+#    define BOOST_PP_ITERATION_3 25\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 24 && BOOST_PP_ITERATION_START_3 >= 24\r
+#    define BOOST_PP_ITERATION_3 24\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 23 && BOOST_PP_ITERATION_START_3 >= 23\r
+#    define BOOST_PP_ITERATION_3 23\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 22 && BOOST_PP_ITERATION_START_3 >= 22\r
+#    define BOOST_PP_ITERATION_3 22\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 21 && BOOST_PP_ITERATION_START_3 >= 21\r
+#    define BOOST_PP_ITERATION_3 21\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 20 && BOOST_PP_ITERATION_START_3 >= 20\r
+#    define BOOST_PP_ITERATION_3 20\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 19 && BOOST_PP_ITERATION_START_3 >= 19\r
+#    define BOOST_PP_ITERATION_3 19\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 18 && BOOST_PP_ITERATION_START_3 >= 18\r
+#    define BOOST_PP_ITERATION_3 18\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 17 && BOOST_PP_ITERATION_START_3 >= 17\r
+#    define BOOST_PP_ITERATION_3 17\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 16 && BOOST_PP_ITERATION_START_3 >= 16\r
+#    define BOOST_PP_ITERATION_3 16\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 15 && BOOST_PP_ITERATION_START_3 >= 15\r
+#    define BOOST_PP_ITERATION_3 15\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 14 && BOOST_PP_ITERATION_START_3 >= 14\r
+#    define BOOST_PP_ITERATION_3 14\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 13 && BOOST_PP_ITERATION_START_3 >= 13\r
+#    define BOOST_PP_ITERATION_3 13\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 12 && BOOST_PP_ITERATION_START_3 >= 12\r
+#    define BOOST_PP_ITERATION_3 12\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 11 && BOOST_PP_ITERATION_START_3 >= 11\r
+#    define BOOST_PP_ITERATION_3 11\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 10 && BOOST_PP_ITERATION_START_3 >= 10\r
+#    define BOOST_PP_ITERATION_3 10\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 9 && BOOST_PP_ITERATION_START_3 >= 9\r
+#    define BOOST_PP_ITERATION_3 9\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 8 && BOOST_PP_ITERATION_START_3 >= 8\r
+#    define BOOST_PP_ITERATION_3 8\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 7 && BOOST_PP_ITERATION_START_3 >= 7\r
+#    define BOOST_PP_ITERATION_3 7\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 6 && BOOST_PP_ITERATION_START_3 >= 6\r
+#    define BOOST_PP_ITERATION_3 6\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 5 && BOOST_PP_ITERATION_START_3 >= 5\r
+#    define BOOST_PP_ITERATION_3 5\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 4 && BOOST_PP_ITERATION_START_3 >= 4\r
+#    define BOOST_PP_ITERATION_3 4\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 3 && BOOST_PP_ITERATION_START_3 >= 3\r
+#    define BOOST_PP_ITERATION_3 3\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 2 && BOOST_PP_ITERATION_START_3 >= 2\r
+#    define BOOST_PP_ITERATION_3 2\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 1 && BOOST_PP_ITERATION_START_3 >= 1\r
+#    define BOOST_PP_ITERATION_3 1\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_3 <= 0 && BOOST_PP_ITERATION_START_3 >= 0\r
+#    define BOOST_PP_ITERATION_3 0\r
+#    include BOOST_PP_FILENAME_3\r
+#    undef BOOST_PP_ITERATION_3\r
+# endif\r
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 (file)
index 0000000..aedceb3
--- /dev/null
@@ -0,0 +1,1296 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 256 && BOOST_PP_ITERATION_START_4 >= 256\r
+#    define BOOST_PP_ITERATION_4 256\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 255 && BOOST_PP_ITERATION_START_4 >= 255\r
+#    define BOOST_PP_ITERATION_4 255\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 254 && BOOST_PP_ITERATION_START_4 >= 254\r
+#    define BOOST_PP_ITERATION_4 254\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 253 && BOOST_PP_ITERATION_START_4 >= 253\r
+#    define BOOST_PP_ITERATION_4 253\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 252 && BOOST_PP_ITERATION_START_4 >= 252\r
+#    define BOOST_PP_ITERATION_4 252\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 251 && BOOST_PP_ITERATION_START_4 >= 251\r
+#    define BOOST_PP_ITERATION_4 251\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 250 && BOOST_PP_ITERATION_START_4 >= 250\r
+#    define BOOST_PP_ITERATION_4 250\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 249 && BOOST_PP_ITERATION_START_4 >= 249\r
+#    define BOOST_PP_ITERATION_4 249\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 248 && BOOST_PP_ITERATION_START_4 >= 248\r
+#    define BOOST_PP_ITERATION_4 248\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 247 && BOOST_PP_ITERATION_START_4 >= 247\r
+#    define BOOST_PP_ITERATION_4 247\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 246 && BOOST_PP_ITERATION_START_4 >= 246\r
+#    define BOOST_PP_ITERATION_4 246\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 245 && BOOST_PP_ITERATION_START_4 >= 245\r
+#    define BOOST_PP_ITERATION_4 245\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 244 && BOOST_PP_ITERATION_START_4 >= 244\r
+#    define BOOST_PP_ITERATION_4 244\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 243 && BOOST_PP_ITERATION_START_4 >= 243\r
+#    define BOOST_PP_ITERATION_4 243\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 242 && BOOST_PP_ITERATION_START_4 >= 242\r
+#    define BOOST_PP_ITERATION_4 242\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 241 && BOOST_PP_ITERATION_START_4 >= 241\r
+#    define BOOST_PP_ITERATION_4 241\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 240 && BOOST_PP_ITERATION_START_4 >= 240\r
+#    define BOOST_PP_ITERATION_4 240\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 239 && BOOST_PP_ITERATION_START_4 >= 239\r
+#    define BOOST_PP_ITERATION_4 239\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 238 && BOOST_PP_ITERATION_START_4 >= 238\r
+#    define BOOST_PP_ITERATION_4 238\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 237 && BOOST_PP_ITERATION_START_4 >= 237\r
+#    define BOOST_PP_ITERATION_4 237\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 236 && BOOST_PP_ITERATION_START_4 >= 236\r
+#    define BOOST_PP_ITERATION_4 236\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 235 && BOOST_PP_ITERATION_START_4 >= 235\r
+#    define BOOST_PP_ITERATION_4 235\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 234 && BOOST_PP_ITERATION_START_4 >= 234\r
+#    define BOOST_PP_ITERATION_4 234\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 233 && BOOST_PP_ITERATION_START_4 >= 233\r
+#    define BOOST_PP_ITERATION_4 233\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 232 && BOOST_PP_ITERATION_START_4 >= 232\r
+#    define BOOST_PP_ITERATION_4 232\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 231 && BOOST_PP_ITERATION_START_4 >= 231\r
+#    define BOOST_PP_ITERATION_4 231\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 230 && BOOST_PP_ITERATION_START_4 >= 230\r
+#    define BOOST_PP_ITERATION_4 230\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 229 && BOOST_PP_ITERATION_START_4 >= 229\r
+#    define BOOST_PP_ITERATION_4 229\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 228 && BOOST_PP_ITERATION_START_4 >= 228\r
+#    define BOOST_PP_ITERATION_4 228\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 227 && BOOST_PP_ITERATION_START_4 >= 227\r
+#    define BOOST_PP_ITERATION_4 227\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 226 && BOOST_PP_ITERATION_START_4 >= 226\r
+#    define BOOST_PP_ITERATION_4 226\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 225 && BOOST_PP_ITERATION_START_4 >= 225\r
+#    define BOOST_PP_ITERATION_4 225\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 224 && BOOST_PP_ITERATION_START_4 >= 224\r
+#    define BOOST_PP_ITERATION_4 224\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 223 && BOOST_PP_ITERATION_START_4 >= 223\r
+#    define BOOST_PP_ITERATION_4 223\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 222 && BOOST_PP_ITERATION_START_4 >= 222\r
+#    define BOOST_PP_ITERATION_4 222\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 221 && BOOST_PP_ITERATION_START_4 >= 221\r
+#    define BOOST_PP_ITERATION_4 221\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 220 && BOOST_PP_ITERATION_START_4 >= 220\r
+#    define BOOST_PP_ITERATION_4 220\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 219 && BOOST_PP_ITERATION_START_4 >= 219\r
+#    define BOOST_PP_ITERATION_4 219\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 218 && BOOST_PP_ITERATION_START_4 >= 218\r
+#    define BOOST_PP_ITERATION_4 218\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 217 && BOOST_PP_ITERATION_START_4 >= 217\r
+#    define BOOST_PP_ITERATION_4 217\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 216 && BOOST_PP_ITERATION_START_4 >= 216\r
+#    define BOOST_PP_ITERATION_4 216\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 215 && BOOST_PP_ITERATION_START_4 >= 215\r
+#    define BOOST_PP_ITERATION_4 215\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 214 && BOOST_PP_ITERATION_START_4 >= 214\r
+#    define BOOST_PP_ITERATION_4 214\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 213 && BOOST_PP_ITERATION_START_4 >= 213\r
+#    define BOOST_PP_ITERATION_4 213\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 212 && BOOST_PP_ITERATION_START_4 >= 212\r
+#    define BOOST_PP_ITERATION_4 212\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 211 && BOOST_PP_ITERATION_START_4 >= 211\r
+#    define BOOST_PP_ITERATION_4 211\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 210 && BOOST_PP_ITERATION_START_4 >= 210\r
+#    define BOOST_PP_ITERATION_4 210\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 209 && BOOST_PP_ITERATION_START_4 >= 209\r
+#    define BOOST_PP_ITERATION_4 209\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 208 && BOOST_PP_ITERATION_START_4 >= 208\r
+#    define BOOST_PP_ITERATION_4 208\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 207 && BOOST_PP_ITERATION_START_4 >= 207\r
+#    define BOOST_PP_ITERATION_4 207\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 206 && BOOST_PP_ITERATION_START_4 >= 206\r
+#    define BOOST_PP_ITERATION_4 206\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 205 && BOOST_PP_ITERATION_START_4 >= 205\r
+#    define BOOST_PP_ITERATION_4 205\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 204 && BOOST_PP_ITERATION_START_4 >= 204\r
+#    define BOOST_PP_ITERATION_4 204\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 203 && BOOST_PP_ITERATION_START_4 >= 203\r
+#    define BOOST_PP_ITERATION_4 203\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 202 && BOOST_PP_ITERATION_START_4 >= 202\r
+#    define BOOST_PP_ITERATION_4 202\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 201 && BOOST_PP_ITERATION_START_4 >= 201\r
+#    define BOOST_PP_ITERATION_4 201\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 200 && BOOST_PP_ITERATION_START_4 >= 200\r
+#    define BOOST_PP_ITERATION_4 200\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 199 && BOOST_PP_ITERATION_START_4 >= 199\r
+#    define BOOST_PP_ITERATION_4 199\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 198 && BOOST_PP_ITERATION_START_4 >= 198\r
+#    define BOOST_PP_ITERATION_4 198\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 197 && BOOST_PP_ITERATION_START_4 >= 197\r
+#    define BOOST_PP_ITERATION_4 197\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 196 && BOOST_PP_ITERATION_START_4 >= 196\r
+#    define BOOST_PP_ITERATION_4 196\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 195 && BOOST_PP_ITERATION_START_4 >= 195\r
+#    define BOOST_PP_ITERATION_4 195\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 194 && BOOST_PP_ITERATION_START_4 >= 194\r
+#    define BOOST_PP_ITERATION_4 194\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 193 && BOOST_PP_ITERATION_START_4 >= 193\r
+#    define BOOST_PP_ITERATION_4 193\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 192 && BOOST_PP_ITERATION_START_4 >= 192\r
+#    define BOOST_PP_ITERATION_4 192\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 191 && BOOST_PP_ITERATION_START_4 >= 191\r
+#    define BOOST_PP_ITERATION_4 191\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 190 && BOOST_PP_ITERATION_START_4 >= 190\r
+#    define BOOST_PP_ITERATION_4 190\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 189 && BOOST_PP_ITERATION_START_4 >= 189\r
+#    define BOOST_PP_ITERATION_4 189\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 188 && BOOST_PP_ITERATION_START_4 >= 188\r
+#    define BOOST_PP_ITERATION_4 188\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 187 && BOOST_PP_ITERATION_START_4 >= 187\r
+#    define BOOST_PP_ITERATION_4 187\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 186 && BOOST_PP_ITERATION_START_4 >= 186\r
+#    define BOOST_PP_ITERATION_4 186\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 185 && BOOST_PP_ITERATION_START_4 >= 185\r
+#    define BOOST_PP_ITERATION_4 185\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 184 && BOOST_PP_ITERATION_START_4 >= 184\r
+#    define BOOST_PP_ITERATION_4 184\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 183 && BOOST_PP_ITERATION_START_4 >= 183\r
+#    define BOOST_PP_ITERATION_4 183\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 182 && BOOST_PP_ITERATION_START_4 >= 182\r
+#    define BOOST_PP_ITERATION_4 182\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 181 && BOOST_PP_ITERATION_START_4 >= 181\r
+#    define BOOST_PP_ITERATION_4 181\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 180 && BOOST_PP_ITERATION_START_4 >= 180\r
+#    define BOOST_PP_ITERATION_4 180\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 179 && BOOST_PP_ITERATION_START_4 >= 179\r
+#    define BOOST_PP_ITERATION_4 179\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 178 && BOOST_PP_ITERATION_START_4 >= 178\r
+#    define BOOST_PP_ITERATION_4 178\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 177 && BOOST_PP_ITERATION_START_4 >= 177\r
+#    define BOOST_PP_ITERATION_4 177\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 176 && BOOST_PP_ITERATION_START_4 >= 176\r
+#    define BOOST_PP_ITERATION_4 176\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 175 && BOOST_PP_ITERATION_START_4 >= 175\r
+#    define BOOST_PP_ITERATION_4 175\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 174 && BOOST_PP_ITERATION_START_4 >= 174\r
+#    define BOOST_PP_ITERATION_4 174\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 173 && BOOST_PP_ITERATION_START_4 >= 173\r
+#    define BOOST_PP_ITERATION_4 173\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 172 && BOOST_PP_ITERATION_START_4 >= 172\r
+#    define BOOST_PP_ITERATION_4 172\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 171 && BOOST_PP_ITERATION_START_4 >= 171\r
+#    define BOOST_PP_ITERATION_4 171\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 170 && BOOST_PP_ITERATION_START_4 >= 170\r
+#    define BOOST_PP_ITERATION_4 170\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 169 && BOOST_PP_ITERATION_START_4 >= 169\r
+#    define BOOST_PP_ITERATION_4 169\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 168 && BOOST_PP_ITERATION_START_4 >= 168\r
+#    define BOOST_PP_ITERATION_4 168\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 167 && BOOST_PP_ITERATION_START_4 >= 167\r
+#    define BOOST_PP_ITERATION_4 167\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 166 && BOOST_PP_ITERATION_START_4 >= 166\r
+#    define BOOST_PP_ITERATION_4 166\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 165 && BOOST_PP_ITERATION_START_4 >= 165\r
+#    define BOOST_PP_ITERATION_4 165\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 164 && BOOST_PP_ITERATION_START_4 >= 164\r
+#    define BOOST_PP_ITERATION_4 164\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 163 && BOOST_PP_ITERATION_START_4 >= 163\r
+#    define BOOST_PP_ITERATION_4 163\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 162 && BOOST_PP_ITERATION_START_4 >= 162\r
+#    define BOOST_PP_ITERATION_4 162\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 161 && BOOST_PP_ITERATION_START_4 >= 161\r
+#    define BOOST_PP_ITERATION_4 161\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 160 && BOOST_PP_ITERATION_START_4 >= 160\r
+#    define BOOST_PP_ITERATION_4 160\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 159 && BOOST_PP_ITERATION_START_4 >= 159\r
+#    define BOOST_PP_ITERATION_4 159\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 158 && BOOST_PP_ITERATION_START_4 >= 158\r
+#    define BOOST_PP_ITERATION_4 158\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 157 && BOOST_PP_ITERATION_START_4 >= 157\r
+#    define BOOST_PP_ITERATION_4 157\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 156 && BOOST_PP_ITERATION_START_4 >= 156\r
+#    define BOOST_PP_ITERATION_4 156\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 155 && BOOST_PP_ITERATION_START_4 >= 155\r
+#    define BOOST_PP_ITERATION_4 155\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 154 && BOOST_PP_ITERATION_START_4 >= 154\r
+#    define BOOST_PP_ITERATION_4 154\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 153 && BOOST_PP_ITERATION_START_4 >= 153\r
+#    define BOOST_PP_ITERATION_4 153\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 152 && BOOST_PP_ITERATION_START_4 >= 152\r
+#    define BOOST_PP_ITERATION_4 152\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 151 && BOOST_PP_ITERATION_START_4 >= 151\r
+#    define BOOST_PP_ITERATION_4 151\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 150 && BOOST_PP_ITERATION_START_4 >= 150\r
+#    define BOOST_PP_ITERATION_4 150\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 149 && BOOST_PP_ITERATION_START_4 >= 149\r
+#    define BOOST_PP_ITERATION_4 149\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 148 && BOOST_PP_ITERATION_START_4 >= 148\r
+#    define BOOST_PP_ITERATION_4 148\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 147 && BOOST_PP_ITERATION_START_4 >= 147\r
+#    define BOOST_PP_ITERATION_4 147\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 146 && BOOST_PP_ITERATION_START_4 >= 146\r
+#    define BOOST_PP_ITERATION_4 146\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 145 && BOOST_PP_ITERATION_START_4 >= 145\r
+#    define BOOST_PP_ITERATION_4 145\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 144 && BOOST_PP_ITERATION_START_4 >= 144\r
+#    define BOOST_PP_ITERATION_4 144\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 143 && BOOST_PP_ITERATION_START_4 >= 143\r
+#    define BOOST_PP_ITERATION_4 143\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 142 && BOOST_PP_ITERATION_START_4 >= 142\r
+#    define BOOST_PP_ITERATION_4 142\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 141 && BOOST_PP_ITERATION_START_4 >= 141\r
+#    define BOOST_PP_ITERATION_4 141\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 140 && BOOST_PP_ITERATION_START_4 >= 140\r
+#    define BOOST_PP_ITERATION_4 140\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 139 && BOOST_PP_ITERATION_START_4 >= 139\r
+#    define BOOST_PP_ITERATION_4 139\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 138 && BOOST_PP_ITERATION_START_4 >= 138\r
+#    define BOOST_PP_ITERATION_4 138\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 137 && BOOST_PP_ITERATION_START_4 >= 137\r
+#    define BOOST_PP_ITERATION_4 137\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 136 && BOOST_PP_ITERATION_START_4 >= 136\r
+#    define BOOST_PP_ITERATION_4 136\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 135 && BOOST_PP_ITERATION_START_4 >= 135\r
+#    define BOOST_PP_ITERATION_4 135\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 134 && BOOST_PP_ITERATION_START_4 >= 134\r
+#    define BOOST_PP_ITERATION_4 134\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 133 && BOOST_PP_ITERATION_START_4 >= 133\r
+#    define BOOST_PP_ITERATION_4 133\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 132 && BOOST_PP_ITERATION_START_4 >= 132\r
+#    define BOOST_PP_ITERATION_4 132\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 131 && BOOST_PP_ITERATION_START_4 >= 131\r
+#    define BOOST_PP_ITERATION_4 131\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 130 && BOOST_PP_ITERATION_START_4 >= 130\r
+#    define BOOST_PP_ITERATION_4 130\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 129 && BOOST_PP_ITERATION_START_4 >= 129\r
+#    define BOOST_PP_ITERATION_4 129\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 128 && BOOST_PP_ITERATION_START_4 >= 128\r
+#    define BOOST_PP_ITERATION_4 128\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 127 && BOOST_PP_ITERATION_START_4 >= 127\r
+#    define BOOST_PP_ITERATION_4 127\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 126 && BOOST_PP_ITERATION_START_4 >= 126\r
+#    define BOOST_PP_ITERATION_4 126\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 125 && BOOST_PP_ITERATION_START_4 >= 125\r
+#    define BOOST_PP_ITERATION_4 125\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 124 && BOOST_PP_ITERATION_START_4 >= 124\r
+#    define BOOST_PP_ITERATION_4 124\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 123 && BOOST_PP_ITERATION_START_4 >= 123\r
+#    define BOOST_PP_ITERATION_4 123\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 122 && BOOST_PP_ITERATION_START_4 >= 122\r
+#    define BOOST_PP_ITERATION_4 122\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 121 && BOOST_PP_ITERATION_START_4 >= 121\r
+#    define BOOST_PP_ITERATION_4 121\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 120 && BOOST_PP_ITERATION_START_4 >= 120\r
+#    define BOOST_PP_ITERATION_4 120\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 119 && BOOST_PP_ITERATION_START_4 >= 119\r
+#    define BOOST_PP_ITERATION_4 119\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 118 && BOOST_PP_ITERATION_START_4 >= 118\r
+#    define BOOST_PP_ITERATION_4 118\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 117 && BOOST_PP_ITERATION_START_4 >= 117\r
+#    define BOOST_PP_ITERATION_4 117\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 116 && BOOST_PP_ITERATION_START_4 >= 116\r
+#    define BOOST_PP_ITERATION_4 116\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 115 && BOOST_PP_ITERATION_START_4 >= 115\r
+#    define BOOST_PP_ITERATION_4 115\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 114 && BOOST_PP_ITERATION_START_4 >= 114\r
+#    define BOOST_PP_ITERATION_4 114\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 113 && BOOST_PP_ITERATION_START_4 >= 113\r
+#    define BOOST_PP_ITERATION_4 113\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 112 && BOOST_PP_ITERATION_START_4 >= 112\r
+#    define BOOST_PP_ITERATION_4 112\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 111 && BOOST_PP_ITERATION_START_4 >= 111\r
+#    define BOOST_PP_ITERATION_4 111\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 110 && BOOST_PP_ITERATION_START_4 >= 110\r
+#    define BOOST_PP_ITERATION_4 110\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 109 && BOOST_PP_ITERATION_START_4 >= 109\r
+#    define BOOST_PP_ITERATION_4 109\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 108 && BOOST_PP_ITERATION_START_4 >= 108\r
+#    define BOOST_PP_ITERATION_4 108\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 107 && BOOST_PP_ITERATION_START_4 >= 107\r
+#    define BOOST_PP_ITERATION_4 107\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 106 && BOOST_PP_ITERATION_START_4 >= 106\r
+#    define BOOST_PP_ITERATION_4 106\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 105 && BOOST_PP_ITERATION_START_4 >= 105\r
+#    define BOOST_PP_ITERATION_4 105\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 104 && BOOST_PP_ITERATION_START_4 >= 104\r
+#    define BOOST_PP_ITERATION_4 104\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 103 && BOOST_PP_ITERATION_START_4 >= 103\r
+#    define BOOST_PP_ITERATION_4 103\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 102 && BOOST_PP_ITERATION_START_4 >= 102\r
+#    define BOOST_PP_ITERATION_4 102\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 101 && BOOST_PP_ITERATION_START_4 >= 101\r
+#    define BOOST_PP_ITERATION_4 101\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 100 && BOOST_PP_ITERATION_START_4 >= 100\r
+#    define BOOST_PP_ITERATION_4 100\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 99 && BOOST_PP_ITERATION_START_4 >= 99\r
+#    define BOOST_PP_ITERATION_4 99\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 98 && BOOST_PP_ITERATION_START_4 >= 98\r
+#    define BOOST_PP_ITERATION_4 98\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 97 && BOOST_PP_ITERATION_START_4 >= 97\r
+#    define BOOST_PP_ITERATION_4 97\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 96 && BOOST_PP_ITERATION_START_4 >= 96\r
+#    define BOOST_PP_ITERATION_4 96\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 95 && BOOST_PP_ITERATION_START_4 >= 95\r
+#    define BOOST_PP_ITERATION_4 95\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 94 && BOOST_PP_ITERATION_START_4 >= 94\r
+#    define BOOST_PP_ITERATION_4 94\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 93 && BOOST_PP_ITERATION_START_4 >= 93\r
+#    define BOOST_PP_ITERATION_4 93\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 92 && BOOST_PP_ITERATION_START_4 >= 92\r
+#    define BOOST_PP_ITERATION_4 92\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 91 && BOOST_PP_ITERATION_START_4 >= 91\r
+#    define BOOST_PP_ITERATION_4 91\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 90 && BOOST_PP_ITERATION_START_4 >= 90\r
+#    define BOOST_PP_ITERATION_4 90\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 89 && BOOST_PP_ITERATION_START_4 >= 89\r
+#    define BOOST_PP_ITERATION_4 89\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 88 && BOOST_PP_ITERATION_START_4 >= 88\r
+#    define BOOST_PP_ITERATION_4 88\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 87 && BOOST_PP_ITERATION_START_4 >= 87\r
+#    define BOOST_PP_ITERATION_4 87\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 86 && BOOST_PP_ITERATION_START_4 >= 86\r
+#    define BOOST_PP_ITERATION_4 86\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 85 && BOOST_PP_ITERATION_START_4 >= 85\r
+#    define BOOST_PP_ITERATION_4 85\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 84 && BOOST_PP_ITERATION_START_4 >= 84\r
+#    define BOOST_PP_ITERATION_4 84\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 83 && BOOST_PP_ITERATION_START_4 >= 83\r
+#    define BOOST_PP_ITERATION_4 83\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 82 && BOOST_PP_ITERATION_START_4 >= 82\r
+#    define BOOST_PP_ITERATION_4 82\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 81 && BOOST_PP_ITERATION_START_4 >= 81\r
+#    define BOOST_PP_ITERATION_4 81\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 80 && BOOST_PP_ITERATION_START_4 >= 80\r
+#    define BOOST_PP_ITERATION_4 80\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 79 && BOOST_PP_ITERATION_START_4 >= 79\r
+#    define BOOST_PP_ITERATION_4 79\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 78 && BOOST_PP_ITERATION_START_4 >= 78\r
+#    define BOOST_PP_ITERATION_4 78\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 77 && BOOST_PP_ITERATION_START_4 >= 77\r
+#    define BOOST_PP_ITERATION_4 77\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 76 && BOOST_PP_ITERATION_START_4 >= 76\r
+#    define BOOST_PP_ITERATION_4 76\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 75 && BOOST_PP_ITERATION_START_4 >= 75\r
+#    define BOOST_PP_ITERATION_4 75\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 74 && BOOST_PP_ITERATION_START_4 >= 74\r
+#    define BOOST_PP_ITERATION_4 74\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 73 && BOOST_PP_ITERATION_START_4 >= 73\r
+#    define BOOST_PP_ITERATION_4 73\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 72 && BOOST_PP_ITERATION_START_4 >= 72\r
+#    define BOOST_PP_ITERATION_4 72\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 71 && BOOST_PP_ITERATION_START_4 >= 71\r
+#    define BOOST_PP_ITERATION_4 71\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 70 && BOOST_PP_ITERATION_START_4 >= 70\r
+#    define BOOST_PP_ITERATION_4 70\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 69 && BOOST_PP_ITERATION_START_4 >= 69\r
+#    define BOOST_PP_ITERATION_4 69\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 68 && BOOST_PP_ITERATION_START_4 >= 68\r
+#    define BOOST_PP_ITERATION_4 68\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 67 && BOOST_PP_ITERATION_START_4 >= 67\r
+#    define BOOST_PP_ITERATION_4 67\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 66 && BOOST_PP_ITERATION_START_4 >= 66\r
+#    define BOOST_PP_ITERATION_4 66\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 65 && BOOST_PP_ITERATION_START_4 >= 65\r
+#    define BOOST_PP_ITERATION_4 65\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 64 && BOOST_PP_ITERATION_START_4 >= 64\r
+#    define BOOST_PP_ITERATION_4 64\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 63 && BOOST_PP_ITERATION_START_4 >= 63\r
+#    define BOOST_PP_ITERATION_4 63\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 62 && BOOST_PP_ITERATION_START_4 >= 62\r
+#    define BOOST_PP_ITERATION_4 62\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 61 && BOOST_PP_ITERATION_START_4 >= 61\r
+#    define BOOST_PP_ITERATION_4 61\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 60 && BOOST_PP_ITERATION_START_4 >= 60\r
+#    define BOOST_PP_ITERATION_4 60\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 59 && BOOST_PP_ITERATION_START_4 >= 59\r
+#    define BOOST_PP_ITERATION_4 59\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 58 && BOOST_PP_ITERATION_START_4 >= 58\r
+#    define BOOST_PP_ITERATION_4 58\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 57 && BOOST_PP_ITERATION_START_4 >= 57\r
+#    define BOOST_PP_ITERATION_4 57\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 56 && BOOST_PP_ITERATION_START_4 >= 56\r
+#    define BOOST_PP_ITERATION_4 56\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 55 && BOOST_PP_ITERATION_START_4 >= 55\r
+#    define BOOST_PP_ITERATION_4 55\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 54 && BOOST_PP_ITERATION_START_4 >= 54\r
+#    define BOOST_PP_ITERATION_4 54\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 53 && BOOST_PP_ITERATION_START_4 >= 53\r
+#    define BOOST_PP_ITERATION_4 53\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 52 && BOOST_PP_ITERATION_START_4 >= 52\r
+#    define BOOST_PP_ITERATION_4 52\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 51 && BOOST_PP_ITERATION_START_4 >= 51\r
+#    define BOOST_PP_ITERATION_4 51\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 50 && BOOST_PP_ITERATION_START_4 >= 50\r
+#    define BOOST_PP_ITERATION_4 50\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 49 && BOOST_PP_ITERATION_START_4 >= 49\r
+#    define BOOST_PP_ITERATION_4 49\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 48 && BOOST_PP_ITERATION_START_4 >= 48\r
+#    define BOOST_PP_ITERATION_4 48\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 47 && BOOST_PP_ITERATION_START_4 >= 47\r
+#    define BOOST_PP_ITERATION_4 47\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 46 && BOOST_PP_ITERATION_START_4 >= 46\r
+#    define BOOST_PP_ITERATION_4 46\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 45 && BOOST_PP_ITERATION_START_4 >= 45\r
+#    define BOOST_PP_ITERATION_4 45\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 44 && BOOST_PP_ITERATION_START_4 >= 44\r
+#    define BOOST_PP_ITERATION_4 44\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 43 && BOOST_PP_ITERATION_START_4 >= 43\r
+#    define BOOST_PP_ITERATION_4 43\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 42 && BOOST_PP_ITERATION_START_4 >= 42\r
+#    define BOOST_PP_ITERATION_4 42\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 41 && BOOST_PP_ITERATION_START_4 >= 41\r
+#    define BOOST_PP_ITERATION_4 41\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 40 && BOOST_PP_ITERATION_START_4 >= 40\r
+#    define BOOST_PP_ITERATION_4 40\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 39 && BOOST_PP_ITERATION_START_4 >= 39\r
+#    define BOOST_PP_ITERATION_4 39\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 38 && BOOST_PP_ITERATION_START_4 >= 38\r
+#    define BOOST_PP_ITERATION_4 38\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 37 && BOOST_PP_ITERATION_START_4 >= 37\r
+#    define BOOST_PP_ITERATION_4 37\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 36 && BOOST_PP_ITERATION_START_4 >= 36\r
+#    define BOOST_PP_ITERATION_4 36\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 35 && BOOST_PP_ITERATION_START_4 >= 35\r
+#    define BOOST_PP_ITERATION_4 35\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 34 && BOOST_PP_ITERATION_START_4 >= 34\r
+#    define BOOST_PP_ITERATION_4 34\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 33 && BOOST_PP_ITERATION_START_4 >= 33\r
+#    define BOOST_PP_ITERATION_4 33\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 32 && BOOST_PP_ITERATION_START_4 >= 32\r
+#    define BOOST_PP_ITERATION_4 32\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 31 && BOOST_PP_ITERATION_START_4 >= 31\r
+#    define BOOST_PP_ITERATION_4 31\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 30 && BOOST_PP_ITERATION_START_4 >= 30\r
+#    define BOOST_PP_ITERATION_4 30\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 29 && BOOST_PP_ITERATION_START_4 >= 29\r
+#    define BOOST_PP_ITERATION_4 29\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 28 && BOOST_PP_ITERATION_START_4 >= 28\r
+#    define BOOST_PP_ITERATION_4 28\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 27 && BOOST_PP_ITERATION_START_4 >= 27\r
+#    define BOOST_PP_ITERATION_4 27\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 26 && BOOST_PP_ITERATION_START_4 >= 26\r
+#    define BOOST_PP_ITERATION_4 26\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 25 && BOOST_PP_ITERATION_START_4 >= 25\r
+#    define BOOST_PP_ITERATION_4 25\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 24 && BOOST_PP_ITERATION_START_4 >= 24\r
+#    define BOOST_PP_ITERATION_4 24\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 23 && BOOST_PP_ITERATION_START_4 >= 23\r
+#    define BOOST_PP_ITERATION_4 23\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 22 && BOOST_PP_ITERATION_START_4 >= 22\r
+#    define BOOST_PP_ITERATION_4 22\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 21 && BOOST_PP_ITERATION_START_4 >= 21\r
+#    define BOOST_PP_ITERATION_4 21\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 20 && BOOST_PP_ITERATION_START_4 >= 20\r
+#    define BOOST_PP_ITERATION_4 20\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 19 && BOOST_PP_ITERATION_START_4 >= 19\r
+#    define BOOST_PP_ITERATION_4 19\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 18 && BOOST_PP_ITERATION_START_4 >= 18\r
+#    define BOOST_PP_ITERATION_4 18\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 17 && BOOST_PP_ITERATION_START_4 >= 17\r
+#    define BOOST_PP_ITERATION_4 17\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 16 && BOOST_PP_ITERATION_START_4 >= 16\r
+#    define BOOST_PP_ITERATION_4 16\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 15 && BOOST_PP_ITERATION_START_4 >= 15\r
+#    define BOOST_PP_ITERATION_4 15\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 14 && BOOST_PP_ITERATION_START_4 >= 14\r
+#    define BOOST_PP_ITERATION_4 14\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 13 && BOOST_PP_ITERATION_START_4 >= 13\r
+#    define BOOST_PP_ITERATION_4 13\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 12 && BOOST_PP_ITERATION_START_4 >= 12\r
+#    define BOOST_PP_ITERATION_4 12\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 11 && BOOST_PP_ITERATION_START_4 >= 11\r
+#    define BOOST_PP_ITERATION_4 11\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 10 && BOOST_PP_ITERATION_START_4 >= 10\r
+#    define BOOST_PP_ITERATION_4 10\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 9 && BOOST_PP_ITERATION_START_4 >= 9\r
+#    define BOOST_PP_ITERATION_4 9\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 8 && BOOST_PP_ITERATION_START_4 >= 8\r
+#    define BOOST_PP_ITERATION_4 8\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 7 && BOOST_PP_ITERATION_START_4 >= 7\r
+#    define BOOST_PP_ITERATION_4 7\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 6 && BOOST_PP_ITERATION_START_4 >= 6\r
+#    define BOOST_PP_ITERATION_4 6\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 5 && BOOST_PP_ITERATION_START_4 >= 5\r
+#    define BOOST_PP_ITERATION_4 5\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 4 && BOOST_PP_ITERATION_START_4 >= 4\r
+#    define BOOST_PP_ITERATION_4 4\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 3 && BOOST_PP_ITERATION_START_4 >= 3\r
+#    define BOOST_PP_ITERATION_4 3\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 2 && BOOST_PP_ITERATION_START_4 >= 2\r
+#    define BOOST_PP_ITERATION_4 2\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 1 && BOOST_PP_ITERATION_START_4 >= 1\r
+#    define BOOST_PP_ITERATION_4 1\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_4 <= 0 && BOOST_PP_ITERATION_START_4 >= 0\r
+#    define BOOST_PP_ITERATION_4 0\r
+#    include BOOST_PP_FILENAME_4\r
+#    undef BOOST_PP_ITERATION_4\r
+# endif\r
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 (file)
index 0000000..ab99d1e
--- /dev/null
@@ -0,0 +1,1296 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 256 && BOOST_PP_ITERATION_START_5 >= 256\r
+#    define BOOST_PP_ITERATION_5 256\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 255 && BOOST_PP_ITERATION_START_5 >= 255\r
+#    define BOOST_PP_ITERATION_5 255\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 254 && BOOST_PP_ITERATION_START_5 >= 254\r
+#    define BOOST_PP_ITERATION_5 254\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 253 && BOOST_PP_ITERATION_START_5 >= 253\r
+#    define BOOST_PP_ITERATION_5 253\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 252 && BOOST_PP_ITERATION_START_5 >= 252\r
+#    define BOOST_PP_ITERATION_5 252\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 251 && BOOST_PP_ITERATION_START_5 >= 251\r
+#    define BOOST_PP_ITERATION_5 251\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 250 && BOOST_PP_ITERATION_START_5 >= 250\r
+#    define BOOST_PP_ITERATION_5 250\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 249 && BOOST_PP_ITERATION_START_5 >= 249\r
+#    define BOOST_PP_ITERATION_5 249\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 248 && BOOST_PP_ITERATION_START_5 >= 248\r
+#    define BOOST_PP_ITERATION_5 248\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 247 && BOOST_PP_ITERATION_START_5 >= 247\r
+#    define BOOST_PP_ITERATION_5 247\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 246 && BOOST_PP_ITERATION_START_5 >= 246\r
+#    define BOOST_PP_ITERATION_5 246\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 245 && BOOST_PP_ITERATION_START_5 >= 245\r
+#    define BOOST_PP_ITERATION_5 245\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 244 && BOOST_PP_ITERATION_START_5 >= 244\r
+#    define BOOST_PP_ITERATION_5 244\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 243 && BOOST_PP_ITERATION_START_5 >= 243\r
+#    define BOOST_PP_ITERATION_5 243\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 242 && BOOST_PP_ITERATION_START_5 >= 242\r
+#    define BOOST_PP_ITERATION_5 242\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 241 && BOOST_PP_ITERATION_START_5 >= 241\r
+#    define BOOST_PP_ITERATION_5 241\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 240 && BOOST_PP_ITERATION_START_5 >= 240\r
+#    define BOOST_PP_ITERATION_5 240\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 239 && BOOST_PP_ITERATION_START_5 >= 239\r
+#    define BOOST_PP_ITERATION_5 239\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 238 && BOOST_PP_ITERATION_START_5 >= 238\r
+#    define BOOST_PP_ITERATION_5 238\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 237 && BOOST_PP_ITERATION_START_5 >= 237\r
+#    define BOOST_PP_ITERATION_5 237\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 236 && BOOST_PP_ITERATION_START_5 >= 236\r
+#    define BOOST_PP_ITERATION_5 236\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 235 && BOOST_PP_ITERATION_START_5 >= 235\r
+#    define BOOST_PP_ITERATION_5 235\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 234 && BOOST_PP_ITERATION_START_5 >= 234\r
+#    define BOOST_PP_ITERATION_5 234\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 233 && BOOST_PP_ITERATION_START_5 >= 233\r
+#    define BOOST_PP_ITERATION_5 233\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 232 && BOOST_PP_ITERATION_START_5 >= 232\r
+#    define BOOST_PP_ITERATION_5 232\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 231 && BOOST_PP_ITERATION_START_5 >= 231\r
+#    define BOOST_PP_ITERATION_5 231\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 230 && BOOST_PP_ITERATION_START_5 >= 230\r
+#    define BOOST_PP_ITERATION_5 230\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 229 && BOOST_PP_ITERATION_START_5 >= 229\r
+#    define BOOST_PP_ITERATION_5 229\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 228 && BOOST_PP_ITERATION_START_5 >= 228\r
+#    define BOOST_PP_ITERATION_5 228\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 227 && BOOST_PP_ITERATION_START_5 >= 227\r
+#    define BOOST_PP_ITERATION_5 227\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 226 && BOOST_PP_ITERATION_START_5 >= 226\r
+#    define BOOST_PP_ITERATION_5 226\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 225 && BOOST_PP_ITERATION_START_5 >= 225\r
+#    define BOOST_PP_ITERATION_5 225\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 224 && BOOST_PP_ITERATION_START_5 >= 224\r
+#    define BOOST_PP_ITERATION_5 224\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 223 && BOOST_PP_ITERATION_START_5 >= 223\r
+#    define BOOST_PP_ITERATION_5 223\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 222 && BOOST_PP_ITERATION_START_5 >= 222\r
+#    define BOOST_PP_ITERATION_5 222\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 221 && BOOST_PP_ITERATION_START_5 >= 221\r
+#    define BOOST_PP_ITERATION_5 221\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 220 && BOOST_PP_ITERATION_START_5 >= 220\r
+#    define BOOST_PP_ITERATION_5 220\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 219 && BOOST_PP_ITERATION_START_5 >= 219\r
+#    define BOOST_PP_ITERATION_5 219\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 218 && BOOST_PP_ITERATION_START_5 >= 218\r
+#    define BOOST_PP_ITERATION_5 218\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 217 && BOOST_PP_ITERATION_START_5 >= 217\r
+#    define BOOST_PP_ITERATION_5 217\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 216 && BOOST_PP_ITERATION_START_5 >= 216\r
+#    define BOOST_PP_ITERATION_5 216\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 215 && BOOST_PP_ITERATION_START_5 >= 215\r
+#    define BOOST_PP_ITERATION_5 215\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 214 && BOOST_PP_ITERATION_START_5 >= 214\r
+#    define BOOST_PP_ITERATION_5 214\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 213 && BOOST_PP_ITERATION_START_5 >= 213\r
+#    define BOOST_PP_ITERATION_5 213\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 212 && BOOST_PP_ITERATION_START_5 >= 212\r
+#    define BOOST_PP_ITERATION_5 212\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 211 && BOOST_PP_ITERATION_START_5 >= 211\r
+#    define BOOST_PP_ITERATION_5 211\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 210 && BOOST_PP_ITERATION_START_5 >= 210\r
+#    define BOOST_PP_ITERATION_5 210\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 209 && BOOST_PP_ITERATION_START_5 >= 209\r
+#    define BOOST_PP_ITERATION_5 209\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 208 && BOOST_PP_ITERATION_START_5 >= 208\r
+#    define BOOST_PP_ITERATION_5 208\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 207 && BOOST_PP_ITERATION_START_5 >= 207\r
+#    define BOOST_PP_ITERATION_5 207\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 206 && BOOST_PP_ITERATION_START_5 >= 206\r
+#    define BOOST_PP_ITERATION_5 206\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 205 && BOOST_PP_ITERATION_START_5 >= 205\r
+#    define BOOST_PP_ITERATION_5 205\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 204 && BOOST_PP_ITERATION_START_5 >= 204\r
+#    define BOOST_PP_ITERATION_5 204\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 203 && BOOST_PP_ITERATION_START_5 >= 203\r
+#    define BOOST_PP_ITERATION_5 203\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 202 && BOOST_PP_ITERATION_START_5 >= 202\r
+#    define BOOST_PP_ITERATION_5 202\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 201 && BOOST_PP_ITERATION_START_5 >= 201\r
+#    define BOOST_PP_ITERATION_5 201\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 200 && BOOST_PP_ITERATION_START_5 >= 200\r
+#    define BOOST_PP_ITERATION_5 200\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 199 && BOOST_PP_ITERATION_START_5 >= 199\r
+#    define BOOST_PP_ITERATION_5 199\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 198 && BOOST_PP_ITERATION_START_5 >= 198\r
+#    define BOOST_PP_ITERATION_5 198\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 197 && BOOST_PP_ITERATION_START_5 >= 197\r
+#    define BOOST_PP_ITERATION_5 197\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 196 && BOOST_PP_ITERATION_START_5 >= 196\r
+#    define BOOST_PP_ITERATION_5 196\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 195 && BOOST_PP_ITERATION_START_5 >= 195\r
+#    define BOOST_PP_ITERATION_5 195\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 194 && BOOST_PP_ITERATION_START_5 >= 194\r
+#    define BOOST_PP_ITERATION_5 194\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 193 && BOOST_PP_ITERATION_START_5 >= 193\r
+#    define BOOST_PP_ITERATION_5 193\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 192 && BOOST_PP_ITERATION_START_5 >= 192\r
+#    define BOOST_PP_ITERATION_5 192\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 191 && BOOST_PP_ITERATION_START_5 >= 191\r
+#    define BOOST_PP_ITERATION_5 191\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 190 && BOOST_PP_ITERATION_START_5 >= 190\r
+#    define BOOST_PP_ITERATION_5 190\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 189 && BOOST_PP_ITERATION_START_5 >= 189\r
+#    define BOOST_PP_ITERATION_5 189\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 188 && BOOST_PP_ITERATION_START_5 >= 188\r
+#    define BOOST_PP_ITERATION_5 188\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 187 && BOOST_PP_ITERATION_START_5 >= 187\r
+#    define BOOST_PP_ITERATION_5 187\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 186 && BOOST_PP_ITERATION_START_5 >= 186\r
+#    define BOOST_PP_ITERATION_5 186\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 185 && BOOST_PP_ITERATION_START_5 >= 185\r
+#    define BOOST_PP_ITERATION_5 185\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 184 && BOOST_PP_ITERATION_START_5 >= 184\r
+#    define BOOST_PP_ITERATION_5 184\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 183 && BOOST_PP_ITERATION_START_5 >= 183\r
+#    define BOOST_PP_ITERATION_5 183\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 182 && BOOST_PP_ITERATION_START_5 >= 182\r
+#    define BOOST_PP_ITERATION_5 182\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 181 && BOOST_PP_ITERATION_START_5 >= 181\r
+#    define BOOST_PP_ITERATION_5 181\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 180 && BOOST_PP_ITERATION_START_5 >= 180\r
+#    define BOOST_PP_ITERATION_5 180\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 179 && BOOST_PP_ITERATION_START_5 >= 179\r
+#    define BOOST_PP_ITERATION_5 179\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 178 && BOOST_PP_ITERATION_START_5 >= 178\r
+#    define BOOST_PP_ITERATION_5 178\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 177 && BOOST_PP_ITERATION_START_5 >= 177\r
+#    define BOOST_PP_ITERATION_5 177\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 176 && BOOST_PP_ITERATION_START_5 >= 176\r
+#    define BOOST_PP_ITERATION_5 176\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 175 && BOOST_PP_ITERATION_START_5 >= 175\r
+#    define BOOST_PP_ITERATION_5 175\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 174 && BOOST_PP_ITERATION_START_5 >= 174\r
+#    define BOOST_PP_ITERATION_5 174\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 173 && BOOST_PP_ITERATION_START_5 >= 173\r
+#    define BOOST_PP_ITERATION_5 173\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 172 && BOOST_PP_ITERATION_START_5 >= 172\r
+#    define BOOST_PP_ITERATION_5 172\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 171 && BOOST_PP_ITERATION_START_5 >= 171\r
+#    define BOOST_PP_ITERATION_5 171\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 170 && BOOST_PP_ITERATION_START_5 >= 170\r
+#    define BOOST_PP_ITERATION_5 170\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 169 && BOOST_PP_ITERATION_START_5 >= 169\r
+#    define BOOST_PP_ITERATION_5 169\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 168 && BOOST_PP_ITERATION_START_5 >= 168\r
+#    define BOOST_PP_ITERATION_5 168\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 167 && BOOST_PP_ITERATION_START_5 >= 167\r
+#    define BOOST_PP_ITERATION_5 167\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 166 && BOOST_PP_ITERATION_START_5 >= 166\r
+#    define BOOST_PP_ITERATION_5 166\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 165 && BOOST_PP_ITERATION_START_5 >= 165\r
+#    define BOOST_PP_ITERATION_5 165\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 164 && BOOST_PP_ITERATION_START_5 >= 164\r
+#    define BOOST_PP_ITERATION_5 164\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 163 && BOOST_PP_ITERATION_START_5 >= 163\r
+#    define BOOST_PP_ITERATION_5 163\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 162 && BOOST_PP_ITERATION_START_5 >= 162\r
+#    define BOOST_PP_ITERATION_5 162\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 161 && BOOST_PP_ITERATION_START_5 >= 161\r
+#    define BOOST_PP_ITERATION_5 161\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 160 && BOOST_PP_ITERATION_START_5 >= 160\r
+#    define BOOST_PP_ITERATION_5 160\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 159 && BOOST_PP_ITERATION_START_5 >= 159\r
+#    define BOOST_PP_ITERATION_5 159\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 158 && BOOST_PP_ITERATION_START_5 >= 158\r
+#    define BOOST_PP_ITERATION_5 158\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 157 && BOOST_PP_ITERATION_START_5 >= 157\r
+#    define BOOST_PP_ITERATION_5 157\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 156 && BOOST_PP_ITERATION_START_5 >= 156\r
+#    define BOOST_PP_ITERATION_5 156\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 155 && BOOST_PP_ITERATION_START_5 >= 155\r
+#    define BOOST_PP_ITERATION_5 155\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 154 && BOOST_PP_ITERATION_START_5 >= 154\r
+#    define BOOST_PP_ITERATION_5 154\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 153 && BOOST_PP_ITERATION_START_5 >= 153\r
+#    define BOOST_PP_ITERATION_5 153\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 152 && BOOST_PP_ITERATION_START_5 >= 152\r
+#    define BOOST_PP_ITERATION_5 152\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 151 && BOOST_PP_ITERATION_START_5 >= 151\r
+#    define BOOST_PP_ITERATION_5 151\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 150 && BOOST_PP_ITERATION_START_5 >= 150\r
+#    define BOOST_PP_ITERATION_5 150\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 149 && BOOST_PP_ITERATION_START_5 >= 149\r
+#    define BOOST_PP_ITERATION_5 149\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 148 && BOOST_PP_ITERATION_START_5 >= 148\r
+#    define BOOST_PP_ITERATION_5 148\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 147 && BOOST_PP_ITERATION_START_5 >= 147\r
+#    define BOOST_PP_ITERATION_5 147\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 146 && BOOST_PP_ITERATION_START_5 >= 146\r
+#    define BOOST_PP_ITERATION_5 146\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 145 && BOOST_PP_ITERATION_START_5 >= 145\r
+#    define BOOST_PP_ITERATION_5 145\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 144 && BOOST_PP_ITERATION_START_5 >= 144\r
+#    define BOOST_PP_ITERATION_5 144\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 143 && BOOST_PP_ITERATION_START_5 >= 143\r
+#    define BOOST_PP_ITERATION_5 143\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 142 && BOOST_PP_ITERATION_START_5 >= 142\r
+#    define BOOST_PP_ITERATION_5 142\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 141 && BOOST_PP_ITERATION_START_5 >= 141\r
+#    define BOOST_PP_ITERATION_5 141\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 140 && BOOST_PP_ITERATION_START_5 >= 140\r
+#    define BOOST_PP_ITERATION_5 140\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 139 && BOOST_PP_ITERATION_START_5 >= 139\r
+#    define BOOST_PP_ITERATION_5 139\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 138 && BOOST_PP_ITERATION_START_5 >= 138\r
+#    define BOOST_PP_ITERATION_5 138\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 137 && BOOST_PP_ITERATION_START_5 >= 137\r
+#    define BOOST_PP_ITERATION_5 137\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 136 && BOOST_PP_ITERATION_START_5 >= 136\r
+#    define BOOST_PP_ITERATION_5 136\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 135 && BOOST_PP_ITERATION_START_5 >= 135\r
+#    define BOOST_PP_ITERATION_5 135\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 134 && BOOST_PP_ITERATION_START_5 >= 134\r
+#    define BOOST_PP_ITERATION_5 134\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 133 && BOOST_PP_ITERATION_START_5 >= 133\r
+#    define BOOST_PP_ITERATION_5 133\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 132 && BOOST_PP_ITERATION_START_5 >= 132\r
+#    define BOOST_PP_ITERATION_5 132\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 131 && BOOST_PP_ITERATION_START_5 >= 131\r
+#    define BOOST_PP_ITERATION_5 131\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 130 && BOOST_PP_ITERATION_START_5 >= 130\r
+#    define BOOST_PP_ITERATION_5 130\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 129 && BOOST_PP_ITERATION_START_5 >= 129\r
+#    define BOOST_PP_ITERATION_5 129\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 128 && BOOST_PP_ITERATION_START_5 >= 128\r
+#    define BOOST_PP_ITERATION_5 128\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 127 && BOOST_PP_ITERATION_START_5 >= 127\r
+#    define BOOST_PP_ITERATION_5 127\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 126 && BOOST_PP_ITERATION_START_5 >= 126\r
+#    define BOOST_PP_ITERATION_5 126\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 125 && BOOST_PP_ITERATION_START_5 >= 125\r
+#    define BOOST_PP_ITERATION_5 125\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 124 && BOOST_PP_ITERATION_START_5 >= 124\r
+#    define BOOST_PP_ITERATION_5 124\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 123 && BOOST_PP_ITERATION_START_5 >= 123\r
+#    define BOOST_PP_ITERATION_5 123\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 122 && BOOST_PP_ITERATION_START_5 >= 122\r
+#    define BOOST_PP_ITERATION_5 122\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 121 && BOOST_PP_ITERATION_START_5 >= 121\r
+#    define BOOST_PP_ITERATION_5 121\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 120 && BOOST_PP_ITERATION_START_5 >= 120\r
+#    define BOOST_PP_ITERATION_5 120\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 119 && BOOST_PP_ITERATION_START_5 >= 119\r
+#    define BOOST_PP_ITERATION_5 119\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 118 && BOOST_PP_ITERATION_START_5 >= 118\r
+#    define BOOST_PP_ITERATION_5 118\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 117 && BOOST_PP_ITERATION_START_5 >= 117\r
+#    define BOOST_PP_ITERATION_5 117\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 116 && BOOST_PP_ITERATION_START_5 >= 116\r
+#    define BOOST_PP_ITERATION_5 116\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 115 && BOOST_PP_ITERATION_START_5 >= 115\r
+#    define BOOST_PP_ITERATION_5 115\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 114 && BOOST_PP_ITERATION_START_5 >= 114\r
+#    define BOOST_PP_ITERATION_5 114\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 113 && BOOST_PP_ITERATION_START_5 >= 113\r
+#    define BOOST_PP_ITERATION_5 113\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 112 && BOOST_PP_ITERATION_START_5 >= 112\r
+#    define BOOST_PP_ITERATION_5 112\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 111 && BOOST_PP_ITERATION_START_5 >= 111\r
+#    define BOOST_PP_ITERATION_5 111\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 110 && BOOST_PP_ITERATION_START_5 >= 110\r
+#    define BOOST_PP_ITERATION_5 110\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 109 && BOOST_PP_ITERATION_START_5 >= 109\r
+#    define BOOST_PP_ITERATION_5 109\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 108 && BOOST_PP_ITERATION_START_5 >= 108\r
+#    define BOOST_PP_ITERATION_5 108\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 107 && BOOST_PP_ITERATION_START_5 >= 107\r
+#    define BOOST_PP_ITERATION_5 107\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 106 && BOOST_PP_ITERATION_START_5 >= 106\r
+#    define BOOST_PP_ITERATION_5 106\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 105 && BOOST_PP_ITERATION_START_5 >= 105\r
+#    define BOOST_PP_ITERATION_5 105\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 104 && BOOST_PP_ITERATION_START_5 >= 104\r
+#    define BOOST_PP_ITERATION_5 104\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 103 && BOOST_PP_ITERATION_START_5 >= 103\r
+#    define BOOST_PP_ITERATION_5 103\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 102 && BOOST_PP_ITERATION_START_5 >= 102\r
+#    define BOOST_PP_ITERATION_5 102\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 101 && BOOST_PP_ITERATION_START_5 >= 101\r
+#    define BOOST_PP_ITERATION_5 101\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 100 && BOOST_PP_ITERATION_START_5 >= 100\r
+#    define BOOST_PP_ITERATION_5 100\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 99 && BOOST_PP_ITERATION_START_5 >= 99\r
+#    define BOOST_PP_ITERATION_5 99\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 98 && BOOST_PP_ITERATION_START_5 >= 98\r
+#    define BOOST_PP_ITERATION_5 98\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 97 && BOOST_PP_ITERATION_START_5 >= 97\r
+#    define BOOST_PP_ITERATION_5 97\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 96 && BOOST_PP_ITERATION_START_5 >= 96\r
+#    define BOOST_PP_ITERATION_5 96\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 95 && BOOST_PP_ITERATION_START_5 >= 95\r
+#    define BOOST_PP_ITERATION_5 95\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 94 && BOOST_PP_ITERATION_START_5 >= 94\r
+#    define BOOST_PP_ITERATION_5 94\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 93 && BOOST_PP_ITERATION_START_5 >= 93\r
+#    define BOOST_PP_ITERATION_5 93\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 92 && BOOST_PP_ITERATION_START_5 >= 92\r
+#    define BOOST_PP_ITERATION_5 92\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 91 && BOOST_PP_ITERATION_START_5 >= 91\r
+#    define BOOST_PP_ITERATION_5 91\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 90 && BOOST_PP_ITERATION_START_5 >= 90\r
+#    define BOOST_PP_ITERATION_5 90\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 89 && BOOST_PP_ITERATION_START_5 >= 89\r
+#    define BOOST_PP_ITERATION_5 89\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 88 && BOOST_PP_ITERATION_START_5 >= 88\r
+#    define BOOST_PP_ITERATION_5 88\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 87 && BOOST_PP_ITERATION_START_5 >= 87\r
+#    define BOOST_PP_ITERATION_5 87\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 86 && BOOST_PP_ITERATION_START_5 >= 86\r
+#    define BOOST_PP_ITERATION_5 86\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 85 && BOOST_PP_ITERATION_START_5 >= 85\r
+#    define BOOST_PP_ITERATION_5 85\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 84 && BOOST_PP_ITERATION_START_5 >= 84\r
+#    define BOOST_PP_ITERATION_5 84\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 83 && BOOST_PP_ITERATION_START_5 >= 83\r
+#    define BOOST_PP_ITERATION_5 83\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 82 && BOOST_PP_ITERATION_START_5 >= 82\r
+#    define BOOST_PP_ITERATION_5 82\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 81 && BOOST_PP_ITERATION_START_5 >= 81\r
+#    define BOOST_PP_ITERATION_5 81\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 80 && BOOST_PP_ITERATION_START_5 >= 80\r
+#    define BOOST_PP_ITERATION_5 80\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 79 && BOOST_PP_ITERATION_START_5 >= 79\r
+#    define BOOST_PP_ITERATION_5 79\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 78 && BOOST_PP_ITERATION_START_5 >= 78\r
+#    define BOOST_PP_ITERATION_5 78\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 77 && BOOST_PP_ITERATION_START_5 >= 77\r
+#    define BOOST_PP_ITERATION_5 77\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 76 && BOOST_PP_ITERATION_START_5 >= 76\r
+#    define BOOST_PP_ITERATION_5 76\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 75 && BOOST_PP_ITERATION_START_5 >= 75\r
+#    define BOOST_PP_ITERATION_5 75\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 74 && BOOST_PP_ITERATION_START_5 >= 74\r
+#    define BOOST_PP_ITERATION_5 74\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 73 && BOOST_PP_ITERATION_START_5 >= 73\r
+#    define BOOST_PP_ITERATION_5 73\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 72 && BOOST_PP_ITERATION_START_5 >= 72\r
+#    define BOOST_PP_ITERATION_5 72\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 71 && BOOST_PP_ITERATION_START_5 >= 71\r
+#    define BOOST_PP_ITERATION_5 71\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 70 && BOOST_PP_ITERATION_START_5 >= 70\r
+#    define BOOST_PP_ITERATION_5 70\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 69 && BOOST_PP_ITERATION_START_5 >= 69\r
+#    define BOOST_PP_ITERATION_5 69\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 68 && BOOST_PP_ITERATION_START_5 >= 68\r
+#    define BOOST_PP_ITERATION_5 68\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 67 && BOOST_PP_ITERATION_START_5 >= 67\r
+#    define BOOST_PP_ITERATION_5 67\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 66 && BOOST_PP_ITERATION_START_5 >= 66\r
+#    define BOOST_PP_ITERATION_5 66\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 65 && BOOST_PP_ITERATION_START_5 >= 65\r
+#    define BOOST_PP_ITERATION_5 65\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 64 && BOOST_PP_ITERATION_START_5 >= 64\r
+#    define BOOST_PP_ITERATION_5 64\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 63 && BOOST_PP_ITERATION_START_5 >= 63\r
+#    define BOOST_PP_ITERATION_5 63\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 62 && BOOST_PP_ITERATION_START_5 >= 62\r
+#    define BOOST_PP_ITERATION_5 62\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 61 && BOOST_PP_ITERATION_START_5 >= 61\r
+#    define BOOST_PP_ITERATION_5 61\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 60 && BOOST_PP_ITERATION_START_5 >= 60\r
+#    define BOOST_PP_ITERATION_5 60\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 59 && BOOST_PP_ITERATION_START_5 >= 59\r
+#    define BOOST_PP_ITERATION_5 59\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 58 && BOOST_PP_ITERATION_START_5 >= 58\r
+#    define BOOST_PP_ITERATION_5 58\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 57 && BOOST_PP_ITERATION_START_5 >= 57\r
+#    define BOOST_PP_ITERATION_5 57\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 56 && BOOST_PP_ITERATION_START_5 >= 56\r
+#    define BOOST_PP_ITERATION_5 56\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 55 && BOOST_PP_ITERATION_START_5 >= 55\r
+#    define BOOST_PP_ITERATION_5 55\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 54 && BOOST_PP_ITERATION_START_5 >= 54\r
+#    define BOOST_PP_ITERATION_5 54\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 53 && BOOST_PP_ITERATION_START_5 >= 53\r
+#    define BOOST_PP_ITERATION_5 53\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 52 && BOOST_PP_ITERATION_START_5 >= 52\r
+#    define BOOST_PP_ITERATION_5 52\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 51 && BOOST_PP_ITERATION_START_5 >= 51\r
+#    define BOOST_PP_ITERATION_5 51\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 50 && BOOST_PP_ITERATION_START_5 >= 50\r
+#    define BOOST_PP_ITERATION_5 50\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 49 && BOOST_PP_ITERATION_START_5 >= 49\r
+#    define BOOST_PP_ITERATION_5 49\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 48 && BOOST_PP_ITERATION_START_5 >= 48\r
+#    define BOOST_PP_ITERATION_5 48\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 47 && BOOST_PP_ITERATION_START_5 >= 47\r
+#    define BOOST_PP_ITERATION_5 47\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 46 && BOOST_PP_ITERATION_START_5 >= 46\r
+#    define BOOST_PP_ITERATION_5 46\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 45 && BOOST_PP_ITERATION_START_5 >= 45\r
+#    define BOOST_PP_ITERATION_5 45\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 44 && BOOST_PP_ITERATION_START_5 >= 44\r
+#    define BOOST_PP_ITERATION_5 44\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 43 && BOOST_PP_ITERATION_START_5 >= 43\r
+#    define BOOST_PP_ITERATION_5 43\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 42 && BOOST_PP_ITERATION_START_5 >= 42\r
+#    define BOOST_PP_ITERATION_5 42\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 41 && BOOST_PP_ITERATION_START_5 >= 41\r
+#    define BOOST_PP_ITERATION_5 41\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 40 && BOOST_PP_ITERATION_START_5 >= 40\r
+#    define BOOST_PP_ITERATION_5 40\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 39 && BOOST_PP_ITERATION_START_5 >= 39\r
+#    define BOOST_PP_ITERATION_5 39\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 38 && BOOST_PP_ITERATION_START_5 >= 38\r
+#    define BOOST_PP_ITERATION_5 38\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 37 && BOOST_PP_ITERATION_START_5 >= 37\r
+#    define BOOST_PP_ITERATION_5 37\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 36 && BOOST_PP_ITERATION_START_5 >= 36\r
+#    define BOOST_PP_ITERATION_5 36\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 35 && BOOST_PP_ITERATION_START_5 >= 35\r
+#    define BOOST_PP_ITERATION_5 35\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 34 && BOOST_PP_ITERATION_START_5 >= 34\r
+#    define BOOST_PP_ITERATION_5 34\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 33 && BOOST_PP_ITERATION_START_5 >= 33\r
+#    define BOOST_PP_ITERATION_5 33\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 32 && BOOST_PP_ITERATION_START_5 >= 32\r
+#    define BOOST_PP_ITERATION_5 32\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 31 && BOOST_PP_ITERATION_START_5 >= 31\r
+#    define BOOST_PP_ITERATION_5 31\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 30 && BOOST_PP_ITERATION_START_5 >= 30\r
+#    define BOOST_PP_ITERATION_5 30\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 29 && BOOST_PP_ITERATION_START_5 >= 29\r
+#    define BOOST_PP_ITERATION_5 29\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 28 && BOOST_PP_ITERATION_START_5 >= 28\r
+#    define BOOST_PP_ITERATION_5 28\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 27 && BOOST_PP_ITERATION_START_5 >= 27\r
+#    define BOOST_PP_ITERATION_5 27\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 26 && BOOST_PP_ITERATION_START_5 >= 26\r
+#    define BOOST_PP_ITERATION_5 26\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 25 && BOOST_PP_ITERATION_START_5 >= 25\r
+#    define BOOST_PP_ITERATION_5 25\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 24 && BOOST_PP_ITERATION_START_5 >= 24\r
+#    define BOOST_PP_ITERATION_5 24\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 23 && BOOST_PP_ITERATION_START_5 >= 23\r
+#    define BOOST_PP_ITERATION_5 23\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 22 && BOOST_PP_ITERATION_START_5 >= 22\r
+#    define BOOST_PP_ITERATION_5 22\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 21 && BOOST_PP_ITERATION_START_5 >= 21\r
+#    define BOOST_PP_ITERATION_5 21\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 20 && BOOST_PP_ITERATION_START_5 >= 20\r
+#    define BOOST_PP_ITERATION_5 20\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 19 && BOOST_PP_ITERATION_START_5 >= 19\r
+#    define BOOST_PP_ITERATION_5 19\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 18 && BOOST_PP_ITERATION_START_5 >= 18\r
+#    define BOOST_PP_ITERATION_5 18\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 17 && BOOST_PP_ITERATION_START_5 >= 17\r
+#    define BOOST_PP_ITERATION_5 17\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 16 && BOOST_PP_ITERATION_START_5 >= 16\r
+#    define BOOST_PP_ITERATION_5 16\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 15 && BOOST_PP_ITERATION_START_5 >= 15\r
+#    define BOOST_PP_ITERATION_5 15\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 14 && BOOST_PP_ITERATION_START_5 >= 14\r
+#    define BOOST_PP_ITERATION_5 14\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 13 && BOOST_PP_ITERATION_START_5 >= 13\r
+#    define BOOST_PP_ITERATION_5 13\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 12 && BOOST_PP_ITERATION_START_5 >= 12\r
+#    define BOOST_PP_ITERATION_5 12\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 11 && BOOST_PP_ITERATION_START_5 >= 11\r
+#    define BOOST_PP_ITERATION_5 11\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 10 && BOOST_PP_ITERATION_START_5 >= 10\r
+#    define BOOST_PP_ITERATION_5 10\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 9 && BOOST_PP_ITERATION_START_5 >= 9\r
+#    define BOOST_PP_ITERATION_5 9\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 8 && BOOST_PP_ITERATION_START_5 >= 8\r
+#    define BOOST_PP_ITERATION_5 8\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 7 && BOOST_PP_ITERATION_START_5 >= 7\r
+#    define BOOST_PP_ITERATION_5 7\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 6 && BOOST_PP_ITERATION_START_5 >= 6\r
+#    define BOOST_PP_ITERATION_5 6\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 5 && BOOST_PP_ITERATION_START_5 >= 5\r
+#    define BOOST_PP_ITERATION_5 5\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 4 && BOOST_PP_ITERATION_START_5 >= 4\r
+#    define BOOST_PP_ITERATION_5 4\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 3 && BOOST_PP_ITERATION_START_5 >= 3\r
+#    define BOOST_PP_ITERATION_5 3\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 2 && BOOST_PP_ITERATION_START_5 >= 2\r
+#    define BOOST_PP_ITERATION_5 2\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 1 && BOOST_PP_ITERATION_START_5 >= 1\r
+#    define BOOST_PP_ITERATION_5 1\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
+# if BOOST_PP_ITERATION_FINISH_5 <= 0 && BOOST_PP_ITERATION_START_5 >= 0\r
+#    define BOOST_PP_ITERATION_5 0\r
+#    include BOOST_PP_FILENAME_5\r
+#    undef BOOST_PP_ITERATION_5\r
+# endif\r
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 (file)
index 0000000..126ff1d
--- /dev/null
@@ -0,0 +1,812 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# if !defined(BOOST_PP_LOCAL_LIMITS)\r
+#    error BOOST_PP_ERROR:  local iteration boundaries are not defined\r
+# elif !defined(BOOST_PP_LOCAL_MACRO)\r
+#    error BOOST_PP_ERROR:  local iteration target macro is not defined\r
+# else\r
+#    if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#        define BOOST_PP_LOCAL_S BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_LOCAL_LIMITS)\r
+#        define BOOST_PP_LOCAL_F BOOST_PP_TUPLE_ELEM(2, 1, BOOST_PP_LOCAL_LIMITS)\r
+#    else\r
+#        define BOOST_PP_VALUE BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_LOCAL_LIMITS)\r
+#        include <boost/preprocessor/iteration/detail/start.hpp>\r
+#        define BOOST_PP_VALUE BOOST_PP_TUPLE_ELEM(2, 1, BOOST_PP_LOCAL_LIMITS)\r
+#        include <boost/preprocessor/iteration/detail/finish.hpp>\r
+#        define BOOST_PP_LOCAL_S BOOST_PP_LOCAL_SE()\r
+#        define BOOST_PP_LOCAL_F BOOST_PP_LOCAL_FE()\r
+#    endif\r
+# endif\r
+#\r
+# if (BOOST_PP_LOCAL_S) > (BOOST_PP_LOCAL_F)\r
+#    include <boost/preprocessor/iteration/detail/rlocal.hpp>\r
+# else\r
+#    if BOOST_PP_LOCAL_C(0)\r
+        BOOST_PP_LOCAL_MACRO(0)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(1)\r
+        BOOST_PP_LOCAL_MACRO(1)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(2)\r
+        BOOST_PP_LOCAL_MACRO(2)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(3)\r
+        BOOST_PP_LOCAL_MACRO(3)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(4)\r
+        BOOST_PP_LOCAL_MACRO(4)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(5)\r
+        BOOST_PP_LOCAL_MACRO(5)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(6)\r
+        BOOST_PP_LOCAL_MACRO(6)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(7)\r
+        BOOST_PP_LOCAL_MACRO(7)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(8)\r
+        BOOST_PP_LOCAL_MACRO(8)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(9)\r
+        BOOST_PP_LOCAL_MACRO(9)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(10)\r
+        BOOST_PP_LOCAL_MACRO(10)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(11)\r
+        BOOST_PP_LOCAL_MACRO(11)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(12)\r
+        BOOST_PP_LOCAL_MACRO(12)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(13)\r
+        BOOST_PP_LOCAL_MACRO(13)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(14)\r
+        BOOST_PP_LOCAL_MACRO(14)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(15)\r
+        BOOST_PP_LOCAL_MACRO(15)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(16)\r
+        BOOST_PP_LOCAL_MACRO(16)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(17)\r
+        BOOST_PP_LOCAL_MACRO(17)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(18)\r
+        BOOST_PP_LOCAL_MACRO(18)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(19)\r
+        BOOST_PP_LOCAL_MACRO(19)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(20)\r
+        BOOST_PP_LOCAL_MACRO(20)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(21)\r
+        BOOST_PP_LOCAL_MACRO(21)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(22)\r
+        BOOST_PP_LOCAL_MACRO(22)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(23)\r
+        BOOST_PP_LOCAL_MACRO(23)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(24)\r
+        BOOST_PP_LOCAL_MACRO(24)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(25)\r
+        BOOST_PP_LOCAL_MACRO(25)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(26)\r
+        BOOST_PP_LOCAL_MACRO(26)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(27)\r
+        BOOST_PP_LOCAL_MACRO(27)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(28)\r
+        BOOST_PP_LOCAL_MACRO(28)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(29)\r
+        BOOST_PP_LOCAL_MACRO(29)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(30)\r
+        BOOST_PP_LOCAL_MACRO(30)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(31)\r
+        BOOST_PP_LOCAL_MACRO(31)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(32)\r
+        BOOST_PP_LOCAL_MACRO(32)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(33)\r
+        BOOST_PP_LOCAL_MACRO(33)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(34)\r
+        BOOST_PP_LOCAL_MACRO(34)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(35)\r
+        BOOST_PP_LOCAL_MACRO(35)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(36)\r
+        BOOST_PP_LOCAL_MACRO(36)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(37)\r
+        BOOST_PP_LOCAL_MACRO(37)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(38)\r
+        BOOST_PP_LOCAL_MACRO(38)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(39)\r
+        BOOST_PP_LOCAL_MACRO(39)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(40)\r
+        BOOST_PP_LOCAL_MACRO(40)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(41)\r
+        BOOST_PP_LOCAL_MACRO(41)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(42)\r
+        BOOST_PP_LOCAL_MACRO(42)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(43)\r
+        BOOST_PP_LOCAL_MACRO(43)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(44)\r
+        BOOST_PP_LOCAL_MACRO(44)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(45)\r
+        BOOST_PP_LOCAL_MACRO(45)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(46)\r
+        BOOST_PP_LOCAL_MACRO(46)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(47)\r
+        BOOST_PP_LOCAL_MACRO(47)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(48)\r
+        BOOST_PP_LOCAL_MACRO(48)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(49)\r
+        BOOST_PP_LOCAL_MACRO(49)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(50)\r
+        BOOST_PP_LOCAL_MACRO(50)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(51)\r
+        BOOST_PP_LOCAL_MACRO(51)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(52)\r
+        BOOST_PP_LOCAL_MACRO(52)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(53)\r
+        BOOST_PP_LOCAL_MACRO(53)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(54)\r
+        BOOST_PP_LOCAL_MACRO(54)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(55)\r
+        BOOST_PP_LOCAL_MACRO(55)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(56)\r
+        BOOST_PP_LOCAL_MACRO(56)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(57)\r
+        BOOST_PP_LOCAL_MACRO(57)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(58)\r
+        BOOST_PP_LOCAL_MACRO(58)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(59)\r
+        BOOST_PP_LOCAL_MACRO(59)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(60)\r
+        BOOST_PP_LOCAL_MACRO(60)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(61)\r
+        BOOST_PP_LOCAL_MACRO(61)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(62)\r
+        BOOST_PP_LOCAL_MACRO(62)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(63)\r
+        BOOST_PP_LOCAL_MACRO(63)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(64)\r
+        BOOST_PP_LOCAL_MACRO(64)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(65)\r
+        BOOST_PP_LOCAL_MACRO(65)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(66)\r
+        BOOST_PP_LOCAL_MACRO(66)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(67)\r
+        BOOST_PP_LOCAL_MACRO(67)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(68)\r
+        BOOST_PP_LOCAL_MACRO(68)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(69)\r
+        BOOST_PP_LOCAL_MACRO(69)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(70)\r
+        BOOST_PP_LOCAL_MACRO(70)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(71)\r
+        BOOST_PP_LOCAL_MACRO(71)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(72)\r
+        BOOST_PP_LOCAL_MACRO(72)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(73)\r
+        BOOST_PP_LOCAL_MACRO(73)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(74)\r
+        BOOST_PP_LOCAL_MACRO(74)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(75)\r
+        BOOST_PP_LOCAL_MACRO(75)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(76)\r
+        BOOST_PP_LOCAL_MACRO(76)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(77)\r
+        BOOST_PP_LOCAL_MACRO(77)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(78)\r
+        BOOST_PP_LOCAL_MACRO(78)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(79)\r
+        BOOST_PP_LOCAL_MACRO(79)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(80)\r
+        BOOST_PP_LOCAL_MACRO(80)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(81)\r
+        BOOST_PP_LOCAL_MACRO(81)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(82)\r
+        BOOST_PP_LOCAL_MACRO(82)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(83)\r
+        BOOST_PP_LOCAL_MACRO(83)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(84)\r
+        BOOST_PP_LOCAL_MACRO(84)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(85)\r
+        BOOST_PP_LOCAL_MACRO(85)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(86)\r
+        BOOST_PP_LOCAL_MACRO(86)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(87)\r
+        BOOST_PP_LOCAL_MACRO(87)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(88)\r
+        BOOST_PP_LOCAL_MACRO(88)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(89)\r
+        BOOST_PP_LOCAL_MACRO(89)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(90)\r
+        BOOST_PP_LOCAL_MACRO(90)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(91)\r
+        BOOST_PP_LOCAL_MACRO(91)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(92)\r
+        BOOST_PP_LOCAL_MACRO(92)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(93)\r
+        BOOST_PP_LOCAL_MACRO(93)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(94)\r
+        BOOST_PP_LOCAL_MACRO(94)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(95)\r
+        BOOST_PP_LOCAL_MACRO(95)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(96)\r
+        BOOST_PP_LOCAL_MACRO(96)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(97)\r
+        BOOST_PP_LOCAL_MACRO(97)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(98)\r
+        BOOST_PP_LOCAL_MACRO(98)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(99)\r
+        BOOST_PP_LOCAL_MACRO(99)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(100)\r
+        BOOST_PP_LOCAL_MACRO(100)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(101)\r
+        BOOST_PP_LOCAL_MACRO(101)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(102)\r
+        BOOST_PP_LOCAL_MACRO(102)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(103)\r
+        BOOST_PP_LOCAL_MACRO(103)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(104)\r
+        BOOST_PP_LOCAL_MACRO(104)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(105)\r
+        BOOST_PP_LOCAL_MACRO(105)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(106)\r
+        BOOST_PP_LOCAL_MACRO(106)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(107)\r
+        BOOST_PP_LOCAL_MACRO(107)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(108)\r
+        BOOST_PP_LOCAL_MACRO(108)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(109)\r
+        BOOST_PP_LOCAL_MACRO(109)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(110)\r
+        BOOST_PP_LOCAL_MACRO(110)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(111)\r
+        BOOST_PP_LOCAL_MACRO(111)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(112)\r
+        BOOST_PP_LOCAL_MACRO(112)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(113)\r
+        BOOST_PP_LOCAL_MACRO(113)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(114)\r
+        BOOST_PP_LOCAL_MACRO(114)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(115)\r
+        BOOST_PP_LOCAL_MACRO(115)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(116)\r
+        BOOST_PP_LOCAL_MACRO(116)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(117)\r
+        BOOST_PP_LOCAL_MACRO(117)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(118)\r
+        BOOST_PP_LOCAL_MACRO(118)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(119)\r
+        BOOST_PP_LOCAL_MACRO(119)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(120)\r
+        BOOST_PP_LOCAL_MACRO(120)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(121)\r
+        BOOST_PP_LOCAL_MACRO(121)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(122)\r
+        BOOST_PP_LOCAL_MACRO(122)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(123)\r
+        BOOST_PP_LOCAL_MACRO(123)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(124)\r
+        BOOST_PP_LOCAL_MACRO(124)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(125)\r
+        BOOST_PP_LOCAL_MACRO(125)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(126)\r
+        BOOST_PP_LOCAL_MACRO(126)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(127)\r
+        BOOST_PP_LOCAL_MACRO(127)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(128)\r
+        BOOST_PP_LOCAL_MACRO(128)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(129)\r
+        BOOST_PP_LOCAL_MACRO(129)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(130)\r
+        BOOST_PP_LOCAL_MACRO(130)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(131)\r
+        BOOST_PP_LOCAL_MACRO(131)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(132)\r
+        BOOST_PP_LOCAL_MACRO(132)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(133)\r
+        BOOST_PP_LOCAL_MACRO(133)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(134)\r
+        BOOST_PP_LOCAL_MACRO(134)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(135)\r
+        BOOST_PP_LOCAL_MACRO(135)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(136)\r
+        BOOST_PP_LOCAL_MACRO(136)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(137)\r
+        BOOST_PP_LOCAL_MACRO(137)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(138)\r
+        BOOST_PP_LOCAL_MACRO(138)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(139)\r
+        BOOST_PP_LOCAL_MACRO(139)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(140)\r
+        BOOST_PP_LOCAL_MACRO(140)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(141)\r
+        BOOST_PP_LOCAL_MACRO(141)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(142)\r
+        BOOST_PP_LOCAL_MACRO(142)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(143)\r
+        BOOST_PP_LOCAL_MACRO(143)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(144)\r
+        BOOST_PP_LOCAL_MACRO(144)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(145)\r
+        BOOST_PP_LOCAL_MACRO(145)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(146)\r
+        BOOST_PP_LOCAL_MACRO(146)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(147)\r
+        BOOST_PP_LOCAL_MACRO(147)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(148)\r
+        BOOST_PP_LOCAL_MACRO(148)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(149)\r
+        BOOST_PP_LOCAL_MACRO(149)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(150)\r
+        BOOST_PP_LOCAL_MACRO(150)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(151)\r
+        BOOST_PP_LOCAL_MACRO(151)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(152)\r
+        BOOST_PP_LOCAL_MACRO(152)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(153)\r
+        BOOST_PP_LOCAL_MACRO(153)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(154)\r
+        BOOST_PP_LOCAL_MACRO(154)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(155)\r
+        BOOST_PP_LOCAL_MACRO(155)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(156)\r
+        BOOST_PP_LOCAL_MACRO(156)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(157)\r
+        BOOST_PP_LOCAL_MACRO(157)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(158)\r
+        BOOST_PP_LOCAL_MACRO(158)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(159)\r
+        BOOST_PP_LOCAL_MACRO(159)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(160)\r
+        BOOST_PP_LOCAL_MACRO(160)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(161)\r
+        BOOST_PP_LOCAL_MACRO(161)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(162)\r
+        BOOST_PP_LOCAL_MACRO(162)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(163)\r
+        BOOST_PP_LOCAL_MACRO(163)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(164)\r
+        BOOST_PP_LOCAL_MACRO(164)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(165)\r
+        BOOST_PP_LOCAL_MACRO(165)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(166)\r
+        BOOST_PP_LOCAL_MACRO(166)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(167)\r
+        BOOST_PP_LOCAL_MACRO(167)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(168)\r
+        BOOST_PP_LOCAL_MACRO(168)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(169)\r
+        BOOST_PP_LOCAL_MACRO(169)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(170)\r
+        BOOST_PP_LOCAL_MACRO(170)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(171)\r
+        BOOST_PP_LOCAL_MACRO(171)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(172)\r
+        BOOST_PP_LOCAL_MACRO(172)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(173)\r
+        BOOST_PP_LOCAL_MACRO(173)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(174)\r
+        BOOST_PP_LOCAL_MACRO(174)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(175)\r
+        BOOST_PP_LOCAL_MACRO(175)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(176)\r
+        BOOST_PP_LOCAL_MACRO(176)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(177)\r
+        BOOST_PP_LOCAL_MACRO(177)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(178)\r
+        BOOST_PP_LOCAL_MACRO(178)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(179)\r
+        BOOST_PP_LOCAL_MACRO(179)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(180)\r
+        BOOST_PP_LOCAL_MACRO(180)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(181)\r
+        BOOST_PP_LOCAL_MACRO(181)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(182)\r
+        BOOST_PP_LOCAL_MACRO(182)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(183)\r
+        BOOST_PP_LOCAL_MACRO(183)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(184)\r
+        BOOST_PP_LOCAL_MACRO(184)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(185)\r
+        BOOST_PP_LOCAL_MACRO(185)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(186)\r
+        BOOST_PP_LOCAL_MACRO(186)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(187)\r
+        BOOST_PP_LOCAL_MACRO(187)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(188)\r
+        BOOST_PP_LOCAL_MACRO(188)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(189)\r
+        BOOST_PP_LOCAL_MACRO(189)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(190)\r
+        BOOST_PP_LOCAL_MACRO(190)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(191)\r
+        BOOST_PP_LOCAL_MACRO(191)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(192)\r
+        BOOST_PP_LOCAL_MACRO(192)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(193)\r
+        BOOST_PP_LOCAL_MACRO(193)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(194)\r
+        BOOST_PP_LOCAL_MACRO(194)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(195)\r
+        BOOST_PP_LOCAL_MACRO(195)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(196)\r
+        BOOST_PP_LOCAL_MACRO(196)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(197)\r
+        BOOST_PP_LOCAL_MACRO(197)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(198)\r
+        BOOST_PP_LOCAL_MACRO(198)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(199)\r
+        BOOST_PP_LOCAL_MACRO(199)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(200)\r
+        BOOST_PP_LOCAL_MACRO(200)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(201)\r
+        BOOST_PP_LOCAL_MACRO(201)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(202)\r
+        BOOST_PP_LOCAL_MACRO(202)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(203)\r
+        BOOST_PP_LOCAL_MACRO(203)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(204)\r
+        BOOST_PP_LOCAL_MACRO(204)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(205)\r
+        BOOST_PP_LOCAL_MACRO(205)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(206)\r
+        BOOST_PP_LOCAL_MACRO(206)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(207)\r
+        BOOST_PP_LOCAL_MACRO(207)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(208)\r
+        BOOST_PP_LOCAL_MACRO(208)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(209)\r
+        BOOST_PP_LOCAL_MACRO(209)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(210)\r
+        BOOST_PP_LOCAL_MACRO(210)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(211)\r
+        BOOST_PP_LOCAL_MACRO(211)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(212)\r
+        BOOST_PP_LOCAL_MACRO(212)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(213)\r
+        BOOST_PP_LOCAL_MACRO(213)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(214)\r
+        BOOST_PP_LOCAL_MACRO(214)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(215)\r
+        BOOST_PP_LOCAL_MACRO(215)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(216)\r
+        BOOST_PP_LOCAL_MACRO(216)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(217)\r
+        BOOST_PP_LOCAL_MACRO(217)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(218)\r
+        BOOST_PP_LOCAL_MACRO(218)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(219)\r
+        BOOST_PP_LOCAL_MACRO(219)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(220)\r
+        BOOST_PP_LOCAL_MACRO(220)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(221)\r
+        BOOST_PP_LOCAL_MACRO(221)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(222)\r
+        BOOST_PP_LOCAL_MACRO(222)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(223)\r
+        BOOST_PP_LOCAL_MACRO(223)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(224)\r
+        BOOST_PP_LOCAL_MACRO(224)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(225)\r
+        BOOST_PP_LOCAL_MACRO(225)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(226)\r
+        BOOST_PP_LOCAL_MACRO(226)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(227)\r
+        BOOST_PP_LOCAL_MACRO(227)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(228)\r
+        BOOST_PP_LOCAL_MACRO(228)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(229)\r
+        BOOST_PP_LOCAL_MACRO(229)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(230)\r
+        BOOST_PP_LOCAL_MACRO(230)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(231)\r
+        BOOST_PP_LOCAL_MACRO(231)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(232)\r
+        BOOST_PP_LOCAL_MACRO(232)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(233)\r
+        BOOST_PP_LOCAL_MACRO(233)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(234)\r
+        BOOST_PP_LOCAL_MACRO(234)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(235)\r
+        BOOST_PP_LOCAL_MACRO(235)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(236)\r
+        BOOST_PP_LOCAL_MACRO(236)\r
+#    endif\r
+\r
+#    if BOOST_PP_LOCAL_C(237)\r
+        BOOST_PP_LOCAL_MACRO(237)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(238)\r
+        BOOST_PP_LOCAL_MACRO(238)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(239)\r
+        BOOST_PP_LOCAL_MACRO(239)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(240)\r
+        BOOST_PP_LOCAL_MACRO(240)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(241)\r
+        BOOST_PP_LOCAL_MACRO(241)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(242)\r
+        BOOST_PP_LOCAL_MACRO(242)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(243)\r
+        BOOST_PP_LOCAL_MACRO(243)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(244)\r
+        BOOST_PP_LOCAL_MACRO(244)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(245)\r
+        BOOST_PP_LOCAL_MACRO(245)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(246)\r
+        BOOST_PP_LOCAL_MACRO(246)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(247)\r
+        BOOST_PP_LOCAL_MACRO(247)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(248)\r
+        BOOST_PP_LOCAL_MACRO(248)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(249)\r
+        BOOST_PP_LOCAL_MACRO(249)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(250)\r
+        BOOST_PP_LOCAL_MACRO(250)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(251)\r
+        BOOST_PP_LOCAL_MACRO(251)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(252)\r
+        BOOST_PP_LOCAL_MACRO(252)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(253)\r
+        BOOST_PP_LOCAL_MACRO(253)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(254)\r
+        BOOST_PP_LOCAL_MACRO(254)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(255)\r
+        BOOST_PP_LOCAL_MACRO(255)\r
+#    endif\r
+#    if BOOST_PP_LOCAL_C(256)\r
+        BOOST_PP_LOCAL_MACRO(256)\r
+#    endif\r
+# endif\r
+#\r
+# undef BOOST_PP_LOCAL_LIMITS\r
+#\r
+# undef BOOST_PP_LOCAL_S\r
+# undef BOOST_PP_LOCAL_F\r
+#\r
+# undef BOOST_PP_LOCAL_MACRO\r
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 (file)
index 0000000..3b3fcae
--- /dev/null
@@ -0,0 +1,782 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# if BOOST_PP_LOCAL_R(256)\r
+    BOOST_PP_LOCAL_MACRO(256)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(255)\r
+    BOOST_PP_LOCAL_MACRO(255)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(254)\r
+    BOOST_PP_LOCAL_MACRO(254)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(253)\r
+    BOOST_PP_LOCAL_MACRO(253)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(252)\r
+    BOOST_PP_LOCAL_MACRO(252)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(251)\r
+    BOOST_PP_LOCAL_MACRO(251)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(250)\r
+    BOOST_PP_LOCAL_MACRO(250)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(249)\r
+    BOOST_PP_LOCAL_MACRO(249)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(248)\r
+    BOOST_PP_LOCAL_MACRO(248)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(247)\r
+    BOOST_PP_LOCAL_MACRO(247)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(246)\r
+    BOOST_PP_LOCAL_MACRO(246)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(245)\r
+    BOOST_PP_LOCAL_MACRO(245)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(244)\r
+    BOOST_PP_LOCAL_MACRO(244)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(243)\r
+    BOOST_PP_LOCAL_MACRO(243)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(242)\r
+    BOOST_PP_LOCAL_MACRO(242)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(241)\r
+    BOOST_PP_LOCAL_MACRO(241)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(240)\r
+    BOOST_PP_LOCAL_MACRO(240)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(239)\r
+    BOOST_PP_LOCAL_MACRO(239)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(238)\r
+    BOOST_PP_LOCAL_MACRO(238)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(237)\r
+    BOOST_PP_LOCAL_MACRO(237)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(236)\r
+    BOOST_PP_LOCAL_MACRO(236)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(235)\r
+    BOOST_PP_LOCAL_MACRO(235)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(234)\r
+    BOOST_PP_LOCAL_MACRO(234)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(233)\r
+    BOOST_PP_LOCAL_MACRO(233)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(232)\r
+    BOOST_PP_LOCAL_MACRO(232)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(231)\r
+    BOOST_PP_LOCAL_MACRO(231)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(230)\r
+    BOOST_PP_LOCAL_MACRO(230)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(229)\r
+    BOOST_PP_LOCAL_MACRO(229)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(228)\r
+    BOOST_PP_LOCAL_MACRO(228)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(227)\r
+    BOOST_PP_LOCAL_MACRO(227)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(226)\r
+    BOOST_PP_LOCAL_MACRO(226)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(225)\r
+    BOOST_PP_LOCAL_MACRO(225)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(224)\r
+    BOOST_PP_LOCAL_MACRO(224)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(223)\r
+    BOOST_PP_LOCAL_MACRO(223)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(222)\r
+    BOOST_PP_LOCAL_MACRO(222)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(221)\r
+    BOOST_PP_LOCAL_MACRO(221)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(220)\r
+    BOOST_PP_LOCAL_MACRO(220)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(219)\r
+    BOOST_PP_LOCAL_MACRO(219)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(218)\r
+    BOOST_PP_LOCAL_MACRO(218)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(217)\r
+    BOOST_PP_LOCAL_MACRO(217)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(216)\r
+    BOOST_PP_LOCAL_MACRO(216)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(215)\r
+    BOOST_PP_LOCAL_MACRO(215)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(214)\r
+    BOOST_PP_LOCAL_MACRO(214)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(213)\r
+    BOOST_PP_LOCAL_MACRO(213)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(212)\r
+    BOOST_PP_LOCAL_MACRO(212)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(211)\r
+    BOOST_PP_LOCAL_MACRO(211)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(210)\r
+    BOOST_PP_LOCAL_MACRO(210)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(209)\r
+    BOOST_PP_LOCAL_MACRO(209)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(208)\r
+    BOOST_PP_LOCAL_MACRO(208)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(207)\r
+    BOOST_PP_LOCAL_MACRO(207)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(206)\r
+    BOOST_PP_LOCAL_MACRO(206)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(205)\r
+    BOOST_PP_LOCAL_MACRO(205)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(204)\r
+    BOOST_PP_LOCAL_MACRO(204)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(203)\r
+    BOOST_PP_LOCAL_MACRO(203)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(202)\r
+    BOOST_PP_LOCAL_MACRO(202)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(201)\r
+    BOOST_PP_LOCAL_MACRO(201)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(200)\r
+    BOOST_PP_LOCAL_MACRO(200)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(199)\r
+    BOOST_PP_LOCAL_MACRO(199)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(198)\r
+    BOOST_PP_LOCAL_MACRO(198)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(197)\r
+    BOOST_PP_LOCAL_MACRO(197)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(196)\r
+    BOOST_PP_LOCAL_MACRO(196)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(195)\r
+    BOOST_PP_LOCAL_MACRO(195)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(194)\r
+    BOOST_PP_LOCAL_MACRO(194)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(193)\r
+    BOOST_PP_LOCAL_MACRO(193)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(192)\r
+    BOOST_PP_LOCAL_MACRO(192)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(191)\r
+    BOOST_PP_LOCAL_MACRO(191)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(190)\r
+    BOOST_PP_LOCAL_MACRO(190)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(189)\r
+    BOOST_PP_LOCAL_MACRO(189)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(188)\r
+    BOOST_PP_LOCAL_MACRO(188)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(187)\r
+    BOOST_PP_LOCAL_MACRO(187)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(186)\r
+    BOOST_PP_LOCAL_MACRO(186)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(185)\r
+    BOOST_PP_LOCAL_MACRO(185)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(184)\r
+    BOOST_PP_LOCAL_MACRO(184)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(183)\r
+    BOOST_PP_LOCAL_MACRO(183)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(182)\r
+    BOOST_PP_LOCAL_MACRO(182)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(181)\r
+    BOOST_PP_LOCAL_MACRO(181)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(180)\r
+    BOOST_PP_LOCAL_MACRO(180)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(179)\r
+    BOOST_PP_LOCAL_MACRO(179)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(178)\r
+    BOOST_PP_LOCAL_MACRO(178)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(177)\r
+    BOOST_PP_LOCAL_MACRO(177)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(176)\r
+    BOOST_PP_LOCAL_MACRO(176)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(175)\r
+    BOOST_PP_LOCAL_MACRO(175)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(174)\r
+    BOOST_PP_LOCAL_MACRO(174)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(173)\r
+    BOOST_PP_LOCAL_MACRO(173)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(172)\r
+    BOOST_PP_LOCAL_MACRO(172)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(171)\r
+    BOOST_PP_LOCAL_MACRO(171)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(170)\r
+    BOOST_PP_LOCAL_MACRO(170)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(169)\r
+    BOOST_PP_LOCAL_MACRO(169)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(168)\r
+    BOOST_PP_LOCAL_MACRO(168)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(167)\r
+    BOOST_PP_LOCAL_MACRO(167)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(166)\r
+    BOOST_PP_LOCAL_MACRO(166)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(165)\r
+    BOOST_PP_LOCAL_MACRO(165)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(164)\r
+    BOOST_PP_LOCAL_MACRO(164)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(163)\r
+    BOOST_PP_LOCAL_MACRO(163)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(162)\r
+    BOOST_PP_LOCAL_MACRO(162)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(161)\r
+    BOOST_PP_LOCAL_MACRO(161)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(160)\r
+    BOOST_PP_LOCAL_MACRO(160)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(159)\r
+    BOOST_PP_LOCAL_MACRO(159)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(158)\r
+    BOOST_PP_LOCAL_MACRO(158)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(157)\r
+    BOOST_PP_LOCAL_MACRO(157)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(156)\r
+    BOOST_PP_LOCAL_MACRO(156)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(155)\r
+    BOOST_PP_LOCAL_MACRO(155)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(154)\r
+    BOOST_PP_LOCAL_MACRO(154)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(153)\r
+    BOOST_PP_LOCAL_MACRO(153)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(152)\r
+    BOOST_PP_LOCAL_MACRO(152)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(151)\r
+    BOOST_PP_LOCAL_MACRO(151)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(150)\r
+    BOOST_PP_LOCAL_MACRO(150)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(149)\r
+    BOOST_PP_LOCAL_MACRO(149)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(148)\r
+    BOOST_PP_LOCAL_MACRO(148)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(147)\r
+    BOOST_PP_LOCAL_MACRO(147)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(146)\r
+    BOOST_PP_LOCAL_MACRO(146)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(145)\r
+    BOOST_PP_LOCAL_MACRO(145)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(144)\r
+    BOOST_PP_LOCAL_MACRO(144)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(143)\r
+    BOOST_PP_LOCAL_MACRO(143)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(142)\r
+    BOOST_PP_LOCAL_MACRO(142)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(141)\r
+    BOOST_PP_LOCAL_MACRO(141)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(140)\r
+    BOOST_PP_LOCAL_MACRO(140)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(139)\r
+    BOOST_PP_LOCAL_MACRO(139)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(138)\r
+    BOOST_PP_LOCAL_MACRO(138)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(137)\r
+    BOOST_PP_LOCAL_MACRO(137)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(136)\r
+    BOOST_PP_LOCAL_MACRO(136)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(135)\r
+    BOOST_PP_LOCAL_MACRO(135)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(134)\r
+    BOOST_PP_LOCAL_MACRO(134)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(133)\r
+    BOOST_PP_LOCAL_MACRO(133)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(132)\r
+    BOOST_PP_LOCAL_MACRO(132)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(131)\r
+    BOOST_PP_LOCAL_MACRO(131)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(130)\r
+    BOOST_PP_LOCAL_MACRO(130)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(129)\r
+    BOOST_PP_LOCAL_MACRO(129)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(128)\r
+    BOOST_PP_LOCAL_MACRO(128)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(127)\r
+    BOOST_PP_LOCAL_MACRO(127)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(126)\r
+    BOOST_PP_LOCAL_MACRO(126)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(125)\r
+    BOOST_PP_LOCAL_MACRO(125)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(124)\r
+    BOOST_PP_LOCAL_MACRO(124)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(123)\r
+    BOOST_PP_LOCAL_MACRO(123)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(122)\r
+    BOOST_PP_LOCAL_MACRO(122)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(121)\r
+    BOOST_PP_LOCAL_MACRO(121)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(120)\r
+    BOOST_PP_LOCAL_MACRO(120)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(119)\r
+    BOOST_PP_LOCAL_MACRO(119)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(118)\r
+    BOOST_PP_LOCAL_MACRO(118)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(117)\r
+    BOOST_PP_LOCAL_MACRO(117)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(116)\r
+    BOOST_PP_LOCAL_MACRO(116)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(115)\r
+    BOOST_PP_LOCAL_MACRO(115)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(114)\r
+    BOOST_PP_LOCAL_MACRO(114)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(113)\r
+    BOOST_PP_LOCAL_MACRO(113)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(112)\r
+    BOOST_PP_LOCAL_MACRO(112)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(111)\r
+    BOOST_PP_LOCAL_MACRO(111)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(110)\r
+    BOOST_PP_LOCAL_MACRO(110)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(109)\r
+    BOOST_PP_LOCAL_MACRO(109)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(108)\r
+    BOOST_PP_LOCAL_MACRO(108)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(107)\r
+    BOOST_PP_LOCAL_MACRO(107)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(106)\r
+    BOOST_PP_LOCAL_MACRO(106)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(105)\r
+    BOOST_PP_LOCAL_MACRO(105)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(104)\r
+    BOOST_PP_LOCAL_MACRO(104)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(103)\r
+    BOOST_PP_LOCAL_MACRO(103)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(102)\r
+    BOOST_PP_LOCAL_MACRO(102)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(101)\r
+    BOOST_PP_LOCAL_MACRO(101)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(100)\r
+    BOOST_PP_LOCAL_MACRO(100)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(99)\r
+    BOOST_PP_LOCAL_MACRO(99)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(98)\r
+    BOOST_PP_LOCAL_MACRO(98)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(97)\r
+    BOOST_PP_LOCAL_MACRO(97)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(96)\r
+    BOOST_PP_LOCAL_MACRO(96)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(95)\r
+    BOOST_PP_LOCAL_MACRO(95)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(94)\r
+    BOOST_PP_LOCAL_MACRO(94)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(93)\r
+    BOOST_PP_LOCAL_MACRO(93)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(92)\r
+    BOOST_PP_LOCAL_MACRO(92)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(91)\r
+    BOOST_PP_LOCAL_MACRO(91)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(90)\r
+    BOOST_PP_LOCAL_MACRO(90)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(89)\r
+    BOOST_PP_LOCAL_MACRO(89)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(88)\r
+    BOOST_PP_LOCAL_MACRO(88)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(87)\r
+    BOOST_PP_LOCAL_MACRO(87)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(86)\r
+    BOOST_PP_LOCAL_MACRO(86)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(85)\r
+    BOOST_PP_LOCAL_MACRO(85)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(84)\r
+    BOOST_PP_LOCAL_MACRO(84)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(83)\r
+    BOOST_PP_LOCAL_MACRO(83)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(82)\r
+    BOOST_PP_LOCAL_MACRO(82)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(81)\r
+    BOOST_PP_LOCAL_MACRO(81)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(80)\r
+    BOOST_PP_LOCAL_MACRO(80)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(79)\r
+    BOOST_PP_LOCAL_MACRO(79)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(78)\r
+    BOOST_PP_LOCAL_MACRO(78)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(77)\r
+    BOOST_PP_LOCAL_MACRO(77)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(76)\r
+    BOOST_PP_LOCAL_MACRO(76)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(75)\r
+    BOOST_PP_LOCAL_MACRO(75)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(74)\r
+    BOOST_PP_LOCAL_MACRO(74)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(73)\r
+    BOOST_PP_LOCAL_MACRO(73)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(72)\r
+    BOOST_PP_LOCAL_MACRO(72)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(71)\r
+    BOOST_PP_LOCAL_MACRO(71)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(70)\r
+    BOOST_PP_LOCAL_MACRO(70)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(69)\r
+    BOOST_PP_LOCAL_MACRO(69)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(68)\r
+    BOOST_PP_LOCAL_MACRO(68)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(67)\r
+    BOOST_PP_LOCAL_MACRO(67)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(66)\r
+    BOOST_PP_LOCAL_MACRO(66)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(65)\r
+    BOOST_PP_LOCAL_MACRO(65)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(64)\r
+    BOOST_PP_LOCAL_MACRO(64)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(63)\r
+    BOOST_PP_LOCAL_MACRO(63)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(62)\r
+    BOOST_PP_LOCAL_MACRO(62)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(61)\r
+    BOOST_PP_LOCAL_MACRO(61)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(60)\r
+    BOOST_PP_LOCAL_MACRO(60)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(59)\r
+    BOOST_PP_LOCAL_MACRO(59)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(58)\r
+    BOOST_PP_LOCAL_MACRO(58)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(57)\r
+    BOOST_PP_LOCAL_MACRO(57)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(56)\r
+    BOOST_PP_LOCAL_MACRO(56)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(55)\r
+    BOOST_PP_LOCAL_MACRO(55)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(54)\r
+    BOOST_PP_LOCAL_MACRO(54)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(53)\r
+    BOOST_PP_LOCAL_MACRO(53)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(52)\r
+    BOOST_PP_LOCAL_MACRO(52)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(51)\r
+    BOOST_PP_LOCAL_MACRO(51)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(50)\r
+    BOOST_PP_LOCAL_MACRO(50)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(49)\r
+    BOOST_PP_LOCAL_MACRO(49)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(48)\r
+    BOOST_PP_LOCAL_MACRO(48)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(47)\r
+    BOOST_PP_LOCAL_MACRO(47)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(46)\r
+    BOOST_PP_LOCAL_MACRO(46)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(45)\r
+    BOOST_PP_LOCAL_MACRO(45)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(44)\r
+    BOOST_PP_LOCAL_MACRO(44)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(43)\r
+    BOOST_PP_LOCAL_MACRO(43)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(42)\r
+    BOOST_PP_LOCAL_MACRO(42)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(41)\r
+    BOOST_PP_LOCAL_MACRO(41)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(40)\r
+    BOOST_PP_LOCAL_MACRO(40)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(39)\r
+    BOOST_PP_LOCAL_MACRO(39)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(38)\r
+    BOOST_PP_LOCAL_MACRO(38)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(37)\r
+    BOOST_PP_LOCAL_MACRO(37)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(36)\r
+    BOOST_PP_LOCAL_MACRO(36)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(35)\r
+    BOOST_PP_LOCAL_MACRO(35)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(34)\r
+    BOOST_PP_LOCAL_MACRO(34)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(33)\r
+    BOOST_PP_LOCAL_MACRO(33)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(32)\r
+    BOOST_PP_LOCAL_MACRO(32)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(31)\r
+    BOOST_PP_LOCAL_MACRO(31)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(30)\r
+    BOOST_PP_LOCAL_MACRO(30)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(29)\r
+    BOOST_PP_LOCAL_MACRO(29)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(28)\r
+    BOOST_PP_LOCAL_MACRO(28)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(27)\r
+    BOOST_PP_LOCAL_MACRO(27)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(26)\r
+    BOOST_PP_LOCAL_MACRO(26)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(25)\r
+    BOOST_PP_LOCAL_MACRO(25)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(24)\r
+    BOOST_PP_LOCAL_MACRO(24)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(23)\r
+    BOOST_PP_LOCAL_MACRO(23)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(22)\r
+    BOOST_PP_LOCAL_MACRO(22)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(21)\r
+    BOOST_PP_LOCAL_MACRO(21)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(20)\r
+    BOOST_PP_LOCAL_MACRO(20)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(19)\r
+    BOOST_PP_LOCAL_MACRO(19)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(18)\r
+    BOOST_PP_LOCAL_MACRO(18)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(17)\r
+    BOOST_PP_LOCAL_MACRO(17)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(16)\r
+    BOOST_PP_LOCAL_MACRO(16)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(15)\r
+    BOOST_PP_LOCAL_MACRO(15)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(14)\r
+    BOOST_PP_LOCAL_MACRO(14)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(13)\r
+    BOOST_PP_LOCAL_MACRO(13)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(12)\r
+    BOOST_PP_LOCAL_MACRO(12)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(11)\r
+    BOOST_PP_LOCAL_MACRO(11)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(10)\r
+    BOOST_PP_LOCAL_MACRO(10)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(9)\r
+    BOOST_PP_LOCAL_MACRO(9)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(8)\r
+    BOOST_PP_LOCAL_MACRO(8)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(7)\r
+    BOOST_PP_LOCAL_MACRO(7)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(6)\r
+    BOOST_PP_LOCAL_MACRO(6)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(5)\r
+    BOOST_PP_LOCAL_MACRO(5)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(4)\r
+    BOOST_PP_LOCAL_MACRO(4)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(3)\r
+    BOOST_PP_LOCAL_MACRO(3)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(2)\r
+    BOOST_PP_LOCAL_MACRO(2)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(1)\r
+    BOOST_PP_LOCAL_MACRO(1)\r
+# endif\r
+# if BOOST_PP_LOCAL_R(0)\r
+    BOOST_PP_LOCAL_MACRO(0)\r
+# endif\r
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 (file)
index 0000000..d212ee0
--- /dev/null
@@ -0,0 +1,21 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# if !defined(BOOST_PP_INDIRECT_SELF)\r
+#    error BOOST_PP_ERROR:  no indirect file to include\r
+# endif\r
+#\r
+# define BOOST_PP_IS_SELFISH 1\r
+#\r
+# include BOOST_PP_INDIRECT_SELF\r
+#\r
+# undef BOOST_PP_IS_SELFISH\r
+# undef BOOST_PP_INDIRECT_SELF\r
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 (file)
index 0000000..55e99cb
--- /dev/null
@@ -0,0 +1,99 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# include <boost/preprocessor/slot/detail/shared.hpp>\r
+#\r
+# undef BOOST_PP_LOCAL_SE\r
+#\r
+# undef BOOST_PP_LOCAL_SE_DIGIT_1\r
+# undef BOOST_PP_LOCAL_SE_DIGIT_2\r
+# undef BOOST_PP_LOCAL_SE_DIGIT_3\r
+# undef BOOST_PP_LOCAL_SE_DIGIT_4\r
+# undef BOOST_PP_LOCAL_SE_DIGIT_5\r
+# undef BOOST_PP_LOCAL_SE_DIGIT_6\r
+# undef BOOST_PP_LOCAL_SE_DIGIT_7\r
+# undef BOOST_PP_LOCAL_SE_DIGIT_8\r
+# undef BOOST_PP_LOCAL_SE_DIGIT_9\r
+# undef BOOST_PP_LOCAL_SE_DIGIT_10\r
+#\r
+# if BOOST_PP_SLOT_TEMP_3 == 0\r
+#    define BOOST_PP_LOCAL_SE_DIGIT_3 0\r
+# elif BOOST_PP_SLOT_TEMP_3 == 1\r
+#    define BOOST_PP_LOCAL_SE_DIGIT_3 1\r
+# elif BOOST_PP_SLOT_TEMP_3 == 2\r
+#    define BOOST_PP_LOCAL_SE_DIGIT_3 2\r
+# elif BOOST_PP_SLOT_TEMP_3 == 3\r
+#    define BOOST_PP_LOCAL_SE_DIGIT_3 3\r
+# elif BOOST_PP_SLOT_TEMP_3 == 4\r
+#    define BOOST_PP_LOCAL_SE_DIGIT_3 4\r
+# elif BOOST_PP_SLOT_TEMP_3 == 5\r
+#    define BOOST_PP_LOCAL_SE_DIGIT_3 5\r
+# elif BOOST_PP_SLOT_TEMP_3 == 6\r
+#    define BOOST_PP_LOCAL_SE_DIGIT_3 6\r
+# elif BOOST_PP_SLOT_TEMP_3 == 7\r
+#    define BOOST_PP_LOCAL_SE_DIGIT_3 7\r
+# elif BOOST_PP_SLOT_TEMP_3 == 8\r
+#    define BOOST_PP_LOCAL_SE_DIGIT_3 8\r
+# elif BOOST_PP_SLOT_TEMP_3 == 9\r
+#    define BOOST_PP_LOCAL_SE_DIGIT_3 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_TEMP_2 == 0\r
+#    define BOOST_PP_LOCAL_SE_DIGIT_2 0\r
+# elif BOOST_PP_SLOT_TEMP_2 == 1\r
+#    define BOOST_PP_LOCAL_SE_DIGIT_2 1\r
+# elif BOOST_PP_SLOT_TEMP_2 == 2\r
+#    define BOOST_PP_LOCAL_SE_DIGIT_2 2\r
+# elif BOOST_PP_SLOT_TEMP_2 == 3\r
+#    define BOOST_PP_LOCAL_SE_DIGIT_2 3\r
+# elif BOOST_PP_SLOT_TEMP_2 == 4\r
+#    define BOOST_PP_LOCAL_SE_DIGIT_2 4\r
+# elif BOOST_PP_SLOT_TEMP_2 == 5\r
+#    define BOOST_PP_LOCAL_SE_DIGIT_2 5\r
+# elif BOOST_PP_SLOT_TEMP_2 == 6\r
+#    define BOOST_PP_LOCAL_SE_DIGIT_2 6\r
+# elif BOOST_PP_SLOT_TEMP_2 == 7\r
+#    define BOOST_PP_LOCAL_SE_DIGIT_2 7\r
+# elif BOOST_PP_SLOT_TEMP_2 == 8\r
+#    define BOOST_PP_LOCAL_SE_DIGIT_2 8\r
+# elif BOOST_PP_SLOT_TEMP_2 == 9\r
+#    define BOOST_PP_LOCAL_SE_DIGIT_2 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_TEMP_1 == 0\r
+#    define BOOST_PP_LOCAL_SE_DIGIT_1 0\r
+# elif BOOST_PP_SLOT_TEMP_1 == 1\r
+#    define BOOST_PP_LOCAL_SE_DIGIT_1 1\r
+# elif BOOST_PP_SLOT_TEMP_1 == 2\r
+#    define BOOST_PP_LOCAL_SE_DIGIT_1 2\r
+# elif BOOST_PP_SLOT_TEMP_1 == 3\r
+#    define BOOST_PP_LOCAL_SE_DIGIT_1 3\r
+# elif BOOST_PP_SLOT_TEMP_1 == 4\r
+#    define BOOST_PP_LOCAL_SE_DIGIT_1 4\r
+# elif BOOST_PP_SLOT_TEMP_1 == 5\r
+#    define BOOST_PP_LOCAL_SE_DIGIT_1 5\r
+# elif BOOST_PP_SLOT_TEMP_1 == 6\r
+#    define BOOST_PP_LOCAL_SE_DIGIT_1 6\r
+# elif BOOST_PP_SLOT_TEMP_1 == 7\r
+#    define BOOST_PP_LOCAL_SE_DIGIT_1 7\r
+# elif BOOST_PP_SLOT_TEMP_1 == 8\r
+#    define BOOST_PP_LOCAL_SE_DIGIT_1 8\r
+# elif BOOST_PP_SLOT_TEMP_1 == 9\r
+#    define BOOST_PP_LOCAL_SE_DIGIT_1 9\r
+# endif\r
+#\r
+# if BOOST_PP_LOCAL_SE_DIGIT_3\r
+#    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)\r
+# elif BOOST_PP_LOCAL_SE_DIGIT_2\r
+#    define BOOST_PP_LOCAL_SE() BOOST_PP_SLOT_CC_2(BOOST_PP_LOCAL_SE_DIGIT_2, BOOST_PP_LOCAL_SE_DIGIT_1)\r
+# else\r
+#    define BOOST_PP_LOCAL_SE() BOOST_PP_LOCAL_SE_DIGIT_1\r
+# endif\r
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 (file)
index 0000000..c3d1b07
--- /dev/null
@@ -0,0 +1,82 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_ITERATION_ITERATE_HPP\r
+# define BOOST_PREPROCESSOR_ITERATION_ITERATE_HPP\r
+#\r
+# include <boost/preprocessor/arithmetic/dec.hpp>\r
+# include <boost/preprocessor/arithmetic/inc.hpp>\r
+# include <boost/preprocessor/array/elem.hpp>\r
+# include <boost/preprocessor/array/size.hpp>\r
+# include <boost/preprocessor/cat.hpp>\r
+# include <boost/preprocessor/slot/slot.hpp>\r
+# include <boost/preprocessor/tuple/elem.hpp>\r
+#\r
+# /* BOOST_PP_ITERATION_DEPTH */\r
+#\r
+# define BOOST_PP_ITERATION_DEPTH() 0\r
+#\r
+# /* BOOST_PP_ITERATION */\r
+#\r
+# define BOOST_PP_ITERATION() BOOST_PP_CAT(BOOST_PP_ITERATION_, BOOST_PP_ITERATION_DEPTH())\r
+#\r
+# /* BOOST_PP_ITERATION_START && BOOST_PP_ITERATION_FINISH */\r
+#\r
+# define BOOST_PP_ITERATION_START() BOOST_PP_CAT(BOOST_PP_ITERATION_START_, BOOST_PP_ITERATION_DEPTH())\r
+# define BOOST_PP_ITERATION_FINISH() BOOST_PP_CAT(BOOST_PP_ITERATION_FINISH_, BOOST_PP_ITERATION_DEPTH())\r
+#\r
+# /* BOOST_PP_ITERATION_FLAGS */\r
+#\r
+# define BOOST_PP_ITERATION_FLAGS() (BOOST_PP_CAT(BOOST_PP_ITERATION_FLAGS_, BOOST_PP_ITERATION_DEPTH()))\r
+#\r
+# /* BOOST_PP_FRAME_ITERATION */\r
+#\r
+# define BOOST_PP_FRAME_ITERATION(i) BOOST_PP_CAT(BOOST_PP_ITERATION_, i)\r
+#\r
+# /* BOOST_PP_FRAME_START && BOOST_PP_FRAME_FINISH */\r
+#\r
+# define BOOST_PP_FRAME_START(i) BOOST_PP_CAT(BOOST_PP_ITERATION_START_, i)\r
+# define BOOST_PP_FRAME_FINISH(i) BOOST_PP_CAT(BOOST_PP_ITERATION_FINISH_, i)\r
+#\r
+# /* BOOST_PP_FRAME_FLAGS */\r
+#\r
+# define BOOST_PP_FRAME_FLAGS(i) (BOOST_PP_CAT(BOOST_PP_ITERATION_FLAGS_, i))\r
+#\r
+# /* BOOST_PP_RELATIVE_ITERATION */\r
+#\r
+# define BOOST_PP_RELATIVE_ITERATION(i) BOOST_PP_CAT(BOOST_PP_RELATIVE_, i)(BOOST_PP_ITERATION_)\r
+#\r
+# define BOOST_PP_RELATIVE_0(m) BOOST_PP_CAT(m, BOOST_PP_ITERATION_DEPTH())\r
+# define BOOST_PP_RELATIVE_1(m) BOOST_PP_CAT(m, BOOST_PP_DEC(BOOST_PP_ITERATION_DEPTH()))\r
+# define BOOST_PP_RELATIVE_2(m) BOOST_PP_CAT(m, BOOST_PP_DEC(BOOST_PP_DEC(BOOST_PP_ITERATION_DEPTH())))\r
+# define BOOST_PP_RELATIVE_3(m) BOOST_PP_CAT(m, BOOST_PP_DEC(BOOST_PP_DEC(BOOST_PP_DEC(BOOST_PP_ITERATION_DEPTH()))))\r
+# 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())))))\r
+#\r
+# /* BOOST_PP_RELATIVE_START && BOOST_PP_RELATIVE_FINISH */\r
+#\r
+# define BOOST_PP_RELATIVE_START(i) BOOST_PP_CAT(BOOST_PP_RELATIVE_, i)(BOOST_PP_ITERATION_START_)\r
+# define BOOST_PP_RELATIVE_FINISH(i) BOOST_PP_CAT(BOOST_PP_RELATIVE_, i)(BOOST_PP_ITERATION_FINISH_)\r
+#\r
+# /* BOOST_PP_RELATIVE_FLAGS */\r
+#\r
+# define BOOST_PP_RELATIVE_FLAGS(i) (BOOST_PP_CAT(BOOST_PP_RELATIVE_, i)(BOOST_PP_ITERATION_FLAGS_))\r
+#\r
+# /* BOOST_PP_ITERATE */\r
+#\r
+# define BOOST_PP_ITERATE() BOOST_PP_CAT(BOOST_PP_ITERATE_, BOOST_PP_INC(BOOST_PP_ITERATION_DEPTH()))\r
+#\r
+# define BOOST_PP_ITERATE_1 <boost/preprocessor/iteration/detail/iter/forward1.hpp>\r
+# define BOOST_PP_ITERATE_2 <boost/preprocessor/iteration/detail/iter/forward2.hpp>\r
+# define BOOST_PP_ITERATE_3 <boost/preprocessor/iteration/detail/iter/forward3.hpp>\r
+# define BOOST_PP_ITERATE_4 <boost/preprocessor/iteration/detail/iter/forward4.hpp>\r
+# define BOOST_PP_ITERATE_5 <boost/preprocessor/iteration/detail/iter/forward5.hpp>\r
+#\r
+# endif\r
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 (file)
index 0000000..5af8430
--- /dev/null
@@ -0,0 +1,26 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_ITERATION_LOCAL_HPP\r
+# define BOOST_PREPROCESSOR_ITERATION_LOCAL_HPP\r
+#\r
+# include <boost/preprocessor/config/config.hpp>\r
+# include <boost/preprocessor/slot/slot.hpp>\r
+# include <boost/preprocessor/tuple/elem.hpp>\r
+#\r
+# /* BOOST_PP_LOCAL_ITERATE */\r
+#\r
+# define BOOST_PP_LOCAL_ITERATE() <boost/preprocessor/iteration/detail/local.hpp>\r
+#\r
+# define BOOST_PP_LOCAL_C(n) (BOOST_PP_LOCAL_S) <= n && (BOOST_PP_LOCAL_F) >= n\r
+# define BOOST_PP_LOCAL_R(n) (BOOST_PP_LOCAL_F) <= n && (BOOST_PP_LOCAL_S) >= n\r
+#\r
+# endif\r
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 (file)
index 0000000..b53b3db
--- /dev/null
@@ -0,0 +1,19 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_ITERATION_SELF_HPP\r
+# define BOOST_PREPROCESSOR_ITERATION_SELF_HPP\r
+#\r
+# /* BOOST_PP_INCLUDE_SELF */\r
+#\r
+# define BOOST_PP_INCLUDE_SELF() <boost/preprocessor/iteration/detail/self.hpp>\r
+#\r
+# endif\r
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 (file)
index 0000000..29ba635
--- /dev/null
@@ -0,0 +1,34 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_LIBRARY_HPP\r
+# define BOOST_PREPROCESSOR_LIBRARY_HPP\r
+#\r
+# include <boost/preprocessor/arithmetic.hpp>\r
+# include <boost/preprocessor/array.hpp>\r
+# include <boost/preprocessor/cat.hpp>\r
+# include <boost/preprocessor/comparison.hpp>\r
+# include <boost/preprocessor/config/limits.hpp>\r
+# include <boost/preprocessor/control.hpp>\r
+# include <boost/preprocessor/debug.hpp>\r
+# include <boost/preprocessor/facilities.hpp>\r
+# include <boost/preprocessor/iteration.hpp>\r
+# include <boost/preprocessor/list.hpp>\r
+# include <boost/preprocessor/logical.hpp>\r
+# include <boost/preprocessor/punctuation.hpp>\r
+# include <boost/preprocessor/repetition.hpp>\r
+# include <boost/preprocessor/selection.hpp>\r
+# include <boost/preprocessor/seq.hpp>\r
+# include <boost/preprocessor/slot.hpp>\r
+# include <boost/preprocessor/stringize.hpp>\r
+# include <boost/preprocessor/tuple.hpp>\r
+#\r
+# endif\r
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 (file)
index 0000000..ec98b2e
--- /dev/null
@@ -0,0 +1,17 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_LIMITS_HPP\r
+# define BOOST_PREPROCESSOR_LIMITS_HPP\r
+#\r
+# include <boost/preprocessor/config/limits.hpp>\r
+#\r
+# endif\r
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 (file)
index 0000000..b09bb82
--- /dev/null
@@ -0,0 +1,35 @@
+# /* Copyright (C) 2001\r
+#  * Housemarque Oy\r
+#  * http://www.housemarque.com\r
+#  *\r
+#  * Distributed under the Boost Software License, Version 1.0. (See\r
+#  * accompanying file LICENSE_1_0.txt or copy at\r
+#  * http://www.boost.org/LICENSE_1_0.txt)\r
+#  */\r
+#\r
+# /* Revised by Paul Mensonides (2002) */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_LIST_HPP\r
+# define BOOST_PREPROCESSOR_LIST_HPP\r
+#\r
+# include <boost/preprocessor/list/adt.hpp>\r
+# include <boost/preprocessor/list/append.hpp>\r
+# include <boost/preprocessor/list/at.hpp>\r
+# include <boost/preprocessor/list/cat.hpp>\r
+# include <boost/preprocessor/list/enum.hpp>\r
+# include <boost/preprocessor/list/filter.hpp>\r
+# include <boost/preprocessor/list/first_n.hpp>\r
+# include <boost/preprocessor/list/fold_left.hpp>\r
+# include <boost/preprocessor/list/fold_right.hpp>\r
+# include <boost/preprocessor/list/for_each.hpp>\r
+# include <boost/preprocessor/list/for_each_i.hpp>\r
+# include <boost/preprocessor/list/for_each_product.hpp>\r
+# include <boost/preprocessor/list/rest_n.hpp>\r
+# include <boost/preprocessor/list/reverse.hpp>\r
+# include <boost/preprocessor/list/size.hpp>\r
+# include <boost/preprocessor/list/to_tuple.hpp>\r
+# include <boost/preprocessor/list/transform.hpp>\r
+#\r
+# endif\r
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 (file)
index 0000000..0743af6
--- /dev/null
@@ -0,0 +1,73 @@
+# /* Copyright (C) 2001\r
+#  * Housemarque Oy\r
+#  * http://www.housemarque.com\r
+#  *\r
+#  * Distributed under the Boost Software License, Version 1.0. (See\r
+#  * accompanying file LICENSE_1_0.txt or copy at\r
+#  * http://www.boost.org/LICENSE_1_0.txt)\r
+#  *\r
+#  * See http://www.boost.org for most recent version.\r
+#  */\r
+#\r
+# /* Revised by Paul Mensonides (2002) */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_LIST_ADT_HPP\r
+# define BOOST_PREPROCESSOR_LIST_ADT_HPP\r
+#\r
+# include <boost/preprocessor/config/config.hpp>\r
+# include <boost/preprocessor/detail/is_binary.hpp>\r
+# include <boost/preprocessor/logical/compl.hpp>\r
+# include <boost/preprocessor/tuple/eat.hpp>\r
+#\r
+# /* BOOST_PP_LIST_CONS */\r
+#\r
+# define BOOST_PP_LIST_CONS(head, tail) (head, tail)\r
+#\r
+# /* BOOST_PP_LIST_NIL */\r
+#\r
+# define BOOST_PP_LIST_NIL BOOST_PP_NIL\r
+#\r
+# /* BOOST_PP_LIST_FIRST */\r
+#\r
+# define BOOST_PP_LIST_FIRST(list) BOOST_PP_LIST_FIRST_D(list)\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()\r
+#    define BOOST_PP_LIST_FIRST_D(list) BOOST_PP_LIST_FIRST_I list\r
+# else\r
+#    define BOOST_PP_LIST_FIRST_D(list) BOOST_PP_LIST_FIRST_I ## list\r
+# endif\r
+#\r
+# define BOOST_PP_LIST_FIRST_I(head, tail) head\r
+#\r
+# /* BOOST_PP_LIST_REST */\r
+#\r
+# define BOOST_PP_LIST_REST(list) BOOST_PP_LIST_REST_D(list)\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()\r
+#    define BOOST_PP_LIST_REST_D(list) BOOST_PP_LIST_REST_I list\r
+# else\r
+#    define BOOST_PP_LIST_REST_D(list) BOOST_PP_LIST_REST_I ## list\r
+# endif\r
+#\r
+# define BOOST_PP_LIST_REST_I(head, tail) tail\r
+#\r
+# /* BOOST_PP_LIST_IS_CONS */\r
+#\r
+# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_BCC()\r
+#    define BOOST_PP_LIST_IS_CONS(list) BOOST_PP_LIST_IS_CONS_D(list)\r
+#    define BOOST_PP_LIST_IS_CONS_D(list) BOOST_PP_LIST_IS_CONS_ ## list\r
+#    define BOOST_PP_LIST_IS_CONS_(head, tail) 1\r
+#    define BOOST_PP_LIST_IS_CONS_BOOST_PP_NIL 0\r
+# else\r
+#    define BOOST_PP_LIST_IS_CONS(list) BOOST_PP_IS_BINARY(list)\r
+# endif\r
+#\r
+# /* BOOST_PP_LIST_IS_NIL */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_BCC()\r
+#    define BOOST_PP_LIST_IS_NIL(list) BOOST_PP_COMPL(BOOST_PP_IS_BINARY(list))\r
+# else\r
+#    define BOOST_PP_LIST_IS_NIL(list) BOOST_PP_COMPL(BOOST_PP_LIST_IS_CONS(list))\r
+# endif\r
+#\r
+# endif\r
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 (file)
index 0000000..d26e1af
--- /dev/null
@@ -0,0 +1,40 @@
+# /* Copyright (C) 2001\r
+#  * Housemarque Oy\r
+#  * http://www.housemarque.com\r
+#  *\r
+#  * Distributed under the Boost Software License, Version 1.0. (See\r
+#  * accompanying file LICENSE_1_0.txt or copy at\r
+#  * http://www.boost.org/LICENSE_1_0.txt)\r
+#  */\r
+#\r
+# /* Revised by Paul Mensonides (2002) */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_LIST_APPEND_HPP\r
+# define BOOST_PREPROCESSOR_LIST_APPEND_HPP\r
+#\r
+# include <boost/preprocessor/config/config.hpp>\r
+# include <boost/preprocessor/list/fold_right.hpp>\r
+#\r
+# /* BOOST_PP_LIST_APPEND */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    define BOOST_PP_LIST_APPEND(a, b) BOOST_PP_LIST_FOLD_RIGHT(BOOST_PP_LIST_APPEND_O, b, a)\r
+# else\r
+#    define BOOST_PP_LIST_APPEND(a, b) BOOST_PP_LIST_APPEND_I(a, b)\r
+#    define BOOST_PP_LIST_APPEND_I(a, b) BOOST_PP_LIST_FOLD_RIGHT(BOOST_PP_LIST_APPEND_O, b, a)\r
+# endif\r
+#\r
+# define BOOST_PP_LIST_APPEND_O(d, s, x) (x, s)\r
+#\r
+# /* BOOST_PP_LIST_APPEND_D */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    define BOOST_PP_LIST_APPEND_D(d, a, b) BOOST_PP_LIST_FOLD_RIGHT_ ## d(BOOST_PP_LIST_APPEND_O, b, a)\r
+# else\r
+#    define BOOST_PP_LIST_APPEND_D(d, a, b) BOOST_PP_LIST_APPEND_D_I(d, a, b)\r
+#    define BOOST_PP_LIST_APPEND_D_I(d, a, b) BOOST_PP_LIST_FOLD_RIGHT_ ## d(BOOST_PP_LIST_APPEND_O, b, a)\r
+# endif\r
+#\r
+# endif\r
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 (file)
index 0000000..bc02108
--- /dev/null
@@ -0,0 +1,39 @@
+# /* Copyright (C) 2001\r
+#  * Housemarque Oy\r
+#  * http://www.housemarque.com\r
+#  *\r
+#  * Distributed under the Boost Software License, Version 1.0. (See\r
+#  * accompanying file LICENSE_1_0.txt or copy at\r
+#  * http://www.boost.org/LICENSE_1_0.txt)\r
+#  */\r
+#\r
+# /* Revised by Paul Mensonides (2002) */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_LIST_AT_HPP\r
+# define BOOST_PREPROCESSOR_LIST_AT_HPP\r
+#\r
+# include <boost/preprocessor/config/config.hpp>\r
+# include <boost/preprocessor/list/adt.hpp>\r
+# include <boost/preprocessor/list/rest_n.hpp>\r
+#\r
+# /* BOOST_PP_LIST_AT */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    define BOOST_PP_LIST_AT(list, index) BOOST_PP_LIST_FIRST(BOOST_PP_LIST_REST_N(index, list))\r
+# else\r
+#    define BOOST_PP_LIST_AT(list, index) BOOST_PP_LIST_AT_I(list, index)\r
+#    define BOOST_PP_LIST_AT_I(list, index) BOOST_PP_LIST_FIRST(BOOST_PP_LIST_REST_N(index, list))\r
+# endif\r
+#\r
+# /* BOOST_PP_LIST_AT_D */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    define BOOST_PP_LIST_AT_D(d, list, index) BOOST_PP_LIST_FIRST(BOOST_PP_LIST_REST_N_D(d, index, list))\r
+# else\r
+#    define BOOST_PP_LIST_AT_D(d, list, index) BOOST_PP_LIST_AT_D_I(d, list, index)\r
+#    define BOOST_PP_LIST_AT_D_I(d, list, index) BOOST_PP_LIST_FIRST(BOOST_PP_LIST_REST_N_D(d, index, list))\r
+# endif\r
+#\r
+# endif\r
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 (file)
index 0000000..0a9641c
--- /dev/null
@@ -0,0 +1,42 @@
+# /* Copyright (C) 2001\r
+#  * Housemarque Oy\r
+#  * http://www.housemarque.com\r
+#  *\r
+#  * Distributed under the Boost Software License, Version 1.0. (See\r
+#  * accompanying file LICENSE_1_0.txt or copy at\r
+#  * http://www.boost.org/LICENSE_1_0.txt)\r
+#  */\r
+#\r
+# /* Revised by Paul Mensonides (2002) */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_LIST_CAT_HPP\r
+# define BOOST_PREPROCESSOR_LIST_CAT_HPP\r
+#\r
+# include <boost/preprocessor/cat.hpp>\r
+# include <boost/preprocessor/config/config.hpp>\r
+# include <boost/preprocessor/list/adt.hpp>\r
+# include <boost/preprocessor/list/fold_left.hpp>\r
+#\r
+# /* BOOST_PP_LIST_CAT */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    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))\r
+# else\r
+#    define BOOST_PP_LIST_CAT(list) BOOST_PP_LIST_CAT_I(list)\r
+#    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))\r
+# endif\r
+#\r
+# define BOOST_PP_LIST_CAT_O(d, s, x) BOOST_PP_CAT(s, x)\r
+#\r
+# /* BOOST_PP_LIST_CAT_D */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    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))\r
+# else\r
+#    define BOOST_PP_LIST_CAT_D(d, list) BOOST_PP_LIST_CAT_D_I(d, list)\r
+#    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))\r
+# endif\r
+#\r
+# endif\r
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 (file)
index 0000000..bf1d2e0
--- /dev/null
@@ -0,0 +1,279 @@
+# /* Copyright (C) 2001\r
+#  * Housemarque Oy\r
+#  * http://www.housemarque.com\r
+#  *\r
+#  * Distributed under the Boost Software License, Version 1.0. (See\r
+#  * accompanying file LICENSE_1_0.txt or copy at\r
+#  * http://www.boost.org/LICENSE_1_0.txt)\r
+#  */\r
+#\r
+# /* Revised by Paul Mensonides (2002) */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_LIST_DETAIL_FOLD_LEFT_HPP\r
+# define BOOST_PREPROCESSOR_LIST_DETAIL_FOLD_LEFT_HPP\r
+#\r
+# include <boost/preprocessor/control/expr_iif.hpp>\r
+# include <boost/preprocessor/control/iif.hpp>\r
+# include <boost/preprocessor/list/adt.hpp>\r
+# include <boost/preprocessor/tuple/elem.hpp>\r
+#\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+#\r
+# endif\r
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 (file)
index 0000000..0130e85
--- /dev/null
@@ -0,0 +1,536 @@
+# /* Copyright (C) 2001\r
+#  * Housemarque Oy\r
+#  * http://www.housemarque.com\r
+#  *\r
+#  * Distributed under the Boost Software License, Version 1.0. (See\r
+#  * accompanying file LICENSE_1_0.txt or copy at\r
+#  * http://www.boost.org/LICENSE_1_0.txt)\r
+#  */\r
+#\r
+# /* Revised by Paul Mensonides (2002) */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_LIST_DETAIL_EDG_FOLD_LEFT_HPP\r
+# define BOOST_PREPROCESSOR_LIST_DETAIL_EDG_FOLD_LEFT_HPP\r
+#\r
+# include <boost/preprocessor/control/expr_iif.hpp>\r
+# include <boost/preprocessor/control/iif.hpp>\r
+# include <boost/preprocessor/list/adt.hpp>\r
+# include <boost/preprocessor/tuple/eat.hpp>\r
+#\r
+# define BOOST_PP_LIST_FOLD_LEFT_1(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_2(o, s, l) BOOST_PP_LIST_FOLD_LEFT_2_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_3(o, s, l) BOOST_PP_LIST_FOLD_LEFT_3_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_4(o, s, l) BOOST_PP_LIST_FOLD_LEFT_4_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_5(o, s, l) BOOST_PP_LIST_FOLD_LEFT_5_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_6(o, s, l) BOOST_PP_LIST_FOLD_LEFT_6_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_7(o, s, l) BOOST_PP_LIST_FOLD_LEFT_7_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_8(o, s, l) BOOST_PP_LIST_FOLD_LEFT_8_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_9(o, s, l) BOOST_PP_LIST_FOLD_LEFT_9_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_10(o, s, l) BOOST_PP_LIST_FOLD_LEFT_10_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_11(o, s, l) BOOST_PP_LIST_FOLD_LEFT_11_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_12(o, s, l) BOOST_PP_LIST_FOLD_LEFT_12_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_13(o, s, l) BOOST_PP_LIST_FOLD_LEFT_13_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_14(o, s, l) BOOST_PP_LIST_FOLD_LEFT_14_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_15(o, s, l) BOOST_PP_LIST_FOLD_LEFT_15_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_16(o, s, l) BOOST_PP_LIST_FOLD_LEFT_16_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_17(o, s, l) BOOST_PP_LIST_FOLD_LEFT_17_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_18(o, s, l) BOOST_PP_LIST_FOLD_LEFT_18_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_19(o, s, l) BOOST_PP_LIST_FOLD_LEFT_19_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_20(o, s, l) BOOST_PP_LIST_FOLD_LEFT_20_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_21(o, s, l) BOOST_PP_LIST_FOLD_LEFT_21_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_22(o, s, l) BOOST_PP_LIST_FOLD_LEFT_22_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_23(o, s, l) BOOST_PP_LIST_FOLD_LEFT_23_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_24(o, s, l) BOOST_PP_LIST_FOLD_LEFT_24_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_25(o, s, l) BOOST_PP_LIST_FOLD_LEFT_25_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_26(o, s, l) BOOST_PP_LIST_FOLD_LEFT_26_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_27(o, s, l) BOOST_PP_LIST_FOLD_LEFT_27_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_28(o, s, l) BOOST_PP_LIST_FOLD_LEFT_28_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_29(o, s, l) BOOST_PP_LIST_FOLD_LEFT_29_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_30(o, s, l) BOOST_PP_LIST_FOLD_LEFT_30_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_31(o, s, l) BOOST_PP_LIST_FOLD_LEFT_31_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_32(o, s, l) BOOST_PP_LIST_FOLD_LEFT_32_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_33(o, s, l) BOOST_PP_LIST_FOLD_LEFT_33_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_34(o, s, l) BOOST_PP_LIST_FOLD_LEFT_34_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_35(o, s, l) BOOST_PP_LIST_FOLD_LEFT_35_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_36(o, s, l) BOOST_PP_LIST_FOLD_LEFT_36_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_37(o, s, l) BOOST_PP_LIST_FOLD_LEFT_37_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_38(o, s, l) BOOST_PP_LIST_FOLD_LEFT_38_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_39(o, s, l) BOOST_PP_LIST_FOLD_LEFT_39_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_40(o, s, l) BOOST_PP_LIST_FOLD_LEFT_40_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_41(o, s, l) BOOST_PP_LIST_FOLD_LEFT_41_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_42(o, s, l) BOOST_PP_LIST_FOLD_LEFT_42_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_43(o, s, l) BOOST_PP_LIST_FOLD_LEFT_43_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_44(o, s, l) BOOST_PP_LIST_FOLD_LEFT_44_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_45(o, s, l) BOOST_PP_LIST_FOLD_LEFT_45_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_46(o, s, l) BOOST_PP_LIST_FOLD_LEFT_46_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_47(o, s, l) BOOST_PP_LIST_FOLD_LEFT_47_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_48(o, s, l) BOOST_PP_LIST_FOLD_LEFT_48_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_49(o, s, l) BOOST_PP_LIST_FOLD_LEFT_49_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_50(o, s, l) BOOST_PP_LIST_FOLD_LEFT_50_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_51(o, s, l) BOOST_PP_LIST_FOLD_LEFT_51_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_52(o, s, l) BOOST_PP_LIST_FOLD_LEFT_52_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_53(o, s, l) BOOST_PP_LIST_FOLD_LEFT_53_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_54(o, s, l) BOOST_PP_LIST_FOLD_LEFT_54_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_55(o, s, l) BOOST_PP_LIST_FOLD_LEFT_55_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_56(o, s, l) BOOST_PP_LIST_FOLD_LEFT_56_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_57(o, s, l) BOOST_PP_LIST_FOLD_LEFT_57_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_58(o, s, l) BOOST_PP_LIST_FOLD_LEFT_58_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_59(o, s, l) BOOST_PP_LIST_FOLD_LEFT_59_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_60(o, s, l) BOOST_PP_LIST_FOLD_LEFT_60_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_61(o, s, l) BOOST_PP_LIST_FOLD_LEFT_61_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_62(o, s, l) BOOST_PP_LIST_FOLD_LEFT_62_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_63(o, s, l) BOOST_PP_LIST_FOLD_LEFT_63_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_64(o, s, l) BOOST_PP_LIST_FOLD_LEFT_64_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_65(o, s, l) BOOST_PP_LIST_FOLD_LEFT_65_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_66(o, s, l) BOOST_PP_LIST_FOLD_LEFT_66_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_67(o, s, l) BOOST_PP_LIST_FOLD_LEFT_67_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_68(o, s, l) BOOST_PP_LIST_FOLD_LEFT_68_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_69(o, s, l) BOOST_PP_LIST_FOLD_LEFT_69_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_70(o, s, l) BOOST_PP_LIST_FOLD_LEFT_70_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_71(o, s, l) BOOST_PP_LIST_FOLD_LEFT_71_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_72(o, s, l) BOOST_PP_LIST_FOLD_LEFT_72_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_73(o, s, l) BOOST_PP_LIST_FOLD_LEFT_73_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_74(o, s, l) BOOST_PP_LIST_FOLD_LEFT_74_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_75(o, s, l) BOOST_PP_LIST_FOLD_LEFT_75_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_76(o, s, l) BOOST_PP_LIST_FOLD_LEFT_76_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_77(o, s, l) BOOST_PP_LIST_FOLD_LEFT_77_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_78(o, s, l) BOOST_PP_LIST_FOLD_LEFT_78_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_79(o, s, l) BOOST_PP_LIST_FOLD_LEFT_79_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_80(o, s, l) BOOST_PP_LIST_FOLD_LEFT_80_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_81(o, s, l) BOOST_PP_LIST_FOLD_LEFT_81_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_82(o, s, l) BOOST_PP_LIST_FOLD_LEFT_82_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_83(o, s, l) BOOST_PP_LIST_FOLD_LEFT_83_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_84(o, s, l) BOOST_PP_LIST_FOLD_LEFT_84_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_85(o, s, l) BOOST_PP_LIST_FOLD_LEFT_85_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_86(o, s, l) BOOST_PP_LIST_FOLD_LEFT_86_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_87(o, s, l) BOOST_PP_LIST_FOLD_LEFT_87_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_88(o, s, l) BOOST_PP_LIST_FOLD_LEFT_88_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_89(o, s, l) BOOST_PP_LIST_FOLD_LEFT_89_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_90(o, s, l) BOOST_PP_LIST_FOLD_LEFT_90_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_91(o, s, l) BOOST_PP_LIST_FOLD_LEFT_91_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_92(o, s, l) BOOST_PP_LIST_FOLD_LEFT_92_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_93(o, s, l) BOOST_PP_LIST_FOLD_LEFT_93_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_94(o, s, l) BOOST_PP_LIST_FOLD_LEFT_94_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_95(o, s, l) BOOST_PP_LIST_FOLD_LEFT_95_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_96(o, s, l) BOOST_PP_LIST_FOLD_LEFT_96_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_97(o, s, l) BOOST_PP_LIST_FOLD_LEFT_97_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_98(o, s, l) BOOST_PP_LIST_FOLD_LEFT_98_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_99(o, s, l) BOOST_PP_LIST_FOLD_LEFT_99_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_100(o, s, l) BOOST_PP_LIST_FOLD_LEFT_100_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_101(o, s, l) BOOST_PP_LIST_FOLD_LEFT_101_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_102(o, s, l) BOOST_PP_LIST_FOLD_LEFT_102_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_103(o, s, l) BOOST_PP_LIST_FOLD_LEFT_103_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_104(o, s, l) BOOST_PP_LIST_FOLD_LEFT_104_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_105(o, s, l) BOOST_PP_LIST_FOLD_LEFT_105_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_106(o, s, l) BOOST_PP_LIST_FOLD_LEFT_106_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_107(o, s, l) BOOST_PP_LIST_FOLD_LEFT_107_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_108(o, s, l) BOOST_PP_LIST_FOLD_LEFT_108_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_109(o, s, l) BOOST_PP_LIST_FOLD_LEFT_109_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_110(o, s, l) BOOST_PP_LIST_FOLD_LEFT_110_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_111(o, s, l) BOOST_PP_LIST_FOLD_LEFT_111_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_112(o, s, l) BOOST_PP_LIST_FOLD_LEFT_112_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_113(o, s, l) BOOST_PP_LIST_FOLD_LEFT_113_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_114(o, s, l) BOOST_PP_LIST_FOLD_LEFT_114_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_115(o, s, l) BOOST_PP_LIST_FOLD_LEFT_115_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_116(o, s, l) BOOST_PP_LIST_FOLD_LEFT_116_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_117(o, s, l) BOOST_PP_LIST_FOLD_LEFT_117_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_118(o, s, l) BOOST_PP_LIST_FOLD_LEFT_118_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_119(o, s, l) BOOST_PP_LIST_FOLD_LEFT_119_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_120(o, s, l) BOOST_PP_LIST_FOLD_LEFT_120_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_121(o, s, l) BOOST_PP_LIST_FOLD_LEFT_121_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_122(o, s, l) BOOST_PP_LIST_FOLD_LEFT_122_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_123(o, s, l) BOOST_PP_LIST_FOLD_LEFT_123_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_124(o, s, l) BOOST_PP_LIST_FOLD_LEFT_124_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_125(o, s, l) BOOST_PP_LIST_FOLD_LEFT_125_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_126(o, s, l) BOOST_PP_LIST_FOLD_LEFT_126_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_127(o, s, l) BOOST_PP_LIST_FOLD_LEFT_127_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_128(o, s, l) BOOST_PP_LIST_FOLD_LEFT_128_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_129(o, s, l) BOOST_PP_LIST_FOLD_LEFT_129_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_130(o, s, l) BOOST_PP_LIST_FOLD_LEFT_130_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_131(o, s, l) BOOST_PP_LIST_FOLD_LEFT_131_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_132(o, s, l) BOOST_PP_LIST_FOLD_LEFT_132_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_133(o, s, l) BOOST_PP_LIST_FOLD_LEFT_133_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_134(o, s, l) BOOST_PP_LIST_FOLD_LEFT_134_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_135(o, s, l) BOOST_PP_LIST_FOLD_LEFT_135_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_136(o, s, l) BOOST_PP_LIST_FOLD_LEFT_136_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_137(o, s, l) BOOST_PP_LIST_FOLD_LEFT_137_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_138(o, s, l) BOOST_PP_LIST_FOLD_LEFT_138_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_139(o, s, l) BOOST_PP_LIST_FOLD_LEFT_139_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_140(o, s, l) BOOST_PP_LIST_FOLD_LEFT_140_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_141(o, s, l) BOOST_PP_LIST_FOLD_LEFT_141_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_142(o, s, l) BOOST_PP_LIST_FOLD_LEFT_142_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_143(o, s, l) BOOST_PP_LIST_FOLD_LEFT_143_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_144(o, s, l) BOOST_PP_LIST_FOLD_LEFT_144_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_145(o, s, l) BOOST_PP_LIST_FOLD_LEFT_145_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_146(o, s, l) BOOST_PP_LIST_FOLD_LEFT_146_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_147(o, s, l) BOOST_PP_LIST_FOLD_LEFT_147_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_148(o, s, l) BOOST_PP_LIST_FOLD_LEFT_148_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_149(o, s, l) BOOST_PP_LIST_FOLD_LEFT_149_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_150(o, s, l) BOOST_PP_LIST_FOLD_LEFT_150_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_151(o, s, l) BOOST_PP_LIST_FOLD_LEFT_151_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_152(o, s, l) BOOST_PP_LIST_FOLD_LEFT_152_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_153(o, s, l) BOOST_PP_LIST_FOLD_LEFT_153_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_154(o, s, l) BOOST_PP_LIST_FOLD_LEFT_154_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_155(o, s, l) BOOST_PP_LIST_FOLD_LEFT_155_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_156(o, s, l) BOOST_PP_LIST_FOLD_LEFT_156_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_157(o, s, l) BOOST_PP_LIST_FOLD_LEFT_157_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_158(o, s, l) BOOST_PP_LIST_FOLD_LEFT_158_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_159(o, s, l) BOOST_PP_LIST_FOLD_LEFT_159_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_160(o, s, l) BOOST_PP_LIST_FOLD_LEFT_160_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_161(o, s, l) BOOST_PP_LIST_FOLD_LEFT_161_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_162(o, s, l) BOOST_PP_LIST_FOLD_LEFT_162_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_163(o, s, l) BOOST_PP_LIST_FOLD_LEFT_163_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_164(o, s, l) BOOST_PP_LIST_FOLD_LEFT_164_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_165(o, s, l) BOOST_PP_LIST_FOLD_LEFT_165_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_166(o, s, l) BOOST_PP_LIST_FOLD_LEFT_166_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_167(o, s, l) BOOST_PP_LIST_FOLD_LEFT_167_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_168(o, s, l) BOOST_PP_LIST_FOLD_LEFT_168_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_169(o, s, l) BOOST_PP_LIST_FOLD_LEFT_169_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_170(o, s, l) BOOST_PP_LIST_FOLD_LEFT_170_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_171(o, s, l) BOOST_PP_LIST_FOLD_LEFT_171_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_172(o, s, l) BOOST_PP_LIST_FOLD_LEFT_172_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_173(o, s, l) BOOST_PP_LIST_FOLD_LEFT_173_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_174(o, s, l) BOOST_PP_LIST_FOLD_LEFT_174_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_175(o, s, l) BOOST_PP_LIST_FOLD_LEFT_175_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_176(o, s, l) BOOST_PP_LIST_FOLD_LEFT_176_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_177(o, s, l) BOOST_PP_LIST_FOLD_LEFT_177_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_178(o, s, l) BOOST_PP_LIST_FOLD_LEFT_178_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_179(o, s, l) BOOST_PP_LIST_FOLD_LEFT_179_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_180(o, s, l) BOOST_PP_LIST_FOLD_LEFT_180_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_181(o, s, l) BOOST_PP_LIST_FOLD_LEFT_181_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_182(o, s, l) BOOST_PP_LIST_FOLD_LEFT_182_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_183(o, s, l) BOOST_PP_LIST_FOLD_LEFT_183_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_184(o, s, l) BOOST_PP_LIST_FOLD_LEFT_184_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_185(o, s, l) BOOST_PP_LIST_FOLD_LEFT_185_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_186(o, s, l) BOOST_PP_LIST_FOLD_LEFT_186_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_187(o, s, l) BOOST_PP_LIST_FOLD_LEFT_187_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_188(o, s, l) BOOST_PP_LIST_FOLD_LEFT_188_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_189(o, s, l) BOOST_PP_LIST_FOLD_LEFT_189_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_190(o, s, l) BOOST_PP_LIST_FOLD_LEFT_190_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_191(o, s, l) BOOST_PP_LIST_FOLD_LEFT_191_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_192(o, s, l) BOOST_PP_LIST_FOLD_LEFT_192_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_193(o, s, l) BOOST_PP_LIST_FOLD_LEFT_193_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_194(o, s, l) BOOST_PP_LIST_FOLD_LEFT_194_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_195(o, s, l) BOOST_PP_LIST_FOLD_LEFT_195_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_196(o, s, l) BOOST_PP_LIST_FOLD_LEFT_196_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_197(o, s, l) BOOST_PP_LIST_FOLD_LEFT_197_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_198(o, s, l) BOOST_PP_LIST_FOLD_LEFT_198_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_199(o, s, l) BOOST_PP_LIST_FOLD_LEFT_199_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_200(o, s, l) BOOST_PP_LIST_FOLD_LEFT_200_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_201(o, s, l) BOOST_PP_LIST_FOLD_LEFT_201_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_202(o, s, l) BOOST_PP_LIST_FOLD_LEFT_202_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_203(o, s, l) BOOST_PP_LIST_FOLD_LEFT_203_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_204(o, s, l) BOOST_PP_LIST_FOLD_LEFT_204_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_205(o, s, l) BOOST_PP_LIST_FOLD_LEFT_205_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_206(o, s, l) BOOST_PP_LIST_FOLD_LEFT_206_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_207(o, s, l) BOOST_PP_LIST_FOLD_LEFT_207_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_208(o, s, l) BOOST_PP_LIST_FOLD_LEFT_208_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_209(o, s, l) BOOST_PP_LIST_FOLD_LEFT_209_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_210(o, s, l) BOOST_PP_LIST_FOLD_LEFT_210_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_211(o, s, l) BOOST_PP_LIST_FOLD_LEFT_211_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_212(o, s, l) BOOST_PP_LIST_FOLD_LEFT_212_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_213(o, s, l) BOOST_PP_LIST_FOLD_LEFT_213_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_214(o, s, l) BOOST_PP_LIST_FOLD_LEFT_214_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_215(o, s, l) BOOST_PP_LIST_FOLD_LEFT_215_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_216(o, s, l) BOOST_PP_LIST_FOLD_LEFT_216_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_217(o, s, l) BOOST_PP_LIST_FOLD_LEFT_217_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_218(o, s, l) BOOST_PP_LIST_FOLD_LEFT_218_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_219(o, s, l) BOOST_PP_LIST_FOLD_LEFT_219_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_220(o, s, l) BOOST_PP_LIST_FOLD_LEFT_220_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_221(o, s, l) BOOST_PP_LIST_FOLD_LEFT_221_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_222(o, s, l) BOOST_PP_LIST_FOLD_LEFT_222_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_223(o, s, l) BOOST_PP_LIST_FOLD_LEFT_223_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_224(o, s, l) BOOST_PP_LIST_FOLD_LEFT_224_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_225(o, s, l) BOOST_PP_LIST_FOLD_LEFT_225_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_226(o, s, l) BOOST_PP_LIST_FOLD_LEFT_226_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_227(o, s, l) BOOST_PP_LIST_FOLD_LEFT_227_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_228(o, s, l) BOOST_PP_LIST_FOLD_LEFT_228_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_229(o, s, l) BOOST_PP_LIST_FOLD_LEFT_229_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_230(o, s, l) BOOST_PP_LIST_FOLD_LEFT_230_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_231(o, s, l) BOOST_PP_LIST_FOLD_LEFT_231_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_232(o, s, l) BOOST_PP_LIST_FOLD_LEFT_232_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_233(o, s, l) BOOST_PP_LIST_FOLD_LEFT_233_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_234(o, s, l) BOOST_PP_LIST_FOLD_LEFT_234_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_235(o, s, l) BOOST_PP_LIST_FOLD_LEFT_235_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_236(o, s, l) BOOST_PP_LIST_FOLD_LEFT_236_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_237(o, s, l) BOOST_PP_LIST_FOLD_LEFT_237_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_238(o, s, l) BOOST_PP_LIST_FOLD_LEFT_238_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_239(o, s, l) BOOST_PP_LIST_FOLD_LEFT_239_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_240(o, s, l) BOOST_PP_LIST_FOLD_LEFT_240_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_241(o, s, l) BOOST_PP_LIST_FOLD_LEFT_241_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_242(o, s, l) BOOST_PP_LIST_FOLD_LEFT_242_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_243(o, s, l) BOOST_PP_LIST_FOLD_LEFT_243_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_244(o, s, l) BOOST_PP_LIST_FOLD_LEFT_244_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_245(o, s, l) BOOST_PP_LIST_FOLD_LEFT_245_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_246(o, s, l) BOOST_PP_LIST_FOLD_LEFT_246_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_247(o, s, l) BOOST_PP_LIST_FOLD_LEFT_247_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_248(o, s, l) BOOST_PP_LIST_FOLD_LEFT_248_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_249(o, s, l) BOOST_PP_LIST_FOLD_LEFT_249_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_250(o, s, l) BOOST_PP_LIST_FOLD_LEFT_250_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_251(o, s, l) BOOST_PP_LIST_FOLD_LEFT_251_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_252(o, s, l) BOOST_PP_LIST_FOLD_LEFT_252_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_253(o, s, l) BOOST_PP_LIST_FOLD_LEFT_253_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_254(o, s, l) BOOST_PP_LIST_FOLD_LEFT_254_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_255(o, s, l) BOOST_PP_LIST_FOLD_LEFT_255_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_256(o, s, l) BOOST_PP_LIST_FOLD_LEFT_256_D(o, s, l)\r
+#\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+#\r
+# endif\r
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 (file)
index 0000000..431abd2
--- /dev/null
@@ -0,0 +1,794 @@
+# /* Copyright (C) 2001\r
+#  * Housemarque Oy\r
+#  * http://www.housemarque.com\r
+#  *\r
+#  * Distributed under the Boost Software License, Version 1.0. (See\r
+#  * accompanying file LICENSE_1_0.txt or copy at\r
+#  * http://www.boost.org/LICENSE_1_0.txt)\r
+#  */\r
+#\r
+# /* Revised by Paul Mensonides (2002) */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_LIST_DETAIL_EDG_FOLD_RIGHT_HPP\r
+# define BOOST_PREPROCESSOR_LIST_DETAIL_EDG_FOLD_RIGHT_HPP\r
+#\r
+# include <boost/preprocessor/control/iif.hpp>\r
+# include <boost/preprocessor/list/adt.hpp>\r
+# include <boost/preprocessor/tuple/eat.hpp>\r
+#\r
+# define BOOST_PP_LIST_FOLD_RIGHT_1(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_1_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_2(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_2_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_3(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_3_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_4(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_4_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_5(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_5_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_6(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_6_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_7(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_7_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_8(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_8_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_9(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_9_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_10(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_10_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_11(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_11_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_12(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_12_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_13(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_13_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_14(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_14_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_15(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_15_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_16(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_16_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_17(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_17_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_18(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_18_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_19(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_19_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_20(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_20_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_21(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_21_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_22(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_22_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_23(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_23_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_24(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_24_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_25(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_25_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_26(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_26_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_27(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_27_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_28(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_28_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_29(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_29_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_30(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_30_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_31(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_31_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_32(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_32_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_33(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_33_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_34(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_34_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_35(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_35_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_36(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_36_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_37(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_37_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_38(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_38_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_39(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_39_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_40(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_40_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_41(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_41_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_42(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_42_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_43(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_43_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_44(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_44_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_45(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_45_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_46(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_46_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_47(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_47_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_48(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_48_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_49(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_49_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_50(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_50_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_51(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_51_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_52(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_52_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_53(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_53_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_54(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_54_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_55(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_55_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_56(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_56_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_57(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_57_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_58(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_58_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_59(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_59_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_60(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_60_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_61(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_61_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_62(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_62_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_63(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_63_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_64(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_64_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_65(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_65_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_66(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_66_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_67(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_67_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_68(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_68_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_69(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_69_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_70(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_70_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_71(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_71_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_72(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_72_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_73(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_73_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_74(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_74_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_75(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_75_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_76(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_76_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_77(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_77_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_78(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_78_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_79(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_79_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_80(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_80_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_81(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_81_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_82(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_82_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_83(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_83_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_84(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_84_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_85(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_85_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_86(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_86_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_87(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_87_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_88(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_88_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_89(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_89_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_90(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_90_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_91(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_91_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_92(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_92_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_93(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_93_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_94(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_94_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_95(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_95_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_96(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_96_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_97(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_97_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_98(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_98_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_99(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_99_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_100(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_100_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_101(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_101_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_102(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_102_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_103(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_103_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_104(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_104_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_105(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_105_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_106(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_106_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_107(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_107_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_108(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_108_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_109(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_109_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_110(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_110_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_111(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_111_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_112(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_112_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_113(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_113_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_114(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_114_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_115(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_115_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_116(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_116_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_117(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_117_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_118(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_118_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_119(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_119_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_120(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_120_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_121(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_121_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_122(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_122_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_123(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_123_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_124(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_124_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_125(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_125_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_126(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_126_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_127(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_127_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_128(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_128_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_129(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_129_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_130(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_130_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_131(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_131_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_132(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_132_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_133(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_133_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_134(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_134_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_135(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_135_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_136(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_136_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_137(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_137_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_138(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_138_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_139(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_139_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_140(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_140_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_141(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_141_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_142(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_142_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_143(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_143_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_144(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_144_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_145(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_145_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_146(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_146_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_147(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_147_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_148(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_148_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_149(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_149_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_150(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_150_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_151(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_151_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_152(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_152_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_153(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_153_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_154(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_154_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_155(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_155_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_156(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_156_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_157(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_157_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_158(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_158_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_159(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_159_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_160(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_160_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_161(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_161_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_162(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_162_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_163(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_163_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_164(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_164_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_165(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_165_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_166(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_166_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_167(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_167_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_168(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_168_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_169(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_169_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_170(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_170_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_171(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_171_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_172(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_172_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_173(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_173_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_174(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_174_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_175(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_175_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_176(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_176_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_177(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_177_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_178(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_178_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_179(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_179_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_180(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_180_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_181(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_181_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_182(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_182_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_183(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_183_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_184(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_184_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_185(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_185_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_186(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_186_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_187(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_187_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_188(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_188_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_189(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_189_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_190(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_190_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_191(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_191_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_192(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_192_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_193(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_193_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_194(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_194_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_195(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_195_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_196(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_196_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_197(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_197_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_198(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_198_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_199(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_199_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_200(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_200_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_201(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_201_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_202(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_202_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_203(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_203_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_204(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_204_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_205(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_205_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_206(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_206_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_207(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_207_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_208(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_208_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_209(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_209_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_210(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_210_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_211(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_211_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_212(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_212_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_213(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_213_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_214(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_214_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_215(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_215_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_216(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_216_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_217(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_217_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_218(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_218_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_219(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_219_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_220(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_220_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_221(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_221_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_222(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_222_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_223(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_223_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_224(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_224_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_225(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_225_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_226(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_226_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_227(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_227_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_228(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_228_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_229(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_229_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_230(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_230_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_231(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_231_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_232(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_232_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_233(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_233_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_234(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_234_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_235(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_235_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_236(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_236_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_237(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_237_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_238(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_238_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_239(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_239_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_240(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_240_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_241(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_241_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_242(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_242_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_243(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_243_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_244(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_244_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_245(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_245_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_246(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_246_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_247(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_247_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_248(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_248_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_249(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_249_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_250(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_250_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_251(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_251_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_252(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_252_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_253(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_253_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_254(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_254_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_255(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_255_D(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_256(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_256_D(o, s, l)\r
+#\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+#\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_NIL 1\r
+#\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_1(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_2(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_3(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_4(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_5(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_6(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_7(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_8(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_9(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_10(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_11(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_12(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_13(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_14(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_15(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_16(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_17(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_18(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_19(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_20(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_21(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_22(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_23(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_24(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_25(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_26(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_27(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_28(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_29(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_30(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_31(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_32(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_33(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_34(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_35(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_36(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_37(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_38(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_39(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_40(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_41(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_42(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_43(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_44(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_45(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_46(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_47(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_48(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_49(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_50(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_51(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_52(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_53(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_54(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_55(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_56(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_57(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_58(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_59(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_60(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_61(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_62(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_63(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_64(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_65(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_66(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_67(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_68(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_69(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_70(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_71(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_72(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_73(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_74(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_75(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_76(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_77(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_78(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_79(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_80(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_81(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_82(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_83(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_84(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_85(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_86(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_87(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_88(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_89(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_90(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_91(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_92(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_93(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_94(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_95(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_96(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_97(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_98(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_99(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_100(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_101(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_102(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_103(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_104(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_105(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_106(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_107(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_108(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_109(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_110(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_111(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_112(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_113(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_114(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_115(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_116(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_117(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_118(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_119(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_120(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_121(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_122(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_123(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_124(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_125(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_126(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_127(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_128(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_129(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_130(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_131(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_132(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_133(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_134(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_135(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_136(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_137(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_138(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_139(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_140(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_141(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_142(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_143(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_144(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_145(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_146(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_147(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_148(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_149(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_150(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_151(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_152(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_153(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_154(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_155(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_156(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_157(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_158(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_159(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_160(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_161(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_162(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_163(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_164(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_165(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_166(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_167(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_168(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_169(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_170(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_171(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_172(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_173(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_174(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_175(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_176(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_177(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_178(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_179(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_180(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_181(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_182(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_183(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_184(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_185(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_186(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_187(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_188(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_189(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_190(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_191(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_192(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_193(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_194(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_195(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_196(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_197(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_198(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_199(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_200(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_201(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_202(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_203(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_204(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_205(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_206(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_207(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_208(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_209(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_210(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_211(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_212(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_213(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_214(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_215(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_216(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_217(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_218(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_219(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_220(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_221(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_222(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_223(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_224(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_225(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_226(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_227(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_228(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_229(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_230(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_231(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_232(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_233(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_234(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_235(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_236(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_237(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_238(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_239(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_240(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_241(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_242(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_243(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_244(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_245(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_246(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_247(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_248(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_249(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_250(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_251(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_252(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_253(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_254(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_255(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_256(o, s, l) 0\r
+#\r
+# endif\r
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 (file)
index 0000000..ed4f622
--- /dev/null
@@ -0,0 +1,279 @@
+# /* Copyright (C) 2001\r
+#  * Housemarque Oy\r
+#  * http://www.housemarque.com\r
+#  *\r
+#  * Distributed under the Boost Software License, Version 1.0. (See\r
+#  * accompanying file LICENSE_1_0.txt or copy at\r
+#  * http://www.boost.org/LICENSE_1_0.txt)\r
+#  */\r
+#\r
+# /* Revised by Paul Mensonides (2002) */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_LIST_DETAIL_FOLD_LEFT_HPP\r
+# define BOOST_PREPROCESSOR_LIST_DETAIL_FOLD_LEFT_HPP\r
+#\r
+# include <boost/preprocessor/control/expr_iif.hpp>\r
+# include <boost/preprocessor/control/iif.hpp>\r
+# include <boost/preprocessor/list/adt.hpp>\r
+# include <boost/preprocessor/tuple/eat.hpp>\r
+#\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+#\r
+# endif\r
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 (file)
index 0000000..feca39b
--- /dev/null
@@ -0,0 +1,277 @@
+# /* Copyright (C) 2001\r
+#  * Housemarque Oy\r
+#  * http://www.housemarque.com\r
+#  *\r
+#  * Distributed under the Boost Software License, Version 1.0. (See\r
+#  * accompanying file LICENSE_1_0.txt or copy at\r
+#  * http://www.boost.org/LICENSE_1_0.txt)\r
+#  */\r
+#\r
+# /* Revised by Paul Mensonides (2002) */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_LIST_DETAIL_FOLD_RIGHT_HPP\r
+# define BOOST_PREPROCESSOR_LIST_DETAIL_FOLD_RIGHT_HPP\r
+#\r
+# include <boost/preprocessor/list/fold_left.hpp>\r
+# include <boost/preprocessor/list/reverse.hpp>\r
+#\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+#\r
+# endif\r
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 (file)
index 0000000..7ef2412
--- /dev/null
@@ -0,0 +1,41 @@
+# /* Copyright (C) 2001\r
+#  * Housemarque Oy\r
+#  * http://www.housemarque.com\r
+#  *\r
+#  * Distributed under the Boost Software License, Version 1.0. (See\r
+#  * accompanying file LICENSE_1_0.txt or copy at\r
+#  * http://www.boost.org/LICENSE_1_0.txt)\r
+#  */\r
+#\r
+# /* Revised by Paul Mensonides (2002) */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_LIST_ENUM_HPP\r
+# define BOOST_PREPROCESSOR_LIST_ENUM_HPP\r
+#\r
+# include <boost/preprocessor/config/config.hpp>\r
+# include <boost/preprocessor/list/for_each_i.hpp>\r
+# include <boost/preprocessor/punctuation/comma_if.hpp>\r
+#\r
+# /* BOOST_PP_LIST_ENUM */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    define BOOST_PP_LIST_ENUM(list) BOOST_PP_LIST_FOR_EACH_I(BOOST_PP_LIST_ENUM_O, BOOST_PP_NIL, list)\r
+# else\r
+#    define BOOST_PP_LIST_ENUM(list) BOOST_PP_LIST_ENUM_I(list)\r
+#    define BOOST_PP_LIST_ENUM_I(list) BOOST_PP_LIST_FOR_EACH_I(BOOST_PP_LIST_ENUM_O, BOOST_PP_NIL, list)\r
+# endif\r
+#\r
+# define BOOST_PP_LIST_ENUM_O(r, _, i, elem) BOOST_PP_COMMA_IF(i) elem\r
+#\r
+# /* BOOST_PP_LIST_ENUM_R */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    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)\r
+# else\r
+#    define BOOST_PP_LIST_ENUM_R(r, list) BOOST_PP_LIST_ENUM_R_I(r, list)\r
+#    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)\r
+# endif\r
+#\r
+# endif\r
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 (file)
index 0000000..5711f61
--- /dev/null
@@ -0,0 +1,54 @@
+# /* Copyright (C) 2001\r
+#  * Housemarque Oy\r
+#  * http://www.housemarque.com\r
+#  *\r
+#  * Distributed under the Boost Software License, Version 1.0. (See\r
+#  * accompanying file LICENSE_1_0.txt or copy at\r
+#  * http://www.boost.org/LICENSE_1_0.txt)\r
+#  */\r
+#\r
+# /* Revised by Paul Mensonides (2002) */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_LIST_FILTER_HPP\r
+# define BOOST_PREPROCESSOR_LIST_FILTER_HPP\r
+#\r
+# include <boost/preprocessor/config/config.hpp>\r
+# include <boost/preprocessor/control/if.hpp>\r
+# include <boost/preprocessor/list/fold_right.hpp>\r
+# include <boost/preprocessor/tuple/elem.hpp>\r
+# include <boost/preprocessor/tuple/rem.hpp>\r
+#\r
+# /* BOOST_PP_LIST_FILTER */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    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))\r
+# else\r
+#    define BOOST_PP_LIST_FILTER(pred, data, list) BOOST_PP_LIST_FILTER_I(pred, data, list)\r
+#    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))\r
+# endif\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    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)\r
+# else\r
+#    define BOOST_PP_LIST_FILTER_O(d, pdr, elem) BOOST_PP_LIST_FILTER_O_I(d, BOOST_PP_TUPLE_REM_3 pdr, elem)\r
+#    define BOOST_PP_LIST_FILTER_O_I(d, im, elem) BOOST_PP_LIST_FILTER_O_D(d, im, elem)\r
+# endif\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC()\r
+#    define BOOST_PP_LIST_FILTER_O_D(d, pred, data, res, elem) (pred, data, BOOST_PP_IF(pred(d, data, elem), (elem, res), res))\r
+# else\r
+#    define BOOST_PP_LIST_FILTER_O_D(d, pred, data, res, elem) (pred, data, BOOST_PP_IF(pred##(d, data, elem), (elem, res), res))\r
+# endif\r
+#\r
+# /* BOOST_PP_LIST_FILTER_D */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    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))\r
+# else\r
+#    define BOOST_PP_LIST_FILTER_D(d, pred, data, list) BOOST_PP_LIST_FILTER_D_I(d, pred, data, list)\r
+#    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))\r
+# endif\r
+#\r
+# endif\r
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 (file)
index 0000000..bd5e022
--- /dev/null
@@ -0,0 +1,58 @@
+# /* Copyright (C) 2001\r
+#  * Housemarque Oy\r
+#  * http://www.housemarque.com\r
+#  *\r
+#  * Distributed under the Boost Software License, Version 1.0. (See\r
+#  * accompanying file LICENSE_1_0.txt or copy at\r
+#  * http://www.boost.org/LICENSE_1_0.txt)\r
+#  */\r
+#\r
+# /* Revised by Paul Mensonides (2002) */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_LIST_FIRST_N_HPP\r
+# define BOOST_PREPROCESSOR_LIST_FIRST_N_HPP\r
+#\r
+# include <boost/preprocessor/arithmetic/dec.hpp>\r
+# include <boost/preprocessor/config/config.hpp>\r
+# include <boost/preprocessor/control/while.hpp>\r
+# include <boost/preprocessor/list/adt.hpp>\r
+# include <boost/preprocessor/list/reverse.hpp>\r
+# include <boost/preprocessor/tuple/elem.hpp>\r
+# include <boost/preprocessor/tuple/rem.hpp>\r
+#\r
+# /* BOOST_PP_LIST_FIRST_N */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    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))))\r
+# else\r
+#    define BOOST_PP_LIST_FIRST_N(count, list) BOOST_PP_LIST_FIRST_N_I(count, list)\r
+#    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))))\r
+# endif\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    define BOOST_PP_LIST_FIRST_N_P(d, data) BOOST_PP_TUPLE_ELEM(3, 0, data)\r
+# else\r
+#    define BOOST_PP_LIST_FIRST_N_P(d, data) BOOST_PP_LIST_FIRST_N_P_I data\r
+#    define BOOST_PP_LIST_FIRST_N_P_I(c, l, nl) c\r
+# endif\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()\r
+#    define BOOST_PP_LIST_FIRST_N_O(d, data) BOOST_PP_LIST_FIRST_N_O_D data\r
+# else\r
+#    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))\r
+# endif\r
+#\r
+# 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))\r
+#\r
+# /* BOOST_PP_LIST_FIRST_N_D */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    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))))\r
+# else\r
+#    define BOOST_PP_LIST_FIRST_N_D(d, count, list) BOOST_PP_LIST_FIRST_N_D_I(d, count, list)\r
+#    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))))\r
+# endif\r
+#\r
+# endif\r
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 (file)
index 0000000..bd945c0
--- /dev/null
@@ -0,0 +1,303 @@
+# /* Copyright (C) 2001\r
+#  * Housemarque Oy\r
+#  * http://www.housemarque.com\r
+#  *\r
+#  * Distributed under the Boost Software License, Version 1.0. (See\r
+#  * accompanying file LICENSE_1_0.txt or copy at\r
+#  * http://www.boost.org/LICENSE_1_0.txt)\r
+#  */\r
+#\r
+# /* Revised by Paul Mensonides (2002) */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_LIST_FOLD_LEFT_HPP\r
+# define BOOST_PREPROCESSOR_LIST_FOLD_LEFT_HPP\r
+#\r
+# include <boost/preprocessor/cat.hpp>\r
+# include <boost/preprocessor/control/while.hpp>\r
+# include <boost/preprocessor/debug/error.hpp>\r
+# include <boost/preprocessor/detail/auto_rec.hpp>\r
+#\r
+# /* BOOST_PP_LIST_FOLD_LEFT */\r
+#\r
+# if 0\r
+#    define BOOST_PP_LIST_FOLD_LEFT(op, state, list)\r
+# endif\r
+#\r
+# define BOOST_PP_LIST_FOLD_LEFT BOOST_PP_CAT(BOOST_PP_LIST_FOLD_LEFT_, BOOST_PP_AUTO_REC(BOOST_PP_WHILE_P, 256))\r
+#\r
+# define BOOST_PP_LIST_FOLD_LEFT_257(o, s, l) BOOST_PP_ERROR(0x0004)\r
+#\r
+# define BOOST_PP_LIST_FOLD_LEFT_D(d, o, s, l) BOOST_PP_LIST_FOLD_LEFT_ ## d(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_LEFT_2ND BOOST_PP_LIST_FOLD_LEFT\r
+# define BOOST_PP_LIST_FOLD_LEFT_2ND_D BOOST_PP_LIST_FOLD_LEFT_D\r
+#\r
+# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    include <boost/preprocessor/list/detail/edg/fold_left.hpp>\r
+# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC()\r
+#    include <boost/preprocessor/list/detail/dmc/fold_left.hpp>\r
+# else\r
+#    include <boost/preprocessor/list/detail/fold_left.hpp>\r
+# endif\r
+#\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_NIL 1\r
+#\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_1(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_2(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_3(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_4(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_5(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_6(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_7(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_8(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_9(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_10(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_11(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_12(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_13(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_14(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_15(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_16(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_17(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_18(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_19(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_20(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_21(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_22(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_23(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_24(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_25(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_26(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_27(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_28(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_29(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_30(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_31(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_32(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_33(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_34(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_35(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_36(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_37(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_38(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_39(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_40(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_41(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_42(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_43(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_44(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_45(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_46(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_47(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_48(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_49(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_50(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_51(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_52(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_53(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_54(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_55(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_56(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_57(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_58(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_59(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_60(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_61(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_62(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_63(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_64(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_65(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_66(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_67(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_68(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_69(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_70(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_71(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_72(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_73(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_74(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_75(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_76(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_77(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_78(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_79(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_80(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_81(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_82(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_83(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_84(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_85(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_86(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_87(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_88(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_89(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_90(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_91(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_92(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_93(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_94(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_95(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_96(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_97(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_98(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_99(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_100(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_101(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_102(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_103(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_104(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_105(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_106(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_107(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_108(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_109(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_110(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_111(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_112(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_113(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_114(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_115(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_116(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_117(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_118(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_119(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_120(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_121(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_122(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_123(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_124(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_125(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_126(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_127(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_128(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_129(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_130(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_131(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_132(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_133(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_134(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_135(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_136(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_137(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_138(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_139(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_140(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_141(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_142(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_143(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_144(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_145(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_146(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_147(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_148(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_149(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_150(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_151(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_152(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_153(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_154(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_155(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_156(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_157(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_158(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_159(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_160(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_161(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_162(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_163(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_164(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_165(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_166(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_167(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_168(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_169(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_170(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_171(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_172(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_173(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_174(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_175(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_176(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_177(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_178(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_179(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_180(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_181(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_182(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_183(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_184(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_185(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_186(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_187(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_188(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_189(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_190(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_191(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_192(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_193(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_194(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_195(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_196(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_197(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_198(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_199(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_200(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_201(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_202(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_203(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_204(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_205(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_206(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_207(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_208(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_209(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_210(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_211(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_212(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_213(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_214(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_215(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_216(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_217(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_218(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_219(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_220(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_221(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_222(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_223(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_224(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_225(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_226(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_227(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_228(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_229(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_230(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_231(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_232(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_233(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_234(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_235(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_236(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_237(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_238(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_239(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_240(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_241(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_242(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_243(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_244(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_245(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_246(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_247(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_248(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_249(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_250(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_251(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_252(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_253(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_254(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_255(o, s, l) 0\r
+# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_256(o, s, l) 0\r
+#\r
+# endif\r
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 (file)
index 0000000..19a63e6
--- /dev/null
@@ -0,0 +1,40 @@
+# /* Copyright (C) 2001\r
+#  * Housemarque Oy\r
+#  * http://www.housemarque.com\r
+#  *\r
+#  * Distributed under the Boost Software License, Version 1.0. (See\r
+#  * accompanying file LICENSE_1_0.txt or copy at\r
+#  * http://www.boost.org/LICENSE_1_0.txt)\r
+#  */\r
+#\r
+# /* Revised by Paul Mensonides (2002) */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_LIST_FOLD_RIGHT_HPP\r
+# define BOOST_PREPROCESSOR_LIST_FOLD_RIGHT_HPP\r
+#\r
+# include <boost/preprocessor/cat.hpp>\r
+# include <boost/preprocessor/control/while.hpp>\r
+# include <boost/preprocessor/debug/error.hpp>\r
+# include <boost/preprocessor/detail/auto_rec.hpp>\r
+#\r
+# if 0\r
+#    define BOOST_PP_LIST_FOLD_RIGHT(op, state, list)\r
+# endif\r
+#\r
+# define BOOST_PP_LIST_FOLD_RIGHT BOOST_PP_CAT(BOOST_PP_LIST_FOLD_RIGHT_, BOOST_PP_AUTO_REC(BOOST_PP_WHILE_P, 256))\r
+#\r
+# define BOOST_PP_LIST_FOLD_RIGHT_257(o, s, l) BOOST_PP_ERROR(0x0004)\r
+#\r
+# define BOOST_PP_LIST_FOLD_RIGHT_D(d, o, s, l) BOOST_PP_LIST_FOLD_RIGHT_ ## d(o, s, l)\r
+# define BOOST_PP_LIST_FOLD_RIGHT_2ND BOOST_PP_LIST_FOLD_RIGHT\r
+# define BOOST_PP_LIST_FOLD_RIGHT_2ND_D BOOST_PP_LIST_FOLD_RIGHT_D\r
+#\r
+# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    include <boost/preprocessor/list/detail/edg/fold_right.hpp>\r
+# else\r
+#    include <boost/preprocessor/list/detail/fold_right.hpp>\r
+# endif\r
+#\r
+# endif\r
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 (file)
index 0000000..e2080a2
--- /dev/null
@@ -0,0 +1,49 @@
+# /* Copyright (C) 2001\r
+#  * Housemarque Oy\r
+#  * http://www.housemarque.com\r
+#  *\r
+#  * Distributed under the Boost Software License, Version 1.0. (See\r
+#  * accompanying file LICENSE_1_0.txt or copy at\r
+#  * http://www.boost.org/LICENSE_1_0.txt)\r
+#  */\r
+#\r
+# /* Revised by Paul Mensonides (2002) */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_LIST_FOR_EACH_HPP\r
+# define BOOST_PREPROCESSOR_LIST_FOR_EACH_HPP\r
+#\r
+# include <boost/preprocessor/config/config.hpp>\r
+# include <boost/preprocessor/list/for_each_i.hpp>\r
+# include <boost/preprocessor/tuple/elem.hpp>\r
+# include <boost/preprocessor/tuple/rem.hpp>\r
+#\r
+# /* BOOST_PP_LIST_FOR_EACH */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    define BOOST_PP_LIST_FOR_EACH(macro, data, list) BOOST_PP_LIST_FOR_EACH_I(BOOST_PP_LIST_FOR_EACH_O, (macro, data), list)\r
+# else\r
+#    define BOOST_PP_LIST_FOR_EACH(macro, data, list) BOOST_PP_LIST_FOR_EACH_X(macro, data, list)\r
+#    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)\r
+# endif\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    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)\r
+# else\r
+#    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)\r
+#    define BOOST_PP_LIST_FOR_EACH_O_I(r, im, elem) BOOST_PP_LIST_FOR_EACH_O_D(r, im, elem)\r
+# endif\r
+#\r
+# define BOOST_PP_LIST_FOR_EACH_O_D(r, m, d, elem) m(r, d, elem)\r
+#\r
+# /* BOOST_PP_LIST_FOR_EACH_R */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    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)\r
+# else\r
+#    define BOOST_PP_LIST_FOR_EACH_R(r, macro, data, list) BOOST_PP_LIST_FOR_EACH_R_X(r, macro, data, list)\r
+#    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)\r
+# endif\r
+#\r
+# endif\r
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 (file)
index 0000000..87ec39c
--- /dev/null
@@ -0,0 +1,65 @@
+# /* Copyright (C) 2001\r
+#  * Housemarque Oy\r
+#  * http://www.housemarque.com\r
+#  *\r
+#  * Distributed under the Boost Software License, Version 1.0. (See\r
+#  * accompanying file LICENSE_1_0.txt or copy at\r
+#  * http://www.boost.org/LICENSE_1_0.txt)\r
+#  */\r
+#\r
+# /* Revised by Paul Mensonides (2002) */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_LIST_LIST_FOR_EACH_I_HPP\r
+# define BOOST_PREPROCESSOR_LIST_LIST_FOR_EACH_I_HPP\r
+#\r
+# include <boost/preprocessor/arithmetic/inc.hpp>\r
+# include <boost/preprocessor/config/config.hpp>\r
+# include <boost/preprocessor/list/adt.hpp>\r
+# include <boost/preprocessor/repetition/for.hpp>\r
+# include <boost/preprocessor/tuple/elem.hpp>\r
+# include <boost/preprocessor/tuple/rem.hpp>\r
+#\r
+# /* BOOST_PP_LIST_FOR_EACH_I */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() && ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()\r
+#    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)\r
+# else\r
+#    define BOOST_PP_LIST_FOR_EACH_I(macro, data, list) BOOST_PP_LIST_FOR_EACH_I_I(macro, data, list)\r
+#    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)\r
+# endif\r
+#\r
+# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()\r
+#    define BOOST_PP_LIST_FOR_EACH_I_P(r, x) BOOST_PP_LIST_FOR_EACH_I_P_D x\r
+#    define BOOST_PP_LIST_FOR_EACH_I_P_D(m, d, l, i) BOOST_PP_LIST_IS_CONS(l)\r
+# else\r
+#    define BOOST_PP_LIST_FOR_EACH_I_P(r, x) BOOST_PP_LIST_IS_CONS(BOOST_PP_TUPLE_ELEM(4, 2, x))\r
+# endif\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()\r
+#    define BOOST_PP_LIST_FOR_EACH_I_O(r, x) BOOST_PP_LIST_FOR_EACH_I_O_D x\r
+#    define BOOST_PP_LIST_FOR_EACH_I_O_D(m, d, l, i) (m, d, BOOST_PP_LIST_REST(l), BOOST_PP_INC(i))\r
+# else\r
+#    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)))\r
+# endif\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    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))\r
+# else\r
+#    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)\r
+#    define BOOST_PP_LIST_FOR_EACH_I_M_I(r, x_e) BOOST_PP_LIST_FOR_EACH_I_M_D(r, x_e)\r
+# endif\r
+#\r
+# define BOOST_PP_LIST_FOR_EACH_I_M_D(r, m, d, l, i) m(r, d, i, BOOST_PP_LIST_FIRST(l))\r
+#\r
+# /* BOOST_PP_LIST_FOR_EACH_I_R */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    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)\r
+# else\r
+#    define BOOST_PP_LIST_FOR_EACH_I_R(r, macro, data, list) BOOST_PP_LIST_FOR_EACH_I_R_I(r, macro, data, list)\r
+#    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)\r
+# endif\r
+#\r
+# endif\r
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 (file)
index 0000000..ae67d75
--- /dev/null
@@ -0,0 +1,141 @@
+# /* Copyright (C) 2001\r
+#  * Housemarque Oy\r
+#  * http://www.housemarque.com\r
+#  *\r
+#  * Distributed under the Boost Software License, Version 1.0. (See\r
+#  * accompanying file LICENSE_1_0.txt or copy at\r
+#  * http://www.boost.org/LICENSE_1_0.txt)\r
+#  */\r
+#\r
+# /* Revised by Paul Mensonides (2002) */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_LIST_FOR_EACH_PRODUCT_HPP\r
+# define BOOST_PREPROCESSOR_LIST_FOR_EACH_PRODUCT_HPP\r
+#\r
+# include <boost/preprocessor/config/config.hpp>\r
+# include <boost/preprocessor/control/if.hpp>\r
+# include <boost/preprocessor/list/adt.hpp>\r
+# include <boost/preprocessor/list/to_tuple.hpp>\r
+# include <boost/preprocessor/repetition/for.hpp>\r
+# include <boost/preprocessor/tuple/elem.hpp>\r
+# include <boost/preprocessor/tuple/to_list.hpp>\r
+# include <boost/preprocessor/tuple/rem.hpp>\r
+# include <boost/preprocessor/tuple/reverse.hpp>\r
+#\r
+# /* BOOST_PP_LIST_FOR_EACH_PRODUCT */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    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))\r
+# else\r
+#    define BOOST_PP_LIST_FOR_EACH_PRODUCT(macro, size, tuple) BOOST_PP_LIST_FOR_EACH_PRODUCT_Q(macro, size, tuple)\r
+#    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))\r
+# endif\r
+#\r
+# /* BOOST_PP_LIST_FOR_EACH_PRODUCT_R */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    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))\r
+# else\r
+#    define BOOST_PP_LIST_FOR_EACH_PRODUCT_R(r, macro, size, tuple) BOOST_PP_LIST_FOR_EACH_PRODUCT_R_Q(r, macro, size, tuple)\r
+#    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))\r
+# endif\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    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)\r
+# else\r
+#    define BOOST_PP_LIST_FOR_EACH_PRODUCT_E(impl, macro, size, lists) BOOST_PP_LIST_FOR_EACH_PRODUCT_E_D(impl, macro, size, lists)\r
+#    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)\r
+# endif\r
+#\r
+# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()\r
+#    define BOOST_PP_LIST_FOR_EACH_PRODUCT_P(r, data) BOOST_PP_LIST_FOR_EACH_PRODUCT_P_I data\r
+#    define BOOST_PP_LIST_FOR_EACH_PRODUCT_P_I(a, b, res, macro, size) BOOST_PP_LIST_IS_CONS(a)\r
+# else\r
+#    define BOOST_PP_LIST_FOR_EACH_PRODUCT_P(r, data) BOOST_PP_LIST_IS_CONS(BOOST_PP_TUPLE_ELEM(5, 0, data))\r
+# endif\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()\r
+#    define BOOST_PP_LIST_FOR_EACH_PRODUCT_O(r, data) BOOST_PP_LIST_FOR_EACH_PRODUCT_O_I data\r
+#    define BOOST_PP_LIST_FOR_EACH_PRODUCT_O_I(a, b, res, macro, size) (BOOST_PP_LIST_REST(a), b, res, macro, size)\r
+# else\r
+#    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))\r
+# endif\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    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))\r
+# else\r
+#    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)\r
+#    define BOOST_PP_LIST_FOR_EACH_PRODUCT_I_D(r, data_e) BOOST_PP_LIST_FOR_EACH_PRODUCT_I_I(r, data_e)\r
+# endif\r
+#\r
+# 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)\r
+# 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)\r
+# define BOOST_PP_LIST_FOR_EACH_PRODUCT_I_III(r, macro, args, size) macro(r, BOOST_PP_TUPLE_REVERSE(size, args))\r
+#\r
+# 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)\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()\r
+#    define BOOST_PP_LIST_FOR_EACH_PRODUCT_H(data) BOOST_PP_LIST_FOR_EACH_PRODUCT_H_I data\r
+# else\r
+#    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))\r
+# endif\r
+#\r
+# 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)\r
+#\r
+# define BOOST_PP_LIST_FOR_EACH_PRODUCT_M_0(r, data) BOOST_PP_LIST_FOR_EACH_PRODUCT_C(data, 0)(r, data)\r
+# define BOOST_PP_LIST_FOR_EACH_PRODUCT_M_1(r, data) BOOST_PP_LIST_FOR_EACH_PRODUCT_C(data, 1)(r, data)\r
+# define BOOST_PP_LIST_FOR_EACH_PRODUCT_M_2(r, data) BOOST_PP_LIST_FOR_EACH_PRODUCT_C(data, 2)(r, data)\r
+# define BOOST_PP_LIST_FOR_EACH_PRODUCT_M_3(r, data) BOOST_PP_LIST_FOR_EACH_PRODUCT_C(data, 3)(r, data)\r
+# define BOOST_PP_LIST_FOR_EACH_PRODUCT_M_4(r, data) BOOST_PP_LIST_FOR_EACH_PRODUCT_C(data, 4)(r, data)\r
+# define BOOST_PP_LIST_FOR_EACH_PRODUCT_M_5(r, data) BOOST_PP_LIST_FOR_EACH_PRODUCT_C(data, 5)(r, data)\r
+# define BOOST_PP_LIST_FOR_EACH_PRODUCT_M_6(r, data) BOOST_PP_LIST_FOR_EACH_PRODUCT_C(data, 6)(r, data)\r
+# define BOOST_PP_LIST_FOR_EACH_PRODUCT_M_7(r, data) BOOST_PP_LIST_FOR_EACH_PRODUCT_C(data, 7)(r, data)\r
+# define BOOST_PP_LIST_FOR_EACH_PRODUCT_M_8(r, data) BOOST_PP_LIST_FOR_EACH_PRODUCT_C(data, 8)(r, data)\r
+# define BOOST_PP_LIST_FOR_EACH_PRODUCT_M_9(r, data) BOOST_PP_LIST_FOR_EACH_PRODUCT_C(data, 9)(r, data)\r
+# define BOOST_PP_LIST_FOR_EACH_PRODUCT_M_10(r, data) BOOST_PP_LIST_FOR_EACH_PRODUCT_C(data, 10)(r, data)\r
+# define BOOST_PP_LIST_FOR_EACH_PRODUCT_M_11(r, data) BOOST_PP_LIST_FOR_EACH_PRODUCT_C(data, 11)(r, data)\r
+# define BOOST_PP_LIST_FOR_EACH_PRODUCT_M_12(r, data) BOOST_PP_LIST_FOR_EACH_PRODUCT_C(data, 12)(r, data)\r
+# define BOOST_PP_LIST_FOR_EACH_PRODUCT_M_13(r, data) BOOST_PP_LIST_FOR_EACH_PRODUCT_C(data, 13)(r, data)\r
+# define BOOST_PP_LIST_FOR_EACH_PRODUCT_M_14(r, data) BOOST_PP_LIST_FOR_EACH_PRODUCT_C(data, 14)(r, data)\r
+# define BOOST_PP_LIST_FOR_EACH_PRODUCT_M_15(r, data) BOOST_PP_LIST_FOR_EACH_PRODUCT_C(data, 15)(r, data)\r
+# define BOOST_PP_LIST_FOR_EACH_PRODUCT_M_16(r, data) BOOST_PP_LIST_FOR_EACH_PRODUCT_C(data, 16)(r, data)\r
+# define BOOST_PP_LIST_FOR_EACH_PRODUCT_M_17(r, data) BOOST_PP_LIST_FOR_EACH_PRODUCT_C(data, 17)(r, data)\r
+# define BOOST_PP_LIST_FOR_EACH_PRODUCT_M_18(r, data) BOOST_PP_LIST_FOR_EACH_PRODUCT_C(data, 18)(r, data)\r
+# define BOOST_PP_LIST_FOR_EACH_PRODUCT_M_19(r, data) BOOST_PP_LIST_FOR_EACH_PRODUCT_C(data, 19)(r, data)\r
+# define BOOST_PP_LIST_FOR_EACH_PRODUCT_M_20(r, data) BOOST_PP_LIST_FOR_EACH_PRODUCT_C(data, 20)(r, data)\r
+# define BOOST_PP_LIST_FOR_EACH_PRODUCT_M_21(r, data) BOOST_PP_LIST_FOR_EACH_PRODUCT_C(data, 21)(r, data)\r
+# define BOOST_PP_LIST_FOR_EACH_PRODUCT_M_22(r, data) BOOST_PP_LIST_FOR_EACH_PRODUCT_C(data, 22)(r, data)\r
+# define BOOST_PP_LIST_FOR_EACH_PRODUCT_M_23(r, data) BOOST_PP_LIST_FOR_EACH_PRODUCT_C(data, 23)(r, data)\r
+# define BOOST_PP_LIST_FOR_EACH_PRODUCT_M_24(r, data) BOOST_PP_LIST_FOR_EACH_PRODUCT_C(data, 24)(r, data)\r
+# define BOOST_PP_LIST_FOR_EACH_PRODUCT_M_25(r, data) BOOST_PP_LIST_FOR_EACH_PRODUCT_C(data, 25)(r, data)\r
+#\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+#\r
+# endif\r
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 (file)
index 0000000..64a1836
--- /dev/null
@@ -0,0 +1,55 @@
+# /* Copyright (C) 2001\r
+#  * Housemarque Oy\r
+#  * http://www.housemarque.com\r
+#  *\r
+#  * Distributed under the Boost Software License, Version 1.0. (See\r
+#  * accompanying file LICENSE_1_0.txt or copy at\r
+#  * http://www.boost.org/LICENSE_1_0.txt)\r
+#  */\r
+#\r
+# /* Revised by Paul Mensonides (2002) */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_LIST_REST_N_HPP\r
+# define BOOST_PREPROCESSOR_LIST_REST_N_HPP\r
+#\r
+# include <boost/preprocessor/arithmetic/dec.hpp>\r
+# include <boost/preprocessor/config/config.hpp>\r
+# include <boost/preprocessor/control/while.hpp>\r
+# include <boost/preprocessor/list/adt.hpp>\r
+# include <boost/preprocessor/tuple/elem.hpp>\r
+#\r
+# /* BOOST_PP_LIST_REST_N */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    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)))\r
+# else\r
+#    define BOOST_PP_LIST_REST_N(count, list) BOOST_PP_LIST_REST_N_I(count, list)\r
+#    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)))\r
+# endif\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    define BOOST_PP_LIST_REST_N_P(d, lc) BOOST_PP_TUPLE_ELEM(2, 1, lc)\r
+# else\r
+#    define BOOST_PP_LIST_REST_N_P(d, lc) BOOST_PP_LIST_REST_N_P_I lc\r
+#    define BOOST_PP_LIST_REST_N_P_I(list, count) count\r
+# endif\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    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)))\r
+# else\r
+#    define BOOST_PP_LIST_REST_N_O(d, lc) BOOST_PP_LIST_REST_N_O_I lc\r
+#    define BOOST_PP_LIST_REST_N_O_I(list, count) (BOOST_PP_LIST_REST(list), BOOST_PP_DEC(count))\r
+# endif\r
+#\r
+# /* BOOST_PP_LIST_REST_N_D */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    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)))\r
+# else\r
+#    define BOOST_PP_LIST_REST_N_D(d, count, list) BOOST_PP_LIST_REST_N_D_I(d, count, list)\r
+#    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)))\r
+# endif\r
+#\r
+# endif\r
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 (file)
index 0000000..88e6d85
--- /dev/null
@@ -0,0 +1,40 @@
+# /* Copyright (C) 2001\r
+#  * Housemarque Oy\r
+#  * http://www.housemarque.com\r
+#  *\r
+#  * Distributed under the Boost Software License, Version 1.0. (See\r
+#  * accompanying file LICENSE_1_0.txt or copy at\r
+#  * http://www.boost.org/LICENSE_1_0.txt)\r
+#  */\r
+#\r
+# /* Revised by Paul Mensonides (2002) */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_LIST_REVERSE_HPP\r
+# define BOOST_PREPROCESSOR_LIST_REVERSE_HPP\r
+#\r
+# include <boost/preprocessor/config/config.hpp>\r
+# include <boost/preprocessor/list/fold_left.hpp>\r
+#\r
+# /* BOOST_PP_LIST_REVERSE */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    define BOOST_PP_LIST_REVERSE(list) BOOST_PP_LIST_FOLD_LEFT(BOOST_PP_LIST_REVERSE_O, BOOST_PP_NIL, list)\r
+# else\r
+#    define BOOST_PP_LIST_REVERSE(list) BOOST_PP_LIST_REVERSE_I(list)\r
+#    define BOOST_PP_LIST_REVERSE_I(list) BOOST_PP_LIST_FOLD_LEFT(BOOST_PP_LIST_REVERSE_O, BOOST_PP_NIL, list)\r
+# endif\r
+#\r
+# define BOOST_PP_LIST_REVERSE_O(d, s, x) (x, s)\r
+#\r
+# /* BOOST_PP_LIST_REVERSE_D */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    define BOOST_PP_LIST_REVERSE_D(d, list) BOOST_PP_LIST_FOLD_LEFT_ ## d(BOOST_PP_LIST_REVERSE_O, BOOST_PP_NIL, list)\r
+# else\r
+#    define BOOST_PP_LIST_REVERSE_D(d, list) BOOST_PP_LIST_REVERSE_D_I(d, list)\r
+#    define BOOST_PP_LIST_REVERSE_D_I(d, list) BOOST_PP_LIST_FOLD_LEFT_ ## d(BOOST_PP_LIST_REVERSE_O, BOOST_PP_NIL, list)\r
+# endif\r
+#\r
+# endif\r
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 (file)
index 0000000..23066ca
--- /dev/null
@@ -0,0 +1,58 @@
+# /* Copyright (C) 2001\r
+#  * Housemarque Oy\r
+#  * http://www.housemarque.com\r
+#  *\r
+#  * Distributed under the Boost Software License, Version 1.0. (See\r
+#  * accompanying file LICENSE_1_0.txt or copy at\r
+#  * http://www.boost.org/LICENSE_1_0.txt)\r
+#  */\r
+#\r
+# /* Revised by Paul Mensonides (2002) */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_LIST_SIZE_HPP\r
+# define BOOST_PREPROCESSOR_LIST_SIZE_HPP\r
+#\r
+# include <boost/preprocessor/arithmetic/inc.hpp>\r
+# include <boost/preprocessor/config/config.hpp>\r
+# include <boost/preprocessor/control/while.hpp>\r
+# include <boost/preprocessor/list/adt.hpp>\r
+# include <boost/preprocessor/tuple/elem.hpp>\r
+# include <boost/preprocessor/tuple/rem.hpp>\r
+#\r
+# /* BOOST_PP_LIST_SIZE */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    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)))\r
+# else\r
+#    define BOOST_PP_LIST_SIZE(list) BOOST_PP_LIST_SIZE_I(list)\r
+#    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)))\r
+# endif\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    define BOOST_PP_LIST_SIZE_P(d, rl) BOOST_PP_LIST_IS_CONS(BOOST_PP_TUPLE_ELEM(2, 1, rl))\r
+# else\r
+#    define BOOST_PP_LIST_SIZE_P(d, rl) BOOST_PP_LIST_SIZE_P_I(BOOST_PP_TUPLE_REM_2 rl)\r
+#    define BOOST_PP_LIST_SIZE_P_I(im) BOOST_PP_LIST_SIZE_P_II(im)\r
+#    define BOOST_PP_LIST_SIZE_P_II(r, l) BOOST_PP_LIST_IS_CONS(l)\r
+# endif\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    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)))\r
+# else\r
+#    define BOOST_PP_LIST_SIZE_O(d, rl) BOOST_PP_LIST_SIZE_O_I(BOOST_PP_TUPLE_REM_2 rl)\r
+#    define BOOST_PP_LIST_SIZE_O_I(im) BOOST_PP_LIST_SIZE_O_II(im)\r
+#    define BOOST_PP_LIST_SIZE_O_II(r, l) (BOOST_PP_INC(r), BOOST_PP_LIST_REST(l))\r
+# endif\r
+#\r
+# /* BOOST_PP_LIST_SIZE_D */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    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)))\r
+# else\r
+#    define BOOST_PP_LIST_SIZE_D(d, list) BOOST_PP_LIST_SIZE_D_I(d, list)\r
+#    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)))\r
+# endif\r
+#\r
+# endif\r
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 (file)
index 0000000..a32e807
--- /dev/null
@@ -0,0 +1,38 @@
+# /* Copyright (C) 2001\r
+#  * Housemarque Oy\r
+#  * http://www.housemarque.com\r
+#  *\r
+#  * Distributed under the Boost Software License, Version 1.0. (See\r
+#  * accompanying file LICENSE_1_0.txt or copy at\r
+#  * http://www.boost.org/LICENSE_1_0.txt)\r
+#  */\r
+#\r
+# /* Revised by Paul Mensonides (2002) */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_LIST_TO_TUPLE_HPP\r
+# define BOOST_PREPROCESSOR_LIST_TO_TUPLE_HPP\r
+#\r
+# include <boost/preprocessor/config/config.hpp>\r
+# include <boost/preprocessor/list/enum.hpp>\r
+#\r
+# /* BOOST_PP_LIST_TO_TUPLE */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    define BOOST_PP_LIST_TO_TUPLE(list) (BOOST_PP_LIST_ENUM(list))\r
+# else\r
+#    define BOOST_PP_LIST_TO_TUPLE(list) BOOST_PP_LIST_TO_TUPLE_I(list)\r
+#    define BOOST_PP_LIST_TO_TUPLE_I(list) (BOOST_PP_LIST_ENUM(list))\r
+# endif\r
+#\r
+# /* BOOST_PP_LIST_TO_TUPLE_R */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    define BOOST_PP_LIST_TO_TUPLE_R(r, list) (BOOST_PP_LIST_ENUM_R(r, list))\r
+# else\r
+#    define BOOST_PP_LIST_TO_TUPLE_R(r, list) BOOST_PP_LIST_TO_TUPLE_R_I(r, list)\r
+#    define BOOST_PP_LIST_TO_TUPLE_R_I(r, list) (BOOST_PP_LIST_ENUM_R(r, list))\r
+# endif\r
+#\r
+# endif\r
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 (file)
index 0000000..1b53336
--- /dev/null
@@ -0,0 +1,49 @@
+# /* Copyright (C) 2001\r
+#  * Housemarque Oy\r
+#  * http://www.housemarque.com\r
+#  *\r
+#  * Distributed under the Boost Software License, Version 1.0. (See\r
+#  * accompanying file LICENSE_1_0.txt or copy at\r
+#  * http://www.boost.org/LICENSE_1_0.txt)\r
+#  */\r
+#\r
+# /* Revised by Paul Mensonides (2002) */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_LIST_TRANSFORM_HPP\r
+# define BOOST_PREPROCESSOR_LIST_TRANSFORM_HPP\r
+#\r
+# include <boost/preprocessor/config/config.hpp>\r
+# include <boost/preprocessor/list/fold_right.hpp>\r
+# include <boost/preprocessor/tuple/elem.hpp>\r
+# include <boost/preprocessor/tuple/rem.hpp>\r
+#\r
+# /* BOOST_PP_LIST_TRANSFORM */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    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))\r
+# else\r
+#    define BOOST_PP_LIST_TRANSFORM(op, data, list) BOOST_PP_LIST_TRANSFORM_I(op, data, list)\r
+#    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))\r
+# endif\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    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)\r
+# else\r
+#    define BOOST_PP_LIST_TRANSFORM_O(d, odr, elem) BOOST_PP_LIST_TRANSFORM_O_I(d, BOOST_PP_TUPLE_REM_3 odr, elem)\r
+#    define BOOST_PP_LIST_TRANSFORM_O_I(d, im, elem) BOOST_PP_LIST_TRANSFORM_O_D(d, im, elem)\r
+# endif\r
+#\r
+# define BOOST_PP_LIST_TRANSFORM_O_D(d, op, data, res, elem) (op, data, (op(d, data, elem), res))\r
+#\r
+# /* BOOST_PP_LIST_TRANSFORM_D */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    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))\r
+# else\r
+#    define BOOST_PP_LIST_TRANSFORM_D(d, op, data, list) BOOST_PP_LIST_TRANSFORM_D_I(d, op, data, list)\r
+#    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))\r
+# endif\r
+#\r
+# endif\r
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 (file)
index 0000000..b08cd84
--- /dev/null
@@ -0,0 +1,29 @@
+# /* Copyright (C) 2001\r
+#  * Housemarque Oy\r
+#  * http://www.housemarque.com\r
+#  *\r
+#  * Distributed under the Boost Software License, Version 1.0. (See\r
+#  * accompanying file LICENSE_1_0.txt or copy at\r
+#  * http://www.boost.org/LICENSE_1_0.txt)\r
+#  */\r
+#\r
+# /* Revised by Paul Mensonides (2002) */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_LOGICAL_HPP\r
+# define BOOST_PREPROCESSOR_LOGICAL_HPP\r
+#\r
+# include <boost/preprocessor/logical/and.hpp>\r
+# include <boost/preprocessor/logical/bitand.hpp>\r
+# include <boost/preprocessor/logical/bitnor.hpp>\r
+# include <boost/preprocessor/logical/bitor.hpp>\r
+# include <boost/preprocessor/logical/bitxor.hpp>\r
+# include <boost/preprocessor/logical/bool.hpp>\r
+# include <boost/preprocessor/logical/compl.hpp>\r
+# include <boost/preprocessor/logical/nor.hpp>\r
+# include <boost/preprocessor/logical/not.hpp>\r
+# include <boost/preprocessor/logical/or.hpp>\r
+# include <boost/preprocessor/logical/xor.hpp>\r
+#\r
+# endif\r
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 (file)
index 0000000..1db8e2b
--- /dev/null
@@ -0,0 +1,30 @@
+# /* Copyright (C) 2001\r
+#  * Housemarque Oy\r
+#  * http://www.housemarque.com\r
+#  *\r
+#  * Distributed under the Boost Software License, Version 1.0. (See\r
+#  * accompanying file LICENSE_1_0.txt or copy at\r
+#  * http://www.boost.org/LICENSE_1_0.txt)\r
+#  */\r
+#\r
+# /* Revised by Paul Mensonides (2002) */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_LOGICAL_AND_HPP\r
+# define BOOST_PREPROCESSOR_LOGICAL_AND_HPP\r
+#\r
+# include <boost/preprocessor/config/config.hpp>\r
+# include <boost/preprocessor/logical/bool.hpp>\r
+# include <boost/preprocessor/logical/bitand.hpp>\r
+#\r
+# /* BOOST_PP_AND */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    define BOOST_PP_AND(p, q) BOOST_PP_BITAND(BOOST_PP_BOOL(p), BOOST_PP_BOOL(q))\r
+# else\r
+#    define BOOST_PP_AND(p, q) BOOST_PP_AND_I(p, q)\r
+#    define BOOST_PP_AND_I(p, q) BOOST_PP_BITAND(BOOST_PP_BOOL(p), BOOST_PP_BOOL(q))\r
+# endif\r
+#\r
+# endif\r
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 (file)
index 0000000..2e1c738
--- /dev/null
@@ -0,0 +1,38 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_LOGICAL_BITAND_HPP\r
+# define BOOST_PREPROCESSOR_LOGICAL_BITAND_HPP\r
+#\r
+# include <boost/preprocessor/config/config.hpp>\r
+#\r
+# /* BOOST_PP_BITAND */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()\r
+#    define BOOST_PP_BITAND(x, y) BOOST_PP_BITAND_I(x, y)\r
+# else\r
+#    define BOOST_PP_BITAND(x, y) BOOST_PP_BITAND_OO((x, y))\r
+#    define BOOST_PP_BITAND_OO(par) BOOST_PP_BITAND_I ## par\r
+# endif\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()\r
+#    define BOOST_PP_BITAND_I(x, y) BOOST_PP_BITAND_ ## x ## y\r
+# else\r
+#    define BOOST_PP_BITAND_I(x, y) BOOST_PP_BITAND_ID(BOOST_PP_BITAND_ ## x ## y)\r
+#    define BOOST_PP_BITAND_ID(res) res\r
+# endif\r
+#\r
+# define BOOST_PP_BITAND_00 0\r
+# define BOOST_PP_BITAND_01 0\r
+# define BOOST_PP_BITAND_10 0\r
+# define BOOST_PP_BITAND_11 1\r
+#\r
+# endif\r
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 (file)
index 0000000..99c3b33
--- /dev/null
@@ -0,0 +1,38 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_LOGICAL_BITNOR_HPP\r
+# define BOOST_PREPROCESSOR_LOGICAL_BITNOR_HPP\r
+#\r
+# include <boost/preprocessor/config/config.hpp>\r
+#\r
+# /* BOOST_PP_BITNOR */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()\r
+#    define BOOST_PP_BITNOR(x, y) BOOST_PP_BITNOR_I(x, y)\r
+# else\r
+#    define BOOST_PP_BITNOR(x, y) BOOST_PP_BITNOR_OO((x, y))\r
+#    define BOOST_PP_BITNOR_OO(par) BOOST_PP_BITNOR_I ## par\r
+# endif\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()\r
+#    define BOOST_PP_BITNOR_I(x, y) BOOST_PP_BITNOR_ ## x ## y\r
+# else\r
+#    define BOOST_PP_BITNOR_I(x, y) BOOST_PP_BITNOR_ID(BOOST_PP_BITNOR_ ## x ## y)\r
+#    define BOOST_PP_BITNOR_ID(id) id\r
+# endif\r
+#\r
+# define BOOST_PP_BITNOR_00 1\r
+# define BOOST_PP_BITNOR_01 0\r
+# define BOOST_PP_BITNOR_10 0\r
+# define BOOST_PP_BITNOR_11 0\r
+#\r
+# endif\r
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 (file)
index 0000000..806e3c7
--- /dev/null
@@ -0,0 +1,38 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_LOGICAL_BITOR_HPP\r
+# define BOOST_PREPROCESSOR_LOGICAL_BITOR_HPP\r
+#\r
+# include <boost/preprocessor/config/config.hpp>\r
+#\r
+# /* BOOST_PP_BITOR */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()\r
+#    define BOOST_PP_BITOR(x, y) BOOST_PP_BITOR_I(x, y)\r
+# else\r
+#    define BOOST_PP_BITOR(x, y) BOOST_PP_BITOR_OO((x, y))\r
+#    define BOOST_PP_BITOR_OO(par) BOOST_PP_BITOR_I ## par\r
+# endif\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()\r
+#    define BOOST_PP_BITOR_I(x, y) BOOST_PP_BITOR_ ## x ## y\r
+# else\r
+#    define BOOST_PP_BITOR_I(x, y) BOOST_PP_BITOR_ID(BOOST_PP_BITOR_ ## x ## y)\r
+#    define BOOST_PP_BITOR_ID(id) id\r
+# endif\r
+#\r
+# define BOOST_PP_BITOR_00 0\r
+# define BOOST_PP_BITOR_01 1\r
+# define BOOST_PP_BITOR_10 1\r
+# define BOOST_PP_BITOR_11 1\r
+#\r
+# endif\r
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 (file)
index 0000000..3e393c2
--- /dev/null
@@ -0,0 +1,38 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_LOGICAL_BITXOR_HPP\r
+# define BOOST_PREPROCESSOR_LOGICAL_BITXOR_HPP\r
+#\r
+# include <boost/preprocessor/config/config.hpp>\r
+#\r
+# /* BOOST_PP_BITXOR */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()\r
+#    define BOOST_PP_BITXOR(x, y) BOOST_PP_BITXOR_I(x, y)\r
+# else\r
+#    define BOOST_PP_BITXOR(x, y) BOOST_PP_BITXOR_OO((x, y))\r
+#    define BOOST_PP_BITXOR_OO(par) BOOST_PP_BITXOR_I ## par\r
+# endif\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()\r
+#    define BOOST_PP_BITXOR_I(x, y) BOOST_PP_BITXOR_ ## x ## y\r
+# else\r
+#    define BOOST_PP_BITXOR_I(x, y) BOOST_PP_BITXOR_ID(BOOST_PP_BITXOR_ ## x ## y)\r
+#    define BOOST_PP_BITXOR_ID(id) id\r
+# endif\r
+#\r
+# define BOOST_PP_BITXOR_00 0\r
+# define BOOST_PP_BITXOR_01 1\r
+# define BOOST_PP_BITXOR_10 1\r
+# define BOOST_PP_BITXOR_11 0\r
+#\r
+# endif\r
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 (file)
index 0000000..5c60ad7
--- /dev/null
@@ -0,0 +1,288 @@
+# /* Copyright (C) 2001\r
+#  * Housemarque Oy\r
+#  * http://www.housemarque.com\r
+#  *\r
+#  * Distributed under the Boost Software License, Version 1.0. (See\r
+#  * accompanying file LICENSE_1_0.txt or copy at\r
+#  * http://www.boost.org/LICENSE_1_0.txt)\r
+#  */\r
+#\r
+# /* Revised by Paul Mensonides (2002) */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_LOGICAL_BOOL_HPP\r
+# define BOOST_PREPROCESSOR_LOGICAL_BOOL_HPP\r
+#\r
+# include <boost/preprocessor/config/config.hpp>\r
+#\r
+# /* BOOST_PP_BOOL */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()\r
+#    define BOOST_PP_BOOL(x) BOOST_PP_BOOL_I(x)\r
+# else\r
+#    define BOOST_PP_BOOL(x) BOOST_PP_BOOL_OO((x))\r
+#    define BOOST_PP_BOOL_OO(par) BOOST_PP_BOOL_I ## par\r
+# endif\r
+#\r
+# define BOOST_PP_BOOL_I(x) BOOST_PP_BOOL_ ## x\r
+#\r
+# define BOOST_PP_BOOL_0 0\r
+# define BOOST_PP_BOOL_1 1\r
+# define BOOST_PP_BOOL_2 1\r
+# define BOOST_PP_BOOL_3 1\r
+# define BOOST_PP_BOOL_4 1\r
+# define BOOST_PP_BOOL_5 1\r
+# define BOOST_PP_BOOL_6 1\r
+# define BOOST_PP_BOOL_7 1\r
+# define BOOST_PP_BOOL_8 1\r
+# define BOOST_PP_BOOL_9 1\r
+# define BOOST_PP_BOOL_10 1\r
+# define BOOST_PP_BOOL_11 1\r
+# define BOOST_PP_BOOL_12 1\r
+# define BOOST_PP_BOOL_13 1\r
+# define BOOST_PP_BOOL_14 1\r
+# define BOOST_PP_BOOL_15 1\r
+# define BOOST_PP_BOOL_16 1\r
+# define BOOST_PP_BOOL_17 1\r
+# define BOOST_PP_BOOL_18 1\r
+# define BOOST_PP_BOOL_19 1\r
+# define BOOST_PP_BOOL_20 1\r
+# define BOOST_PP_BOOL_21 1\r
+# define BOOST_PP_BOOL_22 1\r
+# define BOOST_PP_BOOL_23 1\r
+# define BOOST_PP_BOOL_24 1\r
+# define BOOST_PP_BOOL_25 1\r
+# define BOOST_PP_BOOL_26 1\r
+# define BOOST_PP_BOOL_27 1\r
+# define BOOST_PP_BOOL_28 1\r
+# define BOOST_PP_BOOL_29 1\r
+# define BOOST_PP_BOOL_30 1\r
+# define BOOST_PP_BOOL_31 1\r
+# define BOOST_PP_BOOL_32 1\r
+# define BOOST_PP_BOOL_33 1\r
+# define BOOST_PP_BOOL_34 1\r
+# define BOOST_PP_BOOL_35 1\r
+# define BOOST_PP_BOOL_36 1\r
+# define BOOST_PP_BOOL_37 1\r
+# define BOOST_PP_BOOL_38 1\r
+# define BOOST_PP_BOOL_39 1\r
+# define BOOST_PP_BOOL_40 1\r
+# define BOOST_PP_BOOL_41 1\r
+# define BOOST_PP_BOOL_42 1\r
+# define BOOST_PP_BOOL_43 1\r
+# define BOOST_PP_BOOL_44 1\r
+# define BOOST_PP_BOOL_45 1\r
+# define BOOST_PP_BOOL_46 1\r
+# define BOOST_PP_BOOL_47 1\r
+# define BOOST_PP_BOOL_48 1\r
+# define BOOST_PP_BOOL_49 1\r
+# define BOOST_PP_BOOL_50 1\r
+# define BOOST_PP_BOOL_51 1\r
+# define BOOST_PP_BOOL_52 1\r
+# define BOOST_PP_BOOL_53 1\r
+# define BOOST_PP_BOOL_54 1\r
+# define BOOST_PP_BOOL_55 1\r
+# define BOOST_PP_BOOL_56 1\r
+# define BOOST_PP_BOOL_57 1\r
+# define BOOST_PP_BOOL_58 1\r
+# define BOOST_PP_BOOL_59 1\r
+# define BOOST_PP_BOOL_60 1\r
+# define BOOST_PP_BOOL_61 1\r
+# define BOOST_PP_BOOL_62 1\r
+# define BOOST_PP_BOOL_63 1\r
+# define BOOST_PP_BOOL_64 1\r
+# define BOOST_PP_BOOL_65 1\r
+# define BOOST_PP_BOOL_66 1\r
+# define BOOST_PP_BOOL_67 1\r
+# define BOOST_PP_BOOL_68 1\r
+# define BOOST_PP_BOOL_69 1\r
+# define BOOST_PP_BOOL_70 1\r
+# define BOOST_PP_BOOL_71 1\r
+# define BOOST_PP_BOOL_72 1\r
+# define BOOST_PP_BOOL_73 1\r
+# define BOOST_PP_BOOL_74 1\r
+# define BOOST_PP_BOOL_75 1\r
+# define BOOST_PP_BOOL_76 1\r
+# define BOOST_PP_BOOL_77 1\r
+# define BOOST_PP_BOOL_78 1\r
+# define BOOST_PP_BOOL_79 1\r
+# define BOOST_PP_BOOL_80 1\r
+# define BOOST_PP_BOOL_81 1\r
+# define BOOST_PP_BOOL_82 1\r
+# define BOOST_PP_BOOL_83 1\r
+# define BOOST_PP_BOOL_84 1\r
+# define BOOST_PP_BOOL_85 1\r
+# define BOOST_PP_BOOL_86 1\r
+# define BOOST_PP_BOOL_87 1\r
+# define BOOST_PP_BOOL_88 1\r
+# define BOOST_PP_BOOL_89 1\r
+# define BOOST_PP_BOOL_90 1\r
+# define BOOST_PP_BOOL_91 1\r
+# define BOOST_PP_BOOL_92 1\r
+# define BOOST_PP_BOOL_93 1\r
+# define BOOST_PP_BOOL_94 1\r
+# define BOOST_PP_BOOL_95 1\r
+# define BOOST_PP_BOOL_96 1\r
+# define BOOST_PP_BOOL_97 1\r
+# define BOOST_PP_BOOL_98 1\r
+# define BOOST_PP_BOOL_99 1\r
+# define BOOST_PP_BOOL_100 1\r
+# define BOOST_PP_BOOL_101 1\r
+# define BOOST_PP_BOOL_102 1\r
+# define BOOST_PP_BOOL_103 1\r
+# define BOOST_PP_BOOL_104 1\r
+# define BOOST_PP_BOOL_105 1\r
+# define BOOST_PP_BOOL_106 1\r
+# define BOOST_PP_BOOL_107 1\r
+# define BOOST_PP_BOOL_108 1\r
+# define BOOST_PP_BOOL_109 1\r
+# define BOOST_PP_BOOL_110 1\r
+# define BOOST_PP_BOOL_111 1\r
+# define BOOST_PP_BOOL_112 1\r
+# define BOOST_PP_BOOL_113 1\r
+# define BOOST_PP_BOOL_114 1\r
+# define BOOST_PP_BOOL_115 1\r
+# define BOOST_PP_BOOL_116 1\r
+# define BOOST_PP_BOOL_117 1\r
+# define BOOST_PP_BOOL_118 1\r
+# define BOOST_PP_BOOL_119 1\r
+# define BOOST_PP_BOOL_120 1\r
+# define BOOST_PP_BOOL_121 1\r
+# define BOOST_PP_BOOL_122 1\r
+# define BOOST_PP_BOOL_123 1\r
+# define BOOST_PP_BOOL_124 1\r
+# define BOOST_PP_BOOL_125 1\r
+# define BOOST_PP_BOOL_126 1\r
+# define BOOST_PP_BOOL_127 1\r
+# define BOOST_PP_BOOL_128 1\r
+# define BOOST_PP_BOOL_129 1\r
+# define BOOST_PP_BOOL_130 1\r
+# define BOOST_PP_BOOL_131 1\r
+# define BOOST_PP_BOOL_132 1\r
+# define BOOST_PP_BOOL_133 1\r
+# define BOOST_PP_BOOL_134 1\r
+# define BOOST_PP_BOOL_135 1\r
+# define BOOST_PP_BOOL_136 1\r
+# define BOOST_PP_BOOL_137 1\r
+# define BOOST_PP_BOOL_138 1\r
+# define BOOST_PP_BOOL_139 1\r
+# define BOOST_PP_BOOL_140 1\r
+# define BOOST_PP_BOOL_141 1\r
+# define BOOST_PP_BOOL_142 1\r
+# define BOOST_PP_BOOL_143 1\r
+# define BOOST_PP_BOOL_144 1\r
+# define BOOST_PP_BOOL_145 1\r
+# define BOOST_PP_BOOL_146 1\r
+# define BOOST_PP_BOOL_147 1\r
+# define BOOST_PP_BOOL_148 1\r
+# define BOOST_PP_BOOL_149 1\r
+# define BOOST_PP_BOOL_150 1\r
+# define BOOST_PP_BOOL_151 1\r
+# define BOOST_PP_BOOL_152 1\r
+# define BOOST_PP_BOOL_153 1\r
+# define BOOST_PP_BOOL_154 1\r
+# define BOOST_PP_BOOL_155 1\r
+# define BOOST_PP_BOOL_156 1\r
+# define BOOST_PP_BOOL_157 1\r
+# define BOOST_PP_BOOL_158 1\r
+# define BOOST_PP_BOOL_159 1\r
+# define BOOST_PP_BOOL_160 1\r
+# define BOOST_PP_BOOL_161 1\r
+# define BOOST_PP_BOOL_162 1\r
+# define BOOST_PP_BOOL_163 1\r
+# define BOOST_PP_BOOL_164 1\r
+# define BOOST_PP_BOOL_165 1\r
+# define BOOST_PP_BOOL_166 1\r
+# define BOOST_PP_BOOL_167 1\r
+# define BOOST_PP_BOOL_168 1\r
+# define BOOST_PP_BOOL_169 1\r
+# define BOOST_PP_BOOL_170 1\r
+# define BOOST_PP_BOOL_171 1\r
+# define BOOST_PP_BOOL_172 1\r
+# define BOOST_PP_BOOL_173 1\r
+# define BOOST_PP_BOOL_174 1\r
+# define BOOST_PP_BOOL_175 1\r
+# define BOOST_PP_BOOL_176 1\r
+# define BOOST_PP_BOOL_177 1\r
+# define BOOST_PP_BOOL_178 1\r
+# define BOOST_PP_BOOL_179 1\r
+# define BOOST_PP_BOOL_180 1\r
+# define BOOST_PP_BOOL_181 1\r
+# define BOOST_PP_BOOL_182 1\r
+# define BOOST_PP_BOOL_183 1\r
+# define BOOST_PP_BOOL_184 1\r
+# define BOOST_PP_BOOL_185 1\r
+# define BOOST_PP_BOOL_186 1\r
+# define BOOST_PP_BOOL_187 1\r
+# define BOOST_PP_BOOL_188 1\r
+# define BOOST_PP_BOOL_189 1\r
+# define BOOST_PP_BOOL_190 1\r
+# define BOOST_PP_BOOL_191 1\r
+# define BOOST_PP_BOOL_192 1\r
+# define BOOST_PP_BOOL_193 1\r
+# define BOOST_PP_BOOL_194 1\r
+# define BOOST_PP_BOOL_195 1\r
+# define BOOST_PP_BOOL_196 1\r
+# define BOOST_PP_BOOL_197 1\r
+# define BOOST_PP_BOOL_198 1\r
+# define BOOST_PP_BOOL_199 1\r
+# define BOOST_PP_BOOL_200 1\r
+# define BOOST_PP_BOOL_201 1\r
+# define BOOST_PP_BOOL_202 1\r
+# define BOOST_PP_BOOL_203 1\r
+# define BOOST_PP_BOOL_204 1\r
+# define BOOST_PP_BOOL_205 1\r
+# define BOOST_PP_BOOL_206 1\r
+# define BOOST_PP_BOOL_207 1\r
+# define BOOST_PP_BOOL_208 1\r
+# define BOOST_PP_BOOL_209 1\r
+# define BOOST_PP_BOOL_210 1\r
+# define BOOST_PP_BOOL_211 1\r
+# define BOOST_PP_BOOL_212 1\r
+# define BOOST_PP_BOOL_213 1\r
+# define BOOST_PP_BOOL_214 1\r
+# define BOOST_PP_BOOL_215 1\r
+# define BOOST_PP_BOOL_216 1\r
+# define BOOST_PP_BOOL_217 1\r
+# define BOOST_PP_BOOL_218 1\r
+# define BOOST_PP_BOOL_219 1\r
+# define BOOST_PP_BOOL_220 1\r
+# define BOOST_PP_BOOL_221 1\r
+# define BOOST_PP_BOOL_222 1\r
+# define BOOST_PP_BOOL_223 1\r
+# define BOOST_PP_BOOL_224 1\r
+# define BOOST_PP_BOOL_225 1\r
+# define BOOST_PP_BOOL_226 1\r
+# define BOOST_PP_BOOL_227 1\r
+# define BOOST_PP_BOOL_228 1\r
+# define BOOST_PP_BOOL_229 1\r
+# define BOOST_PP_BOOL_230 1\r
+# define BOOST_PP_BOOL_231 1\r
+# define BOOST_PP_BOOL_232 1\r
+# define BOOST_PP_BOOL_233 1\r
+# define BOOST_PP_BOOL_234 1\r
+# define BOOST_PP_BOOL_235 1\r
+# define BOOST_PP_BOOL_236 1\r
+# define BOOST_PP_BOOL_237 1\r
+# define BOOST_PP_BOOL_238 1\r
+# define BOOST_PP_BOOL_239 1\r
+# define BOOST_PP_BOOL_240 1\r
+# define BOOST_PP_BOOL_241 1\r
+# define BOOST_PP_BOOL_242 1\r
+# define BOOST_PP_BOOL_243 1\r
+# define BOOST_PP_BOOL_244 1\r
+# define BOOST_PP_BOOL_245 1\r
+# define BOOST_PP_BOOL_246 1\r
+# define BOOST_PP_BOOL_247 1\r
+# define BOOST_PP_BOOL_248 1\r
+# define BOOST_PP_BOOL_249 1\r
+# define BOOST_PP_BOOL_250 1\r
+# define BOOST_PP_BOOL_251 1\r
+# define BOOST_PP_BOOL_252 1\r
+# define BOOST_PP_BOOL_253 1\r
+# define BOOST_PP_BOOL_254 1\r
+# define BOOST_PP_BOOL_255 1\r
+# define BOOST_PP_BOOL_256 1\r
+#\r
+# endif\r
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 (file)
index 0000000..751068b
--- /dev/null
@@ -0,0 +1,36 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_LOGICAL_COMPL_HPP\r
+# define BOOST_PREPROCESSOR_LOGICAL_COMPL_HPP\r
+#\r
+# include <boost/preprocessor/config/config.hpp>\r
+#\r
+# /* BOOST_PP_COMPL */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()\r
+#    define BOOST_PP_COMPL(x) BOOST_PP_COMPL_I(x)\r
+# else\r
+#    define BOOST_PP_COMPL(x) BOOST_PP_COMPL_OO((x))\r
+#    define BOOST_PP_COMPL_OO(par) BOOST_PP_COMPL_I ## par\r
+# endif\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()\r
+#    define BOOST_PP_COMPL_I(x) BOOST_PP_COMPL_ ## x\r
+# else\r
+#    define BOOST_PP_COMPL_I(x) BOOST_PP_COMPL_ID(BOOST_PP_COMPL_ ## x)\r
+#    define BOOST_PP_COMPL_ID(id) id\r
+# endif\r
+#\r
+# define BOOST_PP_COMPL_0 1\r
+# define BOOST_PP_COMPL_1 0\r
+#\r
+# endif\r
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 (file)
index 0000000..9d950c3
--- /dev/null
@@ -0,0 +1,30 @@
+# /* Copyright (C) 2001\r
+#  * Housemarque Oy\r
+#  * http://www.housemarque.com\r
+#  *\r
+#  * Distributed under the Boost Software License, Version 1.0. (See\r
+#  * accompanying file LICENSE_1_0.txt or copy at\r
+#  * http://www.boost.org/LICENSE_1_0.txt)\r
+#  */\r
+#\r
+# /* Revised by Paul Mensonides (2002) */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_LOGICAL_NOR_HPP\r
+# define BOOST_PREPROCESSOR_LOGICAL_NOR_HPP\r
+#\r
+# include <boost/preprocessor/config/config.hpp>\r
+# include <boost/preprocessor/logical/bool.hpp>\r
+# include <boost/preprocessor/logical/bitnor.hpp>\r
+#\r
+# /* BOOST_PP_NOR */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    define BOOST_PP_NOR(p, q) BOOST_PP_BITNOR(BOOST_PP_BOOL(p), BOOST_PP_BOOL(q))\r
+# else\r
+#    define BOOST_PP_NOR(p, q) BOOST_PP_NOR_I(p, q)\r
+#    define BOOST_PP_NOR_I(p, q) BOOST_PP_BITNOR(BOOST_PP_BOOL(p), BOOST_PP_BOOL(q))\r
+# endif\r
+#\r
+# endif\r
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 (file)
index 0000000..67feb66
--- /dev/null
@@ -0,0 +1,30 @@
+# /* Copyright (C) 2001\r
+#  * Housemarque Oy\r
+#  * http://www.housemarque.com\r
+#  *\r
+#  * Distributed under the Boost Software License, Version 1.0. (See\r
+#  * accompanying file LICENSE_1_0.txt or copy at\r
+#  * http://www.boost.org/LICENSE_1_0.txt)\r
+#  */\r
+#\r
+# /* Revised by Paul Mensonides (2002) */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_LOGICAL_NOT_HPP\r
+# define BOOST_PREPROCESSOR_LOGICAL_NOT_HPP\r
+#\r
+# include <boost/preprocessor/config/config.hpp>\r
+# include <boost/preprocessor/logical/bool.hpp>\r
+# include <boost/preprocessor/logical/compl.hpp>\r
+#\r
+# /* BOOST_PP_NOT */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    define BOOST_PP_NOT(x) BOOST_PP_COMPL(BOOST_PP_BOOL(x))\r
+# else\r
+#    define BOOST_PP_NOT(x) BOOST_PP_NOT_I(x)\r
+#    define BOOST_PP_NOT_I(x) BOOST_PP_COMPL(BOOST_PP_BOOL(x))\r
+# endif\r
+#\r
+# endif\r
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 (file)
index 0000000..9b47c57
--- /dev/null
@@ -0,0 +1,30 @@
+# /* Copyright (C) 2001\r
+#  * Housemarque Oy\r
+#  * http://www.housemarque.com\r
+#  *\r
+#  * Distributed under the Boost Software License, Version 1.0. (See\r
+#  * accompanying file LICENSE_1_0.txt or copy at\r
+#  * http://www.boost.org/LICENSE_1_0.txt)\r
+#  */\r
+#\r
+# /* Revised by Paul Mensonides (2002) */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_LOGICAL_OR_HPP\r
+# define BOOST_PREPROCESSOR_LOGICAL_OR_HPP\r
+#\r
+# include <boost/preprocessor/config/config.hpp>\r
+# include <boost/preprocessor/logical/bool.hpp>\r
+# include <boost/preprocessor/logical/bitor.hpp>\r
+#\r
+# /* BOOST_PP_OR */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    define BOOST_PP_OR(p, q) BOOST_PP_BITOR(BOOST_PP_BOOL(p), BOOST_PP_BOOL(q))\r
+# else\r
+#    define BOOST_PP_OR(p, q) BOOST_PP_OR_I(p, q)\r
+#    define BOOST_PP_OR_I(p, q) BOOST_PP_BITOR(BOOST_PP_BOOL(p), BOOST_PP_BOOL(q))\r
+# endif\r
+#\r
+# endif\r
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 (file)
index 0000000..d234f77
--- /dev/null
@@ -0,0 +1,30 @@
+# /* Copyright (C) 2001\r
+#  * Housemarque Oy\r
+#  * http://www.housemarque.com\r
+#  *\r
+#  * Distributed under the Boost Software License, Version 1.0. (See\r
+#  * accompanying file LICENSE_1_0.txt or copy at\r
+#  * http://www.boost.org/LICENSE_1_0.txt)\r
+#  */\r
+#\r
+# /* Revised by Paul Mensonides (2002) */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_LOGICAL_XOR_HPP\r
+# define BOOST_PREPROCESSOR_LOGICAL_XOR_HPP\r
+#\r
+# include <boost/preprocessor/config/config.hpp>\r
+# include <boost/preprocessor/logical/bool.hpp>\r
+# include <boost/preprocessor/logical/bitxor.hpp>\r
+#\r
+# /* BOOST_PP_XOR */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    define BOOST_PP_XOR(p, q) BOOST_PP_BITXOR(BOOST_PP_BOOL(p), BOOST_PP_BOOL(q))\r
+# else\r
+#    define BOOST_PP_XOR(p, q) BOOST_PP_XOR_I(p, q)\r
+#    define BOOST_PP_XOR_I(p, q) BOOST_PP_BITXOR(BOOST_PP_BOOL(p), BOOST_PP_BOOL(q))\r
+# endif\r
+#\r
+# endif\r
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 (file)
index 0000000..0ffbab8
--- /dev/null
@@ -0,0 +1,17 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_MAX_HPP\r
+# define BOOST_PREPROCESSOR_MAX_HPP\r
+#\r
+# include <boost/preprocessor/selection/max.hpp>\r
+#\r
+# endif\r
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 (file)
index 0000000..6b98f5d
--- /dev/null
@@ -0,0 +1,17 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_MIN_HPP\r
+# define BOOST_PREPROCESSOR_MIN_HPP\r
+#\r
+# include <boost/preprocessor/selection/min.hpp>\r
+#\r
+# endif\r
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 (file)
index 0000000..f48db7f
--- /dev/null
@@ -0,0 +1,20 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_PUNCTUATION_HPP\r
+# define BOOST_PREPROCESSOR_PUNCTUATION_HPP\r
+#\r
+# include <boost/preprocessor/punctuation/comma.hpp>\r
+# include <boost/preprocessor/punctuation/comma_if.hpp>\r
+# include <boost/preprocessor/punctuation/paren.hpp>\r
+# include <boost/preprocessor/punctuation/paren_if.hpp>\r
+#\r
+# endif\r
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 (file)
index 0000000..405effd
--- /dev/null
@@ -0,0 +1,21 @@
+# /* Copyright (C) 2001\r
+#  * Housemarque Oy\r
+#  * http://www.housemarque.com\r
+#  *\r
+#  * Distributed under the Boost Software License, Version 1.0. (See\r
+#  * accompanying file LICENSE_1_0.txt or copy at\r
+#  * http://www.boost.org/LICENSE_1_0.txt)\r
+#  */\r
+#\r
+# /* Revised by Paul Mensonides (2002) */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_PUNCTUATION_COMMA_HPP\r
+# define BOOST_PREPROCESSOR_PUNCTUATION_COMMA_HPP\r
+#\r
+# /* BOOST_PP_COMMA */\r
+#\r
+# define BOOST_PP_COMMA() ,\r
+#\r
+# endif\r
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 (file)
index 0000000..04cc079
--- /dev/null
@@ -0,0 +1,31 @@
+# /* Copyright (C) 2001\r
+#  * Housemarque Oy\r
+#  * http://www.housemarque.com\r
+#  *\r
+#  * Distributed under the Boost Software License, Version 1.0. (See\r
+#  * accompanying file LICENSE_1_0.txt or copy at\r
+#  * http://www.boost.org/LICENSE_1_0.txt)\r
+#  */\r
+#\r
+# /* Revised by Paul Mensonides (2002) */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_PUNCTUATION_COMMA_IF_HPP\r
+# define BOOST_PREPROCESSOR_PUNCTUATION_COMMA_IF_HPP\r
+#\r
+# include <boost/preprocessor/config/config.hpp>\r
+# include <boost/preprocessor/control/if.hpp>\r
+# include <boost/preprocessor/facilities/empty.hpp>\r
+# include <boost/preprocessor/punctuation/comma.hpp>\r
+#\r
+# /* BOOST_PP_COMMA_IF */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    define BOOST_PP_COMMA_IF(cond) BOOST_PP_IF(cond, BOOST_PP_COMMA, BOOST_PP_EMPTY)()\r
+# else\r
+#    define BOOST_PP_COMMA_IF(cond) BOOST_PP_COMMA_IF_I(cond)\r
+#    define BOOST_PP_COMMA_IF_I(cond) BOOST_PP_IF(cond, BOOST_PP_COMMA, BOOST_PP_EMPTY)()\r
+# endif\r
+#\r
+# endif\r
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 (file)
index 0000000..66b25d8
--- /dev/null
@@ -0,0 +1,23 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_PUNCTUATION_PAREN_HPP\r
+# define BOOST_PREPROCESSOR_PUNCTUATION_PAREN_HPP\r
+#\r
+# /* BOOST_PP_LPAREN */\r
+#\r
+# define BOOST_PP_LPAREN() (\r
+#\r
+# /* BOOST_PP_RPAREN */\r
+#\r
+# define BOOST_PP_RPAREN() )\r
+#\r
+# endif\r
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 (file)
index 0000000..665b8be
--- /dev/null
@@ -0,0 +1,38 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_PUNCTUATION_PAREN_IF_HPP\r
+# define BOOST_PREPROCESSOR_PUNCTUATION_PAREN_IF_HPP\r
+#\r
+# include <boost/preprocessor/config/config.hpp>\r
+# include <boost/preprocessor/control/if.hpp>\r
+# include <boost/preprocessor/facilities/empty.hpp>\r
+# include <boost/preprocessor/punctuation/paren.hpp>\r
+#\r
+# /* BOOST_PP_LPAREN_IF */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    define BOOST_PP_LPAREN_IF(cond) BOOST_PP_IF(cond, BOOST_PP_LPAREN, BOOST_PP_EMPTY)()\r
+# else\r
+#    define BOOST_PP_LPAREN_IF(cond) BOOST_PP_LPAREN_IF_I(cond)\r
+#    define BOOST_PP_LPAREN_IF_I(cond) BOOST_PP_IF(cond, BOOST_PP_LPAREN, BOOST_PP_EMPTY)()\r
+# endif\r
+#\r
+# /* BOOST_PP_RPAREN_IF */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    define BOOST_PP_RPAREN_IF(cond) BOOST_PP_IF(cond, BOOST_PP_RPAREN, BOOST_PP_EMPTY)()\r
+# else\r
+#    define BOOST_PP_RPAREN_IF(cond) BOOST_PP_RPAREN_IF_I(cond)\r
+#    define BOOST_PP_RPAREN_IF_I(cond) BOOST_PP_IF(cond, BOOST_PP_RPAREN, BOOST_PP_EMPTY)()\r
+# endif\r
+#\r
+# endif\r
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 (file)
index 0000000..0893c13
--- /dev/null
@@ -0,0 +1,17 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_REPEAT_HPP\r
+# define BOOST_PREPROCESSOR_REPEAT_HPP\r
+#\r
+# include <boost/preprocessor/repetition/repeat.hpp>\r
+#\r
+# endif\r
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 (file)
index 0000000..5f2b678
--- /dev/null
@@ -0,0 +1,17 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_REPEAT_2ND_HPP\r
+# define BOOST_PREPROCESSOR_REPEAT_2ND_HPP\r
+#\r
+# include <boost/preprocessor/repetition/repeat.hpp>\r
+#\r
+# endif\r
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 (file)
index 0000000..b22c454
--- /dev/null
@@ -0,0 +1,17 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_REPEAT_3RD_HPP\r
+# define BOOST_PREPROCESSOR_REPEAT_3RD_HPP\r
+#\r
+# include <boost/preprocessor/repetition/repeat.hpp>\r
+#\r
+# endif\r
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 (file)
index 0000000..f8d7cef
--- /dev/null
@@ -0,0 +1,17 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_REPEAT_FROM_TO_HPP\r
+# define BOOST_PREPROCESSOR_REPEAT_FROM_TO_HPP\r
+#\r
+# include <boost/preprocessor/repetition/repeat_from_to.hpp>\r
+#\r
+# endif\r
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 (file)
index 0000000..e29ce2e
--- /dev/null
@@ -0,0 +1,17 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_REPEAT_FROM_TO_2ND_HPP\r
+# define BOOST_PREPROCESSOR_REPEAT_FROM_TO_2ND_HPP\r
+#\r
+# include <boost/preprocessor/repetition/repeat_from_to.hpp>\r
+#\r
+# endif\r
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 (file)
index 0000000..5baad73
--- /dev/null
@@ -0,0 +1,17 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_REPEAT_FROM_TO_3RD_HPP\r
+# define BOOST_PREPROCESSOR_REPEAT_FROM_TO_3RD_HPP\r
+#\r
+# include <boost/preprocessor/repetition/repeat_from_to.hpp>\r
+#\r
+# endif\r
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 (file)
index 0000000..33f74ee
--- /dev/null
@@ -0,0 +1,32 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_REPETITION_HPP\r
+# define BOOST_PREPROCESSOR_REPETITION_HPP\r
+#\r
+# include <boost/preprocessor/repetition/deduce_r.hpp>\r
+# include <boost/preprocessor/repetition/deduce_z.hpp>\r
+# include <boost/preprocessor/repetition/enum.hpp>\r
+# include <boost/preprocessor/repetition/enum_binary_params.hpp>\r
+# include <boost/preprocessor/repetition/enum_params.hpp>\r
+# include <boost/preprocessor/repetition/enum_params_with_a_default.hpp>\r
+# include <boost/preprocessor/repetition/enum_params_with_defaults.hpp>\r
+# include <boost/preprocessor/repetition/enum_shifted.hpp>\r
+# include <boost/preprocessor/repetition/enum_shifted_binary_params.hpp>\r
+# include <boost/preprocessor/repetition/enum_shifted_params.hpp>\r
+# include <boost/preprocessor/repetition/enum_trailing.hpp>\r
+# include <boost/preprocessor/repetition/enum_trailing_binary_params.hpp>\r
+# include <boost/preprocessor/repetition/enum_trailing_params.hpp>\r
+# include <boost/preprocessor/repetition/for.hpp>\r
+# include <boost/preprocessor/repetition/repeat.hpp>\r
+# include <boost/preprocessor/repetition/repeat_from_to.hpp>\r
+#\r
+# endif\r
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 (file)
index 0000000..b90cb00
--- /dev/null
@@ -0,0 +1,22 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_REPETITION_DEDUCE_R_HPP\r
+# define BOOST_PREPROCESSOR_REPETITION_DEDUCE_R_HPP\r
+#\r
+# include <boost/preprocessor/detail/auto_rec.hpp>\r
+# include <boost/preprocessor/repetition/for.hpp>\r
+#\r
+# /* BOOST_PP_DEDUCE_R */\r
+#\r
+# define BOOST_PP_DEDUCE_R() BOOST_PP_AUTO_REC(BOOST_PP_FOR_P, 256)\r
+#\r
+# endif\r
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 (file)
index 0000000..a1215d0
--- /dev/null
@@ -0,0 +1,22 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_REPETITION_DEDUCE_Z_HPP\r
+# define BOOST_PREPROCESSOR_REPETITION_DEDUCE_Z_HPP\r
+#\r
+# include <boost/preprocessor/detail/auto_rec.hpp>\r
+# include <boost/preprocessor/repetition/repeat.hpp>\r
+#\r
+# /* BOOST_PP_DEDUCE_Z */\r
+#\r
+# define BOOST_PP_DEDUCE_Z() BOOST_PP_AUTO_REC(BOOST_PP_REPEAT_P, 4)\r
+#\r
+# endif\r
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 (file)
index 0000000..70e506e
--- /dev/null
@@ -0,0 +1,536 @@
+# /* Copyright (C) 2001\r
+#  * Housemarque Oy\r
+#  * http://www.housemarque.com\r
+#  *\r
+#  * Distributed under the Boost Software License, Version 1.0. (See\r
+#  * accompanying file LICENSE_1_0.txt or copy at\r
+#  * http://www.boost.org/LICENSE_1_0.txt)\r
+#  */\r
+#\r
+# /* Revised by Paul Mensonides (2002) */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_REPETITION_DETAIL_FOR_HPP\r
+# define BOOST_PREPROCESSOR_REPETITION_DETAIL_FOR_HPP\r
+#\r
+# include <boost/preprocessor/control/expr_iif.hpp>\r
+# include <boost/preprocessor/control/iif.hpp>\r
+# include <boost/preprocessor/logical/bool.hpp>\r
+# include <boost/preprocessor/tuple/eat.hpp>\r
+#\r
+# define BOOST_PP_FOR_1(s, p, o, m) BOOST_PP_FOR_1_C(BOOST_PP_BOOL(p##(2, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_2(s, p, o, m) BOOST_PP_FOR_2_C(BOOST_PP_BOOL(p##(3, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_3(s, p, o, m) BOOST_PP_FOR_3_C(BOOST_PP_BOOL(p##(4, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_4(s, p, o, m) BOOST_PP_FOR_4_C(BOOST_PP_BOOL(p##(5, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_5(s, p, o, m) BOOST_PP_FOR_5_C(BOOST_PP_BOOL(p##(6, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_6(s, p, o, m) BOOST_PP_FOR_6_C(BOOST_PP_BOOL(p##(7, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_7(s, p, o, m) BOOST_PP_FOR_7_C(BOOST_PP_BOOL(p##(8, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_8(s, p, o, m) BOOST_PP_FOR_8_C(BOOST_PP_BOOL(p##(9, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_9(s, p, o, m) BOOST_PP_FOR_9_C(BOOST_PP_BOOL(p##(10, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_10(s, p, o, m) BOOST_PP_FOR_10_C(BOOST_PP_BOOL(p##(11, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_11(s, p, o, m) BOOST_PP_FOR_11_C(BOOST_PP_BOOL(p##(12, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_12(s, p, o, m) BOOST_PP_FOR_12_C(BOOST_PP_BOOL(p##(13, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_13(s, p, o, m) BOOST_PP_FOR_13_C(BOOST_PP_BOOL(p##(14, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_14(s, p, o, m) BOOST_PP_FOR_14_C(BOOST_PP_BOOL(p##(15, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_15(s, p, o, m) BOOST_PP_FOR_15_C(BOOST_PP_BOOL(p##(16, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_16(s, p, o, m) BOOST_PP_FOR_16_C(BOOST_PP_BOOL(p##(17, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_17(s, p, o, m) BOOST_PP_FOR_17_C(BOOST_PP_BOOL(p##(18, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_18(s, p, o, m) BOOST_PP_FOR_18_C(BOOST_PP_BOOL(p##(19, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_19(s, p, o, m) BOOST_PP_FOR_19_C(BOOST_PP_BOOL(p##(20, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_20(s, p, o, m) BOOST_PP_FOR_20_C(BOOST_PP_BOOL(p##(21, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_21(s, p, o, m) BOOST_PP_FOR_21_C(BOOST_PP_BOOL(p##(22, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_22(s, p, o, m) BOOST_PP_FOR_22_C(BOOST_PP_BOOL(p##(23, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_23(s, p, o, m) BOOST_PP_FOR_23_C(BOOST_PP_BOOL(p##(24, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_24(s, p, o, m) BOOST_PP_FOR_24_C(BOOST_PP_BOOL(p##(25, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_25(s, p, o, m) BOOST_PP_FOR_25_C(BOOST_PP_BOOL(p##(26, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_26(s, p, o, m) BOOST_PP_FOR_26_C(BOOST_PP_BOOL(p##(27, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_27(s, p, o, m) BOOST_PP_FOR_27_C(BOOST_PP_BOOL(p##(28, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_28(s, p, o, m) BOOST_PP_FOR_28_C(BOOST_PP_BOOL(p##(29, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_29(s, p, o, m) BOOST_PP_FOR_29_C(BOOST_PP_BOOL(p##(30, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_30(s, p, o, m) BOOST_PP_FOR_30_C(BOOST_PP_BOOL(p##(31, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_31(s, p, o, m) BOOST_PP_FOR_31_C(BOOST_PP_BOOL(p##(32, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_32(s, p, o, m) BOOST_PP_FOR_32_C(BOOST_PP_BOOL(p##(33, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_33(s, p, o, m) BOOST_PP_FOR_33_C(BOOST_PP_BOOL(p##(34, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_34(s, p, o, m) BOOST_PP_FOR_34_C(BOOST_PP_BOOL(p##(35, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_35(s, p, o, m) BOOST_PP_FOR_35_C(BOOST_PP_BOOL(p##(36, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_36(s, p, o, m) BOOST_PP_FOR_36_C(BOOST_PP_BOOL(p##(37, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_37(s, p, o, m) BOOST_PP_FOR_37_C(BOOST_PP_BOOL(p##(38, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_38(s, p, o, m) BOOST_PP_FOR_38_C(BOOST_PP_BOOL(p##(39, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_39(s, p, o, m) BOOST_PP_FOR_39_C(BOOST_PP_BOOL(p##(40, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_40(s, p, o, m) BOOST_PP_FOR_40_C(BOOST_PP_BOOL(p##(41, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_41(s, p, o, m) BOOST_PP_FOR_41_C(BOOST_PP_BOOL(p##(42, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_42(s, p, o, m) BOOST_PP_FOR_42_C(BOOST_PP_BOOL(p##(43, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_43(s, p, o, m) BOOST_PP_FOR_43_C(BOOST_PP_BOOL(p##(44, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_44(s, p, o, m) BOOST_PP_FOR_44_C(BOOST_PP_BOOL(p##(45, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_45(s, p, o, m) BOOST_PP_FOR_45_C(BOOST_PP_BOOL(p##(46, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_46(s, p, o, m) BOOST_PP_FOR_46_C(BOOST_PP_BOOL(p##(47, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_47(s, p, o, m) BOOST_PP_FOR_47_C(BOOST_PP_BOOL(p##(48, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_48(s, p, o, m) BOOST_PP_FOR_48_C(BOOST_PP_BOOL(p##(49, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_49(s, p, o, m) BOOST_PP_FOR_49_C(BOOST_PP_BOOL(p##(50, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_50(s, p, o, m) BOOST_PP_FOR_50_C(BOOST_PP_BOOL(p##(51, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_51(s, p, o, m) BOOST_PP_FOR_51_C(BOOST_PP_BOOL(p##(52, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_52(s, p, o, m) BOOST_PP_FOR_52_C(BOOST_PP_BOOL(p##(53, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_53(s, p, o, m) BOOST_PP_FOR_53_C(BOOST_PP_BOOL(p##(54, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_54(s, p, o, m) BOOST_PP_FOR_54_C(BOOST_PP_BOOL(p##(55, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_55(s, p, o, m) BOOST_PP_FOR_55_C(BOOST_PP_BOOL(p##(56, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_56(s, p, o, m) BOOST_PP_FOR_56_C(BOOST_PP_BOOL(p##(57, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_57(s, p, o, m) BOOST_PP_FOR_57_C(BOOST_PP_BOOL(p##(58, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_58(s, p, o, m) BOOST_PP_FOR_58_C(BOOST_PP_BOOL(p##(59, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_59(s, p, o, m) BOOST_PP_FOR_59_C(BOOST_PP_BOOL(p##(60, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_60(s, p, o, m) BOOST_PP_FOR_60_C(BOOST_PP_BOOL(p##(61, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_61(s, p, o, m) BOOST_PP_FOR_61_C(BOOST_PP_BOOL(p##(62, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_62(s, p, o, m) BOOST_PP_FOR_62_C(BOOST_PP_BOOL(p##(63, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_63(s, p, o, m) BOOST_PP_FOR_63_C(BOOST_PP_BOOL(p##(64, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_64(s, p, o, m) BOOST_PP_FOR_64_C(BOOST_PP_BOOL(p##(65, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_65(s, p, o, m) BOOST_PP_FOR_65_C(BOOST_PP_BOOL(p##(66, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_66(s, p, o, m) BOOST_PP_FOR_66_C(BOOST_PP_BOOL(p##(67, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_67(s, p, o, m) BOOST_PP_FOR_67_C(BOOST_PP_BOOL(p##(68, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_68(s, p, o, m) BOOST_PP_FOR_68_C(BOOST_PP_BOOL(p##(69, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_69(s, p, o, m) BOOST_PP_FOR_69_C(BOOST_PP_BOOL(p##(70, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_70(s, p, o, m) BOOST_PP_FOR_70_C(BOOST_PP_BOOL(p##(71, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_71(s, p, o, m) BOOST_PP_FOR_71_C(BOOST_PP_BOOL(p##(72, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_72(s, p, o, m) BOOST_PP_FOR_72_C(BOOST_PP_BOOL(p##(73, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_73(s, p, o, m) BOOST_PP_FOR_73_C(BOOST_PP_BOOL(p##(74, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_74(s, p, o, m) BOOST_PP_FOR_74_C(BOOST_PP_BOOL(p##(75, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_75(s, p, o, m) BOOST_PP_FOR_75_C(BOOST_PP_BOOL(p##(76, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_76(s, p, o, m) BOOST_PP_FOR_76_C(BOOST_PP_BOOL(p##(77, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_77(s, p, o, m) BOOST_PP_FOR_77_C(BOOST_PP_BOOL(p##(78, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_78(s, p, o, m) BOOST_PP_FOR_78_C(BOOST_PP_BOOL(p##(79, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_79(s, p, o, m) BOOST_PP_FOR_79_C(BOOST_PP_BOOL(p##(80, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_80(s, p, o, m) BOOST_PP_FOR_80_C(BOOST_PP_BOOL(p##(81, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_81(s, p, o, m) BOOST_PP_FOR_81_C(BOOST_PP_BOOL(p##(82, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_82(s, p, o, m) BOOST_PP_FOR_82_C(BOOST_PP_BOOL(p##(83, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_83(s, p, o, m) BOOST_PP_FOR_83_C(BOOST_PP_BOOL(p##(84, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_84(s, p, o, m) BOOST_PP_FOR_84_C(BOOST_PP_BOOL(p##(85, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_85(s, p, o, m) BOOST_PP_FOR_85_C(BOOST_PP_BOOL(p##(86, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_86(s, p, o, m) BOOST_PP_FOR_86_C(BOOST_PP_BOOL(p##(87, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_87(s, p, o, m) BOOST_PP_FOR_87_C(BOOST_PP_BOOL(p##(88, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_88(s, p, o, m) BOOST_PP_FOR_88_C(BOOST_PP_BOOL(p##(89, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_89(s, p, o, m) BOOST_PP_FOR_89_C(BOOST_PP_BOOL(p##(90, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_90(s, p, o, m) BOOST_PP_FOR_90_C(BOOST_PP_BOOL(p##(91, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_91(s, p, o, m) BOOST_PP_FOR_91_C(BOOST_PP_BOOL(p##(92, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_92(s, p, o, m) BOOST_PP_FOR_92_C(BOOST_PP_BOOL(p##(93, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_93(s, p, o, m) BOOST_PP_FOR_93_C(BOOST_PP_BOOL(p##(94, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_94(s, p, o, m) BOOST_PP_FOR_94_C(BOOST_PP_BOOL(p##(95, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_95(s, p, o, m) BOOST_PP_FOR_95_C(BOOST_PP_BOOL(p##(96, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_96(s, p, o, m) BOOST_PP_FOR_96_C(BOOST_PP_BOOL(p##(97, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_97(s, p, o, m) BOOST_PP_FOR_97_C(BOOST_PP_BOOL(p##(98, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_98(s, p, o, m) BOOST_PP_FOR_98_C(BOOST_PP_BOOL(p##(99, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_99(s, p, o, m) BOOST_PP_FOR_99_C(BOOST_PP_BOOL(p##(100, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_100(s, p, o, m) BOOST_PP_FOR_100_C(BOOST_PP_BOOL(p##(101, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_101(s, p, o, m) BOOST_PP_FOR_101_C(BOOST_PP_BOOL(p##(102, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_102(s, p, o, m) BOOST_PP_FOR_102_C(BOOST_PP_BOOL(p##(103, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_103(s, p, o, m) BOOST_PP_FOR_103_C(BOOST_PP_BOOL(p##(104, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_104(s, p, o, m) BOOST_PP_FOR_104_C(BOOST_PP_BOOL(p##(105, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_105(s, p, o, m) BOOST_PP_FOR_105_C(BOOST_PP_BOOL(p##(106, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_106(s, p, o, m) BOOST_PP_FOR_106_C(BOOST_PP_BOOL(p##(107, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_107(s, p, o, m) BOOST_PP_FOR_107_C(BOOST_PP_BOOL(p##(108, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_108(s, p, o, m) BOOST_PP_FOR_108_C(BOOST_PP_BOOL(p##(109, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_109(s, p, o, m) BOOST_PP_FOR_109_C(BOOST_PP_BOOL(p##(110, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_110(s, p, o, m) BOOST_PP_FOR_110_C(BOOST_PP_BOOL(p##(111, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_111(s, p, o, m) BOOST_PP_FOR_111_C(BOOST_PP_BOOL(p##(112, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_112(s, p, o, m) BOOST_PP_FOR_112_C(BOOST_PP_BOOL(p##(113, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_113(s, p, o, m) BOOST_PP_FOR_113_C(BOOST_PP_BOOL(p##(114, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_114(s, p, o, m) BOOST_PP_FOR_114_C(BOOST_PP_BOOL(p##(115, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_115(s, p, o, m) BOOST_PP_FOR_115_C(BOOST_PP_BOOL(p##(116, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_116(s, p, o, m) BOOST_PP_FOR_116_C(BOOST_PP_BOOL(p##(117, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_117(s, p, o, m) BOOST_PP_FOR_117_C(BOOST_PP_BOOL(p##(118, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_118(s, p, o, m) BOOST_PP_FOR_118_C(BOOST_PP_BOOL(p##(119, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_119(s, p, o, m) BOOST_PP_FOR_119_C(BOOST_PP_BOOL(p##(120, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_120(s, p, o, m) BOOST_PP_FOR_120_C(BOOST_PP_BOOL(p##(121, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_121(s, p, o, m) BOOST_PP_FOR_121_C(BOOST_PP_BOOL(p##(122, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_122(s, p, o, m) BOOST_PP_FOR_122_C(BOOST_PP_BOOL(p##(123, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_123(s, p, o, m) BOOST_PP_FOR_123_C(BOOST_PP_BOOL(p##(124, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_124(s, p, o, m) BOOST_PP_FOR_124_C(BOOST_PP_BOOL(p##(125, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_125(s, p, o, m) BOOST_PP_FOR_125_C(BOOST_PP_BOOL(p##(126, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_126(s, p, o, m) BOOST_PP_FOR_126_C(BOOST_PP_BOOL(p##(127, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_127(s, p, o, m) BOOST_PP_FOR_127_C(BOOST_PP_BOOL(p##(128, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_128(s, p, o, m) BOOST_PP_FOR_128_C(BOOST_PP_BOOL(p##(129, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_129(s, p, o, m) BOOST_PP_FOR_129_C(BOOST_PP_BOOL(p##(130, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_130(s, p, o, m) BOOST_PP_FOR_130_C(BOOST_PP_BOOL(p##(131, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_131(s, p, o, m) BOOST_PP_FOR_131_C(BOOST_PP_BOOL(p##(132, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_132(s, p, o, m) BOOST_PP_FOR_132_C(BOOST_PP_BOOL(p##(133, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_133(s, p, o, m) BOOST_PP_FOR_133_C(BOOST_PP_BOOL(p##(134, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_134(s, p, o, m) BOOST_PP_FOR_134_C(BOOST_PP_BOOL(p##(135, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_135(s, p, o, m) BOOST_PP_FOR_135_C(BOOST_PP_BOOL(p##(136, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_136(s, p, o, m) BOOST_PP_FOR_136_C(BOOST_PP_BOOL(p##(137, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_137(s, p, o, m) BOOST_PP_FOR_137_C(BOOST_PP_BOOL(p##(138, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_138(s, p, o, m) BOOST_PP_FOR_138_C(BOOST_PP_BOOL(p##(139, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_139(s, p, o, m) BOOST_PP_FOR_139_C(BOOST_PP_BOOL(p##(140, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_140(s, p, o, m) BOOST_PP_FOR_140_C(BOOST_PP_BOOL(p##(141, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_141(s, p, o, m) BOOST_PP_FOR_141_C(BOOST_PP_BOOL(p##(142, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_142(s, p, o, m) BOOST_PP_FOR_142_C(BOOST_PP_BOOL(p##(143, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_143(s, p, o, m) BOOST_PP_FOR_143_C(BOOST_PP_BOOL(p##(144, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_144(s, p, o, m) BOOST_PP_FOR_144_C(BOOST_PP_BOOL(p##(145, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_145(s, p, o, m) BOOST_PP_FOR_145_C(BOOST_PP_BOOL(p##(146, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_146(s, p, o, m) BOOST_PP_FOR_146_C(BOOST_PP_BOOL(p##(147, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_147(s, p, o, m) BOOST_PP_FOR_147_C(BOOST_PP_BOOL(p##(148, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_148(s, p, o, m) BOOST_PP_FOR_148_C(BOOST_PP_BOOL(p##(149, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_149(s, p, o, m) BOOST_PP_FOR_149_C(BOOST_PP_BOOL(p##(150, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_150(s, p, o, m) BOOST_PP_FOR_150_C(BOOST_PP_BOOL(p##(151, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_151(s, p, o, m) BOOST_PP_FOR_151_C(BOOST_PP_BOOL(p##(152, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_152(s, p, o, m) BOOST_PP_FOR_152_C(BOOST_PP_BOOL(p##(153, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_153(s, p, o, m) BOOST_PP_FOR_153_C(BOOST_PP_BOOL(p##(154, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_154(s, p, o, m) BOOST_PP_FOR_154_C(BOOST_PP_BOOL(p##(155, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_155(s, p, o, m) BOOST_PP_FOR_155_C(BOOST_PP_BOOL(p##(156, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_156(s, p, o, m) BOOST_PP_FOR_156_C(BOOST_PP_BOOL(p##(157, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_157(s, p, o, m) BOOST_PP_FOR_157_C(BOOST_PP_BOOL(p##(158, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_158(s, p, o, m) BOOST_PP_FOR_158_C(BOOST_PP_BOOL(p##(159, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_159(s, p, o, m) BOOST_PP_FOR_159_C(BOOST_PP_BOOL(p##(160, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_160(s, p, o, m) BOOST_PP_FOR_160_C(BOOST_PP_BOOL(p##(161, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_161(s, p, o, m) BOOST_PP_FOR_161_C(BOOST_PP_BOOL(p##(162, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_162(s, p, o, m) BOOST_PP_FOR_162_C(BOOST_PP_BOOL(p##(163, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_163(s, p, o, m) BOOST_PP_FOR_163_C(BOOST_PP_BOOL(p##(164, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_164(s, p, o, m) BOOST_PP_FOR_164_C(BOOST_PP_BOOL(p##(165, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_165(s, p, o, m) BOOST_PP_FOR_165_C(BOOST_PP_BOOL(p##(166, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_166(s, p, o, m) BOOST_PP_FOR_166_C(BOOST_PP_BOOL(p##(167, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_167(s, p, o, m) BOOST_PP_FOR_167_C(BOOST_PP_BOOL(p##(168, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_168(s, p, o, m) BOOST_PP_FOR_168_C(BOOST_PP_BOOL(p##(169, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_169(s, p, o, m) BOOST_PP_FOR_169_C(BOOST_PP_BOOL(p##(170, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_170(s, p, o, m) BOOST_PP_FOR_170_C(BOOST_PP_BOOL(p##(171, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_171(s, p, o, m) BOOST_PP_FOR_171_C(BOOST_PP_BOOL(p##(172, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_172(s, p, o, m) BOOST_PP_FOR_172_C(BOOST_PP_BOOL(p##(173, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_173(s, p, o, m) BOOST_PP_FOR_173_C(BOOST_PP_BOOL(p##(174, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_174(s, p, o, m) BOOST_PP_FOR_174_C(BOOST_PP_BOOL(p##(175, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_175(s, p, o, m) BOOST_PP_FOR_175_C(BOOST_PP_BOOL(p##(176, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_176(s, p, o, m) BOOST_PP_FOR_176_C(BOOST_PP_BOOL(p##(177, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_177(s, p, o, m) BOOST_PP_FOR_177_C(BOOST_PP_BOOL(p##(178, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_178(s, p, o, m) BOOST_PP_FOR_178_C(BOOST_PP_BOOL(p##(179, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_179(s, p, o, m) BOOST_PP_FOR_179_C(BOOST_PP_BOOL(p##(180, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_180(s, p, o, m) BOOST_PP_FOR_180_C(BOOST_PP_BOOL(p##(181, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_181(s, p, o, m) BOOST_PP_FOR_181_C(BOOST_PP_BOOL(p##(182, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_182(s, p, o, m) BOOST_PP_FOR_182_C(BOOST_PP_BOOL(p##(183, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_183(s, p, o, m) BOOST_PP_FOR_183_C(BOOST_PP_BOOL(p##(184, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_184(s, p, o, m) BOOST_PP_FOR_184_C(BOOST_PP_BOOL(p##(185, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_185(s, p, o, m) BOOST_PP_FOR_185_C(BOOST_PP_BOOL(p##(186, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_186(s, p, o, m) BOOST_PP_FOR_186_C(BOOST_PP_BOOL(p##(187, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_187(s, p, o, m) BOOST_PP_FOR_187_C(BOOST_PP_BOOL(p##(188, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_188(s, p, o, m) BOOST_PP_FOR_188_C(BOOST_PP_BOOL(p##(189, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_189(s, p, o, m) BOOST_PP_FOR_189_C(BOOST_PP_BOOL(p##(190, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_190(s, p, o, m) BOOST_PP_FOR_190_C(BOOST_PP_BOOL(p##(191, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_191(s, p, o, m) BOOST_PP_FOR_191_C(BOOST_PP_BOOL(p##(192, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_192(s, p, o, m) BOOST_PP_FOR_192_C(BOOST_PP_BOOL(p##(193, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_193(s, p, o, m) BOOST_PP_FOR_193_C(BOOST_PP_BOOL(p##(194, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_194(s, p, o, m) BOOST_PP_FOR_194_C(BOOST_PP_BOOL(p##(195, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_195(s, p, o, m) BOOST_PP_FOR_195_C(BOOST_PP_BOOL(p##(196, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_196(s, p, o, m) BOOST_PP_FOR_196_C(BOOST_PP_BOOL(p##(197, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_197(s, p, o, m) BOOST_PP_FOR_197_C(BOOST_PP_BOOL(p##(198, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_198(s, p, o, m) BOOST_PP_FOR_198_C(BOOST_PP_BOOL(p##(199, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_199(s, p, o, m) BOOST_PP_FOR_199_C(BOOST_PP_BOOL(p##(200, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_200(s, p, o, m) BOOST_PP_FOR_200_C(BOOST_PP_BOOL(p##(201, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_201(s, p, o, m) BOOST_PP_FOR_201_C(BOOST_PP_BOOL(p##(202, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_202(s, p, o, m) BOOST_PP_FOR_202_C(BOOST_PP_BOOL(p##(203, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_203(s, p, o, m) BOOST_PP_FOR_203_C(BOOST_PP_BOOL(p##(204, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_204(s, p, o, m) BOOST_PP_FOR_204_C(BOOST_PP_BOOL(p##(205, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_205(s, p, o, m) BOOST_PP_FOR_205_C(BOOST_PP_BOOL(p##(206, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_206(s, p, o, m) BOOST_PP_FOR_206_C(BOOST_PP_BOOL(p##(207, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_207(s, p, o, m) BOOST_PP_FOR_207_C(BOOST_PP_BOOL(p##(208, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_208(s, p, o, m) BOOST_PP_FOR_208_C(BOOST_PP_BOOL(p##(209, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_209(s, p, o, m) BOOST_PP_FOR_209_C(BOOST_PP_BOOL(p##(210, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_210(s, p, o, m) BOOST_PP_FOR_210_C(BOOST_PP_BOOL(p##(211, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_211(s, p, o, m) BOOST_PP_FOR_211_C(BOOST_PP_BOOL(p##(212, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_212(s, p, o, m) BOOST_PP_FOR_212_C(BOOST_PP_BOOL(p##(213, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_213(s, p, o, m) BOOST_PP_FOR_213_C(BOOST_PP_BOOL(p##(214, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_214(s, p, o, m) BOOST_PP_FOR_214_C(BOOST_PP_BOOL(p##(215, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_215(s, p, o, m) BOOST_PP_FOR_215_C(BOOST_PP_BOOL(p##(216, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_216(s, p, o, m) BOOST_PP_FOR_216_C(BOOST_PP_BOOL(p##(217, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_217(s, p, o, m) BOOST_PP_FOR_217_C(BOOST_PP_BOOL(p##(218, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_218(s, p, o, m) BOOST_PP_FOR_218_C(BOOST_PP_BOOL(p##(219, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_219(s, p, o, m) BOOST_PP_FOR_219_C(BOOST_PP_BOOL(p##(220, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_220(s, p, o, m) BOOST_PP_FOR_220_C(BOOST_PP_BOOL(p##(221, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_221(s, p, o, m) BOOST_PP_FOR_221_C(BOOST_PP_BOOL(p##(222, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_222(s, p, o, m) BOOST_PP_FOR_222_C(BOOST_PP_BOOL(p##(223, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_223(s, p, o, m) BOOST_PP_FOR_223_C(BOOST_PP_BOOL(p##(224, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_224(s, p, o, m) BOOST_PP_FOR_224_C(BOOST_PP_BOOL(p##(225, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_225(s, p, o, m) BOOST_PP_FOR_225_C(BOOST_PP_BOOL(p##(226, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_226(s, p, o, m) BOOST_PP_FOR_226_C(BOOST_PP_BOOL(p##(227, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_227(s, p, o, m) BOOST_PP_FOR_227_C(BOOST_PP_BOOL(p##(228, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_228(s, p, o, m) BOOST_PP_FOR_228_C(BOOST_PP_BOOL(p##(229, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_229(s, p, o, m) BOOST_PP_FOR_229_C(BOOST_PP_BOOL(p##(230, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_230(s, p, o, m) BOOST_PP_FOR_230_C(BOOST_PP_BOOL(p##(231, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_231(s, p, o, m) BOOST_PP_FOR_231_C(BOOST_PP_BOOL(p##(232, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_232(s, p, o, m) BOOST_PP_FOR_232_C(BOOST_PP_BOOL(p##(233, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_233(s, p, o, m) BOOST_PP_FOR_233_C(BOOST_PP_BOOL(p##(234, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_234(s, p, o, m) BOOST_PP_FOR_234_C(BOOST_PP_BOOL(p##(235, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_235(s, p, o, m) BOOST_PP_FOR_235_C(BOOST_PP_BOOL(p##(236, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_236(s, p, o, m) BOOST_PP_FOR_236_C(BOOST_PP_BOOL(p##(237, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_237(s, p, o, m) BOOST_PP_FOR_237_C(BOOST_PP_BOOL(p##(238, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_238(s, p, o, m) BOOST_PP_FOR_238_C(BOOST_PP_BOOL(p##(239, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_239(s, p, o, m) BOOST_PP_FOR_239_C(BOOST_PP_BOOL(p##(240, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_240(s, p, o, m) BOOST_PP_FOR_240_C(BOOST_PP_BOOL(p##(241, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_241(s, p, o, m) BOOST_PP_FOR_241_C(BOOST_PP_BOOL(p##(242, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_242(s, p, o, m) BOOST_PP_FOR_242_C(BOOST_PP_BOOL(p##(243, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_243(s, p, o, m) BOOST_PP_FOR_243_C(BOOST_PP_BOOL(p##(244, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_244(s, p, o, m) BOOST_PP_FOR_244_C(BOOST_PP_BOOL(p##(245, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_245(s, p, o, m) BOOST_PP_FOR_245_C(BOOST_PP_BOOL(p##(246, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_246(s, p, o, m) BOOST_PP_FOR_246_C(BOOST_PP_BOOL(p##(247, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_247(s, p, o, m) BOOST_PP_FOR_247_C(BOOST_PP_BOOL(p##(248, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_248(s, p, o, m) BOOST_PP_FOR_248_C(BOOST_PP_BOOL(p##(249, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_249(s, p, o, m) BOOST_PP_FOR_249_C(BOOST_PP_BOOL(p##(250, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_250(s, p, o, m) BOOST_PP_FOR_250_C(BOOST_PP_BOOL(p##(251, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_251(s, p, o, m) BOOST_PP_FOR_251_C(BOOST_PP_BOOL(p##(252, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_252(s, p, o, m) BOOST_PP_FOR_252_C(BOOST_PP_BOOL(p##(253, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_253(s, p, o, m) BOOST_PP_FOR_253_C(BOOST_PP_BOOL(p##(254, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_254(s, p, o, m) BOOST_PP_FOR_254_C(BOOST_PP_BOOL(p##(255, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_255(s, p, o, m) BOOST_PP_FOR_255_C(BOOST_PP_BOOL(p##(256, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_256(s, p, o, m) BOOST_PP_FOR_256_C(BOOST_PP_BOOL(p##(257, s)), s, p, o, m)\r
+#\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+#\r
+# endif\r
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 (file)
index 0000000..ed7364c
--- /dev/null
@@ -0,0 +1,534 @@
+# /* Copyright (C) 2001\r
+#  * Housemarque Oy\r
+#  * http://www.housemarque.com\r
+#  *\r
+#  * Distributed under the Boost Software License, Version 1.0. (See\r
+#  * accompanying file LICENSE_1_0.txt or copy at\r
+#  * http://www.boost.org/LICENSE_1_0.txt)\r
+#  */\r
+#\r
+# /* Revised by Paul Mensonides (2002) */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_REPETITION_DETAIL_EDG_FOR_HPP\r
+# define BOOST_PREPROCESSOR_REPETITION_DETAIL_EDG_FOR_HPP\r
+#\r
+# include <boost/preprocessor/control/if.hpp>\r
+# include <boost/preprocessor/tuple/eat.hpp>\r
+#\r
+# define BOOST_PP_FOR_1(s, p, o, m) BOOST_PP_FOR_1_I(s, p, o, m)\r
+# define BOOST_PP_FOR_2(s, p, o, m) BOOST_PP_FOR_2_I(s, p, o, m)\r
+# define BOOST_PP_FOR_3(s, p, o, m) BOOST_PP_FOR_3_I(s, p, o, m)\r
+# define BOOST_PP_FOR_4(s, p, o, m) BOOST_PP_FOR_4_I(s, p, o, m)\r
+# define BOOST_PP_FOR_5(s, p, o, m) BOOST_PP_FOR_5_I(s, p, o, m)\r
+# define BOOST_PP_FOR_6(s, p, o, m) BOOST_PP_FOR_6_I(s, p, o, m)\r
+# define BOOST_PP_FOR_7(s, p, o, m) BOOST_PP_FOR_7_I(s, p, o, m)\r
+# define BOOST_PP_FOR_8(s, p, o, m) BOOST_PP_FOR_8_I(s, p, o, m)\r
+# define BOOST_PP_FOR_9(s, p, o, m) BOOST_PP_FOR_9_I(s, p, o, m)\r
+# define BOOST_PP_FOR_10(s, p, o, m) BOOST_PP_FOR_10_I(s, p, o, m)\r
+# define BOOST_PP_FOR_11(s, p, o, m) BOOST_PP_FOR_11_I(s, p, o, m)\r
+# define BOOST_PP_FOR_12(s, p, o, m) BOOST_PP_FOR_12_I(s, p, o, m)\r
+# define BOOST_PP_FOR_13(s, p, o, m) BOOST_PP_FOR_13_I(s, p, o, m)\r
+# define BOOST_PP_FOR_14(s, p, o, m) BOOST_PP_FOR_14_I(s, p, o, m)\r
+# define BOOST_PP_FOR_15(s, p, o, m) BOOST_PP_FOR_15_I(s, p, o, m)\r
+# define BOOST_PP_FOR_16(s, p, o, m) BOOST_PP_FOR_16_I(s, p, o, m)\r
+# define BOOST_PP_FOR_17(s, p, o, m) BOOST_PP_FOR_17_I(s, p, o, m)\r
+# define BOOST_PP_FOR_18(s, p, o, m) BOOST_PP_FOR_18_I(s, p, o, m)\r
+# define BOOST_PP_FOR_19(s, p, o, m) BOOST_PP_FOR_19_I(s, p, o, m)\r
+# define BOOST_PP_FOR_20(s, p, o, m) BOOST_PP_FOR_20_I(s, p, o, m)\r
+# define BOOST_PP_FOR_21(s, p, o, m) BOOST_PP_FOR_21_I(s, p, o, m)\r
+# define BOOST_PP_FOR_22(s, p, o, m) BOOST_PP_FOR_22_I(s, p, o, m)\r
+# define BOOST_PP_FOR_23(s, p, o, m) BOOST_PP_FOR_23_I(s, p, o, m)\r
+# define BOOST_PP_FOR_24(s, p, o, m) BOOST_PP_FOR_24_I(s, p, o, m)\r
+# define BOOST_PP_FOR_25(s, p, o, m) BOOST_PP_FOR_25_I(s, p, o, m)\r
+# define BOOST_PP_FOR_26(s, p, o, m) BOOST_PP_FOR_26_I(s, p, o, m)\r
+# define BOOST_PP_FOR_27(s, p, o, m) BOOST_PP_FOR_27_I(s, p, o, m)\r
+# define BOOST_PP_FOR_28(s, p, o, m) BOOST_PP_FOR_28_I(s, p, o, m)\r
+# define BOOST_PP_FOR_29(s, p, o, m) BOOST_PP_FOR_29_I(s, p, o, m)\r
+# define BOOST_PP_FOR_30(s, p, o, m) BOOST_PP_FOR_30_I(s, p, o, m)\r
+# define BOOST_PP_FOR_31(s, p, o, m) BOOST_PP_FOR_31_I(s, p, o, m)\r
+# define BOOST_PP_FOR_32(s, p, o, m) BOOST_PP_FOR_32_I(s, p, o, m)\r
+# define BOOST_PP_FOR_33(s, p, o, m) BOOST_PP_FOR_33_I(s, p, o, m)\r
+# define BOOST_PP_FOR_34(s, p, o, m) BOOST_PP_FOR_34_I(s, p, o, m)\r
+# define BOOST_PP_FOR_35(s, p, o, m) BOOST_PP_FOR_35_I(s, p, o, m)\r
+# define BOOST_PP_FOR_36(s, p, o, m) BOOST_PP_FOR_36_I(s, p, o, m)\r
+# define BOOST_PP_FOR_37(s, p, o, m) BOOST_PP_FOR_37_I(s, p, o, m)\r
+# define BOOST_PP_FOR_38(s, p, o, m) BOOST_PP_FOR_38_I(s, p, o, m)\r
+# define BOOST_PP_FOR_39(s, p, o, m) BOOST_PP_FOR_39_I(s, p, o, m)\r
+# define BOOST_PP_FOR_40(s, p, o, m) BOOST_PP_FOR_40_I(s, p, o, m)\r
+# define BOOST_PP_FOR_41(s, p, o, m) BOOST_PP_FOR_41_I(s, p, o, m)\r
+# define BOOST_PP_FOR_42(s, p, o, m) BOOST_PP_FOR_42_I(s, p, o, m)\r
+# define BOOST_PP_FOR_43(s, p, o, m) BOOST_PP_FOR_43_I(s, p, o, m)\r
+# define BOOST_PP_FOR_44(s, p, o, m) BOOST_PP_FOR_44_I(s, p, o, m)\r
+# define BOOST_PP_FOR_45(s, p, o, m) BOOST_PP_FOR_45_I(s, p, o, m)\r
+# define BOOST_PP_FOR_46(s, p, o, m) BOOST_PP_FOR_46_I(s, p, o, m)\r
+# define BOOST_PP_FOR_47(s, p, o, m) BOOST_PP_FOR_47_I(s, p, o, m)\r
+# define BOOST_PP_FOR_48(s, p, o, m) BOOST_PP_FOR_48_I(s, p, o, m)\r
+# define BOOST_PP_FOR_49(s, p, o, m) BOOST_PP_FOR_49_I(s, p, o, m)\r
+# define BOOST_PP_FOR_50(s, p, o, m) BOOST_PP_FOR_50_I(s, p, o, m)\r
+# define BOOST_PP_FOR_51(s, p, o, m) BOOST_PP_FOR_51_I(s, p, o, m)\r
+# define BOOST_PP_FOR_52(s, p, o, m) BOOST_PP_FOR_52_I(s, p, o, m)\r
+# define BOOST_PP_FOR_53(s, p, o, m) BOOST_PP_FOR_53_I(s, p, o, m)\r
+# define BOOST_PP_FOR_54(s, p, o, m) BOOST_PP_FOR_54_I(s, p, o, m)\r
+# define BOOST_PP_FOR_55(s, p, o, m) BOOST_PP_FOR_55_I(s, p, o, m)\r
+# define BOOST_PP_FOR_56(s, p, o, m) BOOST_PP_FOR_56_I(s, p, o, m)\r
+# define BOOST_PP_FOR_57(s, p, o, m) BOOST_PP_FOR_57_I(s, p, o, m)\r
+# define BOOST_PP_FOR_58(s, p, o, m) BOOST_PP_FOR_58_I(s, p, o, m)\r
+# define BOOST_PP_FOR_59(s, p, o, m) BOOST_PP_FOR_59_I(s, p, o, m)\r
+# define BOOST_PP_FOR_60(s, p, o, m) BOOST_PP_FOR_60_I(s, p, o, m)\r
+# define BOOST_PP_FOR_61(s, p, o, m) BOOST_PP_FOR_61_I(s, p, o, m)\r
+# define BOOST_PP_FOR_62(s, p, o, m) BOOST_PP_FOR_62_I(s, p, o, m)\r
+# define BOOST_PP_FOR_63(s, p, o, m) BOOST_PP_FOR_63_I(s, p, o, m)\r
+# define BOOST_PP_FOR_64(s, p, o, m) BOOST_PP_FOR_64_I(s, p, o, m)\r
+# define BOOST_PP_FOR_65(s, p, o, m) BOOST_PP_FOR_65_I(s, p, o, m)\r
+# define BOOST_PP_FOR_66(s, p, o, m) BOOST_PP_FOR_66_I(s, p, o, m)\r
+# define BOOST_PP_FOR_67(s, p, o, m) BOOST_PP_FOR_67_I(s, p, o, m)\r
+# define BOOST_PP_FOR_68(s, p, o, m) BOOST_PP_FOR_68_I(s, p, o, m)\r
+# define BOOST_PP_FOR_69(s, p, o, m) BOOST_PP_FOR_69_I(s, p, o, m)\r
+# define BOOST_PP_FOR_70(s, p, o, m) BOOST_PP_FOR_70_I(s, p, o, m)\r
+# define BOOST_PP_FOR_71(s, p, o, m) BOOST_PP_FOR_71_I(s, p, o, m)\r
+# define BOOST_PP_FOR_72(s, p, o, m) BOOST_PP_FOR_72_I(s, p, o, m)\r
+# define BOOST_PP_FOR_73(s, p, o, m) BOOST_PP_FOR_73_I(s, p, o, m)\r
+# define BOOST_PP_FOR_74(s, p, o, m) BOOST_PP_FOR_74_I(s, p, o, m)\r
+# define BOOST_PP_FOR_75(s, p, o, m) BOOST_PP_FOR_75_I(s, p, o, m)\r
+# define BOOST_PP_FOR_76(s, p, o, m) BOOST_PP_FOR_76_I(s, p, o, m)\r
+# define BOOST_PP_FOR_77(s, p, o, m) BOOST_PP_FOR_77_I(s, p, o, m)\r
+# define BOOST_PP_FOR_78(s, p, o, m) BOOST_PP_FOR_78_I(s, p, o, m)\r
+# define BOOST_PP_FOR_79(s, p, o, m) BOOST_PP_FOR_79_I(s, p, o, m)\r
+# define BOOST_PP_FOR_80(s, p, o, m) BOOST_PP_FOR_80_I(s, p, o, m)\r
+# define BOOST_PP_FOR_81(s, p, o, m) BOOST_PP_FOR_81_I(s, p, o, m)\r
+# define BOOST_PP_FOR_82(s, p, o, m) BOOST_PP_FOR_82_I(s, p, o, m)\r
+# define BOOST_PP_FOR_83(s, p, o, m) BOOST_PP_FOR_83_I(s, p, o, m)\r
+# define BOOST_PP_FOR_84(s, p, o, m) BOOST_PP_FOR_84_I(s, p, o, m)\r
+# define BOOST_PP_FOR_85(s, p, o, m) BOOST_PP_FOR_85_I(s, p, o, m)\r
+# define BOOST_PP_FOR_86(s, p, o, m) BOOST_PP_FOR_86_I(s, p, o, m)\r
+# define BOOST_PP_FOR_87(s, p, o, m) BOOST_PP_FOR_87_I(s, p, o, m)\r
+# define BOOST_PP_FOR_88(s, p, o, m) BOOST_PP_FOR_88_I(s, p, o, m)\r
+# define BOOST_PP_FOR_89(s, p, o, m) BOOST_PP_FOR_89_I(s, p, o, m)\r
+# define BOOST_PP_FOR_90(s, p, o, m) BOOST_PP_FOR_90_I(s, p, o, m)\r
+# define BOOST_PP_FOR_91(s, p, o, m) BOOST_PP_FOR_91_I(s, p, o, m)\r
+# define BOOST_PP_FOR_92(s, p, o, m) BOOST_PP_FOR_92_I(s, p, o, m)\r
+# define BOOST_PP_FOR_93(s, p, o, m) BOOST_PP_FOR_93_I(s, p, o, m)\r
+# define BOOST_PP_FOR_94(s, p, o, m) BOOST_PP_FOR_94_I(s, p, o, m)\r
+# define BOOST_PP_FOR_95(s, p, o, m) BOOST_PP_FOR_95_I(s, p, o, m)\r
+# define BOOST_PP_FOR_96(s, p, o, m) BOOST_PP_FOR_96_I(s, p, o, m)\r
+# define BOOST_PP_FOR_97(s, p, o, m) BOOST_PP_FOR_97_I(s, p, o, m)\r
+# define BOOST_PP_FOR_98(s, p, o, m) BOOST_PP_FOR_98_I(s, p, o, m)\r
+# define BOOST_PP_FOR_99(s, p, o, m) BOOST_PP_FOR_99_I(s, p, o, m)\r
+# define BOOST_PP_FOR_100(s, p, o, m) BOOST_PP_FOR_100_I(s, p, o, m)\r
+# define BOOST_PP_FOR_101(s, p, o, m) BOOST_PP_FOR_101_I(s, p, o, m)\r
+# define BOOST_PP_FOR_102(s, p, o, m) BOOST_PP_FOR_102_I(s, p, o, m)\r
+# define BOOST_PP_FOR_103(s, p, o, m) BOOST_PP_FOR_103_I(s, p, o, m)\r
+# define BOOST_PP_FOR_104(s, p, o, m) BOOST_PP_FOR_104_I(s, p, o, m)\r
+# define BOOST_PP_FOR_105(s, p, o, m) BOOST_PP_FOR_105_I(s, p, o, m)\r
+# define BOOST_PP_FOR_106(s, p, o, m) BOOST_PP_FOR_106_I(s, p, o, m)\r
+# define BOOST_PP_FOR_107(s, p, o, m) BOOST_PP_FOR_107_I(s, p, o, m)\r
+# define BOOST_PP_FOR_108(s, p, o, m) BOOST_PP_FOR_108_I(s, p, o, m)\r
+# define BOOST_PP_FOR_109(s, p, o, m) BOOST_PP_FOR_109_I(s, p, o, m)\r
+# define BOOST_PP_FOR_110(s, p, o, m) BOOST_PP_FOR_110_I(s, p, o, m)\r
+# define BOOST_PP_FOR_111(s, p, o, m) BOOST_PP_FOR_111_I(s, p, o, m)\r
+# define BOOST_PP_FOR_112(s, p, o, m) BOOST_PP_FOR_112_I(s, p, o, m)\r
+# define BOOST_PP_FOR_113(s, p, o, m) BOOST_PP_FOR_113_I(s, p, o, m)\r
+# define BOOST_PP_FOR_114(s, p, o, m) BOOST_PP_FOR_114_I(s, p, o, m)\r
+# define BOOST_PP_FOR_115(s, p, o, m) BOOST_PP_FOR_115_I(s, p, o, m)\r
+# define BOOST_PP_FOR_116(s, p, o, m) BOOST_PP_FOR_116_I(s, p, o, m)\r
+# define BOOST_PP_FOR_117(s, p, o, m) BOOST_PP_FOR_117_I(s, p, o, m)\r
+# define BOOST_PP_FOR_118(s, p, o, m) BOOST_PP_FOR_118_I(s, p, o, m)\r
+# define BOOST_PP_FOR_119(s, p, o, m) BOOST_PP_FOR_119_I(s, p, o, m)\r
+# define BOOST_PP_FOR_120(s, p, o, m) BOOST_PP_FOR_120_I(s, p, o, m)\r
+# define BOOST_PP_FOR_121(s, p, o, m) BOOST_PP_FOR_121_I(s, p, o, m)\r
+# define BOOST_PP_FOR_122(s, p, o, m) BOOST_PP_FOR_122_I(s, p, o, m)\r
+# define BOOST_PP_FOR_123(s, p, o, m) BOOST_PP_FOR_123_I(s, p, o, m)\r
+# define BOOST_PP_FOR_124(s, p, o, m) BOOST_PP_FOR_124_I(s, p, o, m)\r
+# define BOOST_PP_FOR_125(s, p, o, m) BOOST_PP_FOR_125_I(s, p, o, m)\r
+# define BOOST_PP_FOR_126(s, p, o, m) BOOST_PP_FOR_126_I(s, p, o, m)\r
+# define BOOST_PP_FOR_127(s, p, o, m) BOOST_PP_FOR_127_I(s, p, o, m)\r
+# define BOOST_PP_FOR_128(s, p, o, m) BOOST_PP_FOR_128_I(s, p, o, m)\r
+# define BOOST_PP_FOR_129(s, p, o, m) BOOST_PP_FOR_129_I(s, p, o, m)\r
+# define BOOST_PP_FOR_130(s, p, o, m) BOOST_PP_FOR_130_I(s, p, o, m)\r
+# define BOOST_PP_FOR_131(s, p, o, m) BOOST_PP_FOR_131_I(s, p, o, m)\r
+# define BOOST_PP_FOR_132(s, p, o, m) BOOST_PP_FOR_132_I(s, p, o, m)\r
+# define BOOST_PP_FOR_133(s, p, o, m) BOOST_PP_FOR_133_I(s, p, o, m)\r
+# define BOOST_PP_FOR_134(s, p, o, m) BOOST_PP_FOR_134_I(s, p, o, m)\r
+# define BOOST_PP_FOR_135(s, p, o, m) BOOST_PP_FOR_135_I(s, p, o, m)\r
+# define BOOST_PP_FOR_136(s, p, o, m) BOOST_PP_FOR_136_I(s, p, o, m)\r
+# define BOOST_PP_FOR_137(s, p, o, m) BOOST_PP_FOR_137_I(s, p, o, m)\r
+# define BOOST_PP_FOR_138(s, p, o, m) BOOST_PP_FOR_138_I(s, p, o, m)\r
+# define BOOST_PP_FOR_139(s, p, o, m) BOOST_PP_FOR_139_I(s, p, o, m)\r
+# define BOOST_PP_FOR_140(s, p, o, m) BOOST_PP_FOR_140_I(s, p, o, m)\r
+# define BOOST_PP_FOR_141(s, p, o, m) BOOST_PP_FOR_141_I(s, p, o, m)\r
+# define BOOST_PP_FOR_142(s, p, o, m) BOOST_PP_FOR_142_I(s, p, o, m)\r
+# define BOOST_PP_FOR_143(s, p, o, m) BOOST_PP_FOR_143_I(s, p, o, m)\r
+# define BOOST_PP_FOR_144(s, p, o, m) BOOST_PP_FOR_144_I(s, p, o, m)\r
+# define BOOST_PP_FOR_145(s, p, o, m) BOOST_PP_FOR_145_I(s, p, o, m)\r
+# define BOOST_PP_FOR_146(s, p, o, m) BOOST_PP_FOR_146_I(s, p, o, m)\r
+# define BOOST_PP_FOR_147(s, p, o, m) BOOST_PP_FOR_147_I(s, p, o, m)\r
+# define BOOST_PP_FOR_148(s, p, o, m) BOOST_PP_FOR_148_I(s, p, o, m)\r
+# define BOOST_PP_FOR_149(s, p, o, m) BOOST_PP_FOR_149_I(s, p, o, m)\r
+# define BOOST_PP_FOR_150(s, p, o, m) BOOST_PP_FOR_150_I(s, p, o, m)\r
+# define BOOST_PP_FOR_151(s, p, o, m) BOOST_PP_FOR_151_I(s, p, o, m)\r
+# define BOOST_PP_FOR_152(s, p, o, m) BOOST_PP_FOR_152_I(s, p, o, m)\r
+# define BOOST_PP_FOR_153(s, p, o, m) BOOST_PP_FOR_153_I(s, p, o, m)\r
+# define BOOST_PP_FOR_154(s, p, o, m) BOOST_PP_FOR_154_I(s, p, o, m)\r
+# define BOOST_PP_FOR_155(s, p, o, m) BOOST_PP_FOR_155_I(s, p, o, m)\r
+# define BOOST_PP_FOR_156(s, p, o, m) BOOST_PP_FOR_156_I(s, p, o, m)\r
+# define BOOST_PP_FOR_157(s, p, o, m) BOOST_PP_FOR_157_I(s, p, o, m)\r
+# define BOOST_PP_FOR_158(s, p, o, m) BOOST_PP_FOR_158_I(s, p, o, m)\r
+# define BOOST_PP_FOR_159(s, p, o, m) BOOST_PP_FOR_159_I(s, p, o, m)\r
+# define BOOST_PP_FOR_160(s, p, o, m) BOOST_PP_FOR_160_I(s, p, o, m)\r
+# define BOOST_PP_FOR_161(s, p, o, m) BOOST_PP_FOR_161_I(s, p, o, m)\r
+# define BOOST_PP_FOR_162(s, p, o, m) BOOST_PP_FOR_162_I(s, p, o, m)\r
+# define BOOST_PP_FOR_163(s, p, o, m) BOOST_PP_FOR_163_I(s, p, o, m)\r
+# define BOOST_PP_FOR_164(s, p, o, m) BOOST_PP_FOR_164_I(s, p, o, m)\r
+# define BOOST_PP_FOR_165(s, p, o, m) BOOST_PP_FOR_165_I(s, p, o, m)\r
+# define BOOST_PP_FOR_166(s, p, o, m) BOOST_PP_FOR_166_I(s, p, o, m)\r
+# define BOOST_PP_FOR_167(s, p, o, m) BOOST_PP_FOR_167_I(s, p, o, m)\r
+# define BOOST_PP_FOR_168(s, p, o, m) BOOST_PP_FOR_168_I(s, p, o, m)\r
+# define BOOST_PP_FOR_169(s, p, o, m) BOOST_PP_FOR_169_I(s, p, o, m)\r
+# define BOOST_PP_FOR_170(s, p, o, m) BOOST_PP_FOR_170_I(s, p, o, m)\r
+# define BOOST_PP_FOR_171(s, p, o, m) BOOST_PP_FOR_171_I(s, p, o, m)\r
+# define BOOST_PP_FOR_172(s, p, o, m) BOOST_PP_FOR_172_I(s, p, o, m)\r
+# define BOOST_PP_FOR_173(s, p, o, m) BOOST_PP_FOR_173_I(s, p, o, m)\r
+# define BOOST_PP_FOR_174(s, p, o, m) BOOST_PP_FOR_174_I(s, p, o, m)\r
+# define BOOST_PP_FOR_175(s, p, o, m) BOOST_PP_FOR_175_I(s, p, o, m)\r
+# define BOOST_PP_FOR_176(s, p, o, m) BOOST_PP_FOR_176_I(s, p, o, m)\r
+# define BOOST_PP_FOR_177(s, p, o, m) BOOST_PP_FOR_177_I(s, p, o, m)\r
+# define BOOST_PP_FOR_178(s, p, o, m) BOOST_PP_FOR_178_I(s, p, o, m)\r
+# define BOOST_PP_FOR_179(s, p, o, m) BOOST_PP_FOR_179_I(s, p, o, m)\r
+# define BOOST_PP_FOR_180(s, p, o, m) BOOST_PP_FOR_180_I(s, p, o, m)\r
+# define BOOST_PP_FOR_181(s, p, o, m) BOOST_PP_FOR_181_I(s, p, o, m)\r
+# define BOOST_PP_FOR_182(s, p, o, m) BOOST_PP_FOR_182_I(s, p, o, m)\r
+# define BOOST_PP_FOR_183(s, p, o, m) BOOST_PP_FOR_183_I(s, p, o, m)\r
+# define BOOST_PP_FOR_184(s, p, o, m) BOOST_PP_FOR_184_I(s, p, o, m)\r
+# define BOOST_PP_FOR_185(s, p, o, m) BOOST_PP_FOR_185_I(s, p, o, m)\r
+# define BOOST_PP_FOR_186(s, p, o, m) BOOST_PP_FOR_186_I(s, p, o, m)\r
+# define BOOST_PP_FOR_187(s, p, o, m) BOOST_PP_FOR_187_I(s, p, o, m)\r
+# define BOOST_PP_FOR_188(s, p, o, m) BOOST_PP_FOR_188_I(s, p, o, m)\r
+# define BOOST_PP_FOR_189(s, p, o, m) BOOST_PP_FOR_189_I(s, p, o, m)\r
+# define BOOST_PP_FOR_190(s, p, o, m) BOOST_PP_FOR_190_I(s, p, o, m)\r
+# define BOOST_PP_FOR_191(s, p, o, m) BOOST_PP_FOR_191_I(s, p, o, m)\r
+# define BOOST_PP_FOR_192(s, p, o, m) BOOST_PP_FOR_192_I(s, p, o, m)\r
+# define BOOST_PP_FOR_193(s, p, o, m) BOOST_PP_FOR_193_I(s, p, o, m)\r
+# define BOOST_PP_FOR_194(s, p, o, m) BOOST_PP_FOR_194_I(s, p, o, m)\r
+# define BOOST_PP_FOR_195(s, p, o, m) BOOST_PP_FOR_195_I(s, p, o, m)\r
+# define BOOST_PP_FOR_196(s, p, o, m) BOOST_PP_FOR_196_I(s, p, o, m)\r
+# define BOOST_PP_FOR_197(s, p, o, m) BOOST_PP_FOR_197_I(s, p, o, m)\r
+# define BOOST_PP_FOR_198(s, p, o, m) BOOST_PP_FOR_198_I(s, p, o, m)\r
+# define BOOST_PP_FOR_199(s, p, o, m) BOOST_PP_FOR_199_I(s, p, o, m)\r
+# define BOOST_PP_FOR_200(s, p, o, m) BOOST_PP_FOR_200_I(s, p, o, m)\r
+# define BOOST_PP_FOR_201(s, p, o, m) BOOST_PP_FOR_201_I(s, p, o, m)\r
+# define BOOST_PP_FOR_202(s, p, o, m) BOOST_PP_FOR_202_I(s, p, o, m)\r
+# define BOOST_PP_FOR_203(s, p, o, m) BOOST_PP_FOR_203_I(s, p, o, m)\r
+# define BOOST_PP_FOR_204(s, p, o, m) BOOST_PP_FOR_204_I(s, p, o, m)\r
+# define BOOST_PP_FOR_205(s, p, o, m) BOOST_PP_FOR_205_I(s, p, o, m)\r
+# define BOOST_PP_FOR_206(s, p, o, m) BOOST_PP_FOR_206_I(s, p, o, m)\r
+# define BOOST_PP_FOR_207(s, p, o, m) BOOST_PP_FOR_207_I(s, p, o, m)\r
+# define BOOST_PP_FOR_208(s, p, o, m) BOOST_PP_FOR_208_I(s, p, o, m)\r
+# define BOOST_PP_FOR_209(s, p, o, m) BOOST_PP_FOR_209_I(s, p, o, m)\r
+# define BOOST_PP_FOR_210(s, p, o, m) BOOST_PP_FOR_210_I(s, p, o, m)\r
+# define BOOST_PP_FOR_211(s, p, o, m) BOOST_PP_FOR_211_I(s, p, o, m)\r
+# define BOOST_PP_FOR_212(s, p, o, m) BOOST_PP_FOR_212_I(s, p, o, m)\r
+# define BOOST_PP_FOR_213(s, p, o, m) BOOST_PP_FOR_213_I(s, p, o, m)\r
+# define BOOST_PP_FOR_214(s, p, o, m) BOOST_PP_FOR_214_I(s, p, o, m)\r
+# define BOOST_PP_FOR_215(s, p, o, m) BOOST_PP_FOR_215_I(s, p, o, m)\r
+# define BOOST_PP_FOR_216(s, p, o, m) BOOST_PP_FOR_216_I(s, p, o, m)\r
+# define BOOST_PP_FOR_217(s, p, o, m) BOOST_PP_FOR_217_I(s, p, o, m)\r
+# define BOOST_PP_FOR_218(s, p, o, m) BOOST_PP_FOR_218_I(s, p, o, m)\r
+# define BOOST_PP_FOR_219(s, p, o, m) BOOST_PP_FOR_219_I(s, p, o, m)\r
+# define BOOST_PP_FOR_220(s, p, o, m) BOOST_PP_FOR_220_I(s, p, o, m)\r
+# define BOOST_PP_FOR_221(s, p, o, m) BOOST_PP_FOR_221_I(s, p, o, m)\r
+# define BOOST_PP_FOR_222(s, p, o, m) BOOST_PP_FOR_222_I(s, p, o, m)\r
+# define BOOST_PP_FOR_223(s, p, o, m) BOOST_PP_FOR_223_I(s, p, o, m)\r
+# define BOOST_PP_FOR_224(s, p, o, m) BOOST_PP_FOR_224_I(s, p, o, m)\r
+# define BOOST_PP_FOR_225(s, p, o, m) BOOST_PP_FOR_225_I(s, p, o, m)\r
+# define BOOST_PP_FOR_226(s, p, o, m) BOOST_PP_FOR_226_I(s, p, o, m)\r
+# define BOOST_PP_FOR_227(s, p, o, m) BOOST_PP_FOR_227_I(s, p, o, m)\r
+# define BOOST_PP_FOR_228(s, p, o, m) BOOST_PP_FOR_228_I(s, p, o, m)\r
+# define BOOST_PP_FOR_229(s, p, o, m) BOOST_PP_FOR_229_I(s, p, o, m)\r
+# define BOOST_PP_FOR_230(s, p, o, m) BOOST_PP_FOR_230_I(s, p, o, m)\r
+# define BOOST_PP_FOR_231(s, p, o, m) BOOST_PP_FOR_231_I(s, p, o, m)\r
+# define BOOST_PP_FOR_232(s, p, o, m) BOOST_PP_FOR_232_I(s, p, o, m)\r
+# define BOOST_PP_FOR_233(s, p, o, m) BOOST_PP_FOR_233_I(s, p, o, m)\r
+# define BOOST_PP_FOR_234(s, p, o, m) BOOST_PP_FOR_234_I(s, p, o, m)\r
+# define BOOST_PP_FOR_235(s, p, o, m) BOOST_PP_FOR_235_I(s, p, o, m)\r
+# define BOOST_PP_FOR_236(s, p, o, m) BOOST_PP_FOR_236_I(s, p, o, m)\r
+# define BOOST_PP_FOR_237(s, p, o, m) BOOST_PP_FOR_237_I(s, p, o, m)\r
+# define BOOST_PP_FOR_238(s, p, o, m) BOOST_PP_FOR_238_I(s, p, o, m)\r
+# define BOOST_PP_FOR_239(s, p, o, m) BOOST_PP_FOR_239_I(s, p, o, m)\r
+# define BOOST_PP_FOR_240(s, p, o, m) BOOST_PP_FOR_240_I(s, p, o, m)\r
+# define BOOST_PP_FOR_241(s, p, o, m) BOOST_PP_FOR_241_I(s, p, o, m)\r
+# define BOOST_PP_FOR_242(s, p, o, m) BOOST_PP_FOR_242_I(s, p, o, m)\r
+# define BOOST_PP_FOR_243(s, p, o, m) BOOST_PP_FOR_243_I(s, p, o, m)\r
+# define BOOST_PP_FOR_244(s, p, o, m) BOOST_PP_FOR_244_I(s, p, o, m)\r
+# define BOOST_PP_FOR_245(s, p, o, m) BOOST_PP_FOR_245_I(s, p, o, m)\r
+# define BOOST_PP_FOR_246(s, p, o, m) BOOST_PP_FOR_246_I(s, p, o, m)\r
+# define BOOST_PP_FOR_247(s, p, o, m) BOOST_PP_FOR_247_I(s, p, o, m)\r
+# define BOOST_PP_FOR_248(s, p, o, m) BOOST_PP_FOR_248_I(s, p, o, m)\r
+# define BOOST_PP_FOR_249(s, p, o, m) BOOST_PP_FOR_249_I(s, p, o, m)\r
+# define BOOST_PP_FOR_250(s, p, o, m) BOOST_PP_FOR_250_I(s, p, o, m)\r
+# define BOOST_PP_FOR_251(s, p, o, m) BOOST_PP_FOR_251_I(s, p, o, m)\r
+# define BOOST_PP_FOR_252(s, p, o, m) BOOST_PP_FOR_252_I(s, p, o, m)\r
+# define BOOST_PP_FOR_253(s, p, o, m) BOOST_PP_FOR_253_I(s, p, o, m)\r
+# define BOOST_PP_FOR_254(s, p, o, m) BOOST_PP_FOR_254_I(s, p, o, m)\r
+# define BOOST_PP_FOR_255(s, p, o, m) BOOST_PP_FOR_255_I(s, p, o, m)\r
+# define BOOST_PP_FOR_256(s, p, o, m) BOOST_PP_FOR_256_I(s, p, o, m)\r
+#\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+#\r
+# endif\r
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 (file)
index 0000000..0fd0d58
--- /dev/null
@@ -0,0 +1,536 @@
+# /* Copyright (C) 2001\r
+#  * Housemarque Oy\r
+#  * http://www.housemarque.com\r
+#  *\r
+#  * Distributed under the Boost Software License, Version 1.0. (See\r
+#  * accompanying file LICENSE_1_0.txt or copy at\r
+#  * http://www.boost.org/LICENSE_1_0.txt)\r
+#  */\r
+#\r
+# /* Revised by Paul Mensonides (2002) */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_REPETITION_DETAIL_FOR_HPP\r
+# define BOOST_PREPROCESSOR_REPETITION_DETAIL_FOR_HPP\r
+#\r
+# include <boost/preprocessor/control/expr_iif.hpp>\r
+# include <boost/preprocessor/control/iif.hpp>\r
+# include <boost/preprocessor/logical/bool.hpp>\r
+# include <boost/preprocessor/tuple/eat.hpp>\r
+#\r
+# define BOOST_PP_FOR_1(s, p, o, m) BOOST_PP_FOR_1_C(BOOST_PP_BOOL(p(2, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_2(s, p, o, m) BOOST_PP_FOR_2_C(BOOST_PP_BOOL(p(3, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_3(s, p, o, m) BOOST_PP_FOR_3_C(BOOST_PP_BOOL(p(4, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_4(s, p, o, m) BOOST_PP_FOR_4_C(BOOST_PP_BOOL(p(5, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_5(s, p, o, m) BOOST_PP_FOR_5_C(BOOST_PP_BOOL(p(6, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_6(s, p, o, m) BOOST_PP_FOR_6_C(BOOST_PP_BOOL(p(7, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_7(s, p, o, m) BOOST_PP_FOR_7_C(BOOST_PP_BOOL(p(8, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_8(s, p, o, m) BOOST_PP_FOR_8_C(BOOST_PP_BOOL(p(9, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_9(s, p, o, m) BOOST_PP_FOR_9_C(BOOST_PP_BOOL(p(10, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_10(s, p, o, m) BOOST_PP_FOR_10_C(BOOST_PP_BOOL(p(11, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_11(s, p, o, m) BOOST_PP_FOR_11_C(BOOST_PP_BOOL(p(12, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_12(s, p, o, m) BOOST_PP_FOR_12_C(BOOST_PP_BOOL(p(13, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_13(s, p, o, m) BOOST_PP_FOR_13_C(BOOST_PP_BOOL(p(14, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_14(s, p, o, m) BOOST_PP_FOR_14_C(BOOST_PP_BOOL(p(15, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_15(s, p, o, m) BOOST_PP_FOR_15_C(BOOST_PP_BOOL(p(16, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_16(s, p, o, m) BOOST_PP_FOR_16_C(BOOST_PP_BOOL(p(17, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_17(s, p, o, m) BOOST_PP_FOR_17_C(BOOST_PP_BOOL(p(18, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_18(s, p, o, m) BOOST_PP_FOR_18_C(BOOST_PP_BOOL(p(19, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_19(s, p, o, m) BOOST_PP_FOR_19_C(BOOST_PP_BOOL(p(20, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_20(s, p, o, m) BOOST_PP_FOR_20_C(BOOST_PP_BOOL(p(21, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_21(s, p, o, m) BOOST_PP_FOR_21_C(BOOST_PP_BOOL(p(22, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_22(s, p, o, m) BOOST_PP_FOR_22_C(BOOST_PP_BOOL(p(23, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_23(s, p, o, m) BOOST_PP_FOR_23_C(BOOST_PP_BOOL(p(24, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_24(s, p, o, m) BOOST_PP_FOR_24_C(BOOST_PP_BOOL(p(25, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_25(s, p, o, m) BOOST_PP_FOR_25_C(BOOST_PP_BOOL(p(26, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_26(s, p, o, m) BOOST_PP_FOR_26_C(BOOST_PP_BOOL(p(27, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_27(s, p, o, m) BOOST_PP_FOR_27_C(BOOST_PP_BOOL(p(28, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_28(s, p, o, m) BOOST_PP_FOR_28_C(BOOST_PP_BOOL(p(29, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_29(s, p, o, m) BOOST_PP_FOR_29_C(BOOST_PP_BOOL(p(30, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_30(s, p, o, m) BOOST_PP_FOR_30_C(BOOST_PP_BOOL(p(31, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_31(s, p, o, m) BOOST_PP_FOR_31_C(BOOST_PP_BOOL(p(32, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_32(s, p, o, m) BOOST_PP_FOR_32_C(BOOST_PP_BOOL(p(33, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_33(s, p, o, m) BOOST_PP_FOR_33_C(BOOST_PP_BOOL(p(34, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_34(s, p, o, m) BOOST_PP_FOR_34_C(BOOST_PP_BOOL(p(35, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_35(s, p, o, m) BOOST_PP_FOR_35_C(BOOST_PP_BOOL(p(36, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_36(s, p, o, m) BOOST_PP_FOR_36_C(BOOST_PP_BOOL(p(37, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_37(s, p, o, m) BOOST_PP_FOR_37_C(BOOST_PP_BOOL(p(38, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_38(s, p, o, m) BOOST_PP_FOR_38_C(BOOST_PP_BOOL(p(39, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_39(s, p, o, m) BOOST_PP_FOR_39_C(BOOST_PP_BOOL(p(40, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_40(s, p, o, m) BOOST_PP_FOR_40_C(BOOST_PP_BOOL(p(41, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_41(s, p, o, m) BOOST_PP_FOR_41_C(BOOST_PP_BOOL(p(42, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_42(s, p, o, m) BOOST_PP_FOR_42_C(BOOST_PP_BOOL(p(43, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_43(s, p, o, m) BOOST_PP_FOR_43_C(BOOST_PP_BOOL(p(44, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_44(s, p, o, m) BOOST_PP_FOR_44_C(BOOST_PP_BOOL(p(45, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_45(s, p, o, m) BOOST_PP_FOR_45_C(BOOST_PP_BOOL(p(46, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_46(s, p, o, m) BOOST_PP_FOR_46_C(BOOST_PP_BOOL(p(47, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_47(s, p, o, m) BOOST_PP_FOR_47_C(BOOST_PP_BOOL(p(48, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_48(s, p, o, m) BOOST_PP_FOR_48_C(BOOST_PP_BOOL(p(49, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_49(s, p, o, m) BOOST_PP_FOR_49_C(BOOST_PP_BOOL(p(50, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_50(s, p, o, m) BOOST_PP_FOR_50_C(BOOST_PP_BOOL(p(51, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_51(s, p, o, m) BOOST_PP_FOR_51_C(BOOST_PP_BOOL(p(52, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_52(s, p, o, m) BOOST_PP_FOR_52_C(BOOST_PP_BOOL(p(53, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_53(s, p, o, m) BOOST_PP_FOR_53_C(BOOST_PP_BOOL(p(54, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_54(s, p, o, m) BOOST_PP_FOR_54_C(BOOST_PP_BOOL(p(55, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_55(s, p, o, m) BOOST_PP_FOR_55_C(BOOST_PP_BOOL(p(56, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_56(s, p, o, m) BOOST_PP_FOR_56_C(BOOST_PP_BOOL(p(57, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_57(s, p, o, m) BOOST_PP_FOR_57_C(BOOST_PP_BOOL(p(58, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_58(s, p, o, m) BOOST_PP_FOR_58_C(BOOST_PP_BOOL(p(59, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_59(s, p, o, m) BOOST_PP_FOR_59_C(BOOST_PP_BOOL(p(60, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_60(s, p, o, m) BOOST_PP_FOR_60_C(BOOST_PP_BOOL(p(61, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_61(s, p, o, m) BOOST_PP_FOR_61_C(BOOST_PP_BOOL(p(62, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_62(s, p, o, m) BOOST_PP_FOR_62_C(BOOST_PP_BOOL(p(63, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_63(s, p, o, m) BOOST_PP_FOR_63_C(BOOST_PP_BOOL(p(64, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_64(s, p, o, m) BOOST_PP_FOR_64_C(BOOST_PP_BOOL(p(65, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_65(s, p, o, m) BOOST_PP_FOR_65_C(BOOST_PP_BOOL(p(66, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_66(s, p, o, m) BOOST_PP_FOR_66_C(BOOST_PP_BOOL(p(67, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_67(s, p, o, m) BOOST_PP_FOR_67_C(BOOST_PP_BOOL(p(68, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_68(s, p, o, m) BOOST_PP_FOR_68_C(BOOST_PP_BOOL(p(69, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_69(s, p, o, m) BOOST_PP_FOR_69_C(BOOST_PP_BOOL(p(70, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_70(s, p, o, m) BOOST_PP_FOR_70_C(BOOST_PP_BOOL(p(71, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_71(s, p, o, m) BOOST_PP_FOR_71_C(BOOST_PP_BOOL(p(72, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_72(s, p, o, m) BOOST_PP_FOR_72_C(BOOST_PP_BOOL(p(73, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_73(s, p, o, m) BOOST_PP_FOR_73_C(BOOST_PP_BOOL(p(74, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_74(s, p, o, m) BOOST_PP_FOR_74_C(BOOST_PP_BOOL(p(75, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_75(s, p, o, m) BOOST_PP_FOR_75_C(BOOST_PP_BOOL(p(76, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_76(s, p, o, m) BOOST_PP_FOR_76_C(BOOST_PP_BOOL(p(77, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_77(s, p, o, m) BOOST_PP_FOR_77_C(BOOST_PP_BOOL(p(78, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_78(s, p, o, m) BOOST_PP_FOR_78_C(BOOST_PP_BOOL(p(79, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_79(s, p, o, m) BOOST_PP_FOR_79_C(BOOST_PP_BOOL(p(80, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_80(s, p, o, m) BOOST_PP_FOR_80_C(BOOST_PP_BOOL(p(81, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_81(s, p, o, m) BOOST_PP_FOR_81_C(BOOST_PP_BOOL(p(82, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_82(s, p, o, m) BOOST_PP_FOR_82_C(BOOST_PP_BOOL(p(83, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_83(s, p, o, m) BOOST_PP_FOR_83_C(BOOST_PP_BOOL(p(84, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_84(s, p, o, m) BOOST_PP_FOR_84_C(BOOST_PP_BOOL(p(85, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_85(s, p, o, m) BOOST_PP_FOR_85_C(BOOST_PP_BOOL(p(86, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_86(s, p, o, m) BOOST_PP_FOR_86_C(BOOST_PP_BOOL(p(87, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_87(s, p, o, m) BOOST_PP_FOR_87_C(BOOST_PP_BOOL(p(88, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_88(s, p, o, m) BOOST_PP_FOR_88_C(BOOST_PP_BOOL(p(89, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_89(s, p, o, m) BOOST_PP_FOR_89_C(BOOST_PP_BOOL(p(90, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_90(s, p, o, m) BOOST_PP_FOR_90_C(BOOST_PP_BOOL(p(91, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_91(s, p, o, m) BOOST_PP_FOR_91_C(BOOST_PP_BOOL(p(92, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_92(s, p, o, m) BOOST_PP_FOR_92_C(BOOST_PP_BOOL(p(93, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_93(s, p, o, m) BOOST_PP_FOR_93_C(BOOST_PP_BOOL(p(94, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_94(s, p, o, m) BOOST_PP_FOR_94_C(BOOST_PP_BOOL(p(95, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_95(s, p, o, m) BOOST_PP_FOR_95_C(BOOST_PP_BOOL(p(96, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_96(s, p, o, m) BOOST_PP_FOR_96_C(BOOST_PP_BOOL(p(97, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_97(s, p, o, m) BOOST_PP_FOR_97_C(BOOST_PP_BOOL(p(98, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_98(s, p, o, m) BOOST_PP_FOR_98_C(BOOST_PP_BOOL(p(99, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_99(s, p, o, m) BOOST_PP_FOR_99_C(BOOST_PP_BOOL(p(100, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_100(s, p, o, m) BOOST_PP_FOR_100_C(BOOST_PP_BOOL(p(101, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_101(s, p, o, m) BOOST_PP_FOR_101_C(BOOST_PP_BOOL(p(102, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_102(s, p, o, m) BOOST_PP_FOR_102_C(BOOST_PP_BOOL(p(103, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_103(s, p, o, m) BOOST_PP_FOR_103_C(BOOST_PP_BOOL(p(104, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_104(s, p, o, m) BOOST_PP_FOR_104_C(BOOST_PP_BOOL(p(105, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_105(s, p, o, m) BOOST_PP_FOR_105_C(BOOST_PP_BOOL(p(106, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_106(s, p, o, m) BOOST_PP_FOR_106_C(BOOST_PP_BOOL(p(107, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_107(s, p, o, m) BOOST_PP_FOR_107_C(BOOST_PP_BOOL(p(108, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_108(s, p, o, m) BOOST_PP_FOR_108_C(BOOST_PP_BOOL(p(109, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_109(s, p, o, m) BOOST_PP_FOR_109_C(BOOST_PP_BOOL(p(110, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_110(s, p, o, m) BOOST_PP_FOR_110_C(BOOST_PP_BOOL(p(111, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_111(s, p, o, m) BOOST_PP_FOR_111_C(BOOST_PP_BOOL(p(112, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_112(s, p, o, m) BOOST_PP_FOR_112_C(BOOST_PP_BOOL(p(113, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_113(s, p, o, m) BOOST_PP_FOR_113_C(BOOST_PP_BOOL(p(114, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_114(s, p, o, m) BOOST_PP_FOR_114_C(BOOST_PP_BOOL(p(115, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_115(s, p, o, m) BOOST_PP_FOR_115_C(BOOST_PP_BOOL(p(116, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_116(s, p, o, m) BOOST_PP_FOR_116_C(BOOST_PP_BOOL(p(117, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_117(s, p, o, m) BOOST_PP_FOR_117_C(BOOST_PP_BOOL(p(118, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_118(s, p, o, m) BOOST_PP_FOR_118_C(BOOST_PP_BOOL(p(119, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_119(s, p, o, m) BOOST_PP_FOR_119_C(BOOST_PP_BOOL(p(120, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_120(s, p, o, m) BOOST_PP_FOR_120_C(BOOST_PP_BOOL(p(121, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_121(s, p, o, m) BOOST_PP_FOR_121_C(BOOST_PP_BOOL(p(122, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_122(s, p, o, m) BOOST_PP_FOR_122_C(BOOST_PP_BOOL(p(123, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_123(s, p, o, m) BOOST_PP_FOR_123_C(BOOST_PP_BOOL(p(124, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_124(s, p, o, m) BOOST_PP_FOR_124_C(BOOST_PP_BOOL(p(125, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_125(s, p, o, m) BOOST_PP_FOR_125_C(BOOST_PP_BOOL(p(126, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_126(s, p, o, m) BOOST_PP_FOR_126_C(BOOST_PP_BOOL(p(127, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_127(s, p, o, m) BOOST_PP_FOR_127_C(BOOST_PP_BOOL(p(128, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_128(s, p, o, m) BOOST_PP_FOR_128_C(BOOST_PP_BOOL(p(129, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_129(s, p, o, m) BOOST_PP_FOR_129_C(BOOST_PP_BOOL(p(130, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_130(s, p, o, m) BOOST_PP_FOR_130_C(BOOST_PP_BOOL(p(131, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_131(s, p, o, m) BOOST_PP_FOR_131_C(BOOST_PP_BOOL(p(132, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_132(s, p, o, m) BOOST_PP_FOR_132_C(BOOST_PP_BOOL(p(133, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_133(s, p, o, m) BOOST_PP_FOR_133_C(BOOST_PP_BOOL(p(134, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_134(s, p, o, m) BOOST_PP_FOR_134_C(BOOST_PP_BOOL(p(135, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_135(s, p, o, m) BOOST_PP_FOR_135_C(BOOST_PP_BOOL(p(136, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_136(s, p, o, m) BOOST_PP_FOR_136_C(BOOST_PP_BOOL(p(137, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_137(s, p, o, m) BOOST_PP_FOR_137_C(BOOST_PP_BOOL(p(138, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_138(s, p, o, m) BOOST_PP_FOR_138_C(BOOST_PP_BOOL(p(139, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_139(s, p, o, m) BOOST_PP_FOR_139_C(BOOST_PP_BOOL(p(140, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_140(s, p, o, m) BOOST_PP_FOR_140_C(BOOST_PP_BOOL(p(141, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_141(s, p, o, m) BOOST_PP_FOR_141_C(BOOST_PP_BOOL(p(142, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_142(s, p, o, m) BOOST_PP_FOR_142_C(BOOST_PP_BOOL(p(143, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_143(s, p, o, m) BOOST_PP_FOR_143_C(BOOST_PP_BOOL(p(144, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_144(s, p, o, m) BOOST_PP_FOR_144_C(BOOST_PP_BOOL(p(145, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_145(s, p, o, m) BOOST_PP_FOR_145_C(BOOST_PP_BOOL(p(146, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_146(s, p, o, m) BOOST_PP_FOR_146_C(BOOST_PP_BOOL(p(147, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_147(s, p, o, m) BOOST_PP_FOR_147_C(BOOST_PP_BOOL(p(148, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_148(s, p, o, m) BOOST_PP_FOR_148_C(BOOST_PP_BOOL(p(149, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_149(s, p, o, m) BOOST_PP_FOR_149_C(BOOST_PP_BOOL(p(150, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_150(s, p, o, m) BOOST_PP_FOR_150_C(BOOST_PP_BOOL(p(151, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_151(s, p, o, m) BOOST_PP_FOR_151_C(BOOST_PP_BOOL(p(152, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_152(s, p, o, m) BOOST_PP_FOR_152_C(BOOST_PP_BOOL(p(153, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_153(s, p, o, m) BOOST_PP_FOR_153_C(BOOST_PP_BOOL(p(154, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_154(s, p, o, m) BOOST_PP_FOR_154_C(BOOST_PP_BOOL(p(155, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_155(s, p, o, m) BOOST_PP_FOR_155_C(BOOST_PP_BOOL(p(156, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_156(s, p, o, m) BOOST_PP_FOR_156_C(BOOST_PP_BOOL(p(157, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_157(s, p, o, m) BOOST_PP_FOR_157_C(BOOST_PP_BOOL(p(158, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_158(s, p, o, m) BOOST_PP_FOR_158_C(BOOST_PP_BOOL(p(159, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_159(s, p, o, m) BOOST_PP_FOR_159_C(BOOST_PP_BOOL(p(160, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_160(s, p, o, m) BOOST_PP_FOR_160_C(BOOST_PP_BOOL(p(161, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_161(s, p, o, m) BOOST_PP_FOR_161_C(BOOST_PP_BOOL(p(162, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_162(s, p, o, m) BOOST_PP_FOR_162_C(BOOST_PP_BOOL(p(163, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_163(s, p, o, m) BOOST_PP_FOR_163_C(BOOST_PP_BOOL(p(164, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_164(s, p, o, m) BOOST_PP_FOR_164_C(BOOST_PP_BOOL(p(165, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_165(s, p, o, m) BOOST_PP_FOR_165_C(BOOST_PP_BOOL(p(166, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_166(s, p, o, m) BOOST_PP_FOR_166_C(BOOST_PP_BOOL(p(167, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_167(s, p, o, m) BOOST_PP_FOR_167_C(BOOST_PP_BOOL(p(168, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_168(s, p, o, m) BOOST_PP_FOR_168_C(BOOST_PP_BOOL(p(169, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_169(s, p, o, m) BOOST_PP_FOR_169_C(BOOST_PP_BOOL(p(170, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_170(s, p, o, m) BOOST_PP_FOR_170_C(BOOST_PP_BOOL(p(171, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_171(s, p, o, m) BOOST_PP_FOR_171_C(BOOST_PP_BOOL(p(172, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_172(s, p, o, m) BOOST_PP_FOR_172_C(BOOST_PP_BOOL(p(173, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_173(s, p, o, m) BOOST_PP_FOR_173_C(BOOST_PP_BOOL(p(174, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_174(s, p, o, m) BOOST_PP_FOR_174_C(BOOST_PP_BOOL(p(175, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_175(s, p, o, m) BOOST_PP_FOR_175_C(BOOST_PP_BOOL(p(176, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_176(s, p, o, m) BOOST_PP_FOR_176_C(BOOST_PP_BOOL(p(177, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_177(s, p, o, m) BOOST_PP_FOR_177_C(BOOST_PP_BOOL(p(178, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_178(s, p, o, m) BOOST_PP_FOR_178_C(BOOST_PP_BOOL(p(179, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_179(s, p, o, m) BOOST_PP_FOR_179_C(BOOST_PP_BOOL(p(180, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_180(s, p, o, m) BOOST_PP_FOR_180_C(BOOST_PP_BOOL(p(181, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_181(s, p, o, m) BOOST_PP_FOR_181_C(BOOST_PP_BOOL(p(182, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_182(s, p, o, m) BOOST_PP_FOR_182_C(BOOST_PP_BOOL(p(183, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_183(s, p, o, m) BOOST_PP_FOR_183_C(BOOST_PP_BOOL(p(184, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_184(s, p, o, m) BOOST_PP_FOR_184_C(BOOST_PP_BOOL(p(185, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_185(s, p, o, m) BOOST_PP_FOR_185_C(BOOST_PP_BOOL(p(186, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_186(s, p, o, m) BOOST_PP_FOR_186_C(BOOST_PP_BOOL(p(187, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_187(s, p, o, m) BOOST_PP_FOR_187_C(BOOST_PP_BOOL(p(188, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_188(s, p, o, m) BOOST_PP_FOR_188_C(BOOST_PP_BOOL(p(189, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_189(s, p, o, m) BOOST_PP_FOR_189_C(BOOST_PP_BOOL(p(190, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_190(s, p, o, m) BOOST_PP_FOR_190_C(BOOST_PP_BOOL(p(191, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_191(s, p, o, m) BOOST_PP_FOR_191_C(BOOST_PP_BOOL(p(192, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_192(s, p, o, m) BOOST_PP_FOR_192_C(BOOST_PP_BOOL(p(193, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_193(s, p, o, m) BOOST_PP_FOR_193_C(BOOST_PP_BOOL(p(194, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_194(s, p, o, m) BOOST_PP_FOR_194_C(BOOST_PP_BOOL(p(195, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_195(s, p, o, m) BOOST_PP_FOR_195_C(BOOST_PP_BOOL(p(196, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_196(s, p, o, m) BOOST_PP_FOR_196_C(BOOST_PP_BOOL(p(197, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_197(s, p, o, m) BOOST_PP_FOR_197_C(BOOST_PP_BOOL(p(198, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_198(s, p, o, m) BOOST_PP_FOR_198_C(BOOST_PP_BOOL(p(199, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_199(s, p, o, m) BOOST_PP_FOR_199_C(BOOST_PP_BOOL(p(200, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_200(s, p, o, m) BOOST_PP_FOR_200_C(BOOST_PP_BOOL(p(201, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_201(s, p, o, m) BOOST_PP_FOR_201_C(BOOST_PP_BOOL(p(202, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_202(s, p, o, m) BOOST_PP_FOR_202_C(BOOST_PP_BOOL(p(203, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_203(s, p, o, m) BOOST_PP_FOR_203_C(BOOST_PP_BOOL(p(204, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_204(s, p, o, m) BOOST_PP_FOR_204_C(BOOST_PP_BOOL(p(205, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_205(s, p, o, m) BOOST_PP_FOR_205_C(BOOST_PP_BOOL(p(206, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_206(s, p, o, m) BOOST_PP_FOR_206_C(BOOST_PP_BOOL(p(207, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_207(s, p, o, m) BOOST_PP_FOR_207_C(BOOST_PP_BOOL(p(208, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_208(s, p, o, m) BOOST_PP_FOR_208_C(BOOST_PP_BOOL(p(209, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_209(s, p, o, m) BOOST_PP_FOR_209_C(BOOST_PP_BOOL(p(210, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_210(s, p, o, m) BOOST_PP_FOR_210_C(BOOST_PP_BOOL(p(211, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_211(s, p, o, m) BOOST_PP_FOR_211_C(BOOST_PP_BOOL(p(212, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_212(s, p, o, m) BOOST_PP_FOR_212_C(BOOST_PP_BOOL(p(213, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_213(s, p, o, m) BOOST_PP_FOR_213_C(BOOST_PP_BOOL(p(214, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_214(s, p, o, m) BOOST_PP_FOR_214_C(BOOST_PP_BOOL(p(215, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_215(s, p, o, m) BOOST_PP_FOR_215_C(BOOST_PP_BOOL(p(216, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_216(s, p, o, m) BOOST_PP_FOR_216_C(BOOST_PP_BOOL(p(217, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_217(s, p, o, m) BOOST_PP_FOR_217_C(BOOST_PP_BOOL(p(218, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_218(s, p, o, m) BOOST_PP_FOR_218_C(BOOST_PP_BOOL(p(219, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_219(s, p, o, m) BOOST_PP_FOR_219_C(BOOST_PP_BOOL(p(220, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_220(s, p, o, m) BOOST_PP_FOR_220_C(BOOST_PP_BOOL(p(221, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_221(s, p, o, m) BOOST_PP_FOR_221_C(BOOST_PP_BOOL(p(222, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_222(s, p, o, m) BOOST_PP_FOR_222_C(BOOST_PP_BOOL(p(223, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_223(s, p, o, m) BOOST_PP_FOR_223_C(BOOST_PP_BOOL(p(224, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_224(s, p, o, m) BOOST_PP_FOR_224_C(BOOST_PP_BOOL(p(225, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_225(s, p, o, m) BOOST_PP_FOR_225_C(BOOST_PP_BOOL(p(226, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_226(s, p, o, m) BOOST_PP_FOR_226_C(BOOST_PP_BOOL(p(227, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_227(s, p, o, m) BOOST_PP_FOR_227_C(BOOST_PP_BOOL(p(228, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_228(s, p, o, m) BOOST_PP_FOR_228_C(BOOST_PP_BOOL(p(229, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_229(s, p, o, m) BOOST_PP_FOR_229_C(BOOST_PP_BOOL(p(230, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_230(s, p, o, m) BOOST_PP_FOR_230_C(BOOST_PP_BOOL(p(231, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_231(s, p, o, m) BOOST_PP_FOR_231_C(BOOST_PP_BOOL(p(232, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_232(s, p, o, m) BOOST_PP_FOR_232_C(BOOST_PP_BOOL(p(233, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_233(s, p, o, m) BOOST_PP_FOR_233_C(BOOST_PP_BOOL(p(234, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_234(s, p, o, m) BOOST_PP_FOR_234_C(BOOST_PP_BOOL(p(235, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_235(s, p, o, m) BOOST_PP_FOR_235_C(BOOST_PP_BOOL(p(236, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_236(s, p, o, m) BOOST_PP_FOR_236_C(BOOST_PP_BOOL(p(237, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_237(s, p, o, m) BOOST_PP_FOR_237_C(BOOST_PP_BOOL(p(238, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_238(s, p, o, m) BOOST_PP_FOR_238_C(BOOST_PP_BOOL(p(239, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_239(s, p, o, m) BOOST_PP_FOR_239_C(BOOST_PP_BOOL(p(240, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_240(s, p, o, m) BOOST_PP_FOR_240_C(BOOST_PP_BOOL(p(241, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_241(s, p, o, m) BOOST_PP_FOR_241_C(BOOST_PP_BOOL(p(242, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_242(s, p, o, m) BOOST_PP_FOR_242_C(BOOST_PP_BOOL(p(243, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_243(s, p, o, m) BOOST_PP_FOR_243_C(BOOST_PP_BOOL(p(244, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_244(s, p, o, m) BOOST_PP_FOR_244_C(BOOST_PP_BOOL(p(245, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_245(s, p, o, m) BOOST_PP_FOR_245_C(BOOST_PP_BOOL(p(246, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_246(s, p, o, m) BOOST_PP_FOR_246_C(BOOST_PP_BOOL(p(247, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_247(s, p, o, m) BOOST_PP_FOR_247_C(BOOST_PP_BOOL(p(248, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_248(s, p, o, m) BOOST_PP_FOR_248_C(BOOST_PP_BOOL(p(249, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_249(s, p, o, m) BOOST_PP_FOR_249_C(BOOST_PP_BOOL(p(250, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_250(s, p, o, m) BOOST_PP_FOR_250_C(BOOST_PP_BOOL(p(251, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_251(s, p, o, m) BOOST_PP_FOR_251_C(BOOST_PP_BOOL(p(252, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_252(s, p, o, m) BOOST_PP_FOR_252_C(BOOST_PP_BOOL(p(253, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_253(s, p, o, m) BOOST_PP_FOR_253_C(BOOST_PP_BOOL(p(254, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_254(s, p, o, m) BOOST_PP_FOR_254_C(BOOST_PP_BOOL(p(255, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_255(s, p, o, m) BOOST_PP_FOR_255_C(BOOST_PP_BOOL(p(256, s)), s, p, o, m)\r
+# define BOOST_PP_FOR_256(s, p, o, m) BOOST_PP_FOR_256_C(BOOST_PP_BOOL(p(257, s)), s, p, o, m)\r
+#\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+#\r
+# endif\r
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 (file)
index 0000000..5bb179f
--- /dev/null
@@ -0,0 +1,277 @@
+# /* Copyright (C) 2001\r
+#  * Housemarque Oy\r
+#  * http://www.housemarque.com\r
+#  *\r
+#  * Distributed under the Boost Software License, Version 1.0. (See\r
+#  * accompanying file LICENSE_1_0.txt or copy at\r
+#  * http://www.boost.org/LICENSE_1_0.txt)\r
+#  */\r
+#\r
+# /* Revised by Paul Mensonides (2002) */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_REPETITION_DETAIL_MSVC_FOR_HPP\r
+# define BOOST_PREPROCESSOR_REPETITION_DETAIL_MSVC_FOR_HPP\r
+#\r
+# include <boost/preprocessor/control/if.hpp>\r
+# include <boost/preprocessor/tuple/eat.hpp>\r
+#\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+#\r
+# endif\r
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 (file)
index 0000000..8b4ab9a
--- /dev/null
@@ -0,0 +1,66 @@
+# /* Copyright (C) 2001\r
+#  * Housemarque Oy\r
+#  * http://www.housemarque.com\r
+#  *\r
+#  * Distributed under the Boost Software License, Version 1.0. (See\r
+#  * accompanying file LICENSE_1_0.txt or copy at\r
+#  * http://www.boost.org/LICENSE_1_0.txt)\r
+#  */\r
+#\r
+# /* Revised by Paul Mensonides (2002) */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_REPETITION_ENUM_HPP\r
+# define BOOST_PREPROCESSOR_REPETITION_ENUM_HPP\r
+#\r
+# include <boost/preprocessor/cat.hpp>\r
+# include <boost/preprocessor/config/config.hpp>\r
+# include <boost/preprocessor/debug/error.hpp>\r
+# include <boost/preprocessor/detail/auto_rec.hpp>\r
+# include <boost/preprocessor/punctuation/comma_if.hpp>\r
+# include <boost/preprocessor/repetition/repeat.hpp>\r
+# include <boost/preprocessor/tuple/elem.hpp>\r
+# include <boost/preprocessor/tuple/rem.hpp>\r
+#\r
+# /* BOOST_PP_ENUM */\r
+#\r
+# if 0\r
+#    define BOOST_PP_ENUM(count, macro, data)\r
+# endif\r
+#\r
+# define BOOST_PP_ENUM BOOST_PP_CAT(BOOST_PP_ENUM_, BOOST_PP_AUTO_REC(BOOST_PP_REPEAT_P, 4))\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    define BOOST_PP_ENUM_1(c, m, d) BOOST_PP_REPEAT_1(c, BOOST_PP_ENUM_M_1, (m, d))\r
+#    define BOOST_PP_ENUM_2(c, m, d) BOOST_PP_REPEAT_2(c, BOOST_PP_ENUM_M_2, (m, d))\r
+#    define BOOST_PP_ENUM_3(c, m, d) BOOST_PP_REPEAT_3(c, BOOST_PP_ENUM_M_3, (m, d))\r
+# else\r
+#    define BOOST_PP_ENUM_1(c, m, d) BOOST_PP_ENUM_1_I(c, m, d)\r
+#    define BOOST_PP_ENUM_2(c, m, d) BOOST_PP_ENUM_2_I(c, m, d)\r
+#    define BOOST_PP_ENUM_3(c, m, d) BOOST_PP_ENUM_3_I(c, m, d)\r
+#    define BOOST_PP_ENUM_1_I(c, m, d) BOOST_PP_REPEAT_1(c, BOOST_PP_ENUM_M_1, (m, d))\r
+#    define BOOST_PP_ENUM_2_I(c, m, d) BOOST_PP_REPEAT_2(c, BOOST_PP_ENUM_M_2, (m, d))\r
+#    define BOOST_PP_ENUM_3_I(c, m, d) BOOST_PP_REPEAT_3(c, BOOST_PP_ENUM_M_3, (m, d))\r
+# endif\r
+#\r
+# define BOOST_PP_ENUM_4(c, m, d) BOOST_PP_ERROR(0x0003)\r
+#\r
+# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()\r
+#    define BOOST_PP_ENUM_M_1(z, n, md) BOOST_PP_ENUM_M_1_IM(z, n, BOOST_PP_TUPLE_REM_2 md)\r
+#    define BOOST_PP_ENUM_M_2(z, n, md) BOOST_PP_ENUM_M_2_IM(z, n, BOOST_PP_TUPLE_REM_2 md)\r
+#    define BOOST_PP_ENUM_M_3(z, n, md) BOOST_PP_ENUM_M_3_IM(z, n, BOOST_PP_TUPLE_REM_2 md)\r
+#    define BOOST_PP_ENUM_M_1_IM(z, n, im) BOOST_PP_ENUM_M_1_I(z, n, im)\r
+#    define BOOST_PP_ENUM_M_2_IM(z, n, im) BOOST_PP_ENUM_M_2_I(z, n, im)\r
+#    define BOOST_PP_ENUM_M_3_IM(z, n, im) BOOST_PP_ENUM_M_3_I(z, n, im)\r
+# else\r
+#    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))\r
+#    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))\r
+#    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))\r
+# endif\r
+#\r
+# define BOOST_PP_ENUM_M_1_I(z, n, m, d) BOOST_PP_COMMA_IF(n) m(z, n, d)\r
+# define BOOST_PP_ENUM_M_2_I(z, n, m, d) BOOST_PP_COMMA_IF(n) m(z, n, d)\r
+# define BOOST_PP_ENUM_M_3_I(z, n, m, d) BOOST_PP_COMMA_IF(n) m(z, n, d)\r
+#\r
+# endif\r
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 (file)
index 0000000..eb6a494
--- /dev/null
@@ -0,0 +1,54 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_REPETITION_ENUM_BINARY_PARAMS_HPP\r
+# define BOOST_PREPROCESSOR_REPETITION_ENUM_BINARY_PARAMS_HPP\r
+#\r
+# include <boost/preprocessor/cat.hpp>\r
+# include <boost/preprocessor/config/config.hpp>\r
+# include <boost/preprocessor/punctuation/comma_if.hpp>\r
+# include <boost/preprocessor/repetition/repeat.hpp>\r
+# include <boost/preprocessor/tuple/elem.hpp>\r
+# include <boost/preprocessor/tuple/rem.hpp>\r
+#\r
+# /* BOOST_PP_ENUM_BINARY_PARAMS */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    define BOOST_PP_ENUM_BINARY_PARAMS(count, p1, p2) BOOST_PP_REPEAT(count, BOOST_PP_ENUM_BINARY_PARAMS_M, (p1, p2))\r
+# else\r
+#    define BOOST_PP_ENUM_BINARY_PARAMS(count, p1, p2) BOOST_PP_ENUM_BINARY_PARAMS_I(count, p1, p2)\r
+#    define BOOST_PP_ENUM_BINARY_PARAMS_I(count, p1, p2) BOOST_PP_REPEAT(count, BOOST_PP_ENUM_BINARY_PARAMS_M, (p1, p2))\r
+# endif\r
+#\r
+# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()\r
+#    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)\r
+#    define BOOST_PP_ENUM_BINARY_PARAMS_M_IM(z, n, im) BOOST_PP_ENUM_BINARY_PARAMS_M_I(z, n, im)\r
+# else\r
+#    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))\r
+# endif\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()\r
+#    define BOOST_PP_ENUM_BINARY_PARAMS_M_I(z, n, p1, p2) BOOST_PP_ENUM_BINARY_PARAMS_M_II(z, n, p1, p2)\r
+#    define BOOST_PP_ENUM_BINARY_PARAMS_M_II(z, n, p1, p2) BOOST_PP_COMMA_IF(n) p1 ## n p2 ## n\r
+# else\r
+#    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)\r
+# endif\r
+#\r
+# /* BOOST_PP_ENUM_BINARY_PARAMS_Z */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    define BOOST_PP_ENUM_BINARY_PARAMS_Z(z, count, p1, p2) BOOST_PP_REPEAT_ ## z(count, BOOST_PP_ENUM_BINARY_PARAMS_M, (p1, p2))\r
+# else\r
+#    define BOOST_PP_ENUM_BINARY_PARAMS_Z(z, count, p1, p2) BOOST_PP_ENUM_BINARY_PARAMS_Z_I(z, count, p1, p2)\r
+#    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))\r
+# endif\r
+#\r
+# endif\r
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 (file)
index 0000000..8bfa036
--- /dev/null
@@ -0,0 +1,41 @@
+# /* Copyright (C) 2001\r
+#  * Housemarque Oy\r
+#  * http://www.housemarque.com\r
+#  *\r
+#  * Distributed under the Boost Software License, Version 1.0. (See\r
+#  * accompanying file LICENSE_1_0.txt or copy at\r
+#  * http://www.boost.org/LICENSE_1_0.txt)\r
+#  */\r
+#\r
+# /* Revised by Paul Mensonides (2002) */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_REPETITION_ENUM_PARAMS_HPP\r
+# define BOOST_PREPROCESSOR_REPETITION_ENUM_PARAMS_HPP\r
+#\r
+# include <boost/preprocessor/config/config.hpp>\r
+# include <boost/preprocessor/punctuation/comma_if.hpp>\r
+# include <boost/preprocessor/repetition/repeat.hpp>\r
+#\r
+# /* BOOST_PP_ENUM_PARAMS */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    define BOOST_PP_ENUM_PARAMS(count, param) BOOST_PP_REPEAT(count, BOOST_PP_ENUM_PARAMS_M, param)\r
+# else\r
+#    define BOOST_PP_ENUM_PARAMS(count, param) BOOST_PP_ENUM_PARAMS_I(count, param)\r
+#    define BOOST_PP_ENUM_PARAMS_I(count, param) BOOST_PP_REPEAT(count, BOOST_PP_ENUM_PARAMS_M, param)\r
+# endif\r
+#\r
+# define BOOST_PP_ENUM_PARAMS_M(z, n, param) BOOST_PP_COMMA_IF(n) param ## n\r
+#\r
+# /* BOOST_PP_ENUM_PARAMS_Z */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    define BOOST_PP_ENUM_PARAMS_Z(z, count, param) BOOST_PP_REPEAT_ ## z(count, BOOST_PP_ENUM_PARAMS_M, param)\r
+# else\r
+#    define BOOST_PP_ENUM_PARAMS_Z(z, count, param) BOOST_PP_ENUM_PARAMS_Z_I(z, count, param)\r
+#    define BOOST_PP_ENUM_PARAMS_Z_I(z, count, param) BOOST_PP_REPEAT_ ## z(count, BOOST_PP_ENUM_PARAMS_M, param)\r
+# endif\r
+#\r
+# endif\r
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 (file)
index 0000000..2281c5c
--- /dev/null
@@ -0,0 +1,25 @@
+# /* Copyright (C) 2001\r
+#  * Housemarque Oy\r
+#  * http://www.housemarque.com\r
+#  *\r
+#  * Distributed under the Boost Software License, Version 1.0. (See\r
+#  * accompanying file LICENSE_1_0.txt or copy at\r
+#  * http://www.boost.org/LICENSE_1_0.txt)\r
+#  */\r
+#\r
+# /* Revised by Paul Mensonides (2002) */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_REPETITION_ENUM_PARAMS_WITH_A_DEFAULT_HPP\r
+# define BOOST_PREPROCESSOR_REPETITION_ENUM_PARAMS_WITH_A_DEFAULT_HPP\r
+#\r
+# include <boost/preprocessor/config/config.hpp>\r
+# include <boost/preprocessor/facilities/intercept.hpp>\r
+# include <boost/preprocessor/repetition/enum_binary_params.hpp>\r
+#\r
+# /* BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT */\r
+#\r
+# define BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT(count, param, def) BOOST_PP_ENUM_BINARY_PARAMS(count, param, = def BOOST_PP_INTERCEPT)\r
+#\r
+# endif\r
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 (file)
index 0000000..146352f
--- /dev/null
@@ -0,0 +1,24 @@
+# /* Copyright (C) 2001\r
+#  * Housemarque Oy\r
+#  * http://www.housemarque.com\r
+#  *\r
+#  * Distributed under the Boost Software License, Version 1.0. (See\r
+#  * accompanying file LICENSE_1_0.txt or copy at\r
+#  * http://www.boost.org/LICENSE_1_0.txt)\r
+#  */\r
+#\r
+# /* Revised by Paul Mensonides (2002) */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_REPETITION_ENUM_PARAMS_WITH_DEFAULTS_HPP\r
+# define BOOST_PREPROCESSOR_REPETITION_ENUM_PARAMS_WITH_DEFAULTS_HPP\r
+#\r
+# include <boost/preprocessor/config/config.hpp>\r
+# include <boost/preprocessor/repetition/enum_binary_params.hpp>\r
+#\r
+# /* BOOST_PP_ENUM_PARAMS_WITH_DEFAULTS */\r
+#\r
+# define BOOST_PP_ENUM_PARAMS_WITH_DEFAULTS(count, param, def) BOOST_PP_ENUM_BINARY_PARAMS(count, param, = def)\r
+#\r
+# endif\r
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 (file)
index 0000000..f2750b2
--- /dev/null
@@ -0,0 +1,68 @@
+# /* Copyright (C) 2001\r
+#  * Housemarque Oy\r
+#  * http://www.housemarque.com\r
+#  *\r
+#  * Distributed under the Boost Software License, Version 1.0. (See\r
+#  * accompanying file LICENSE_1_0.txt or copy at\r
+#  * http://www.boost.org/LICENSE_1_0.txt)\r
+#  */\r
+#\r
+# /* Revised by Paul Mensonides (2002) */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_REPETITION_ENUM_SHIFTED_HPP\r
+# define BOOST_PREPROCESSOR_REPETITION_ENUM_SHIFTED_HPP\r
+#\r
+# include <boost/preprocessor/cat.hpp>\r
+# include <boost/preprocessor/arithmetic/dec.hpp>\r
+# include <boost/preprocessor/arithmetic/inc.hpp>\r
+# include <boost/preprocessor/config/config.hpp>\r
+# include <boost/preprocessor/debug/error.hpp>\r
+# include <boost/preprocessor/detail/auto_rec.hpp>\r
+# include <boost/preprocessor/punctuation/comma_if.hpp>\r
+# include <boost/preprocessor/repetition/repeat.hpp>\r
+# include <boost/preprocessor/tuple/elem.hpp>\r
+# include <boost/preprocessor/tuple/rem.hpp>\r
+#\r
+# /* BOOST_PP_ENUM_SHIFTED */\r
+#\r
+# if 0\r
+#    define BOOST_PP_ENUM_SHIFTED(count, macro, data)\r
+# endif\r
+#\r
+# define BOOST_PP_ENUM_SHIFTED BOOST_PP_CAT(BOOST_PP_ENUM_SHIFTED_, BOOST_PP_AUTO_REC(BOOST_PP_REPEAT_P, 4))\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    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))\r
+#    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))\r
+#    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))\r
+# else\r
+#    define BOOST_PP_ENUM_SHIFTED_1(c, m, d) BOOST_PP_ENUM_SHIFTED_1_I(c, m, d)\r
+#    define BOOST_PP_ENUM_SHIFTED_2(c, m, d) BOOST_PP_ENUM_SHIFTED_1_2(c, m, d)\r
+#    define BOOST_PP_ENUM_SHIFTED_3(c, m, d) BOOST_PP_ENUM_SHIFTED_1_3(c, m, d)\r
+#    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))\r
+#    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))\r
+#    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))\r
+# endif\r
+#\r
+# define BOOST_PP_ENUM_SHIFTED_4(c, m, d) BOOST_PP_ERROR(0x0003)\r
+#\r
+# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()\r
+#    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)\r
+#    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)\r
+#    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)\r
+#    define BOOST_PP_ENUM_SHIFTED_M_1_IM(z, n, im) BOOST_PP_ENUM_SHIFTED_M_1_I(z, n, im)\r
+#    define BOOST_PP_ENUM_SHIFTED_M_2_IM(z, n, im) BOOST_PP_ENUM_SHIFTED_M_2_I(z, n, im)\r
+#    define BOOST_PP_ENUM_SHIFTED_M_3_IM(z, n, im) BOOST_PP_ENUM_SHIFTED_M_3_I(z, n, im)\r
+# else\r
+#    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))\r
+#    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))\r
+#    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))\r
+# endif\r
+#\r
+# define BOOST_PP_ENUM_SHIFTED_M_1_I(z, n, m, d) BOOST_PP_COMMA_IF(n) m(z, BOOST_PP_INC(n), d)\r
+# define BOOST_PP_ENUM_SHIFTED_M_2_I(z, n, m, d) BOOST_PP_COMMA_IF(n) m(z, BOOST_PP_INC(n), d)\r
+# define BOOST_PP_ENUM_SHIFTED_M_3_I(z, n, m, d) BOOST_PP_COMMA_IF(n) m(z, BOOST_PP_INC(n), d)\r
+#\r
+# endif\r
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 (file)
index 0000000..d1bd957
--- /dev/null
@@ -0,0 +1,51 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2005.                                  *\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See      *\r
+#  *     accompanying file LICENSE_1_0.txt or copy at                         *\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)                                *\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_REPETITION_ENUM_SHIFTED_BINARY_PARAMS_HPP\r
+# define BOOST_PREPROCESSOR_REPETITION_ENUM_SHIFTED_BINARY_PARAMS_HPP\r
+#\r
+# include <boost/preprocessor/arithmetic/dec.hpp>\r
+# include <boost/preprocessor/arithmetic/inc.hpp>\r
+# include <boost/preprocessor/cat.hpp>\r
+# include <boost/preprocessor/config/config.hpp>\r
+# include <boost/preprocessor/punctuation/comma_if.hpp>\r
+# include <boost/preprocessor/repetition/repeat.hpp>\r
+# include <boost/preprocessor/tuple/elem.hpp>\r
+# include <boost/preprocessor/tuple/rem.hpp>\r
+#\r
+# /* BOOST_PP_ENUM_SHIFTED_BINARY_PARAMS */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    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))\r
+# else\r
+#    define BOOST_PP_ENUM_SHIFTED_BINARY_PARAMS(count, p1, p2) BOOST_PP_ENUM_SHIFTED_BINARY_PARAMS_I(count, p1, p2)\r
+#    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))\r
+# endif\r
+#\r
+# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()\r
+#    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)\r
+#    define BOOST_PP_ENUM_SHIFTED_BINARY_PARAMS_M_IM(z, n, im) BOOST_PP_ENUM_SHIFTED_BINARY_PARAMS_M_I(z, n, im)\r
+# else\r
+#    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))\r
+# endif\r
+#\r
+# 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))\r
+#\r
+# /* BOOST_PP_ENUM_SHIFTED_BINARY_PARAMS_Z */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    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))\r
+# else\r
+#    define BOOST_PP_ENUM_SHIFTED_BINARY_PARAMS_Z(z, count, p1, p2) BOOST_PP_ENUM_SHIFTED_BINARY_PARAMS_Z_I(z, count, p1, p2)\r
+#    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))\r
+# endif\r
+#\r
+# endif\r
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 (file)
index 0000000..447a114
--- /dev/null
@@ -0,0 +1,44 @@
+# /* Copyright (C) 2001\r
+#  * Housemarque Oy\r
+#  * http://www.housemarque.com\r
+#  *\r
+#  * Distributed under the Boost Software License, Version 1.0. (See\r
+#  * accompanying file LICENSE_1_0.txt or copy at\r
+#  * http://www.boost.org/LICENSE_1_0.txt)\r
+#  */\r
+#\r
+# /* Revised by Paul Mensonides (2002) */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_REPETITION_ENUM_SHIFTED_PARAMS_HPP\r
+# define BOOST_PREPROCESSOR_REPETITION_ENUM_SHIFTED_PARAMS_HPP\r
+#\r
+# include <boost/preprocessor/arithmetic/dec.hpp>\r
+# include <boost/preprocessor/arithmetic/inc.hpp>\r
+# include <boost/preprocessor/cat.hpp>\r
+# include <boost/preprocessor/config/config.hpp>\r
+# include <boost/preprocessor/punctuation/comma_if.hpp>\r
+# include <boost/preprocessor/repetition/repeat.hpp>\r
+#\r
+# /* BOOST_PP_ENUM_SHIFTED_PARAMS */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    define BOOST_PP_ENUM_SHIFTED_PARAMS(count, param) BOOST_PP_REPEAT(BOOST_PP_DEC(count), BOOST_PP_ENUM_SHIFTED_PARAMS_M, param)\r
+# else\r
+#    define BOOST_PP_ENUM_SHIFTED_PARAMS(count, param) BOOST_PP_ENUM_SHIFTED_PARAMS_I(count, param)\r
+#    define BOOST_PP_ENUM_SHIFTED_PARAMS_I(count, param) BOOST_PP_REPEAT(BOOST_PP_DEC(count), BOOST_PP_ENUM_SHIFTED_PARAMS_M, param)\r
+# endif\r
+#\r
+# define BOOST_PP_ENUM_SHIFTED_PARAMS_M(z, n, param) BOOST_PP_COMMA_IF(n) BOOST_PP_CAT(param, BOOST_PP_INC(n))\r
+#\r
+# /* BOOST_PP_ENUM_SHIFTED_PARAMS_Z */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    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)\r
+# else\r
+#    define BOOST_PP_ENUM_SHIFTED_PARAMS_Z(z, count, param) BOOST_PP_ENUM_SHIFTED_PARAMS_Z_I(z, count, param)\r
+#    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)\r
+# endif\r
+#\r
+# endif\r
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 (file)
index 0000000..b8d197e
--- /dev/null
@@ -0,0 +1,63 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_REPETITION_ENUM_TRAILING_HPP\r
+# define BOOST_PREPROCESSOR_REPETITION_ENUM_TRAILING_HPP\r
+#\r
+# include <boost/preprocessor/cat.hpp>\r
+# include <boost/preprocessor/config/config.hpp>\r
+# include <boost/preprocessor/debug/error.hpp>\r
+# include <boost/preprocessor/detail/auto_rec.hpp>\r
+# include <boost/preprocessor/repetition/repeat.hpp>\r
+# include <boost/preprocessor/tuple/elem.hpp>\r
+# include <boost/preprocessor/tuple/rem.hpp>\r
+#\r
+# /* BOOST_PP_ENUM_TRAILING */\r
+#\r
+# if 0\r
+#    define BOOST_PP_ENUM_TRAILING(count, macro, data)\r
+# endif\r
+#\r
+# define BOOST_PP_ENUM_TRAILING BOOST_PP_CAT(BOOST_PP_ENUM_TRAILING_, BOOST_PP_AUTO_REC(BOOST_PP_REPEAT_P, 4))\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    define BOOST_PP_ENUM_TRAILING_1(c, m, d) BOOST_PP_REPEAT_1(c, BOOST_PP_ENUM_TRAILING_M_1, (m, d))\r
+#    define BOOST_PP_ENUM_TRAILING_2(c, m, d) BOOST_PP_REPEAT_2(c, BOOST_PP_ENUM_TRAILING_M_2, (m, d))\r
+#    define BOOST_PP_ENUM_TRAILING_3(c, m, d) BOOST_PP_REPEAT_3(c, BOOST_PP_ENUM_TRAILING_M_3, (m, d))\r
+# else\r
+#    define BOOST_PP_ENUM_TRAILING_1(c, m, d) BOOST_PP_ENUM_TRAILING_1_I(c, m, d)\r
+#    define BOOST_PP_ENUM_TRAILING_2(c, m, d) BOOST_PP_ENUM_TRAILING_2_I(c, m, d)\r
+#    define BOOST_PP_ENUM_TRAILING_3(c, m, d) BOOST_PP_ENUM_TRAILING_3_I(c, m, d)\r
+#    define BOOST_PP_ENUM_TRAILING_1_I(c, m, d) BOOST_PP_REPEAT_1(c, BOOST_PP_ENUM_TRAILING_M_1, (m, d))\r
+#    define BOOST_PP_ENUM_TRAILING_2_I(c, m, d) BOOST_PP_REPEAT_2(c, BOOST_PP_ENUM_TRAILING_M_2, (m, d))\r
+#    define BOOST_PP_ENUM_TRAILING_3_I(c, m, d) BOOST_PP_REPEAT_3(c, BOOST_PP_ENUM_TRAILING_M_3, (m, d))\r
+# endif\r
+#\r
+# define BOOST_PP_ENUM_TRAILING_4(c, m, d) BOOST_PP_ERROR(0x0003)\r
+#\r
+# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()\r
+#    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)\r
+#    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)\r
+#    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)\r
+#    define BOOST_PP_ENUM_TRAILING_M_1_IM(z, n, im) BOOST_PP_ENUM_TRAILING_M_1_I(z, n, im)\r
+#    define BOOST_PP_ENUM_TRAILING_M_2_IM(z, n, im) BOOST_PP_ENUM_TRAILING_M_2_I(z, n, im)\r
+#    define BOOST_PP_ENUM_TRAILING_M_3_IM(z, n, im) BOOST_PP_ENUM_TRAILING_M_3_I(z, n, im)\r
+# else\r
+#    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))\r
+#    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))\r
+#    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))\r
+# endif\r
+#\r
+# define BOOST_PP_ENUM_TRAILING_M_1_I(z, n, m, d) , m(z, n, d)\r
+# define BOOST_PP_ENUM_TRAILING_M_2_I(z, n, m, d) , m(z, n, d)\r
+# define BOOST_PP_ENUM_TRAILING_M_3_I(z, n, m, d) , m(z, n, d)\r
+#\r
+# endif\r
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 (file)
index 0000000..449bdb5
--- /dev/null
@@ -0,0 +1,53 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_REPETITION_ENUM_TRAILING_BINARY_PARAMS_HPP\r
+# define BOOST_PREPROCESSOR_REPETITION_ENUM_TRAILING_BINARY_PARAMS_HPP\r
+#\r
+# include <boost/preprocessor/cat.hpp>\r
+# include <boost/preprocessor/config/config.hpp>\r
+# include <boost/preprocessor/repetition/repeat.hpp>\r
+# include <boost/preprocessor/tuple/elem.hpp>\r
+# include <boost/preprocessor/tuple/rem.hpp>\r
+#\r
+# /* BOOST_PP_ENUM_TRAILING_BINARY_PARAMS */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    define BOOST_PP_ENUM_TRAILING_BINARY_PARAMS(count, p1, p2) BOOST_PP_REPEAT(count, BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_M, (p1, p2))\r
+# else\r
+#    define BOOST_PP_ENUM_TRAILING_BINARY_PARAMS(count, p1, p2) BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_I(count, p1, p2)\r
+#    define BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_I(count, p1, p2) BOOST_PP_REPEAT(count, BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_M, (p1, p2))\r
+# endif\r
+#\r
+# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()\r
+#    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)\r
+#    define BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_M_IM(z, n, im) BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_M_I(z, n, im)\r
+# else\r
+#    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))\r
+# endif\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()\r
+#    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)\r
+#    define BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_M_II(z, n, p1, p2) , p1 ## n p2 ## n\r
+# else\r
+#    define BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_M_I(z, n, p1, p2) , BOOST_PP_CAT(p1, n) BOOST_PP_CAT(p2, n)\r
+# endif\r
+#\r
+# /* BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_Z */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    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))\r
+# else\r
+#    define BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_Z(z, count, p1, p2) BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_Z_I(z, count, p1, p2)\r
+#    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))\r
+# endif\r
+#\r
+# endif\r
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 (file)
index 0000000..33ad8ca
--- /dev/null
@@ -0,0 +1,38 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_REPETITION_ENUM_TRAILING_PARAMS_HPP\r
+# define BOOST_PREPROCESSOR_REPETITION_ENUM_TRAILING_PARAMS_HPP\r
+#\r
+# include <boost/preprocessor/config/config.hpp>\r
+# include <boost/preprocessor/repetition/repeat.hpp>\r
+#\r
+# /* BOOST_PP_ENUM_TRAILING_PARAMS */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    define BOOST_PP_ENUM_TRAILING_PARAMS(count, param) BOOST_PP_REPEAT(count, BOOST_PP_ENUM_TRAILING_PARAMS_M, param)\r
+# else\r
+#    define BOOST_PP_ENUM_TRAILING_PARAMS(count, param) BOOST_PP_ENUM_TRAILING_PARAMS_I(count, param)\r
+#    define BOOST_PP_ENUM_TRAILING_PARAMS_I(count, param) BOOST_PP_REPEAT(count, BOOST_PP_ENUM_TRAILING_PARAMS_M, param)\r
+# endif\r
+#\r
+# define BOOST_PP_ENUM_TRAILING_PARAMS_M(z, n, param) , param ## n\r
+#\r
+# /* BOOST_PP_ENUM_TRAILING_PARAMS_Z */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    define BOOST_PP_ENUM_TRAILING_PARAMS_Z(z, count, param) BOOST_PP_REPEAT_ ## z(count, BOOST_PP_ENUM_TRAILING_PARAMS_M, param)\r
+# else\r
+#    define BOOST_PP_ENUM_TRAILING_PARAMS_Z(z, count, param) BOOST_PP_ENUM_TRAILING_PARAMS_Z_I(z, count, param)\r
+#    define BOOST_PP_ENUM_TRAILING_PARAMS_Z_I(z, count, param) BOOST_PP_REPEAT_ ## z(count, BOOST_PP_ENUM_TRAILING_PARAMS_M, param)\r
+# endif\r
+#\r
+# endif\r
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 (file)
index 0000000..716814f
--- /dev/null
@@ -0,0 +1,306 @@
+# /* Copyright (C) 2001\r
+#  * Housemarque Oy\r
+#  * http://www.housemarque.com\r
+#  *\r
+#  * Distributed under the Boost Software License, Version 1.0. (See\r
+#  * accompanying file LICENSE_1_0.txt or copy at\r
+#  * http://www.boost.org/LICENSE_1_0.txt)\r
+#  */\r
+#\r
+# /* Revised by Paul Mensonides (2002) */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_REPETITION_FOR_HPP\r
+# define BOOST_PREPROCESSOR_REPETITION_FOR_HPP\r
+#\r
+# include <boost/preprocessor/cat.hpp>\r
+# include <boost/preprocessor/debug/error.hpp>\r
+# include <boost/preprocessor/detail/auto_rec.hpp>\r
+#\r
+# /* BOOST_PP_FOR */\r
+#\r
+# if 0\r
+#    define BOOST_PP_FOR(state, pred, op, macro)\r
+# endif\r
+#\r
+# define BOOST_PP_FOR BOOST_PP_CAT(BOOST_PP_FOR_, BOOST_PP_AUTO_REC(BOOST_PP_FOR_P, 256))\r
+#\r
+# 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))\r
+#\r
+# define BOOST_PP_FOR_SR_P(r, s) s\r
+# define BOOST_PP_FOR_SR_O(r, s) 0\r
+# define BOOST_PP_FOR_SR_M(r, s) BOOST_PP_NIL\r
+#\r
+# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    include <boost/preprocessor/repetition/detail/edg/for.hpp>\r
+# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()\r
+#    include <boost/preprocessor/repetition/detail/msvc/for.hpp>\r
+# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC()\r
+#    include <boost/preprocessor/repetition/detail/dmc/for.hpp>\r
+# else\r
+#    include <boost/preprocessor/repetition/detail/for.hpp>\r
+# endif\r
+#\r
+# define BOOST_PP_FOR_257(s, p, o, m) BOOST_PP_ERROR(0x0002)\r
+#\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_NIL 1\r
+#\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_1(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_2(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_3(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_4(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_5(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_6(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_7(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_8(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_9(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_10(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_11(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_12(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_13(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_14(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_15(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_16(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_17(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_18(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_19(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_20(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_21(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_22(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_23(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_24(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_25(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_26(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_27(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_28(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_29(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_30(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_31(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_32(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_33(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_34(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_35(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_36(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_37(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_38(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_39(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_40(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_41(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_42(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_43(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_44(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_45(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_46(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_47(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_48(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_49(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_50(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_51(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_52(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_53(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_54(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_55(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_56(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_57(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_58(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_59(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_60(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_61(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_62(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_63(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_64(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_65(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_66(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_67(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_68(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_69(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_70(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_71(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_72(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_73(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_74(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_75(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_76(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_77(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_78(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_79(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_80(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_81(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_82(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_83(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_84(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_85(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_86(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_87(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_88(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_89(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_90(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_91(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_92(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_93(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_94(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_95(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_96(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_97(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_98(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_99(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_100(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_101(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_102(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_103(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_104(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_105(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_106(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_107(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_108(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_109(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_110(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_111(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_112(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_113(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_114(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_115(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_116(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_117(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_118(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_119(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_120(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_121(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_122(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_123(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_124(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_125(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_126(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_127(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_128(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_129(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_130(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_131(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_132(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_133(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_134(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_135(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_136(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_137(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_138(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_139(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_140(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_141(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_142(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_143(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_144(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_145(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_146(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_147(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_148(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_149(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_150(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_151(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_152(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_153(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_154(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_155(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_156(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_157(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_158(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_159(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_160(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_161(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_162(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_163(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_164(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_165(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_166(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_167(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_168(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_169(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_170(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_171(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_172(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_173(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_174(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_175(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_176(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_177(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_178(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_179(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_180(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_181(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_182(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_183(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_184(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_185(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_186(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_187(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_188(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_189(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_190(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_191(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_192(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_193(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_194(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_195(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_196(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_197(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_198(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_199(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_200(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_201(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_202(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_203(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_204(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_205(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_206(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_207(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_208(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_209(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_210(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_211(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_212(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_213(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_214(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_215(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_216(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_217(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_218(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_219(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_220(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_221(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_222(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_223(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_224(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_225(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_226(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_227(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_228(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_229(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_230(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_231(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_232(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_233(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_234(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_235(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_236(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_237(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_238(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_239(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_240(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_241(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_242(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_243(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_244(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_245(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_246(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_247(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_248(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_249(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_250(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_251(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_252(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_253(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_254(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_255(s, p, o, m) 0\r
+# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_256(s, p, o, m) 0\r
+#\r
+# endif\r
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 (file)
index 0000000..fa31de3
--- /dev/null
@@ -0,0 +1,825 @@
+# /* Copyright (C) 2001\r
+#  * Housemarque Oy\r
+#  * http://www.housemarque.com\r
+#  *\r
+#  * Distributed under the Boost Software License, Version 1.0. (See\r
+#  * accompanying file LICENSE_1_0.txt or copy at\r
+#  * http://www.boost.org/LICENSE_1_0.txt)\r
+#  */\r
+#\r
+# /* Revised by Paul Mensonides (2002) */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_REPETITION_REPEAT_HPP\r
+# define BOOST_PREPROCESSOR_REPETITION_REPEAT_HPP\r
+#\r
+# include <boost/preprocessor/cat.hpp>\r
+# include <boost/preprocessor/config/config.hpp>\r
+# include <boost/preprocessor/debug/error.hpp>\r
+# include <boost/preprocessor/detail/auto_rec.hpp>\r
+# include <boost/preprocessor/tuple/eat.hpp>\r
+#\r
+# /* BOOST_PP_REPEAT */\r
+#\r
+# if 0\r
+#    define BOOST_PP_REPEAT(count, macro, data)\r
+# endif\r
+#\r
+# define BOOST_PP_REPEAT BOOST_PP_CAT(BOOST_PP_REPEAT_, BOOST_PP_AUTO_REC(BOOST_PP_REPEAT_P, 4))\r
+#\r
+# 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))\r
+#\r
+# define BOOST_PP_REPEAT_CHECK_BOOST_PP_NIL 1\r
+# define BOOST_PP_REPEAT_CHECK_BOOST_PP_REPEAT_1(c, m, d) 0\r
+# define BOOST_PP_REPEAT_CHECK_BOOST_PP_REPEAT_2(c, m, d) 0\r
+# define BOOST_PP_REPEAT_CHECK_BOOST_PP_REPEAT_3(c, m, d) 0\r
+#\r
+# define BOOST_PP_REPEAT_1(c, m, d) BOOST_PP_REPEAT_1_I(c, m, d)\r
+# define BOOST_PP_REPEAT_2(c, m, d) BOOST_PP_REPEAT_2_I(c, m, d)\r
+# define BOOST_PP_REPEAT_3(c, m, d) BOOST_PP_REPEAT_3_I(c, m, d)\r
+# define BOOST_PP_REPEAT_4(c, m, d) BOOST_PP_ERROR(0x0003)\r
+#\r
+# define BOOST_PP_REPEAT_1_I(c, m, d) BOOST_PP_REPEAT_1_ ## c(m, d)\r
+# define BOOST_PP_REPEAT_2_I(c, m, d) BOOST_PP_REPEAT_2_ ## c(m, d)\r
+# define BOOST_PP_REPEAT_3_I(c, m, d) BOOST_PP_REPEAT_3_ ## c(m, d)\r
+#\r
+# define BOOST_PP_REPEAT_1ST BOOST_PP_REPEAT_1\r
+# define BOOST_PP_REPEAT_2ND BOOST_PP_REPEAT_2\r
+# define BOOST_PP_REPEAT_3RD BOOST_PP_REPEAT_3\r
+#\r
+# define BOOST_PP_REPEAT_1_0(m, d)\r
+# define BOOST_PP_REPEAT_1_1(m, d) m(2, 0, d)\r
+# define BOOST_PP_REPEAT_1_2(m, d) BOOST_PP_REPEAT_1_1(m, d) m(2, 1, d)\r
+# define BOOST_PP_REPEAT_1_3(m, d) BOOST_PP_REPEAT_1_2(m, d) m(2, 2, d)\r
+# define BOOST_PP_REPEAT_1_4(m, d) BOOST_PP_REPEAT_1_3(m, d) m(2, 3, d)\r
+# define BOOST_PP_REPEAT_1_5(m, d) BOOST_PP_REPEAT_1_4(m, d) m(2, 4, d)\r
+# define BOOST_PP_REPEAT_1_6(m, d) BOOST_PP_REPEAT_1_5(m, d) m(2, 5, d)\r
+# define BOOST_PP_REPEAT_1_7(m, d) BOOST_PP_REPEAT_1_6(m, d) m(2, 6, d)\r
+# define BOOST_PP_REPEAT_1_8(m, d) BOOST_PP_REPEAT_1_7(m, d) m(2, 7, d)\r
+# define BOOST_PP_REPEAT_1_9(m, d) BOOST_PP_REPEAT_1_8(m, d) m(2, 8, d)\r
+# define BOOST_PP_REPEAT_1_10(m, d) BOOST_PP_REPEAT_1_9(m, d) m(2, 9, d)\r
+# define BOOST_PP_REPEAT_1_11(m, d) BOOST_PP_REPEAT_1_10(m, d) m(2, 10, d)\r
+# define BOOST_PP_REPEAT_1_12(m, d) BOOST_PP_REPEAT_1_11(m, d) m(2, 11, d)\r
+# define BOOST_PP_REPEAT_1_13(m, d) BOOST_PP_REPEAT_1_12(m, d) m(2, 12, d)\r
+# define BOOST_PP_REPEAT_1_14(m, d) BOOST_PP_REPEAT_1_13(m, d) m(2, 13, d)\r
+# define BOOST_PP_REPEAT_1_15(m, d) BOOST_PP_REPEAT_1_14(m, d) m(2, 14, d)\r
+# define BOOST_PP_REPEAT_1_16(m, d) BOOST_PP_REPEAT_1_15(m, d) m(2, 15, d)\r
+# define BOOST_PP_REPEAT_1_17(m, d) BOOST_PP_REPEAT_1_16(m, d) m(2, 16, d)\r
+# define BOOST_PP_REPEAT_1_18(m, d) BOOST_PP_REPEAT_1_17(m, d) m(2, 17, d)\r
+# define BOOST_PP_REPEAT_1_19(m, d) BOOST_PP_REPEAT_1_18(m, d) m(2, 18, d)\r
+# define BOOST_PP_REPEAT_1_20(m, d) BOOST_PP_REPEAT_1_19(m, d) m(2, 19, d)\r
+# define BOOST_PP_REPEAT_1_21(m, d) BOOST_PP_REPEAT_1_20(m, d) m(2, 20, d)\r
+# define BOOST_PP_REPEAT_1_22(m, d) BOOST_PP_REPEAT_1_21(m, d) m(2, 21, d)\r
+# define BOOST_PP_REPEAT_1_23(m, d) BOOST_PP_REPEAT_1_22(m, d) m(2, 22, d)\r
+# define BOOST_PP_REPEAT_1_24(m, d) BOOST_PP_REPEAT_1_23(m, d) m(2, 23, d)\r
+# define BOOST_PP_REPEAT_1_25(m, d) BOOST_PP_REPEAT_1_24(m, d) m(2, 24, d)\r
+# define BOOST_PP_REPEAT_1_26(m, d) BOOST_PP_REPEAT_1_25(m, d) m(2, 25, d)\r
+# define BOOST_PP_REPEAT_1_27(m, d) BOOST_PP_REPEAT_1_26(m, d) m(2, 26, d)\r
+# define BOOST_PP_REPEAT_1_28(m, d) BOOST_PP_REPEAT_1_27(m, d) m(2, 27, d)\r
+# define BOOST_PP_REPEAT_1_29(m, d) BOOST_PP_REPEAT_1_28(m, d) m(2, 28, d)\r
+# define BOOST_PP_REPEAT_1_30(m, d) BOOST_PP_REPEAT_1_29(m, d) m(2, 29, d)\r
+# define BOOST_PP_REPEAT_1_31(m, d) BOOST_PP_REPEAT_1_30(m, d) m(2, 30, d)\r
+# define BOOST_PP_REPEAT_1_32(m, d) BOOST_PP_REPEAT_1_31(m, d) m(2, 31, d)\r
+# define BOOST_PP_REPEAT_1_33(m, d) BOOST_PP_REPEAT_1_32(m, d) m(2, 32, d)\r
+# define BOOST_PP_REPEAT_1_34(m, d) BOOST_PP_REPEAT_1_33(m, d) m(2, 33, d)\r
+# define BOOST_PP_REPEAT_1_35(m, d) BOOST_PP_REPEAT_1_34(m, d) m(2, 34, d)\r
+# define BOOST_PP_REPEAT_1_36(m, d) BOOST_PP_REPEAT_1_35(m, d) m(2, 35, d)\r
+# define BOOST_PP_REPEAT_1_37(m, d) BOOST_PP_REPEAT_1_36(m, d) m(2, 36, d)\r
+# define BOOST_PP_REPEAT_1_38(m, d) BOOST_PP_REPEAT_1_37(m, d) m(2, 37, d)\r
+# define BOOST_PP_REPEAT_1_39(m, d) BOOST_PP_REPEAT_1_38(m, d) m(2, 38, d)\r
+# define BOOST_PP_REPEAT_1_40(m, d) BOOST_PP_REPEAT_1_39(m, d) m(2, 39, d)\r
+# define BOOST_PP_REPEAT_1_41(m, d) BOOST_PP_REPEAT_1_40(m, d) m(2, 40, d)\r
+# define BOOST_PP_REPEAT_1_42(m, d) BOOST_PP_REPEAT_1_41(m, d) m(2, 41, d)\r
+# define BOOST_PP_REPEAT_1_43(m, d) BOOST_PP_REPEAT_1_42(m, d) m(2, 42, d)\r
+# define BOOST_PP_REPEAT_1_44(m, d) BOOST_PP_REPEAT_1_43(m, d) m(2, 43, d)\r
+# define BOOST_PP_REPEAT_1_45(m, d) BOOST_PP_REPEAT_1_44(m, d) m(2, 44, d)\r
+# define BOOST_PP_REPEAT_1_46(m, d) BOOST_PP_REPEAT_1_45(m, d) m(2, 45, d)\r
+# define BOOST_PP_REPEAT_1_47(m, d) BOOST_PP_REPEAT_1_46(m, d) m(2, 46, d)\r
+# define BOOST_PP_REPEAT_1_48(m, d) BOOST_PP_REPEAT_1_47(m, d) m(2, 47, d)\r
+# define BOOST_PP_REPEAT_1_49(m, d) BOOST_PP_REPEAT_1_48(m, d) m(2, 48, d)\r
+# define BOOST_PP_REPEAT_1_50(m, d) BOOST_PP_REPEAT_1_49(m, d) m(2, 49, d)\r
+# define BOOST_PP_REPEAT_1_51(m, d) BOOST_PP_REPEAT_1_50(m, d) m(2, 50, d)\r
+# define BOOST_PP_REPEAT_1_52(m, d) BOOST_PP_REPEAT_1_51(m, d) m(2, 51, d)\r
+# define BOOST_PP_REPEAT_1_53(m, d) BOOST_PP_REPEAT_1_52(m, d) m(2, 52, d)\r
+# define BOOST_PP_REPEAT_1_54(m, d) BOOST_PP_REPEAT_1_53(m, d) m(2, 53, d)\r
+# define BOOST_PP_REPEAT_1_55(m, d) BOOST_PP_REPEAT_1_54(m, d) m(2, 54, d)\r
+# define BOOST_PP_REPEAT_1_56(m, d) BOOST_PP_REPEAT_1_55(m, d) m(2, 55, d)\r
+# define BOOST_PP_REPEAT_1_57(m, d) BOOST_PP_REPEAT_1_56(m, d) m(2, 56, d)\r
+# define BOOST_PP_REPEAT_1_58(m, d) BOOST_PP_REPEAT_1_57(m, d) m(2, 57, d)\r
+# define BOOST_PP_REPEAT_1_59(m, d) BOOST_PP_REPEAT_1_58(m, d) m(2, 58, d)\r
+# define BOOST_PP_REPEAT_1_60(m, d) BOOST_PP_REPEAT_1_59(m, d) m(2, 59, d)\r
+# define BOOST_PP_REPEAT_1_61(m, d) BOOST_PP_REPEAT_1_60(m, d) m(2, 60, d)\r
+# define BOOST_PP_REPEAT_1_62(m, d) BOOST_PP_REPEAT_1_61(m, d) m(2, 61, d)\r
+# define BOOST_PP_REPEAT_1_63(m, d) BOOST_PP_REPEAT_1_62(m, d) m(2, 62, d)\r
+# define BOOST_PP_REPEAT_1_64(m, d) BOOST_PP_REPEAT_1_63(m, d) m(2, 63, d)\r
+# define BOOST_PP_REPEAT_1_65(m, d) BOOST_PP_REPEAT_1_64(m, d) m(2, 64, d)\r
+# define BOOST_PP_REPEAT_1_66(m, d) BOOST_PP_REPEAT_1_65(m, d) m(2, 65, d)\r
+# define BOOST_PP_REPEAT_1_67(m, d) BOOST_PP_REPEAT_1_66(m, d) m(2, 66, d)\r
+# define BOOST_PP_REPEAT_1_68(m, d) BOOST_PP_REPEAT_1_67(m, d) m(2, 67, d)\r
+# define BOOST_PP_REPEAT_1_69(m, d) BOOST_PP_REPEAT_1_68(m, d) m(2, 68, d)\r
+# define BOOST_PP_REPEAT_1_70(m, d) BOOST_PP_REPEAT_1_69(m, d) m(2, 69, d)\r
+# define BOOST_PP_REPEAT_1_71(m, d) BOOST_PP_REPEAT_1_70(m, d) m(2, 70, d)\r
+# define BOOST_PP_REPEAT_1_72(m, d) BOOST_PP_REPEAT_1_71(m, d) m(2, 71, d)\r
+# define BOOST_PP_REPEAT_1_73(m, d) BOOST_PP_REPEAT_1_72(m, d) m(2, 72, d)\r
+# define BOOST_PP_REPEAT_1_74(m, d) BOOST_PP_REPEAT_1_73(m, d) m(2, 73, d)\r
+# define BOOST_PP_REPEAT_1_75(m, d) BOOST_PP_REPEAT_1_74(m, d) m(2, 74, d)\r
+# define BOOST_PP_REPEAT_1_76(m, d) BOOST_PP_REPEAT_1_75(m, d) m(2, 75, d)\r
+# define BOOST_PP_REPEAT_1_77(m, d) BOOST_PP_REPEAT_1_76(m, d) m(2, 76, d)\r
+# define BOOST_PP_REPEAT_1_78(m, d) BOOST_PP_REPEAT_1_77(m, d) m(2, 77, d)\r
+# define BOOST_PP_REPEAT_1_79(m, d) BOOST_PP_REPEAT_1_78(m, d) m(2, 78, d)\r
+# define BOOST_PP_REPEAT_1_80(m, d) BOOST_PP_REPEAT_1_79(m, d) m(2, 79, d)\r
+# define BOOST_PP_REPEAT_1_81(m, d) BOOST_PP_REPEAT_1_80(m, d) m(2, 80, d)\r
+# define BOOST_PP_REPEAT_1_82(m, d) BOOST_PP_REPEAT_1_81(m, d) m(2, 81, d)\r
+# define BOOST_PP_REPEAT_1_83(m, d) BOOST_PP_REPEAT_1_82(m, d) m(2, 82, d)\r
+# define BOOST_PP_REPEAT_1_84(m, d) BOOST_PP_REPEAT_1_83(m, d) m(2, 83, d)\r
+# define BOOST_PP_REPEAT_1_85(m, d) BOOST_PP_REPEAT_1_84(m, d) m(2, 84, d)\r
+# define BOOST_PP_REPEAT_1_86(m, d) BOOST_PP_REPEAT_1_85(m, d) m(2, 85, d)\r
+# define BOOST_PP_REPEAT_1_87(m, d) BOOST_PP_REPEAT_1_86(m, d) m(2, 86, d)\r
+# define BOOST_PP_REPEAT_1_88(m, d) BOOST_PP_REPEAT_1_87(m, d) m(2, 87, d)\r
+# define BOOST_PP_REPEAT_1_89(m, d) BOOST_PP_REPEAT_1_88(m, d) m(2, 88, d)\r
+# define BOOST_PP_REPEAT_1_90(m, d) BOOST_PP_REPEAT_1_89(m, d) m(2, 89, d)\r
+# define BOOST_PP_REPEAT_1_91(m, d) BOOST_PP_REPEAT_1_90(m, d) m(2, 90, d)\r
+# define BOOST_PP_REPEAT_1_92(m, d) BOOST_PP_REPEAT_1_91(m, d) m(2, 91, d)\r
+# define BOOST_PP_REPEAT_1_93(m, d) BOOST_PP_REPEAT_1_92(m, d) m(2, 92, d)\r
+# define BOOST_PP_REPEAT_1_94(m, d) BOOST_PP_REPEAT_1_93(m, d) m(2, 93, d)\r
+# define BOOST_PP_REPEAT_1_95(m, d) BOOST_PP_REPEAT_1_94(m, d) m(2, 94, d)\r
+# define BOOST_PP_REPEAT_1_96(m, d) BOOST_PP_REPEAT_1_95(m, d) m(2, 95, d)\r
+# define BOOST_PP_REPEAT_1_97(m, d) BOOST_PP_REPEAT_1_96(m, d) m(2, 96, d)\r
+# define BOOST_PP_REPEAT_1_98(m, d) BOOST_PP_REPEAT_1_97(m, d) m(2, 97, d)\r
+# define BOOST_PP_REPEAT_1_99(m, d) BOOST_PP_REPEAT_1_98(m, d) m(2, 98, d)\r
+# define BOOST_PP_REPEAT_1_100(m, d) BOOST_PP_REPEAT_1_99(m, d) m(2, 99, d)\r
+# define BOOST_PP_REPEAT_1_101(m, d) BOOST_PP_REPEAT_1_100(m, d) m(2, 100, d)\r
+# define BOOST_PP_REPEAT_1_102(m, d) BOOST_PP_REPEAT_1_101(m, d) m(2, 101, d)\r
+# define BOOST_PP_REPEAT_1_103(m, d) BOOST_PP_REPEAT_1_102(m, d) m(2, 102, d)\r
+# define BOOST_PP_REPEAT_1_104(m, d) BOOST_PP_REPEAT_1_103(m, d) m(2, 103, d)\r
+# define BOOST_PP_REPEAT_1_105(m, d) BOOST_PP_REPEAT_1_104(m, d) m(2, 104, d)\r
+# define BOOST_PP_REPEAT_1_106(m, d) BOOST_PP_REPEAT_1_105(m, d) m(2, 105, d)\r
+# define BOOST_PP_REPEAT_1_107(m, d) BOOST_PP_REPEAT_1_106(m, d) m(2, 106, d)\r
+# define BOOST_PP_REPEAT_1_108(m, d) BOOST_PP_REPEAT_1_107(m, d) m(2, 107, d)\r
+# define BOOST_PP_REPEAT_1_109(m, d) BOOST_PP_REPEAT_1_108(m, d) m(2, 108, d)\r
+# define BOOST_PP_REPEAT_1_110(m, d) BOOST_PP_REPEAT_1_109(m, d) m(2, 109, d)\r
+# define BOOST_PP_REPEAT_1_111(m, d) BOOST_PP_REPEAT_1_110(m, d) m(2, 110, d)\r
+# define BOOST_PP_REPEAT_1_112(m, d) BOOST_PP_REPEAT_1_111(m, d) m(2, 111, d)\r
+# define BOOST_PP_REPEAT_1_113(m, d) BOOST_PP_REPEAT_1_112(m, d) m(2, 112, d)\r
+# define BOOST_PP_REPEAT_1_114(m, d) BOOST_PP_REPEAT_1_113(m, d) m(2, 113, d)\r
+# define BOOST_PP_REPEAT_1_115(m, d) BOOST_PP_REPEAT_1_114(m, d) m(2, 114, d)\r
+# define BOOST_PP_REPEAT_1_116(m, d) BOOST_PP_REPEAT_1_115(m, d) m(2, 115, d)\r
+# define BOOST_PP_REPEAT_1_117(m, d) BOOST_PP_REPEAT_1_116(m, d) m(2, 116, d)\r
+# define BOOST_PP_REPEAT_1_118(m, d) BOOST_PP_REPEAT_1_117(m, d) m(2, 117, d)\r
+# define BOOST_PP_REPEAT_1_119(m, d) BOOST_PP_REPEAT_1_118(m, d) m(2, 118, d)\r
+# define BOOST_PP_REPEAT_1_120(m, d) BOOST_PP_REPEAT_1_119(m, d) m(2, 119, d)\r
+# define BOOST_PP_REPEAT_1_121(m, d) BOOST_PP_REPEAT_1_120(m, d) m(2, 120, d)\r
+# define BOOST_PP_REPEAT_1_122(m, d) BOOST_PP_REPEAT_1_121(m, d) m(2, 121, d)\r
+# define BOOST_PP_REPEAT_1_123(m, d) BOOST_PP_REPEAT_1_122(m, d) m(2, 122, d)\r
+# define BOOST_PP_REPEAT_1_124(m, d) BOOST_PP_REPEAT_1_123(m, d) m(2, 123, d)\r
+# define BOOST_PP_REPEAT_1_125(m, d) BOOST_PP_REPEAT_1_124(m, d) m(2, 124, d)\r
+# define BOOST_PP_REPEAT_1_126(m, d) BOOST_PP_REPEAT_1_125(m, d) m(2, 125, d)\r
+# define BOOST_PP_REPEAT_1_127(m, d) BOOST_PP_REPEAT_1_126(m, d) m(2, 126, d)\r
+# define BOOST_PP_REPEAT_1_128(m, d) BOOST_PP_REPEAT_1_127(m, d) m(2, 127, d)\r
+# define BOOST_PP_REPEAT_1_129(m, d) BOOST_PP_REPEAT_1_128(m, d) m(2, 128, d)\r
+# define BOOST_PP_REPEAT_1_130(m, d) BOOST_PP_REPEAT_1_129(m, d) m(2, 129, d)\r
+# define BOOST_PP_REPEAT_1_131(m, d) BOOST_PP_REPEAT_1_130(m, d) m(2, 130, d)\r
+# define BOOST_PP_REPEAT_1_132(m, d) BOOST_PP_REPEAT_1_131(m, d) m(2, 131, d)\r
+# define BOOST_PP_REPEAT_1_133(m, d) BOOST_PP_REPEAT_1_132(m, d) m(2, 132, d)\r
+# define BOOST_PP_REPEAT_1_134(m, d) BOOST_PP_REPEAT_1_133(m, d) m(2, 133, d)\r
+# define BOOST_PP_REPEAT_1_135(m, d) BOOST_PP_REPEAT_1_134(m, d) m(2, 134, d)\r
+# define BOOST_PP_REPEAT_1_136(m, d) BOOST_PP_REPEAT_1_135(m, d) m(2, 135, d)\r
+# define BOOST_PP_REPEAT_1_137(m, d) BOOST_PP_REPEAT_1_136(m, d) m(2, 136, d)\r
+# define BOOST_PP_REPEAT_1_138(m, d) BOOST_PP_REPEAT_1_137(m, d) m(2, 137, d)\r
+# define BOOST_PP_REPEAT_1_139(m, d) BOOST_PP_REPEAT_1_138(m, d) m(2, 138, d)\r
+# define BOOST_PP_REPEAT_1_140(m, d) BOOST_PP_REPEAT_1_139(m, d) m(2, 139, d)\r
+# define BOOST_PP_REPEAT_1_141(m, d) BOOST_PP_REPEAT_1_140(m, d) m(2, 140, d)\r
+# define BOOST_PP_REPEAT_1_142(m, d) BOOST_PP_REPEAT_1_141(m, d) m(2, 141, d)\r
+# define BOOST_PP_REPEAT_1_143(m, d) BOOST_PP_REPEAT_1_142(m, d) m(2, 142, d)\r
+# define BOOST_PP_REPEAT_1_144(m, d) BOOST_PP_REPEAT_1_143(m, d) m(2, 143, d)\r
+# define BOOST_PP_REPEAT_1_145(m, d) BOOST_PP_REPEAT_1_144(m, d) m(2, 144, d)\r
+# define BOOST_PP_REPEAT_1_146(m, d) BOOST_PP_REPEAT_1_145(m, d) m(2, 145, d)\r
+# define BOOST_PP_REPEAT_1_147(m, d) BOOST_PP_REPEAT_1_146(m, d) m(2, 146, d)\r
+# define BOOST_PP_REPEAT_1_148(m, d) BOOST_PP_REPEAT_1_147(m, d) m(2, 147, d)\r
+# define BOOST_PP_REPEAT_1_149(m, d) BOOST_PP_REPEAT_1_148(m, d) m(2, 148, d)\r
+# define BOOST_PP_REPEAT_1_150(m, d) BOOST_PP_REPEAT_1_149(m, d) m(2, 149, d)\r
+# define BOOST_PP_REPEAT_1_151(m, d) BOOST_PP_REPEAT_1_150(m, d) m(2, 150, d)\r
+# define BOOST_PP_REPEAT_1_152(m, d) BOOST_PP_REPEAT_1_151(m, d) m(2, 151, d)\r
+# define BOOST_PP_REPEAT_1_153(m, d) BOOST_PP_REPEAT_1_152(m, d) m(2, 152, d)\r
+# define BOOST_PP_REPEAT_1_154(m, d) BOOST_PP_REPEAT_1_153(m, d) m(2, 153, d)\r
+# define BOOST_PP_REPEAT_1_155(m, d) BOOST_PP_REPEAT_1_154(m, d) m(2, 154, d)\r
+# define BOOST_PP_REPEAT_1_156(m, d) BOOST_PP_REPEAT_1_155(m, d) m(2, 155, d)\r
+# define BOOST_PP_REPEAT_1_157(m, d) BOOST_PP_REPEAT_1_156(m, d) m(2, 156, d)\r
+# define BOOST_PP_REPEAT_1_158(m, d) BOOST_PP_REPEAT_1_157(m, d) m(2, 157, d)\r
+# define BOOST_PP_REPEAT_1_159(m, d) BOOST_PP_REPEAT_1_158(m, d) m(2, 158, d)\r
+# define BOOST_PP_REPEAT_1_160(m, d) BOOST_PP_REPEAT_1_159(m, d) m(2, 159, d)\r
+# define BOOST_PP_REPEAT_1_161(m, d) BOOST_PP_REPEAT_1_160(m, d) m(2, 160, d)\r
+# define BOOST_PP_REPEAT_1_162(m, d) BOOST_PP_REPEAT_1_161(m, d) m(2, 161, d)\r
+# define BOOST_PP_REPEAT_1_163(m, d) BOOST_PP_REPEAT_1_162(m, d) m(2, 162, d)\r
+# define BOOST_PP_REPEAT_1_164(m, d) BOOST_PP_REPEAT_1_163(m, d) m(2, 163, d)\r
+# define BOOST_PP_REPEAT_1_165(m, d) BOOST_PP_REPEAT_1_164(m, d) m(2, 164, d)\r
+# define BOOST_PP_REPEAT_1_166(m, d) BOOST_PP_REPEAT_1_165(m, d) m(2, 165, d)\r
+# define BOOST_PP_REPEAT_1_167(m, d) BOOST_PP_REPEAT_1_166(m, d) m(2, 166, d)\r
+# define BOOST_PP_REPEAT_1_168(m, d) BOOST_PP_REPEAT_1_167(m, d) m(2, 167, d)\r
+# define BOOST_PP_REPEAT_1_169(m, d) BOOST_PP_REPEAT_1_168(m, d) m(2, 168, d)\r
+# define BOOST_PP_REPEAT_1_170(m, d) BOOST_PP_REPEAT_1_169(m, d) m(2, 169, d)\r
+# define BOOST_PP_REPEAT_1_171(m, d) BOOST_PP_REPEAT_1_170(m, d) m(2, 170, d)\r
+# define BOOST_PP_REPEAT_1_172(m, d) BOOST_PP_REPEAT_1_171(m, d) m(2, 171, d)\r
+# define BOOST_PP_REPEAT_1_173(m, d) BOOST_PP_REPEAT_1_172(m, d) m(2, 172, d)\r
+# define BOOST_PP_REPEAT_1_174(m, d) BOOST_PP_REPEAT_1_173(m, d) m(2, 173, d)\r
+# define BOOST_PP_REPEAT_1_175(m, d) BOOST_PP_REPEAT_1_174(m, d) m(2, 174, d)\r
+# define BOOST_PP_REPEAT_1_176(m, d) BOOST_PP_REPEAT_1_175(m, d) m(2, 175, d)\r
+# define BOOST_PP_REPEAT_1_177(m, d) BOOST_PP_REPEAT_1_176(m, d) m(2, 176, d)\r
+# define BOOST_PP_REPEAT_1_178(m, d) BOOST_PP_REPEAT_1_177(m, d) m(2, 177, d)\r
+# define BOOST_PP_REPEAT_1_179(m, d) BOOST_PP_REPEAT_1_178(m, d) m(2, 178, d)\r
+# define BOOST_PP_REPEAT_1_180(m, d) BOOST_PP_REPEAT_1_179(m, d) m(2, 179, d)\r
+# define BOOST_PP_REPEAT_1_181(m, d) BOOST_PP_REPEAT_1_180(m, d) m(2, 180, d)\r
+# define BOOST_PP_REPEAT_1_182(m, d) BOOST_PP_REPEAT_1_181(m, d) m(2, 181, d)\r
+# define BOOST_PP_REPEAT_1_183(m, d) BOOST_PP_REPEAT_1_182(m, d) m(2, 182, d)\r
+# define BOOST_PP_REPEAT_1_184(m, d) BOOST_PP_REPEAT_1_183(m, d) m(2, 183, d)\r
+# define BOOST_PP_REPEAT_1_185(m, d) BOOST_PP_REPEAT_1_184(m, d) m(2, 184, d)\r
+# define BOOST_PP_REPEAT_1_186(m, d) BOOST_PP_REPEAT_1_185(m, d) m(2, 185, d)\r
+# define BOOST_PP_REPEAT_1_187(m, d) BOOST_PP_REPEAT_1_186(m, d) m(2, 186, d)\r
+# define BOOST_PP_REPEAT_1_188(m, d) BOOST_PP_REPEAT_1_187(m, d) m(2, 187, d)\r
+# define BOOST_PP_REPEAT_1_189(m, d) BOOST_PP_REPEAT_1_188(m, d) m(2, 188, d)\r
+# define BOOST_PP_REPEAT_1_190(m, d) BOOST_PP_REPEAT_1_189(m, d) m(2, 189, d)\r
+# define BOOST_PP_REPEAT_1_191(m, d) BOOST_PP_REPEAT_1_190(m, d) m(2, 190, d)\r
+# define BOOST_PP_REPEAT_1_192(m, d) BOOST_PP_REPEAT_1_191(m, d) m(2, 191, d)\r
+# define BOOST_PP_REPEAT_1_193(m, d) BOOST_PP_REPEAT_1_192(m, d) m(2, 192, d)\r
+# define BOOST_PP_REPEAT_1_194(m, d) BOOST_PP_REPEAT_1_193(m, d) m(2, 193, d)\r
+# define BOOST_PP_REPEAT_1_195(m, d) BOOST_PP_REPEAT_1_194(m, d) m(2, 194, d)\r
+# define BOOST_PP_REPEAT_1_196(m, d) BOOST_PP_REPEAT_1_195(m, d) m(2, 195, d)\r
+# define BOOST_PP_REPEAT_1_197(m, d) BOOST_PP_REPEAT_1_196(m, d) m(2, 196, d)\r
+# define BOOST_PP_REPEAT_1_198(m, d) BOOST_PP_REPEAT_1_197(m, d) m(2, 197, d)\r
+# define BOOST_PP_REPEAT_1_199(m, d) BOOST_PP_REPEAT_1_198(m, d) m(2, 198, d)\r
+# define BOOST_PP_REPEAT_1_200(m, d) BOOST_PP_REPEAT_1_199(m, d) m(2, 199, d)\r
+# define BOOST_PP_REPEAT_1_201(m, d) BOOST_PP_REPEAT_1_200(m, d) m(2, 200, d)\r
+# define BOOST_PP_REPEAT_1_202(m, d) BOOST_PP_REPEAT_1_201(m, d) m(2, 201, d)\r
+# define BOOST_PP_REPEAT_1_203(m, d) BOOST_PP_REPEAT_1_202(m, d) m(2, 202, d)\r
+# define BOOST_PP_REPEAT_1_204(m, d) BOOST_PP_REPEAT_1_203(m, d) m(2, 203, d)\r
+# define BOOST_PP_REPEAT_1_205(m, d) BOOST_PP_REPEAT_1_204(m, d) m(2, 204, d)\r
+# define BOOST_PP_REPEAT_1_206(m, d) BOOST_PP_REPEAT_1_205(m, d) m(2, 205, d)\r
+# define BOOST_PP_REPEAT_1_207(m, d) BOOST_PP_REPEAT_1_206(m, d) m(2, 206, d)\r
+# define BOOST_PP_REPEAT_1_208(m, d) BOOST_PP_REPEAT_1_207(m, d) m(2, 207, d)\r
+# define BOOST_PP_REPEAT_1_209(m, d) BOOST_PP_REPEAT_1_208(m, d) m(2, 208, d)\r
+# define BOOST_PP_REPEAT_1_210(m, d) BOOST_PP_REPEAT_1_209(m, d) m(2, 209, d)\r
+# define BOOST_PP_REPEAT_1_211(m, d) BOOST_PP_REPEAT_1_210(m, d) m(2, 210, d)\r
+# define BOOST_PP_REPEAT_1_212(m, d) BOOST_PP_REPEAT_1_211(m, d) m(2, 211, d)\r
+# define BOOST_PP_REPEAT_1_213(m, d) BOOST_PP_REPEAT_1_212(m, d) m(2, 212, d)\r
+# define BOOST_PP_REPEAT_1_214(m, d) BOOST_PP_REPEAT_1_213(m, d) m(2, 213, d)\r
+# define BOOST_PP_REPEAT_1_215(m, d) BOOST_PP_REPEAT_1_214(m, d) m(2, 214, d)\r
+# define BOOST_PP_REPEAT_1_216(m, d) BOOST_PP_REPEAT_1_215(m, d) m(2, 215, d)\r
+# define BOOST_PP_REPEAT_1_217(m, d) BOOST_PP_REPEAT_1_216(m, d) m(2, 216, d)\r
+# define BOOST_PP_REPEAT_1_218(m, d) BOOST_PP_REPEAT_1_217(m, d) m(2, 217, d)\r
+# define BOOST_PP_REPEAT_1_219(m, d) BOOST_PP_REPEAT_1_218(m, d) m(2, 218, d)\r
+# define BOOST_PP_REPEAT_1_220(m, d) BOOST_PP_REPEAT_1_219(m, d) m(2, 219, d)\r
+# define BOOST_PP_REPEAT_1_221(m, d) BOOST_PP_REPEAT_1_220(m, d) m(2, 220, d)\r
+# define BOOST_PP_REPEAT_1_222(m, d) BOOST_PP_REPEAT_1_221(m, d) m(2, 221, d)\r
+# define BOOST_PP_REPEAT_1_223(m, d) BOOST_PP_REPEAT_1_222(m, d) m(2, 222, d)\r
+# define BOOST_PP_REPEAT_1_224(m, d) BOOST_PP_REPEAT_1_223(m, d) m(2, 223, d)\r
+# define BOOST_PP_REPEAT_1_225(m, d) BOOST_PP_REPEAT_1_224(m, d) m(2, 224, d)\r
+# define BOOST_PP_REPEAT_1_226(m, d) BOOST_PP_REPEAT_1_225(m, d) m(2, 225, d)\r
+# define BOOST_PP_REPEAT_1_227(m, d) BOOST_PP_REPEAT_1_226(m, d) m(2, 226, d)\r
+# define BOOST_PP_REPEAT_1_228(m, d) BOOST_PP_REPEAT_1_227(m, d) m(2, 227, d)\r
+# define BOOST_PP_REPEAT_1_229(m, d) BOOST_PP_REPEAT_1_228(m, d) m(2, 228, d)\r
+# define BOOST_PP_REPEAT_1_230(m, d) BOOST_PP_REPEAT_1_229(m, d) m(2, 229, d)\r
+# define BOOST_PP_REPEAT_1_231(m, d) BOOST_PP_REPEAT_1_230(m, d) m(2, 230, d)\r
+# define BOOST_PP_REPEAT_1_232(m, d) BOOST_PP_REPEAT_1_231(m, d) m(2, 231, d)\r
+# define BOOST_PP_REPEAT_1_233(m, d) BOOST_PP_REPEAT_1_232(m, d) m(2, 232, d)\r
+# define BOOST_PP_REPEAT_1_234(m, d) BOOST_PP_REPEAT_1_233(m, d) m(2, 233, d)\r
+# define BOOST_PP_REPEAT_1_235(m, d) BOOST_PP_REPEAT_1_234(m, d) m(2, 234, d)\r
+# define BOOST_PP_REPEAT_1_236(m, d) BOOST_PP_REPEAT_1_235(m, d) m(2, 235, d)\r
+# define BOOST_PP_REPEAT_1_237(m, d) BOOST_PP_REPEAT_1_236(m, d) m(2, 236, d)\r
+# define BOOST_PP_REPEAT_1_238(m, d) BOOST_PP_REPEAT_1_237(m, d) m(2, 237, d)\r
+# define BOOST_PP_REPEAT_1_239(m, d) BOOST_PP_REPEAT_1_238(m, d) m(2, 238, d)\r
+# define BOOST_PP_REPEAT_1_240(m, d) BOOST_PP_REPEAT_1_239(m, d) m(2, 239, d)\r
+# define BOOST_PP_REPEAT_1_241(m, d) BOOST_PP_REPEAT_1_240(m, d) m(2, 240, d)\r
+# define BOOST_PP_REPEAT_1_242(m, d) BOOST_PP_REPEAT_1_241(m, d) m(2, 241, d)\r
+# define BOOST_PP_REPEAT_1_243(m, d) BOOST_PP_REPEAT_1_242(m, d) m(2, 242, d)\r
+# define BOOST_PP_REPEAT_1_244(m, d) BOOST_PP_REPEAT_1_243(m, d) m(2, 243, d)\r
+# define BOOST_PP_REPEAT_1_245(m, d) BOOST_PP_REPEAT_1_244(m, d) m(2, 244, d)\r
+# define BOOST_PP_REPEAT_1_246(m, d) BOOST_PP_REPEAT_1_245(m, d) m(2, 245, d)\r
+# define BOOST_PP_REPEAT_1_247(m, d) BOOST_PP_REPEAT_1_246(m, d) m(2, 246, d)\r
+# define BOOST_PP_REPEAT_1_248(m, d) BOOST_PP_REPEAT_1_247(m, d) m(2, 247, d)\r
+# define BOOST_PP_REPEAT_1_249(m, d) BOOST_PP_REPEAT_1_248(m, d) m(2, 248, d)\r
+# define BOOST_PP_REPEAT_1_250(m, d) BOOST_PP_REPEAT_1_249(m, d) m(2, 249, d)\r
+# define BOOST_PP_REPEAT_1_251(m, d) BOOST_PP_REPEAT_1_250(m, d) m(2, 250, d)\r
+# define BOOST_PP_REPEAT_1_252(m, d) BOOST_PP_REPEAT_1_251(m, d) m(2, 251, d)\r
+# define BOOST_PP_REPEAT_1_253(m, d) BOOST_PP_REPEAT_1_252(m, d) m(2, 252, d)\r
+# define BOOST_PP_REPEAT_1_254(m, d) BOOST_PP_REPEAT_1_253(m, d) m(2, 253, d)\r
+# define BOOST_PP_REPEAT_1_255(m, d) BOOST_PP_REPEAT_1_254(m, d) m(2, 254, d)\r
+# define BOOST_PP_REPEAT_1_256(m, d) BOOST_PP_REPEAT_1_255(m, d) m(2, 255, d)\r
+#\r
+# define BOOST_PP_REPEAT_2_0(m, d)\r
+# define BOOST_PP_REPEAT_2_1(m, d) m(3, 0, d)\r
+# define BOOST_PP_REPEAT_2_2(m, d) BOOST_PP_REPEAT_2_1(m, d) m(3, 1, d)\r
+# define BOOST_PP_REPEAT_2_3(m, d) BOOST_PP_REPEAT_2_2(m, d) m(3, 2, d)\r
+# define BOOST_PP_REPEAT_2_4(m, d) BOOST_PP_REPEAT_2_3(m, d) m(3, 3, d)\r
+# define BOOST_PP_REPEAT_2_5(m, d) BOOST_PP_REPEAT_2_4(m, d) m(3, 4, d)\r
+# define BOOST_PP_REPEAT_2_6(m, d) BOOST_PP_REPEAT_2_5(m, d) m(3, 5, d)\r
+# define BOOST_PP_REPEAT_2_7(m, d) BOOST_PP_REPEAT_2_6(m, d) m(3, 6, d)\r
+# define BOOST_PP_REPEAT_2_8(m, d) BOOST_PP_REPEAT_2_7(m, d) m(3, 7, d)\r
+# define BOOST_PP_REPEAT_2_9(m, d) BOOST_PP_REPEAT_2_8(m, d) m(3, 8, d)\r
+# define BOOST_PP_REPEAT_2_10(m, d) BOOST_PP_REPEAT_2_9(m, d) m(3, 9, d)\r
+# define BOOST_PP_REPEAT_2_11(m, d) BOOST_PP_REPEAT_2_10(m, d) m(3, 10, d)\r
+# define BOOST_PP_REPEAT_2_12(m, d) BOOST_PP_REPEAT_2_11(m, d) m(3, 11, d)\r
+# define BOOST_PP_REPEAT_2_13(m, d) BOOST_PP_REPEAT_2_12(m, d) m(3, 12, d)\r
+# define BOOST_PP_REPEAT_2_14(m, d) BOOST_PP_REPEAT_2_13(m, d) m(3, 13, d)\r
+# define BOOST_PP_REPEAT_2_15(m, d) BOOST_PP_REPEAT_2_14(m, d) m(3, 14, d)\r
+# define BOOST_PP_REPEAT_2_16(m, d) BOOST_PP_REPEAT_2_15(m, d) m(3, 15, d)\r
+# define BOOST_PP_REPEAT_2_17(m, d) BOOST_PP_REPEAT_2_16(m, d) m(3, 16, d)\r
+# define BOOST_PP_REPEAT_2_18(m, d) BOOST_PP_REPEAT_2_17(m, d) m(3, 17, d)\r
+# define BOOST_PP_REPEAT_2_19(m, d) BOOST_PP_REPEAT_2_18(m, d) m(3, 18, d)\r
+# define BOOST_PP_REPEAT_2_20(m, d) BOOST_PP_REPEAT_2_19(m, d) m(3, 19, d)\r
+# define BOOST_PP_REPEAT_2_21(m, d) BOOST_PP_REPEAT_2_20(m, d) m(3, 20, d)\r
+# define BOOST_PP_REPEAT_2_22(m, d) BOOST_PP_REPEAT_2_21(m, d) m(3, 21, d)\r
+# define BOOST_PP_REPEAT_2_23(m, d) BOOST_PP_REPEAT_2_22(m, d) m(3, 22, d)\r
+# define BOOST_PP_REPEAT_2_24(m, d) BOOST_PP_REPEAT_2_23(m, d) m(3, 23, d)\r
+# define BOOST_PP_REPEAT_2_25(m, d) BOOST_PP_REPEAT_2_24(m, d) m(3, 24, d)\r
+# define BOOST_PP_REPEAT_2_26(m, d) BOOST_PP_REPEAT_2_25(m, d) m(3, 25, d)\r
+# define BOOST_PP_REPEAT_2_27(m, d) BOOST_PP_REPEAT_2_26(m, d) m(3, 26, d)\r
+# define BOOST_PP_REPEAT_2_28(m, d) BOOST_PP_REPEAT_2_27(m, d) m(3, 27, d)\r
+# define BOOST_PP_REPEAT_2_29(m, d) BOOST_PP_REPEAT_2_28(m, d) m(3, 28, d)\r
+# define BOOST_PP_REPEAT_2_30(m, d) BOOST_PP_REPEAT_2_29(m, d) m(3, 29, d)\r
+# define BOOST_PP_REPEAT_2_31(m, d) BOOST_PP_REPEAT_2_30(m, d) m(3, 30, d)\r
+# define BOOST_PP_REPEAT_2_32(m, d) BOOST_PP_REPEAT_2_31(m, d) m(3, 31, d)\r
+# define BOOST_PP_REPEAT_2_33(m, d) BOOST_PP_REPEAT_2_32(m, d) m(3, 32, d)\r
+# define BOOST_PP_REPEAT_2_34(m, d) BOOST_PP_REPEAT_2_33(m, d) m(3, 33, d)\r
+# define BOOST_PP_REPEAT_2_35(m, d) BOOST_PP_REPEAT_2_34(m, d) m(3, 34, d)\r
+# define BOOST_PP_REPEAT_2_36(m, d) BOOST_PP_REPEAT_2_35(m, d) m(3, 35, d)\r
+# define BOOST_PP_REPEAT_2_37(m, d) BOOST_PP_REPEAT_2_36(m, d) m(3, 36, d)\r
+# define BOOST_PP_REPEAT_2_38(m, d) BOOST_PP_REPEAT_2_37(m, d) m(3, 37, d)\r
+# define BOOST_PP_REPEAT_2_39(m, d) BOOST_PP_REPEAT_2_38(m, d) m(3, 38, d)\r
+# define BOOST_PP_REPEAT_2_40(m, d) BOOST_PP_REPEAT_2_39(m, d) m(3, 39, d)\r
+# define BOOST_PP_REPEAT_2_41(m, d) BOOST_PP_REPEAT_2_40(m, d) m(3, 40, d)\r
+# define BOOST_PP_REPEAT_2_42(m, d) BOOST_PP_REPEAT_2_41(m, d) m(3, 41, d)\r
+# define BOOST_PP_REPEAT_2_43(m, d) BOOST_PP_REPEAT_2_42(m, d) m(3, 42, d)\r
+# define BOOST_PP_REPEAT_2_44(m, d) BOOST_PP_REPEAT_2_43(m, d) m(3, 43, d)\r
+# define BOOST_PP_REPEAT_2_45(m, d) BOOST_PP_REPEAT_2_44(m, d) m(3, 44, d)\r
+# define BOOST_PP_REPEAT_2_46(m, d) BOOST_PP_REPEAT_2_45(m, d) m(3, 45, d)\r
+# define BOOST_PP_REPEAT_2_47(m, d) BOOST_PP_REPEAT_2_46(m, d) m(3, 46, d)\r
+# define BOOST_PP_REPEAT_2_48(m, d) BOOST_PP_REPEAT_2_47(m, d) m(3, 47, d)\r
+# define BOOST_PP_REPEAT_2_49(m, d) BOOST_PP_REPEAT_2_48(m, d) m(3, 48, d)\r
+# define BOOST_PP_REPEAT_2_50(m, d) BOOST_PP_REPEAT_2_49(m, d) m(3, 49, d)\r
+# define BOOST_PP_REPEAT_2_51(m, d) BOOST_PP_REPEAT_2_50(m, d) m(3, 50, d)\r
+# define BOOST_PP_REPEAT_2_52(m, d) BOOST_PP_REPEAT_2_51(m, d) m(3, 51, d)\r
+# define BOOST_PP_REPEAT_2_53(m, d) BOOST_PP_REPEAT_2_52(m, d) m(3, 52, d)\r
+# define BOOST_PP_REPEAT_2_54(m, d) BOOST_PP_REPEAT_2_53(m, d) m(3, 53, d)\r
+# define BOOST_PP_REPEAT_2_55(m, d) BOOST_PP_REPEAT_2_54(m, d) m(3, 54, d)\r
+# define BOOST_PP_REPEAT_2_56(m, d) BOOST_PP_REPEAT_2_55(m, d) m(3, 55, d)\r
+# define BOOST_PP_REPEAT_2_57(m, d) BOOST_PP_REPEAT_2_56(m, d) m(3, 56, d)\r
+# define BOOST_PP_REPEAT_2_58(m, d) BOOST_PP_REPEAT_2_57(m, d) m(3, 57, d)\r
+# define BOOST_PP_REPEAT_2_59(m, d) BOOST_PP_REPEAT_2_58(m, d) m(3, 58, d)\r
+# define BOOST_PP_REPEAT_2_60(m, d) BOOST_PP_REPEAT_2_59(m, d) m(3, 59, d)\r
+# define BOOST_PP_REPEAT_2_61(m, d) BOOST_PP_REPEAT_2_60(m, d) m(3, 60, d)\r
+# define BOOST_PP_REPEAT_2_62(m, d) BOOST_PP_REPEAT_2_61(m, d) m(3, 61, d)\r
+# define BOOST_PP_REPEAT_2_63(m, d) BOOST_PP_REPEAT_2_62(m, d) m(3, 62, d)\r
+# define BOOST_PP_REPEAT_2_64(m, d) BOOST_PP_REPEAT_2_63(m, d) m(3, 63, d)\r
+# define BOOST_PP_REPEAT_2_65(m, d) BOOST_PP_REPEAT_2_64(m, d) m(3, 64, d)\r
+# define BOOST_PP_REPEAT_2_66(m, d) BOOST_PP_REPEAT_2_65(m, d) m(3, 65, d)\r
+# define BOOST_PP_REPEAT_2_67(m, d) BOOST_PP_REPEAT_2_66(m, d) m(3, 66, d)\r
+# define BOOST_PP_REPEAT_2_68(m, d) BOOST_PP_REPEAT_2_67(m, d) m(3, 67, d)\r
+# define BOOST_PP_REPEAT_2_69(m, d) BOOST_PP_REPEAT_2_68(m, d) m(3, 68, d)\r
+# define BOOST_PP_REPEAT_2_70(m, d) BOOST_PP_REPEAT_2_69(m, d) m(3, 69, d)\r
+# define BOOST_PP_REPEAT_2_71(m, d) BOOST_PP_REPEAT_2_70(m, d) m(3, 70, d)\r
+# define BOOST_PP_REPEAT_2_72(m, d) BOOST_PP_REPEAT_2_71(m, d) m(3, 71, d)\r
+# define BOOST_PP_REPEAT_2_73(m, d) BOOST_PP_REPEAT_2_72(m, d) m(3, 72, d)\r
+# define BOOST_PP_REPEAT_2_74(m, d) BOOST_PP_REPEAT_2_73(m, d) m(3, 73, d)\r
+# define BOOST_PP_REPEAT_2_75(m, d) BOOST_PP_REPEAT_2_74(m, d) m(3, 74, d)\r
+# define BOOST_PP_REPEAT_2_76(m, d) BOOST_PP_REPEAT_2_75(m, d) m(3, 75, d)\r
+# define BOOST_PP_REPEAT_2_77(m, d) BOOST_PP_REPEAT_2_76(m, d) m(3, 76, d)\r
+# define BOOST_PP_REPEAT_2_78(m, d) BOOST_PP_REPEAT_2_77(m, d) m(3, 77, d)\r
+# define BOOST_PP_REPEAT_2_79(m, d) BOOST_PP_REPEAT_2_78(m, d) m(3, 78, d)\r
+# define BOOST_PP_REPEAT_2_80(m, d) BOOST_PP_REPEAT_2_79(m, d) m(3, 79, d)\r
+# define BOOST_PP_REPEAT_2_81(m, d) BOOST_PP_REPEAT_2_80(m, d) m(3, 80, d)\r
+# define BOOST_PP_REPEAT_2_82(m, d) BOOST_PP_REPEAT_2_81(m, d) m(3, 81, d)\r
+# define BOOST_PP_REPEAT_2_83(m, d) BOOST_PP_REPEAT_2_82(m, d) m(3, 82, d)\r
+# define BOOST_PP_REPEAT_2_84(m, d) BOOST_PP_REPEAT_2_83(m, d) m(3, 83, d)\r
+# define BOOST_PP_REPEAT_2_85(m, d) BOOST_PP_REPEAT_2_84(m, d) m(3, 84, d)\r
+# define BOOST_PP_REPEAT_2_86(m, d) BOOST_PP_REPEAT_2_85(m, d) m(3, 85, d)\r
+# define BOOST_PP_REPEAT_2_87(m, d) BOOST_PP_REPEAT_2_86(m, d) m(3, 86, d)\r
+# define BOOST_PP_REPEAT_2_88(m, d) BOOST_PP_REPEAT_2_87(m, d) m(3, 87, d)\r
+# define BOOST_PP_REPEAT_2_89(m, d) BOOST_PP_REPEAT_2_88(m, d) m(3, 88, d)\r
+# define BOOST_PP_REPEAT_2_90(m, d) BOOST_PP_REPEAT_2_89(m, d) m(3, 89, d)\r
+# define BOOST_PP_REPEAT_2_91(m, d) BOOST_PP_REPEAT_2_90(m, d) m(3, 90, d)\r
+# define BOOST_PP_REPEAT_2_92(m, d) BOOST_PP_REPEAT_2_91(m, d) m(3, 91, d)\r
+# define BOOST_PP_REPEAT_2_93(m, d) BOOST_PP_REPEAT_2_92(m, d) m(3, 92, d)\r
+# define BOOST_PP_REPEAT_2_94(m, d) BOOST_PP_REPEAT_2_93(m, d) m(3, 93, d)\r
+# define BOOST_PP_REPEAT_2_95(m, d) BOOST_PP_REPEAT_2_94(m, d) m(3, 94, d)\r
+# define BOOST_PP_REPEAT_2_96(m, d) BOOST_PP_REPEAT_2_95(m, d) m(3, 95, d)\r
+# define BOOST_PP_REPEAT_2_97(m, d) BOOST_PP_REPEAT_2_96(m, d) m(3, 96, d)\r
+# define BOOST_PP_REPEAT_2_98(m, d) BOOST_PP_REPEAT_2_97(m, d) m(3, 97, d)\r
+# define BOOST_PP_REPEAT_2_99(m, d) BOOST_PP_REPEAT_2_98(m, d) m(3, 98, d)\r
+# define BOOST_PP_REPEAT_2_100(m, d) BOOST_PP_REPEAT_2_99(m, d) m(3, 99, d)\r
+# define BOOST_PP_REPEAT_2_101(m, d) BOOST_PP_REPEAT_2_100(m, d) m(3, 100, d)\r
+# define BOOST_PP_REPEAT_2_102(m, d) BOOST_PP_REPEAT_2_101(m, d) m(3, 101, d)\r
+# define BOOST_PP_REPEAT_2_103(m, d) BOOST_PP_REPEAT_2_102(m, d) m(3, 102, d)\r
+# define BOOST_PP_REPEAT_2_104(m, d) BOOST_PP_REPEAT_2_103(m, d) m(3, 103, d)\r
+# define BOOST_PP_REPEAT_2_105(m, d) BOOST_PP_REPEAT_2_104(m, d) m(3, 104, d)\r
+# define BOOST_PP_REPEAT_2_106(m, d) BOOST_PP_REPEAT_2_105(m, d) m(3, 105, d)\r
+# define BOOST_PP_REPEAT_2_107(m, d) BOOST_PP_REPEAT_2_106(m, d) m(3, 106, d)\r
+# define BOOST_PP_REPEAT_2_108(m, d) BOOST_PP_REPEAT_2_107(m, d) m(3, 107, d)\r
+# define BOOST_PP_REPEAT_2_109(m, d) BOOST_PP_REPEAT_2_108(m, d) m(3, 108, d)\r
+# define BOOST_PP_REPEAT_2_110(m, d) BOOST_PP_REPEAT_2_109(m, d) m(3, 109, d)\r
+# define BOOST_PP_REPEAT_2_111(m, d) BOOST_PP_REPEAT_2_110(m, d) m(3, 110, d)\r
+# define BOOST_PP_REPEAT_2_112(m, d) BOOST_PP_REPEAT_2_111(m, d) m(3, 111, d)\r
+# define BOOST_PP_REPEAT_2_113(m, d) BOOST_PP_REPEAT_2_112(m, d) m(3, 112, d)\r
+# define BOOST_PP_REPEAT_2_114(m, d) BOOST_PP_REPEAT_2_113(m, d) m(3, 113, d)\r
+# define BOOST_PP_REPEAT_2_115(m, d) BOOST_PP_REPEAT_2_114(m, d) m(3, 114, d)\r
+# define BOOST_PP_REPEAT_2_116(m, d) BOOST_PP_REPEAT_2_115(m, d) m(3, 115, d)\r
+# define BOOST_PP_REPEAT_2_117(m, d) BOOST_PP_REPEAT_2_116(m, d) m(3, 116, d)\r
+# define BOOST_PP_REPEAT_2_118(m, d) BOOST_PP_REPEAT_2_117(m, d) m(3, 117, d)\r
+# define BOOST_PP_REPEAT_2_119(m, d) BOOST_PP_REPEAT_2_118(m, d) m(3, 118, d)\r
+# define BOOST_PP_REPEAT_2_120(m, d) BOOST_PP_REPEAT_2_119(m, d) m(3, 119, d)\r
+# define BOOST_PP_REPEAT_2_121(m, d) BOOST_PP_REPEAT_2_120(m, d) m(3, 120, d)\r
+# define BOOST_PP_REPEAT_2_122(m, d) BOOST_PP_REPEAT_2_121(m, d) m(3, 121, d)\r
+# define BOOST_PP_REPEAT_2_123(m, d) BOOST_PP_REPEAT_2_122(m, d) m(3, 122, d)\r
+# define BOOST_PP_REPEAT_2_124(m, d) BOOST_PP_REPEAT_2_123(m, d) m(3, 123, d)\r
+# define BOOST_PP_REPEAT_2_125(m, d) BOOST_PP_REPEAT_2_124(m, d) m(3, 124, d)\r
+# define BOOST_PP_REPEAT_2_126(m, d) BOOST_PP_REPEAT_2_125(m, d) m(3, 125, d)\r
+# define BOOST_PP_REPEAT_2_127(m, d) BOOST_PP_REPEAT_2_126(m, d) m(3, 126, d)\r
+# define BOOST_PP_REPEAT_2_128(m, d) BOOST_PP_REPEAT_2_127(m, d) m(3, 127, d)\r
+# define BOOST_PP_REPEAT_2_129(m, d) BOOST_PP_REPEAT_2_128(m, d) m(3, 128, d)\r
+# define BOOST_PP_REPEAT_2_130(m, d) BOOST_PP_REPEAT_2_129(m, d) m(3, 129, d)\r
+# define BOOST_PP_REPEAT_2_131(m, d) BOOST_PP_REPEAT_2_130(m, d) m(3, 130, d)\r
+# define BOOST_PP_REPEAT_2_132(m, d) BOOST_PP_REPEAT_2_131(m, d) m(3, 131, d)\r
+# define BOOST_PP_REPEAT_2_133(m, d) BOOST_PP_REPEAT_2_132(m, d) m(3, 132, d)\r
+# define BOOST_PP_REPEAT_2_134(m, d) BOOST_PP_REPEAT_2_133(m, d) m(3, 133, d)\r
+# define BOOST_PP_REPEAT_2_135(m, d) BOOST_PP_REPEAT_2_134(m, d) m(3, 134, d)\r
+# define BOOST_PP_REPEAT_2_136(m, d) BOOST_PP_REPEAT_2_135(m, d) m(3, 135, d)\r
+# define BOOST_PP_REPEAT_2_137(m, d) BOOST_PP_REPEAT_2_136(m, d) m(3, 136, d)\r
+# define BOOST_PP_REPEAT_2_138(m, d) BOOST_PP_REPEAT_2_137(m, d) m(3, 137, d)\r
+# define BOOST_PP_REPEAT_2_139(m, d) BOOST_PP_REPEAT_2_138(m, d) m(3, 138, d)\r
+# define BOOST_PP_REPEAT_2_140(m, d) BOOST_PP_REPEAT_2_139(m, d) m(3, 139, d)\r
+# define BOOST_PP_REPEAT_2_141(m, d) BOOST_PP_REPEAT_2_140(m, d) m(3, 140, d)\r
+# define BOOST_PP_REPEAT_2_142(m, d) BOOST_PP_REPEAT_2_141(m, d) m(3, 141, d)\r
+# define BOOST_PP_REPEAT_2_143(m, d) BOOST_PP_REPEAT_2_142(m, d) m(3, 142, d)\r
+# define BOOST_PP_REPEAT_2_144(m, d) BOOST_PP_REPEAT_2_143(m, d) m(3, 143, d)\r
+# define BOOST_PP_REPEAT_2_145(m, d) BOOST_PP_REPEAT_2_144(m, d) m(3, 144, d)\r
+# define BOOST_PP_REPEAT_2_146(m, d) BOOST_PP_REPEAT_2_145(m, d) m(3, 145, d)\r
+# define BOOST_PP_REPEAT_2_147(m, d) BOOST_PP_REPEAT_2_146(m, d) m(3, 146, d)\r
+# define BOOST_PP_REPEAT_2_148(m, d) BOOST_PP_REPEAT_2_147(m, d) m(3, 147, d)\r
+# define BOOST_PP_REPEAT_2_149(m, d) BOOST_PP_REPEAT_2_148(m, d) m(3, 148, d)\r
+# define BOOST_PP_REPEAT_2_150(m, d) BOOST_PP_REPEAT_2_149(m, d) m(3, 149, d)\r
+# define BOOST_PP_REPEAT_2_151(m, d) BOOST_PP_REPEAT_2_150(m, d) m(3, 150, d)\r
+# define BOOST_PP_REPEAT_2_152(m, d) BOOST_PP_REPEAT_2_151(m, d) m(3, 151, d)\r
+# define BOOST_PP_REPEAT_2_153(m, d) BOOST_PP_REPEAT_2_152(m, d) m(3, 152, d)\r
+# define BOOST_PP_REPEAT_2_154(m, d) BOOST_PP_REPEAT_2_153(m, d) m(3, 153, d)\r
+# define BOOST_PP_REPEAT_2_155(m, d) BOOST_PP_REPEAT_2_154(m, d) m(3, 154, d)\r
+# define BOOST_PP_REPEAT_2_156(m, d) BOOST_PP_REPEAT_2_155(m, d) m(3, 155, d)\r
+# define BOOST_PP_REPEAT_2_157(m, d) BOOST_PP_REPEAT_2_156(m, d) m(3, 156, d)\r
+# define BOOST_PP_REPEAT_2_158(m, d) BOOST_PP_REPEAT_2_157(m, d) m(3, 157, d)\r
+# define BOOST_PP_REPEAT_2_159(m, d) BOOST_PP_REPEAT_2_158(m, d) m(3, 158, d)\r
+# define BOOST_PP_REPEAT_2_160(m, d) BOOST_PP_REPEAT_2_159(m, d) m(3, 159, d)\r
+# define BOOST_PP_REPEAT_2_161(m, d) BOOST_PP_REPEAT_2_160(m, d) m(3, 160, d)\r
+# define BOOST_PP_REPEAT_2_162(m, d) BOOST_PP_REPEAT_2_161(m, d) m(3, 161, d)\r
+# define BOOST_PP_REPEAT_2_163(m, d) BOOST_PP_REPEAT_2_162(m, d) m(3, 162, d)\r
+# define BOOST_PP_REPEAT_2_164(m, d) BOOST_PP_REPEAT_2_163(m, d) m(3, 163, d)\r
+# define BOOST_PP_REPEAT_2_165(m, d) BOOST_PP_REPEAT_2_164(m, d) m(3, 164, d)\r
+# define BOOST_PP_REPEAT_2_166(m, d) BOOST_PP_REPEAT_2_165(m, d) m(3, 165, d)\r
+# define BOOST_PP_REPEAT_2_167(m, d) BOOST_PP_REPEAT_2_166(m, d) m(3, 166, d)\r
+# define BOOST_PP_REPEAT_2_168(m, d) BOOST_PP_REPEAT_2_167(m, d) m(3, 167, d)\r
+# define BOOST_PP_REPEAT_2_169(m, d) BOOST_PP_REPEAT_2_168(m, d) m(3, 168, d)\r
+# define BOOST_PP_REPEAT_2_170(m, d) BOOST_PP_REPEAT_2_169(m, d) m(3, 169, d)\r
+# define BOOST_PP_REPEAT_2_171(m, d) BOOST_PP_REPEAT_2_170(m, d) m(3, 170, d)\r
+# define BOOST_PP_REPEAT_2_172(m, d) BOOST_PP_REPEAT_2_171(m, d) m(3, 171, d)\r
+# define BOOST_PP_REPEAT_2_173(m, d) BOOST_PP_REPEAT_2_172(m, d) m(3, 172, d)\r
+# define BOOST_PP_REPEAT_2_174(m, d) BOOST_PP_REPEAT_2_173(m, d) m(3, 173, d)\r
+# define BOOST_PP_REPEAT_2_175(m, d) BOOST_PP_REPEAT_2_174(m, d) m(3, 174, d)\r
+# define BOOST_PP_REPEAT_2_176(m, d) BOOST_PP_REPEAT_2_175(m, d) m(3, 175, d)\r
+# define BOOST_PP_REPEAT_2_177(m, d) BOOST_PP_REPEAT_2_176(m, d) m(3, 176, d)\r
+# define BOOST_PP_REPEAT_2_178(m, d) BOOST_PP_REPEAT_2_177(m, d) m(3, 177, d)\r
+# define BOOST_PP_REPEAT_2_179(m, d) BOOST_PP_REPEAT_2_178(m, d) m(3, 178, d)\r
+# define BOOST_PP_REPEAT_2_180(m, d) BOOST_PP_REPEAT_2_179(m, d) m(3, 179, d)\r
+# define BOOST_PP_REPEAT_2_181(m, d) BOOST_PP_REPEAT_2_180(m, d) m(3, 180, d)\r
+# define BOOST_PP_REPEAT_2_182(m, d) BOOST_PP_REPEAT_2_181(m, d) m(3, 181, d)\r
+# define BOOST_PP_REPEAT_2_183(m, d) BOOST_PP_REPEAT_2_182(m, d) m(3, 182, d)\r
+# define BOOST_PP_REPEAT_2_184(m, d) BOOST_PP_REPEAT_2_183(m, d) m(3, 183, d)\r
+# define BOOST_PP_REPEAT_2_185(m, d) BOOST_PP_REPEAT_2_184(m, d) m(3, 184, d)\r
+# define BOOST_PP_REPEAT_2_186(m, d) BOOST_PP_REPEAT_2_185(m, d) m(3, 185, d)\r
+# define BOOST_PP_REPEAT_2_187(m, d) BOOST_PP_REPEAT_2_186(m, d) m(3, 186, d)\r
+# define BOOST_PP_REPEAT_2_188(m, d) BOOST_PP_REPEAT_2_187(m, d) m(3, 187, d)\r
+# define BOOST_PP_REPEAT_2_189(m, d) BOOST_PP_REPEAT_2_188(m, d) m(3, 188, d)\r
+# define BOOST_PP_REPEAT_2_190(m, d) BOOST_PP_REPEAT_2_189(m, d) m(3, 189, d)\r
+# define BOOST_PP_REPEAT_2_191(m, d) BOOST_PP_REPEAT_2_190(m, d) m(3, 190, d)\r
+# define BOOST_PP_REPEAT_2_192(m, d) BOOST_PP_REPEAT_2_191(m, d) m(3, 191, d)\r
+# define BOOST_PP_REPEAT_2_193(m, d) BOOST_PP_REPEAT_2_192(m, d) m(3, 192, d)\r
+# define BOOST_PP_REPEAT_2_194(m, d) BOOST_PP_REPEAT_2_193(m, d) m(3, 193, d)\r
+# define BOOST_PP_REPEAT_2_195(m, d) BOOST_PP_REPEAT_2_194(m, d) m(3, 194, d)\r
+# define BOOST_PP_REPEAT_2_196(m, d) BOOST_PP_REPEAT_2_195(m, d) m(3, 195, d)\r
+# define BOOST_PP_REPEAT_2_197(m, d) BOOST_PP_REPEAT_2_196(m, d) m(3, 196, d)\r
+# define BOOST_PP_REPEAT_2_198(m, d) BOOST_PP_REPEAT_2_197(m, d) m(3, 197, d)\r
+# define BOOST_PP_REPEAT_2_199(m, d) BOOST_PP_REPEAT_2_198(m, d) m(3, 198, d)\r
+# define BOOST_PP_REPEAT_2_200(m, d) BOOST_PP_REPEAT_2_199(m, d) m(3, 199, d)\r
+# define BOOST_PP_REPEAT_2_201(m, d) BOOST_PP_REPEAT_2_200(m, d) m(3, 200, d)\r
+# define BOOST_PP_REPEAT_2_202(m, d) BOOST_PP_REPEAT_2_201(m, d) m(3, 201, d)\r
+# define BOOST_PP_REPEAT_2_203(m, d) BOOST_PP_REPEAT_2_202(m, d) m(3, 202, d)\r
+# define BOOST_PP_REPEAT_2_204(m, d) BOOST_PP_REPEAT_2_203(m, d) m(3, 203, d)\r
+# define BOOST_PP_REPEAT_2_205(m, d) BOOST_PP_REPEAT_2_204(m, d) m(3, 204, d)\r
+# define BOOST_PP_REPEAT_2_206(m, d) BOOST_PP_REPEAT_2_205(m, d) m(3, 205, d)\r
+# define BOOST_PP_REPEAT_2_207(m, d) BOOST_PP_REPEAT_2_206(m, d) m(3, 206, d)\r
+# define BOOST_PP_REPEAT_2_208(m, d) BOOST_PP_REPEAT_2_207(m, d) m(3, 207, d)\r
+# define BOOST_PP_REPEAT_2_209(m, d) BOOST_PP_REPEAT_2_208(m, d) m(3, 208, d)\r
+# define BOOST_PP_REPEAT_2_210(m, d) BOOST_PP_REPEAT_2_209(m, d) m(3, 209, d)\r
+# define BOOST_PP_REPEAT_2_211(m, d) BOOST_PP_REPEAT_2_210(m, d) m(3, 210, d)\r
+# define BOOST_PP_REPEAT_2_212(m, d) BOOST_PP_REPEAT_2_211(m, d) m(3, 211, d)\r
+# define BOOST_PP_REPEAT_2_213(m, d) BOOST_PP_REPEAT_2_212(m, d) m(3, 212, d)\r
+# define BOOST_PP_REPEAT_2_214(m, d) BOOST_PP_REPEAT_2_213(m, d) m(3, 213, d)\r
+# define BOOST_PP_REPEAT_2_215(m, d) BOOST_PP_REPEAT_2_214(m, d) m(3, 214, d)\r
+# define BOOST_PP_REPEAT_2_216(m, d) BOOST_PP_REPEAT_2_215(m, d) m(3, 215, d)\r
+# define BOOST_PP_REPEAT_2_217(m, d) BOOST_PP_REPEAT_2_216(m, d) m(3, 216, d)\r
+# define BOOST_PP_REPEAT_2_218(m, d) BOOST_PP_REPEAT_2_217(m, d) m(3, 217, d)\r
+# define BOOST_PP_REPEAT_2_219(m, d) BOOST_PP_REPEAT_2_218(m, d) m(3, 218, d)\r
+# define BOOST_PP_REPEAT_2_220(m, d) BOOST_PP_REPEAT_2_219(m, d) m(3, 219, d)\r
+# define BOOST_PP_REPEAT_2_221(m, d) BOOST_PP_REPEAT_2_220(m, d) m(3, 220, d)\r
+# define BOOST_PP_REPEAT_2_222(m, d) BOOST_PP_REPEAT_2_221(m, d) m(3, 221, d)\r
+# define BOOST_PP_REPEAT_2_223(m, d) BOOST_PP_REPEAT_2_222(m, d) m(3, 222, d)\r
+# define BOOST_PP_REPEAT_2_224(m, d) BOOST_PP_REPEAT_2_223(m, d) m(3, 223, d)\r
+# define BOOST_PP_REPEAT_2_225(m, d) BOOST_PP_REPEAT_2_224(m, d) m(3, 224, d)\r
+# define BOOST_PP_REPEAT_2_226(m, d) BOOST_PP_REPEAT_2_225(m, d) m(3, 225, d)\r
+# define BOOST_PP_REPEAT_2_227(m, d) BOOST_PP_REPEAT_2_226(m, d) m(3, 226, d)\r
+# define BOOST_PP_REPEAT_2_228(m, d) BOOST_PP_REPEAT_2_227(m, d) m(3, 227, d)\r
+# define BOOST_PP_REPEAT_2_229(m, d) BOOST_PP_REPEAT_2_228(m, d) m(3, 228, d)\r
+# define BOOST_PP_REPEAT_2_230(m, d) BOOST_PP_REPEAT_2_229(m, d) m(3, 229, d)\r
+# define BOOST_PP_REPEAT_2_231(m, d) BOOST_PP_REPEAT_2_230(m, d) m(3, 230, d)\r
+# define BOOST_PP_REPEAT_2_232(m, d) BOOST_PP_REPEAT_2_231(m, d) m(3, 231, d)\r
+# define BOOST_PP_REPEAT_2_233(m, d) BOOST_PP_REPEAT_2_232(m, d) m(3, 232, d)\r
+# define BOOST_PP_REPEAT_2_234(m, d) BOOST_PP_REPEAT_2_233(m, d) m(3, 233, d)\r
+# define BOOST_PP_REPEAT_2_235(m, d) BOOST_PP_REPEAT_2_234(m, d) m(3, 234, d)\r
+# define BOOST_PP_REPEAT_2_236(m, d) BOOST_PP_REPEAT_2_235(m, d) m(3, 235, d)\r
+# define BOOST_PP_REPEAT_2_237(m, d) BOOST_PP_REPEAT_2_236(m, d) m(3, 236, d)\r
+# define BOOST_PP_REPEAT_2_238(m, d) BOOST_PP_REPEAT_2_237(m, d) m(3, 237, d)\r
+# define BOOST_PP_REPEAT_2_239(m, d) BOOST_PP_REPEAT_2_238(m, d) m(3, 238, d)\r
+# define BOOST_PP_REPEAT_2_240(m, d) BOOST_PP_REPEAT_2_239(m, d) m(3, 239, d)\r
+# define BOOST_PP_REPEAT_2_241(m, d) BOOST_PP_REPEAT_2_240(m, d) m(3, 240, d)\r
+# define BOOST_PP_REPEAT_2_242(m, d) BOOST_PP_REPEAT_2_241(m, d) m(3, 241, d)\r
+# define BOOST_PP_REPEAT_2_243(m, d) BOOST_PP_REPEAT_2_242(m, d) m(3, 242, d)\r
+# define BOOST_PP_REPEAT_2_244(m, d) BOOST_PP_REPEAT_2_243(m, d) m(3, 243, d)\r
+# define BOOST_PP_REPEAT_2_245(m, d) BOOST_PP_REPEAT_2_244(m, d) m(3, 244, d)\r
+# define BOOST_PP_REPEAT_2_246(m, d) BOOST_PP_REPEAT_2_245(m, d) m(3, 245, d)\r
+# define BOOST_PP_REPEAT_2_247(m, d) BOOST_PP_REPEAT_2_246(m, d) m(3, 246, d)\r
+# define BOOST_PP_REPEAT_2_248(m, d) BOOST_PP_REPEAT_2_247(m, d) m(3, 247, d)\r
+# define BOOST_PP_REPEAT_2_249(m, d) BOOST_PP_REPEAT_2_248(m, d) m(3, 248, d)\r
+# define BOOST_PP_REPEAT_2_250(m, d) BOOST_PP_REPEAT_2_249(m, d) m(3, 249, d)\r
+# define BOOST_PP_REPEAT_2_251(m, d) BOOST_PP_REPEAT_2_250(m, d) m(3, 250, d)\r
+# define BOOST_PP_REPEAT_2_252(m, d) BOOST_PP_REPEAT_2_251(m, d) m(3, 251, d)\r
+# define BOOST_PP_REPEAT_2_253(m, d) BOOST_PP_REPEAT_2_252(m, d) m(3, 252, d)\r
+# define BOOST_PP_REPEAT_2_254(m, d) BOOST_PP_REPEAT_2_253(m, d) m(3, 253, d)\r
+# define BOOST_PP_REPEAT_2_255(m, d) BOOST_PP_REPEAT_2_254(m, d) m(3, 254, d)\r
+# define BOOST_PP_REPEAT_2_256(m, d) BOOST_PP_REPEAT_2_255(m, d) m(3, 255, d)\r
+#\r
+# define BOOST_PP_REPEAT_3_0(m, d)\r
+# define BOOST_PP_REPEAT_3_1(m, d) m(4, 0, d)\r
+# define BOOST_PP_REPEAT_3_2(m, d) BOOST_PP_REPEAT_3_1(m, d) m(4, 1, d)\r
+# define BOOST_PP_REPEAT_3_3(m, d) BOOST_PP_REPEAT_3_2(m, d) m(4, 2, d)\r
+# define BOOST_PP_REPEAT_3_4(m, d) BOOST_PP_REPEAT_3_3(m, d) m(4, 3, d)\r
+# define BOOST_PP_REPEAT_3_5(m, d) BOOST_PP_REPEAT_3_4(m, d) m(4, 4, d)\r
+# define BOOST_PP_REPEAT_3_6(m, d) BOOST_PP_REPEAT_3_5(m, d) m(4, 5, d)\r
+# define BOOST_PP_REPEAT_3_7(m, d) BOOST_PP_REPEAT_3_6(m, d) m(4, 6, d)\r
+# define BOOST_PP_REPEAT_3_8(m, d) BOOST_PP_REPEAT_3_7(m, d) m(4, 7, d)\r
+# define BOOST_PP_REPEAT_3_9(m, d) BOOST_PP_REPEAT_3_8(m, d) m(4, 8, d)\r
+# define BOOST_PP_REPEAT_3_10(m, d) BOOST_PP_REPEAT_3_9(m, d) m(4, 9, d)\r
+# define BOOST_PP_REPEAT_3_11(m, d) BOOST_PP_REPEAT_3_10(m, d) m(4, 10, d)\r
+# define BOOST_PP_REPEAT_3_12(m, d) BOOST_PP_REPEAT_3_11(m, d) m(4, 11, d)\r
+# define BOOST_PP_REPEAT_3_13(m, d) BOOST_PP_REPEAT_3_12(m, d) m(4, 12, d)\r
+# define BOOST_PP_REPEAT_3_14(m, d) BOOST_PP_REPEAT_3_13(m, d) m(4, 13, d)\r
+# define BOOST_PP_REPEAT_3_15(m, d) BOOST_PP_REPEAT_3_14(m, d) m(4, 14, d)\r
+# define BOOST_PP_REPEAT_3_16(m, d) BOOST_PP_REPEAT_3_15(m, d) m(4, 15, d)\r
+# define BOOST_PP_REPEAT_3_17(m, d) BOOST_PP_REPEAT_3_16(m, d) m(4, 16, d)\r
+# define BOOST_PP_REPEAT_3_18(m, d) BOOST_PP_REPEAT_3_17(m, d) m(4, 17, d)\r
+# define BOOST_PP_REPEAT_3_19(m, d) BOOST_PP_REPEAT_3_18(m, d) m(4, 18, d)\r
+# define BOOST_PP_REPEAT_3_20(m, d) BOOST_PP_REPEAT_3_19(m, d) m(4, 19, d)\r
+# define BOOST_PP_REPEAT_3_21(m, d) BOOST_PP_REPEAT_3_20(m, d) m(4, 20, d)\r
+# define BOOST_PP_REPEAT_3_22(m, d) BOOST_PP_REPEAT_3_21(m, d) m(4, 21, d)\r
+# define BOOST_PP_REPEAT_3_23(m, d) BOOST_PP_REPEAT_3_22(m, d) m(4, 22, d)\r
+# define BOOST_PP_REPEAT_3_24(m, d) BOOST_PP_REPEAT_3_23(m, d) m(4, 23, d)\r
+# define BOOST_PP_REPEAT_3_25(m, d) BOOST_PP_REPEAT_3_24(m, d) m(4, 24, d)\r
+# define BOOST_PP_REPEAT_3_26(m, d) BOOST_PP_REPEAT_3_25(m, d) m(4, 25, d)\r
+# define BOOST_PP_REPEAT_3_27(m, d) BOOST_PP_REPEAT_3_26(m, d) m(4, 26, d)\r
+# define BOOST_PP_REPEAT_3_28(m, d) BOOST_PP_REPEAT_3_27(m, d) m(4, 27, d)\r
+# define BOOST_PP_REPEAT_3_29(m, d) BOOST_PP_REPEAT_3_28(m, d) m(4, 28, d)\r
+# define BOOST_PP_REPEAT_3_30(m, d) BOOST_PP_REPEAT_3_29(m, d) m(4, 29, d)\r
+# define BOOST_PP_REPEAT_3_31(m, d) BOOST_PP_REPEAT_3_30(m, d) m(4, 30, d)\r
+# define BOOST_PP_REPEAT_3_32(m, d) BOOST_PP_REPEAT_3_31(m, d) m(4, 31, d)\r
+# define BOOST_PP_REPEAT_3_33(m, d) BOOST_PP_REPEAT_3_32(m, d) m(4, 32, d)\r
+# define BOOST_PP_REPEAT_3_34(m, d) BOOST_PP_REPEAT_3_33(m, d) m(4, 33, d)\r
+# define BOOST_PP_REPEAT_3_35(m, d) BOOST_PP_REPEAT_3_34(m, d) m(4, 34, d)\r
+# define BOOST_PP_REPEAT_3_36(m, d) BOOST_PP_REPEAT_3_35(m, d) m(4, 35, d)\r
+# define BOOST_PP_REPEAT_3_37(m, d) BOOST_PP_REPEAT_3_36(m, d) m(4, 36, d)\r
+# define BOOST_PP_REPEAT_3_38(m, d) BOOST_PP_REPEAT_3_37(m, d) m(4, 37, d)\r
+# define BOOST_PP_REPEAT_3_39(m, d) BOOST_PP_REPEAT_3_38(m, d) m(4, 38, d)\r
+# define BOOST_PP_REPEAT_3_40(m, d) BOOST_PP_REPEAT_3_39(m, d) m(4, 39, d)\r
+# define BOOST_PP_REPEAT_3_41(m, d) BOOST_PP_REPEAT_3_40(m, d) m(4, 40, d)\r
+# define BOOST_PP_REPEAT_3_42(m, d) BOOST_PP_REPEAT_3_41(m, d) m(4, 41, d)\r
+# define BOOST_PP_REPEAT_3_43(m, d) BOOST_PP_REPEAT_3_42(m, d) m(4, 42, d)\r
+# define BOOST_PP_REPEAT_3_44(m, d) BOOST_PP_REPEAT_3_43(m, d) m(4, 43, d)\r
+# define BOOST_PP_REPEAT_3_45(m, d) BOOST_PP_REPEAT_3_44(m, d) m(4, 44, d)\r
+# define BOOST_PP_REPEAT_3_46(m, d) BOOST_PP_REPEAT_3_45(m, d) m(4, 45, d)\r
+# define BOOST_PP_REPEAT_3_47(m, d) BOOST_PP_REPEAT_3_46(m, d) m(4, 46, d)\r
+# define BOOST_PP_REPEAT_3_48(m, d) BOOST_PP_REPEAT_3_47(m, d) m(4, 47, d)\r
+# define BOOST_PP_REPEAT_3_49(m, d) BOOST_PP_REPEAT_3_48(m, d) m(4, 48, d)\r
+# define BOOST_PP_REPEAT_3_50(m, d) BOOST_PP_REPEAT_3_49(m, d) m(4, 49, d)\r
+# define BOOST_PP_REPEAT_3_51(m, d) BOOST_PP_REPEAT_3_50(m, d) m(4, 50, d)\r
+# define BOOST_PP_REPEAT_3_52(m, d) BOOST_PP_REPEAT_3_51(m, d) m(4, 51, d)\r
+# define BOOST_PP_REPEAT_3_53(m, d) BOOST_PP_REPEAT_3_52(m, d) m(4, 52, d)\r
+# define BOOST_PP_REPEAT_3_54(m, d) BOOST_PP_REPEAT_3_53(m, d) m(4, 53, d)\r
+# define BOOST_PP_REPEAT_3_55(m, d) BOOST_PP_REPEAT_3_54(m, d) m(4, 54, d)\r
+# define BOOST_PP_REPEAT_3_56(m, d) BOOST_PP_REPEAT_3_55(m, d) m(4, 55, d)\r
+# define BOOST_PP_REPEAT_3_57(m, d) BOOST_PP_REPEAT_3_56(m, d) m(4, 56, d)\r
+# define BOOST_PP_REPEAT_3_58(m, d) BOOST_PP_REPEAT_3_57(m, d) m(4, 57, d)\r
+# define BOOST_PP_REPEAT_3_59(m, d) BOOST_PP_REPEAT_3_58(m, d) m(4, 58, d)\r
+# define BOOST_PP_REPEAT_3_60(m, d) BOOST_PP_REPEAT_3_59(m, d) m(4, 59, d)\r
+# define BOOST_PP_REPEAT_3_61(m, d) BOOST_PP_REPEAT_3_60(m, d) m(4, 60, d)\r
+# define BOOST_PP_REPEAT_3_62(m, d) BOOST_PP_REPEAT_3_61(m, d) m(4, 61, d)\r
+# define BOOST_PP_REPEAT_3_63(m, d) BOOST_PP_REPEAT_3_62(m, d) m(4, 62, d)\r
+# define BOOST_PP_REPEAT_3_64(m, d) BOOST_PP_REPEAT_3_63(m, d) m(4, 63, d)\r
+# define BOOST_PP_REPEAT_3_65(m, d) BOOST_PP_REPEAT_3_64(m, d) m(4, 64, d)\r
+# define BOOST_PP_REPEAT_3_66(m, d) BOOST_PP_REPEAT_3_65(m, d) m(4, 65, d)\r
+# define BOOST_PP_REPEAT_3_67(m, d) BOOST_PP_REPEAT_3_66(m, d) m(4, 66, d)\r
+# define BOOST_PP_REPEAT_3_68(m, d) BOOST_PP_REPEAT_3_67(m, d) m(4, 67, d)\r
+# define BOOST_PP_REPEAT_3_69(m, d) BOOST_PP_REPEAT_3_68(m, d) m(4, 68, d)\r
+# define BOOST_PP_REPEAT_3_70(m, d) BOOST_PP_REPEAT_3_69(m, d) m(4, 69, d)\r
+# define BOOST_PP_REPEAT_3_71(m, d) BOOST_PP_REPEAT_3_70(m, d) m(4, 70, d)\r
+# define BOOST_PP_REPEAT_3_72(m, d) BOOST_PP_REPEAT_3_71(m, d) m(4, 71, d)\r
+# define BOOST_PP_REPEAT_3_73(m, d) BOOST_PP_REPEAT_3_72(m, d) m(4, 72, d)\r
+# define BOOST_PP_REPEAT_3_74(m, d) BOOST_PP_REPEAT_3_73(m, d) m(4, 73, d)\r
+# define BOOST_PP_REPEAT_3_75(m, d) BOOST_PP_REPEAT_3_74(m, d) m(4, 74, d)\r
+# define BOOST_PP_REPEAT_3_76(m, d) BOOST_PP_REPEAT_3_75(m, d) m(4, 75, d)\r
+# define BOOST_PP_REPEAT_3_77(m, d) BOOST_PP_REPEAT_3_76(m, d) m(4, 76, d)\r
+# define BOOST_PP_REPEAT_3_78(m, d) BOOST_PP_REPEAT_3_77(m, d) m(4, 77, d)\r
+# define BOOST_PP_REPEAT_3_79(m, d) BOOST_PP_REPEAT_3_78(m, d) m(4, 78, d)\r
+# define BOOST_PP_REPEAT_3_80(m, d) BOOST_PP_REPEAT_3_79(m, d) m(4, 79, d)\r
+# define BOOST_PP_REPEAT_3_81(m, d) BOOST_PP_REPEAT_3_80(m, d) m(4, 80, d)\r
+# define BOOST_PP_REPEAT_3_82(m, d) BOOST_PP_REPEAT_3_81(m, d) m(4, 81, d)\r
+# define BOOST_PP_REPEAT_3_83(m, d) BOOST_PP_REPEAT_3_82(m, d) m(4, 82, d)\r
+# define BOOST_PP_REPEAT_3_84(m, d) BOOST_PP_REPEAT_3_83(m, d) m(4, 83, d)\r
+# define BOOST_PP_REPEAT_3_85(m, d) BOOST_PP_REPEAT_3_84(m, d) m(4, 84, d)\r
+# define BOOST_PP_REPEAT_3_86(m, d) BOOST_PP_REPEAT_3_85(m, d) m(4, 85, d)\r
+# define BOOST_PP_REPEAT_3_87(m, d) BOOST_PP_REPEAT_3_86(m, d) m(4, 86, d)\r
+# define BOOST_PP_REPEAT_3_88(m, d) BOOST_PP_REPEAT_3_87(m, d) m(4, 87, d)\r
+# define BOOST_PP_REPEAT_3_89(m, d) BOOST_PP_REPEAT_3_88(m, d) m(4, 88, d)\r
+# define BOOST_PP_REPEAT_3_90(m, d) BOOST_PP_REPEAT_3_89(m, d) m(4, 89, d)\r
+# define BOOST_PP_REPEAT_3_91(m, d) BOOST_PP_REPEAT_3_90(m, d) m(4, 90, d)\r
+# define BOOST_PP_REPEAT_3_92(m, d) BOOST_PP_REPEAT_3_91(m, d) m(4, 91, d)\r
+# define BOOST_PP_REPEAT_3_93(m, d) BOOST_PP_REPEAT_3_92(m, d) m(4, 92, d)\r
+# define BOOST_PP_REPEAT_3_94(m, d) BOOST_PP_REPEAT_3_93(m, d) m(4, 93, d)\r
+# define BOOST_PP_REPEAT_3_95(m, d) BOOST_PP_REPEAT_3_94(m, d) m(4, 94, d)\r
+# define BOOST_PP_REPEAT_3_96(m, d) BOOST_PP_REPEAT_3_95(m, d) m(4, 95, d)\r
+# define BOOST_PP_REPEAT_3_97(m, d) BOOST_PP_REPEAT_3_96(m, d) m(4, 96, d)\r
+# define BOOST_PP_REPEAT_3_98(m, d) BOOST_PP_REPEAT_3_97(m, d) m(4, 97, d)\r
+# define BOOST_PP_REPEAT_3_99(m, d) BOOST_PP_REPEAT_3_98(m, d) m(4, 98, d)\r
+# define BOOST_PP_REPEAT_3_100(m, d) BOOST_PP_REPEAT_3_99(m, d) m(4, 99, d)\r
+# define BOOST_PP_REPEAT_3_101(m, d) BOOST_PP_REPEAT_3_100(m, d) m(4, 100, d)\r
+# define BOOST_PP_REPEAT_3_102(m, d) BOOST_PP_REPEAT_3_101(m, d) m(4, 101, d)\r
+# define BOOST_PP_REPEAT_3_103(m, d) BOOST_PP_REPEAT_3_102(m, d) m(4, 102, d)\r
+# define BOOST_PP_REPEAT_3_104(m, d) BOOST_PP_REPEAT_3_103(m, d) m(4, 103, d)\r
+# define BOOST_PP_REPEAT_3_105(m, d) BOOST_PP_REPEAT_3_104(m, d) m(4, 104, d)\r
+# define BOOST_PP_REPEAT_3_106(m, d) BOOST_PP_REPEAT_3_105(m, d) m(4, 105, d)\r
+# define BOOST_PP_REPEAT_3_107(m, d) BOOST_PP_REPEAT_3_106(m, d) m(4, 106, d)\r
+# define BOOST_PP_REPEAT_3_108(m, d) BOOST_PP_REPEAT_3_107(m, d) m(4, 107, d)\r
+# define BOOST_PP_REPEAT_3_109(m, d) BOOST_PP_REPEAT_3_108(m, d) m(4, 108, d)\r
+# define BOOST_PP_REPEAT_3_110(m, d) BOOST_PP_REPEAT_3_109(m, d) m(4, 109, d)\r
+# define BOOST_PP_REPEAT_3_111(m, d) BOOST_PP_REPEAT_3_110(m, d) m(4, 110, d)\r
+# define BOOST_PP_REPEAT_3_112(m, d) BOOST_PP_REPEAT_3_111(m, d) m(4, 111, d)\r
+# define BOOST_PP_REPEAT_3_113(m, d) BOOST_PP_REPEAT_3_112(m, d) m(4, 112, d)\r
+# define BOOST_PP_REPEAT_3_114(m, d) BOOST_PP_REPEAT_3_113(m, d) m(4, 113, d)\r
+# define BOOST_PP_REPEAT_3_115(m, d) BOOST_PP_REPEAT_3_114(m, d) m(4, 114, d)\r
+# define BOOST_PP_REPEAT_3_116(m, d) BOOST_PP_REPEAT_3_115(m, d) m(4, 115, d)\r
+# define BOOST_PP_REPEAT_3_117(m, d) BOOST_PP_REPEAT_3_116(m, d) m(4, 116, d)\r
+# define BOOST_PP_REPEAT_3_118(m, d) BOOST_PP_REPEAT_3_117(m, d) m(4, 117, d)\r
+# define BOOST_PP_REPEAT_3_119(m, d) BOOST_PP_REPEAT_3_118(m, d) m(4, 118, d)\r
+# define BOOST_PP_REPEAT_3_120(m, d) BOOST_PP_REPEAT_3_119(m, d) m(4, 119, d)\r
+# define BOOST_PP_REPEAT_3_121(m, d) BOOST_PP_REPEAT_3_120(m, d) m(4, 120, d)\r
+# define BOOST_PP_REPEAT_3_122(m, d) BOOST_PP_REPEAT_3_121(m, d) m(4, 121, d)\r
+# define BOOST_PP_REPEAT_3_123(m, d) BOOST_PP_REPEAT_3_122(m, d) m(4, 122, d)\r
+# define BOOST_PP_REPEAT_3_124(m, d) BOOST_PP_REPEAT_3_123(m, d) m(4, 123, d)\r
+# define BOOST_PP_REPEAT_3_125(m, d) BOOST_PP_REPEAT_3_124(m, d) m(4, 124, d)\r
+# define BOOST_PP_REPEAT_3_126(m, d) BOOST_PP_REPEAT_3_125(m, d) m(4, 125, d)\r
+# define BOOST_PP_REPEAT_3_127(m, d) BOOST_PP_REPEAT_3_126(m, d) m(4, 126, d)\r
+# define BOOST_PP_REPEAT_3_128(m, d) BOOST_PP_REPEAT_3_127(m, d) m(4, 127, d)\r
+# define BOOST_PP_REPEAT_3_129(m, d) BOOST_PP_REPEAT_3_128(m, d) m(4, 128, d)\r
+# define BOOST_PP_REPEAT_3_130(m, d) BOOST_PP_REPEAT_3_129(m, d) m(4, 129, d)\r
+# define BOOST_PP_REPEAT_3_131(m, d) BOOST_PP_REPEAT_3_130(m, d) m(4, 130, d)\r
+# define BOOST_PP_REPEAT_3_132(m, d) BOOST_PP_REPEAT_3_131(m, d) m(4, 131, d)\r
+# define BOOST_PP_REPEAT_3_133(m, d) BOOST_PP_REPEAT_3_132(m, d) m(4, 132, d)\r
+# define BOOST_PP_REPEAT_3_134(m, d) BOOST_PP_REPEAT_3_133(m, d) m(4, 133, d)\r
+# define BOOST_PP_REPEAT_3_135(m, d) BOOST_PP_REPEAT_3_134(m, d) m(4, 134, d)\r
+# define BOOST_PP_REPEAT_3_136(m, d) BOOST_PP_REPEAT_3_135(m, d) m(4, 135, d)\r
+# define BOOST_PP_REPEAT_3_137(m, d) BOOST_PP_REPEAT_3_136(m, d) m(4, 136, d)\r
+# define BOOST_PP_REPEAT_3_138(m, d) BOOST_PP_REPEAT_3_137(m, d) m(4, 137, d)\r
+# define BOOST_PP_REPEAT_3_139(m, d) BOOST_PP_REPEAT_3_138(m, d) m(4, 138, d)\r
+# define BOOST_PP_REPEAT_3_140(m, d) BOOST_PP_REPEAT_3_139(m, d) m(4, 139, d)\r
+# define BOOST_PP_REPEAT_3_141(m, d) BOOST_PP_REPEAT_3_140(m, d) m(4, 140, d)\r
+# define BOOST_PP_REPEAT_3_142(m, d) BOOST_PP_REPEAT_3_141(m, d) m(4, 141, d)\r
+# define BOOST_PP_REPEAT_3_143(m, d) BOOST_PP_REPEAT_3_142(m, d) m(4, 142, d)\r
+# define BOOST_PP_REPEAT_3_144(m, d) BOOST_PP_REPEAT_3_143(m, d) m(4, 143, d)\r
+# define BOOST_PP_REPEAT_3_145(m, d) BOOST_PP_REPEAT_3_144(m, d) m(4, 144, d)\r
+# define BOOST_PP_REPEAT_3_146(m, d) BOOST_PP_REPEAT_3_145(m, d) m(4, 145, d)\r
+# define BOOST_PP_REPEAT_3_147(m, d) BOOST_PP_REPEAT_3_146(m, d) m(4, 146, d)\r
+# define BOOST_PP_REPEAT_3_148(m, d) BOOST_PP_REPEAT_3_147(m, d) m(4, 147, d)\r
+# define BOOST_PP_REPEAT_3_149(m, d) BOOST_PP_REPEAT_3_148(m, d) m(4, 148, d)\r
+# define BOOST_PP_REPEAT_3_150(m, d) BOOST_PP_REPEAT_3_149(m, d) m(4, 149, d)\r
+# define BOOST_PP_REPEAT_3_151(m, d) BOOST_PP_REPEAT_3_150(m, d) m(4, 150, d)\r
+# define BOOST_PP_REPEAT_3_152(m, d) BOOST_PP_REPEAT_3_151(m, d) m(4, 151, d)\r
+# define BOOST_PP_REPEAT_3_153(m, d) BOOST_PP_REPEAT_3_152(m, d) m(4, 152, d)\r
+# define BOOST_PP_REPEAT_3_154(m, d) BOOST_PP_REPEAT_3_153(m, d) m(4, 153, d)\r
+# define BOOST_PP_REPEAT_3_155(m, d) BOOST_PP_REPEAT_3_154(m, d) m(4, 154, d)\r
+# define BOOST_PP_REPEAT_3_156(m, d) BOOST_PP_REPEAT_3_155(m, d) m(4, 155, d)\r
+# define BOOST_PP_REPEAT_3_157(m, d) BOOST_PP_REPEAT_3_156(m, d) m(4, 156, d)\r
+# define BOOST_PP_REPEAT_3_158(m, d) BOOST_PP_REPEAT_3_157(m, d) m(4, 157, d)\r
+# define BOOST_PP_REPEAT_3_159(m, d) BOOST_PP_REPEAT_3_158(m, d) m(4, 158, d)\r
+# define BOOST_PP_REPEAT_3_160(m, d) BOOST_PP_REPEAT_3_159(m, d) m(4, 159, d)\r
+# define BOOST_PP_REPEAT_3_161(m, d) BOOST_PP_REPEAT_3_160(m, d) m(4, 160, d)\r
+# define BOOST_PP_REPEAT_3_162(m, d) BOOST_PP_REPEAT_3_161(m, d) m(4, 161, d)\r
+# define BOOST_PP_REPEAT_3_163(m, d) BOOST_PP_REPEAT_3_162(m, d) m(4, 162, d)\r
+# define BOOST_PP_REPEAT_3_164(m, d) BOOST_PP_REPEAT_3_163(m, d) m(4, 163, d)\r
+# define BOOST_PP_REPEAT_3_165(m, d) BOOST_PP_REPEAT_3_164(m, d) m(4, 164, d)\r
+# define BOOST_PP_REPEAT_3_166(m, d) BOOST_PP_REPEAT_3_165(m, d) m(4, 165, d)\r
+# define BOOST_PP_REPEAT_3_167(m, d) BOOST_PP_REPEAT_3_166(m, d) m(4, 166, d)\r
+# define BOOST_PP_REPEAT_3_168(m, d) BOOST_PP_REPEAT_3_167(m, d) m(4, 167, d)\r
+# define BOOST_PP_REPEAT_3_169(m, d) BOOST_PP_REPEAT_3_168(m, d) m(4, 168, d)\r
+# define BOOST_PP_REPEAT_3_170(m, d) BOOST_PP_REPEAT_3_169(m, d) m(4, 169, d)\r
+# define BOOST_PP_REPEAT_3_171(m, d) BOOST_PP_REPEAT_3_170(m, d) m(4, 170, d)\r
+# define BOOST_PP_REPEAT_3_172(m, d) BOOST_PP_REPEAT_3_171(m, d) m(4, 171, d)\r
+# define BOOST_PP_REPEAT_3_173(m, d) BOOST_PP_REPEAT_3_172(m, d) m(4, 172, d)\r
+# define BOOST_PP_REPEAT_3_174(m, d) BOOST_PP_REPEAT_3_173(m, d) m(4, 173, d)\r
+# define BOOST_PP_REPEAT_3_175(m, d) BOOST_PP_REPEAT_3_174(m, d) m(4, 174, d)\r
+# define BOOST_PP_REPEAT_3_176(m, d) BOOST_PP_REPEAT_3_175(m, d) m(4, 175, d)\r
+# define BOOST_PP_REPEAT_3_177(m, d) BOOST_PP_REPEAT_3_176(m, d) m(4, 176, d)\r
+# define BOOST_PP_REPEAT_3_178(m, d) BOOST_PP_REPEAT_3_177(m, d) m(4, 177, d)\r
+# define BOOST_PP_REPEAT_3_179(m, d) BOOST_PP_REPEAT_3_178(m, d) m(4, 178, d)\r
+# define BOOST_PP_REPEAT_3_180(m, d) BOOST_PP_REPEAT_3_179(m, d) m(4, 179, d)\r
+# define BOOST_PP_REPEAT_3_181(m, d) BOOST_PP_REPEAT_3_180(m, d) m(4, 180, d)\r
+# define BOOST_PP_REPEAT_3_182(m, d) BOOST_PP_REPEAT_3_181(m, d) m(4, 181, d)\r
+# define BOOST_PP_REPEAT_3_183(m, d) BOOST_PP_REPEAT_3_182(m, d) m(4, 182, d)\r
+# define BOOST_PP_REPEAT_3_184(m, d) BOOST_PP_REPEAT_3_183(m, d) m(4, 183, d)\r
+# define BOOST_PP_REPEAT_3_185(m, d) BOOST_PP_REPEAT_3_184(m, d) m(4, 184, d)\r
+# define BOOST_PP_REPEAT_3_186(m, d) BOOST_PP_REPEAT_3_185(m, d) m(4, 185, d)\r
+# define BOOST_PP_REPEAT_3_187(m, d) BOOST_PP_REPEAT_3_186(m, d) m(4, 186, d)\r
+# define BOOST_PP_REPEAT_3_188(m, d) BOOST_PP_REPEAT_3_187(m, d) m(4, 187, d)\r
+# define BOOST_PP_REPEAT_3_189(m, d) BOOST_PP_REPEAT_3_188(m, d) m(4, 188, d)\r
+# define BOOST_PP_REPEAT_3_190(m, d) BOOST_PP_REPEAT_3_189(m, d) m(4, 189, d)\r
+# define BOOST_PP_REPEAT_3_191(m, d) BOOST_PP_REPEAT_3_190(m, d) m(4, 190, d)\r
+# define BOOST_PP_REPEAT_3_192(m, d) BOOST_PP_REPEAT_3_191(m, d) m(4, 191, d)\r
+# define BOOST_PP_REPEAT_3_193(m, d) BOOST_PP_REPEAT_3_192(m, d) m(4, 192, d)\r
+# define BOOST_PP_REPEAT_3_194(m, d) BOOST_PP_REPEAT_3_193(m, d) m(4, 193, d)\r
+# define BOOST_PP_REPEAT_3_195(m, d) BOOST_PP_REPEAT_3_194(m, d) m(4, 194, d)\r
+# define BOOST_PP_REPEAT_3_196(m, d) BOOST_PP_REPEAT_3_195(m, d) m(4, 195, d)\r
+# define BOOST_PP_REPEAT_3_197(m, d) BOOST_PP_REPEAT_3_196(m, d) m(4, 196, d)\r
+# define BOOST_PP_REPEAT_3_198(m, d) BOOST_PP_REPEAT_3_197(m, d) m(4, 197, d)\r
+# define BOOST_PP_REPEAT_3_199(m, d) BOOST_PP_REPEAT_3_198(m, d) m(4, 198, d)\r
+# define BOOST_PP_REPEAT_3_200(m, d) BOOST_PP_REPEAT_3_199(m, d) m(4, 199, d)\r
+# define BOOST_PP_REPEAT_3_201(m, d) BOOST_PP_REPEAT_3_200(m, d) m(4, 200, d)\r
+# define BOOST_PP_REPEAT_3_202(m, d) BOOST_PP_REPEAT_3_201(m, d) m(4, 201, d)\r
+# define BOOST_PP_REPEAT_3_203(m, d) BOOST_PP_REPEAT_3_202(m, d) m(4, 202, d)\r
+# define BOOST_PP_REPEAT_3_204(m, d) BOOST_PP_REPEAT_3_203(m, d) m(4, 203, d)\r
+# define BOOST_PP_REPEAT_3_205(m, d) BOOST_PP_REPEAT_3_204(m, d) m(4, 204, d)\r
+# define BOOST_PP_REPEAT_3_206(m, d) BOOST_PP_REPEAT_3_205(m, d) m(4, 205, d)\r
+# define BOOST_PP_REPEAT_3_207(m, d) BOOST_PP_REPEAT_3_206(m, d) m(4, 206, d)\r
+# define BOOST_PP_REPEAT_3_208(m, d) BOOST_PP_REPEAT_3_207(m, d) m(4, 207, d)\r
+# define BOOST_PP_REPEAT_3_209(m, d) BOOST_PP_REPEAT_3_208(m, d) m(4, 208, d)\r
+# define BOOST_PP_REPEAT_3_210(m, d) BOOST_PP_REPEAT_3_209(m, d) m(4, 209, d)\r
+# define BOOST_PP_REPEAT_3_211(m, d) BOOST_PP_REPEAT_3_210(m, d) m(4, 210, d)\r
+# define BOOST_PP_REPEAT_3_212(m, d) BOOST_PP_REPEAT_3_211(m, d) m(4, 211, d)\r
+# define BOOST_PP_REPEAT_3_213(m, d) BOOST_PP_REPEAT_3_212(m, d) m(4, 212, d)\r
+# define BOOST_PP_REPEAT_3_214(m, d) BOOST_PP_REPEAT_3_213(m, d) m(4, 213, d)\r
+# define BOOST_PP_REPEAT_3_215(m, d) BOOST_PP_REPEAT_3_214(m, d) m(4, 214, d)\r
+# define BOOST_PP_REPEAT_3_216(m, d) BOOST_PP_REPEAT_3_215(m, d) m(4, 215, d)\r
+# define BOOST_PP_REPEAT_3_217(m, d) BOOST_PP_REPEAT_3_216(m, d) m(4, 216, d)\r
+# define BOOST_PP_REPEAT_3_218(m, d) BOOST_PP_REPEAT_3_217(m, d) m(4, 217, d)\r
+# define BOOST_PP_REPEAT_3_219(m, d) BOOST_PP_REPEAT_3_218(m, d) m(4, 218, d)\r
+# define BOOST_PP_REPEAT_3_220(m, d) BOOST_PP_REPEAT_3_219(m, d) m(4, 219, d)\r
+# define BOOST_PP_REPEAT_3_221(m, d) BOOST_PP_REPEAT_3_220(m, d) m(4, 220, d)\r
+# define BOOST_PP_REPEAT_3_222(m, d) BOOST_PP_REPEAT_3_221(m, d) m(4, 221, d)\r
+# define BOOST_PP_REPEAT_3_223(m, d) BOOST_PP_REPEAT_3_222(m, d) m(4, 222, d)\r
+# define BOOST_PP_REPEAT_3_224(m, d) BOOST_PP_REPEAT_3_223(m, d) m(4, 223, d)\r
+# define BOOST_PP_REPEAT_3_225(m, d) BOOST_PP_REPEAT_3_224(m, d) m(4, 224, d)\r
+# define BOOST_PP_REPEAT_3_226(m, d) BOOST_PP_REPEAT_3_225(m, d) m(4, 225, d)\r
+# define BOOST_PP_REPEAT_3_227(m, d) BOOST_PP_REPEAT_3_226(m, d) m(4, 226, d)\r
+# define BOOST_PP_REPEAT_3_228(m, d) BOOST_PP_REPEAT_3_227(m, d) m(4, 227, d)\r
+# define BOOST_PP_REPEAT_3_229(m, d) BOOST_PP_REPEAT_3_228(m, d) m(4, 228, d)\r
+# define BOOST_PP_REPEAT_3_230(m, d) BOOST_PP_REPEAT_3_229(m, d) m(4, 229, d)\r
+# define BOOST_PP_REPEAT_3_231(m, d) BOOST_PP_REPEAT_3_230(m, d) m(4, 230, d)\r
+# define BOOST_PP_REPEAT_3_232(m, d) BOOST_PP_REPEAT_3_231(m, d) m(4, 231, d)\r
+# define BOOST_PP_REPEAT_3_233(m, d) BOOST_PP_REPEAT_3_232(m, d) m(4, 232, d)\r
+# define BOOST_PP_REPEAT_3_234(m, d) BOOST_PP_REPEAT_3_233(m, d) m(4, 233, d)\r
+# define BOOST_PP_REPEAT_3_235(m, d) BOOST_PP_REPEAT_3_234(m, d) m(4, 234, d)\r
+# define BOOST_PP_REPEAT_3_236(m, d) BOOST_PP_REPEAT_3_235(m, d) m(4, 235, d)\r
+# define BOOST_PP_REPEAT_3_237(m, d) BOOST_PP_REPEAT_3_236(m, d) m(4, 236, d)\r
+# define BOOST_PP_REPEAT_3_238(m, d) BOOST_PP_REPEAT_3_237(m, d) m(4, 237, d)\r
+# define BOOST_PP_REPEAT_3_239(m, d) BOOST_PP_REPEAT_3_238(m, d) m(4, 238, d)\r
+# define BOOST_PP_REPEAT_3_240(m, d) BOOST_PP_REPEAT_3_239(m, d) m(4, 239, d)\r
+# define BOOST_PP_REPEAT_3_241(m, d) BOOST_PP_REPEAT_3_240(m, d) m(4, 240, d)\r
+# define BOOST_PP_REPEAT_3_242(m, d) BOOST_PP_REPEAT_3_241(m, d) m(4, 241, d)\r
+# define BOOST_PP_REPEAT_3_243(m, d) BOOST_PP_REPEAT_3_242(m, d) m(4, 242, d)\r
+# define BOOST_PP_REPEAT_3_244(m, d) BOOST_PP_REPEAT_3_243(m, d) m(4, 243, d)\r
+# define BOOST_PP_REPEAT_3_245(m, d) BOOST_PP_REPEAT_3_244(m, d) m(4, 244, d)\r
+# define BOOST_PP_REPEAT_3_246(m, d) BOOST_PP_REPEAT_3_245(m, d) m(4, 245, d)\r
+# define BOOST_PP_REPEAT_3_247(m, d) BOOST_PP_REPEAT_3_246(m, d) m(4, 246, d)\r
+# define BOOST_PP_REPEAT_3_248(m, d) BOOST_PP_REPEAT_3_247(m, d) m(4, 247, d)\r
+# define BOOST_PP_REPEAT_3_249(m, d) BOOST_PP_REPEAT_3_248(m, d) m(4, 248, d)\r
+# define BOOST_PP_REPEAT_3_250(m, d) BOOST_PP_REPEAT_3_249(m, d) m(4, 249, d)\r
+# define BOOST_PP_REPEAT_3_251(m, d) BOOST_PP_REPEAT_3_250(m, d) m(4, 250, d)\r
+# define BOOST_PP_REPEAT_3_252(m, d) BOOST_PP_REPEAT_3_251(m, d) m(4, 251, d)\r
+# define BOOST_PP_REPEAT_3_253(m, d) BOOST_PP_REPEAT_3_252(m, d) m(4, 252, d)\r
+# define BOOST_PP_REPEAT_3_254(m, d) BOOST_PP_REPEAT_3_253(m, d) m(4, 253, d)\r
+# define BOOST_PP_REPEAT_3_255(m, d) BOOST_PP_REPEAT_3_254(m, d) m(4, 254, d)\r
+# define BOOST_PP_REPEAT_3_256(m, d) BOOST_PP_REPEAT_3_255(m, d) m(4, 255, d)\r
+#\r
+# endif\r
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 (file)
index 0000000..161bc81
--- /dev/null
@@ -0,0 +1,87 @@
+# /* Copyright (C) 2001\r
+#  * Housemarque Oy\r
+#  * http://www.housemarque.com\r
+#  *\r
+#  * Distributed under the Boost Software License, Version 1.0. (See\r
+#  * accompanying file LICENSE_1_0.txt or copy at\r
+#  * http://www.boost.org/LICENSE_1_0.txt)\r
+#  */\r
+#\r
+# /* Revised by Paul Mensonides (2002) */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_REPETITION_REPEAT_FROM_TO_HPP\r
+# define BOOST_PREPROCESSOR_REPETITION_REPEAT_FROM_TO_HPP\r
+#\r
+# include <boost/preprocessor/arithmetic/add.hpp>\r
+# include <boost/preprocessor/arithmetic/sub.hpp>\r
+# include <boost/preprocessor/cat.hpp>\r
+# include <boost/preprocessor/config/config.hpp>\r
+# include <boost/preprocessor/control/while.hpp>\r
+# include <boost/preprocessor/debug/error.hpp>\r
+# include <boost/preprocessor/detail/auto_rec.hpp>\r
+# include <boost/preprocessor/repetition/repeat.hpp>\r
+# include <boost/preprocessor/tuple/elem.hpp>\r
+# include <boost/preprocessor/tuple/rem.hpp>\r
+#\r
+# /* BOOST_PP_REPEAT_FROM_TO */\r
+#\r
+# if 0\r
+#    define BOOST_PP_REPEAT_FROM_TO(first, last, macro, data)\r
+# endif\r
+#\r
+# define BOOST_PP_REPEAT_FROM_TO BOOST_PP_CAT(BOOST_PP_REPEAT_FROM_TO_, BOOST_PP_AUTO_REC(BOOST_PP_REPEAT_P, 4))\r
+#\r
+# 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)\r
+# 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)\r
+# 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)\r
+# define BOOST_PP_REPEAT_FROM_TO_4(f, l, m, dt) BOOST_PP_ERROR(0x0003)\r
+#\r
+# define BOOST_PP_REPEAT_FROM_TO_1ST BOOST_PP_REPEAT_FROM_TO_1\r
+# define BOOST_PP_REPEAT_FROM_TO_2ND BOOST_PP_REPEAT_FROM_TO_2\r
+# define BOOST_PP_REPEAT_FROM_TO_3RD BOOST_PP_REPEAT_FROM_TO_3\r
+#\r
+# /* BOOST_PP_REPEAT_FROM_TO_D */\r
+#\r
+# if 0\r
+#    define BOOST_PP_REPEAT_FROM_TO_D(d, first, last, macro, data)\r
+# endif\r
+#\r
+# 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))\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    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))\r
+#    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))\r
+#    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))\r
+# else\r
+#    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)\r
+#    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)\r
+#    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)\r
+#    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))\r
+#    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))\r
+#    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))\r
+# endif\r
+#\r
+# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()\r
+#    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)\r
+#    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)\r
+#    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)\r
+#    define BOOST_PP_REPEAT_FROM_TO_M_1_IM(z, n, im) BOOST_PP_REPEAT_FROM_TO_M_1_I(z, n, im)\r
+#    define BOOST_PP_REPEAT_FROM_TO_M_2_IM(z, n, im) BOOST_PP_REPEAT_FROM_TO_M_2_I(z, n, im)\r
+#    define BOOST_PP_REPEAT_FROM_TO_M_3_IM(z, n, im) BOOST_PP_REPEAT_FROM_TO_M_3_I(z, n, im)\r
+# else\r
+#    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))\r
+#    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))\r
+#    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))\r
+# endif\r
+#\r
+# 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)\r
+# 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)\r
+# 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)\r
+#\r
+# define BOOST_PP_REPEAT_FROM_TO_M_1_II(z, n, m, dt) m(z, n, dt)\r
+# define BOOST_PP_REPEAT_FROM_TO_M_2_II(z, n, m, dt) m(z, n, dt)\r
+# define BOOST_PP_REPEAT_FROM_TO_M_3_II(z, n, m, dt) m(z, n, dt)\r
+#\r
+# endif\r
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 (file)
index 0000000..0813dfc
--- /dev/null
@@ -0,0 +1,18 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_SELECTION_HPP\r
+# define BOOST_PREPROCESSOR_SELECTION_HPP\r
+#\r
+# include <boost/preprocessor/selection/max.hpp>\r
+# include <boost/preprocessor/selection/min.hpp>\r
+#\r
+# endif\r
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 (file)
index 0000000..08e362c
--- /dev/null
@@ -0,0 +1,39 @@
+# /* Copyright (C) 2001\r
+#  * Housemarque Oy\r
+#  * http://www.housemarque.com\r
+#  *\r
+#  * Distributed under the Boost Software License, Version 1.0. (See\r
+#  * accompanying file LICENSE_1_0.txt or copy at\r
+#  * http://www.boost.org/LICENSE_1_0.txt)\r
+#  */\r
+#\r
+# /* Revised by Paul Mensonides (2002) */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_SELECTION_MAX_HPP\r
+# define BOOST_PREPROCESSOR_SELECTION_MAX_HPP\r
+#\r
+# include <boost/preprocessor/comparison/less_equal.hpp>\r
+# include <boost/preprocessor/config/config.hpp>\r
+# include <boost/preprocessor/control/iif.hpp>\r
+#\r
+# /* BOOST_PP_MAX */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    define BOOST_PP_MAX(x, y) BOOST_PP_IIF(BOOST_PP_LESS_EQUAL(x, y), y, x)\r
+# else\r
+#    define BOOST_PP_MAX(x, y) BOOST_PP_MAX_I(x, y)\r
+#    define BOOST_PP_MAX_I(x, y) BOOST_PP_IIF(BOOST_PP_LESS_EQUAL(x, y), y, x)\r
+# endif\r
+#\r
+# /* BOOST_PP_MAX_D */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    define BOOST_PP_MAX_D(d, x, y) BOOST_PP_IIF(BOOST_PP_LESS_EQUAL_D(d, x, y), y, x)\r
+# else\r
+#    define BOOST_PP_MAX_D(d, x, y) BOOST_PP_MAX_D_I(d, x, y)\r
+#    define BOOST_PP_MAX_D_I(d, x, y) BOOST_PP_IIF(BOOST_PP_LESS_EQUAL_D(d, x, y), y, x)\r
+# endif\r
+#\r
+# endif\r
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 (file)
index 0000000..6cd548d
--- /dev/null
@@ -0,0 +1,39 @@
+# /* Copyright (C) 2001\r
+#  * Housemarque Oy\r
+#  * http://www.housemarque.com\r
+#  *\r
+#  * Distributed under the Boost Software License, Version 1.0. (See\r
+#  * accompanying file LICENSE_1_0.txt or copy at\r
+#  * http://www.boost.org/LICENSE_1_0.txt)\r
+#  */\r
+#\r
+# /* Revised by Paul Mensonides (2002) */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_SELECTION_MIN_HPP\r
+# define BOOST_PREPROCESSOR_SELECTION_MIN_HPP\r
+#\r
+# include <boost/preprocessor/comparison/less_equal.hpp>\r
+# include <boost/preprocessor/config/config.hpp>\r
+# include <boost/preprocessor/control/iif.hpp>\r
+#\r
+# /* BOOST_PP_MIN */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    define BOOST_PP_MIN(x, y) BOOST_PP_IIF(BOOST_PP_LESS_EQUAL(y, x), y, x)\r
+# else\r
+#    define BOOST_PP_MIN(x, y) BOOST_PP_MIN_I(x, y)\r
+#    define BOOST_PP_MIN_I(x, y) BOOST_PP_IIF(BOOST_PP_LESS_EQUAL(y, x), y, x)\r
+# endif\r
+#\r
+# /* BOOST_PP_MIN_D */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    define BOOST_PP_MIN_D(d, x, y) BOOST_PP_IIF(BOOST_PP_LESS_EQUAL_D(d, y, x), y, x)\r
+# else\r
+#    define BOOST_PP_MIN_D(d, x, y) BOOST_PP_MIN_D_I(d, x, y)\r
+#    define BOOST_PP_MIN_D_I(d, x, y) BOOST_PP_IIF(BOOST_PP_LESS_EQUAL_D(d, y, x), y, x)\r
+# endif\r
+#\r
+# endif\r
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 (file)
index 0000000..12dae9d
--- /dev/null
@@ -0,0 +1,41 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_SEQ_HPP\r
+# define BOOST_PREPROCESSOR_SEQ_HPP\r
+#\r
+# include <boost/preprocessor/seq/cat.hpp>\r
+# include <boost/preprocessor/seq/elem.hpp>\r
+# include <boost/preprocessor/seq/enum.hpp>\r
+# include <boost/preprocessor/seq/filter.hpp>\r
+# include <boost/preprocessor/seq/first_n.hpp>\r
+# include <boost/preprocessor/seq/fold_left.hpp>\r
+# include <boost/preprocessor/seq/fold_right.hpp>\r
+# include <boost/preprocessor/seq/for_each.hpp>\r
+# include <boost/preprocessor/seq/for_each_i.hpp>\r
+# include <boost/preprocessor/seq/for_each_product.hpp>\r
+# include <boost/preprocessor/seq/insert.hpp>\r
+# include <boost/preprocessor/seq/pop_back.hpp>\r
+# include <boost/preprocessor/seq/pop_front.hpp>\r
+# include <boost/preprocessor/seq/push_back.hpp>\r
+# include <boost/preprocessor/seq/push_front.hpp>\r
+# include <boost/preprocessor/seq/remove.hpp>\r
+# include <boost/preprocessor/seq/replace.hpp>\r
+# include <boost/preprocessor/seq/rest_n.hpp>\r
+# include <boost/preprocessor/seq/reverse.hpp>\r
+# include <boost/preprocessor/seq/seq.hpp>\r
+# include <boost/preprocessor/seq/size.hpp>\r
+# include <boost/preprocessor/seq/subseq.hpp>\r
+# include <boost/preprocessor/seq/to_array.hpp>\r
+# include <boost/preprocessor/seq/to_tuple.hpp>\r
+# include <boost/preprocessor/seq/transform.hpp>\r
+#\r
+# endif\r
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 (file)
index 0000000..f8280d2
--- /dev/null
@@ -0,0 +1,48 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_SEQ_CAT_HPP\r
+# define BOOST_PREPROCESSOR_SEQ_CAT_HPP\r
+#\r
+# include <boost/preprocessor/arithmetic/dec.hpp>\r
+# include <boost/preprocessor/config/config.hpp>\r
+# include <boost/preprocessor/control/if.hpp>\r
+# include <boost/preprocessor/seq/fold_left.hpp>\r
+# include <boost/preprocessor/seq/seq.hpp>\r
+# include <boost/preprocessor/seq/size.hpp>\r
+# include <boost/preprocessor/tuple/eat.hpp>\r
+#\r
+# /* BOOST_PP_SEQ_CAT */\r
+#\r
+# define BOOST_PP_SEQ_CAT(seq) \\r
+    BOOST_PP_IF( \\r
+        BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(seq)), \\r
+        BOOST_PP_SEQ_CAT_I, \\r
+        BOOST_PP_SEQ_HEAD(seq) BOOST_PP_TUPLE_EAT_1 \\r
+    )(seq) \\r
+    /**/\r
+# 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))\r
+#\r
+# define BOOST_PP_SEQ_CAT_O(s, st, elem) BOOST_PP_SEQ_CAT_O_I(st, elem)\r
+# define BOOST_PP_SEQ_CAT_O_I(a, b) a ## b\r
+#\r
+# /* BOOST_PP_SEQ_CAT_S */\r
+#\r
+# define BOOST_PP_SEQ_CAT_S(s, seq) \\r
+    BOOST_PP_IF( \\r
+        BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(seq)), \\r
+        BOOST_PP_SEQ_CAT_S_I, \\r
+        BOOST_PP_SEQ_HEAD(seq) BOOST_PP_TUPLE_EAT_2 \\r
+    )(s, seq) \\r
+    /**/\r
+# 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))\r
+#\r
+# endif\r
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 (file)
index 0000000..ada485e
--- /dev/null
@@ -0,0 +1,284 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_SEQ_DETAIL_SPLIT_HPP\r
+# define BOOST_PREPROCESSOR_SEQ_DETAIL_SPLIT_HPP\r
+#\r
+# include <boost/preprocessor/config/config.hpp>\r
+#\r
+# /* BOOST_PP_SEQ_SPLIT */\r
+#\r
+# define BOOST_PP_SEQ_SPLIT(n, seq) BOOST_PP_SEQ_SPLIT_D(n, seq)\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()\r
+#    define BOOST_PP_SEQ_SPLIT_D(n, seq) (BOOST_PP_SEQ_SPLIT_ ## n seq)\r
+# else\r
+#    define BOOST_PP_SEQ_SPLIT_D(n, seq) (BOOST_PP_SEQ_SPLIT_ ## n ## seq)\r
+# endif\r
+#\r
+# define BOOST_PP_SEQ_SPLIT_1(x) (x),\r
+# define BOOST_PP_SEQ_SPLIT_2(x) (x) BOOST_PP_SEQ_SPLIT_1\r
+# define BOOST_PP_SEQ_SPLIT_3(x) (x) BOOST_PP_SEQ_SPLIT_2\r
+# define BOOST_PP_SEQ_SPLIT_4(x) (x) BOOST_PP_SEQ_SPLIT_3\r
+# define BOOST_PP_SEQ_SPLIT_5(x) (x) BOOST_PP_SEQ_SPLIT_4\r
+# define BOOST_PP_SEQ_SPLIT_6(x) (x) BOOST_PP_SEQ_SPLIT_5\r
+# define BOOST_PP_SEQ_SPLIT_7(x) (x) BOOST_PP_SEQ_SPLIT_6\r
+# define BOOST_PP_SEQ_SPLIT_8(x) (x) BOOST_PP_SEQ_SPLIT_7\r
+# define BOOST_PP_SEQ_SPLIT_9(x) (x) BOOST_PP_SEQ_SPLIT_8\r
+# define BOOST_PP_SEQ_SPLIT_10(x) (x) BOOST_PP_SEQ_SPLIT_9\r
+# define BOOST_PP_SEQ_SPLIT_11(x) (x) BOOST_PP_SEQ_SPLIT_10\r
+# define BOOST_PP_SEQ_SPLIT_12(x) (x) BOOST_PP_SEQ_SPLIT_11\r
+# define BOOST_PP_SEQ_SPLIT_13(x) (x) BOOST_PP_SEQ_SPLIT_12\r
+# define BOOST_PP_SEQ_SPLIT_14(x) (x) BOOST_PP_SEQ_SPLIT_13\r
+# define BOOST_PP_SEQ_SPLIT_15(x) (x) BOOST_PP_SEQ_SPLIT_14\r
+# define BOOST_PP_SEQ_SPLIT_16(x) (x) BOOST_PP_SEQ_SPLIT_15\r
+# define BOOST_PP_SEQ_SPLIT_17(x) (x) BOOST_PP_SEQ_SPLIT_16\r
+# define BOOST_PP_SEQ_SPLIT_18(x) (x) BOOST_PP_SEQ_SPLIT_17\r
+# define BOOST_PP_SEQ_SPLIT_19(x) (x) BOOST_PP_SEQ_SPLIT_18\r
+# define BOOST_PP_SEQ_SPLIT_20(x) (x) BOOST_PP_SEQ_SPLIT_19\r
+# define BOOST_PP_SEQ_SPLIT_21(x) (x) BOOST_PP_SEQ_SPLIT_20\r
+# define BOOST_PP_SEQ_SPLIT_22(x) (x) BOOST_PP_SEQ_SPLIT_21\r
+# define BOOST_PP_SEQ_SPLIT_23(x) (x) BOOST_PP_SEQ_SPLIT_22\r
+# define BOOST_PP_SEQ_SPLIT_24(x) (x) BOOST_PP_SEQ_SPLIT_23\r
+# define BOOST_PP_SEQ_SPLIT_25(x) (x) BOOST_PP_SEQ_SPLIT_24\r
+# define BOOST_PP_SEQ_SPLIT_26(x) (x) BOOST_PP_SEQ_SPLIT_25\r
+# define BOOST_PP_SEQ_SPLIT_27(x) (x) BOOST_PP_SEQ_SPLIT_26\r
+# define BOOST_PP_SEQ_SPLIT_28(x) (x) BOOST_PP_SEQ_SPLIT_27\r
+# define BOOST_PP_SEQ_SPLIT_29(x) (x) BOOST_PP_SEQ_SPLIT_28\r
+# define BOOST_PP_SEQ_SPLIT_30(x) (x) BOOST_PP_SEQ_SPLIT_29\r
+# define BOOST_PP_SEQ_SPLIT_31(x) (x) BOOST_PP_SEQ_SPLIT_30\r
+# define BOOST_PP_SEQ_SPLIT_32(x) (x) BOOST_PP_SEQ_SPLIT_31\r
+# define BOOST_PP_SEQ_SPLIT_33(x) (x) BOOST_PP_SEQ_SPLIT_32\r
+# define BOOST_PP_SEQ_SPLIT_34(x) (x) BOOST_PP_SEQ_SPLIT_33\r
+# define BOOST_PP_SEQ_SPLIT_35(x) (x) BOOST_PP_SEQ_SPLIT_34\r
+# define BOOST_PP_SEQ_SPLIT_36(x) (x) BOOST_PP_SEQ_SPLIT_35\r
+# define BOOST_PP_SEQ_SPLIT_37(x) (x) BOOST_PP_SEQ_SPLIT_36\r
+# define BOOST_PP_SEQ_SPLIT_38(x) (x) BOOST_PP_SEQ_SPLIT_37\r
+# define BOOST_PP_SEQ_SPLIT_39(x) (x) BOOST_PP_SEQ_SPLIT_38\r
+# define BOOST_PP_SEQ_SPLIT_40(x) (x) BOOST_PP_SEQ_SPLIT_39\r
+# define BOOST_PP_SEQ_SPLIT_41(x) (x) BOOST_PP_SEQ_SPLIT_40\r
+# define BOOST_PP_SEQ_SPLIT_42(x) (x) BOOST_PP_SEQ_SPLIT_41\r
+# define BOOST_PP_SEQ_SPLIT_43(x) (x) BOOST_PP_SEQ_SPLIT_42\r
+# define BOOST_PP_SEQ_SPLIT_44(x) (x) BOOST_PP_SEQ_SPLIT_43\r
+# define BOOST_PP_SEQ_SPLIT_45(x) (x) BOOST_PP_SEQ_SPLIT_44\r
+# define BOOST_PP_SEQ_SPLIT_46(x) (x) BOOST_PP_SEQ_SPLIT_45\r
+# define BOOST_PP_SEQ_SPLIT_47(x) (x) BOOST_PP_SEQ_SPLIT_46\r
+# define BOOST_PP_SEQ_SPLIT_48(x) (x) BOOST_PP_SEQ_SPLIT_47\r
+# define BOOST_PP_SEQ_SPLIT_49(x) (x) BOOST_PP_SEQ_SPLIT_48\r
+# define BOOST_PP_SEQ_SPLIT_50(x) (x) BOOST_PP_SEQ_SPLIT_49\r
+# define BOOST_PP_SEQ_SPLIT_51(x) (x) BOOST_PP_SEQ_SPLIT_50\r
+# define BOOST_PP_SEQ_SPLIT_52(x) (x) BOOST_PP_SEQ_SPLIT_51\r
+# define BOOST_PP_SEQ_SPLIT_53(x) (x) BOOST_PP_SEQ_SPLIT_52\r
+# define BOOST_PP_SEQ_SPLIT_54(x) (x) BOOST_PP_SEQ_SPLIT_53\r
+# define BOOST_PP_SEQ_SPLIT_55(x) (x) BOOST_PP_SEQ_SPLIT_54\r
+# define BOOST_PP_SEQ_SPLIT_56(x) (x) BOOST_PP_SEQ_SPLIT_55\r
+# define BOOST_PP_SEQ_SPLIT_57(x) (x) BOOST_PP_SEQ_SPLIT_56\r
+# define BOOST_PP_SEQ_SPLIT_58(x) (x) BOOST_PP_SEQ_SPLIT_57\r
+# define BOOST_PP_SEQ_SPLIT_59(x) (x) BOOST_PP_SEQ_SPLIT_58\r
+# define BOOST_PP_SEQ_SPLIT_60(x) (x) BOOST_PP_SEQ_SPLIT_59\r
+# define BOOST_PP_SEQ_SPLIT_61(x) (x) BOOST_PP_SEQ_SPLIT_60\r
+# define BOOST_PP_SEQ_SPLIT_62(x) (x) BOOST_PP_SEQ_SPLIT_61\r
+# define BOOST_PP_SEQ_SPLIT_63(x) (x) BOOST_PP_SEQ_SPLIT_62\r
+# define BOOST_PP_SEQ_SPLIT_64(x) (x) BOOST_PP_SEQ_SPLIT_63\r
+# define BOOST_PP_SEQ_SPLIT_65(x) (x) BOOST_PP_SEQ_SPLIT_64\r
+# define BOOST_PP_SEQ_SPLIT_66(x) (x) BOOST_PP_SEQ_SPLIT_65\r
+# define BOOST_PP_SEQ_SPLIT_67(x) (x) BOOST_PP_SEQ_SPLIT_66\r
+# define BOOST_PP_SEQ_SPLIT_68(x) (x) BOOST_PP_SEQ_SPLIT_67\r
+# define BOOST_PP_SEQ_SPLIT_69(x) (x) BOOST_PP_SEQ_SPLIT_68\r
+# define BOOST_PP_SEQ_SPLIT_70(x) (x) BOOST_PP_SEQ_SPLIT_69\r
+# define BOOST_PP_SEQ_SPLIT_71(x) (x) BOOST_PP_SEQ_SPLIT_70\r
+# define BOOST_PP_SEQ_SPLIT_72(x) (x) BOOST_PP_SEQ_SPLIT_71\r
+# define BOOST_PP_SEQ_SPLIT_73(x) (x) BOOST_PP_SEQ_SPLIT_72\r
+# define BOOST_PP_SEQ_SPLIT_74(x) (x) BOOST_PP_SEQ_SPLIT_73\r
+# define BOOST_PP_SEQ_SPLIT_75(x) (x) BOOST_PP_SEQ_SPLIT_74\r
+# define BOOST_PP_SEQ_SPLIT_76(x) (x) BOOST_PP_SEQ_SPLIT_75\r
+# define BOOST_PP_SEQ_SPLIT_77(x) (x) BOOST_PP_SEQ_SPLIT_76\r
+# define BOOST_PP_SEQ_SPLIT_78(x) (x) BOOST_PP_SEQ_SPLIT_77\r
+# define BOOST_PP_SEQ_SPLIT_79(x) (x) BOOST_PP_SEQ_SPLIT_78\r
+# define BOOST_PP_SEQ_SPLIT_80(x) (x) BOOST_PP_SEQ_SPLIT_79\r
+# define BOOST_PP_SEQ_SPLIT_81(x) (x) BOOST_PP_SEQ_SPLIT_80\r
+# define BOOST_PP_SEQ_SPLIT_82(x) (x) BOOST_PP_SEQ_SPLIT_81\r
+# define BOOST_PP_SEQ_SPLIT_83(x) (x) BOOST_PP_SEQ_SPLIT_82\r
+# define BOOST_PP_SEQ_SPLIT_84(x) (x) BOOST_PP_SEQ_SPLIT_83\r
+# define BOOST_PP_SEQ_SPLIT_85(x) (x) BOOST_PP_SEQ_SPLIT_84\r
+# define BOOST_PP_SEQ_SPLIT_86(x) (x) BOOST_PP_SEQ_SPLIT_85\r
+# define BOOST_PP_SEQ_SPLIT_87(x) (x) BOOST_PP_SEQ_SPLIT_86\r
+# define BOOST_PP_SEQ_SPLIT_88(x) (x) BOOST_PP_SEQ_SPLIT_87\r
+# define BOOST_PP_SEQ_SPLIT_89(x) (x) BOOST_PP_SEQ_SPLIT_88\r
+# define BOOST_PP_SEQ_SPLIT_90(x) (x) BOOST_PP_SEQ_SPLIT_89\r
+# define BOOST_PP_SEQ_SPLIT_91(x) (x) BOOST_PP_SEQ_SPLIT_90\r
+# define BOOST_PP_SEQ_SPLIT_92(x) (x) BOOST_PP_SEQ_SPLIT_91\r
+# define BOOST_PP_SEQ_SPLIT_93(x) (x) BOOST_PP_SEQ_SPLIT_92\r
+# define BOOST_PP_SEQ_SPLIT_94(x) (x) BOOST_PP_SEQ_SPLIT_93\r
+# define BOOST_PP_SEQ_SPLIT_95(x) (x) BOOST_PP_SEQ_SPLIT_94\r
+# define BOOST_PP_SEQ_SPLIT_96(x) (x) BOOST_PP_SEQ_SPLIT_95\r
+# define BOOST_PP_SEQ_SPLIT_97(x) (x) BOOST_PP_SEQ_SPLIT_96\r
+# define BOOST_PP_SEQ_SPLIT_98(x) (x) BOOST_PP_SEQ_SPLIT_97\r
+# define BOOST_PP_SEQ_SPLIT_99(x) (x) BOOST_PP_SEQ_SPLIT_98\r
+# define BOOST_PP_SEQ_SPLIT_100(x) (x) BOOST_PP_SEQ_SPLIT_99\r
+# define BOOST_PP_SEQ_SPLIT_101(x) (x) BOOST_PP_SEQ_SPLIT_100\r
+# define BOOST_PP_SEQ_SPLIT_102(x) (x) BOOST_PP_SEQ_SPLIT_101\r
+# define BOOST_PP_SEQ_SPLIT_103(x) (x) BOOST_PP_SEQ_SPLIT_102\r
+# define BOOST_PP_SEQ_SPLIT_104(x) (x) BOOST_PP_SEQ_SPLIT_103\r
+# define BOOST_PP_SEQ_SPLIT_105(x) (x) BOOST_PP_SEQ_SPLIT_104\r
+# define BOOST_PP_SEQ_SPLIT_106(x) (x) BOOST_PP_SEQ_SPLIT_105\r
+# define BOOST_PP_SEQ_SPLIT_107(x) (x) BOOST_PP_SEQ_SPLIT_106\r
+# define BOOST_PP_SEQ_SPLIT_108(x) (x) BOOST_PP_SEQ_SPLIT_107\r
+# define BOOST_PP_SEQ_SPLIT_109(x) (x) BOOST_PP_SEQ_SPLIT_108\r
+# define BOOST_PP_SEQ_SPLIT_110(x) (x) BOOST_PP_SEQ_SPLIT_109\r
+# define BOOST_PP_SEQ_SPLIT_111(x) (x) BOOST_PP_SEQ_SPLIT_110\r
+# define BOOST_PP_SEQ_SPLIT_112(x) (x) BOOST_PP_SEQ_SPLIT_111\r
+# define BOOST_PP_SEQ_SPLIT_113(x) (x) BOOST_PP_SEQ_SPLIT_112\r
+# define BOOST_PP_SEQ_SPLIT_114(x) (x) BOOST_PP_SEQ_SPLIT_113\r
+# define BOOST_PP_SEQ_SPLIT_115(x) (x) BOOST_PP_SEQ_SPLIT_114\r
+# define BOOST_PP_SEQ_SPLIT_116(x) (x) BOOST_PP_SEQ_SPLIT_115\r
+# define BOOST_PP_SEQ_SPLIT_117(x) (x) BOOST_PP_SEQ_SPLIT_116\r
+# define BOOST_PP_SEQ_SPLIT_118(x) (x) BOOST_PP_SEQ_SPLIT_117\r
+# define BOOST_PP_SEQ_SPLIT_119(x) (x) BOOST_PP_SEQ_SPLIT_118\r
+# define BOOST_PP_SEQ_SPLIT_120(x) (x) BOOST_PP_SEQ_SPLIT_119\r
+# define BOOST_PP_SEQ_SPLIT_121(x) (x) BOOST_PP_SEQ_SPLIT_120\r
+# define BOOST_PP_SEQ_SPLIT_122(x) (x) BOOST_PP_SEQ_SPLIT_121\r
+# define BOOST_PP_SEQ_SPLIT_123(x) (x) BOOST_PP_SEQ_SPLIT_122\r
+# define BOOST_PP_SEQ_SPLIT_124(x) (x) BOOST_PP_SEQ_SPLIT_123\r
+# define BOOST_PP_SEQ_SPLIT_125(x) (x) BOOST_PP_SEQ_SPLIT_124\r
+# define BOOST_PP_SEQ_SPLIT_126(x) (x) BOOST_PP_SEQ_SPLIT_125\r
+# define BOOST_PP_SEQ_SPLIT_127(x) (x) BOOST_PP_SEQ_SPLIT_126\r
+# define BOOST_PP_SEQ_SPLIT_128(x) (x) BOOST_PP_SEQ_SPLIT_127\r
+# define BOOST_PP_SEQ_SPLIT_129(x) (x) BOOST_PP_SEQ_SPLIT_128\r
+# define BOOST_PP_SEQ_SPLIT_130(x) (x) BOOST_PP_SEQ_SPLIT_129\r
+# define BOOST_PP_SEQ_SPLIT_131(x) (x) BOOST_PP_SEQ_SPLIT_130\r
+# define BOOST_PP_SEQ_SPLIT_132(x) (x) BOOST_PP_SEQ_SPLIT_131\r
+# define BOOST_PP_SEQ_SPLIT_133(x) (x) BOOST_PP_SEQ_SPLIT_132\r
+# define BOOST_PP_SEQ_SPLIT_134(x) (x) BOOST_PP_SEQ_SPLIT_133\r
+# define BOOST_PP_SEQ_SPLIT_135(x) (x) BOOST_PP_SEQ_SPLIT_134\r
+# define BOOST_PP_SEQ_SPLIT_136(x) (x) BOOST_PP_SEQ_SPLIT_135\r
+# define BOOST_PP_SEQ_SPLIT_137(x) (x) BOOST_PP_SEQ_SPLIT_136\r
+# define BOOST_PP_SEQ_SPLIT_138(x) (x) BOOST_PP_SEQ_SPLIT_137\r
+# define BOOST_PP_SEQ_SPLIT_139(x) (x) BOOST_PP_SEQ_SPLIT_138\r
+# define BOOST_PP_SEQ_SPLIT_140(x) (x) BOOST_PP_SEQ_SPLIT_139\r
+# define BOOST_PP_SEQ_SPLIT_141(x) (x) BOOST_PP_SEQ_SPLIT_140\r
+# define BOOST_PP_SEQ_SPLIT_142(x) (x) BOOST_PP_SEQ_SPLIT_141\r
+# define BOOST_PP_SEQ_SPLIT_143(x) (x) BOOST_PP_SEQ_SPLIT_142\r
+# define BOOST_PP_SEQ_SPLIT_144(x) (x) BOOST_PP_SEQ_SPLIT_143\r
+# define BOOST_PP_SEQ_SPLIT_145(x) (x) BOOST_PP_SEQ_SPLIT_144\r
+# define BOOST_PP_SEQ_SPLIT_146(x) (x) BOOST_PP_SEQ_SPLIT_145\r
+# define BOOST_PP_SEQ_SPLIT_147(x) (x) BOOST_PP_SEQ_SPLIT_146\r
+# define BOOST_PP_SEQ_SPLIT_148(x) (x) BOOST_PP_SEQ_SPLIT_147\r
+# define BOOST_PP_SEQ_SPLIT_149(x) (x) BOOST_PP_SEQ_SPLIT_148\r
+# define BOOST_PP_SEQ_SPLIT_150(x) (x) BOOST_PP_SEQ_SPLIT_149\r
+# define BOOST_PP_SEQ_SPLIT_151(x) (x) BOOST_PP_SEQ_SPLIT_150\r
+# define BOOST_PP_SEQ_SPLIT_152(x) (x) BOOST_PP_SEQ_SPLIT_151\r
+# define BOOST_PP_SEQ_SPLIT_153(x) (x) BOOST_PP_SEQ_SPLIT_152\r
+# define BOOST_PP_SEQ_SPLIT_154(x) (x) BOOST_PP_SEQ_SPLIT_153\r
+# define BOOST_PP_SEQ_SPLIT_155(x) (x) BOOST_PP_SEQ_SPLIT_154\r
+# define BOOST_PP_SEQ_SPLIT_156(x) (x) BOOST_PP_SEQ_SPLIT_155\r
+# define BOOST_PP_SEQ_SPLIT_157(x) (x) BOOST_PP_SEQ_SPLIT_156\r
+# define BOOST_PP_SEQ_SPLIT_158(x) (x) BOOST_PP_SEQ_SPLIT_157\r
+# define BOOST_PP_SEQ_SPLIT_159(x) (x) BOOST_PP_SEQ_SPLIT_158\r
+# define BOOST_PP_SEQ_SPLIT_160(x) (x) BOOST_PP_SEQ_SPLIT_159\r
+# define BOOST_PP_SEQ_SPLIT_161(x) (x) BOOST_PP_SEQ_SPLIT_160\r
+# define BOOST_PP_SEQ_SPLIT_162(x) (x) BOOST_PP_SEQ_SPLIT_161\r
+# define BOOST_PP_SEQ_SPLIT_163(x) (x) BOOST_PP_SEQ_SPLIT_162\r
+# define BOOST_PP_SEQ_SPLIT_164(x) (x) BOOST_PP_SEQ_SPLIT_163\r
+# define BOOST_PP_SEQ_SPLIT_165(x) (x) BOOST_PP_SEQ_SPLIT_164\r
+# define BOOST_PP_SEQ_SPLIT_166(x) (x) BOOST_PP_SEQ_SPLIT_165\r
+# define BOOST_PP_SEQ_SPLIT_167(x) (x) BOOST_PP_SEQ_SPLIT_166\r
+# define BOOST_PP_SEQ_SPLIT_168(x) (x) BOOST_PP_SEQ_SPLIT_167\r
+# define BOOST_PP_SEQ_SPLIT_169(x) (x) BOOST_PP_SEQ_SPLIT_168\r
+# define BOOST_PP_SEQ_SPLIT_170(x) (x) BOOST_PP_SEQ_SPLIT_169\r
+# define BOOST_PP_SEQ_SPLIT_171(x) (x) BOOST_PP_SEQ_SPLIT_170\r
+# define BOOST_PP_SEQ_SPLIT_172(x) (x) BOOST_PP_SEQ_SPLIT_171\r
+# define BOOST_PP_SEQ_SPLIT_173(x) (x) BOOST_PP_SEQ_SPLIT_172\r
+# define BOOST_PP_SEQ_SPLIT_174(x) (x) BOOST_PP_SEQ_SPLIT_173\r
+# define BOOST_PP_SEQ_SPLIT_175(x) (x) BOOST_PP_SEQ_SPLIT_174\r
+# define BOOST_PP_SEQ_SPLIT_176(x) (x) BOOST_PP_SEQ_SPLIT_175\r
+# define BOOST_PP_SEQ_SPLIT_177(x) (x) BOOST_PP_SEQ_SPLIT_176\r
+# define BOOST_PP_SEQ_SPLIT_178(x) (x) BOOST_PP_SEQ_SPLIT_177\r
+# define BOOST_PP_SEQ_SPLIT_179(x) (x) BOOST_PP_SEQ_SPLIT_178\r
+# define BOOST_PP_SEQ_SPLIT_180(x) (x) BOOST_PP_SEQ_SPLIT_179\r
+# define BOOST_PP_SEQ_SPLIT_181(x) (x) BOOST_PP_SEQ_SPLIT_180\r
+# define BOOST_PP_SEQ_SPLIT_182(x) (x) BOOST_PP_SEQ_SPLIT_181\r
+# define BOOST_PP_SEQ_SPLIT_183(x) (x) BOOST_PP_SEQ_SPLIT_182\r
+# define BOOST_PP_SEQ_SPLIT_184(x) (x) BOOST_PP_SEQ_SPLIT_183\r
+# define BOOST_PP_SEQ_SPLIT_185(x) (x) BOOST_PP_SEQ_SPLIT_184\r
+# define BOOST_PP_SEQ_SPLIT_186(x) (x) BOOST_PP_SEQ_SPLIT_185\r
+# define BOOST_PP_SEQ_SPLIT_187(x) (x) BOOST_PP_SEQ_SPLIT_186\r
+# define BOOST_PP_SEQ_SPLIT_188(x) (x) BOOST_PP_SEQ_SPLIT_187\r
+# define BOOST_PP_SEQ_SPLIT_189(x) (x) BOOST_PP_SEQ_SPLIT_188\r
+# define BOOST_PP_SEQ_SPLIT_190(x) (x) BOOST_PP_SEQ_SPLIT_189\r
+# define BOOST_PP_SEQ_SPLIT_191(x) (x) BOOST_PP_SEQ_SPLIT_190\r
+# define BOOST_PP_SEQ_SPLIT_192(x) (x) BOOST_PP_SEQ_SPLIT_191\r
+# define BOOST_PP_SEQ_SPLIT_193(x) (x) BOOST_PP_SEQ_SPLIT_192\r
+# define BOOST_PP_SEQ_SPLIT_194(x) (x) BOOST_PP_SEQ_SPLIT_193\r
+# define BOOST_PP_SEQ_SPLIT_195(x) (x) BOOST_PP_SEQ_SPLIT_194\r
+# define BOOST_PP_SEQ_SPLIT_196(x) (x) BOOST_PP_SEQ_SPLIT_195\r
+# define BOOST_PP_SEQ_SPLIT_197(x) (x) BOOST_PP_SEQ_SPLIT_196\r
+# define BOOST_PP_SEQ_SPLIT_198(x) (x) BOOST_PP_SEQ_SPLIT_197\r
+# define BOOST_PP_SEQ_SPLIT_199(x) (x) BOOST_PP_SEQ_SPLIT_198\r
+# define BOOST_PP_SEQ_SPLIT_200(x) (x) BOOST_PP_SEQ_SPLIT_199\r
+# define BOOST_PP_SEQ_SPLIT_201(x) (x) BOOST_PP_SEQ_SPLIT_200\r
+# define BOOST_PP_SEQ_SPLIT_202(x) (x) BOOST_PP_SEQ_SPLIT_201\r
+# define BOOST_PP_SEQ_SPLIT_203(x) (x) BOOST_PP_SEQ_SPLIT_202\r
+# define BOOST_PP_SEQ_SPLIT_204(x) (x) BOOST_PP_SEQ_SPLIT_203\r
+# define BOOST_PP_SEQ_SPLIT_205(x) (x) BOOST_PP_SEQ_SPLIT_204\r
+# define BOOST_PP_SEQ_SPLIT_206(x) (x) BOOST_PP_SEQ_SPLIT_205\r
+# define BOOST_PP_SEQ_SPLIT_207(x) (x) BOOST_PP_SEQ_SPLIT_206\r
+# define BOOST_PP_SEQ_SPLIT_208(x) (x) BOOST_PP_SEQ_SPLIT_207\r
+# define BOOST_PP_SEQ_SPLIT_209(x) (x) BOOST_PP_SEQ_SPLIT_208\r
+# define BOOST_PP_SEQ_SPLIT_210(x) (x) BOOST_PP_SEQ_SPLIT_209\r
+# define BOOST_PP_SEQ_SPLIT_211(x) (x) BOOST_PP_SEQ_SPLIT_210\r
+# define BOOST_PP_SEQ_SPLIT_212(x) (x) BOOST_PP_SEQ_SPLIT_211\r
+# define BOOST_PP_SEQ_SPLIT_213(x) (x) BOOST_PP_SEQ_SPLIT_212\r
+# define BOOST_PP_SEQ_SPLIT_214(x) (x) BOOST_PP_SEQ_SPLIT_213\r
+# define BOOST_PP_SEQ_SPLIT_215(x) (x) BOOST_PP_SEQ_SPLIT_214\r
+# define BOOST_PP_SEQ_SPLIT_216(x) (x) BOOST_PP_SEQ_SPLIT_215\r
+# define BOOST_PP_SEQ_SPLIT_217(x) (x) BOOST_PP_SEQ_SPLIT_216\r
+# define BOOST_PP_SEQ_SPLIT_218(x) (x) BOOST_PP_SEQ_SPLIT_217\r
+# define BOOST_PP_SEQ_SPLIT_219(x) (x) BOOST_PP_SEQ_SPLIT_218\r
+# define BOOST_PP_SEQ_SPLIT_220(x) (x) BOOST_PP_SEQ_SPLIT_219\r
+# define BOOST_PP_SEQ_SPLIT_221(x) (x) BOOST_PP_SEQ_SPLIT_220\r
+# define BOOST_PP_SEQ_SPLIT_222(x) (x) BOOST_PP_SEQ_SPLIT_221\r
+# define BOOST_PP_SEQ_SPLIT_223(x) (x) BOOST_PP_SEQ_SPLIT_222\r
+# define BOOST_PP_SEQ_SPLIT_224(x) (x) BOOST_PP_SEQ_SPLIT_223\r
+# define BOOST_PP_SEQ_SPLIT_225(x) (x) BOOST_PP_SEQ_SPLIT_224\r
+# define BOOST_PP_SEQ_SPLIT_226(x) (x) BOOST_PP_SEQ_SPLIT_225\r
+# define BOOST_PP_SEQ_SPLIT_227(x) (x) BOOST_PP_SEQ_SPLIT_226\r
+# define BOOST_PP_SEQ_SPLIT_228(x) (x) BOOST_PP_SEQ_SPLIT_227\r
+# define BOOST_PP_SEQ_SPLIT_229(x) (x) BOOST_PP_SEQ_SPLIT_228\r
+# define BOOST_PP_SEQ_SPLIT_230(x) (x) BOOST_PP_SEQ_SPLIT_229\r
+# define BOOST_PP_SEQ_SPLIT_231(x) (x) BOOST_PP_SEQ_SPLIT_230\r
+# define BOOST_PP_SEQ_SPLIT_232(x) (x) BOOST_PP_SEQ_SPLIT_231\r
+# define BOOST_PP_SEQ_SPLIT_233(x) (x) BOOST_PP_SEQ_SPLIT_232\r
+# define BOOST_PP_SEQ_SPLIT_234(x) (x) BOOST_PP_SEQ_SPLIT_233\r
+# define BOOST_PP_SEQ_SPLIT_235(x) (x) BOOST_PP_SEQ_SPLIT_234\r
+# define BOOST_PP_SEQ_SPLIT_236(x) (x) BOOST_PP_SEQ_SPLIT_235\r
+# define BOOST_PP_SEQ_SPLIT_237(x) (x) BOOST_PP_SEQ_SPLIT_236\r
+# define BOOST_PP_SEQ_SPLIT_238(x) (x) BOOST_PP_SEQ_SPLIT_237\r
+# define BOOST_PP_SEQ_SPLIT_239(x) (x) BOOST_PP_SEQ_SPLIT_238\r
+# define BOOST_PP_SEQ_SPLIT_240(x) (x) BOOST_PP_SEQ_SPLIT_239\r
+# define BOOST_PP_SEQ_SPLIT_241(x) (x) BOOST_PP_SEQ_SPLIT_240\r
+# define BOOST_PP_SEQ_SPLIT_242(x) (x) BOOST_PP_SEQ_SPLIT_241\r
+# define BOOST_PP_SEQ_SPLIT_243(x) (x) BOOST_PP_SEQ_SPLIT_242\r
+# define BOOST_PP_SEQ_SPLIT_244(x) (x) BOOST_PP_SEQ_SPLIT_243\r
+# define BOOST_PP_SEQ_SPLIT_245(x) (x) BOOST_PP_SEQ_SPLIT_244\r
+# define BOOST_PP_SEQ_SPLIT_246(x) (x) BOOST_PP_SEQ_SPLIT_245\r
+# define BOOST_PP_SEQ_SPLIT_247(x) (x) BOOST_PP_SEQ_SPLIT_246\r
+# define BOOST_PP_SEQ_SPLIT_248(x) (x) BOOST_PP_SEQ_SPLIT_247\r
+# define BOOST_PP_SEQ_SPLIT_249(x) (x) BOOST_PP_SEQ_SPLIT_248\r
+# define BOOST_PP_SEQ_SPLIT_250(x) (x) BOOST_PP_SEQ_SPLIT_249\r
+# define BOOST_PP_SEQ_SPLIT_251(x) (x) BOOST_PP_SEQ_SPLIT_250\r
+# define BOOST_PP_SEQ_SPLIT_252(x) (x) BOOST_PP_SEQ_SPLIT_251\r
+# define BOOST_PP_SEQ_SPLIT_253(x) (x) BOOST_PP_SEQ_SPLIT_252\r
+# define BOOST_PP_SEQ_SPLIT_254(x) (x) BOOST_PP_SEQ_SPLIT_253\r
+# define BOOST_PP_SEQ_SPLIT_255(x) (x) BOOST_PP_SEQ_SPLIT_254\r
+# define BOOST_PP_SEQ_SPLIT_256(x) (x) BOOST_PP_SEQ_SPLIT_255\r
+#\r
+# endif\r
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 (file)
index 0000000..16c2255
--- /dev/null
@@ -0,0 +1,304 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_SEQ_ELEM_HPP\r
+# define BOOST_PREPROCESSOR_SEQ_ELEM_HPP\r
+#\r
+# include <boost/preprocessor/cat.hpp>\r
+# include <boost/preprocessor/config/config.hpp>\r
+# include <boost/preprocessor/facilities/empty.hpp>\r
+#\r
+# /* BOOST_PP_SEQ_ELEM */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()\r
+#    define BOOST_PP_SEQ_ELEM(i, seq) BOOST_PP_SEQ_ELEM_I(i, seq)\r
+# else\r
+#    define BOOST_PP_SEQ_ELEM(i, seq) BOOST_PP_SEQ_ELEM_I((i, seq))\r
+# endif\r
+#\r
+# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()\r
+#    define BOOST_PP_SEQ_ELEM_I(i, seq) BOOST_PP_SEQ_ELEM_II((BOOST_PP_SEQ_ELEM_ ## i seq))\r
+#    define BOOST_PP_SEQ_ELEM_II(res) BOOST_PP_SEQ_ELEM_IV(BOOST_PP_SEQ_ELEM_III res)\r
+#    define BOOST_PP_SEQ_ELEM_III(x, _) x BOOST_PP_EMPTY()\r
+#    define BOOST_PP_SEQ_ELEM_IV(x) x\r
+# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()\r
+#    define BOOST_PP_SEQ_ELEM_I(par) BOOST_PP_SEQ_ELEM_II ## par\r
+#    define BOOST_PP_SEQ_ELEM_II(i, seq) BOOST_PP_SEQ_ELEM_III(BOOST_PP_SEQ_ELEM_ ## i ## seq)\r
+#    define BOOST_PP_SEQ_ELEM_III(im) BOOST_PP_SEQ_ELEM_IV(im)\r
+#    define BOOST_PP_SEQ_ELEM_IV(x, _) x\r
+# else\r
+#    if defined(__IBMC__) || defined(__IBMCPP__)\r
+#        define BOOST_PP_SEQ_ELEM_I(i, seq) BOOST_PP_SEQ_ELEM_II(BOOST_PP_CAT(BOOST_PP_SEQ_ELEM_ ## i, seq))\r
+#    else\r
+#        define BOOST_PP_SEQ_ELEM_I(i, seq) BOOST_PP_SEQ_ELEM_II(BOOST_PP_SEQ_ELEM_ ## i seq)\r
+#    endif\r
+#    define BOOST_PP_SEQ_ELEM_II(im) BOOST_PP_SEQ_ELEM_III(im)\r
+#    define BOOST_PP_SEQ_ELEM_III(x, _) x\r
+# endif\r
+#\r
+# define BOOST_PP_SEQ_ELEM_0(x) x, BOOST_PP_NIL\r
+# define BOOST_PP_SEQ_ELEM_1(_) BOOST_PP_SEQ_ELEM_0\r
+# define BOOST_PP_SEQ_ELEM_2(_) BOOST_PP_SEQ_ELEM_1\r
+# define BOOST_PP_SEQ_ELEM_3(_) BOOST_PP_SEQ_ELEM_2\r
+# define BOOST_PP_SEQ_ELEM_4(_) BOOST_PP_SEQ_ELEM_3\r
+# define BOOST_PP_SEQ_ELEM_5(_) BOOST_PP_SEQ_ELEM_4\r
+# define BOOST_PP_SEQ_ELEM_6(_) BOOST_PP_SEQ_ELEM_5\r
+# define BOOST_PP_SEQ_ELEM_7(_) BOOST_PP_SEQ_ELEM_6\r
+# define BOOST_PP_SEQ_ELEM_8(_) BOOST_PP_SEQ_ELEM_7\r
+# define BOOST_PP_SEQ_ELEM_9(_) BOOST_PP_SEQ_ELEM_8\r
+# define BOOST_PP_SEQ_ELEM_10(_) BOOST_PP_SEQ_ELEM_9\r
+# define BOOST_PP_SEQ_ELEM_11(_) BOOST_PP_SEQ_ELEM_10\r
+# define BOOST_PP_SEQ_ELEM_12(_) BOOST_PP_SEQ_ELEM_11\r
+# define BOOST_PP_SEQ_ELEM_13(_) BOOST_PP_SEQ_ELEM_12\r
+# define BOOST_PP_SEQ_ELEM_14(_) BOOST_PP_SEQ_ELEM_13\r
+# define BOOST_PP_SEQ_ELEM_15(_) BOOST_PP_SEQ_ELEM_14\r
+# define BOOST_PP_SEQ_ELEM_16(_) BOOST_PP_SEQ_ELEM_15\r
+# define BOOST_PP_SEQ_ELEM_17(_) BOOST_PP_SEQ_ELEM_16\r
+# define BOOST_PP_SEQ_ELEM_18(_) BOOST_PP_SEQ_ELEM_17\r
+# define BOOST_PP_SEQ_ELEM_19(_) BOOST_PP_SEQ_ELEM_18\r
+# define BOOST_PP_SEQ_ELEM_20(_) BOOST_PP_SEQ_ELEM_19\r
+# define BOOST_PP_SEQ_ELEM_21(_) BOOST_PP_SEQ_ELEM_20\r
+# define BOOST_PP_SEQ_ELEM_22(_) BOOST_PP_SEQ_ELEM_21\r
+# define BOOST_PP_SEQ_ELEM_23(_) BOOST_PP_SEQ_ELEM_22\r
+# define BOOST_PP_SEQ_ELEM_24(_) BOOST_PP_SEQ_ELEM_23\r
+# define BOOST_PP_SEQ_ELEM_25(_) BOOST_PP_SEQ_ELEM_24\r
+# define BOOST_PP_SEQ_ELEM_26(_) BOOST_PP_SEQ_ELEM_25\r
+# define BOOST_PP_SEQ_ELEM_27(_) BOOST_PP_SEQ_ELEM_26\r
+# define BOOST_PP_SEQ_ELEM_28(_) BOOST_PP_SEQ_ELEM_27\r
+# define BOOST_PP_SEQ_ELEM_29(_) BOOST_PP_SEQ_ELEM_28\r
+# define BOOST_PP_SEQ_ELEM_30(_) BOOST_PP_SEQ_ELEM_29\r
+# define BOOST_PP_SEQ_ELEM_31(_) BOOST_PP_SEQ_ELEM_30\r
+# define BOOST_PP_SEQ_ELEM_32(_) BOOST_PP_SEQ_ELEM_31\r
+# define BOOST_PP_SEQ_ELEM_33(_) BOOST_PP_SEQ_ELEM_32\r
+# define BOOST_PP_SEQ_ELEM_34(_) BOOST_PP_SEQ_ELEM_33\r
+# define BOOST_PP_SEQ_ELEM_35(_) BOOST_PP_SEQ_ELEM_34\r
+# define BOOST_PP_SEQ_ELEM_36(_) BOOST_PP_SEQ_ELEM_35\r
+# define BOOST_PP_SEQ_ELEM_37(_) BOOST_PP_SEQ_ELEM_36\r
+# define BOOST_PP_SEQ_ELEM_38(_) BOOST_PP_SEQ_ELEM_37\r
+# define BOOST_PP_SEQ_ELEM_39(_) BOOST_PP_SEQ_ELEM_38\r
+# define BOOST_PP_SEQ_ELEM_40(_) BOOST_PP_SEQ_ELEM_39\r
+# define BOOST_PP_SEQ_ELEM_41(_) BOOST_PP_SEQ_ELEM_40\r
+# define BOOST_PP_SEQ_ELEM_42(_) BOOST_PP_SEQ_ELEM_41\r
+# define BOOST_PP_SEQ_ELEM_43(_) BOOST_PP_SEQ_ELEM_42\r
+# define BOOST_PP_SEQ_ELEM_44(_) BOOST_PP_SEQ_ELEM_43\r
+# define BOOST_PP_SEQ_ELEM_45(_) BOOST_PP_SEQ_ELEM_44\r
+# define BOOST_PP_SEQ_ELEM_46(_) BOOST_PP_SEQ_ELEM_45\r
+# define BOOST_PP_SEQ_ELEM_47(_) BOOST_PP_SEQ_ELEM_46\r
+# define BOOST_PP_SEQ_ELEM_48(_) BOOST_PP_SEQ_ELEM_47\r
+# define BOOST_PP_SEQ_ELEM_49(_) BOOST_PP_SEQ_ELEM_48\r
+# define BOOST_PP_SEQ_ELEM_50(_) BOOST_PP_SEQ_ELEM_49\r
+# define BOOST_PP_SEQ_ELEM_51(_) BOOST_PP_SEQ_ELEM_50\r
+# define BOOST_PP_SEQ_ELEM_52(_) BOOST_PP_SEQ_ELEM_51\r
+# define BOOST_PP_SEQ_ELEM_53(_) BOOST_PP_SEQ_ELEM_52\r
+# define BOOST_PP_SEQ_ELEM_54(_) BOOST_PP_SEQ_ELEM_53\r
+# define BOOST_PP_SEQ_ELEM_55(_) BOOST_PP_SEQ_ELEM_54\r
+# define BOOST_PP_SEQ_ELEM_56(_) BOOST_PP_SEQ_ELEM_55\r
+# define BOOST_PP_SEQ_ELEM_57(_) BOOST_PP_SEQ_ELEM_56\r
+# define BOOST_PP_SEQ_ELEM_58(_) BOOST_PP_SEQ_ELEM_57\r
+# define BOOST_PP_SEQ_ELEM_59(_) BOOST_PP_SEQ_ELEM_58\r
+# define BOOST_PP_SEQ_ELEM_60(_) BOOST_PP_SEQ_ELEM_59\r
+# define BOOST_PP_SEQ_ELEM_61(_) BOOST_PP_SEQ_ELEM_60\r
+# define BOOST_PP_SEQ_ELEM_62(_) BOOST_PP_SEQ_ELEM_61\r
+# define BOOST_PP_SEQ_ELEM_63(_) BOOST_PP_SEQ_ELEM_62\r
+# define BOOST_PP_SEQ_ELEM_64(_) BOOST_PP_SEQ_ELEM_63\r
+# define BOOST_PP_SEQ_ELEM_65(_) BOOST_PP_SEQ_ELEM_64\r
+# define BOOST_PP_SEQ_ELEM_66(_) BOOST_PP_SEQ_ELEM_65\r
+# define BOOST_PP_SEQ_ELEM_67(_) BOOST_PP_SEQ_ELEM_66\r
+# define BOOST_PP_SEQ_ELEM_68(_) BOOST_PP_SEQ_ELEM_67\r
+# define BOOST_PP_SEQ_ELEM_69(_) BOOST_PP_SEQ_ELEM_68\r
+# define BOOST_PP_SEQ_ELEM_70(_) BOOST_PP_SEQ_ELEM_69\r
+# define BOOST_PP_SEQ_ELEM_71(_) BOOST_PP_SEQ_ELEM_70\r
+# define BOOST_PP_SEQ_ELEM_72(_) BOOST_PP_SEQ_ELEM_71\r
+# define BOOST_PP_SEQ_ELEM_73(_) BOOST_PP_SEQ_ELEM_72\r
+# define BOOST_PP_SEQ_ELEM_74(_) BOOST_PP_SEQ_ELEM_73\r
+# define BOOST_PP_SEQ_ELEM_75(_) BOOST_PP_SEQ_ELEM_74\r
+# define BOOST_PP_SEQ_ELEM_76(_) BOOST_PP_SEQ_ELEM_75\r
+# define BOOST_PP_SEQ_ELEM_77(_) BOOST_PP_SEQ_ELEM_76\r
+# define BOOST_PP_SEQ_ELEM_78(_) BOOST_PP_SEQ_ELEM_77\r
+# define BOOST_PP_SEQ_ELEM_79(_) BOOST_PP_SEQ_ELEM_78\r
+# define BOOST_PP_SEQ_ELEM_80(_) BOOST_PP_SEQ_ELEM_79\r
+# define BOOST_PP_SEQ_ELEM_81(_) BOOST_PP_SEQ_ELEM_80\r
+# define BOOST_PP_SEQ_ELEM_82(_) BOOST_PP_SEQ_ELEM_81\r
+# define BOOST_PP_SEQ_ELEM_83(_) BOOST_PP_SEQ_ELEM_82\r
+# define BOOST_PP_SEQ_ELEM_84(_) BOOST_PP_SEQ_ELEM_83\r
+# define BOOST_PP_SEQ_ELEM_85(_) BOOST_PP_SEQ_ELEM_84\r
+# define BOOST_PP_SEQ_ELEM_86(_) BOOST_PP_SEQ_ELEM_85\r
+# define BOOST_PP_SEQ_ELEM_87(_) BOOST_PP_SEQ_ELEM_86\r
+# define BOOST_PP_SEQ_ELEM_88(_) BOOST_PP_SEQ_ELEM_87\r
+# define BOOST_PP_SEQ_ELEM_89(_) BOOST_PP_SEQ_ELEM_88\r
+# define BOOST_PP_SEQ_ELEM_90(_) BOOST_PP_SEQ_ELEM_89\r
+# define BOOST_PP_SEQ_ELEM_91(_) BOOST_PP_SEQ_ELEM_90\r
+# define BOOST_PP_SEQ_ELEM_92(_) BOOST_PP_SEQ_ELEM_91\r
+# define BOOST_PP_SEQ_ELEM_93(_) BOOST_PP_SEQ_ELEM_92\r
+# define BOOST_PP_SEQ_ELEM_94(_) BOOST_PP_SEQ_ELEM_93\r
+# define BOOST_PP_SEQ_ELEM_95(_) BOOST_PP_SEQ_ELEM_94\r
+# define BOOST_PP_SEQ_ELEM_96(_) BOOST_PP_SEQ_ELEM_95\r
+# define BOOST_PP_SEQ_ELEM_97(_) BOOST_PP_SEQ_ELEM_96\r
+# define BOOST_PP_SEQ_ELEM_98(_) BOOST_PP_SEQ_ELEM_97\r
+# define BOOST_PP_SEQ_ELEM_99(_) BOOST_PP_SEQ_ELEM_98\r
+# define BOOST_PP_SEQ_ELEM_100(_) BOOST_PP_SEQ_ELEM_99\r
+# define BOOST_PP_SEQ_ELEM_101(_) BOOST_PP_SEQ_ELEM_100\r
+# define BOOST_PP_SEQ_ELEM_102(_) BOOST_PP_SEQ_ELEM_101\r
+# define BOOST_PP_SEQ_ELEM_103(_) BOOST_PP_SEQ_ELEM_102\r
+# define BOOST_PP_SEQ_ELEM_104(_) BOOST_PP_SEQ_ELEM_103\r
+# define BOOST_PP_SEQ_ELEM_105(_) BOOST_PP_SEQ_ELEM_104\r
+# define BOOST_PP_SEQ_ELEM_106(_) BOOST_PP_SEQ_ELEM_105\r
+# define BOOST_PP_SEQ_ELEM_107(_) BOOST_PP_SEQ_ELEM_106\r
+# define BOOST_PP_SEQ_ELEM_108(_) BOOST_PP_SEQ_ELEM_107\r
+# define BOOST_PP_SEQ_ELEM_109(_) BOOST_PP_SEQ_ELEM_108\r
+# define BOOST_PP_SEQ_ELEM_110(_) BOOST_PP_SEQ_ELEM_109\r
+# define BOOST_PP_SEQ_ELEM_111(_) BOOST_PP_SEQ_ELEM_110\r
+# define BOOST_PP_SEQ_ELEM_112(_) BOOST_PP_SEQ_ELEM_111\r
+# define BOOST_PP_SEQ_ELEM_113(_) BOOST_PP_SEQ_ELEM_112\r
+# define BOOST_PP_SEQ_ELEM_114(_) BOOST_PP_SEQ_ELEM_113\r
+# define BOOST_PP_SEQ_ELEM_115(_) BOOST_PP_SEQ_ELEM_114\r
+# define BOOST_PP_SEQ_ELEM_116(_) BOOST_PP_SEQ_ELEM_115\r
+# define BOOST_PP_SEQ_ELEM_117(_) BOOST_PP_SEQ_ELEM_116\r
+# define BOOST_PP_SEQ_ELEM_118(_) BOOST_PP_SEQ_ELEM_117\r
+# define BOOST_PP_SEQ_ELEM_119(_) BOOST_PP_SEQ_ELEM_118\r
+# define BOOST_PP_SEQ_ELEM_120(_) BOOST_PP_SEQ_ELEM_119\r
+# define BOOST_PP_SEQ_ELEM_121(_) BOOST_PP_SEQ_ELEM_120\r
+# define BOOST_PP_SEQ_ELEM_122(_) BOOST_PP_SEQ_ELEM_121\r
+# define BOOST_PP_SEQ_ELEM_123(_) BOOST_PP_SEQ_ELEM_122\r
+# define BOOST_PP_SEQ_ELEM_124(_) BOOST_PP_SEQ_ELEM_123\r
+# define BOOST_PP_SEQ_ELEM_125(_) BOOST_PP_SEQ_ELEM_124\r
+# define BOOST_PP_SEQ_ELEM_126(_) BOOST_PP_SEQ_ELEM_125\r
+# define BOOST_PP_SEQ_ELEM_127(_) BOOST_PP_SEQ_ELEM_126\r
+# define BOOST_PP_SEQ_ELEM_128(_) BOOST_PP_SEQ_ELEM_127\r
+# define BOOST_PP_SEQ_ELEM_129(_) BOOST_PP_SEQ_ELEM_128\r
+# define BOOST_PP_SEQ_ELEM_130(_) BOOST_PP_SEQ_ELEM_129\r
+# define BOOST_PP_SEQ_ELEM_131(_) BOOST_PP_SEQ_ELEM_130\r
+# define BOOST_PP_SEQ_ELEM_132(_) BOOST_PP_SEQ_ELEM_131\r
+# define BOOST_PP_SEQ_ELEM_133(_) BOOST_PP_SEQ_ELEM_132\r
+# define BOOST_PP_SEQ_ELEM_134(_) BOOST_PP_SEQ_ELEM_133\r
+# define BOOST_PP_SEQ_ELEM_135(_) BOOST_PP_SEQ_ELEM_134\r
+# define BOOST_PP_SEQ_ELEM_136(_) BOOST_PP_SEQ_ELEM_135\r
+# define BOOST_PP_SEQ_ELEM_137(_) BOOST_PP_SEQ_ELEM_136\r
+# define BOOST_PP_SEQ_ELEM_138(_) BOOST_PP_SEQ_ELEM_137\r
+# define BOOST_PP_SEQ_ELEM_139(_) BOOST_PP_SEQ_ELEM_138\r
+# define BOOST_PP_SEQ_ELEM_140(_) BOOST_PP_SEQ_ELEM_139\r
+# define BOOST_PP_SEQ_ELEM_141(_) BOOST_PP_SEQ_ELEM_140\r
+# define BOOST_PP_SEQ_ELEM_142(_) BOOST_PP_SEQ_ELEM_141\r
+# define BOOST_PP_SEQ_ELEM_143(_) BOOST_PP_SEQ_ELEM_142\r
+# define BOOST_PP_SEQ_ELEM_144(_) BOOST_PP_SEQ_ELEM_143\r
+# define BOOST_PP_SEQ_ELEM_145(_) BOOST_PP_SEQ_ELEM_144\r
+# define BOOST_PP_SEQ_ELEM_146(_) BOOST_PP_SEQ_ELEM_145\r
+# define BOOST_PP_SEQ_ELEM_147(_) BOOST_PP_SEQ_ELEM_146\r
+# define BOOST_PP_SEQ_ELEM_148(_) BOOST_PP_SEQ_ELEM_147\r
+# define BOOST_PP_SEQ_ELEM_149(_) BOOST_PP_SEQ_ELEM_148\r
+# define BOOST_PP_SEQ_ELEM_150(_) BOOST_PP_SEQ_ELEM_149\r
+# define BOOST_PP_SEQ_ELEM_151(_) BOOST_PP_SEQ_ELEM_150\r
+# define BOOST_PP_SEQ_ELEM_152(_) BOOST_PP_SEQ_ELEM_151\r
+# define BOOST_PP_SEQ_ELEM_153(_) BOOST_PP_SEQ_ELEM_152\r
+# define BOOST_PP_SEQ_ELEM_154(_) BOOST_PP_SEQ_ELEM_153\r
+# define BOOST_PP_SEQ_ELEM_155(_) BOOST_PP_SEQ_ELEM_154\r
+# define BOOST_PP_SEQ_ELEM_156(_) BOOST_PP_SEQ_ELEM_155\r
+# define BOOST_PP_SEQ_ELEM_157(_) BOOST_PP_SEQ_ELEM_156\r
+# define BOOST_PP_SEQ_ELEM_158(_) BOOST_PP_SEQ_ELEM_157\r
+# define BOOST_PP_SEQ_ELEM_159(_) BOOST_PP_SEQ_ELEM_158\r
+# define BOOST_PP_SEQ_ELEM_160(_) BOOST_PP_SEQ_ELEM_159\r
+# define BOOST_PP_SEQ_ELEM_161(_) BOOST_PP_SEQ_ELEM_160\r
+# define BOOST_PP_SEQ_ELEM_162(_) BOOST_PP_SEQ_ELEM_161\r
+# define BOOST_PP_SEQ_ELEM_163(_) BOOST_PP_SEQ_ELEM_162\r
+# define BOOST_PP_SEQ_ELEM_164(_) BOOST_PP_SEQ_ELEM_163\r
+# define BOOST_PP_SEQ_ELEM_165(_) BOOST_PP_SEQ_ELEM_164\r
+# define BOOST_PP_SEQ_ELEM_166(_) BOOST_PP_SEQ_ELEM_165\r
+# define BOOST_PP_SEQ_ELEM_167(_) BOOST_PP_SEQ_ELEM_166\r
+# define BOOST_PP_SEQ_ELEM_168(_) BOOST_PP_SEQ_ELEM_167\r
+# define BOOST_PP_SEQ_ELEM_169(_) BOOST_PP_SEQ_ELEM_168\r
+# define BOOST_PP_SEQ_ELEM_170(_) BOOST_PP_SEQ_ELEM_169\r
+# define BOOST_PP_SEQ_ELEM_171(_) BOOST_PP_SEQ_ELEM_170\r
+# define BOOST_PP_SEQ_ELEM_172(_) BOOST_PP_SEQ_ELEM_171\r
+# define BOOST_PP_SEQ_ELEM_173(_) BOOST_PP_SEQ_ELEM_172\r
+# define BOOST_PP_SEQ_ELEM_174(_) BOOST_PP_SEQ_ELEM_173\r
+# define BOOST_PP_SEQ_ELEM_175(_) BOOST_PP_SEQ_ELEM_174\r
+# define BOOST_PP_SEQ_ELEM_176(_) BOOST_PP_SEQ_ELEM_175\r
+# define BOOST_PP_SEQ_ELEM_177(_) BOOST_PP_SEQ_ELEM_176\r
+# define BOOST_PP_SEQ_ELEM_178(_) BOOST_PP_SEQ_ELEM_177\r
+# define BOOST_PP_SEQ_ELEM_179(_) BOOST_PP_SEQ_ELEM_178\r
+# define BOOST_PP_SEQ_ELEM_180(_) BOOST_PP_SEQ_ELEM_179\r
+# define BOOST_PP_SEQ_ELEM_181(_) BOOST_PP_SEQ_ELEM_180\r
+# define BOOST_PP_SEQ_ELEM_182(_) BOOST_PP_SEQ_ELEM_181\r
+# define BOOST_PP_SEQ_ELEM_183(_) BOOST_PP_SEQ_ELEM_182\r
+# define BOOST_PP_SEQ_ELEM_184(_) BOOST_PP_SEQ_ELEM_183\r
+# define BOOST_PP_SEQ_ELEM_185(_) BOOST_PP_SEQ_ELEM_184\r
+# define BOOST_PP_SEQ_ELEM_186(_) BOOST_PP_SEQ_ELEM_185\r
+# define BOOST_PP_SEQ_ELEM_187(_) BOOST_PP_SEQ_ELEM_186\r
+# define BOOST_PP_SEQ_ELEM_188(_) BOOST_PP_SEQ_ELEM_187\r
+# define BOOST_PP_SEQ_ELEM_189(_) BOOST_PP_SEQ_ELEM_188\r
+# define BOOST_PP_SEQ_ELEM_190(_) BOOST_PP_SEQ_ELEM_189\r
+# define BOOST_PP_SEQ_ELEM_191(_) BOOST_PP_SEQ_ELEM_190\r
+# define BOOST_PP_SEQ_ELEM_192(_) BOOST_PP_SEQ_ELEM_191\r
+# define BOOST_PP_SEQ_ELEM_193(_) BOOST_PP_SEQ_ELEM_192\r
+# define BOOST_PP_SEQ_ELEM_194(_) BOOST_PP_SEQ_ELEM_193\r
+# define BOOST_PP_SEQ_ELEM_195(_) BOOST_PP_SEQ_ELEM_194\r
+# define BOOST_PP_SEQ_ELEM_196(_) BOOST_PP_SEQ_ELEM_195\r
+# define BOOST_PP_SEQ_ELEM_197(_) BOOST_PP_SEQ_ELEM_196\r
+# define BOOST_PP_SEQ_ELEM_198(_) BOOST_PP_SEQ_ELEM_197\r
+# define BOOST_PP_SEQ_ELEM_199(_) BOOST_PP_SEQ_ELEM_198\r
+# define BOOST_PP_SEQ_ELEM_200(_) BOOST_PP_SEQ_ELEM_199\r
+# define BOOST_PP_SEQ_ELEM_201(_) BOOST_PP_SEQ_ELEM_200\r
+# define BOOST_PP_SEQ_ELEM_202(_) BOOST_PP_SEQ_ELEM_201\r
+# define BOOST_PP_SEQ_ELEM_203(_) BOOST_PP_SEQ_ELEM_202\r
+# define BOOST_PP_SEQ_ELEM_204(_) BOOST_PP_SEQ_ELEM_203\r
+# define BOOST_PP_SEQ_ELEM_205(_) BOOST_PP_SEQ_ELEM_204\r
+# define BOOST_PP_SEQ_ELEM_206(_) BOOST_PP_SEQ_ELEM_205\r
+# define BOOST_PP_SEQ_ELEM_207(_) BOOST_PP_SEQ_ELEM_206\r
+# define BOOST_PP_SEQ_ELEM_208(_) BOOST_PP_SEQ_ELEM_207\r
+# define BOOST_PP_SEQ_ELEM_209(_) BOOST_PP_SEQ_ELEM_208\r
+# define BOOST_PP_SEQ_ELEM_210(_) BOOST_PP_SEQ_ELEM_209\r
+# define BOOST_PP_SEQ_ELEM_211(_) BOOST_PP_SEQ_ELEM_210\r
+# define BOOST_PP_SEQ_ELEM_212(_) BOOST_PP_SEQ_ELEM_211\r
+# define BOOST_PP_SEQ_ELEM_213(_) BOOST_PP_SEQ_ELEM_212\r
+# define BOOST_PP_SEQ_ELEM_214(_) BOOST_PP_SEQ_ELEM_213\r
+# define BOOST_PP_SEQ_ELEM_215(_) BOOST_PP_SEQ_ELEM_214\r
+# define BOOST_PP_SEQ_ELEM_216(_) BOOST_PP_SEQ_ELEM_215\r
+# define BOOST_PP_SEQ_ELEM_217(_) BOOST_PP_SEQ_ELEM_216\r
+# define BOOST_PP_SEQ_ELEM_218(_) BOOST_PP_SEQ_ELEM_217\r
+# define BOOST_PP_SEQ_ELEM_219(_) BOOST_PP_SEQ_ELEM_218\r
+# define BOOST_PP_SEQ_ELEM_220(_) BOOST_PP_SEQ_ELEM_219\r
+# define BOOST_PP_SEQ_ELEM_221(_) BOOST_PP_SEQ_ELEM_220\r
+# define BOOST_PP_SEQ_ELEM_222(_) BOOST_PP_SEQ_ELEM_221\r
+# define BOOST_PP_SEQ_ELEM_223(_) BOOST_PP_SEQ_ELEM_222\r
+# define BOOST_PP_SEQ_ELEM_224(_) BOOST_PP_SEQ_ELEM_223\r
+# define BOOST_PP_SEQ_ELEM_225(_) BOOST_PP_SEQ_ELEM_224\r
+# define BOOST_PP_SEQ_ELEM_226(_) BOOST_PP_SEQ_ELEM_225\r
+# define BOOST_PP_SEQ_ELEM_227(_) BOOST_PP_SEQ_ELEM_226\r
+# define BOOST_PP_SEQ_ELEM_228(_) BOOST_PP_SEQ_ELEM_227\r
+# define BOOST_PP_SEQ_ELEM_229(_) BOOST_PP_SEQ_ELEM_228\r
+# define BOOST_PP_SEQ_ELEM_230(_) BOOST_PP_SEQ_ELEM_229\r
+# define BOOST_PP_SEQ_ELEM_231(_) BOOST_PP_SEQ_ELEM_230\r
+# define BOOST_PP_SEQ_ELEM_232(_) BOOST_PP_SEQ_ELEM_231\r
+# define BOOST_PP_SEQ_ELEM_233(_) BOOST_PP_SEQ_ELEM_232\r
+# define BOOST_PP_SEQ_ELEM_234(_) BOOST_PP_SEQ_ELEM_233\r
+# define BOOST_PP_SEQ_ELEM_235(_) BOOST_PP_SEQ_ELEM_234\r
+# define BOOST_PP_SEQ_ELEM_236(_) BOOST_PP_SEQ_ELEM_235\r
+# define BOOST_PP_SEQ_ELEM_237(_) BOOST_PP_SEQ_ELEM_236\r
+# define BOOST_PP_SEQ_ELEM_238(_) BOOST_PP_SEQ_ELEM_237\r
+# define BOOST_PP_SEQ_ELEM_239(_) BOOST_PP_SEQ_ELEM_238\r
+# define BOOST_PP_SEQ_ELEM_240(_) BOOST_PP_SEQ_ELEM_239\r
+# define BOOST_PP_SEQ_ELEM_241(_) BOOST_PP_SEQ_ELEM_240\r
+# define BOOST_PP_SEQ_ELEM_242(_) BOOST_PP_SEQ_ELEM_241\r
+# define BOOST_PP_SEQ_ELEM_243(_) BOOST_PP_SEQ_ELEM_242\r
+# define BOOST_PP_SEQ_ELEM_244(_) BOOST_PP_SEQ_ELEM_243\r
+# define BOOST_PP_SEQ_ELEM_245(_) BOOST_PP_SEQ_ELEM_244\r
+# define BOOST_PP_SEQ_ELEM_246(_) BOOST_PP_SEQ_ELEM_245\r
+# define BOOST_PP_SEQ_ELEM_247(_) BOOST_PP_SEQ_ELEM_246\r
+# define BOOST_PP_SEQ_ELEM_248(_) BOOST_PP_SEQ_ELEM_247\r
+# define BOOST_PP_SEQ_ELEM_249(_) BOOST_PP_SEQ_ELEM_248\r
+# define BOOST_PP_SEQ_ELEM_250(_) BOOST_PP_SEQ_ELEM_249\r
+# define BOOST_PP_SEQ_ELEM_251(_) BOOST_PP_SEQ_ELEM_250\r
+# define BOOST_PP_SEQ_ELEM_252(_) BOOST_PP_SEQ_ELEM_251\r
+# define BOOST_PP_SEQ_ELEM_253(_) BOOST_PP_SEQ_ELEM_252\r
+# define BOOST_PP_SEQ_ELEM_254(_) BOOST_PP_SEQ_ELEM_253\r
+# define BOOST_PP_SEQ_ELEM_255(_) BOOST_PP_SEQ_ELEM_254\r
+#\r
+# endif\r
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 (file)
index 0000000..b3a9f1e
--- /dev/null
@@ -0,0 +1,288 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_SEQ_ENUM_HPP\r
+# define BOOST_PREPROCESSOR_SEQ_ENUM_HPP\r
+#\r
+# include <boost/preprocessor/cat.hpp>\r
+# include <boost/preprocessor/config/config.hpp>\r
+# include <boost/preprocessor/seq/size.hpp>\r
+#\r
+# /* BOOST_PP_SEQ_ENUM */\r
+#\r
+# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    define BOOST_PP_SEQ_ENUM(seq) BOOST_PP_SEQ_ENUM_I(seq)\r
+#    define BOOST_PP_SEQ_ENUM_I(seq) BOOST_PP_CAT(BOOST_PP_SEQ_ENUM_, BOOST_PP_SEQ_SIZE(seq)) seq\r
+# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()\r
+#    define BOOST_PP_SEQ_ENUM(seq) BOOST_PP_SEQ_ENUM_I(BOOST_PP_SEQ_SIZE(seq), seq)\r
+#    define BOOST_PP_SEQ_ENUM_I(size, seq) BOOST_PP_CAT(BOOST_PP_SEQ_ENUM_, size) seq\r
+# else\r
+#    define BOOST_PP_SEQ_ENUM(seq) BOOST_PP_CAT(BOOST_PP_SEQ_ENUM_, BOOST_PP_SEQ_SIZE(seq)) seq\r
+# endif\r
+#\r
+# define BOOST_PP_SEQ_ENUM_1(x) x\r
+# define BOOST_PP_SEQ_ENUM_2(x) x, BOOST_PP_SEQ_ENUM_1\r
+# define BOOST_PP_SEQ_ENUM_3(x) x, BOOST_PP_SEQ_ENUM_2\r
+# define BOOST_PP_SEQ_ENUM_4(x) x, BOOST_PP_SEQ_ENUM_3\r
+# define BOOST_PP_SEQ_ENUM_5(x) x, BOOST_PP_SEQ_ENUM_4\r
+# define BOOST_PP_SEQ_ENUM_6(x) x, BOOST_PP_SEQ_ENUM_5\r
+# define BOOST_PP_SEQ_ENUM_7(x) x, BOOST_PP_SEQ_ENUM_6\r
+# define BOOST_PP_SEQ_ENUM_8(x) x, BOOST_PP_SEQ_ENUM_7\r
+# define BOOST_PP_SEQ_ENUM_9(x) x, BOOST_PP_SEQ_ENUM_8\r
+# define BOOST_PP_SEQ_ENUM_10(x) x, BOOST_PP_SEQ_ENUM_9\r
+# define BOOST_PP_SEQ_ENUM_11(x) x, BOOST_PP_SEQ_ENUM_10\r
+# define BOOST_PP_SEQ_ENUM_12(x) x, BOOST_PP_SEQ_ENUM_11\r
+# define BOOST_PP_SEQ_ENUM_13(x) x, BOOST_PP_SEQ_ENUM_12\r
+# define BOOST_PP_SEQ_ENUM_14(x) x, BOOST_PP_SEQ_ENUM_13\r
+# define BOOST_PP_SEQ_ENUM_15(x) x, BOOST_PP_SEQ_ENUM_14\r
+# define BOOST_PP_SEQ_ENUM_16(x) x, BOOST_PP_SEQ_ENUM_15\r
+# define BOOST_PP_SEQ_ENUM_17(x) x, BOOST_PP_SEQ_ENUM_16\r
+# define BOOST_PP_SEQ_ENUM_18(x) x, BOOST_PP_SEQ_ENUM_17\r
+# define BOOST_PP_SEQ_ENUM_19(x) x, BOOST_PP_SEQ_ENUM_18\r
+# define BOOST_PP_SEQ_ENUM_20(x) x, BOOST_PP_SEQ_ENUM_19\r
+# define BOOST_PP_SEQ_ENUM_21(x) x, BOOST_PP_SEQ_ENUM_20\r
+# define BOOST_PP_SEQ_ENUM_22(x) x, BOOST_PP_SEQ_ENUM_21\r
+# define BOOST_PP_SEQ_ENUM_23(x) x, BOOST_PP_SEQ_ENUM_22\r
+# define BOOST_PP_SEQ_ENUM_24(x) x, BOOST_PP_SEQ_ENUM_23\r
+# define BOOST_PP_SEQ_ENUM_25(x) x, BOOST_PP_SEQ_ENUM_24\r
+# define BOOST_PP_SEQ_ENUM_26(x) x, BOOST_PP_SEQ_ENUM_25\r
+# define BOOST_PP_SEQ_ENUM_27(x) x, BOOST_PP_SEQ_ENUM_26\r
+# define BOOST_PP_SEQ_ENUM_28(x) x, BOOST_PP_SEQ_ENUM_27\r
+# define BOOST_PP_SEQ_ENUM_29(x) x, BOOST_PP_SEQ_ENUM_28\r
+# define BOOST_PP_SEQ_ENUM_30(x) x, BOOST_PP_SEQ_ENUM_29\r
+# define BOOST_PP_SEQ_ENUM_31(x) x, BOOST_PP_SEQ_ENUM_30\r
+# define BOOST_PP_SEQ_ENUM_32(x) x, BOOST_PP_SEQ_ENUM_31\r
+# define BOOST_PP_SEQ_ENUM_33(x) x, BOOST_PP_SEQ_ENUM_32\r
+# define BOOST_PP_SEQ_ENUM_34(x) x, BOOST_PP_SEQ_ENUM_33\r
+# define BOOST_PP_SEQ_ENUM_35(x) x, BOOST_PP_SEQ_ENUM_34\r
+# define BOOST_PP_SEQ_ENUM_36(x) x, BOOST_PP_SEQ_ENUM_35\r
+# define BOOST_PP_SEQ_ENUM_37(x) x, BOOST_PP_SEQ_ENUM_36\r
+# define BOOST_PP_SEQ_ENUM_38(x) x, BOOST_PP_SEQ_ENUM_37\r
+# define BOOST_PP_SEQ_ENUM_39(x) x, BOOST_PP_SEQ_ENUM_38\r
+# define BOOST_PP_SEQ_ENUM_40(x) x, BOOST_PP_SEQ_ENUM_39\r
+# define BOOST_PP_SEQ_ENUM_41(x) x, BOOST_PP_SEQ_ENUM_40\r
+# define BOOST_PP_SEQ_ENUM_42(x) x, BOOST_PP_SEQ_ENUM_41\r
+# define BOOST_PP_SEQ_ENUM_43(x) x, BOOST_PP_SEQ_ENUM_42\r
+# define BOOST_PP_SEQ_ENUM_44(x) x, BOOST_PP_SEQ_ENUM_43\r
+# define BOOST_PP_SEQ_ENUM_45(x) x, BOOST_PP_SEQ_ENUM_44\r
+# define BOOST_PP_SEQ_ENUM_46(x) x, BOOST_PP_SEQ_ENUM_45\r
+# define BOOST_PP_SEQ_ENUM_47(x) x, BOOST_PP_SEQ_ENUM_46\r
+# define BOOST_PP_SEQ_ENUM_48(x) x, BOOST_PP_SEQ_ENUM_47\r
+# define BOOST_PP_SEQ_ENUM_49(x) x, BOOST_PP_SEQ_ENUM_48\r
+# define BOOST_PP_SEQ_ENUM_50(x) x, BOOST_PP_SEQ_ENUM_49\r
+# define BOOST_PP_SEQ_ENUM_51(x) x, BOOST_PP_SEQ_ENUM_50\r
+# define BOOST_PP_SEQ_ENUM_52(x) x, BOOST_PP_SEQ_ENUM_51\r
+# define BOOST_PP_SEQ_ENUM_53(x) x, BOOST_PP_SEQ_ENUM_52\r
+# define BOOST_PP_SEQ_ENUM_54(x) x, BOOST_PP_SEQ_ENUM_53\r
+# define BOOST_PP_SEQ_ENUM_55(x) x, BOOST_PP_SEQ_ENUM_54\r
+# define BOOST_PP_SEQ_ENUM_56(x) x, BOOST_PP_SEQ_ENUM_55\r
+# define BOOST_PP_SEQ_ENUM_57(x) x, BOOST_PP_SEQ_ENUM_56\r
+# define BOOST_PP_SEQ_ENUM_58(x) x, BOOST_PP_SEQ_ENUM_57\r
+# define BOOST_PP_SEQ_ENUM_59(x) x, BOOST_PP_SEQ_ENUM_58\r
+# define BOOST_PP_SEQ_ENUM_60(x) x, BOOST_PP_SEQ_ENUM_59\r
+# define BOOST_PP_SEQ_ENUM_61(x) x, BOOST_PP_SEQ_ENUM_60\r
+# define BOOST_PP_SEQ_ENUM_62(x) x, BOOST_PP_SEQ_ENUM_61\r
+# define BOOST_PP_SEQ_ENUM_63(x) x, BOOST_PP_SEQ_ENUM_62\r
+# define BOOST_PP_SEQ_ENUM_64(x) x, BOOST_PP_SEQ_ENUM_63\r
+# define BOOST_PP_SEQ_ENUM_65(x) x, BOOST_PP_SEQ_ENUM_64\r
+# define BOOST_PP_SEQ_ENUM_66(x) x, BOOST_PP_SEQ_ENUM_65\r
+# define BOOST_PP_SEQ_ENUM_67(x) x, BOOST_PP_SEQ_ENUM_66\r
+# define BOOST_PP_SEQ_ENUM_68(x) x, BOOST_PP_SEQ_ENUM_67\r
+# define BOOST_PP_SEQ_ENUM_69(x) x, BOOST_PP_SEQ_ENUM_68\r
+# define BOOST_PP_SEQ_ENUM_70(x) x, BOOST_PP_SEQ_ENUM_69\r
+# define BOOST_PP_SEQ_ENUM_71(x) x, BOOST_PP_SEQ_ENUM_70\r
+# define BOOST_PP_SEQ_ENUM_72(x) x, BOOST_PP_SEQ_ENUM_71\r
+# define BOOST_PP_SEQ_ENUM_73(x) x, BOOST_PP_SEQ_ENUM_72\r
+# define BOOST_PP_SEQ_ENUM_74(x) x, BOOST_PP_SEQ_ENUM_73\r
+# define BOOST_PP_SEQ_ENUM_75(x) x, BOOST_PP_SEQ_ENUM_74\r
+# define BOOST_PP_SEQ_ENUM_76(x) x, BOOST_PP_SEQ_ENUM_75\r
+# define BOOST_PP_SEQ_ENUM_77(x) x, BOOST_PP_SEQ_ENUM_76\r
+# define BOOST_PP_SEQ_ENUM_78(x) x, BOOST_PP_SEQ_ENUM_77\r
+# define BOOST_PP_SEQ_ENUM_79(x) x, BOOST_PP_SEQ_ENUM_78\r
+# define BOOST_PP_SEQ_ENUM_80(x) x, BOOST_PP_SEQ_ENUM_79\r
+# define BOOST_PP_SEQ_ENUM_81(x) x, BOOST_PP_SEQ_ENUM_80\r
+# define BOOST_PP_SEQ_ENUM_82(x) x, BOOST_PP_SEQ_ENUM_81\r
+# define BOOST_PP_SEQ_ENUM_83(x) x, BOOST_PP_SEQ_ENUM_82\r
+# define BOOST_PP_SEQ_ENUM_84(x) x, BOOST_PP_SEQ_ENUM_83\r
+# define BOOST_PP_SEQ_ENUM_85(x) x, BOOST_PP_SEQ_ENUM_84\r
+# define BOOST_PP_SEQ_ENUM_86(x) x, BOOST_PP_SEQ_ENUM_85\r
+# define BOOST_PP_SEQ_ENUM_87(x) x, BOOST_PP_SEQ_ENUM_86\r
+# define BOOST_PP_SEQ_ENUM_88(x) x, BOOST_PP_SEQ_ENUM_87\r
+# define BOOST_PP_SEQ_ENUM_89(x) x, BOOST_PP_SEQ_ENUM_88\r
+# define BOOST_PP_SEQ_ENUM_90(x) x, BOOST_PP_SEQ_ENUM_89\r
+# define BOOST_PP_SEQ_ENUM_91(x) x, BOOST_PP_SEQ_ENUM_90\r
+# define BOOST_PP_SEQ_ENUM_92(x) x, BOOST_PP_SEQ_ENUM_91\r
+# define BOOST_PP_SEQ_ENUM_93(x) x, BOOST_PP_SEQ_ENUM_92\r
+# define BOOST_PP_SEQ_ENUM_94(x) x, BOOST_PP_SEQ_ENUM_93\r
+# define BOOST_PP_SEQ_ENUM_95(x) x, BOOST_PP_SEQ_ENUM_94\r
+# define BOOST_PP_SEQ_ENUM_96(x) x, BOOST_PP_SEQ_ENUM_95\r
+# define BOOST_PP_SEQ_ENUM_97(x) x, BOOST_PP_SEQ_ENUM_96\r
+# define BOOST_PP_SEQ_ENUM_98(x) x, BOOST_PP_SEQ_ENUM_97\r
+# define BOOST_PP_SEQ_ENUM_99(x) x, BOOST_PP_SEQ_ENUM_98\r
+# define BOOST_PP_SEQ_ENUM_100(x) x, BOOST_PP_SEQ_ENUM_99\r
+# define BOOST_PP_SEQ_ENUM_101(x) x, BOOST_PP_SEQ_ENUM_100\r
+# define BOOST_PP_SEQ_ENUM_102(x) x, BOOST_PP_SEQ_ENUM_101\r
+# define BOOST_PP_SEQ_ENUM_103(x) x, BOOST_PP_SEQ_ENUM_102\r
+# define BOOST_PP_SEQ_ENUM_104(x) x, BOOST_PP_SEQ_ENUM_103\r
+# define BOOST_PP_SEQ_ENUM_105(x) x, BOOST_PP_SEQ_ENUM_104\r
+# define BOOST_PP_SEQ_ENUM_106(x) x, BOOST_PP_SEQ_ENUM_105\r
+# define BOOST_PP_SEQ_ENUM_107(x) x, BOOST_PP_SEQ_ENUM_106\r
+# define BOOST_PP_SEQ_ENUM_108(x) x, BOOST_PP_SEQ_ENUM_107\r
+# define BOOST_PP_SEQ_ENUM_109(x) x, BOOST_PP_SEQ_ENUM_108\r
+# define BOOST_PP_SEQ_ENUM_110(x) x, BOOST_PP_SEQ_ENUM_109\r
+# define BOOST_PP_SEQ_ENUM_111(x) x, BOOST_PP_SEQ_ENUM_110\r
+# define BOOST_PP_SEQ_ENUM_112(x) x, BOOST_PP_SEQ_ENUM_111\r
+# define BOOST_PP_SEQ_ENUM_113(x) x, BOOST_PP_SEQ_ENUM_112\r
+# define BOOST_PP_SEQ_ENUM_114(x) x, BOOST_PP_SEQ_ENUM_113\r
+# define BOOST_PP_SEQ_ENUM_115(x) x, BOOST_PP_SEQ_ENUM_114\r
+# define BOOST_PP_SEQ_ENUM_116(x) x, BOOST_PP_SEQ_ENUM_115\r
+# define BOOST_PP_SEQ_ENUM_117(x) x, BOOST_PP_SEQ_ENUM_116\r
+# define BOOST_PP_SEQ_ENUM_118(x) x, BOOST_PP_SEQ_ENUM_117\r
+# define BOOST_PP_SEQ_ENUM_119(x) x, BOOST_PP_SEQ_ENUM_118\r
+# define BOOST_PP_SEQ_ENUM_120(x) x, BOOST_PP_SEQ_ENUM_119\r
+# define BOOST_PP_SEQ_ENUM_121(x) x, BOOST_PP_SEQ_ENUM_120\r
+# define BOOST_PP_SEQ_ENUM_122(x) x, BOOST_PP_SEQ_ENUM_121\r
+# define BOOST_PP_SEQ_ENUM_123(x) x, BOOST_PP_SEQ_ENUM_122\r
+# define BOOST_PP_SEQ_ENUM_124(x) x, BOOST_PP_SEQ_ENUM_123\r
+# define BOOST_PP_SEQ_ENUM_125(x) x, BOOST_PP_SEQ_ENUM_124\r
+# define BOOST_PP_SEQ_ENUM_126(x) x, BOOST_PP_SEQ_ENUM_125\r
+# define BOOST_PP_SEQ_ENUM_127(x) x, BOOST_PP_SEQ_ENUM_126\r
+# define BOOST_PP_SEQ_ENUM_128(x) x, BOOST_PP_SEQ_ENUM_127\r
+# define BOOST_PP_SEQ_ENUM_129(x) x, BOOST_PP_SEQ_ENUM_128\r
+# define BOOST_PP_SEQ_ENUM_130(x) x, BOOST_PP_SEQ_ENUM_129\r
+# define BOOST_PP_SEQ_ENUM_131(x) x, BOOST_PP_SEQ_ENUM_130\r
+# define BOOST_PP_SEQ_ENUM_132(x) x, BOOST_PP_SEQ_ENUM_131\r
+# define BOOST_PP_SEQ_ENUM_133(x) x, BOOST_PP_SEQ_ENUM_132\r
+# define BOOST_PP_SEQ_ENUM_134(x) x, BOOST_PP_SEQ_ENUM_133\r
+# define BOOST_PP_SEQ_ENUM_135(x) x, BOOST_PP_SEQ_ENUM_134\r
+# define BOOST_PP_SEQ_ENUM_136(x) x, BOOST_PP_SEQ_ENUM_135\r
+# define BOOST_PP_SEQ_ENUM_137(x) x, BOOST_PP_SEQ_ENUM_136\r
+# define BOOST_PP_SEQ_ENUM_138(x) x, BOOST_PP_SEQ_ENUM_137\r
+# define BOOST_PP_SEQ_ENUM_139(x) x, BOOST_PP_SEQ_ENUM_138\r
+# define BOOST_PP_SEQ_ENUM_140(x) x, BOOST_PP_SEQ_ENUM_139\r
+# define BOOST_PP_SEQ_ENUM_141(x) x, BOOST_PP_SEQ_ENUM_140\r
+# define BOOST_PP_SEQ_ENUM_142(x) x, BOOST_PP_SEQ_ENUM_141\r
+# define BOOST_PP_SEQ_ENUM_143(x) x, BOOST_PP_SEQ_ENUM_142\r
+# define BOOST_PP_SEQ_ENUM_144(x) x, BOOST_PP_SEQ_ENUM_143\r
+# define BOOST_PP_SEQ_ENUM_145(x) x, BOOST_PP_SEQ_ENUM_144\r
+# define BOOST_PP_SEQ_ENUM_146(x) x, BOOST_PP_SEQ_ENUM_145\r
+# define BOOST_PP_SEQ_ENUM_147(x) x, BOOST_PP_SEQ_ENUM_146\r
+# define BOOST_PP_SEQ_ENUM_148(x) x, BOOST_PP_SEQ_ENUM_147\r
+# define BOOST_PP_SEQ_ENUM_149(x) x, BOOST_PP_SEQ_ENUM_148\r
+# define BOOST_PP_SEQ_ENUM_150(x) x, BOOST_PP_SEQ_ENUM_149\r
+# define BOOST_PP_SEQ_ENUM_151(x) x, BOOST_PP_SEQ_ENUM_150\r
+# define BOOST_PP_SEQ_ENUM_152(x) x, BOOST_PP_SEQ_ENUM_151\r
+# define BOOST_PP_SEQ_ENUM_153(x) x, BOOST_PP_SEQ_ENUM_152\r
+# define BOOST_PP_SEQ_ENUM_154(x) x, BOOST_PP_SEQ_ENUM_153\r
+# define BOOST_PP_SEQ_ENUM_155(x) x, BOOST_PP_SEQ_ENUM_154\r
+# define BOOST_PP_SEQ_ENUM_156(x) x, BOOST_PP_SEQ_ENUM_155\r
+# define BOOST_PP_SEQ_ENUM_157(x) x, BOOST_PP_SEQ_ENUM_156\r
+# define BOOST_PP_SEQ_ENUM_158(x) x, BOOST_PP_SEQ_ENUM_157\r
+# define BOOST_PP_SEQ_ENUM_159(x) x, BOOST_PP_SEQ_ENUM_158\r
+# define BOOST_PP_SEQ_ENUM_160(x) x, BOOST_PP_SEQ_ENUM_159\r
+# define BOOST_PP_SEQ_ENUM_161(x) x, BOOST_PP_SEQ_ENUM_160\r
+# define BOOST_PP_SEQ_ENUM_162(x) x, BOOST_PP_SEQ_ENUM_161\r
+# define BOOST_PP_SEQ_ENUM_163(x) x, BOOST_PP_SEQ_ENUM_162\r
+# define BOOST_PP_SEQ_ENUM_164(x) x, BOOST_PP_SEQ_ENUM_163\r
+# define BOOST_PP_SEQ_ENUM_165(x) x, BOOST_PP_SEQ_ENUM_164\r
+# define BOOST_PP_SEQ_ENUM_166(x) x, BOOST_PP_SEQ_ENUM_165\r
+# define BOOST_PP_SEQ_ENUM_167(x) x, BOOST_PP_SEQ_ENUM_166\r
+# define BOOST_PP_SEQ_ENUM_168(x) x, BOOST_PP_SEQ_ENUM_167\r
+# define BOOST_PP_SEQ_ENUM_169(x) x, BOOST_PP_SEQ_ENUM_168\r
+# define BOOST_PP_SEQ_ENUM_170(x) x, BOOST_PP_SEQ_ENUM_169\r
+# define BOOST_PP_SEQ_ENUM_171(x) x, BOOST_PP_SEQ_ENUM_170\r
+# define BOOST_PP_SEQ_ENUM_172(x) x, BOOST_PP_SEQ_ENUM_171\r
+# define BOOST_PP_SEQ_ENUM_173(x) x, BOOST_PP_SEQ_ENUM_172\r
+# define BOOST_PP_SEQ_ENUM_174(x) x, BOOST_PP_SEQ_ENUM_173\r
+# define BOOST_PP_SEQ_ENUM_175(x) x, BOOST_PP_SEQ_ENUM_174\r
+# define BOOST_PP_SEQ_ENUM_176(x) x, BOOST_PP_SEQ_ENUM_175\r
+# define BOOST_PP_SEQ_ENUM_177(x) x, BOOST_PP_SEQ_ENUM_176\r
+# define BOOST_PP_SEQ_ENUM_178(x) x, BOOST_PP_SEQ_ENUM_177\r
+# define BOOST_PP_SEQ_ENUM_179(x) x, BOOST_PP_SEQ_ENUM_178\r
+# define BOOST_PP_SEQ_ENUM_180(x) x, BOOST_PP_SEQ_ENUM_179\r
+# define BOOST_PP_SEQ_ENUM_181(x) x, BOOST_PP_SEQ_ENUM_180\r
+# define BOOST_PP_SEQ_ENUM_182(x) x, BOOST_PP_SEQ_ENUM_181\r
+# define BOOST_PP_SEQ_ENUM_183(x) x, BOOST_PP_SEQ_ENUM_182\r
+# define BOOST_PP_SEQ_ENUM_184(x) x, BOOST_PP_SEQ_ENUM_183\r
+# define BOOST_PP_SEQ_ENUM_185(x) x, BOOST_PP_SEQ_ENUM_184\r
+# define BOOST_PP_SEQ_ENUM_186(x) x, BOOST_PP_SEQ_ENUM_185\r
+# define BOOST_PP_SEQ_ENUM_187(x) x, BOOST_PP_SEQ_ENUM_186\r
+# define BOOST_PP_SEQ_ENUM_188(x) x, BOOST_PP_SEQ_ENUM_187\r
+# define BOOST_PP_SEQ_ENUM_189(x) x, BOOST_PP_SEQ_ENUM_188\r
+# define BOOST_PP_SEQ_ENUM_190(x) x, BOOST_PP_SEQ_ENUM_189\r
+# define BOOST_PP_SEQ_ENUM_191(x) x, BOOST_PP_SEQ_ENUM_190\r
+# define BOOST_PP_SEQ_ENUM_192(x) x, BOOST_PP_SEQ_ENUM_191\r
+# define BOOST_PP_SEQ_ENUM_193(x) x, BOOST_PP_SEQ_ENUM_192\r
+# define BOOST_PP_SEQ_ENUM_194(x) x, BOOST_PP_SEQ_ENUM_193\r
+# define BOOST_PP_SEQ_ENUM_195(x) x, BOOST_PP_SEQ_ENUM_194\r
+# define BOOST_PP_SEQ_ENUM_196(x) x, BOOST_PP_SEQ_ENUM_195\r
+# define BOOST_PP_SEQ_ENUM_197(x) x, BOOST_PP_SEQ_ENUM_196\r
+# define BOOST_PP_SEQ_ENUM_198(x) x, BOOST_PP_SEQ_ENUM_197\r
+# define BOOST_PP_SEQ_ENUM_199(x) x, BOOST_PP_SEQ_ENUM_198\r
+# define BOOST_PP_SEQ_ENUM_200(x) x, BOOST_PP_SEQ_ENUM_199\r
+# define BOOST_PP_SEQ_ENUM_201(x) x, BOOST_PP_SEQ_ENUM_200\r
+# define BOOST_PP_SEQ_ENUM_202(x) x, BOOST_PP_SEQ_ENUM_201\r
+# define BOOST_PP_SEQ_ENUM_203(x) x, BOOST_PP_SEQ_ENUM_202\r
+# define BOOST_PP_SEQ_ENUM_204(x) x, BOOST_PP_SEQ_ENUM_203\r
+# define BOOST_PP_SEQ_ENUM_205(x) x, BOOST_PP_SEQ_ENUM_204\r
+# define BOOST_PP_SEQ_ENUM_206(x) x, BOOST_PP_SEQ_ENUM_205\r
+# define BOOST_PP_SEQ_ENUM_207(x) x, BOOST_PP_SEQ_ENUM_206\r
+# define BOOST_PP_SEQ_ENUM_208(x) x, BOOST_PP_SEQ_ENUM_207\r
+# define BOOST_PP_SEQ_ENUM_209(x) x, BOOST_PP_SEQ_ENUM_208\r
+# define BOOST_PP_SEQ_ENUM_210(x) x, BOOST_PP_SEQ_ENUM_209\r
+# define BOOST_PP_SEQ_ENUM_211(x) x, BOOST_PP_SEQ_ENUM_210\r
+# define BOOST_PP_SEQ_ENUM_212(x) x, BOOST_PP_SEQ_ENUM_211\r
+# define BOOST_PP_SEQ_ENUM_213(x) x, BOOST_PP_SEQ_ENUM_212\r
+# define BOOST_PP_SEQ_ENUM_214(x) x, BOOST_PP_SEQ_ENUM_213\r
+# define BOOST_PP_SEQ_ENUM_215(x) x, BOOST_PP_SEQ_ENUM_214\r
+# define BOOST_PP_SEQ_ENUM_216(x) x, BOOST_PP_SEQ_ENUM_215\r
+# define BOOST_PP_SEQ_ENUM_217(x) x, BOOST_PP_SEQ_ENUM_216\r
+# define BOOST_PP_SEQ_ENUM_218(x) x, BOOST_PP_SEQ_ENUM_217\r
+# define BOOST_PP_SEQ_ENUM_219(x) x, BOOST_PP_SEQ_ENUM_218\r
+# define BOOST_PP_SEQ_ENUM_220(x) x, BOOST_PP_SEQ_ENUM_219\r
+# define BOOST_PP_SEQ_ENUM_221(x) x, BOOST_PP_SEQ_ENUM_220\r
+# define BOOST_PP_SEQ_ENUM_222(x) x, BOOST_PP_SEQ_ENUM_221\r
+# define BOOST_PP_SEQ_ENUM_223(x) x, BOOST_PP_SEQ_ENUM_222\r
+# define BOOST_PP_SEQ_ENUM_224(x) x, BOOST_PP_SEQ_ENUM_223\r
+# define BOOST_PP_SEQ_ENUM_225(x) x, BOOST_PP_SEQ_ENUM_224\r
+# define BOOST_PP_SEQ_ENUM_226(x) x, BOOST_PP_SEQ_ENUM_225\r
+# define BOOST_PP_SEQ_ENUM_227(x) x, BOOST_PP_SEQ_ENUM_226\r
+# define BOOST_PP_SEQ_ENUM_228(x) x, BOOST_PP_SEQ_ENUM_227\r
+# define BOOST_PP_SEQ_ENUM_229(x) x, BOOST_PP_SEQ_ENUM_228\r
+# define BOOST_PP_SEQ_ENUM_230(x) x, BOOST_PP_SEQ_ENUM_229\r
+# define BOOST_PP_SEQ_ENUM_231(x) x, BOOST_PP_SEQ_ENUM_230\r
+# define BOOST_PP_SEQ_ENUM_232(x) x, BOOST_PP_SEQ_ENUM_231\r
+# define BOOST_PP_SEQ_ENUM_233(x) x, BOOST_PP_SEQ_ENUM_232\r
+# define BOOST_PP_SEQ_ENUM_234(x) x, BOOST_PP_SEQ_ENUM_233\r
+# define BOOST_PP_SEQ_ENUM_235(x) x, BOOST_PP_SEQ_ENUM_234\r
+# define BOOST_PP_SEQ_ENUM_236(x) x, BOOST_PP_SEQ_ENUM_235\r
+# define BOOST_PP_SEQ_ENUM_237(x) x, BOOST_PP_SEQ_ENUM_236\r
+# define BOOST_PP_SEQ_ENUM_238(x) x, BOOST_PP_SEQ_ENUM_237\r
+# define BOOST_PP_SEQ_ENUM_239(x) x, BOOST_PP_SEQ_ENUM_238\r
+# define BOOST_PP_SEQ_ENUM_240(x) x, BOOST_PP_SEQ_ENUM_239\r
+# define BOOST_PP_SEQ_ENUM_241(x) x, BOOST_PP_SEQ_ENUM_240\r
+# define BOOST_PP_SEQ_ENUM_242(x) x, BOOST_PP_SEQ_ENUM_241\r
+# define BOOST_PP_SEQ_ENUM_243(x) x, BOOST_PP_SEQ_ENUM_242\r
+# define BOOST_PP_SEQ_ENUM_244(x) x, BOOST_PP_SEQ_ENUM_243\r
+# define BOOST_PP_SEQ_ENUM_245(x) x, BOOST_PP_SEQ_ENUM_244\r
+# define BOOST_PP_SEQ_ENUM_246(x) x, BOOST_PP_SEQ_ENUM_245\r
+# define BOOST_PP_SEQ_ENUM_247(x) x, BOOST_PP_SEQ_ENUM_246\r
+# define BOOST_PP_SEQ_ENUM_248(x) x, BOOST_PP_SEQ_ENUM_247\r
+# define BOOST_PP_SEQ_ENUM_249(x) x, BOOST_PP_SEQ_ENUM_248\r
+# define BOOST_PP_SEQ_ENUM_250(x) x, BOOST_PP_SEQ_ENUM_249\r
+# define BOOST_PP_SEQ_ENUM_251(x) x, BOOST_PP_SEQ_ENUM_250\r
+# define BOOST_PP_SEQ_ENUM_252(x) x, BOOST_PP_SEQ_ENUM_251\r
+# define BOOST_PP_SEQ_ENUM_253(x) x, BOOST_PP_SEQ_ENUM_252\r
+# define BOOST_PP_SEQ_ENUM_254(x) x, BOOST_PP_SEQ_ENUM_253\r
+# define BOOST_PP_SEQ_ENUM_255(x) x, BOOST_PP_SEQ_ENUM_254\r
+# define BOOST_PP_SEQ_ENUM_256(x) x, BOOST_PP_SEQ_ENUM_255\r
+#\r
+# endif\r
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 (file)
index 0000000..896ae95
--- /dev/null
@@ -0,0 +1,54 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_SEQ_FILTER_HPP\r
+# define BOOST_PREPROCESSOR_SEQ_FILTER_HPP\r
+#\r
+# include <boost/preprocessor/config/config.hpp>\r
+# include <boost/preprocessor/control/expr_if.hpp>\r
+# include <boost/preprocessor/facilities/empty.hpp>\r
+# include <boost/preprocessor/seq/fold_left.hpp>\r
+# include <boost/preprocessor/seq/seq.hpp>\r
+# include <boost/preprocessor/tuple/elem.hpp>\r
+# include <boost/preprocessor/tuple/rem.hpp>\r
+#\r
+# /* BOOST_PP_SEQ_FILTER */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    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)))\r
+# else\r
+#    define BOOST_PP_SEQ_FILTER(pred, data, seq) BOOST_PP_SEQ_FILTER_I(pred, data, seq)\r
+#    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)))\r
+# endif\r
+#\r
+# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()\r
+#    define BOOST_PP_SEQ_FILTER_O(s, st, elem) BOOST_PP_SEQ_FILTER_O_IM(s, BOOST_PP_TUPLE_REM_3 st, elem)\r
+#    define BOOST_PP_SEQ_FILTER_O_IM(s, im, elem) BOOST_PP_SEQ_FILTER_O_I(s, im, elem)\r
+# else\r
+#    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)\r
+# endif\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC()\r
+#   define BOOST_PP_SEQ_FILTER_O_I(s, pred, data, res, elem) (pred, data, res BOOST_PP_EXPR_IF(pred(s, data, elem), (elem)))\r
+# else\r
+#   define BOOST_PP_SEQ_FILTER_O_I(s, pred, data, res, elem) (pred, data, res BOOST_PP_EXPR_IF(pred##(s, data, elem), (elem)))\r
+# endif\r
+#\r
+# /* BOOST_PP_SEQ_FILTER_S */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    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)))\r
+# else\r
+#    define BOOST_PP_SEQ_FILTER_S(s, pred, data, seq) BOOST_PP_SEQ_FILTER_S_I(s, pred, data, seq)\r
+#    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)))\r
+# endif\r
+#\r
+# endif\r
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 (file)
index 0000000..5f88281
--- /dev/null
@@ -0,0 +1,30 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_SEQ_FIRST_N_HPP\r
+# define BOOST_PREPROCESSOR_SEQ_FIRST_N_HPP\r
+#\r
+# include <boost/preprocessor/config/config.hpp>\r
+# include <boost/preprocessor/control/if.hpp>\r
+# include <boost/preprocessor/seq/detail/split.hpp>\r
+# include <boost/preprocessor/tuple/eat.hpp>\r
+# include <boost/preprocessor/tuple/elem.hpp>\r
+#\r
+# /* BOOST_PP_SEQ_FIRST_N */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    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)))\r
+# else\r
+#    define BOOST_PP_SEQ_FIRST_N(n, seq) BOOST_PP_SEQ_FIRST_N_I(n, seq)\r
+#    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)))\r
+# endif\r
+#\r
+# endif\r
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 (file)
index 0000000..ea05882
--- /dev/null
@@ -0,0 +1,1070 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_SEQ_FOLD_LEFT_HPP\r
+# define BOOST_PREPROCESSOR_SEQ_FOLD_LEFT_HPP\r
+#\r
+# include <boost/preprocessor/arithmetic/dec.hpp>\r
+# include <boost/preprocessor/cat.hpp>\r
+# include <boost/preprocessor/control/if.hpp>\r
+# include <boost/preprocessor/debug/error.hpp>\r
+# include <boost/preprocessor/detail/auto_rec.hpp>\r
+# include <boost/preprocessor/seq/seq.hpp>\r
+# include <boost/preprocessor/seq/size.hpp>\r
+#\r
+# /* BOOST_PP_SEQ_FOLD_LEFT */\r
+#\r
+# if 0\r
+#    define BOOST_PP_SEQ_FOLD_LEFT(op, state, seq) ...\r
+# endif\r
+#\r
+# 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))\r
+# 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))\r
+# define BOOST_PP_SEQ_FOLD_LEFT_O(s, st, _) st\r
+#\r
+# define BOOST_PP_SEQ_FOLD_LEFT_257(op, st, ss) BOOST_PP_ERROR(0x0005)\r
+# define BOOST_PP_SEQ_FOLD_LEFT_I_257(op, st, ss, sz) BOOST_PP_ERROR(0x0005)\r
+#\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_NIL 1\r
+#\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_1(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_2(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_3(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_4(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_5(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_6(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_7(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_8(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_9(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_10(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_11(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_12(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_13(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_14(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_15(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_16(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_17(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_18(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_19(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_20(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_21(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_22(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_23(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_24(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_25(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_26(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_27(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_28(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_29(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_30(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_31(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_32(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_33(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_34(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_35(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_36(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_37(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_38(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_39(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_40(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_41(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_42(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_43(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_44(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_45(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_46(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_47(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_48(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_49(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_50(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_51(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_52(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_53(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_54(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_55(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_56(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_57(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_58(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_59(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_60(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_61(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_62(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_63(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_64(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_65(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_66(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_67(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_68(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_69(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_70(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_71(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_72(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_73(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_74(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_75(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_76(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_77(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_78(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_79(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_80(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_81(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_82(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_83(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_84(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_85(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_86(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_87(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_88(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_89(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_90(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_91(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_92(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_93(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_94(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_95(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_96(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_97(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_98(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_99(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_100(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_101(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_102(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_103(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_104(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_105(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_106(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_107(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_108(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_109(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_110(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_111(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_112(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_113(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_114(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_115(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_116(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_117(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_118(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_119(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_120(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_121(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_122(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_123(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_124(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_125(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_126(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_127(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_128(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_129(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_130(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_131(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_132(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_133(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_134(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_135(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_136(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_137(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_138(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_139(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_140(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_141(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_142(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_143(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_144(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_145(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_146(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_147(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_148(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_149(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_150(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_151(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_152(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_153(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_154(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_155(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_156(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_157(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_158(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_159(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_160(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_161(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_162(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_163(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_164(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_165(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_166(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_167(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_168(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_169(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_170(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_171(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_172(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_173(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_174(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_175(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_176(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_177(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_178(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_179(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_180(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_181(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_182(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_183(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_184(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_185(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_186(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_187(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_188(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_189(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_190(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_191(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_192(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_193(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_194(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_195(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_196(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_197(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_198(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_199(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_200(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_201(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_202(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_203(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_204(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_205(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_206(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_207(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_208(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_209(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_210(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_211(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_212(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_213(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_214(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_215(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_216(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_217(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_218(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_219(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_220(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_221(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_222(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_223(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_224(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_225(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_226(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_227(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_228(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_229(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_230(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_231(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_232(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_233(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_234(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_235(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_236(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_237(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_238(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_239(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_240(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_241(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_242(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_243(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_244(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_245(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_246(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_247(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_248(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_249(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_250(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_251(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_252(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_253(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_254(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_255(op, st, ss, sz) 0\r
+# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_256(op, st, ss, sz) 0\r
+#\r
+# define BOOST_PP_SEQ_FOLD_LEFT_F(op, st, ss, sz) st\r
+#\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC()\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+# else\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+#    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))\r
+# endif\r
+#\r
+# endif\r
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 (file)
index 0000000..180e97c
--- /dev/null
@@ -0,0 +1,288 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_SEQ_FOLD_RIGHT_HPP\r
+# define BOOST_PREPROCESSOR_SEQ_FOLD_RIGHT_HPP\r
+#\r
+# include <boost/preprocessor/cat.hpp>\r
+# include <boost/preprocessor/detail/auto_rec.hpp>\r
+# include <boost/preprocessor/seq/fold_left.hpp>\r
+# include <boost/preprocessor/seq/reverse.hpp>\r
+# include <boost/preprocessor/seq/seq.hpp>\r
+#\r
+# /* BOOST_PP_SEQ_FOLD_RIGHT */\r
+#\r
+# if 0\r
+#    define BOOST_PP_SEQ_FOLD_RIGHT(op, state, seq) ...\r
+# endif\r
+#\r
+# 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))\r
+#\r
+# define BOOST_PP_SEQ_FOLD_RIGHT_257(op, st, ss) BOOST_PP_ERROR(0x0005)\r
+#\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+# 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))\r
+#\r
+# endif\r
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 (file)
index 0000000..3cb7474
--- /dev/null
@@ -0,0 +1,60 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_SEQ_FOR_EACH_HPP\r
+# define BOOST_PREPROCESSOR_SEQ_FOR_EACH_HPP\r
+#\r
+# include <boost/preprocessor/arithmetic/dec.hpp>\r
+# include <boost/preprocessor/config/config.hpp>\r
+# include <boost/preprocessor/repetition/for.hpp>\r
+# include <boost/preprocessor/seq/seq.hpp>\r
+# include <boost/preprocessor/seq/size.hpp>\r
+# include <boost/preprocessor/tuple/elem.hpp>\r
+# include <boost/preprocessor/tuple/rem.hpp>\r
+#\r
+# /* BOOST_PP_SEQ_FOR_EACH */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    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)\r
+# else\r
+#    define BOOST_PP_SEQ_FOR_EACH(macro, data, seq) BOOST_PP_SEQ_FOR_EACH_D(macro, data, seq)\r
+#    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)\r
+# endif\r
+#\r
+# define BOOST_PP_SEQ_FOR_EACH_P(r, x) BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(BOOST_PP_TUPLE_ELEM(3, 2, x)))\r
+#\r
+# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()\r
+#    define BOOST_PP_SEQ_FOR_EACH_O(r, x) BOOST_PP_SEQ_FOR_EACH_O_I x\r
+# else\r
+#    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))\r
+# endif\r
+#\r
+# define BOOST_PP_SEQ_FOR_EACH_O_I(macro, data, seq) (macro, data, BOOST_PP_SEQ_TAIL(seq))\r
+#\r
+# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()\r
+#    define BOOST_PP_SEQ_FOR_EACH_M(r, x) BOOST_PP_SEQ_FOR_EACH_M_IM(r, BOOST_PP_TUPLE_REM_3 x)\r
+#    define BOOST_PP_SEQ_FOR_EACH_M_IM(r, im) BOOST_PP_SEQ_FOR_EACH_M_I(r, im)\r
+# else\r
+#    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))\r
+# endif\r
+#\r
+# define BOOST_PP_SEQ_FOR_EACH_M_I(r, macro, data, seq) macro(r, data, BOOST_PP_SEQ_HEAD(seq))\r
+#\r
+# /* BOOST_PP_SEQ_FOR_EACH_R */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    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)\r
+# else\r
+#    define BOOST_PP_SEQ_FOR_EACH_R(r, macro, data, seq) BOOST_PP_SEQ_FOR_EACH_R_I(r, macro, data, seq)\r
+#    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)\r
+# endif\r
+#\r
+# endif\r
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 (file)
index 0000000..023645f
--- /dev/null
@@ -0,0 +1,61 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_SEQ_FOR_EACH_I_HPP\r
+# define BOOST_PREPROCESSOR_SEQ_FOR_EACH_I_HPP\r
+#\r
+# include <boost/preprocessor/arithmetic/dec.hpp>\r
+# include <boost/preprocessor/arithmetic/inc.hpp>\r
+# include <boost/preprocessor/config/config.hpp>\r
+# include <boost/preprocessor/repetition/for.hpp>\r
+# include <boost/preprocessor/seq/seq.hpp>\r
+# include <boost/preprocessor/seq/size.hpp>\r
+# include <boost/preprocessor/tuple/elem.hpp>\r
+# include <boost/preprocessor/tuple/rem.hpp>\r
+#\r
+# /* BOOST_PP_SEQ_FOR_EACH_I */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    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)\r
+# else\r
+#    define BOOST_PP_SEQ_FOR_EACH_I(macro, data, seq) BOOST_PP_SEQ_FOR_EACH_I_I(macro, data, seq)\r
+#    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)\r
+# endif\r
+#\r
+# define BOOST_PP_SEQ_FOR_EACH_I_P(r, x) BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(BOOST_PP_TUPLE_ELEM(4, 2, x)))\r
+#\r
+# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()\r
+#    define BOOST_PP_SEQ_FOR_EACH_I_O(r, x) BOOST_PP_SEQ_FOR_EACH_I_O_I x\r
+# else\r
+#    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))\r
+# endif\r
+#\r
+# define BOOST_PP_SEQ_FOR_EACH_I_O_I(macro, data, seq, i) (macro, data, BOOST_PP_SEQ_TAIL(seq), BOOST_PP_INC(i))\r
+#\r
+# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()\r
+#    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)\r
+#    define BOOST_PP_SEQ_FOR_EACH_I_M_IM(r, im) BOOST_PP_SEQ_FOR_EACH_I_M_I(r, im)\r
+# else\r
+#    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))\r
+# endif\r
+#\r
+# define BOOST_PP_SEQ_FOR_EACH_I_M_I(r, macro, data, seq, i) macro(r, data, i, BOOST_PP_SEQ_HEAD(seq))\r
+#\r
+# /* BOOST_PP_SEQ_FOR_EACH_I_R */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    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)\r
+# else\r
+#    define BOOST_PP_SEQ_FOR_EACH_I_R(r, macro, data, seq) BOOST_PP_SEQ_FOR_EACH_I_R_I(r, macro, data, seq)\r
+#    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)\r
+# endif\r
+#\r
+# endif\r
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 (file)
index 0000000..95f7415
--- /dev/null
@@ -0,0 +1,126 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_SEQ_FOR_EACH_PRODUCT_HPP\r
+# define BOOST_PREPROCESSOR_SEQ_FOR_EACH_PRODUCT_HPP\r
+#\r
+# include <boost/preprocessor/arithmetic/dec.hpp>\r
+# include <boost/preprocessor/config/config.hpp>\r
+# include <boost/preprocessor/control/if.hpp>\r
+# include <boost/preprocessor/repetition/for.hpp>\r
+# include <boost/preprocessor/seq/seq.hpp>\r
+# include <boost/preprocessor/seq/size.hpp>\r
+# include <boost/preprocessor/tuple/elem.hpp>\r
+# include <boost/preprocessor/tuple/rem.hpp>\r
+#\r
+# /* BOOST_PP_SEQ_FOR_EACH_PRODUCT */\r
+#\r
+# define BOOST_PP_SEQ_FOR_EACH_PRODUCT(macro, sets) BOOST_PP_SEQ_FOR_EACH_PRODUCT_E(BOOST_PP_FOR, macro, sets)\r
+#\r
+# /* BOOST_PP_SEQ_FOR_EACH_PRODUCT_R */\r
+#\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)\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    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)\r
+# else\r
+#    define BOOST_PP_SEQ_FOR_EACH_PRODUCT_E(impl, macro, sets) BOOST_PP_SEQ_FOR_EACH_PRODUCT_E_I(impl, macro, sets)\r
+#    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)\r
+# endif\r
+#\r
+# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()\r
+#    define BOOST_PP_SEQ_FOR_EACH_PRODUCT_P(r, data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_P_I data\r
+#    define BOOST_PP_SEQ_FOR_EACH_PRODUCT_P_I(cset, rset, res, macro) BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(cset))\r
+# else\r
+#    define BOOST_PP_SEQ_FOR_EACH_PRODUCT_P(r, data) BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(BOOST_PP_TUPLE_ELEM(4, 0, data)))\r
+# endif\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()\r
+#    define BOOST_PP_SEQ_FOR_EACH_PRODUCT_O(r, data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_O_I data\r
+#    define BOOST_PP_SEQ_FOR_EACH_PRODUCT_O_I(cset, rset, res, macro) (BOOST_PP_SEQ_TAIL(cset), rset, res, macro)\r
+# else\r
+#    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))\r
+# endif\r
+#\r
+# 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)\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    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))\r
+# else\r
+#    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)\r
+#    define BOOST_PP_SEQ_FOR_EACH_PRODUCT_I_IM(r, im) BOOST_PP_SEQ_FOR_EACH_PRODUCT_I_I(r, im)\r
+# endif\r
+#\r
+# 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))))\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()\r
+#    define BOOST_PP_SEQ_FOR_EACH_PRODUCT_H(data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_H_I data\r
+# else\r
+#    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))\r
+# endif\r
+#\r
+# 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)\r
+#\r
+# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_0(r, data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_C(data, 0)(r, data)\r
+# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_1(r, data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_C(data, 1)(r, data)\r
+# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_2(r, data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_C(data, 2)(r, data)\r
+# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_3(r, data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_C(data, 3)(r, data)\r
+# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_4(r, data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_C(data, 4)(r, data)\r
+# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_5(r, data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_C(data, 5)(r, data)\r
+# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_6(r, data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_C(data, 6)(r, data)\r
+# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_7(r, data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_C(data, 7)(r, data)\r
+# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_8(r, data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_C(data, 8)(r, data)\r
+# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_9(r, data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_C(data, 9)(r, data)\r
+# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_10(r, data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_C(data, 10)(r, data)\r
+# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_11(r, data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_C(data, 11)(r, data)\r
+# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_12(r, data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_C(data, 12)(r, data)\r
+# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_13(r, data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_C(data, 13)(r, data)\r
+# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_14(r, data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_C(data, 14)(r, data)\r
+# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_15(r, data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_C(data, 15)(r, data)\r
+# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_16(r, data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_C(data, 16)(r, data)\r
+# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_17(r, data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_C(data, 17)(r, data)\r
+# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_18(r, data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_C(data, 18)(r, data)\r
+# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_19(r, data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_C(data, 19)(r, data)\r
+# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_20(r, data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_C(data, 20)(r, data)\r
+# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_21(r, data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_C(data, 21)(r, data)\r
+# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_22(r, data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_C(data, 22)(r, data)\r
+# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_23(r, data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_C(data, 23)(r, data)\r
+# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_24(r, data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_C(data, 24)(r, data)\r
+# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_25(r, data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_C(data, 25)(r, data)\r
+#\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+#\r
+# endif\r
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 (file)
index 0000000..2889a15
--- /dev/null
@@ -0,0 +1,28 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_SEQ_INSERT_HPP\r
+# define BOOST_PREPROCESSOR_SEQ_INSERT_HPP\r
+#\r
+# include <boost/preprocessor/config/config.hpp>\r
+# include <boost/preprocessor/seq/first_n.hpp>\r
+# include <boost/preprocessor/seq/rest_n.hpp>\r
+#\r
+# /* BOOST_PP_SEQ_INSERT */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    define BOOST_PP_SEQ_INSERT(seq, i, elem) BOOST_PP_SEQ_FIRST_N(i, seq) (elem) BOOST_PP_SEQ_REST_N(i, seq)\r
+# else\r
+#    define BOOST_PP_SEQ_INSERT(seq, i, elem) BOOST_PP_SEQ_INSERT_I(seq, i, elem)\r
+#    define BOOST_PP_SEQ_INSERT_I(seq, i, elem) BOOST_PP_SEQ_FIRST_N(i, seq) (elem) BOOST_PP_SEQ_REST_N(i, seq)\r
+# endif\r
+#\r
+# endif\r
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 (file)
index 0000000..2014ea5
--- /dev/null
@@ -0,0 +1,29 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_SEQ_POP_BACK_HPP\r
+# define BOOST_PREPROCESSOR_SEQ_POP_BACK_HPP\r
+#\r
+# include <boost/preprocessor/arithmetic/dec.hpp>\r
+# include <boost/preprocessor/config/config.hpp>\r
+# include <boost/preprocessor/seq/first_n.hpp>\r
+# include <boost/preprocessor/seq/size.hpp>\r
+#\r
+# /* BOOST_PP_SEQ_POP_BACK */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    define BOOST_PP_SEQ_POP_BACK(seq) BOOST_PP_SEQ_FIRST_N(BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(seq)), seq)\r
+# else\r
+#    define BOOST_PP_SEQ_POP_BACK(seq) BOOST_PP_SEQ_POP_BACK_I(seq)\r
+#    define BOOST_PP_SEQ_POP_BACK_I(seq) BOOST_PP_SEQ_FIRST_N(BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(seq)), seq)\r
+# endif\r
+#\r
+# endif\r
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 (file)
index 0000000..f2ab4d9
--- /dev/null
@@ -0,0 +1,27 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_SEQ_POP_FRONT_HPP\r
+# define BOOST_PREPROCESSOR_SEQ_POP_FRONT_HPP\r
+#\r
+# include <boost/preprocessor/config/config.hpp>\r
+# include <boost/preprocessor/seq/seq.hpp>\r
+#\r
+# /* BOOST_PP_SEQ_POP_FRONT */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    define BOOST_PP_SEQ_POP_FRONT(seq) BOOST_PP_SEQ_TAIL(seq)\r
+# else\r
+#    define BOOST_PP_SEQ_POP_FRONT(seq) BOOST_PP_SEQ_POP_FRONT_I(seq)\r
+#    define BOOST_PP_SEQ_POP_FRONT_I(seq) BOOST_PP_SEQ_TAIL(seq)\r
+# endif\r
+#\r
+# endif\r
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 (file)
index 0000000..28f1e42
--- /dev/null
@@ -0,0 +1,19 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_SEQ_PUSH_BACK_HPP\r
+# define BOOST_PREPROCESSOR_SEQ_PUSH_BACK_HPP\r
+#\r
+# /* BOOST_PP_SEQ_PUSH_BACK */\r
+#\r
+# define BOOST_PP_SEQ_PUSH_BACK(seq, elem) seq(elem)\r
+#\r
+# endif\r
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 (file)
index 0000000..d5ee994
--- /dev/null
@@ -0,0 +1,19 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_SEQ_PUSH_FRONT_HPP\r
+# define BOOST_PREPROCESSOR_SEQ_PUSH_FRONT_HPP\r
+#\r
+# /* BOOST_PP_SEQ_PUSH_FRONT */\r
+#\r
+# define BOOST_PP_SEQ_PUSH_FRONT(seq, elem) (elem)seq\r
+#\r
+# endif\r
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 (file)
index 0000000..64fabe0
--- /dev/null
@@ -0,0 +1,29 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_SEQ_REMOVE_HPP\r
+# define BOOST_PREPROCESSOR_SEQ_REMOVE_HPP\r
+#\r
+# include <boost/preprocessor/arithmetic/inc.hpp>\r
+# include <boost/preprocessor/config/config.hpp>\r
+# include <boost/preprocessor/seq/first_n.hpp>\r
+# include <boost/preprocessor/seq/rest_n.hpp>\r
+#\r
+# /* BOOST_PP_SEQ_REMOVE */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    define BOOST_PP_SEQ_REMOVE(seq, i) BOOST_PP_SEQ_FIRST_N(i, seq) BOOST_PP_SEQ_REST_N(BOOST_PP_INC(i), seq)\r
+# else\r
+#    define BOOST_PP_SEQ_REMOVE(seq, i) BOOST_PP_SEQ_REMOVE_I(seq, i)\r
+#    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)\r
+# endif\r
+#\r
+# endif\r
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 (file)
index 0000000..70f484f
--- /dev/null
@@ -0,0 +1,29 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_SEQ_REPLACE_HPP\r
+# define BOOST_PREPROCESSOR_SEQ_REPLACE_HPP\r
+#\r
+# include <boost/preprocessor/arithmetic/inc.hpp>\r
+# include <boost/preprocessor/config/config.hpp>\r
+# include <boost/preprocessor/seq/first_n.hpp>\r
+# include <boost/preprocessor/seq/rest_n.hpp>\r
+#\r
+# /* BOOST_PP_SEQ_REPLACE */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    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)\r
+# else\r
+#    define BOOST_PP_SEQ_REPLACE(seq, i, elem) BOOST_PP_SEQ_REPLACE_I(seq, i, elem)\r
+#    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)\r
+# endif\r
+#\r
+# endif\r
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 (file)
index 0000000..291749a
--- /dev/null
@@ -0,0 +1,30 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_SEQ_REST_N_HPP\r
+# define BOOST_PREPROCESSOR_SEQ_REST_N_HPP\r
+#\r
+# include <boost/preprocessor/arithmetic/inc.hpp>\r
+# include <boost/preprocessor/config/config.hpp>\r
+# include <boost/preprocessor/facilities/empty.hpp>\r
+# include <boost/preprocessor/seq/detail/split.hpp>\r
+# include <boost/preprocessor/tuple/elem.hpp>\r
+#\r
+# /* BOOST_PP_SEQ_REST_N */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    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))()\r
+# else\r
+#    define BOOST_PP_SEQ_REST_N(n, seq) BOOST_PP_SEQ_REST_N_I(n, seq)\r
+#    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))()\r
+# endif\r
+#\r
+# endif\r
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 (file)
index 0000000..48cada0
--- /dev/null
@@ -0,0 +1,39 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_SEQ_REVERSE_HPP\r
+# define BOOST_PREPROCESSOR_SEQ_REVERSE_HPP\r
+#\r
+# include <boost/preprocessor/config/config.hpp>\r
+# include <boost/preprocessor/facilities/empty.hpp>\r
+# include <boost/preprocessor/seq/fold_left.hpp>\r
+#\r
+# /* BOOST_PP_SEQ_REVERSE */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    define BOOST_PP_SEQ_REVERSE(seq) BOOST_PP_SEQ_FOLD_LEFT(BOOST_PP_SEQ_REVERSE_O, BOOST_PP_EMPTY, seq)()\r
+# else\r
+#    define BOOST_PP_SEQ_REVERSE(seq) BOOST_PP_SEQ_REVERSE_I(seq)\r
+#    define BOOST_PP_SEQ_REVERSE_I(seq) BOOST_PP_SEQ_FOLD_LEFT(BOOST_PP_SEQ_REVERSE_O, BOOST_PP_EMPTY, seq)()\r
+# endif\r
+#\r
+# define BOOST_PP_SEQ_REVERSE_O(s, state, elem) (elem) state\r
+#\r
+# /* BOOST_PP_SEQ_REVERSE_S */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    define BOOST_PP_SEQ_REVERSE_S(s, seq) BOOST_PP_SEQ_FOLD_LEFT_ ## s(BOOST_PP_SEQ_REVERSE_O, BOOST_PP_EMPTY, seq)()\r
+# else\r
+#    define BOOST_PP_SEQ_REVERSE_S(s, seq) BOOST_PP_SEQ_REVERSE_S_I(s, seq)\r
+#    define BOOST_PP_SEQ_REVERSE_S_I(s, seq) BOOST_PP_SEQ_FOLD_LEFT_ ## s(BOOST_PP_SEQ_REVERSE_O, BOOST_PP_EMPTY, seq)()\r
+# endif\r
+#\r
+# endif\r
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 (file)
index 0000000..1ae331d
--- /dev/null
@@ -0,0 +1,44 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_SEQ_SEQ_HPP\r
+# define BOOST_PREPROCESSOR_SEQ_SEQ_HPP\r
+#\r
+# include <boost/preprocessor/config/config.hpp>\r
+# include <boost/preprocessor/seq/elem.hpp>\r
+#\r
+# /* BOOST_PP_SEQ_HEAD */\r
+#\r
+# define BOOST_PP_SEQ_HEAD(seq) BOOST_PP_SEQ_ELEM(0, seq)\r
+#\r
+# /* BOOST_PP_SEQ_TAIL */\r
+#\r
+# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()\r
+#    define BOOST_PP_SEQ_TAIL(seq) BOOST_PP_SEQ_TAIL_1((seq))\r
+#    define BOOST_PP_SEQ_TAIL_1(par) BOOST_PP_SEQ_TAIL_2 ## par\r
+#    define BOOST_PP_SEQ_TAIL_2(seq) BOOST_PP_SEQ_TAIL_I ## seq\r
+# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()\r
+#    define BOOST_PP_SEQ_TAIL(seq) BOOST_PP_SEQ_TAIL_ID(BOOST_PP_SEQ_TAIL_I seq)\r
+#    define BOOST_PP_SEQ_TAIL_ID(id) id\r
+# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    define BOOST_PP_SEQ_TAIL(seq) BOOST_PP_SEQ_TAIL_D(seq)\r
+#    define BOOST_PP_SEQ_TAIL_D(seq) BOOST_PP_SEQ_TAIL_I seq\r
+# else\r
+#    define BOOST_PP_SEQ_TAIL(seq) BOOST_PP_SEQ_TAIL_I seq\r
+# endif\r
+#\r
+# define BOOST_PP_SEQ_TAIL_I(x)\r
+#\r
+# /* BOOST_PP_SEQ_NIL */\r
+#\r
+# define BOOST_PP_SEQ_NIL(x) (x)\r
+#\r
+# endif\r
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 (file)
index 0000000..f2141af
--- /dev/null
@@ -0,0 +1,548 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_SEQ_SIZE_HPP\r
+# define BOOST_PREPROCESSOR_SEQ_SIZE_HPP\r
+#\r
+# include <boost/preprocessor/cat.hpp>\r
+# include <boost/preprocessor/config/config.hpp>\r
+# include <boost/preprocessor/tuple/eat.hpp>\r
+#\r
+# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()\r
+#    define BOOST_PP_SEQ_SIZE(seq) BOOST_PP_SEQ_SIZE_I((seq))\r
+#    define BOOST_PP_SEQ_SIZE_I(par) BOOST_PP_SEQ_SIZE_II ## par\r
+#    define BOOST_PP_SEQ_SIZE_II(seq) BOOST_PP_CAT(BOOST_PP_SEQ_SIZE_, BOOST_PP_SEQ_SIZE_0 ## seq)\r
+# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() || BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()\r
+#    define BOOST_PP_SEQ_SIZE(seq) BOOST_PP_SEQ_SIZE_I(seq)\r
+#    define BOOST_PP_SEQ_SIZE_I(seq) BOOST_PP_CAT(BOOST_PP_SEQ_SIZE_, BOOST_PP_SEQ_SIZE_0 seq)\r
+# elif defined(__IBMC__) || defined(__IBMCPP__)\r
+#    define BOOST_PP_SEQ_SIZE(seq) BOOST_PP_CAT(BOOST_PP_SEQ_SIZE_, BOOST_PP_CAT(BOOST_PP_SEQ_SIZE_0, seq))\r
+# else\r
+#    define BOOST_PP_SEQ_SIZE(seq) BOOST_PP_CAT(BOOST_PP_SEQ_SIZE_, BOOST_PP_SEQ_SIZE_0 seq)\r
+# endif\r
+#\r
+# define BOOST_PP_SEQ_SIZE_0(_) BOOST_PP_SEQ_SIZE_1\r
+# define BOOST_PP_SEQ_SIZE_1(_) BOOST_PP_SEQ_SIZE_2\r
+# define BOOST_PP_SEQ_SIZE_2(_) BOOST_PP_SEQ_SIZE_3\r
+# define BOOST_PP_SEQ_SIZE_3(_) BOOST_PP_SEQ_SIZE_4\r
+# define BOOST_PP_SEQ_SIZE_4(_) BOOST_PP_SEQ_SIZE_5\r
+# define BOOST_PP_SEQ_SIZE_5(_) BOOST_PP_SEQ_SIZE_6\r
+# define BOOST_PP_SEQ_SIZE_6(_) BOOST_PP_SEQ_SIZE_7\r
+# define BOOST_PP_SEQ_SIZE_7(_) BOOST_PP_SEQ_SIZE_8\r
+# define BOOST_PP_SEQ_SIZE_8(_) BOOST_PP_SEQ_SIZE_9\r
+# define BOOST_PP_SEQ_SIZE_9(_) BOOST_PP_SEQ_SIZE_10\r
+# define BOOST_PP_SEQ_SIZE_10(_) BOOST_PP_SEQ_SIZE_11\r
+# define BOOST_PP_SEQ_SIZE_11(_) BOOST_PP_SEQ_SIZE_12\r
+# define BOOST_PP_SEQ_SIZE_12(_) BOOST_PP_SEQ_SIZE_13\r
+# define BOOST_PP_SEQ_SIZE_13(_) BOOST_PP_SEQ_SIZE_14\r
+# define BOOST_PP_SEQ_SIZE_14(_) BOOST_PP_SEQ_SIZE_15\r
+# define BOOST_PP_SEQ_SIZE_15(_) BOOST_PP_SEQ_SIZE_16\r
+# define BOOST_PP_SEQ_SIZE_16(_) BOOST_PP_SEQ_SIZE_17\r
+# define BOOST_PP_SEQ_SIZE_17(_) BOOST_PP_SEQ_SIZE_18\r
+# define BOOST_PP_SEQ_SIZE_18(_) BOOST_PP_SEQ_SIZE_19\r
+# define BOOST_PP_SEQ_SIZE_19(_) BOOST_PP_SEQ_SIZE_20\r
+# define BOOST_PP_SEQ_SIZE_20(_) BOOST_PP_SEQ_SIZE_21\r
+# define BOOST_PP_SEQ_SIZE_21(_) BOOST_PP_SEQ_SIZE_22\r
+# define BOOST_PP_SEQ_SIZE_22(_) BOOST_PP_SEQ_SIZE_23\r
+# define BOOST_PP_SEQ_SIZE_23(_) BOOST_PP_SEQ_SIZE_24\r
+# define BOOST_PP_SEQ_SIZE_24(_) BOOST_PP_SEQ_SIZE_25\r
+# define BOOST_PP_SEQ_SIZE_25(_) BOOST_PP_SEQ_SIZE_26\r
+# define BOOST_PP_SEQ_SIZE_26(_) BOOST_PP_SEQ_SIZE_27\r
+# define BOOST_PP_SEQ_SIZE_27(_) BOOST_PP_SEQ_SIZE_28\r
+# define BOOST_PP_SEQ_SIZE_28(_) BOOST_PP_SEQ_SIZE_29\r
+# define BOOST_PP_SEQ_SIZE_29(_) BOOST_PP_SEQ_SIZE_30\r
+# define BOOST_PP_SEQ_SIZE_30(_) BOOST_PP_SEQ_SIZE_31\r
+# define BOOST_PP_SEQ_SIZE_31(_) BOOST_PP_SEQ_SIZE_32\r
+# define BOOST_PP_SEQ_SIZE_32(_) BOOST_PP_SEQ_SIZE_33\r
+# define BOOST_PP_SEQ_SIZE_33(_) BOOST_PP_SEQ_SIZE_34\r
+# define BOOST_PP_SEQ_SIZE_34(_) BOOST_PP_SEQ_SIZE_35\r
+# define BOOST_PP_SEQ_SIZE_35(_) BOOST_PP_SEQ_SIZE_36\r
+# define BOOST_PP_SEQ_SIZE_36(_) BOOST_PP_SEQ_SIZE_37\r
+# define BOOST_PP_SEQ_SIZE_37(_) BOOST_PP_SEQ_SIZE_38\r
+# define BOOST_PP_SEQ_SIZE_38(_) BOOST_PP_SEQ_SIZE_39\r
+# define BOOST_PP_SEQ_SIZE_39(_) BOOST_PP_SEQ_SIZE_40\r
+# define BOOST_PP_SEQ_SIZE_40(_) BOOST_PP_SEQ_SIZE_41\r
+# define BOOST_PP_SEQ_SIZE_41(_) BOOST_PP_SEQ_SIZE_42\r
+# define BOOST_PP_SEQ_SIZE_42(_) BOOST_PP_SEQ_SIZE_43\r
+# define BOOST_PP_SEQ_SIZE_43(_) BOOST_PP_SEQ_SIZE_44\r
+# define BOOST_PP_SEQ_SIZE_44(_) BOOST_PP_SEQ_SIZE_45\r
+# define BOOST_PP_SEQ_SIZE_45(_) BOOST_PP_SEQ_SIZE_46\r
+# define BOOST_PP_SEQ_SIZE_46(_) BOOST_PP_SEQ_SIZE_47\r
+# define BOOST_PP_SEQ_SIZE_47(_) BOOST_PP_SEQ_SIZE_48\r
+# define BOOST_PP_SEQ_SIZE_48(_) BOOST_PP_SEQ_SIZE_49\r
+# define BOOST_PP_SEQ_SIZE_49(_) BOOST_PP_SEQ_SIZE_50\r
+# define BOOST_PP_SEQ_SIZE_50(_) BOOST_PP_SEQ_SIZE_51\r
+# define BOOST_PP_SEQ_SIZE_51(_) BOOST_PP_SEQ_SIZE_52\r
+# define BOOST_PP_SEQ_SIZE_52(_) BOOST_PP_SEQ_SIZE_53\r
+# define BOOST_PP_SEQ_SIZE_53(_) BOOST_PP_SEQ_SIZE_54\r
+# define BOOST_PP_SEQ_SIZE_54(_) BOOST_PP_SEQ_SIZE_55\r
+# define BOOST_PP_SEQ_SIZE_55(_) BOOST_PP_SEQ_SIZE_56\r
+# define BOOST_PP_SEQ_SIZE_56(_) BOOST_PP_SEQ_SIZE_57\r
+# define BOOST_PP_SEQ_SIZE_57(_) BOOST_PP_SEQ_SIZE_58\r
+# define BOOST_PP_SEQ_SIZE_58(_) BOOST_PP_SEQ_SIZE_59\r
+# define BOOST_PP_SEQ_SIZE_59(_) BOOST_PP_SEQ_SIZE_60\r
+# define BOOST_PP_SEQ_SIZE_60(_) BOOST_PP_SEQ_SIZE_61\r
+# define BOOST_PP_SEQ_SIZE_61(_) BOOST_PP_SEQ_SIZE_62\r
+# define BOOST_PP_SEQ_SIZE_62(_) BOOST_PP_SEQ_SIZE_63\r
+# define BOOST_PP_SEQ_SIZE_63(_) BOOST_PP_SEQ_SIZE_64\r
+# define BOOST_PP_SEQ_SIZE_64(_) BOOST_PP_SEQ_SIZE_65\r
+# define BOOST_PP_SEQ_SIZE_65(_) BOOST_PP_SEQ_SIZE_66\r
+# define BOOST_PP_SEQ_SIZE_66(_) BOOST_PP_SEQ_SIZE_67\r
+# define BOOST_PP_SEQ_SIZE_67(_) BOOST_PP_SEQ_SIZE_68\r
+# define BOOST_PP_SEQ_SIZE_68(_) BOOST_PP_SEQ_SIZE_69\r
+# define BOOST_PP_SEQ_SIZE_69(_) BOOST_PP_SEQ_SIZE_70\r
+# define BOOST_PP_SEQ_SIZE_70(_) BOOST_PP_SEQ_SIZE_71\r
+# define BOOST_PP_SEQ_SIZE_71(_) BOOST_PP_SEQ_SIZE_72\r
+# define BOOST_PP_SEQ_SIZE_72(_) BOOST_PP_SEQ_SIZE_73\r
+# define BOOST_PP_SEQ_SIZE_73(_) BOOST_PP_SEQ_SIZE_74\r
+# define BOOST_PP_SEQ_SIZE_74(_) BOOST_PP_SEQ_SIZE_75\r
+# define BOOST_PP_SEQ_SIZE_75(_) BOOST_PP_SEQ_SIZE_76\r
+# define BOOST_PP_SEQ_SIZE_76(_) BOOST_PP_SEQ_SIZE_77\r
+# define BOOST_PP_SEQ_SIZE_77(_) BOOST_PP_SEQ_SIZE_78\r
+# define BOOST_PP_SEQ_SIZE_78(_) BOOST_PP_SEQ_SIZE_79\r
+# define BOOST_PP_SEQ_SIZE_79(_) BOOST_PP_SEQ_SIZE_80\r
+# define BOOST_PP_SEQ_SIZE_80(_) BOOST_PP_SEQ_SIZE_81\r
+# define BOOST_PP_SEQ_SIZE_81(_) BOOST_PP_SEQ_SIZE_82\r
+# define BOOST_PP_SEQ_SIZE_82(_) BOOST_PP_SEQ_SIZE_83\r
+# define BOOST_PP_SEQ_SIZE_83(_) BOOST_PP_SEQ_SIZE_84\r
+# define BOOST_PP_SEQ_SIZE_84(_) BOOST_PP_SEQ_SIZE_85\r
+# define BOOST_PP_SEQ_SIZE_85(_) BOOST_PP_SEQ_SIZE_86\r
+# define BOOST_PP_SEQ_SIZE_86(_) BOOST_PP_SEQ_SIZE_87\r
+# define BOOST_PP_SEQ_SIZE_87(_) BOOST_PP_SEQ_SIZE_88\r
+# define BOOST_PP_SEQ_SIZE_88(_) BOOST_PP_SEQ_SIZE_89\r
+# define BOOST_PP_SEQ_SIZE_89(_) BOOST_PP_SEQ_SIZE_90\r
+# define BOOST_PP_SEQ_SIZE_90(_) BOOST_PP_SEQ_SIZE_91\r
+# define BOOST_PP_SEQ_SIZE_91(_) BOOST_PP_SEQ_SIZE_92\r
+# define BOOST_PP_SEQ_SIZE_92(_) BOOST_PP_SEQ_SIZE_93\r
+# define BOOST_PP_SEQ_SIZE_93(_) BOOST_PP_SEQ_SIZE_94\r
+# define BOOST_PP_SEQ_SIZE_94(_) BOOST_PP_SEQ_SIZE_95\r
+# define BOOST_PP_SEQ_SIZE_95(_) BOOST_PP_SEQ_SIZE_96\r
+# define BOOST_PP_SEQ_SIZE_96(_) BOOST_PP_SEQ_SIZE_97\r
+# define BOOST_PP_SEQ_SIZE_97(_) BOOST_PP_SEQ_SIZE_98\r
+# define BOOST_PP_SEQ_SIZE_98(_) BOOST_PP_SEQ_SIZE_99\r
+# define BOOST_PP_SEQ_SIZE_99(_) BOOST_PP_SEQ_SIZE_100\r
+# define BOOST_PP_SEQ_SIZE_100(_) BOOST_PP_SEQ_SIZE_101\r
+# define BOOST_PP_SEQ_SIZE_101(_) BOOST_PP_SEQ_SIZE_102\r
+# define BOOST_PP_SEQ_SIZE_102(_) BOOST_PP_SEQ_SIZE_103\r
+# define BOOST_PP_SEQ_SIZE_103(_) BOOST_PP_SEQ_SIZE_104\r
+# define BOOST_PP_SEQ_SIZE_104(_) BOOST_PP_SEQ_SIZE_105\r
+# define BOOST_PP_SEQ_SIZE_105(_) BOOST_PP_SEQ_SIZE_106\r
+# define BOOST_PP_SEQ_SIZE_106(_) BOOST_PP_SEQ_SIZE_107\r
+# define BOOST_PP_SEQ_SIZE_107(_) BOOST_PP_SEQ_SIZE_108\r
+# define BOOST_PP_SEQ_SIZE_108(_) BOOST_PP_SEQ_SIZE_109\r
+# define BOOST_PP_SEQ_SIZE_109(_) BOOST_PP_SEQ_SIZE_110\r
+# define BOOST_PP_SEQ_SIZE_110(_) BOOST_PP_SEQ_SIZE_111\r
+# define BOOST_PP_SEQ_SIZE_111(_) BOOST_PP_SEQ_SIZE_112\r
+# define BOOST_PP_SEQ_SIZE_112(_) BOOST_PP_SEQ_SIZE_113\r
+# define BOOST_PP_SEQ_SIZE_113(_) BOOST_PP_SEQ_SIZE_114\r
+# define BOOST_PP_SEQ_SIZE_114(_) BOOST_PP_SEQ_SIZE_115\r
+# define BOOST_PP_SEQ_SIZE_115(_) BOOST_PP_SEQ_SIZE_116\r
+# define BOOST_PP_SEQ_SIZE_116(_) BOOST_PP_SEQ_SIZE_117\r
+# define BOOST_PP_SEQ_SIZE_117(_) BOOST_PP_SEQ_SIZE_118\r
+# define BOOST_PP_SEQ_SIZE_118(_) BOOST_PP_SEQ_SIZE_119\r
+# define BOOST_PP_SEQ_SIZE_119(_) BOOST_PP_SEQ_SIZE_120\r
+# define BOOST_PP_SEQ_SIZE_120(_) BOOST_PP_SEQ_SIZE_121\r
+# define BOOST_PP_SEQ_SIZE_121(_) BOOST_PP_SEQ_SIZE_122\r
+# define BOOST_PP_SEQ_SIZE_122(_) BOOST_PP_SEQ_SIZE_123\r
+# define BOOST_PP_SEQ_SIZE_123(_) BOOST_PP_SEQ_SIZE_124\r
+# define BOOST_PP_SEQ_SIZE_124(_) BOOST_PP_SEQ_SIZE_125\r
+# define BOOST_PP_SEQ_SIZE_125(_) BOOST_PP_SEQ_SIZE_126\r
+# define BOOST_PP_SEQ_SIZE_126(_) BOOST_PP_SEQ_SIZE_127\r
+# define BOOST_PP_SEQ_SIZE_127(_) BOOST_PP_SEQ_SIZE_128\r
+# define BOOST_PP_SEQ_SIZE_128(_) BOOST_PP_SEQ_SIZE_129\r
+# define BOOST_PP_SEQ_SIZE_129(_) BOOST_PP_SEQ_SIZE_130\r
+# define BOOST_PP_SEQ_SIZE_130(_) BOOST_PP_SEQ_SIZE_131\r
+# define BOOST_PP_SEQ_SIZE_131(_) BOOST_PP_SEQ_SIZE_132\r
+# define BOOST_PP_SEQ_SIZE_132(_) BOOST_PP_SEQ_SIZE_133\r
+# define BOOST_PP_SEQ_SIZE_133(_) BOOST_PP_SEQ_SIZE_134\r
+# define BOOST_PP_SEQ_SIZE_134(_) BOOST_PP_SEQ_SIZE_135\r
+# define BOOST_PP_SEQ_SIZE_135(_) BOOST_PP_SEQ_SIZE_136\r
+# define BOOST_PP_SEQ_SIZE_136(_) BOOST_PP_SEQ_SIZE_137\r
+# define BOOST_PP_SEQ_SIZE_137(_) BOOST_PP_SEQ_SIZE_138\r
+# define BOOST_PP_SEQ_SIZE_138(_) BOOST_PP_SEQ_SIZE_139\r
+# define BOOST_PP_SEQ_SIZE_139(_) BOOST_PP_SEQ_SIZE_140\r
+# define BOOST_PP_SEQ_SIZE_140(_) BOOST_PP_SEQ_SIZE_141\r
+# define BOOST_PP_SEQ_SIZE_141(_) BOOST_PP_SEQ_SIZE_142\r
+# define BOOST_PP_SEQ_SIZE_142(_) BOOST_PP_SEQ_SIZE_143\r
+# define BOOST_PP_SEQ_SIZE_143(_) BOOST_PP_SEQ_SIZE_144\r
+# define BOOST_PP_SEQ_SIZE_144(_) BOOST_PP_SEQ_SIZE_145\r
+# define BOOST_PP_SEQ_SIZE_145(_) BOOST_PP_SEQ_SIZE_146\r
+# define BOOST_PP_SEQ_SIZE_146(_) BOOST_PP_SEQ_SIZE_147\r
+# define BOOST_PP_SEQ_SIZE_147(_) BOOST_PP_SEQ_SIZE_148\r
+# define BOOST_PP_SEQ_SIZE_148(_) BOOST_PP_SEQ_SIZE_149\r
+# define BOOST_PP_SEQ_SIZE_149(_) BOOST_PP_SEQ_SIZE_150\r
+# define BOOST_PP_SEQ_SIZE_150(_) BOOST_PP_SEQ_SIZE_151\r
+# define BOOST_PP_SEQ_SIZE_151(_) BOOST_PP_SEQ_SIZE_152\r
+# define BOOST_PP_SEQ_SIZE_152(_) BOOST_PP_SEQ_SIZE_153\r
+# define BOOST_PP_SEQ_SIZE_153(_) BOOST_PP_SEQ_SIZE_154\r
+# define BOOST_PP_SEQ_SIZE_154(_) BOOST_PP_SEQ_SIZE_155\r
+# define BOOST_PP_SEQ_SIZE_155(_) BOOST_PP_SEQ_SIZE_156\r
+# define BOOST_PP_SEQ_SIZE_156(_) BOOST_PP_SEQ_SIZE_157\r
+# define BOOST_PP_SEQ_SIZE_157(_) BOOST_PP_SEQ_SIZE_158\r
+# define BOOST_PP_SEQ_SIZE_158(_) BOOST_PP_SEQ_SIZE_159\r
+# define BOOST_PP_SEQ_SIZE_159(_) BOOST_PP_SEQ_SIZE_160\r
+# define BOOST_PP_SEQ_SIZE_160(_) BOOST_PP_SEQ_SIZE_161\r
+# define BOOST_PP_SEQ_SIZE_161(_) BOOST_PP_SEQ_SIZE_162\r
+# define BOOST_PP_SEQ_SIZE_162(_) BOOST_PP_SEQ_SIZE_163\r
+# define BOOST_PP_SEQ_SIZE_163(_) BOOST_PP_SEQ_SIZE_164\r
+# define BOOST_PP_SEQ_SIZE_164(_) BOOST_PP_SEQ_SIZE_165\r
+# define BOOST_PP_SEQ_SIZE_165(_) BOOST_PP_SEQ_SIZE_166\r
+# define BOOST_PP_SEQ_SIZE_166(_) BOOST_PP_SEQ_SIZE_167\r
+# define BOOST_PP_SEQ_SIZE_167(_) BOOST_PP_SEQ_SIZE_168\r
+# define BOOST_PP_SEQ_SIZE_168(_) BOOST_PP_SEQ_SIZE_169\r
+# define BOOST_PP_SEQ_SIZE_169(_) BOOST_PP_SEQ_SIZE_170\r
+# define BOOST_PP_SEQ_SIZE_170(_) BOOST_PP_SEQ_SIZE_171\r
+# define BOOST_PP_SEQ_SIZE_171(_) BOOST_PP_SEQ_SIZE_172\r
+# define BOOST_PP_SEQ_SIZE_172(_) BOOST_PP_SEQ_SIZE_173\r
+# define BOOST_PP_SEQ_SIZE_173(_) BOOST_PP_SEQ_SIZE_174\r
+# define BOOST_PP_SEQ_SIZE_174(_) BOOST_PP_SEQ_SIZE_175\r
+# define BOOST_PP_SEQ_SIZE_175(_) BOOST_PP_SEQ_SIZE_176\r
+# define BOOST_PP_SEQ_SIZE_176(_) BOOST_PP_SEQ_SIZE_177\r
+# define BOOST_PP_SEQ_SIZE_177(_) BOOST_PP_SEQ_SIZE_178\r
+# define BOOST_PP_SEQ_SIZE_178(_) BOOST_PP_SEQ_SIZE_179\r
+# define BOOST_PP_SEQ_SIZE_179(_) BOOST_PP_SEQ_SIZE_180\r
+# define BOOST_PP_SEQ_SIZE_180(_) BOOST_PP_SEQ_SIZE_181\r
+# define BOOST_PP_SEQ_SIZE_181(_) BOOST_PP_SEQ_SIZE_182\r
+# define BOOST_PP_SEQ_SIZE_182(_) BOOST_PP_SEQ_SIZE_183\r
+# define BOOST_PP_SEQ_SIZE_183(_) BOOST_PP_SEQ_SIZE_184\r
+# define BOOST_PP_SEQ_SIZE_184(_) BOOST_PP_SEQ_SIZE_185\r
+# define BOOST_PP_SEQ_SIZE_185(_) BOOST_PP_SEQ_SIZE_186\r
+# define BOOST_PP_SEQ_SIZE_186(_) BOOST_PP_SEQ_SIZE_187\r
+# define BOOST_PP_SEQ_SIZE_187(_) BOOST_PP_SEQ_SIZE_188\r
+# define BOOST_PP_SEQ_SIZE_188(_) BOOST_PP_SEQ_SIZE_189\r
+# define BOOST_PP_SEQ_SIZE_189(_) BOOST_PP_SEQ_SIZE_190\r
+# define BOOST_PP_SEQ_SIZE_190(_) BOOST_PP_SEQ_SIZE_191\r
+# define BOOST_PP_SEQ_SIZE_191(_) BOOST_PP_SEQ_SIZE_192\r
+# define BOOST_PP_SEQ_SIZE_192(_) BOOST_PP_SEQ_SIZE_193\r
+# define BOOST_PP_SEQ_SIZE_193(_) BOOST_PP_SEQ_SIZE_194\r
+# define BOOST_PP_SEQ_SIZE_194(_) BOOST_PP_SEQ_SIZE_195\r
+# define BOOST_PP_SEQ_SIZE_195(_) BOOST_PP_SEQ_SIZE_196\r
+# define BOOST_PP_SEQ_SIZE_196(_) BOOST_PP_SEQ_SIZE_197\r
+# define BOOST_PP_SEQ_SIZE_197(_) BOOST_PP_SEQ_SIZE_198\r
+# define BOOST_PP_SEQ_SIZE_198(_) BOOST_PP_SEQ_SIZE_199\r
+# define BOOST_PP_SEQ_SIZE_199(_) BOOST_PP_SEQ_SIZE_200\r
+# define BOOST_PP_SEQ_SIZE_200(_) BOOST_PP_SEQ_SIZE_201\r
+# define BOOST_PP_SEQ_SIZE_201(_) BOOST_PP_SEQ_SIZE_202\r
+# define BOOST_PP_SEQ_SIZE_202(_) BOOST_PP_SEQ_SIZE_203\r
+# define BOOST_PP_SEQ_SIZE_203(_) BOOST_PP_SEQ_SIZE_204\r
+# define BOOST_PP_SEQ_SIZE_204(_) BOOST_PP_SEQ_SIZE_205\r
+# define BOOST_PP_SEQ_SIZE_205(_) BOOST_PP_SEQ_SIZE_206\r
+# define BOOST_PP_SEQ_SIZE_206(_) BOOST_PP_SEQ_SIZE_207\r
+# define BOOST_PP_SEQ_SIZE_207(_) BOOST_PP_SEQ_SIZE_208\r
+# define BOOST_PP_SEQ_SIZE_208(_) BOOST_PP_SEQ_SIZE_209\r
+# define BOOST_PP_SEQ_SIZE_209(_) BOOST_PP_SEQ_SIZE_210\r
+# define BOOST_PP_SEQ_SIZE_210(_) BOOST_PP_SEQ_SIZE_211\r
+# define BOOST_PP_SEQ_SIZE_211(_) BOOST_PP_SEQ_SIZE_212\r
+# define BOOST_PP_SEQ_SIZE_212(_) BOOST_PP_SEQ_SIZE_213\r
+# define BOOST_PP_SEQ_SIZE_213(_) BOOST_PP_SEQ_SIZE_214\r
+# define BOOST_PP_SEQ_SIZE_214(_) BOOST_PP_SEQ_SIZE_215\r
+# define BOOST_PP_SEQ_SIZE_215(_) BOOST_PP_SEQ_SIZE_216\r
+# define BOOST_PP_SEQ_SIZE_216(_) BOOST_PP_SEQ_SIZE_217\r
+# define BOOST_PP_SEQ_SIZE_217(_) BOOST_PP_SEQ_SIZE_218\r
+# define BOOST_PP_SEQ_SIZE_218(_) BOOST_PP_SEQ_SIZE_219\r
+# define BOOST_PP_SEQ_SIZE_219(_) BOOST_PP_SEQ_SIZE_220\r
+# define BOOST_PP_SEQ_SIZE_220(_) BOOST_PP_SEQ_SIZE_221\r
+# define BOOST_PP_SEQ_SIZE_221(_) BOOST_PP_SEQ_SIZE_222\r
+# define BOOST_PP_SEQ_SIZE_222(_) BOOST_PP_SEQ_SIZE_223\r
+# define BOOST_PP_SEQ_SIZE_223(_) BOOST_PP_SEQ_SIZE_224\r
+# define BOOST_PP_SEQ_SIZE_224(_) BOOST_PP_SEQ_SIZE_225\r
+# define BOOST_PP_SEQ_SIZE_225(_) BOOST_PP_SEQ_SIZE_226\r
+# define BOOST_PP_SEQ_SIZE_226(_) BOOST_PP_SEQ_SIZE_227\r
+# define BOOST_PP_SEQ_SIZE_227(_) BOOST_PP_SEQ_SIZE_228\r
+# define BOOST_PP_SEQ_SIZE_228(_) BOOST_PP_SEQ_SIZE_229\r
+# define BOOST_PP_SEQ_SIZE_229(_) BOOST_PP_SEQ_SIZE_230\r
+# define BOOST_PP_SEQ_SIZE_230(_) BOOST_PP_SEQ_SIZE_231\r
+# define BOOST_PP_SEQ_SIZE_231(_) BOOST_PP_SEQ_SIZE_232\r
+# define BOOST_PP_SEQ_SIZE_232(_) BOOST_PP_SEQ_SIZE_233\r
+# define BOOST_PP_SEQ_SIZE_233(_) BOOST_PP_SEQ_SIZE_234\r
+# define BOOST_PP_SEQ_SIZE_234(_) BOOST_PP_SEQ_SIZE_235\r
+# define BOOST_PP_SEQ_SIZE_235(_) BOOST_PP_SEQ_SIZE_236\r
+# define BOOST_PP_SEQ_SIZE_236(_) BOOST_PP_SEQ_SIZE_237\r
+# define BOOST_PP_SEQ_SIZE_237(_) BOOST_PP_SEQ_SIZE_238\r
+# define BOOST_PP_SEQ_SIZE_238(_) BOOST_PP_SEQ_SIZE_239\r
+# define BOOST_PP_SEQ_SIZE_239(_) BOOST_PP_SEQ_SIZE_240\r
+# define BOOST_PP_SEQ_SIZE_240(_) BOOST_PP_SEQ_SIZE_241\r
+# define BOOST_PP_SEQ_SIZE_241(_) BOOST_PP_SEQ_SIZE_242\r
+# define BOOST_PP_SEQ_SIZE_242(_) BOOST_PP_SEQ_SIZE_243\r
+# define BOOST_PP_SEQ_SIZE_243(_) BOOST_PP_SEQ_SIZE_244\r
+# define BOOST_PP_SEQ_SIZE_244(_) BOOST_PP_SEQ_SIZE_245\r
+# define BOOST_PP_SEQ_SIZE_245(_) BOOST_PP_SEQ_SIZE_246\r
+# define BOOST_PP_SEQ_SIZE_246(_) BOOST_PP_SEQ_SIZE_247\r
+# define BOOST_PP_SEQ_SIZE_247(_) BOOST_PP_SEQ_SIZE_248\r
+# define BOOST_PP_SEQ_SIZE_248(_) BOOST_PP_SEQ_SIZE_249\r
+# define BOOST_PP_SEQ_SIZE_249(_) BOOST_PP_SEQ_SIZE_250\r
+# define BOOST_PP_SEQ_SIZE_250(_) BOOST_PP_SEQ_SIZE_251\r
+# define BOOST_PP_SEQ_SIZE_251(_) BOOST_PP_SEQ_SIZE_252\r
+# define BOOST_PP_SEQ_SIZE_252(_) BOOST_PP_SEQ_SIZE_253\r
+# define BOOST_PP_SEQ_SIZE_253(_) BOOST_PP_SEQ_SIZE_254\r
+# define BOOST_PP_SEQ_SIZE_254(_) BOOST_PP_SEQ_SIZE_255\r
+# define BOOST_PP_SEQ_SIZE_255(_) BOOST_PP_SEQ_SIZE_256\r
+# define BOOST_PP_SEQ_SIZE_256(_) BOOST_PP_SEQ_SIZE_257\r
+#\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_0 0\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_1 1\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_2 2\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_3 3\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_4 4\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_5 5\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_6 6\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_7 7\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_8 8\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_9 9\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_10 10\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_11 11\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_12 12\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_13 13\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_14 14\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_15 15\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_16 16\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_17 17\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_18 18\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_19 19\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_20 20\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_21 21\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_22 22\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_23 23\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_24 24\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_25 25\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_26 26\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_27 27\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_28 28\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_29 29\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_30 30\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_31 31\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_32 32\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_33 33\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_34 34\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_35 35\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_36 36\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_37 37\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_38 38\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_39 39\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_40 40\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_41 41\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_42 42\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_43 43\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_44 44\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_45 45\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_46 46\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_47 47\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_48 48\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_49 49\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_50 50\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_51 51\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_52 52\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_53 53\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_54 54\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_55 55\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_56 56\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_57 57\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_58 58\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_59 59\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_60 60\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_61 61\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_62 62\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_63 63\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_64 64\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_65 65\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_66 66\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_67 67\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_68 68\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_69 69\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_70 70\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_71 71\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_72 72\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_73 73\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_74 74\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_75 75\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_76 76\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_77 77\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_78 78\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_79 79\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_80 80\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_81 81\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_82 82\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_83 83\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_84 84\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_85 85\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_86 86\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_87 87\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_88 88\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_89 89\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_90 90\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_91 91\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_92 92\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_93 93\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_94 94\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_95 95\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_96 96\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_97 97\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_98 98\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_99 99\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_100 100\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_101 101\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_102 102\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_103 103\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_104 104\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_105 105\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_106 106\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_107 107\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_108 108\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_109 109\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_110 110\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_111 111\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_112 112\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_113 113\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_114 114\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_115 115\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_116 116\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_117 117\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_118 118\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_119 119\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_120 120\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_121 121\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_122 122\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_123 123\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_124 124\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_125 125\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_126 126\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_127 127\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_128 128\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_129 129\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_130 130\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_131 131\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_132 132\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_133 133\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_134 134\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_135 135\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_136 136\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_137 137\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_138 138\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_139 139\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_140 140\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_141 141\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_142 142\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_143 143\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_144 144\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_145 145\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_146 146\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_147 147\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_148 148\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_149 149\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_150 150\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_151 151\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_152 152\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_153 153\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_154 154\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_155 155\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_156 156\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_157 157\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_158 158\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_159 159\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_160 160\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_161 161\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_162 162\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_163 163\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_164 164\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_165 165\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_166 166\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_167 167\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_168 168\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_169 169\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_170 170\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_171 171\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_172 172\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_173 173\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_174 174\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_175 175\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_176 176\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_177 177\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_178 178\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_179 179\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_180 180\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_181 181\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_182 182\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_183 183\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_184 184\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_185 185\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_186 186\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_187 187\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_188 188\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_189 189\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_190 190\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_191 191\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_192 192\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_193 193\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_194 194\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_195 195\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_196 196\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_197 197\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_198 198\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_199 199\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_200 200\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_201 201\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_202 202\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_203 203\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_204 204\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_205 205\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_206 206\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_207 207\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_208 208\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_209 209\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_210 210\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_211 211\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_212 212\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_213 213\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_214 214\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_215 215\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_216 216\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_217 217\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_218 218\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_219 219\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_220 220\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_221 221\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_222 222\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_223 223\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_224 224\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_225 225\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_226 226\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_227 227\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_228 228\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_229 229\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_230 230\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_231 231\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_232 232\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_233 233\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_234 234\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_235 235\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_236 236\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_237 237\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_238 238\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_239 239\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_240 240\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_241 241\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_242 242\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_243 243\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_244 244\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_245 245\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_246 246\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_247 247\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_248 248\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_249 249\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_250 250\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_251 251\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_252 252\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_253 253\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_254 254\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_255 255\r
+# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_256 256\r
+#\r
+# endif\r
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 (file)
index 0000000..aee81a0
--- /dev/null
@@ -0,0 +1,28 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_SEQ_SUBSEQ_HPP\r
+# define BOOST_PREPROCESSOR_SEQ_SUBSEQ_HPP\r
+#\r
+# include <boost/preprocessor/config/config.hpp>\r
+# include <boost/preprocessor/seq/first_n.hpp>\r
+# include <boost/preprocessor/seq/rest_n.hpp>\r
+#\r
+# /* BOOST_PP_SEQ_SUBSEQ */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    define BOOST_PP_SEQ_SUBSEQ(seq, i, len) BOOST_PP_SEQ_FIRST_N(len, BOOST_PP_SEQ_REST_N(i, seq))\r
+# else\r
+#    define BOOST_PP_SEQ_SUBSEQ(seq, i, len) BOOST_PP_SEQ_SUBSEQ_I(seq, i, len)\r
+#    define BOOST_PP_SEQ_SUBSEQ_I(seq, i, len) BOOST_PP_SEQ_FIRST_N(len, BOOST_PP_SEQ_REST_N(i, seq))\r
+# endif\r
+#\r
+# endif\r
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 (file)
index 0000000..d20d45e
--- /dev/null
@@ -0,0 +1,28 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_SEQ_TO_ARRAY_HPP\r
+# define BOOST_PREPROCESSOR_SEQ_TO_ARRAY_HPP\r
+#\r
+# include <boost/preprocessor/config/config.hpp>\r
+# include <boost/preprocessor/seq/enum.hpp>\r
+# include <boost/preprocessor/seq/size.hpp>\r
+#\r
+# /* BOOST_PP_SEQ_TO_ARRAY */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    define BOOST_PP_SEQ_TO_ARRAY(seq) (BOOST_PP_SEQ_SIZE(seq), (BOOST_PP_SEQ_ENUM(seq)))\r
+# else\r
+#    define BOOST_PP_SEQ_TO_ARRAY(seq) BOOST_PP_SEQ_TO_ARRAY_I(seq)\r
+#    define BOOST_PP_SEQ_TO_ARRAY_I(seq) (BOOST_PP_SEQ_SIZE(seq), (BOOST_PP_SEQ_ENUM(seq)))\r
+# endif\r
+#\r
+# endif\r
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 (file)
index 0000000..828dcd5
--- /dev/null
@@ -0,0 +1,27 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_SEQ_TO_TUPLE_HPP\r
+# define BOOST_PREPROCESSOR_SEQ_TO_TUPLE_HPP\r
+#\r
+# include <boost/preprocessor/config/config.hpp>\r
+# include <boost/preprocessor/seq/enum.hpp>\r
+#\r
+# /* BOOST_PP_SEQ_TO_TUPLE */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    define BOOST_PP_SEQ_TO_TUPLE(seq) (BOOST_PP_SEQ_ENUM(seq))\r
+# else\r
+#    define BOOST_PP_SEQ_TO_TUPLE(seq) BOOST_PP_SEQ_TO_TUPLE_I(seq)\r
+#    define BOOST_PP_SEQ_TO_TUPLE_I(seq) (BOOST_PP_SEQ_ENUM(seq))\r
+# endif\r
+#\r
+# endif\r
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 (file)
index 0000000..70f89e1
--- /dev/null
@@ -0,0 +1,48 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_SEQ_TRANSFORM_HPP\r
+# define BOOST_PREPROCESSOR_SEQ_TRANSFORM_HPP\r
+#\r
+# include <boost/preprocessor/config/config.hpp>\r
+# include <boost/preprocessor/seq/fold_left.hpp>\r
+# include <boost/preprocessor/seq/seq.hpp>\r
+# include <boost/preprocessor/tuple/elem.hpp>\r
+# include <boost/preprocessor/tuple/rem.hpp>\r
+#\r
+# /* BOOST_PP_SEQ_TRANSFORM */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    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)))\r
+# else\r
+#    define BOOST_PP_SEQ_TRANSFORM(op, data, seq) BOOST_PP_SEQ_TRANSFORM_I(op, data, seq)\r
+#    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)))\r
+# endif\r
+#\r
+# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()\r
+#    define BOOST_PP_SEQ_TRANSFORM_O(s, state, elem) BOOST_PP_SEQ_TRANSFORM_O_IM(s, BOOST_PP_TUPLE_REM_3 state, elem)\r
+#    define BOOST_PP_SEQ_TRANSFORM_O_IM(s, im, elem) BOOST_PP_SEQ_TRANSFORM_O_I(s, im, elem)\r
+# else\r
+#    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)\r
+# endif\r
+#\r
+# define BOOST_PP_SEQ_TRANSFORM_O_I(s, op, data, res, elem) (op, data, res (op(s, data, elem)))\r
+#\r
+# /* BOOST_PP_SEQ_TRANSFORM_S */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    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)))\r
+# else\r
+#    define BOOST_PP_SEQ_TRANSFORM_S(s, op, data, seq) BOOST_PP_SEQ_TRANSFORM_S_I(s, op, data, seq)\r
+#    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)))\r
+# endif\r
+#\r
+# endif\r
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 (file)
index 0000000..5b4dc6e
--- /dev/null
@@ -0,0 +1,17 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_SLOT_HPP\r
+# define BOOST_PREPROCESSOR_SLOT_HPP\r
+#\r
+# include <boost/preprocessor/slot/slot.hpp>\r
+#\r
+# endif\r
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 (file)
index 0000000..e1d5863
--- /dev/null
@@ -0,0 +1,25 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2005.                                  *\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See      *\r
+#  *     accompanying file LICENSE_1_0.txt or copy at                         *\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)                                *\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_SLOT_COUNTER_HPP\r
+# define BOOST_PREPROCESSOR_SLOT_COUNTER_HPP\r
+#\r
+# include <boost/preprocessor/slot/detail/def.hpp>\r
+#\r
+# /* BOOST_PP_COUNTER */\r
+#\r
+# define BOOST_PP_COUNTER 0\r
+#\r
+# /* BOOST_PP_UPDATE_COUNTER */\r
+#\r
+# define BOOST_PP_UPDATE_COUNTER() <boost/preprocessor/slot/detail/counter.hpp>\r
+#\r
+# endif\r
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 (file)
index 0000000..c15b542
--- /dev/null
@@ -0,0 +1,269 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2005.                                  *\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See      *\r
+#  *     accompanying file LICENSE_1_0.txt or copy at                         *\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)                                *\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# define BOOST_PP_VALUE BOOST_PP_COUNTER + 1\r
+#\r
+# include <boost/preprocessor/slot/detail/shared.hpp>\r
+#\r
+# undef BOOST_PP_COUNTER\r
+#\r
+# undef BOOST_PP_COUNTER_DIGIT_1\r
+# undef BOOST_PP_COUNTER_DIGIT_2\r
+# undef BOOST_PP_COUNTER_DIGIT_3\r
+# undef BOOST_PP_COUNTER_DIGIT_4\r
+# undef BOOST_PP_COUNTER_DIGIT_5\r
+# undef BOOST_PP_COUNTER_DIGIT_6\r
+# undef BOOST_PP_COUNTER_DIGIT_7\r
+# undef BOOST_PP_COUNTER_DIGIT_8\r
+# undef BOOST_PP_COUNTER_DIGIT_9\r
+# undef BOOST_PP_COUNTER_DIGIT_10\r
+#\r
+# if BOOST_PP_SLOT_TEMP_10 == 0\r
+#    define BOOST_PP_COUNTER_DIGIT_10 0\r
+# elif BOOST_PP_SLOT_TEMP_10 == 1\r
+#    define BOOST_PP_COUNTER_DIGIT_10 1\r
+# elif BOOST_PP_SLOT_TEMP_10 == 2\r
+#    define BOOST_PP_COUNTER_DIGIT_10 2\r
+# elif BOOST_PP_SLOT_TEMP_10 == 3\r
+#    define BOOST_PP_COUNTER_DIGIT_10 3\r
+# elif BOOST_PP_SLOT_TEMP_10 == 4\r
+#    define BOOST_PP_COUNTER_DIGIT_10 4\r
+# elif BOOST_PP_SLOT_TEMP_10 == 5\r
+#    define BOOST_PP_COUNTER_DIGIT_10 5\r
+# elif BOOST_PP_SLOT_TEMP_10 == 6\r
+#    define BOOST_PP_COUNTER_DIGIT_10 6\r
+# elif BOOST_PP_SLOT_TEMP_10 == 7\r
+#    define BOOST_PP_COUNTER_DIGIT_10 7\r
+# elif BOOST_PP_SLOT_TEMP_10 == 8\r
+#    define BOOST_PP_COUNTER_DIGIT_10 8\r
+# elif BOOST_PP_SLOT_TEMP_10 == 9\r
+#    define BOOST_PP_COUNTER_DIGIT_10 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_TEMP_9 == 0\r
+#    define BOOST_PP_COUNTER_DIGIT_9 0\r
+# elif BOOST_PP_SLOT_TEMP_9 == 1\r
+#    define BOOST_PP_COUNTER_DIGIT_9 1\r
+# elif BOOST_PP_SLOT_TEMP_9 == 2\r
+#    define BOOST_PP_COUNTER_DIGIT_9 2\r
+# elif BOOST_PP_SLOT_TEMP_9 == 3\r
+#    define BOOST_PP_COUNTER_DIGIT_9 3\r
+# elif BOOST_PP_SLOT_TEMP_9 == 4\r
+#    define BOOST_PP_COUNTER_DIGIT_9 4\r
+# elif BOOST_PP_SLOT_TEMP_9 == 5\r
+#    define BOOST_PP_COUNTER_DIGIT_9 5\r
+# elif BOOST_PP_SLOT_TEMP_9 == 6\r
+#    define BOOST_PP_COUNTER_DIGIT_9 6\r
+# elif BOOST_PP_SLOT_TEMP_9 == 7\r
+#    define BOOST_PP_COUNTER_DIGIT_9 7\r
+# elif BOOST_PP_SLOT_TEMP_9 == 8\r
+#    define BOOST_PP_COUNTER_DIGIT_9 8\r
+# elif BOOST_PP_SLOT_TEMP_9 == 9\r
+#    define BOOST_PP_COUNTER_DIGIT_9 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_TEMP_8 == 0\r
+#    define BOOST_PP_COUNTER_DIGIT_8 0\r
+# elif BOOST_PP_SLOT_TEMP_8 == 1\r
+#    define BOOST_PP_COUNTER_DIGIT_8 1\r
+# elif BOOST_PP_SLOT_TEMP_8 == 2\r
+#    define BOOST_PP_COUNTER_DIGIT_8 2\r
+# elif BOOST_PP_SLOT_TEMP_8 == 3\r
+#    define BOOST_PP_COUNTER_DIGIT_8 3\r
+# elif BOOST_PP_SLOT_TEMP_8 == 4\r
+#    define BOOST_PP_COUNTER_DIGIT_8 4\r
+# elif BOOST_PP_SLOT_TEMP_8 == 5\r
+#    define BOOST_PP_COUNTER_DIGIT_8 5\r
+# elif BOOST_PP_SLOT_TEMP_8 == 6\r
+#    define BOOST_PP_COUNTER_DIGIT_8 6\r
+# elif BOOST_PP_SLOT_TEMP_8 == 7\r
+#    define BOOST_PP_COUNTER_DIGIT_8 7\r
+# elif BOOST_PP_SLOT_TEMP_8 == 8\r
+#    define BOOST_PP_COUNTER_DIGIT_8 8\r
+# elif BOOST_PP_SLOT_TEMP_8 == 9\r
+#    define BOOST_PP_COUNTER_DIGIT_8 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_TEMP_7 == 0\r
+#    define BOOST_PP_COUNTER_DIGIT_7 0\r
+# elif BOOST_PP_SLOT_TEMP_7 == 1\r
+#    define BOOST_PP_COUNTER_DIGIT_7 1\r
+# elif BOOST_PP_SLOT_TEMP_7 == 2\r
+#    define BOOST_PP_COUNTER_DIGIT_7 2\r
+# elif BOOST_PP_SLOT_TEMP_7 == 3\r
+#    define BOOST_PP_COUNTER_DIGIT_7 3\r
+# elif BOOST_PP_SLOT_TEMP_7 == 4\r
+#    define BOOST_PP_COUNTER_DIGIT_7 4\r
+# elif BOOST_PP_SLOT_TEMP_7 == 5\r
+#    define BOOST_PP_COUNTER_DIGIT_7 5\r
+# elif BOOST_PP_SLOT_TEMP_7 == 6\r
+#    define BOOST_PP_COUNTER_DIGIT_7 6\r
+# elif BOOST_PP_SLOT_TEMP_7 == 7\r
+#    define BOOST_PP_COUNTER_DIGIT_7 7\r
+# elif BOOST_PP_SLOT_TEMP_7 == 8\r
+#    define BOOST_PP_COUNTER_DIGIT_7 8\r
+# elif BOOST_PP_SLOT_TEMP_7 == 9\r
+#    define BOOST_PP_COUNTER_DIGIT_7 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_TEMP_6 == 0\r
+#    define BOOST_PP_COUNTER_DIGIT_6 0\r
+# elif BOOST_PP_SLOT_TEMP_6 == 1\r
+#    define BOOST_PP_COUNTER_DIGIT_6 1\r
+# elif BOOST_PP_SLOT_TEMP_6 == 2\r
+#    define BOOST_PP_COUNTER_DIGIT_6 2\r
+# elif BOOST_PP_SLOT_TEMP_6 == 3\r
+#    define BOOST_PP_COUNTER_DIGIT_6 3\r
+# elif BOOST_PP_SLOT_TEMP_6 == 4\r
+#    define BOOST_PP_COUNTER_DIGIT_6 4\r
+# elif BOOST_PP_SLOT_TEMP_6 == 5\r
+#    define BOOST_PP_COUNTER_DIGIT_6 5\r
+# elif BOOST_PP_SLOT_TEMP_6 == 6\r
+#    define BOOST_PP_COUNTER_DIGIT_6 6\r
+# elif BOOST_PP_SLOT_TEMP_6 == 7\r
+#    define BOOST_PP_COUNTER_DIGIT_6 7\r
+# elif BOOST_PP_SLOT_TEMP_6 == 8\r
+#    define BOOST_PP_COUNTER_DIGIT_6 8\r
+# elif BOOST_PP_SLOT_TEMP_6 == 9\r
+#    define BOOST_PP_COUNTER_DIGIT_6 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_TEMP_5 == 0\r
+#    define BOOST_PP_COUNTER_DIGIT_5 0\r
+# elif BOOST_PP_SLOT_TEMP_5 == 1\r
+#    define BOOST_PP_COUNTER_DIGIT_5 1\r
+# elif BOOST_PP_SLOT_TEMP_5 == 2\r
+#    define BOOST_PP_COUNTER_DIGIT_5 2\r
+# elif BOOST_PP_SLOT_TEMP_5 == 3\r
+#    define BOOST_PP_COUNTER_DIGIT_5 3\r
+# elif BOOST_PP_SLOT_TEMP_5 == 4\r
+#    define BOOST_PP_COUNTER_DIGIT_5 4\r
+# elif BOOST_PP_SLOT_TEMP_5 == 5\r
+#    define BOOST_PP_COUNTER_DIGIT_5 5\r
+# elif BOOST_PP_SLOT_TEMP_5 == 6\r
+#    define BOOST_PP_COUNTER_DIGIT_5 6\r
+# elif BOOST_PP_SLOT_TEMP_5 == 7\r
+#    define BOOST_PP_COUNTER_DIGIT_5 7\r
+# elif BOOST_PP_SLOT_TEMP_5 == 8\r
+#    define BOOST_PP_COUNTER_DIGIT_5 8\r
+# elif BOOST_PP_SLOT_TEMP_5 == 9\r
+#    define BOOST_PP_COUNTER_DIGIT_5 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_TEMP_4 == 0\r
+#    define BOOST_PP_COUNTER_DIGIT_4 0\r
+# elif BOOST_PP_SLOT_TEMP_4 == 1\r
+#    define BOOST_PP_COUNTER_DIGIT_4 1\r
+# elif BOOST_PP_SLOT_TEMP_4 == 2\r
+#    define BOOST_PP_COUNTER_DIGIT_4 2\r
+# elif BOOST_PP_SLOT_TEMP_4 == 3\r
+#    define BOOST_PP_COUNTER_DIGIT_4 3\r
+# elif BOOST_PP_SLOT_TEMP_4 == 4\r
+#    define BOOST_PP_COUNTER_DIGIT_4 4\r
+# elif BOOST_PP_SLOT_TEMP_4 == 5\r
+#    define BOOST_PP_COUNTER_DIGIT_4 5\r
+# elif BOOST_PP_SLOT_TEMP_4 == 6\r
+#    define BOOST_PP_COUNTER_DIGIT_4 6\r
+# elif BOOST_PP_SLOT_TEMP_4 == 7\r
+#    define BOOST_PP_COUNTER_DIGIT_4 7\r
+# elif BOOST_PP_SLOT_TEMP_4 == 8\r
+#    define BOOST_PP_COUNTER_DIGIT_4 8\r
+# elif BOOST_PP_SLOT_TEMP_4 == 9\r
+#    define BOOST_PP_COUNTER_DIGIT_4 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_TEMP_3 == 0\r
+#    define BOOST_PP_COUNTER_DIGIT_3 0\r
+# elif BOOST_PP_SLOT_TEMP_3 == 1\r
+#    define BOOST_PP_COUNTER_DIGIT_3 1\r
+# elif BOOST_PP_SLOT_TEMP_3 == 2\r
+#    define BOOST_PP_COUNTER_DIGIT_3 2\r
+# elif BOOST_PP_SLOT_TEMP_3 == 3\r
+#    define BOOST_PP_COUNTER_DIGIT_3 3\r
+# elif BOOST_PP_SLOT_TEMP_3 == 4\r
+#    define BOOST_PP_COUNTER_DIGIT_3 4\r
+# elif BOOST_PP_SLOT_TEMP_3 == 5\r
+#    define BOOST_PP_COUNTER_DIGIT_3 5\r
+# elif BOOST_PP_SLOT_TEMP_3 == 6\r
+#    define BOOST_PP_COUNTER_DIGIT_3 6\r
+# elif BOOST_PP_SLOT_TEMP_3 == 7\r
+#    define BOOST_PP_COUNTER_DIGIT_3 7\r
+# elif BOOST_PP_SLOT_TEMP_3 == 8\r
+#    define BOOST_PP_COUNTER_DIGIT_3 8\r
+# elif BOOST_PP_SLOT_TEMP_3 == 9\r
+#    define BOOST_PP_COUNTER_DIGIT_3 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_TEMP_2 == 0\r
+#    define BOOST_PP_COUNTER_DIGIT_2 0\r
+# elif BOOST_PP_SLOT_TEMP_2 == 1\r
+#    define BOOST_PP_COUNTER_DIGIT_2 1\r
+# elif BOOST_PP_SLOT_TEMP_2 == 2\r
+#    define BOOST_PP_COUNTER_DIGIT_2 2\r
+# elif BOOST_PP_SLOT_TEMP_2 == 3\r
+#    define BOOST_PP_COUNTER_DIGIT_2 3\r
+# elif BOOST_PP_SLOT_TEMP_2 == 4\r
+#    define BOOST_PP_COUNTER_DIGIT_2 4\r
+# elif BOOST_PP_SLOT_TEMP_2 == 5\r
+#    define BOOST_PP_COUNTER_DIGIT_2 5\r
+# elif BOOST_PP_SLOT_TEMP_2 == 6\r
+#    define BOOST_PP_COUNTER_DIGIT_2 6\r
+# elif BOOST_PP_SLOT_TEMP_2 == 7\r
+#    define BOOST_PP_COUNTER_DIGIT_2 7\r
+# elif BOOST_PP_SLOT_TEMP_2 == 8\r
+#    define BOOST_PP_COUNTER_DIGIT_2 8\r
+# elif BOOST_PP_SLOT_TEMP_2 == 9\r
+#    define BOOST_PP_COUNTER_DIGIT_2 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_TEMP_1 == 0\r
+#    define BOOST_PP_COUNTER_DIGIT_1 0\r
+# elif BOOST_PP_SLOT_TEMP_1 == 1\r
+#    define BOOST_PP_COUNTER_DIGIT_1 1\r
+# elif BOOST_PP_SLOT_TEMP_1 == 2\r
+#    define BOOST_PP_COUNTER_DIGIT_1 2\r
+# elif BOOST_PP_SLOT_TEMP_1 == 3\r
+#    define BOOST_PP_COUNTER_DIGIT_1 3\r
+# elif BOOST_PP_SLOT_TEMP_1 == 4\r
+#    define BOOST_PP_COUNTER_DIGIT_1 4\r
+# elif BOOST_PP_SLOT_TEMP_1 == 5\r
+#    define BOOST_PP_COUNTER_DIGIT_1 5\r
+# elif BOOST_PP_SLOT_TEMP_1 == 6\r
+#    define BOOST_PP_COUNTER_DIGIT_1 6\r
+# elif BOOST_PP_SLOT_TEMP_1 == 7\r
+#    define BOOST_PP_COUNTER_DIGIT_1 7\r
+# elif BOOST_PP_SLOT_TEMP_1 == 8\r
+#    define BOOST_PP_COUNTER_DIGIT_1 8\r
+# elif BOOST_PP_SLOT_TEMP_1 == 9\r
+#    define BOOST_PP_COUNTER_DIGIT_1 9\r
+# endif\r
+#\r
+# if BOOST_PP_COUNTER_DIGIT_10\r
+#    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)\r
+# elif BOOST_PP_COUNTER_DIGIT_9\r
+#    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)\r
+# elif BOOST_PP_COUNTER_DIGIT_8\r
+#    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)\r
+# elif BOOST_PP_COUNTER_DIGIT_7\r
+#    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)\r
+# elif BOOST_PP_COUNTER_DIGIT_6\r
+#    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)\r
+# elif BOOST_PP_COUNTER_DIGIT_5\r
+#    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)\r
+# elif BOOST_PP_COUNTER_DIGIT_4\r
+#    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)\r
+# elif BOOST_PP_COUNTER_DIGIT_3\r
+#    define BOOST_PP_COUNTER BOOST_PP_SLOT_CC_3(BOOST_PP_COUNTER_DIGIT_3, BOOST_PP_COUNTER_DIGIT_2, BOOST_PP_COUNTER_DIGIT_1)\r
+# elif BOOST_PP_COUNTER_DIGIT_2\r
+#    define BOOST_PP_COUNTER BOOST_PP_SLOT_CC_2(BOOST_PP_COUNTER_DIGIT_2, BOOST_PP_COUNTER_DIGIT_1)\r
+# else\r
+#    define BOOST_PP_COUNTER BOOST_PP_COUNTER_DIGIT_1\r
+# endif\r
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 (file)
index 0000000..105a43b
--- /dev/null
@@ -0,0 +1,49 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_SLOT_DETAIL_DEF_HPP\r
+# define BOOST_PREPROCESSOR_SLOT_DETAIL_DEF_HPP\r
+#\r
+# /* BOOST_PP_SLOT_OFFSET_x */\r
+#\r
+# define BOOST_PP_SLOT_OFFSET_10(x) (x) % 1000000000UL\r
+# define BOOST_PP_SLOT_OFFSET_9(x) BOOST_PP_SLOT_OFFSET_10(x) % 100000000UL\r
+# define BOOST_PP_SLOT_OFFSET_8(x) BOOST_PP_SLOT_OFFSET_9(x) % 10000000UL\r
+# define BOOST_PP_SLOT_OFFSET_7(x) BOOST_PP_SLOT_OFFSET_8(x) % 1000000UL\r
+# define BOOST_PP_SLOT_OFFSET_6(x) BOOST_PP_SLOT_OFFSET_7(x) % 100000UL\r
+# define BOOST_PP_SLOT_OFFSET_5(x) BOOST_PP_SLOT_OFFSET_6(x) % 10000UL\r
+# define BOOST_PP_SLOT_OFFSET_4(x) BOOST_PP_SLOT_OFFSET_5(x) % 1000UL\r
+# define BOOST_PP_SLOT_OFFSET_3(x) BOOST_PP_SLOT_OFFSET_4(x) % 100UL\r
+# define BOOST_PP_SLOT_OFFSET_2(x) BOOST_PP_SLOT_OFFSET_3(x) % 10UL\r
+#\r
+# /* BOOST_PP_SLOT_CC_x */\r
+#\r
+# define BOOST_PP_SLOT_CC_2(a, b) BOOST_PP_SLOT_CC_2_D(a, b)\r
+# define BOOST_PP_SLOT_CC_3(a, b, c) BOOST_PP_SLOT_CC_3_D(a, b, c)\r
+# define BOOST_PP_SLOT_CC_4(a, b, c, d) BOOST_PP_SLOT_CC_4_D(a, b, c, d)\r
+# define BOOST_PP_SLOT_CC_5(a, b, c, d, e) BOOST_PP_SLOT_CC_5_D(a, b, c, d, e)\r
+# define BOOST_PP_SLOT_CC_6(a, b, c, d, e, f) BOOST_PP_SLOT_CC_6_D(a, b, c, d, e, f)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+#\r
+# define BOOST_PP_SLOT_CC_2_D(a, b) a ## b\r
+# define BOOST_PP_SLOT_CC_3_D(a, b, c) a ## b ## c\r
+# define BOOST_PP_SLOT_CC_4_D(a, b, c, d) a ## b ## c ## d\r
+# define BOOST_PP_SLOT_CC_5_D(a, b, c, d, e) a ## b ## c ## d ## e\r
+# define BOOST_PP_SLOT_CC_6_D(a, b, c, d, e, f) a ## b ## c ## d ## e ## f\r
+# define BOOST_PP_SLOT_CC_7_D(a, b, c, d, e, f, g) a ## b ## c ## d ## e ## f ## g\r
+# define BOOST_PP_SLOT_CC_8_D(a, b, c, d, e, f, g, h) a ## b ## c ## d ## e ## f ## g ## h\r
+# 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\r
+# 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\r
+#\r
+# endif\r
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 (file)
index 0000000..83370de
--- /dev/null
@@ -0,0 +1,247 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PP_VALUE\r
+#    error BOOST_PP_ERROR:  BOOST_PP_VALUE is not defined\r
+# endif\r
+#\r
+# undef BOOST_PP_SLOT_TEMP_1\r
+# undef BOOST_PP_SLOT_TEMP_2\r
+# undef BOOST_PP_SLOT_TEMP_3\r
+# undef BOOST_PP_SLOT_TEMP_4\r
+# undef BOOST_PP_SLOT_TEMP_5\r
+# undef BOOST_PP_SLOT_TEMP_6\r
+# undef BOOST_PP_SLOT_TEMP_7\r
+# undef BOOST_PP_SLOT_TEMP_8\r
+# undef BOOST_PP_SLOT_TEMP_9\r
+# undef BOOST_PP_SLOT_TEMP_10\r
+#\r
+# if (BOOST_PP_VALUE) / 1000000000UL == 0\r
+#    define BOOST_PP_SLOT_TEMP_10 0\r
+# elif (BOOST_PP_VALUE) / 1000000000UL == 1\r
+#    define BOOST_PP_SLOT_TEMP_10 1\r
+# elif (BOOST_PP_VALUE) / 1000000000UL == 2\r
+#    define BOOST_PP_SLOT_TEMP_10 2\r
+# elif (BOOST_PP_VALUE) / 1000000000UL == 3\r
+#    define BOOST_PP_SLOT_TEMP_10 3\r
+# elif (BOOST_PP_VALUE) / 1000000000UL == 4\r
+#    define BOOST_PP_SLOT_TEMP_10 4\r
+# elif (BOOST_PP_VALUE) / 1000000000UL == 5\r
+#    define BOOST_PP_SLOT_TEMP_10 5\r
+# elif (BOOST_PP_VALUE) / 1000000000UL == 6\r
+#    define BOOST_PP_SLOT_TEMP_10 6\r
+# elif (BOOST_PP_VALUE) / 1000000000UL == 7\r
+#    define BOOST_PP_SLOT_TEMP_10 7\r
+# elif (BOOST_PP_VALUE) / 1000000000UL == 8\r
+#    define BOOST_PP_SLOT_TEMP_10 8\r
+# elif (BOOST_PP_VALUE) / 1000000000UL == 9\r
+#    define BOOST_PP_SLOT_TEMP_10 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_OFFSET_10(BOOST_PP_VALUE) / 100000000UL == 0\r
+#    define BOOST_PP_SLOT_TEMP_9 0\r
+# elif BOOST_PP_SLOT_OFFSET_10(BOOST_PP_VALUE) / 100000000UL == 1\r
+#    define BOOST_PP_SLOT_TEMP_9 1\r
+# elif BOOST_PP_SLOT_OFFSET_10(BOOST_PP_VALUE) / 100000000UL == 2\r
+#    define BOOST_PP_SLOT_TEMP_9 2\r
+# elif BOOST_PP_SLOT_OFFSET_10(BOOST_PP_VALUE) / 100000000UL == 3\r
+#    define BOOST_PP_SLOT_TEMP_9 3\r
+# elif BOOST_PP_SLOT_OFFSET_10(BOOST_PP_VALUE) / 100000000UL == 4\r
+#    define BOOST_PP_SLOT_TEMP_9 4\r
+# elif BOOST_PP_SLOT_OFFSET_10(BOOST_PP_VALUE) / 100000000UL == 5\r
+#    define BOOST_PP_SLOT_TEMP_9 5\r
+# elif BOOST_PP_SLOT_OFFSET_10(BOOST_PP_VALUE) / 100000000UL == 6\r
+#    define BOOST_PP_SLOT_TEMP_9 6\r
+# elif BOOST_PP_SLOT_OFFSET_10(BOOST_PP_VALUE) / 100000000UL == 7\r
+#    define BOOST_PP_SLOT_TEMP_9 7\r
+# elif BOOST_PP_SLOT_OFFSET_10(BOOST_PP_VALUE) / 100000000UL == 8\r
+#    define BOOST_PP_SLOT_TEMP_9 8\r
+# elif BOOST_PP_SLOT_OFFSET_10(BOOST_PP_VALUE) / 100000000UL == 9\r
+#    define BOOST_PP_SLOT_TEMP_9 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_OFFSET_9(BOOST_PP_VALUE) / 10000000UL == 0\r
+#    define BOOST_PP_SLOT_TEMP_8 0\r
+# elif BOOST_PP_SLOT_OFFSET_9(BOOST_PP_VALUE) / 10000000UL == 1\r
+#    define BOOST_PP_SLOT_TEMP_8 1\r
+# elif BOOST_PP_SLOT_OFFSET_9(BOOST_PP_VALUE) / 10000000UL == 2\r
+#    define BOOST_PP_SLOT_TEMP_8 2\r
+# elif BOOST_PP_SLOT_OFFSET_9(BOOST_PP_VALUE) / 10000000UL == 3\r
+#    define BOOST_PP_SLOT_TEMP_8 3\r
+# elif BOOST_PP_SLOT_OFFSET_9(BOOST_PP_VALUE) / 10000000UL == 4\r
+#    define BOOST_PP_SLOT_TEMP_8 4\r
+# elif BOOST_PP_SLOT_OFFSET_9(BOOST_PP_VALUE) / 10000000UL == 5\r
+#    define BOOST_PP_SLOT_TEMP_8 5\r
+# elif BOOST_PP_SLOT_OFFSET_9(BOOST_PP_VALUE) / 10000000UL == 6\r
+#    define BOOST_PP_SLOT_TEMP_8 6\r
+# elif BOOST_PP_SLOT_OFFSET_9(BOOST_PP_VALUE) / 10000000UL == 7\r
+#    define BOOST_PP_SLOT_TEMP_8 7\r
+# elif BOOST_PP_SLOT_OFFSET_9(BOOST_PP_VALUE) / 10000000UL == 8\r
+#    define BOOST_PP_SLOT_TEMP_8 8\r
+# elif BOOST_PP_SLOT_OFFSET_9(BOOST_PP_VALUE) / 10000000UL == 9\r
+#    define BOOST_PP_SLOT_TEMP_8 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_OFFSET_8(BOOST_PP_VALUE) / 1000000UL == 0\r
+#    define BOOST_PP_SLOT_TEMP_7 0\r
+# elif BOOST_PP_SLOT_OFFSET_8(BOOST_PP_VALUE) / 1000000UL == 1\r
+#    define BOOST_PP_SLOT_TEMP_7 1\r
+# elif BOOST_PP_SLOT_OFFSET_8(BOOST_PP_VALUE) / 1000000UL == 2\r
+#    define BOOST_PP_SLOT_TEMP_7 2\r
+# elif BOOST_PP_SLOT_OFFSET_8(BOOST_PP_VALUE) / 1000000UL == 3\r
+#    define BOOST_PP_SLOT_TEMP_7 3\r
+# elif BOOST_PP_SLOT_OFFSET_8(BOOST_PP_VALUE) / 1000000UL == 4\r
+#    define BOOST_PP_SLOT_TEMP_7 4\r
+# elif BOOST_PP_SLOT_OFFSET_8(BOOST_PP_VALUE) / 1000000UL == 5\r
+#    define BOOST_PP_SLOT_TEMP_7 5\r
+# elif BOOST_PP_SLOT_OFFSET_8(BOOST_PP_VALUE) / 1000000UL == 6\r
+#    define BOOST_PP_SLOT_TEMP_7 6\r
+# elif BOOST_PP_SLOT_OFFSET_8(BOOST_PP_VALUE) / 1000000UL == 7\r
+#    define BOOST_PP_SLOT_TEMP_7 7\r
+# elif BOOST_PP_SLOT_OFFSET_8(BOOST_PP_VALUE) / 1000000UL == 8\r
+#    define BOOST_PP_SLOT_TEMP_7 8\r
+# elif BOOST_PP_SLOT_OFFSET_8(BOOST_PP_VALUE) / 1000000UL == 9\r
+#    define BOOST_PP_SLOT_TEMP_7 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_OFFSET_7(BOOST_PP_VALUE) / 100000UL == 0\r
+#    define BOOST_PP_SLOT_TEMP_6 0\r
+# elif BOOST_PP_SLOT_OFFSET_7(BOOST_PP_VALUE) / 100000UL == 1\r
+#    define BOOST_PP_SLOT_TEMP_6 1\r
+# elif BOOST_PP_SLOT_OFFSET_7(BOOST_PP_VALUE) / 100000UL == 2\r
+#    define BOOST_PP_SLOT_TEMP_6 2\r
+# elif BOOST_PP_SLOT_OFFSET_7(BOOST_PP_VALUE) / 100000UL == 3\r
+#    define BOOST_PP_SLOT_TEMP_6 3\r
+# elif BOOST_PP_SLOT_OFFSET_7(BOOST_PP_VALUE) / 100000UL == 4\r
+#    define BOOST_PP_SLOT_TEMP_6 4\r
+# elif BOOST_PP_SLOT_OFFSET_7(BOOST_PP_VALUE) / 100000UL == 5\r
+#    define BOOST_PP_SLOT_TEMP_6 5\r
+# elif BOOST_PP_SLOT_OFFSET_7(BOOST_PP_VALUE) / 100000UL == 6\r
+#    define BOOST_PP_SLOT_TEMP_6 6\r
+# elif BOOST_PP_SLOT_OFFSET_7(BOOST_PP_VALUE) / 100000UL == 7\r
+#    define BOOST_PP_SLOT_TEMP_6 7\r
+# elif BOOST_PP_SLOT_OFFSET_7(BOOST_PP_VALUE) / 100000UL == 8\r
+#    define BOOST_PP_SLOT_TEMP_6 8\r
+# elif BOOST_PP_SLOT_OFFSET_7(BOOST_PP_VALUE) / 100000UL == 9\r
+#    define BOOST_PP_SLOT_TEMP_6 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_OFFSET_6(BOOST_PP_VALUE) / 10000UL == 0\r
+#    define BOOST_PP_SLOT_TEMP_5 0\r
+# elif BOOST_PP_SLOT_OFFSET_6(BOOST_PP_VALUE) / 10000UL == 1\r
+#    define BOOST_PP_SLOT_TEMP_5 1\r
+# elif BOOST_PP_SLOT_OFFSET_6(BOOST_PP_VALUE) / 10000UL == 2\r
+#    define BOOST_PP_SLOT_TEMP_5 2\r
+# elif BOOST_PP_SLOT_OFFSET_6(BOOST_PP_VALUE) / 10000UL == 3\r
+#    define BOOST_PP_SLOT_TEMP_5 3\r
+# elif BOOST_PP_SLOT_OFFSET_6(BOOST_PP_VALUE) / 10000UL == 4\r
+#    define BOOST_PP_SLOT_TEMP_5 4\r
+# elif BOOST_PP_SLOT_OFFSET_6(BOOST_PP_VALUE) / 10000UL == 5\r
+#    define BOOST_PP_SLOT_TEMP_5 5\r
+# elif BOOST_PP_SLOT_OFFSET_6(BOOST_PP_VALUE) / 10000UL == 6\r
+#    define BOOST_PP_SLOT_TEMP_5 6\r
+# elif BOOST_PP_SLOT_OFFSET_6(BOOST_PP_VALUE) / 10000UL == 7\r
+#    define BOOST_PP_SLOT_TEMP_5 7\r
+# elif BOOST_PP_SLOT_OFFSET_6(BOOST_PP_VALUE) / 10000UL == 8\r
+#    define BOOST_PP_SLOT_TEMP_5 8\r
+# elif BOOST_PP_SLOT_OFFSET_6(BOOST_PP_VALUE) / 10000UL == 9\r
+#    define BOOST_PP_SLOT_TEMP_5 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_OFFSET_5(BOOST_PP_VALUE) / 1000UL == 0\r
+#    define BOOST_PP_SLOT_TEMP_4 0\r
+# elif BOOST_PP_SLOT_OFFSET_5(BOOST_PP_VALUE) / 1000UL == 1\r
+#    define BOOST_PP_SLOT_TEMP_4 1\r
+# elif BOOST_PP_SLOT_OFFSET_5(BOOST_PP_VALUE) / 1000UL == 2\r
+#    define BOOST_PP_SLOT_TEMP_4 2\r
+# elif BOOST_PP_SLOT_OFFSET_5(BOOST_PP_VALUE) / 1000UL == 3\r
+#    define BOOST_PP_SLOT_TEMP_4 3\r
+# elif BOOST_PP_SLOT_OFFSET_5(BOOST_PP_VALUE) / 1000UL == 4\r
+#    define BOOST_PP_SLOT_TEMP_4 4\r
+# elif BOOST_PP_SLOT_OFFSET_5(BOOST_PP_VALUE) / 1000UL == 5\r
+#    define BOOST_PP_SLOT_TEMP_4 5\r
+# elif BOOST_PP_SLOT_OFFSET_5(BOOST_PP_VALUE) / 1000UL == 6\r
+#    define BOOST_PP_SLOT_TEMP_4 6\r
+# elif BOOST_PP_SLOT_OFFSET_5(BOOST_PP_VALUE) / 1000UL == 7\r
+#    define BOOST_PP_SLOT_TEMP_4 7\r
+# elif BOOST_PP_SLOT_OFFSET_5(BOOST_PP_VALUE) / 1000UL == 8\r
+#    define BOOST_PP_SLOT_TEMP_4 8\r
+# elif BOOST_PP_SLOT_OFFSET_5(BOOST_PP_VALUE) / 1000UL == 9\r
+#    define BOOST_PP_SLOT_TEMP_4 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_OFFSET_4(BOOST_PP_VALUE) / 100UL == 0\r
+#    define BOOST_PP_SLOT_TEMP_3 0\r
+# elif BOOST_PP_SLOT_OFFSET_4(BOOST_PP_VALUE) / 100UL == 1\r
+#    define BOOST_PP_SLOT_TEMP_3 1\r
+# elif BOOST_PP_SLOT_OFFSET_4(BOOST_PP_VALUE) / 100UL == 2\r
+#    define BOOST_PP_SLOT_TEMP_3 2\r
+# elif BOOST_PP_SLOT_OFFSET_4(BOOST_PP_VALUE) / 100UL == 3\r
+#    define BOOST_PP_SLOT_TEMP_3 3\r
+# elif BOOST_PP_SLOT_OFFSET_4(BOOST_PP_VALUE) / 100UL == 4\r
+#    define BOOST_PP_SLOT_TEMP_3 4\r
+# elif BOOST_PP_SLOT_OFFSET_4(BOOST_PP_VALUE) / 100UL == 5\r
+#    define BOOST_PP_SLOT_TEMP_3 5\r
+# elif BOOST_PP_SLOT_OFFSET_4(BOOST_PP_VALUE) / 100UL == 6\r
+#    define BOOST_PP_SLOT_TEMP_3 6\r
+# elif BOOST_PP_SLOT_OFFSET_4(BOOST_PP_VALUE) / 100UL == 7\r
+#    define BOOST_PP_SLOT_TEMP_3 7\r
+# elif BOOST_PP_SLOT_OFFSET_4(BOOST_PP_VALUE) / 100UL == 8\r
+#    define BOOST_PP_SLOT_TEMP_3 8\r
+# elif BOOST_PP_SLOT_OFFSET_4(BOOST_PP_VALUE) / 100UL == 9\r
+#    define BOOST_PP_SLOT_TEMP_3 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_OFFSET_3(BOOST_PP_VALUE) / 10UL == 0\r
+#    define BOOST_PP_SLOT_TEMP_2 0\r
+# elif BOOST_PP_SLOT_OFFSET_3(BOOST_PP_VALUE) / 10UL == 1\r
+#    define BOOST_PP_SLOT_TEMP_2 1\r
+# elif BOOST_PP_SLOT_OFFSET_3(BOOST_PP_VALUE) / 10UL == 2\r
+#    define BOOST_PP_SLOT_TEMP_2 2\r
+# elif BOOST_PP_SLOT_OFFSET_3(BOOST_PP_VALUE) / 10UL == 3\r
+#    define BOOST_PP_SLOT_TEMP_2 3\r
+# elif BOOST_PP_SLOT_OFFSET_3(BOOST_PP_VALUE) / 10UL == 4\r
+#    define BOOST_PP_SLOT_TEMP_2 4\r
+# elif BOOST_PP_SLOT_OFFSET_3(BOOST_PP_VALUE) / 10UL == 5\r
+#    define BOOST_PP_SLOT_TEMP_2 5\r
+# elif BOOST_PP_SLOT_OFFSET_3(BOOST_PP_VALUE) / 10UL == 6\r
+#    define BOOST_PP_SLOT_TEMP_2 6\r
+# elif BOOST_PP_SLOT_OFFSET_3(BOOST_PP_VALUE) / 10UL == 7\r
+#    define BOOST_PP_SLOT_TEMP_2 7\r
+# elif BOOST_PP_SLOT_OFFSET_3(BOOST_PP_VALUE) / 10UL == 8\r
+#    define BOOST_PP_SLOT_TEMP_2 8\r
+# elif BOOST_PP_SLOT_OFFSET_3(BOOST_PP_VALUE) / 10UL == 9\r
+#    define BOOST_PP_SLOT_TEMP_2 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_OFFSET_2(BOOST_PP_VALUE) == 0\r
+#    define BOOST_PP_SLOT_TEMP_1 0\r
+# elif BOOST_PP_SLOT_OFFSET_2(BOOST_PP_VALUE) == 1\r
+#    define BOOST_PP_SLOT_TEMP_1 1\r
+# elif BOOST_PP_SLOT_OFFSET_2(BOOST_PP_VALUE) == 2\r
+#    define BOOST_PP_SLOT_TEMP_1 2\r
+# elif BOOST_PP_SLOT_OFFSET_2(BOOST_PP_VALUE) == 3\r
+#    define BOOST_PP_SLOT_TEMP_1 3\r
+# elif BOOST_PP_SLOT_OFFSET_2(BOOST_PP_VALUE) == 4\r
+#    define BOOST_PP_SLOT_TEMP_1 4\r
+# elif BOOST_PP_SLOT_OFFSET_2(BOOST_PP_VALUE) == 5\r
+#    define BOOST_PP_SLOT_TEMP_1 5\r
+# elif BOOST_PP_SLOT_OFFSET_2(BOOST_PP_VALUE) == 6\r
+#    define BOOST_PP_SLOT_TEMP_1 6\r
+# elif BOOST_PP_SLOT_OFFSET_2(BOOST_PP_VALUE) == 7\r
+#    define BOOST_PP_SLOT_TEMP_1 7\r
+# elif BOOST_PP_SLOT_OFFSET_2(BOOST_PP_VALUE) == 8\r
+#    define BOOST_PP_SLOT_TEMP_1 8\r
+# elif BOOST_PP_SLOT_OFFSET_2(BOOST_PP_VALUE) == 9\r
+#    define BOOST_PP_SLOT_TEMP_1 9\r
+# endif\r
+#\r
+# undef BOOST_PP_VALUE\r
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 (file)
index 0000000..66d209a
--- /dev/null
@@ -0,0 +1,267 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# include <boost/preprocessor/slot/detail/shared.hpp>\r
+#\r
+# undef BOOST_PP_SLOT_1\r
+#\r
+# undef BOOST_PP_SLOT_1_DIGIT_1\r
+# undef BOOST_PP_SLOT_1_DIGIT_2\r
+# undef BOOST_PP_SLOT_1_DIGIT_3\r
+# undef BOOST_PP_SLOT_1_DIGIT_4\r
+# undef BOOST_PP_SLOT_1_DIGIT_5\r
+# undef BOOST_PP_SLOT_1_DIGIT_6\r
+# undef BOOST_PP_SLOT_1_DIGIT_7\r
+# undef BOOST_PP_SLOT_1_DIGIT_8\r
+# undef BOOST_PP_SLOT_1_DIGIT_9\r
+# undef BOOST_PP_SLOT_1_DIGIT_10\r
+#\r
+# if BOOST_PP_SLOT_TEMP_10 == 0\r
+#    define BOOST_PP_SLOT_1_DIGIT_10 0\r
+# elif BOOST_PP_SLOT_TEMP_10 == 1\r
+#    define BOOST_PP_SLOT_1_DIGIT_10 1\r
+# elif BOOST_PP_SLOT_TEMP_10 == 2\r
+#    define BOOST_PP_SLOT_1_DIGIT_10 2\r
+# elif BOOST_PP_SLOT_TEMP_10 == 3\r
+#    define BOOST_PP_SLOT_1_DIGIT_10 3\r
+# elif BOOST_PP_SLOT_TEMP_10 == 4\r
+#    define BOOST_PP_SLOT_1_DIGIT_10 4\r
+# elif BOOST_PP_SLOT_TEMP_10 == 5\r
+#    define BOOST_PP_SLOT_1_DIGIT_10 5\r
+# elif BOOST_PP_SLOT_TEMP_10 == 6\r
+#    define BOOST_PP_SLOT_1_DIGIT_10 6\r
+# elif BOOST_PP_SLOT_TEMP_10 == 7\r
+#    define BOOST_PP_SLOT_1_DIGIT_10 7\r
+# elif BOOST_PP_SLOT_TEMP_10 == 8\r
+#    define BOOST_PP_SLOT_1_DIGIT_10 8\r
+# elif BOOST_PP_SLOT_TEMP_10 == 9\r
+#    define BOOST_PP_SLOT_1_DIGIT_10 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_TEMP_9 == 0\r
+#    define BOOST_PP_SLOT_1_DIGIT_9 0\r
+# elif BOOST_PP_SLOT_TEMP_9 == 1\r
+#    define BOOST_PP_SLOT_1_DIGIT_9 1\r
+# elif BOOST_PP_SLOT_TEMP_9 == 2\r
+#    define BOOST_PP_SLOT_1_DIGIT_9 2\r
+# elif BOOST_PP_SLOT_TEMP_9 == 3\r
+#    define BOOST_PP_SLOT_1_DIGIT_9 3\r
+# elif BOOST_PP_SLOT_TEMP_9 == 4\r
+#    define BOOST_PP_SLOT_1_DIGIT_9 4\r
+# elif BOOST_PP_SLOT_TEMP_9 == 5\r
+#    define BOOST_PP_SLOT_1_DIGIT_9 5\r
+# elif BOOST_PP_SLOT_TEMP_9 == 6\r
+#    define BOOST_PP_SLOT_1_DIGIT_9 6\r
+# elif BOOST_PP_SLOT_TEMP_9 == 7\r
+#    define BOOST_PP_SLOT_1_DIGIT_9 7\r
+# elif BOOST_PP_SLOT_TEMP_9 == 8\r
+#    define BOOST_PP_SLOT_1_DIGIT_9 8\r
+# elif BOOST_PP_SLOT_TEMP_9 == 9\r
+#    define BOOST_PP_SLOT_1_DIGIT_9 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_TEMP_8 == 0\r
+#    define BOOST_PP_SLOT_1_DIGIT_8 0\r
+# elif BOOST_PP_SLOT_TEMP_8 == 1\r
+#    define BOOST_PP_SLOT_1_DIGIT_8 1\r
+# elif BOOST_PP_SLOT_TEMP_8 == 2\r
+#    define BOOST_PP_SLOT_1_DIGIT_8 2\r
+# elif BOOST_PP_SLOT_TEMP_8 == 3\r
+#    define BOOST_PP_SLOT_1_DIGIT_8 3\r
+# elif BOOST_PP_SLOT_TEMP_8 == 4\r
+#    define BOOST_PP_SLOT_1_DIGIT_8 4\r
+# elif BOOST_PP_SLOT_TEMP_8 == 5\r
+#    define BOOST_PP_SLOT_1_DIGIT_8 5\r
+# elif BOOST_PP_SLOT_TEMP_8 == 6\r
+#    define BOOST_PP_SLOT_1_DIGIT_8 6\r
+# elif BOOST_PP_SLOT_TEMP_8 == 7\r
+#    define BOOST_PP_SLOT_1_DIGIT_8 7\r
+# elif BOOST_PP_SLOT_TEMP_8 == 8\r
+#    define BOOST_PP_SLOT_1_DIGIT_8 8\r
+# elif BOOST_PP_SLOT_TEMP_8 == 9\r
+#    define BOOST_PP_SLOT_1_DIGIT_8 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_TEMP_7 == 0\r
+#    define BOOST_PP_SLOT_1_DIGIT_7 0\r
+# elif BOOST_PP_SLOT_TEMP_7 == 1\r
+#    define BOOST_PP_SLOT_1_DIGIT_7 1\r
+# elif BOOST_PP_SLOT_TEMP_7 == 2\r
+#    define BOOST_PP_SLOT_1_DIGIT_7 2\r
+# elif BOOST_PP_SLOT_TEMP_7 == 3\r
+#    define BOOST_PP_SLOT_1_DIGIT_7 3\r
+# elif BOOST_PP_SLOT_TEMP_7 == 4\r
+#    define BOOST_PP_SLOT_1_DIGIT_7 4\r
+# elif BOOST_PP_SLOT_TEMP_7 == 5\r
+#    define BOOST_PP_SLOT_1_DIGIT_7 5\r
+# elif BOOST_PP_SLOT_TEMP_7 == 6\r
+#    define BOOST_PP_SLOT_1_DIGIT_7 6\r
+# elif BOOST_PP_SLOT_TEMP_7 == 7\r
+#    define BOOST_PP_SLOT_1_DIGIT_7 7\r
+# elif BOOST_PP_SLOT_TEMP_7 == 8\r
+#    define BOOST_PP_SLOT_1_DIGIT_7 8\r
+# elif BOOST_PP_SLOT_TEMP_7 == 9\r
+#    define BOOST_PP_SLOT_1_DIGIT_7 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_TEMP_6 == 0\r
+#    define BOOST_PP_SLOT_1_DIGIT_6 0\r
+# elif BOOST_PP_SLOT_TEMP_6 == 1\r
+#    define BOOST_PP_SLOT_1_DIGIT_6 1\r
+# elif BOOST_PP_SLOT_TEMP_6 == 2\r
+#    define BOOST_PP_SLOT_1_DIGIT_6 2\r
+# elif BOOST_PP_SLOT_TEMP_6 == 3\r
+#    define BOOST_PP_SLOT_1_DIGIT_6 3\r
+# elif BOOST_PP_SLOT_TEMP_6 == 4\r
+#    define BOOST_PP_SLOT_1_DIGIT_6 4\r
+# elif BOOST_PP_SLOT_TEMP_6 == 5\r
+#    define BOOST_PP_SLOT_1_DIGIT_6 5\r
+# elif BOOST_PP_SLOT_TEMP_6 == 6\r
+#    define BOOST_PP_SLOT_1_DIGIT_6 6\r
+# elif BOOST_PP_SLOT_TEMP_6 == 7\r
+#    define BOOST_PP_SLOT_1_DIGIT_6 7\r
+# elif BOOST_PP_SLOT_TEMP_6 == 8\r
+#    define BOOST_PP_SLOT_1_DIGIT_6 8\r
+# elif BOOST_PP_SLOT_TEMP_6 == 9\r
+#    define BOOST_PP_SLOT_1_DIGIT_6 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_TEMP_5 == 0\r
+#    define BOOST_PP_SLOT_1_DIGIT_5 0\r
+# elif BOOST_PP_SLOT_TEMP_5 == 1\r
+#    define BOOST_PP_SLOT_1_DIGIT_5 1\r
+# elif BOOST_PP_SLOT_TEMP_5 == 2\r
+#    define BOOST_PP_SLOT_1_DIGIT_5 2\r
+# elif BOOST_PP_SLOT_TEMP_5 == 3\r
+#    define BOOST_PP_SLOT_1_DIGIT_5 3\r
+# elif BOOST_PP_SLOT_TEMP_5 == 4\r
+#    define BOOST_PP_SLOT_1_DIGIT_5 4\r
+# elif BOOST_PP_SLOT_TEMP_5 == 5\r
+#    define BOOST_PP_SLOT_1_DIGIT_5 5\r
+# elif BOOST_PP_SLOT_TEMP_5 == 6\r
+#    define BOOST_PP_SLOT_1_DIGIT_5 6\r
+# elif BOOST_PP_SLOT_TEMP_5 == 7\r
+#    define BOOST_PP_SLOT_1_DIGIT_5 7\r
+# elif BOOST_PP_SLOT_TEMP_5 == 8\r
+#    define BOOST_PP_SLOT_1_DIGIT_5 8\r
+# elif BOOST_PP_SLOT_TEMP_5 == 9\r
+#    define BOOST_PP_SLOT_1_DIGIT_5 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_TEMP_4 == 0\r
+#    define BOOST_PP_SLOT_1_DIGIT_4 0\r
+# elif BOOST_PP_SLOT_TEMP_4 == 1\r
+#    define BOOST_PP_SLOT_1_DIGIT_4 1\r
+# elif BOOST_PP_SLOT_TEMP_4 == 2\r
+#    define BOOST_PP_SLOT_1_DIGIT_4 2\r
+# elif BOOST_PP_SLOT_TEMP_4 == 3\r
+#    define BOOST_PP_SLOT_1_DIGIT_4 3\r
+# elif BOOST_PP_SLOT_TEMP_4 == 4\r
+#    define BOOST_PP_SLOT_1_DIGIT_4 4\r
+# elif BOOST_PP_SLOT_TEMP_4 == 5\r
+#    define BOOST_PP_SLOT_1_DIGIT_4 5\r
+# elif BOOST_PP_SLOT_TEMP_4 == 6\r
+#    define BOOST_PP_SLOT_1_DIGIT_4 6\r
+# elif BOOST_PP_SLOT_TEMP_4 == 7\r
+#    define BOOST_PP_SLOT_1_DIGIT_4 7\r
+# elif BOOST_PP_SLOT_TEMP_4 == 8\r
+#    define BOOST_PP_SLOT_1_DIGIT_4 8\r
+# elif BOOST_PP_SLOT_TEMP_4 == 9\r
+#    define BOOST_PP_SLOT_1_DIGIT_4 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_TEMP_3 == 0\r
+#    define BOOST_PP_SLOT_1_DIGIT_3 0\r
+# elif BOOST_PP_SLOT_TEMP_3 == 1\r
+#    define BOOST_PP_SLOT_1_DIGIT_3 1\r
+# elif BOOST_PP_SLOT_TEMP_3 == 2\r
+#    define BOOST_PP_SLOT_1_DIGIT_3 2\r
+# elif BOOST_PP_SLOT_TEMP_3 == 3\r
+#    define BOOST_PP_SLOT_1_DIGIT_3 3\r
+# elif BOOST_PP_SLOT_TEMP_3 == 4\r
+#    define BOOST_PP_SLOT_1_DIGIT_3 4\r
+# elif BOOST_PP_SLOT_TEMP_3 == 5\r
+#    define BOOST_PP_SLOT_1_DIGIT_3 5\r
+# elif BOOST_PP_SLOT_TEMP_3 == 6\r
+#    define BOOST_PP_SLOT_1_DIGIT_3 6\r
+# elif BOOST_PP_SLOT_TEMP_3 == 7\r
+#    define BOOST_PP_SLOT_1_DIGIT_3 7\r
+# elif BOOST_PP_SLOT_TEMP_3 == 8\r
+#    define BOOST_PP_SLOT_1_DIGIT_3 8\r
+# elif BOOST_PP_SLOT_TEMP_3 == 9\r
+#    define BOOST_PP_SLOT_1_DIGIT_3 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_TEMP_2 == 0\r
+#    define BOOST_PP_SLOT_1_DIGIT_2 0\r
+# elif BOOST_PP_SLOT_TEMP_2 == 1\r
+#    define BOOST_PP_SLOT_1_DIGIT_2 1\r
+# elif BOOST_PP_SLOT_TEMP_2 == 2\r
+#    define BOOST_PP_SLOT_1_DIGIT_2 2\r
+# elif BOOST_PP_SLOT_TEMP_2 == 3\r
+#    define BOOST_PP_SLOT_1_DIGIT_2 3\r
+# elif BOOST_PP_SLOT_TEMP_2 == 4\r
+#    define BOOST_PP_SLOT_1_DIGIT_2 4\r
+# elif BOOST_PP_SLOT_TEMP_2 == 5\r
+#    define BOOST_PP_SLOT_1_DIGIT_2 5\r
+# elif BOOST_PP_SLOT_TEMP_2 == 6\r
+#    define BOOST_PP_SLOT_1_DIGIT_2 6\r
+# elif BOOST_PP_SLOT_TEMP_2 == 7\r
+#    define BOOST_PP_SLOT_1_DIGIT_2 7\r
+# elif BOOST_PP_SLOT_TEMP_2 == 8\r
+#    define BOOST_PP_SLOT_1_DIGIT_2 8\r
+# elif BOOST_PP_SLOT_TEMP_2 == 9\r
+#    define BOOST_PP_SLOT_1_DIGIT_2 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_TEMP_1 == 0\r
+#    define BOOST_PP_SLOT_1_DIGIT_1 0\r
+# elif BOOST_PP_SLOT_TEMP_1 == 1\r
+#    define BOOST_PP_SLOT_1_DIGIT_1 1\r
+# elif BOOST_PP_SLOT_TEMP_1 == 2\r
+#    define BOOST_PP_SLOT_1_DIGIT_1 2\r
+# elif BOOST_PP_SLOT_TEMP_1 == 3\r
+#    define BOOST_PP_SLOT_1_DIGIT_1 3\r
+# elif BOOST_PP_SLOT_TEMP_1 == 4\r
+#    define BOOST_PP_SLOT_1_DIGIT_1 4\r
+# elif BOOST_PP_SLOT_TEMP_1 == 5\r
+#    define BOOST_PP_SLOT_1_DIGIT_1 5\r
+# elif BOOST_PP_SLOT_TEMP_1 == 6\r
+#    define BOOST_PP_SLOT_1_DIGIT_1 6\r
+# elif BOOST_PP_SLOT_TEMP_1 == 7\r
+#    define BOOST_PP_SLOT_1_DIGIT_1 7\r
+# elif BOOST_PP_SLOT_TEMP_1 == 8\r
+#    define BOOST_PP_SLOT_1_DIGIT_1 8\r
+# elif BOOST_PP_SLOT_TEMP_1 == 9\r
+#    define BOOST_PP_SLOT_1_DIGIT_1 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_1_DIGIT_10\r
+#    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)\r
+# elif BOOST_PP_SLOT_1_DIGIT_9\r
+#    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)\r
+# elif BOOST_PP_SLOT_1_DIGIT_8\r
+#    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)\r
+# elif BOOST_PP_SLOT_1_DIGIT_7\r
+#    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)\r
+# elif BOOST_PP_SLOT_1_DIGIT_6\r
+#    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)\r
+# elif BOOST_PP_SLOT_1_DIGIT_5\r
+#    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)\r
+# elif BOOST_PP_SLOT_1_DIGIT_4\r
+#    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)\r
+# elif BOOST_PP_SLOT_1_DIGIT_3\r
+#    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)\r
+# elif BOOST_PP_SLOT_1_DIGIT_2\r
+#    define BOOST_PP_SLOT_1() BOOST_PP_SLOT_CC_2(BOOST_PP_SLOT_1_DIGIT_2, BOOST_PP_SLOT_1_DIGIT_1)\r
+# else\r
+#    define BOOST_PP_SLOT_1() BOOST_PP_SLOT_1_DIGIT_1\r
+# endif\r
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 (file)
index 0000000..8eccc88
--- /dev/null
@@ -0,0 +1,267 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# include <boost/preprocessor/slot/detail/shared.hpp>\r
+#\r
+# undef BOOST_PP_SLOT_2\r
+#\r
+# undef BOOST_PP_SLOT_2_DIGIT_1\r
+# undef BOOST_PP_SLOT_2_DIGIT_2\r
+# undef BOOST_PP_SLOT_2_DIGIT_3\r
+# undef BOOST_PP_SLOT_2_DIGIT_4\r
+# undef BOOST_PP_SLOT_2_DIGIT_5\r
+# undef BOOST_PP_SLOT_2_DIGIT_6\r
+# undef BOOST_PP_SLOT_2_DIGIT_7\r
+# undef BOOST_PP_SLOT_2_DIGIT_8\r
+# undef BOOST_PP_SLOT_2_DIGIT_9\r
+# undef BOOST_PP_SLOT_2_DIGIT_10\r
+#\r
+# if BOOST_PP_SLOT_TEMP_10 == 0\r
+#    define BOOST_PP_SLOT_2_DIGIT_10 0\r
+# elif BOOST_PP_SLOT_TEMP_10 == 1\r
+#    define BOOST_PP_SLOT_2_DIGIT_10 1\r
+# elif BOOST_PP_SLOT_TEMP_10 == 2\r
+#    define BOOST_PP_SLOT_2_DIGIT_10 2\r
+# elif BOOST_PP_SLOT_TEMP_10 == 3\r
+#    define BOOST_PP_SLOT_2_DIGIT_10 3\r
+# elif BOOST_PP_SLOT_TEMP_10 == 4\r
+#    define BOOST_PP_SLOT_2_DIGIT_10 4\r
+# elif BOOST_PP_SLOT_TEMP_10 == 5\r
+#    define BOOST_PP_SLOT_2_DIGIT_10 5\r
+# elif BOOST_PP_SLOT_TEMP_10 == 6\r
+#    define BOOST_PP_SLOT_2_DIGIT_10 6\r
+# elif BOOST_PP_SLOT_TEMP_10 == 7\r
+#    define BOOST_PP_SLOT_2_DIGIT_10 7\r
+# elif BOOST_PP_SLOT_TEMP_10 == 8\r
+#    define BOOST_PP_SLOT_2_DIGIT_10 8\r
+# elif BOOST_PP_SLOT_TEMP_10 == 9\r
+#    define BOOST_PP_SLOT_2_DIGIT_10 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_TEMP_9 == 0\r
+#    define BOOST_PP_SLOT_2_DIGIT_9 0\r
+# elif BOOST_PP_SLOT_TEMP_9 == 1\r
+#    define BOOST_PP_SLOT_2_DIGIT_9 1\r
+# elif BOOST_PP_SLOT_TEMP_9 == 2\r
+#    define BOOST_PP_SLOT_2_DIGIT_9 2\r
+# elif BOOST_PP_SLOT_TEMP_9 == 3\r
+#    define BOOST_PP_SLOT_2_DIGIT_9 3\r
+# elif BOOST_PP_SLOT_TEMP_9 == 4\r
+#    define BOOST_PP_SLOT_2_DIGIT_9 4\r
+# elif BOOST_PP_SLOT_TEMP_9 == 5\r
+#    define BOOST_PP_SLOT_2_DIGIT_9 5\r
+# elif BOOST_PP_SLOT_TEMP_9 == 6\r
+#    define BOOST_PP_SLOT_2_DIGIT_9 6\r
+# elif BOOST_PP_SLOT_TEMP_9 == 7\r
+#    define BOOST_PP_SLOT_2_DIGIT_9 7\r
+# elif BOOST_PP_SLOT_TEMP_9 == 8\r
+#    define BOOST_PP_SLOT_2_DIGIT_9 8\r
+# elif BOOST_PP_SLOT_TEMP_9 == 9\r
+#    define BOOST_PP_SLOT_2_DIGIT_9 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_TEMP_8 == 0\r
+#    define BOOST_PP_SLOT_2_DIGIT_8 0\r
+# elif BOOST_PP_SLOT_TEMP_8 == 1\r
+#    define BOOST_PP_SLOT_2_DIGIT_8 1\r
+# elif BOOST_PP_SLOT_TEMP_8 == 2\r
+#    define BOOST_PP_SLOT_2_DIGIT_8 2\r
+# elif BOOST_PP_SLOT_TEMP_8 == 3\r
+#    define BOOST_PP_SLOT_2_DIGIT_8 3\r
+# elif BOOST_PP_SLOT_TEMP_8 == 4\r
+#    define BOOST_PP_SLOT_2_DIGIT_8 4\r
+# elif BOOST_PP_SLOT_TEMP_8 == 5\r
+#    define BOOST_PP_SLOT_2_DIGIT_8 5\r
+# elif BOOST_PP_SLOT_TEMP_8 == 6\r
+#    define BOOST_PP_SLOT_2_DIGIT_8 6\r
+# elif BOOST_PP_SLOT_TEMP_8 == 7\r
+#    define BOOST_PP_SLOT_2_DIGIT_8 7\r
+# elif BOOST_PP_SLOT_TEMP_8 == 8\r
+#    define BOOST_PP_SLOT_2_DIGIT_8 8\r
+# elif BOOST_PP_SLOT_TEMP_8 == 9\r
+#    define BOOST_PP_SLOT_2_DIGIT_8 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_TEMP_7 == 0\r
+#    define BOOST_PP_SLOT_2_DIGIT_7 0\r
+# elif BOOST_PP_SLOT_TEMP_7 == 1\r
+#    define BOOST_PP_SLOT_2_DIGIT_7 1\r
+# elif BOOST_PP_SLOT_TEMP_7 == 2\r
+#    define BOOST_PP_SLOT_2_DIGIT_7 2\r
+# elif BOOST_PP_SLOT_TEMP_7 == 3\r
+#    define BOOST_PP_SLOT_2_DIGIT_7 3\r
+# elif BOOST_PP_SLOT_TEMP_7 == 4\r
+#    define BOOST_PP_SLOT_2_DIGIT_7 4\r
+# elif BOOST_PP_SLOT_TEMP_7 == 5\r
+#    define BOOST_PP_SLOT_2_DIGIT_7 5\r
+# elif BOOST_PP_SLOT_TEMP_7 == 6\r
+#    define BOOST_PP_SLOT_2_DIGIT_7 6\r
+# elif BOOST_PP_SLOT_TEMP_7 == 7\r
+#    define BOOST_PP_SLOT_2_DIGIT_7 7\r
+# elif BOOST_PP_SLOT_TEMP_7 == 8\r
+#    define BOOST_PP_SLOT_2_DIGIT_7 8\r
+# elif BOOST_PP_SLOT_TEMP_7 == 9\r
+#    define BOOST_PP_SLOT_2_DIGIT_7 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_TEMP_6 == 0\r
+#    define BOOST_PP_SLOT_2_DIGIT_6 0\r
+# elif BOOST_PP_SLOT_TEMP_6 == 1\r
+#    define BOOST_PP_SLOT_2_DIGIT_6 1\r
+# elif BOOST_PP_SLOT_TEMP_6 == 2\r
+#    define BOOST_PP_SLOT_2_DIGIT_6 2\r
+# elif BOOST_PP_SLOT_TEMP_6 == 3\r
+#    define BOOST_PP_SLOT_2_DIGIT_6 3\r
+# elif BOOST_PP_SLOT_TEMP_6 == 4\r
+#    define BOOST_PP_SLOT_2_DIGIT_6 4\r
+# elif BOOST_PP_SLOT_TEMP_6 == 5\r
+#    define BOOST_PP_SLOT_2_DIGIT_6 5\r
+# elif BOOST_PP_SLOT_TEMP_6 == 6\r
+#    define BOOST_PP_SLOT_2_DIGIT_6 6\r
+# elif BOOST_PP_SLOT_TEMP_6 == 7\r
+#    define BOOST_PP_SLOT_2_DIGIT_6 7\r
+# elif BOOST_PP_SLOT_TEMP_6 == 8\r
+#    define BOOST_PP_SLOT_2_DIGIT_6 8\r
+# elif BOOST_PP_SLOT_TEMP_6 == 9\r
+#    define BOOST_PP_SLOT_2_DIGIT_6 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_TEMP_5 == 0\r
+#    define BOOST_PP_SLOT_2_DIGIT_5 0\r
+# elif BOOST_PP_SLOT_TEMP_5 == 1\r
+#    define BOOST_PP_SLOT_2_DIGIT_5 1\r
+# elif BOOST_PP_SLOT_TEMP_5 == 2\r
+#    define BOOST_PP_SLOT_2_DIGIT_5 2\r
+# elif BOOST_PP_SLOT_TEMP_5 == 3\r
+#    define BOOST_PP_SLOT_2_DIGIT_5 3\r
+# elif BOOST_PP_SLOT_TEMP_5 == 4\r
+#    define BOOST_PP_SLOT_2_DIGIT_5 4\r
+# elif BOOST_PP_SLOT_TEMP_5 == 5\r
+#    define BOOST_PP_SLOT_2_DIGIT_5 5\r
+# elif BOOST_PP_SLOT_TEMP_5 == 6\r
+#    define BOOST_PP_SLOT_2_DIGIT_5 6\r
+# elif BOOST_PP_SLOT_TEMP_5 == 7\r
+#    define BOOST_PP_SLOT_2_DIGIT_5 7\r
+# elif BOOST_PP_SLOT_TEMP_5 == 8\r
+#    define BOOST_PP_SLOT_2_DIGIT_5 8\r
+# elif BOOST_PP_SLOT_TEMP_5 == 9\r
+#    define BOOST_PP_SLOT_2_DIGIT_5 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_TEMP_4 == 0\r
+#    define BOOST_PP_SLOT_2_DIGIT_4 0\r
+# elif BOOST_PP_SLOT_TEMP_4 == 1\r
+#    define BOOST_PP_SLOT_2_DIGIT_4 1\r
+# elif BOOST_PP_SLOT_TEMP_4 == 2\r
+#    define BOOST_PP_SLOT_2_DIGIT_4 2\r
+# elif BOOST_PP_SLOT_TEMP_4 == 3\r
+#    define BOOST_PP_SLOT_2_DIGIT_4 3\r
+# elif BOOST_PP_SLOT_TEMP_4 == 4\r
+#    define BOOST_PP_SLOT_2_DIGIT_4 4\r
+# elif BOOST_PP_SLOT_TEMP_4 == 5\r
+#    define BOOST_PP_SLOT_2_DIGIT_4 5\r
+# elif BOOST_PP_SLOT_TEMP_4 == 6\r
+#    define BOOST_PP_SLOT_2_DIGIT_4 6\r
+# elif BOOST_PP_SLOT_TEMP_4 == 7\r
+#    define BOOST_PP_SLOT_2_DIGIT_4 7\r
+# elif BOOST_PP_SLOT_TEMP_4 == 8\r
+#    define BOOST_PP_SLOT_2_DIGIT_4 8\r
+# elif BOOST_PP_SLOT_TEMP_4 == 9\r
+#    define BOOST_PP_SLOT_2_DIGIT_4 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_TEMP_3 == 0\r
+#    define BOOST_PP_SLOT_2_DIGIT_3 0\r
+# elif BOOST_PP_SLOT_TEMP_3 == 1\r
+#    define BOOST_PP_SLOT_2_DIGIT_3 1\r
+# elif BOOST_PP_SLOT_TEMP_3 == 2\r
+#    define BOOST_PP_SLOT_2_DIGIT_3 2\r
+# elif BOOST_PP_SLOT_TEMP_3 == 3\r
+#    define BOOST_PP_SLOT_2_DIGIT_3 3\r
+# elif BOOST_PP_SLOT_TEMP_3 == 4\r
+#    define BOOST_PP_SLOT_2_DIGIT_3 4\r
+# elif BOOST_PP_SLOT_TEMP_3 == 5\r
+#    define BOOST_PP_SLOT_2_DIGIT_3 5\r
+# elif BOOST_PP_SLOT_TEMP_3 == 6\r
+#    define BOOST_PP_SLOT_2_DIGIT_3 6\r
+# elif BOOST_PP_SLOT_TEMP_3 == 7\r
+#    define BOOST_PP_SLOT_2_DIGIT_3 7\r
+# elif BOOST_PP_SLOT_TEMP_3 == 8\r
+#    define BOOST_PP_SLOT_2_DIGIT_3 8\r
+# elif BOOST_PP_SLOT_TEMP_3 == 9\r
+#    define BOOST_PP_SLOT_2_DIGIT_3 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_TEMP_2 == 0\r
+#    define BOOST_PP_SLOT_2_DIGIT_2 0\r
+# elif BOOST_PP_SLOT_TEMP_2 == 1\r
+#    define BOOST_PP_SLOT_2_DIGIT_2 1\r
+# elif BOOST_PP_SLOT_TEMP_2 == 2\r
+#    define BOOST_PP_SLOT_2_DIGIT_2 2\r
+# elif BOOST_PP_SLOT_TEMP_2 == 3\r
+#    define BOOST_PP_SLOT_2_DIGIT_2 3\r
+# elif BOOST_PP_SLOT_TEMP_2 == 4\r
+#    define BOOST_PP_SLOT_2_DIGIT_2 4\r
+# elif BOOST_PP_SLOT_TEMP_2 == 5\r
+#    define BOOST_PP_SLOT_2_DIGIT_2 5\r
+# elif BOOST_PP_SLOT_TEMP_2 == 6\r
+#    define BOOST_PP_SLOT_2_DIGIT_2 6\r
+# elif BOOST_PP_SLOT_TEMP_2 == 7\r
+#    define BOOST_PP_SLOT_2_DIGIT_2 7\r
+# elif BOOST_PP_SLOT_TEMP_2 == 8\r
+#    define BOOST_PP_SLOT_2_DIGIT_2 8\r
+# elif BOOST_PP_SLOT_TEMP_2 == 9\r
+#    define BOOST_PP_SLOT_2_DIGIT_2 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_TEMP_1 == 0\r
+#    define BOOST_PP_SLOT_2_DIGIT_1 0\r
+# elif BOOST_PP_SLOT_TEMP_1 == 1\r
+#    define BOOST_PP_SLOT_2_DIGIT_1 1\r
+# elif BOOST_PP_SLOT_TEMP_1 == 2\r
+#    define BOOST_PP_SLOT_2_DIGIT_1 2\r
+# elif BOOST_PP_SLOT_TEMP_1 == 3\r
+#    define BOOST_PP_SLOT_2_DIGIT_1 3\r
+# elif BOOST_PP_SLOT_TEMP_1 == 4\r
+#    define BOOST_PP_SLOT_2_DIGIT_1 4\r
+# elif BOOST_PP_SLOT_TEMP_1 == 5\r
+#    define BOOST_PP_SLOT_2_DIGIT_1 5\r
+# elif BOOST_PP_SLOT_TEMP_1 == 6\r
+#    define BOOST_PP_SLOT_2_DIGIT_1 6\r
+# elif BOOST_PP_SLOT_TEMP_1 == 7\r
+#    define BOOST_PP_SLOT_2_DIGIT_1 7\r
+# elif BOOST_PP_SLOT_TEMP_1 == 8\r
+#    define BOOST_PP_SLOT_2_DIGIT_1 8\r
+# elif BOOST_PP_SLOT_TEMP_1 == 9\r
+#    define BOOST_PP_SLOT_2_DIGIT_1 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_2_DIGIT_10\r
+#    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)\r
+# elif BOOST_PP_SLOT_2_DIGIT_9\r
+#    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)\r
+# elif BOOST_PP_SLOT_2_DIGIT_8\r
+#    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)\r
+# elif BOOST_PP_SLOT_2_DIGIT_7\r
+#    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)\r
+# elif BOOST_PP_SLOT_2_DIGIT_6\r
+#    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)\r
+# elif BOOST_PP_SLOT_2_DIGIT_5\r
+#    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)\r
+# elif BOOST_PP_SLOT_2_DIGIT_4\r
+#    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)\r
+# elif BOOST_PP_SLOT_2_DIGIT_3\r
+#    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)\r
+# elif BOOST_PP_SLOT_2_DIGIT_2\r
+#    define BOOST_PP_SLOT_2() BOOST_PP_SLOT_CC_2(BOOST_PP_SLOT_2_DIGIT_2, BOOST_PP_SLOT_2_DIGIT_1)\r
+# else\r
+#    define BOOST_PP_SLOT_2() BOOST_PP_SLOT_2_DIGIT_1\r
+# endif\r
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 (file)
index 0000000..2f29ac3
--- /dev/null
@@ -0,0 +1,267 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# include <boost/preprocessor/slot/detail/shared.hpp>\r
+#\r
+# undef BOOST_PP_SLOT_3\r
+#\r
+# undef BOOST_PP_SLOT_3_DIGIT_1\r
+# undef BOOST_PP_SLOT_3_DIGIT_2\r
+# undef BOOST_PP_SLOT_3_DIGIT_3\r
+# undef BOOST_PP_SLOT_3_DIGIT_4\r
+# undef BOOST_PP_SLOT_3_DIGIT_5\r
+# undef BOOST_PP_SLOT_3_DIGIT_6\r
+# undef BOOST_PP_SLOT_3_DIGIT_7\r
+# undef BOOST_PP_SLOT_3_DIGIT_8\r
+# undef BOOST_PP_SLOT_3_DIGIT_9\r
+# undef BOOST_PP_SLOT_3_DIGIT_10\r
+#\r
+# if BOOST_PP_SLOT_TEMP_10 == 0\r
+#    define BOOST_PP_SLOT_3_DIGIT_10 0\r
+# elif BOOST_PP_SLOT_TEMP_10 == 1\r
+#    define BOOST_PP_SLOT_3_DIGIT_10 1\r
+# elif BOOST_PP_SLOT_TEMP_10 == 2\r
+#    define BOOST_PP_SLOT_3_DIGIT_10 2\r
+# elif BOOST_PP_SLOT_TEMP_10 == 3\r
+#    define BOOST_PP_SLOT_3_DIGIT_10 3\r
+# elif BOOST_PP_SLOT_TEMP_10 == 4\r
+#    define BOOST_PP_SLOT_3_DIGIT_10 4\r
+# elif BOOST_PP_SLOT_TEMP_10 == 5\r
+#    define BOOST_PP_SLOT_3_DIGIT_10 5\r
+# elif BOOST_PP_SLOT_TEMP_10 == 6\r
+#    define BOOST_PP_SLOT_3_DIGIT_10 6\r
+# elif BOOST_PP_SLOT_TEMP_10 == 7\r
+#    define BOOST_PP_SLOT_3_DIGIT_10 7\r
+# elif BOOST_PP_SLOT_TEMP_10 == 8\r
+#    define BOOST_PP_SLOT_3_DIGIT_10 8\r
+# elif BOOST_PP_SLOT_TEMP_10 == 9\r
+#    define BOOST_PP_SLOT_3_DIGIT_10 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_TEMP_9 == 0\r
+#    define BOOST_PP_SLOT_3_DIGIT_9 0\r
+# elif BOOST_PP_SLOT_TEMP_9 == 1\r
+#    define BOOST_PP_SLOT_3_DIGIT_9 1\r
+# elif BOOST_PP_SLOT_TEMP_9 == 2\r
+#    define BOOST_PP_SLOT_3_DIGIT_9 2\r
+# elif BOOST_PP_SLOT_TEMP_9 == 3\r
+#    define BOOST_PP_SLOT_3_DIGIT_9 3\r
+# elif BOOST_PP_SLOT_TEMP_9 == 4\r
+#    define BOOST_PP_SLOT_3_DIGIT_9 4\r
+# elif BOOST_PP_SLOT_TEMP_9 == 5\r
+#    define BOOST_PP_SLOT_3_DIGIT_9 5\r
+# elif BOOST_PP_SLOT_TEMP_9 == 6\r
+#    define BOOST_PP_SLOT_3_DIGIT_9 6\r
+# elif BOOST_PP_SLOT_TEMP_9 == 7\r
+#    define BOOST_PP_SLOT_3_DIGIT_9 7\r
+# elif BOOST_PP_SLOT_TEMP_9 == 8\r
+#    define BOOST_PP_SLOT_3_DIGIT_9 8\r
+# elif BOOST_PP_SLOT_TEMP_9 == 9\r
+#    define BOOST_PP_SLOT_3_DIGIT_9 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_TEMP_8 == 0\r
+#    define BOOST_PP_SLOT_3_DIGIT_8 0\r
+# elif BOOST_PP_SLOT_TEMP_8 == 1\r
+#    define BOOST_PP_SLOT_3_DIGIT_8 1\r
+# elif BOOST_PP_SLOT_TEMP_8 == 2\r
+#    define BOOST_PP_SLOT_3_DIGIT_8 2\r
+# elif BOOST_PP_SLOT_TEMP_8 == 3\r
+#    define BOOST_PP_SLOT_3_DIGIT_8 3\r
+# elif BOOST_PP_SLOT_TEMP_8 == 4\r
+#    define BOOST_PP_SLOT_3_DIGIT_8 4\r
+# elif BOOST_PP_SLOT_TEMP_8 == 5\r
+#    define BOOST_PP_SLOT_3_DIGIT_8 5\r
+# elif BOOST_PP_SLOT_TEMP_8 == 6\r
+#    define BOOST_PP_SLOT_3_DIGIT_8 6\r
+# elif BOOST_PP_SLOT_TEMP_8 == 7\r
+#    define BOOST_PP_SLOT_3_DIGIT_8 7\r
+# elif BOOST_PP_SLOT_TEMP_8 == 8\r
+#    define BOOST_PP_SLOT_3_DIGIT_8 8\r
+# elif BOOST_PP_SLOT_TEMP_8 == 9\r
+#    define BOOST_PP_SLOT_3_DIGIT_8 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_TEMP_7 == 0\r
+#    define BOOST_PP_SLOT_3_DIGIT_7 0\r
+# elif BOOST_PP_SLOT_TEMP_7 == 1\r
+#    define BOOST_PP_SLOT_3_DIGIT_7 1\r
+# elif BOOST_PP_SLOT_TEMP_7 == 2\r
+#    define BOOST_PP_SLOT_3_DIGIT_7 2\r
+# elif BOOST_PP_SLOT_TEMP_7 == 3\r
+#    define BOOST_PP_SLOT_3_DIGIT_7 3\r
+# elif BOOST_PP_SLOT_TEMP_7 == 4\r
+#    define BOOST_PP_SLOT_3_DIGIT_7 4\r
+# elif BOOST_PP_SLOT_TEMP_7 == 5\r
+#    define BOOST_PP_SLOT_3_DIGIT_7 5\r
+# elif BOOST_PP_SLOT_TEMP_7 == 6\r
+#    define BOOST_PP_SLOT_3_DIGIT_7 6\r
+# elif BOOST_PP_SLOT_TEMP_7 == 7\r
+#    define BOOST_PP_SLOT_3_DIGIT_7 7\r
+# elif BOOST_PP_SLOT_TEMP_7 == 8\r
+#    define BOOST_PP_SLOT_3_DIGIT_7 8\r
+# elif BOOST_PP_SLOT_TEMP_7 == 9\r
+#    define BOOST_PP_SLOT_3_DIGIT_7 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_TEMP_6 == 0\r
+#    define BOOST_PP_SLOT_3_DIGIT_6 0\r
+# elif BOOST_PP_SLOT_TEMP_6 == 1\r
+#    define BOOST_PP_SLOT_3_DIGIT_6 1\r
+# elif BOOST_PP_SLOT_TEMP_6 == 2\r
+#    define BOOST_PP_SLOT_3_DIGIT_6 2\r
+# elif BOOST_PP_SLOT_TEMP_6 == 3\r
+#    define BOOST_PP_SLOT_3_DIGIT_6 3\r
+# elif BOOST_PP_SLOT_TEMP_6 == 4\r
+#    define BOOST_PP_SLOT_3_DIGIT_6 4\r
+# elif BOOST_PP_SLOT_TEMP_6 == 5\r
+#    define BOOST_PP_SLOT_3_DIGIT_6 5\r
+# elif BOOST_PP_SLOT_TEMP_6 == 6\r
+#    define BOOST_PP_SLOT_3_DIGIT_6 6\r
+# elif BOOST_PP_SLOT_TEMP_6 == 7\r
+#    define BOOST_PP_SLOT_3_DIGIT_6 7\r
+# elif BOOST_PP_SLOT_TEMP_6 == 8\r
+#    define BOOST_PP_SLOT_3_DIGIT_6 8\r
+# elif BOOST_PP_SLOT_TEMP_6 == 9\r
+#    define BOOST_PP_SLOT_3_DIGIT_6 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_TEMP_5 == 0\r
+#    define BOOST_PP_SLOT_3_DIGIT_5 0\r
+# elif BOOST_PP_SLOT_TEMP_5 == 1\r
+#    define BOOST_PP_SLOT_3_DIGIT_5 1\r
+# elif BOOST_PP_SLOT_TEMP_5 == 2\r
+#    define BOOST_PP_SLOT_3_DIGIT_5 2\r
+# elif BOOST_PP_SLOT_TEMP_5 == 3\r
+#    define BOOST_PP_SLOT_3_DIGIT_5 3\r
+# elif BOOST_PP_SLOT_TEMP_5 == 4\r
+#    define BOOST_PP_SLOT_3_DIGIT_5 4\r
+# elif BOOST_PP_SLOT_TEMP_5 == 5\r
+#    define BOOST_PP_SLOT_3_DIGIT_5 5\r
+# elif BOOST_PP_SLOT_TEMP_5 == 6\r
+#    define BOOST_PP_SLOT_3_DIGIT_5 6\r
+# elif BOOST_PP_SLOT_TEMP_5 == 7\r
+#    define BOOST_PP_SLOT_3_DIGIT_5 7\r
+# elif BOOST_PP_SLOT_TEMP_5 == 8\r
+#    define BOOST_PP_SLOT_3_DIGIT_5 8\r
+# elif BOOST_PP_SLOT_TEMP_5 == 9\r
+#    define BOOST_PP_SLOT_3_DIGIT_5 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_TEMP_4 == 0\r
+#    define BOOST_PP_SLOT_3_DIGIT_4 0\r
+# elif BOOST_PP_SLOT_TEMP_4 == 1\r
+#    define BOOST_PP_SLOT_3_DIGIT_4 1\r
+# elif BOOST_PP_SLOT_TEMP_4 == 2\r
+#    define BOOST_PP_SLOT_3_DIGIT_4 2\r
+# elif BOOST_PP_SLOT_TEMP_4 == 3\r
+#    define BOOST_PP_SLOT_3_DIGIT_4 3\r
+# elif BOOST_PP_SLOT_TEMP_4 == 4\r
+#    define BOOST_PP_SLOT_3_DIGIT_4 4\r
+# elif BOOST_PP_SLOT_TEMP_4 == 5\r
+#    define BOOST_PP_SLOT_3_DIGIT_4 5\r
+# elif BOOST_PP_SLOT_TEMP_4 == 6\r
+#    define BOOST_PP_SLOT_3_DIGIT_4 6\r
+# elif BOOST_PP_SLOT_TEMP_4 == 7\r
+#    define BOOST_PP_SLOT_3_DIGIT_4 7\r
+# elif BOOST_PP_SLOT_TEMP_4 == 8\r
+#    define BOOST_PP_SLOT_3_DIGIT_4 8\r
+# elif BOOST_PP_SLOT_TEMP_4 == 9\r
+#    define BOOST_PP_SLOT_3_DIGIT_4 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_TEMP_3 == 0\r
+#    define BOOST_PP_SLOT_3_DIGIT_3 0\r
+# elif BOOST_PP_SLOT_TEMP_3 == 1\r
+#    define BOOST_PP_SLOT_3_DIGIT_3 1\r
+# elif BOOST_PP_SLOT_TEMP_3 == 2\r
+#    define BOOST_PP_SLOT_3_DIGIT_3 2\r
+# elif BOOST_PP_SLOT_TEMP_3 == 3\r
+#    define BOOST_PP_SLOT_3_DIGIT_3 3\r
+# elif BOOST_PP_SLOT_TEMP_3 == 4\r
+#    define BOOST_PP_SLOT_3_DIGIT_3 4\r
+# elif BOOST_PP_SLOT_TEMP_3 == 5\r
+#    define BOOST_PP_SLOT_3_DIGIT_3 5\r
+# elif BOOST_PP_SLOT_TEMP_3 == 6\r
+#    define BOOST_PP_SLOT_3_DIGIT_3 6\r
+# elif BOOST_PP_SLOT_TEMP_3 == 7\r
+#    define BOOST_PP_SLOT_3_DIGIT_3 7\r
+# elif BOOST_PP_SLOT_TEMP_3 == 8\r
+#    define BOOST_PP_SLOT_3_DIGIT_3 8\r
+# elif BOOST_PP_SLOT_TEMP_3 == 9\r
+#    define BOOST_PP_SLOT_3_DIGIT_3 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_TEMP_2 == 0\r
+#    define BOOST_PP_SLOT_3_DIGIT_2 0\r
+# elif BOOST_PP_SLOT_TEMP_2 == 1\r
+#    define BOOST_PP_SLOT_3_DIGIT_2 1\r
+# elif BOOST_PP_SLOT_TEMP_2 == 2\r
+#    define BOOST_PP_SLOT_3_DIGIT_2 2\r
+# elif BOOST_PP_SLOT_TEMP_2 == 3\r
+#    define BOOST_PP_SLOT_3_DIGIT_2 3\r
+# elif BOOST_PP_SLOT_TEMP_2 == 4\r
+#    define BOOST_PP_SLOT_3_DIGIT_2 4\r
+# elif BOOST_PP_SLOT_TEMP_2 == 5\r
+#    define BOOST_PP_SLOT_3_DIGIT_2 5\r
+# elif BOOST_PP_SLOT_TEMP_2 == 6\r
+#    define BOOST_PP_SLOT_3_DIGIT_2 6\r
+# elif BOOST_PP_SLOT_TEMP_2 == 7\r
+#    define BOOST_PP_SLOT_3_DIGIT_2 7\r
+# elif BOOST_PP_SLOT_TEMP_2 == 8\r
+#    define BOOST_PP_SLOT_3_DIGIT_2 8\r
+# elif BOOST_PP_SLOT_TEMP_2 == 9\r
+#    define BOOST_PP_SLOT_3_DIGIT_2 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_TEMP_1 == 0\r
+#    define BOOST_PP_SLOT_3_DIGIT_1 0\r
+# elif BOOST_PP_SLOT_TEMP_1 == 1\r
+#    define BOOST_PP_SLOT_3_DIGIT_1 1\r
+# elif BOOST_PP_SLOT_TEMP_1 == 2\r
+#    define BOOST_PP_SLOT_3_DIGIT_1 2\r
+# elif BOOST_PP_SLOT_TEMP_1 == 3\r
+#    define BOOST_PP_SLOT_3_DIGIT_1 3\r
+# elif BOOST_PP_SLOT_TEMP_1 == 4\r
+#    define BOOST_PP_SLOT_3_DIGIT_1 4\r
+# elif BOOST_PP_SLOT_TEMP_1 == 5\r
+#    define BOOST_PP_SLOT_3_DIGIT_1 5\r
+# elif BOOST_PP_SLOT_TEMP_1 == 6\r
+#    define BOOST_PP_SLOT_3_DIGIT_1 6\r
+# elif BOOST_PP_SLOT_TEMP_1 == 7\r
+#    define BOOST_PP_SLOT_3_DIGIT_1 7\r
+# elif BOOST_PP_SLOT_TEMP_1 == 8\r
+#    define BOOST_PP_SLOT_3_DIGIT_1 8\r
+# elif BOOST_PP_SLOT_TEMP_1 == 9\r
+#    define BOOST_PP_SLOT_3_DIGIT_1 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_3_DIGIT_10\r
+#    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)\r
+# elif BOOST_PP_SLOT_3_DIGIT_9\r
+#    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)\r
+# elif BOOST_PP_SLOT_3_DIGIT_8\r
+#    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)\r
+# elif BOOST_PP_SLOT_3_DIGIT_7\r
+#    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)\r
+# elif BOOST_PP_SLOT_3_DIGIT_6\r
+#    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)\r
+# elif BOOST_PP_SLOT_3_DIGIT_5\r
+#    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)\r
+# elif BOOST_PP_SLOT_3_DIGIT_4\r
+#    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)\r
+# elif BOOST_PP_SLOT_3_DIGIT_3\r
+#    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)\r
+# elif BOOST_PP_SLOT_3_DIGIT_2\r
+#    define BOOST_PP_SLOT_3() BOOST_PP_SLOT_CC_2(BOOST_PP_SLOT_3_DIGIT_2, BOOST_PP_SLOT_3_DIGIT_1)\r
+# else\r
+#    define BOOST_PP_SLOT_3() BOOST_PP_SLOT_3_DIGIT_1\r
+# endif\r
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 (file)
index 0000000..ddcbb71
--- /dev/null
@@ -0,0 +1,267 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# include <boost/preprocessor/slot/detail/shared.hpp>\r
+#\r
+# undef BOOST_PP_SLOT_4\r
+#\r
+# undef BOOST_PP_SLOT_4_DIGIT_1\r
+# undef BOOST_PP_SLOT_4_DIGIT_2\r
+# undef BOOST_PP_SLOT_4_DIGIT_3\r
+# undef BOOST_PP_SLOT_4_DIGIT_4\r
+# undef BOOST_PP_SLOT_4_DIGIT_5\r
+# undef BOOST_PP_SLOT_4_DIGIT_6\r
+# undef BOOST_PP_SLOT_4_DIGIT_7\r
+# undef BOOST_PP_SLOT_4_DIGIT_8\r
+# undef BOOST_PP_SLOT_4_DIGIT_9\r
+# undef BOOST_PP_SLOT_4_DIGIT_10\r
+#\r
+# if BOOST_PP_SLOT_TEMP_10 == 0\r
+#    define BOOST_PP_SLOT_4_DIGIT_10 0\r
+# elif BOOST_PP_SLOT_TEMP_10 == 1\r
+#    define BOOST_PP_SLOT_4_DIGIT_10 1\r
+# elif BOOST_PP_SLOT_TEMP_10 == 2\r
+#    define BOOST_PP_SLOT_4_DIGIT_10 2\r
+# elif BOOST_PP_SLOT_TEMP_10 == 3\r
+#    define BOOST_PP_SLOT_4_DIGIT_10 3\r
+# elif BOOST_PP_SLOT_TEMP_10 == 4\r
+#    define BOOST_PP_SLOT_4_DIGIT_10 4\r
+# elif BOOST_PP_SLOT_TEMP_10 == 5\r
+#    define BOOST_PP_SLOT_4_DIGIT_10 5\r
+# elif BOOST_PP_SLOT_TEMP_10 == 6\r
+#    define BOOST_PP_SLOT_4_DIGIT_10 6\r
+# elif BOOST_PP_SLOT_TEMP_10 == 7\r
+#    define BOOST_PP_SLOT_4_DIGIT_10 7\r
+# elif BOOST_PP_SLOT_TEMP_10 == 8\r
+#    define BOOST_PP_SLOT_4_DIGIT_10 8\r
+# elif BOOST_PP_SLOT_TEMP_10 == 9\r
+#    define BOOST_PP_SLOT_4_DIGIT_10 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_TEMP_9 == 0\r
+#    define BOOST_PP_SLOT_4_DIGIT_9 0\r
+# elif BOOST_PP_SLOT_TEMP_9 == 1\r
+#    define BOOST_PP_SLOT_4_DIGIT_9 1\r
+# elif BOOST_PP_SLOT_TEMP_9 == 2\r
+#    define BOOST_PP_SLOT_4_DIGIT_9 2\r
+# elif BOOST_PP_SLOT_TEMP_9 == 3\r
+#    define BOOST_PP_SLOT_4_DIGIT_9 3\r
+# elif BOOST_PP_SLOT_TEMP_9 == 4\r
+#    define BOOST_PP_SLOT_4_DIGIT_9 4\r
+# elif BOOST_PP_SLOT_TEMP_9 == 5\r
+#    define BOOST_PP_SLOT_4_DIGIT_9 5\r
+# elif BOOST_PP_SLOT_TEMP_9 == 6\r
+#    define BOOST_PP_SLOT_4_DIGIT_9 6\r
+# elif BOOST_PP_SLOT_TEMP_9 == 7\r
+#    define BOOST_PP_SLOT_4_DIGIT_9 7\r
+# elif BOOST_PP_SLOT_TEMP_9 == 8\r
+#    define BOOST_PP_SLOT_4_DIGIT_9 8\r
+# elif BOOST_PP_SLOT_TEMP_9 == 9\r
+#    define BOOST_PP_SLOT_4_DIGIT_9 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_TEMP_8 == 0\r
+#    define BOOST_PP_SLOT_4_DIGIT_8 0\r
+# elif BOOST_PP_SLOT_TEMP_8 == 1\r
+#    define BOOST_PP_SLOT_4_DIGIT_8 1\r
+# elif BOOST_PP_SLOT_TEMP_8 == 2\r
+#    define BOOST_PP_SLOT_4_DIGIT_8 2\r
+# elif BOOST_PP_SLOT_TEMP_8 == 3\r
+#    define BOOST_PP_SLOT_4_DIGIT_8 3\r
+# elif BOOST_PP_SLOT_TEMP_8 == 4\r
+#    define BOOST_PP_SLOT_4_DIGIT_8 4\r
+# elif BOOST_PP_SLOT_TEMP_8 == 5\r
+#    define BOOST_PP_SLOT_4_DIGIT_8 5\r
+# elif BOOST_PP_SLOT_TEMP_8 == 6\r
+#    define BOOST_PP_SLOT_4_DIGIT_8 6\r
+# elif BOOST_PP_SLOT_TEMP_8 == 7\r
+#    define BOOST_PP_SLOT_4_DIGIT_8 7\r
+# elif BOOST_PP_SLOT_TEMP_8 == 8\r
+#    define BOOST_PP_SLOT_4_DIGIT_8 8\r
+# elif BOOST_PP_SLOT_TEMP_8 == 9\r
+#    define BOOST_PP_SLOT_4_DIGIT_8 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_TEMP_7 == 0\r
+#    define BOOST_PP_SLOT_4_DIGIT_7 0\r
+# elif BOOST_PP_SLOT_TEMP_7 == 1\r
+#    define BOOST_PP_SLOT_4_DIGIT_7 1\r
+# elif BOOST_PP_SLOT_TEMP_7 == 2\r
+#    define BOOST_PP_SLOT_4_DIGIT_7 2\r
+# elif BOOST_PP_SLOT_TEMP_7 == 3\r
+#    define BOOST_PP_SLOT_4_DIGIT_7 3\r
+# elif BOOST_PP_SLOT_TEMP_7 == 4\r
+#    define BOOST_PP_SLOT_4_DIGIT_7 4\r
+# elif BOOST_PP_SLOT_TEMP_7 == 5\r
+#    define BOOST_PP_SLOT_4_DIGIT_7 5\r
+# elif BOOST_PP_SLOT_TEMP_7 == 6\r
+#    define BOOST_PP_SLOT_4_DIGIT_7 6\r
+# elif BOOST_PP_SLOT_TEMP_7 == 7\r
+#    define BOOST_PP_SLOT_4_DIGIT_7 7\r
+# elif BOOST_PP_SLOT_TEMP_7 == 8\r
+#    define BOOST_PP_SLOT_4_DIGIT_7 8\r
+# elif BOOST_PP_SLOT_TEMP_7 == 9\r
+#    define BOOST_PP_SLOT_4_DIGIT_7 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_TEMP_6 == 0\r
+#    define BOOST_PP_SLOT_4_DIGIT_6 0\r
+# elif BOOST_PP_SLOT_TEMP_6 == 1\r
+#    define BOOST_PP_SLOT_4_DIGIT_6 1\r
+# elif BOOST_PP_SLOT_TEMP_6 == 2\r
+#    define BOOST_PP_SLOT_4_DIGIT_6 2\r
+# elif BOOST_PP_SLOT_TEMP_6 == 3\r
+#    define BOOST_PP_SLOT_4_DIGIT_6 3\r
+# elif BOOST_PP_SLOT_TEMP_6 == 4\r
+#    define BOOST_PP_SLOT_4_DIGIT_6 4\r
+# elif BOOST_PP_SLOT_TEMP_6 == 5\r
+#    define BOOST_PP_SLOT_4_DIGIT_6 5\r
+# elif BOOST_PP_SLOT_TEMP_6 == 6\r
+#    define BOOST_PP_SLOT_4_DIGIT_6 6\r
+# elif BOOST_PP_SLOT_TEMP_6 == 7\r
+#    define BOOST_PP_SLOT_4_DIGIT_6 7\r
+# elif BOOST_PP_SLOT_TEMP_6 == 8\r
+#    define BOOST_PP_SLOT_4_DIGIT_6 8\r
+# elif BOOST_PP_SLOT_TEMP_6 == 9\r
+#    define BOOST_PP_SLOT_4_DIGIT_6 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_TEMP_5 == 0\r
+#    define BOOST_PP_SLOT_4_DIGIT_5 0\r
+# elif BOOST_PP_SLOT_TEMP_5 == 1\r
+#    define BOOST_PP_SLOT_4_DIGIT_5 1\r
+# elif BOOST_PP_SLOT_TEMP_5 == 2\r
+#    define BOOST_PP_SLOT_4_DIGIT_5 2\r
+# elif BOOST_PP_SLOT_TEMP_5 == 3\r
+#    define BOOST_PP_SLOT_4_DIGIT_5 3\r
+# elif BOOST_PP_SLOT_TEMP_5 == 4\r
+#    define BOOST_PP_SLOT_4_DIGIT_5 4\r
+# elif BOOST_PP_SLOT_TEMP_5 == 5\r
+#    define BOOST_PP_SLOT_4_DIGIT_5 5\r
+# elif BOOST_PP_SLOT_TEMP_5 == 6\r
+#    define BOOST_PP_SLOT_4_DIGIT_5 6\r
+# elif BOOST_PP_SLOT_TEMP_5 == 7\r
+#    define BOOST_PP_SLOT_4_DIGIT_5 7\r
+# elif BOOST_PP_SLOT_TEMP_5 == 8\r
+#    define BOOST_PP_SLOT_4_DIGIT_5 8\r
+# elif BOOST_PP_SLOT_TEMP_5 == 9\r
+#    define BOOST_PP_SLOT_4_DIGIT_5 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_TEMP_4 == 0\r
+#    define BOOST_PP_SLOT_4_DIGIT_4 0\r
+# elif BOOST_PP_SLOT_TEMP_4 == 1\r
+#    define BOOST_PP_SLOT_4_DIGIT_4 1\r
+# elif BOOST_PP_SLOT_TEMP_4 == 2\r
+#    define BOOST_PP_SLOT_4_DIGIT_4 2\r
+# elif BOOST_PP_SLOT_TEMP_4 == 3\r
+#    define BOOST_PP_SLOT_4_DIGIT_4 3\r
+# elif BOOST_PP_SLOT_TEMP_4 == 4\r
+#    define BOOST_PP_SLOT_4_DIGIT_4 4\r
+# elif BOOST_PP_SLOT_TEMP_4 == 5\r
+#    define BOOST_PP_SLOT_4_DIGIT_4 5\r
+# elif BOOST_PP_SLOT_TEMP_4 == 6\r
+#    define BOOST_PP_SLOT_4_DIGIT_4 6\r
+# elif BOOST_PP_SLOT_TEMP_4 == 7\r
+#    define BOOST_PP_SLOT_4_DIGIT_4 7\r
+# elif BOOST_PP_SLOT_TEMP_4 == 8\r
+#    define BOOST_PP_SLOT_4_DIGIT_4 8\r
+# elif BOOST_PP_SLOT_TEMP_4 == 9\r
+#    define BOOST_PP_SLOT_4_DIGIT_4 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_TEMP_3 == 0\r
+#    define BOOST_PP_SLOT_4_DIGIT_3 0\r
+# elif BOOST_PP_SLOT_TEMP_3 == 1\r
+#    define BOOST_PP_SLOT_4_DIGIT_3 1\r
+# elif BOOST_PP_SLOT_TEMP_3 == 2\r
+#    define BOOST_PP_SLOT_4_DIGIT_3 2\r
+# elif BOOST_PP_SLOT_TEMP_3 == 3\r
+#    define BOOST_PP_SLOT_4_DIGIT_3 3\r
+# elif BOOST_PP_SLOT_TEMP_3 == 4\r
+#    define BOOST_PP_SLOT_4_DIGIT_3 4\r
+# elif BOOST_PP_SLOT_TEMP_3 == 5\r
+#    define BOOST_PP_SLOT_4_DIGIT_3 5\r
+# elif BOOST_PP_SLOT_TEMP_3 == 6\r
+#    define BOOST_PP_SLOT_4_DIGIT_3 6\r
+# elif BOOST_PP_SLOT_TEMP_3 == 7\r
+#    define BOOST_PP_SLOT_4_DIGIT_3 7\r
+# elif BOOST_PP_SLOT_TEMP_3 == 8\r
+#    define BOOST_PP_SLOT_4_DIGIT_3 8\r
+# elif BOOST_PP_SLOT_TEMP_3 == 9\r
+#    define BOOST_PP_SLOT_4_DIGIT_3 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_TEMP_2 == 0\r
+#    define BOOST_PP_SLOT_4_DIGIT_2 0\r
+# elif BOOST_PP_SLOT_TEMP_2 == 1\r
+#    define BOOST_PP_SLOT_4_DIGIT_2 1\r
+# elif BOOST_PP_SLOT_TEMP_2 == 2\r
+#    define BOOST_PP_SLOT_4_DIGIT_2 2\r
+# elif BOOST_PP_SLOT_TEMP_2 == 3\r
+#    define BOOST_PP_SLOT_4_DIGIT_2 3\r
+# elif BOOST_PP_SLOT_TEMP_2 == 4\r
+#    define BOOST_PP_SLOT_4_DIGIT_2 4\r
+# elif BOOST_PP_SLOT_TEMP_2 == 5\r
+#    define BOOST_PP_SLOT_4_DIGIT_2 5\r
+# elif BOOST_PP_SLOT_TEMP_2 == 6\r
+#    define BOOST_PP_SLOT_4_DIGIT_2 6\r
+# elif BOOST_PP_SLOT_TEMP_2 == 7\r
+#    define BOOST_PP_SLOT_4_DIGIT_2 7\r
+# elif BOOST_PP_SLOT_TEMP_2 == 8\r
+#    define BOOST_PP_SLOT_4_DIGIT_2 8\r
+# elif BOOST_PP_SLOT_TEMP_2 == 9\r
+#    define BOOST_PP_SLOT_4_DIGIT_2 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_TEMP_1 == 0\r
+#    define BOOST_PP_SLOT_4_DIGIT_1 0\r
+# elif BOOST_PP_SLOT_TEMP_1 == 1\r
+#    define BOOST_PP_SLOT_4_DIGIT_1 1\r
+# elif BOOST_PP_SLOT_TEMP_1 == 2\r
+#    define BOOST_PP_SLOT_4_DIGIT_1 2\r
+# elif BOOST_PP_SLOT_TEMP_1 == 3\r
+#    define BOOST_PP_SLOT_4_DIGIT_1 3\r
+# elif BOOST_PP_SLOT_TEMP_1 == 4\r
+#    define BOOST_PP_SLOT_4_DIGIT_1 4\r
+# elif BOOST_PP_SLOT_TEMP_1 == 5\r
+#    define BOOST_PP_SLOT_4_DIGIT_1 5\r
+# elif BOOST_PP_SLOT_TEMP_1 == 6\r
+#    define BOOST_PP_SLOT_4_DIGIT_1 6\r
+# elif BOOST_PP_SLOT_TEMP_1 == 7\r
+#    define BOOST_PP_SLOT_4_DIGIT_1 7\r
+# elif BOOST_PP_SLOT_TEMP_1 == 8\r
+#    define BOOST_PP_SLOT_4_DIGIT_1 8\r
+# elif BOOST_PP_SLOT_TEMP_1 == 9\r
+#    define BOOST_PP_SLOT_4_DIGIT_1 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_4_DIGIT_10\r
+#    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)\r
+# elif BOOST_PP_SLOT_4_DIGIT_9\r
+#    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)\r
+# elif BOOST_PP_SLOT_4_DIGIT_8\r
+#    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)\r
+# elif BOOST_PP_SLOT_4_DIGIT_7\r
+#    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)\r
+# elif BOOST_PP_SLOT_4_DIGIT_6\r
+#    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)\r
+# elif BOOST_PP_SLOT_4_DIGIT_5\r
+#    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)\r
+# elif BOOST_PP_SLOT_4_DIGIT_4\r
+#    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)\r
+# elif BOOST_PP_SLOT_4_DIGIT_3\r
+#    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)\r
+# elif BOOST_PP_SLOT_4_DIGIT_2\r
+#    define BOOST_PP_SLOT_4() BOOST_PP_SLOT_CC_2(BOOST_PP_SLOT_4_DIGIT_2, BOOST_PP_SLOT_4_DIGIT_1)\r
+# else\r
+#    define BOOST_PP_SLOT_4() BOOST_PP_SLOT_4_DIGIT_1\r
+# endif\r
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 (file)
index 0000000..9763461
--- /dev/null
@@ -0,0 +1,267 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# include <boost/preprocessor/slot/detail/shared.hpp>\r
+#\r
+# undef BOOST_PP_SLOT_5\r
+#\r
+# undef BOOST_PP_SLOT_5_DIGIT_1\r
+# undef BOOST_PP_SLOT_5_DIGIT_2\r
+# undef BOOST_PP_SLOT_5_DIGIT_3\r
+# undef BOOST_PP_SLOT_5_DIGIT_4\r
+# undef BOOST_PP_SLOT_5_DIGIT_5\r
+# undef BOOST_PP_SLOT_5_DIGIT_6\r
+# undef BOOST_PP_SLOT_5_DIGIT_7\r
+# undef BOOST_PP_SLOT_5_DIGIT_8\r
+# undef BOOST_PP_SLOT_5_DIGIT_9\r
+# undef BOOST_PP_SLOT_5_DIGIT_10\r
+#\r
+# if BOOST_PP_SLOT_TEMP_10 == 0\r
+#    define BOOST_PP_SLOT_5_DIGIT_10 0\r
+# elif BOOST_PP_SLOT_TEMP_10 == 1\r
+#    define BOOST_PP_SLOT_5_DIGIT_10 1\r
+# elif BOOST_PP_SLOT_TEMP_10 == 2\r
+#    define BOOST_PP_SLOT_5_DIGIT_10 2\r
+# elif BOOST_PP_SLOT_TEMP_10 == 3\r
+#    define BOOST_PP_SLOT_5_DIGIT_10 3\r
+# elif BOOST_PP_SLOT_TEMP_10 == 4\r
+#    define BOOST_PP_SLOT_5_DIGIT_10 4\r
+# elif BOOST_PP_SLOT_TEMP_10 == 5\r
+#    define BOOST_PP_SLOT_5_DIGIT_10 5\r
+# elif BOOST_PP_SLOT_TEMP_10 == 6\r
+#    define BOOST_PP_SLOT_5_DIGIT_10 6\r
+# elif BOOST_PP_SLOT_TEMP_10 == 7\r
+#    define BOOST_PP_SLOT_5_DIGIT_10 7\r
+# elif BOOST_PP_SLOT_TEMP_10 == 8\r
+#    define BOOST_PP_SLOT_5_DIGIT_10 8\r
+# elif BOOST_PP_SLOT_TEMP_10 == 9\r
+#    define BOOST_PP_SLOT_5_DIGIT_10 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_TEMP_9 == 0\r
+#    define BOOST_PP_SLOT_5_DIGIT_9 0\r
+# elif BOOST_PP_SLOT_TEMP_9 == 1\r
+#    define BOOST_PP_SLOT_5_DIGIT_9 1\r
+# elif BOOST_PP_SLOT_TEMP_9 == 2\r
+#    define BOOST_PP_SLOT_5_DIGIT_9 2\r
+# elif BOOST_PP_SLOT_TEMP_9 == 3\r
+#    define BOOST_PP_SLOT_5_DIGIT_9 3\r
+# elif BOOST_PP_SLOT_TEMP_9 == 4\r
+#    define BOOST_PP_SLOT_5_DIGIT_9 4\r
+# elif BOOST_PP_SLOT_TEMP_9 == 5\r
+#    define BOOST_PP_SLOT_5_DIGIT_9 5\r
+# elif BOOST_PP_SLOT_TEMP_9 == 6\r
+#    define BOOST_PP_SLOT_5_DIGIT_9 6\r
+# elif BOOST_PP_SLOT_TEMP_9 == 7\r
+#    define BOOST_PP_SLOT_5_DIGIT_9 7\r
+# elif BOOST_PP_SLOT_TEMP_9 == 8\r
+#    define BOOST_PP_SLOT_5_DIGIT_9 8\r
+# elif BOOST_PP_SLOT_TEMP_9 == 9\r
+#    define BOOST_PP_SLOT_5_DIGIT_9 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_TEMP_8 == 0\r
+#    define BOOST_PP_SLOT_5_DIGIT_8 0\r
+# elif BOOST_PP_SLOT_TEMP_8 == 1\r
+#    define BOOST_PP_SLOT_5_DIGIT_8 1\r
+# elif BOOST_PP_SLOT_TEMP_8 == 2\r
+#    define BOOST_PP_SLOT_5_DIGIT_8 2\r
+# elif BOOST_PP_SLOT_TEMP_8 == 3\r
+#    define BOOST_PP_SLOT_5_DIGIT_8 3\r
+# elif BOOST_PP_SLOT_TEMP_8 == 4\r
+#    define BOOST_PP_SLOT_5_DIGIT_8 4\r
+# elif BOOST_PP_SLOT_TEMP_8 == 5\r
+#    define BOOST_PP_SLOT_5_DIGIT_8 5\r
+# elif BOOST_PP_SLOT_TEMP_8 == 6\r
+#    define BOOST_PP_SLOT_5_DIGIT_8 6\r
+# elif BOOST_PP_SLOT_TEMP_8 == 7\r
+#    define BOOST_PP_SLOT_5_DIGIT_8 7\r
+# elif BOOST_PP_SLOT_TEMP_8 == 8\r
+#    define BOOST_PP_SLOT_5_DIGIT_8 8\r
+# elif BOOST_PP_SLOT_TEMP_8 == 9\r
+#    define BOOST_PP_SLOT_5_DIGIT_8 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_TEMP_7 == 0\r
+#    define BOOST_PP_SLOT_5_DIGIT_7 0\r
+# elif BOOST_PP_SLOT_TEMP_7 == 1\r
+#    define BOOST_PP_SLOT_5_DIGIT_7 1\r
+# elif BOOST_PP_SLOT_TEMP_7 == 2\r
+#    define BOOST_PP_SLOT_5_DIGIT_7 2\r
+# elif BOOST_PP_SLOT_TEMP_7 == 3\r
+#    define BOOST_PP_SLOT_5_DIGIT_7 3\r
+# elif BOOST_PP_SLOT_TEMP_7 == 4\r
+#    define BOOST_PP_SLOT_5_DIGIT_7 4\r
+# elif BOOST_PP_SLOT_TEMP_7 == 5\r
+#    define BOOST_PP_SLOT_5_DIGIT_7 5\r
+# elif BOOST_PP_SLOT_TEMP_7 == 6\r
+#    define BOOST_PP_SLOT_5_DIGIT_7 6\r
+# elif BOOST_PP_SLOT_TEMP_7 == 7\r
+#    define BOOST_PP_SLOT_5_DIGIT_7 7\r
+# elif BOOST_PP_SLOT_TEMP_7 == 8\r
+#    define BOOST_PP_SLOT_5_DIGIT_7 8\r
+# elif BOOST_PP_SLOT_TEMP_7 == 9\r
+#    define BOOST_PP_SLOT_5_DIGIT_7 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_TEMP_6 == 0\r
+#    define BOOST_PP_SLOT_5_DIGIT_6 0\r
+# elif BOOST_PP_SLOT_TEMP_6 == 1\r
+#    define BOOST_PP_SLOT_5_DIGIT_6 1\r
+# elif BOOST_PP_SLOT_TEMP_6 == 2\r
+#    define BOOST_PP_SLOT_5_DIGIT_6 2\r
+# elif BOOST_PP_SLOT_TEMP_6 == 3\r
+#    define BOOST_PP_SLOT_5_DIGIT_6 3\r
+# elif BOOST_PP_SLOT_TEMP_6 == 4\r
+#    define BOOST_PP_SLOT_5_DIGIT_6 4\r
+# elif BOOST_PP_SLOT_TEMP_6 == 5\r
+#    define BOOST_PP_SLOT_5_DIGIT_6 5\r
+# elif BOOST_PP_SLOT_TEMP_6 == 6\r
+#    define BOOST_PP_SLOT_5_DIGIT_6 6\r
+# elif BOOST_PP_SLOT_TEMP_6 == 7\r
+#    define BOOST_PP_SLOT_5_DIGIT_6 7\r
+# elif BOOST_PP_SLOT_TEMP_6 == 8\r
+#    define BOOST_PP_SLOT_5_DIGIT_6 8\r
+# elif BOOST_PP_SLOT_TEMP_6 == 9\r
+#    define BOOST_PP_SLOT_5_DIGIT_6 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_TEMP_5 == 0\r
+#    define BOOST_PP_SLOT_5_DIGIT_5 0\r
+# elif BOOST_PP_SLOT_TEMP_5 == 1\r
+#    define BOOST_PP_SLOT_5_DIGIT_5 1\r
+# elif BOOST_PP_SLOT_TEMP_5 == 2\r
+#    define BOOST_PP_SLOT_5_DIGIT_5 2\r
+# elif BOOST_PP_SLOT_TEMP_5 == 3\r
+#    define BOOST_PP_SLOT_5_DIGIT_5 3\r
+# elif BOOST_PP_SLOT_TEMP_5 == 4\r
+#    define BOOST_PP_SLOT_5_DIGIT_5 4\r
+# elif BOOST_PP_SLOT_TEMP_5 == 5\r
+#    define BOOST_PP_SLOT_5_DIGIT_5 5\r
+# elif BOOST_PP_SLOT_TEMP_5 == 6\r
+#    define BOOST_PP_SLOT_5_DIGIT_5 6\r
+# elif BOOST_PP_SLOT_TEMP_5 == 7\r
+#    define BOOST_PP_SLOT_5_DIGIT_5 7\r
+# elif BOOST_PP_SLOT_TEMP_5 == 8\r
+#    define BOOST_PP_SLOT_5_DIGIT_5 8\r
+# elif BOOST_PP_SLOT_TEMP_5 == 9\r
+#    define BOOST_PP_SLOT_5_DIGIT_5 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_TEMP_4 == 0\r
+#    define BOOST_PP_SLOT_5_DIGIT_4 0\r
+# elif BOOST_PP_SLOT_TEMP_4 == 1\r
+#    define BOOST_PP_SLOT_5_DIGIT_4 1\r
+# elif BOOST_PP_SLOT_TEMP_4 == 2\r
+#    define BOOST_PP_SLOT_5_DIGIT_4 2\r
+# elif BOOST_PP_SLOT_TEMP_4 == 3\r
+#    define BOOST_PP_SLOT_5_DIGIT_4 3\r
+# elif BOOST_PP_SLOT_TEMP_4 == 4\r
+#    define BOOST_PP_SLOT_5_DIGIT_4 4\r
+# elif BOOST_PP_SLOT_TEMP_4 == 5\r
+#    define BOOST_PP_SLOT_5_DIGIT_4 5\r
+# elif BOOST_PP_SLOT_TEMP_4 == 6\r
+#    define BOOST_PP_SLOT_5_DIGIT_4 6\r
+# elif BOOST_PP_SLOT_TEMP_4 == 7\r
+#    define BOOST_PP_SLOT_5_DIGIT_4 7\r
+# elif BOOST_PP_SLOT_TEMP_4 == 8\r
+#    define BOOST_PP_SLOT_5_DIGIT_4 8\r
+# elif BOOST_PP_SLOT_TEMP_4 == 9\r
+#    define BOOST_PP_SLOT_5_DIGIT_4 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_TEMP_3 == 0\r
+#    define BOOST_PP_SLOT_5_DIGIT_3 0\r
+# elif BOOST_PP_SLOT_TEMP_3 == 1\r
+#    define BOOST_PP_SLOT_5_DIGIT_3 1\r
+# elif BOOST_PP_SLOT_TEMP_3 == 2\r
+#    define BOOST_PP_SLOT_5_DIGIT_3 2\r
+# elif BOOST_PP_SLOT_TEMP_3 == 3\r
+#    define BOOST_PP_SLOT_5_DIGIT_3 3\r
+# elif BOOST_PP_SLOT_TEMP_3 == 4\r
+#    define BOOST_PP_SLOT_5_DIGIT_3 4\r
+# elif BOOST_PP_SLOT_TEMP_3 == 5\r
+#    define BOOST_PP_SLOT_5_DIGIT_3 5\r
+# elif BOOST_PP_SLOT_TEMP_3 == 6\r
+#    define BOOST_PP_SLOT_5_DIGIT_3 6\r
+# elif BOOST_PP_SLOT_TEMP_3 == 7\r
+#    define BOOST_PP_SLOT_5_DIGIT_3 7\r
+# elif BOOST_PP_SLOT_TEMP_3 == 8\r
+#    define BOOST_PP_SLOT_5_DIGIT_3 8\r
+# elif BOOST_PP_SLOT_TEMP_3 == 9\r
+#    define BOOST_PP_SLOT_5_DIGIT_3 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_TEMP_2 == 0\r
+#    define BOOST_PP_SLOT_5_DIGIT_2 0\r
+# elif BOOST_PP_SLOT_TEMP_2 == 1\r
+#    define BOOST_PP_SLOT_5_DIGIT_2 1\r
+# elif BOOST_PP_SLOT_TEMP_2 == 2\r
+#    define BOOST_PP_SLOT_5_DIGIT_2 2\r
+# elif BOOST_PP_SLOT_TEMP_2 == 3\r
+#    define BOOST_PP_SLOT_5_DIGIT_2 3\r
+# elif BOOST_PP_SLOT_TEMP_2 == 4\r
+#    define BOOST_PP_SLOT_5_DIGIT_2 4\r
+# elif BOOST_PP_SLOT_TEMP_2 == 5\r
+#    define BOOST_PP_SLOT_5_DIGIT_2 5\r
+# elif BOOST_PP_SLOT_TEMP_2 == 6\r
+#    define BOOST_PP_SLOT_5_DIGIT_2 6\r
+# elif BOOST_PP_SLOT_TEMP_2 == 7\r
+#    define BOOST_PP_SLOT_5_DIGIT_2 7\r
+# elif BOOST_PP_SLOT_TEMP_2 == 8\r
+#    define BOOST_PP_SLOT_5_DIGIT_2 8\r
+# elif BOOST_PP_SLOT_TEMP_2 == 9\r
+#    define BOOST_PP_SLOT_5_DIGIT_2 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_TEMP_1 == 0\r
+#    define BOOST_PP_SLOT_5_DIGIT_1 0\r
+# elif BOOST_PP_SLOT_TEMP_1 == 1\r
+#    define BOOST_PP_SLOT_5_DIGIT_1 1\r
+# elif BOOST_PP_SLOT_TEMP_1 == 2\r
+#    define BOOST_PP_SLOT_5_DIGIT_1 2\r
+# elif BOOST_PP_SLOT_TEMP_1 == 3\r
+#    define BOOST_PP_SLOT_5_DIGIT_1 3\r
+# elif BOOST_PP_SLOT_TEMP_1 == 4\r
+#    define BOOST_PP_SLOT_5_DIGIT_1 4\r
+# elif BOOST_PP_SLOT_TEMP_1 == 5\r
+#    define BOOST_PP_SLOT_5_DIGIT_1 5\r
+# elif BOOST_PP_SLOT_TEMP_1 == 6\r
+#    define BOOST_PP_SLOT_5_DIGIT_1 6\r
+# elif BOOST_PP_SLOT_TEMP_1 == 7\r
+#    define BOOST_PP_SLOT_5_DIGIT_1 7\r
+# elif BOOST_PP_SLOT_TEMP_1 == 8\r
+#    define BOOST_PP_SLOT_5_DIGIT_1 8\r
+# elif BOOST_PP_SLOT_TEMP_1 == 9\r
+#    define BOOST_PP_SLOT_5_DIGIT_1 9\r
+# endif\r
+#\r
+# if BOOST_PP_SLOT_5_DIGIT_10\r
+#    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)\r
+# elif BOOST_PP_SLOT_5_DIGIT_9\r
+#    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)\r
+# elif BOOST_PP_SLOT_5_DIGIT_8\r
+#    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)\r
+# elif BOOST_PP_SLOT_5_DIGIT_7\r
+#    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)\r
+# elif BOOST_PP_SLOT_5_DIGIT_6\r
+#    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)\r
+# elif BOOST_PP_SLOT_5_DIGIT_5\r
+#    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)\r
+# elif BOOST_PP_SLOT_5_DIGIT_4\r
+#    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)\r
+# elif BOOST_PP_SLOT_5_DIGIT_3\r
+#    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)\r
+# elif BOOST_PP_SLOT_5_DIGIT_2\r
+#    define BOOST_PP_SLOT_5() BOOST_PP_SLOT_CC_2(BOOST_PP_SLOT_5_DIGIT_2, BOOST_PP_SLOT_5_DIGIT_1)\r
+# else\r
+#    define BOOST_PP_SLOT_5() BOOST_PP_SLOT_5_DIGIT_1\r
+# endif\r
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 (file)
index 0000000..13127ee
--- /dev/null
@@ -0,0 +1,32 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_SLOT_SLOT_HPP\r
+# define BOOST_PREPROCESSOR_SLOT_SLOT_HPP\r
+#\r
+# include <boost/preprocessor/cat.hpp>\r
+# include <boost/preprocessor/slot/detail/def.hpp>\r
+#\r
+# /* BOOST_PP_ASSIGN_SLOT */\r
+#\r
+# define BOOST_PP_ASSIGN_SLOT(i) BOOST_PP_CAT(BOOST_PP_ASSIGN_SLOT_, i)\r
+#\r
+# define BOOST_PP_ASSIGN_SLOT_1 <boost/preprocessor/slot/detail/slot1.hpp>\r
+# define BOOST_PP_ASSIGN_SLOT_2 <boost/preprocessor/slot/detail/slot2.hpp>\r
+# define BOOST_PP_ASSIGN_SLOT_3 <boost/preprocessor/slot/detail/slot3.hpp>\r
+# define BOOST_PP_ASSIGN_SLOT_4 <boost/preprocessor/slot/detail/slot4.hpp>\r
+# define BOOST_PP_ASSIGN_SLOT_5 <boost/preprocessor/slot/detail/slot5.hpp>\r
+#\r
+# /* BOOST_PP_SLOT */\r
+#\r
+# define BOOST_PP_SLOT(i) BOOST_PP_CAT(BOOST_PP_SLOT_, i)()\r
+#\r
+# endif\r
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 (file)
index 0000000..db3127e
--- /dev/null
@@ -0,0 +1,33 @@
+# /* Copyright (C) 2001\r
+#  * Housemarque Oy\r
+#  * http://www.housemarque.com\r
+#  *\r
+#  * Distributed under the Boost Software License, Version 1.0. (See\r
+#  * accompanying file LICENSE_1_0.txt or copy at\r
+#  * http://www.boost.org/LICENSE_1_0.txt)\r
+#  */\r
+#\r
+# /* Revised by Paul Mensonides (2002) */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_STRINGIZE_HPP\r
+# define BOOST_PREPROCESSOR_STRINGIZE_HPP\r
+#\r
+# include <boost/preprocessor/config/config.hpp>\r
+#\r
+# /* BOOST_PP_STRINGIZE */\r
+#\r
+# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()\r
+#    define BOOST_PP_STRINGIZE(text) BOOST_PP_STRINGIZE_A((text))\r
+#    define BOOST_PP_STRINGIZE_A(arg) BOOST_PP_STRINGIZE_I arg\r
+# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()\r
+#    define BOOST_PP_STRINGIZE(text) BOOST_PP_STRINGIZE_OO((text))\r
+#    define BOOST_PP_STRINGIZE_OO(par) BOOST_PP_STRINGIZE_I ## par\r
+# else\r
+#    define BOOST_PP_STRINGIZE(text) BOOST_PP_STRINGIZE_I(text)\r
+# endif\r
+#\r
+# define BOOST_PP_STRINGIZE_I(text) #text\r
+#\r
+# endif\r
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 (file)
index 0000000..fb93491
--- /dev/null
@@ -0,0 +1,24 @@
+# /* Copyright (C) 2001\r
+#  * Housemarque Oy\r
+#  * http://www.housemarque.com\r
+#  *\r
+#  * Distributed under the Boost Software License, Version 1.0. (See\r
+#  * accompanying file LICENSE_1_0.txt or copy at\r
+#  * http://www.boost.org/LICENSE_1_0.txt)\r
+#  */\r
+#\r
+# /* Revised by Paul Mensonides (2002) */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_TUPLE_HPP\r
+# define BOOST_PREPROCESSOR_TUPLE_HPP\r
+#\r
+# include <boost/preprocessor/tuple/eat.hpp>\r
+# include <boost/preprocessor/tuple/elem.hpp>\r
+# include <boost/preprocessor/tuple/rem.hpp>\r
+# include <boost/preprocessor/tuple/reverse.hpp>\r
+# include <boost/preprocessor/tuple/to_list.hpp>\r
+# include <boost/preprocessor/tuple/to_seq.hpp>\r
+#\r
+# endif\r
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 (file)
index 0000000..44683d0
--- /dev/null
@@ -0,0 +1,57 @@
+# /* Copyright (C) 2001\r
+#  * Housemarque Oy\r
+#  * http://www.housemarque.com\r
+#  *\r
+#  * Distributed under the Boost Software License, Version 1.0. (See\r
+#  * accompanying file LICENSE_1_0.txt or copy at\r
+#  * http://www.boost.org/LICENSE_1_0.txt)\r
+#  */\r
+#\r
+# /* Revised by Paul Mensonides (2002) */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_TUPLE_EAT_HPP\r
+# define BOOST_PREPROCESSOR_TUPLE_EAT_HPP\r
+#\r
+# include <boost/preprocessor/config/config.hpp>\r
+#\r
+# /* BOOST_PP_TUPLE_EAT */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()\r
+#    define BOOST_PP_TUPLE_EAT(size) BOOST_PP_TUPLE_EAT_I(size)\r
+# else\r
+#    define BOOST_PP_TUPLE_EAT(size) BOOST_PP_TUPLE_EAT_OO((size))\r
+#    define BOOST_PP_TUPLE_EAT_OO(par) BOOST_PP_TUPLE_EAT_I ## par\r
+# endif\r
+#\r
+# define BOOST_PP_TUPLE_EAT_I(size) BOOST_PP_TUPLE_EAT_ ## size\r
+#\r
+# define BOOST_PP_TUPLE_EAT_0()\r
+# define BOOST_PP_TUPLE_EAT_1(a)\r
+# define BOOST_PP_TUPLE_EAT_2(a, b)\r
+# define BOOST_PP_TUPLE_EAT_3(a, b, c)\r
+# define BOOST_PP_TUPLE_EAT_4(a, b, c, d)\r
+# define BOOST_PP_TUPLE_EAT_5(a, b, c, d, e)\r
+# define BOOST_PP_TUPLE_EAT_6(a, b, c, d, e, f)\r
+# define BOOST_PP_TUPLE_EAT_7(a, b, c, d, e, f, g)\r
+# define BOOST_PP_TUPLE_EAT_8(a, b, c, d, e, f, g, h)\r
+# define BOOST_PP_TUPLE_EAT_9(a, b, c, d, e, f, g, h, i)\r
+# define BOOST_PP_TUPLE_EAT_10(a, b, c, d, e, f, g, h, i, j)\r
+# define BOOST_PP_TUPLE_EAT_11(a, b, c, d, e, f, g, h, i, j, k)\r
+# define BOOST_PP_TUPLE_EAT_12(a, b, c, d, e, f, g, h, i, j, k, l)\r
+# define BOOST_PP_TUPLE_EAT_13(a, b, c, d, e, f, g, h, i, j, k, l, m)\r
+# define BOOST_PP_TUPLE_EAT_14(a, b, c, d, e, f, g, h, i, j, k, l, m, n)\r
+# define BOOST_PP_TUPLE_EAT_15(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o)\r
+# define BOOST_PP_TUPLE_EAT_16(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p)\r
+# define BOOST_PP_TUPLE_EAT_17(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q)\r
+# define BOOST_PP_TUPLE_EAT_18(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r)\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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+#\r
+# endif\r
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 (file)
index 0000000..c301729
--- /dev/null
@@ -0,0 +1,385 @@
+# /* Copyright (C) 2001\r
+#  * Housemarque Oy\r
+#  * http://www.housemarque.com\r
+#  *\r
+#  * Distributed under the Boost Software License, Version 1.0. (See\r
+#  * accompanying file LICENSE_1_0.txt or copy at\r
+#  * http://www.boost.org/LICENSE_1_0.txt)\r
+#  */\r
+#\r
+# /* Revised by Paul Mensonides (2002) */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_TUPLE_ELEM_HPP\r
+# define BOOST_PREPROCESSOR_TUPLE_ELEM_HPP\r
+#\r
+# include <boost/preprocessor/config/config.hpp>\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()\r
+#    define BOOST_PP_TUPLE_ELEM(size, index, tuple) BOOST_PP_TUPLE_ELEM_I(size, index, tuple)\r
+# else\r
+#    define BOOST_PP_TUPLE_ELEM(size, index, tuple) BOOST_PP_TUPLE_ELEM_OO((size, index, tuple))\r
+#    define BOOST_PP_TUPLE_ELEM_OO(par) BOOST_PP_TUPLE_ELEM_I ## par\r
+# endif\r
+#\r
+# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()\r
+#    define BOOST_PP_TUPLE_ELEM_I(s, i, t) BOOST_PP_TUPLE_ELEM_ ## s ## _ ## i ## t\r
+# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()\r
+#    define BOOST_PP_TUPLE_ELEM_I(s, i, t) BOOST_PP_TUPLE_ELEM_II(BOOST_PP_TUPLE_ELEM_ ## s ## _ ## i t)\r
+#    define BOOST_PP_TUPLE_ELEM_II(res) res\r
+# else\r
+#    define BOOST_PP_TUPLE_ELEM_I(s, i, t) BOOST_PP_TUPLE_ELEM_ ## s ## _ ## i t\r
+# endif\r
+#\r
+# define BOOST_PP_TUPLE_ELEM_1_0(a) a\r
+#\r
+# define BOOST_PP_TUPLE_ELEM_2_0(a, b) a\r
+# define BOOST_PP_TUPLE_ELEM_2_1(a, b) b\r
+#\r
+# define BOOST_PP_TUPLE_ELEM_3_0(a, b, c) a\r
+# define BOOST_PP_TUPLE_ELEM_3_1(a, b, c) b\r
+# define BOOST_PP_TUPLE_ELEM_3_2(a, b, c) c\r
+#\r
+# define BOOST_PP_TUPLE_ELEM_4_0(a, b, c, d) a\r
+# define BOOST_PP_TUPLE_ELEM_4_1(a, b, c, d) b\r
+# define BOOST_PP_TUPLE_ELEM_4_2(a, b, c, d) c\r
+# define BOOST_PP_TUPLE_ELEM_4_3(a, b, c, d) d\r
+#\r
+# define BOOST_PP_TUPLE_ELEM_5_0(a, b, c, d, e) a\r
+# define BOOST_PP_TUPLE_ELEM_5_1(a, b, c, d, e) b\r
+# define BOOST_PP_TUPLE_ELEM_5_2(a, b, c, d, e) c\r
+# define BOOST_PP_TUPLE_ELEM_5_3(a, b, c, d, e) d\r
+# define BOOST_PP_TUPLE_ELEM_5_4(a, b, c, d, e) e\r
+#\r
+# define BOOST_PP_TUPLE_ELEM_6_0(a, b, c, d, e, f) a\r
+# define BOOST_PP_TUPLE_ELEM_6_1(a, b, c, d, e, f) b\r
+# define BOOST_PP_TUPLE_ELEM_6_2(a, b, c, d, e, f) c\r
+# define BOOST_PP_TUPLE_ELEM_6_3(a, b, c, d, e, f) d\r
+# define BOOST_PP_TUPLE_ELEM_6_4(a, b, c, d, e, f) e\r
+# define BOOST_PP_TUPLE_ELEM_6_5(a, b, c, d, e, f) f\r
+#\r
+# define BOOST_PP_TUPLE_ELEM_7_0(a, b, c, d, e, f, g) a\r
+# define BOOST_PP_TUPLE_ELEM_7_1(a, b, c, d, e, f, g) b\r
+# define BOOST_PP_TUPLE_ELEM_7_2(a, b, c, d, e, f, g) c\r
+# define BOOST_PP_TUPLE_ELEM_7_3(a, b, c, d, e, f, g) d\r
+# define BOOST_PP_TUPLE_ELEM_7_4(a, b, c, d, e, f, g) e\r
+# define BOOST_PP_TUPLE_ELEM_7_5(a, b, c, d, e, f, g) f\r
+# define BOOST_PP_TUPLE_ELEM_7_6(a, b, c, d, e, f, g) g\r
+#\r
+# define BOOST_PP_TUPLE_ELEM_8_0(a, b, c, d, e, f, g, h) a\r
+# define BOOST_PP_TUPLE_ELEM_8_1(a, b, c, d, e, f, g, h) b\r
+# define BOOST_PP_TUPLE_ELEM_8_2(a, b, c, d, e, f, g, h) c\r
+# define BOOST_PP_TUPLE_ELEM_8_3(a, b, c, d, e, f, g, h) d\r
+# define BOOST_PP_TUPLE_ELEM_8_4(a, b, c, d, e, f, g, h) e\r
+# define BOOST_PP_TUPLE_ELEM_8_5(a, b, c, d, e, f, g, h) f\r
+# define BOOST_PP_TUPLE_ELEM_8_6(a, b, c, d, e, f, g, h) g\r
+# define BOOST_PP_TUPLE_ELEM_8_7(a, b, c, d, e, f, g, h) h\r
+#\r
+# define BOOST_PP_TUPLE_ELEM_9_0(a, b, c, d, e, f, g, h, i) a\r
+# define BOOST_PP_TUPLE_ELEM_9_1(a, b, c, d, e, f, g, h, i) b\r
+# define BOOST_PP_TUPLE_ELEM_9_2(a, b, c, d, e, f, g, h, i) c\r
+# define BOOST_PP_TUPLE_ELEM_9_3(a, b, c, d, e, f, g, h, i) d\r
+# define BOOST_PP_TUPLE_ELEM_9_4(a, b, c, d, e, f, g, h, i) e\r
+# define BOOST_PP_TUPLE_ELEM_9_5(a, b, c, d, e, f, g, h, i) f\r
+# define BOOST_PP_TUPLE_ELEM_9_6(a, b, c, d, e, f, g, h, i) g\r
+# define BOOST_PP_TUPLE_ELEM_9_7(a, b, c, d, e, f, g, h, i) h\r
+# define BOOST_PP_TUPLE_ELEM_9_8(a, b, c, d, e, f, g, h, i) i\r
+#\r
+# define BOOST_PP_TUPLE_ELEM_10_0(a, b, c, d, e, f, g, h, i, j) a\r
+# define BOOST_PP_TUPLE_ELEM_10_1(a, b, c, d, e, f, g, h, i, j) b\r
+# define BOOST_PP_TUPLE_ELEM_10_2(a, b, c, d, e, f, g, h, i, j) c\r
+# define BOOST_PP_TUPLE_ELEM_10_3(a, b, c, d, e, f, g, h, i, j) d\r
+# define BOOST_PP_TUPLE_ELEM_10_4(a, b, c, d, e, f, g, h, i, j) e\r
+# define BOOST_PP_TUPLE_ELEM_10_5(a, b, c, d, e, f, g, h, i, j) f\r
+# define BOOST_PP_TUPLE_ELEM_10_6(a, b, c, d, e, f, g, h, i, j) g\r
+# define BOOST_PP_TUPLE_ELEM_10_7(a, b, c, d, e, f, g, h, i, j) h\r
+# define BOOST_PP_TUPLE_ELEM_10_8(a, b, c, d, e, f, g, h, i, j) i\r
+# define BOOST_PP_TUPLE_ELEM_10_9(a, b, c, d, e, f, g, h, i, j) j\r
+#\r
+# define BOOST_PP_TUPLE_ELEM_11_0(a, b, c, d, e, f, g, h, i, j, k) a\r
+# define BOOST_PP_TUPLE_ELEM_11_1(a, b, c, d, e, f, g, h, i, j, k) b\r
+# define BOOST_PP_TUPLE_ELEM_11_2(a, b, c, d, e, f, g, h, i, j, k) c\r
+# define BOOST_PP_TUPLE_ELEM_11_3(a, b, c, d, e, f, g, h, i, j, k) d\r
+# define BOOST_PP_TUPLE_ELEM_11_4(a, b, c, d, e, f, g, h, i, j, k) e\r
+# define BOOST_PP_TUPLE_ELEM_11_5(a, b, c, d, e, f, g, h, i, j, k) f\r
+# define BOOST_PP_TUPLE_ELEM_11_6(a, b, c, d, e, f, g, h, i, j, k) g\r
+# define BOOST_PP_TUPLE_ELEM_11_7(a, b, c, d, e, f, g, h, i, j, k) h\r
+# define BOOST_PP_TUPLE_ELEM_11_8(a, b, c, d, e, f, g, h, i, j, k) i\r
+# define BOOST_PP_TUPLE_ELEM_11_9(a, b, c, d, e, f, g, h, i, j, k) j\r
+# define BOOST_PP_TUPLE_ELEM_11_10(a, b, c, d, e, f, g, h, i, j, k) k\r
+#\r
+# define BOOST_PP_TUPLE_ELEM_12_0(a, b, c, d, e, f, g, h, i, j, k, l) a\r
+# define BOOST_PP_TUPLE_ELEM_12_1(a, b, c, d, e, f, g, h, i, j, k, l) b\r
+# define BOOST_PP_TUPLE_ELEM_12_2(a, b, c, d, e, f, g, h, i, j, k, l) c\r
+# define BOOST_PP_TUPLE_ELEM_12_3(a, b, c, d, e, f, g, h, i, j, k, l) d\r
+# define BOOST_PP_TUPLE_ELEM_12_4(a, b, c, d, e, f, g, h, i, j, k, l) e\r
+# define BOOST_PP_TUPLE_ELEM_12_5(a, b, c, d, e, f, g, h, i, j, k, l) f\r
+# define BOOST_PP_TUPLE_ELEM_12_6(a, b, c, d, e, f, g, h, i, j, k, l) g\r
+# define BOOST_PP_TUPLE_ELEM_12_7(a, b, c, d, e, f, g, h, i, j, k, l) h\r
+# define BOOST_PP_TUPLE_ELEM_12_8(a, b, c, d, e, f, g, h, i, j, k, l) i\r
+# define BOOST_PP_TUPLE_ELEM_12_9(a, b, c, d, e, f, g, h, i, j, k, l) j\r
+# define BOOST_PP_TUPLE_ELEM_12_10(a, b, c, d, e, f, g, h, i, j, k, l) k\r
+# define BOOST_PP_TUPLE_ELEM_12_11(a, b, c, d, e, f, g, h, i, j, k, l) l\r
+#\r
+# define BOOST_PP_TUPLE_ELEM_13_0(a, b, c, d, e, f, g, h, i, j, k, l, m) a\r
+# define BOOST_PP_TUPLE_ELEM_13_1(a, b, c, d, e, f, g, h, i, j, k, l, m) b\r
+# define BOOST_PP_TUPLE_ELEM_13_2(a, b, c, d, e, f, g, h, i, j, k, l, m) c\r
+# define BOOST_PP_TUPLE_ELEM_13_3(a, b, c, d, e, f, g, h, i, j, k, l, m) d\r
+# define BOOST_PP_TUPLE_ELEM_13_4(a, b, c, d, e, f, g, h, i, j, k, l, m) e\r
+# define BOOST_PP_TUPLE_ELEM_13_5(a, b, c, d, e, f, g, h, i, j, k, l, m) f\r
+# define BOOST_PP_TUPLE_ELEM_13_6(a, b, c, d, e, f, g, h, i, j, k, l, m) g\r
+# define BOOST_PP_TUPLE_ELEM_13_7(a, b, c, d, e, f, g, h, i, j, k, l, m) h\r
+# define BOOST_PP_TUPLE_ELEM_13_8(a, b, c, d, e, f, g, h, i, j, k, l, m) i\r
+# define BOOST_PP_TUPLE_ELEM_13_9(a, b, c, d, e, f, g, h, i, j, k, l, m) j\r
+# define BOOST_PP_TUPLE_ELEM_13_10(a, b, c, d, e, f, g, h, i, j, k, l, m) k\r
+# define BOOST_PP_TUPLE_ELEM_13_11(a, b, c, d, e, f, g, h, i, j, k, l, m) l\r
+# define BOOST_PP_TUPLE_ELEM_13_12(a, b, c, d, e, f, g, h, i, j, k, l, m) m\r
+#\r
+# define BOOST_PP_TUPLE_ELEM_14_0(a, b, c, d, e, f, g, h, i, j, k, l, m, n) a\r
+# define BOOST_PP_TUPLE_ELEM_14_1(a, b, c, d, e, f, g, h, i, j, k, l, m, n) b\r
+# define BOOST_PP_TUPLE_ELEM_14_2(a, b, c, d, e, f, g, h, i, j, k, l, m, n) c\r
+# define BOOST_PP_TUPLE_ELEM_14_3(a, b, c, d, e, f, g, h, i, j, k, l, m, n) d\r
+# define BOOST_PP_TUPLE_ELEM_14_4(a, b, c, d, e, f, g, h, i, j, k, l, m, n) e\r
+# define BOOST_PP_TUPLE_ELEM_14_5(a, b, c, d, e, f, g, h, i, j, k, l, m, n) f\r
+# define BOOST_PP_TUPLE_ELEM_14_6(a, b, c, d, e, f, g, h, i, j, k, l, m, n) g\r
+# define BOOST_PP_TUPLE_ELEM_14_7(a, b, c, d, e, f, g, h, i, j, k, l, m, n) h\r
+# define BOOST_PP_TUPLE_ELEM_14_8(a, b, c, d, e, f, g, h, i, j, k, l, m, n) i\r
+# define BOOST_PP_TUPLE_ELEM_14_9(a, b, c, d, e, f, g, h, i, j, k, l, m, n) j\r
+# define BOOST_PP_TUPLE_ELEM_14_10(a, b, c, d, e, f, g, h, i, j, k, l, m, n) k\r
+# define BOOST_PP_TUPLE_ELEM_14_11(a, b, c, d, e, f, g, h, i, j, k, l, m, n) l\r
+# define BOOST_PP_TUPLE_ELEM_14_12(a, b, c, d, e, f, g, h, i, j, k, l, m, n) m\r
+# define BOOST_PP_TUPLE_ELEM_14_13(a, b, c, d, e, f, g, h, i, j, k, l, m, n) n\r
+#\r
+# define BOOST_PP_TUPLE_ELEM_15_0(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) a\r
+# define BOOST_PP_TUPLE_ELEM_15_1(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) b\r
+# define BOOST_PP_TUPLE_ELEM_15_2(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) c\r
+# define BOOST_PP_TUPLE_ELEM_15_3(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) d\r
+# define BOOST_PP_TUPLE_ELEM_15_4(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) e\r
+# define BOOST_PP_TUPLE_ELEM_15_5(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) f\r
+# define BOOST_PP_TUPLE_ELEM_15_6(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) g\r
+# define BOOST_PP_TUPLE_ELEM_15_7(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) h\r
+# define BOOST_PP_TUPLE_ELEM_15_8(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) i\r
+# define BOOST_PP_TUPLE_ELEM_15_9(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) j\r
+# define BOOST_PP_TUPLE_ELEM_15_10(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) k\r
+# define BOOST_PP_TUPLE_ELEM_15_11(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) l\r
+# define BOOST_PP_TUPLE_ELEM_15_12(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) m\r
+# define BOOST_PP_TUPLE_ELEM_15_13(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) n\r
+# define BOOST_PP_TUPLE_ELEM_15_14(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) o\r
+#\r
+# define BOOST_PP_TUPLE_ELEM_16_0(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) a\r
+# define BOOST_PP_TUPLE_ELEM_16_1(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) b\r
+# define BOOST_PP_TUPLE_ELEM_16_2(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) c\r
+# define BOOST_PP_TUPLE_ELEM_16_3(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) d\r
+# define BOOST_PP_TUPLE_ELEM_16_4(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) e\r
+# define BOOST_PP_TUPLE_ELEM_16_5(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) f\r
+# define BOOST_PP_TUPLE_ELEM_16_6(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) g\r
+# define BOOST_PP_TUPLE_ELEM_16_7(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) h\r
+# define BOOST_PP_TUPLE_ELEM_16_8(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) i\r
+# define BOOST_PP_TUPLE_ELEM_16_9(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) j\r
+# define BOOST_PP_TUPLE_ELEM_16_10(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) k\r
+# define BOOST_PP_TUPLE_ELEM_16_11(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) l\r
+# define BOOST_PP_TUPLE_ELEM_16_12(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) m\r
+# define BOOST_PP_TUPLE_ELEM_16_13(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) n\r
+# define BOOST_PP_TUPLE_ELEM_16_14(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) o\r
+# define BOOST_PP_TUPLE_ELEM_16_15(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) p\r
+#\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+#\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\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\r
+#\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\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\r
+# 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\r
+#\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\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\r
+# 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\r
+# 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\r
+#\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\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\r
+# 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\r
+# 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\r
+# 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\r
+#\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+#\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+#\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+#\r
+# endif\r
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 (file)
index 0000000..93b1f3a
--- /dev/null
@@ -0,0 +1,72 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_TUPLE_REM_HPP\r
+# define BOOST_PREPROCESSOR_TUPLE_REM_HPP\r
+#\r
+# include <boost/preprocessor/config/config.hpp>\r
+#\r
+# /* BOOST_PP_TUPLE_REM */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()\r
+#    define BOOST_PP_TUPLE_REM(size) BOOST_PP_TUPLE_REM_I(size)\r
+# else\r
+#    define BOOST_PP_TUPLE_REM(size) BOOST_PP_TUPLE_REM_OO((size))\r
+#    define BOOST_PP_TUPLE_REM_OO(par) BOOST_PP_TUPLE_REM_I ## par\r
+# endif\r
+#\r
+# define BOOST_PP_TUPLE_REM_I(size) BOOST_PP_TUPLE_REM_ ## size\r
+#\r
+# define BOOST_PP_TUPLE_REM_0()\r
+# define BOOST_PP_TUPLE_REM_1(a) a\r
+# define BOOST_PP_TUPLE_REM_2(a, b) a, b\r
+# define BOOST_PP_TUPLE_REM_3(a, b, c) a, b, c\r
+# define BOOST_PP_TUPLE_REM_4(a, b, c, d) a, b, c, d\r
+# define BOOST_PP_TUPLE_REM_5(a, b, c, d, e) a, b, c, d, e\r
+# define BOOST_PP_TUPLE_REM_6(a, b, c, d, e, f) a, b, c, d, e, f\r
+# define BOOST_PP_TUPLE_REM_7(a, b, c, d, e, f, g) a, b, c, d, e, f, g\r
+# define BOOST_PP_TUPLE_REM_8(a, b, c, d, e, f, g, h) a, b, c, d, e, f, g, h\r
+# define BOOST_PP_TUPLE_REM_9(a, b, c, d, e, f, g, h, i) a, b, c, d, e, f, g, h, i\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+# 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\r
+#\r
+# /* BOOST_PP_TUPLE_REM_CTOR */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()\r
+#    define BOOST_PP_TUPLE_REM_CTOR(size, tuple) BOOST_PP_TUPLE_REM_CTOR_I(BOOST_PP_TUPLE_REM(size), tuple)\r
+# else\r
+#    define BOOST_PP_TUPLE_REM_CTOR(size, tuple) BOOST_PP_TUPLE_REM_CTOR_D(size, tuple)\r
+#    define BOOST_PP_TUPLE_REM_CTOR_D(size, tuple) BOOST_PP_TUPLE_REM_CTOR_I(BOOST_PP_TUPLE_REM(size), tuple)\r
+# endif\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()\r
+#    define BOOST_PP_TUPLE_REM_CTOR_I(ext, tuple) ext tuple\r
+# else\r
+#    define BOOST_PP_TUPLE_REM_CTOR_I(ext, tuple) BOOST_PP_TUPLE_REM_CTOR_OO((ext, tuple))\r
+#    define BOOST_PP_TUPLE_REM_CTOR_OO(par) BOOST_PP_TUPLE_REM_CTOR_II ## par\r
+#    define BOOST_PP_TUPLE_REM_CTOR_II(ext, tuple) ext ## tuple\r
+# endif\r
+#\r
+# endif\r
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 (file)
index 0000000..563e237
--- /dev/null
@@ -0,0 +1,62 @@
+# /* Copyright (C) 2001\r
+#  * Housemarque Oy\r
+#  * http://www.housemarque.com\r
+#  *\r
+#  * Distributed under the Boost Software License, Version 1.0. (See\r
+#  * accompanying file LICENSE_1_0.txt or copy at\r
+#  * http://www.boost.org/LICENSE_1_0.txt)\r
+#  */\r
+#\r
+# /* Revised by Paul Mensonides (2002) */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_TUPLE_REVERSE_HPP\r
+# define BOOST_PREPROCESSOR_TUPLE_REVERSE_HPP\r
+#\r
+# include <boost/preprocessor/config/config.hpp>\r
+#\r
+# /* BOOST_PP_TUPLE_REVERSE */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()\r
+#    define BOOST_PP_TUPLE_REVERSE(size, tuple) BOOST_PP_TUPLE_REVERSE_I(size, tuple)\r
+#    if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()\r
+#        define BOOST_PP_TUPLE_REVERSE_I(s, t) BOOST_PP_TUPLE_REVERSE_ ## s t\r
+#    else\r
+#        define BOOST_PP_TUPLE_REVERSE_I(s, t) BOOST_PP_TUPLE_REVERSE_II(BOOST_PP_TUPLE_REVERSE_ ## s t)\r
+#        define BOOST_PP_TUPLE_REVERSE_II(res) res\r
+#    endif\r
+# else\r
+#    define BOOST_PP_TUPLE_REVERSE(size, tuple) BOOST_PP_TUPLE_REVERSE_OO((size, tuple))\r
+#    define BOOST_PP_TUPLE_REVERSE_OO(par) BOOST_PP_TUPLE_REVERSE_I ## par\r
+#    define BOOST_PP_TUPLE_REVERSE_I(s, t) BOOST_PP_TUPLE_REVERSE_ ## s ## t\r
+# endif\r
+#\r
+# define BOOST_PP_TUPLE_REVERSE_0() ()\r
+# define BOOST_PP_TUPLE_REVERSE_1(a) (a)\r
+# define BOOST_PP_TUPLE_REVERSE_2(a, b) (b, a)\r
+# define BOOST_PP_TUPLE_REVERSE_3(a, b, c) (c, b, a)\r
+# define BOOST_PP_TUPLE_REVERSE_4(a, b, c, d) (d, c, b, a)\r
+# define BOOST_PP_TUPLE_REVERSE_5(a, b, c, d, e) (e, d, c, b, a)\r
+# define BOOST_PP_TUPLE_REVERSE_6(a, b, c, d, e, f) (f, e, d, c, b, a)\r
+# define BOOST_PP_TUPLE_REVERSE_7(a, b, c, d, e, f, g) (g, f, e, d, c, b, a)\r
+# define BOOST_PP_TUPLE_REVERSE_8(a, b, c, d, e, f, g, h) (h, g, f, e, d, c, b, a)\r
+# define BOOST_PP_TUPLE_REVERSE_9(a, b, c, d, e, f, g, h, i) (i, h, g, f, e, d, c, b, a)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+#\r
+# endif\r
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 (file)
index 0000000..6c4a5f4
--- /dev/null
@@ -0,0 +1,62 @@
+# /* Copyright (C) 2001\r
+#  * Housemarque Oy\r
+#  * http://www.housemarque.com\r
+#  *\r
+#  * Distributed under the Boost Software License, Version 1.0. (See\r
+#  * accompanying file LICENSE_1_0.txt or copy at\r
+#  * http://www.boost.org/LICENSE_1_0.txt)\r
+#  */\r
+#\r
+# /* Revised by Paul Mensonides (2002) */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_TUPLE_TO_LIST_HPP\r
+# define BOOST_PREPROCESSOR_TUPLE_TO_LIST_HPP\r
+#\r
+# include <boost/preprocessor/config/config.hpp>\r
+#\r
+# /* BOOST_PP_TUPLE_TO_LIST */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()\r
+#    define BOOST_PP_TUPLE_TO_LIST(size, tuple) BOOST_PP_TUPLE_TO_LIST_I(size, tuple)\r
+#    if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()\r
+#        define BOOST_PP_TUPLE_TO_LIST_I(s, t) BOOST_PP_TUPLE_TO_LIST_ ## s t\r
+#    else\r
+#        define BOOST_PP_TUPLE_TO_LIST_I(s, t) BOOST_PP_TUPLE_TO_LIST_II(BOOST_PP_TUPLE_TO_LIST_ ## s t)\r
+#        define BOOST_PP_TUPLE_TO_LIST_II(res) res\r
+#    endif\r
+# else\r
+#    define BOOST_PP_TUPLE_TO_LIST(size, tuple) BOOST_PP_TUPLE_TO_LIST_OO((size, tuple))\r
+#    define BOOST_PP_TUPLE_TO_LIST_OO(par) BOOST_PP_TUPLE_TO_LIST_I ## par\r
+#    define BOOST_PP_TUPLE_TO_LIST_I(s, t) BOOST_PP_TUPLE_TO_LIST_ ## s ## t\r
+# endif\r
+#\r
+# define BOOST_PP_TUPLE_TO_LIST_0() BOOST_PP_NIL\r
+# define BOOST_PP_TUPLE_TO_LIST_1(a) (a, BOOST_PP_NIL)\r
+# define BOOST_PP_TUPLE_TO_LIST_2(a, b) (a, (b, BOOST_PP_NIL))\r
+# define BOOST_PP_TUPLE_TO_LIST_3(a, b, c) (a, (b, (c, BOOST_PP_NIL)))\r
+# define BOOST_PP_TUPLE_TO_LIST_4(a, b, c, d) (a, (b, (c, (d, BOOST_PP_NIL))))\r
+# define BOOST_PP_TUPLE_TO_LIST_5(a, b, c, d, e) (a, (b, (c, (d, (e, BOOST_PP_NIL)))))\r
+# define BOOST_PP_TUPLE_TO_LIST_6(a, b, c, d, e, f) (a, (b, (c, (d, (e, (f, BOOST_PP_NIL))))))\r
+# define BOOST_PP_TUPLE_TO_LIST_7(a, b, c, d, e, f, g) (a, (b, (c, (d, (e, (f, (g, BOOST_PP_NIL)))))))\r
+# 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))))))))\r
+# 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)))))))))\r
+# 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))))))))))\r
+# 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)))))))))))\r
+# 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))))))))))))\r
+# 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)))))))))))))\r
+# 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))))))))))))))\r
+# 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)))))))))))))))\r
+# 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))))))))))))))))\r
+# 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)))))))))))))))))\r
+# 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))))))))))))))))))\r
+# 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)))))))))))))))))))\r
+# 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))))))))))))))))))))\r
+# 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)))))))))))))))))))))\r
+# 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))))))))))))))))))))))\r
+# 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)))))))))))))))))))))))\r
+# 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))))))))))))))))))))))))\r
+# 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)))))))))))))))))))))))))\r
+#\r
+# endif\r
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 (file)
index 0000000..efb421f
--- /dev/null
@@ -0,0 +1,60 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_TUPLE_TO_SEQ_HPP\r
+# define BOOST_PREPROCESSOR_TUPLE_TO_SEQ_HPP\r
+#\r
+# include <boost/preprocessor/config/config.hpp>\r
+#\r
+# /* BOOST_PP_TUPLE_TO_SEQ */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()\r
+#    define BOOST_PP_TUPLE_TO_SEQ(size, tuple) BOOST_PP_TUPLE_TO_SEQ_I(size, tuple)\r
+#    if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()\r
+#        define BOOST_PP_TUPLE_TO_SEQ_I(s, t) BOOST_PP_TUPLE_TO_SEQ_ ## s t\r
+#    else\r
+#        define BOOST_PP_TUPLE_TO_SEQ_I(s, t) BOOST_PP_TUPLE_TO_SEQ_II(BOOST_PP_TUPLE_TO_SEQ_ ## s t)\r
+#        define BOOST_PP_TUPLE_TO_SEQ_II(res) res\r
+#    endif\r
+# else\r
+#    define BOOST_PP_TUPLE_TO_SEQ(size, tuple) BOOST_PP_TUPLE_TO_SEQ_OO((size, tuple))\r
+#    define BOOST_PP_TUPLE_TO_SEQ_OO(par) BOOST_PP_TUPLE_TO_SEQ_I ## par\r
+#    define BOOST_PP_TUPLE_TO_SEQ_I(s, t) BOOST_PP_TUPLE_TO_SEQ_ ## s ## t\r
+# endif\r
+#\r
+# define BOOST_PP_TUPLE_TO_SEQ_0()\r
+# define BOOST_PP_TUPLE_TO_SEQ_1(a) (a)\r
+# define BOOST_PP_TUPLE_TO_SEQ_2(a, b) (a)(b)\r
+# define BOOST_PP_TUPLE_TO_SEQ_3(a, b, c) (a)(b)(c)\r
+# define BOOST_PP_TUPLE_TO_SEQ_4(a, b, c, d) (a)(b)(c)(d)\r
+# define BOOST_PP_TUPLE_TO_SEQ_5(a, b, c, d, e) (a)(b)(c)(d)(e)\r
+# define BOOST_PP_TUPLE_TO_SEQ_6(a, b, c, d, e, f) (a)(b)(c)(d)(e)(f)\r
+# define BOOST_PP_TUPLE_TO_SEQ_7(a, b, c, d, e, f, g) (a)(b)(c)(d)(e)(f)(g)\r
+# define BOOST_PP_TUPLE_TO_SEQ_8(a, b, c, d, e, f, g, h) (a)(b)(c)(d)(e)(f)(g)(h)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+# 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)\r
+#\r
+# endif\r
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 (file)
index 0000000..5cf06ce
--- /dev/null
@@ -0,0 +1,17 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_WHILE_HPP\r
+# define BOOST_PREPROCESSOR_WHILE_HPP\r
+#\r
+# include <boost/preprocessor/control/while.hpp>\r
+#\r
+# endif\r
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 (file)
index 0000000..126b43e
--- /dev/null
@@ -0,0 +1,29 @@
+# /* **************************************************************************\r
+#  *                                                                          *\r
+#  *     (C) Copyright Paul Mensonides 2002.\r
+#  *     Distributed under the Boost Software License, Version 1.0. (See\r
+#  *     accompanying file LICENSE_1_0.txt or copy at\r
+#  *     http://www.boost.org/LICENSE_1_0.txt)\r
+#  *                                                                          *\r
+#  ************************************************************************** */\r
+#\r
+# /* See http://www.boost.org for most recent version. */\r
+#\r
+# ifndef BOOST_PREPROCESSOR_WSTRINGIZE_HPP\r
+# define BOOST_PREPROCESSOR_WSTRINGIZE_HPP\r
+#\r
+# include <boost/preprocessor/config/config.hpp>\r
+#\r
+# /* BOOST_PP_WSTRINGIZE */\r
+#\r
+# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()\r
+#    define BOOST_PP_WSTRINGIZE(text) BOOST_PP_WSTRINGIZE_I(text)\r
+# else\r
+#    define BOOST_PP_WSTRINGIZE(text) BOOST_PP_WSTRINGIZE_OO((text))\r
+#    define BOOST_PP_WSTRINGIZE_OO(par) BOOST_PP_WSTRINGIZE_I ## par\r
+# endif\r
+#\r
+# define BOOST_PP_WSTRINGIZE_I(text) BOOST_PP_WSTRINGIZE_II(#text)\r
+# define BOOST_PP_WSTRINGIZE_II(str) L ## str\r
+#\r
+# endif\r
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 (file)
index 0000000..26dce90
--- /dev/null
@@ -0,0 +1,25 @@
+// Copyright Vladimir Prus 2002.\r
+// Distributed under the Boost Software License, Version 1.0. (See\r
+// accompanying file LICENSE_1_0.txt or copy at\r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+//  See www.boost.org/libs/program_options for documentation.\r
+\r
+#ifndef PROGRAM_OPTIONS_VP_2003_05_19\r
+#define PROGRAM_OPTIONS_VP_2003_05_19\r
+\r
+#if _MSC_VER >= 1020\r
+#pragma once\r
+#endif\r
+\r
+#include <boost/program_options/options_description.hpp>\r
+#include <boost/program_options/positional_options.hpp>\r
+#include <boost/program_options/parsers.hpp>\r
+#include <boost/program_options/variables_map.hpp>\r
+#include <boost/program_options/cmdline.hpp>\r
+#include <boost/program_options/errors.hpp>\r
+#include <boost/program_options/option.hpp>\r
+#include <boost/program_options/value_semantic.hpp>\r
+#include <boost/program_options/version.hpp>\r
+\r
+#endif\r
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 (file)
index 0000000..926d2c0
--- /dev/null
@@ -0,0 +1,90 @@
+// Copyright Vladimir Prus 2004.\r
+// Distributed under the Boost Software License, Version 1.0.\r
+// (See accompanying file LICENSE_1_0.txt\r
+// or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+#ifndef BOOST_CMDLINE_HPP_VP_2004_03_13\r
+#define BOOST_CMDLINE_HPP_VP_2004_03_13\r
+\r
+namespace boost { namespace program_options { namespace command_line_style {\r
+    /** Various possible styles of options.\r
+        \r
+    There are "long" options, which start with "--" and "short",\r
+    which start with either "-" or "/". Both kinds can be allowed or\r
+    disallowed, see allow_long and allow_short. The allowed character\r
+    for short options is also configurable.\r
+\r
+    Option's value can be specified in the same token as name\r
+    ("--foo=bar"), or in the next token.\r
+\r
+    It's possible to introduce long options by the same character as\r
+    short options, see allow_long_disguise.\r
+\r
+    Finally, guessing (specifying only prefix of option) and case\r
+    insensitive processing are supported.\r
+    */\r
+    enum style_t {\r
+        /// Allow "--long_name" style\r
+        allow_long = 1,\r
+        /// Allow "-<single character" style\r
+        allow_short = allow_long << 1,\r
+        /// Allow "-" in short options\r
+        allow_dash_for_short = allow_short << 1,\r
+        /// Allow "/" in short options\r
+        allow_slash_for_short = allow_dash_for_short << 1,\r
+        /** Allow option parameter in the same token\r
+            for long option, like in\r
+            @verbatim\r
+            --foo=10\r
+            @endverbatim\r
+        */\r
+        long_allow_adjacent = allow_slash_for_short << 1,\r
+        /** Allow option parameter in the next token for\r
+            long options. */\r
+        long_allow_next = long_allow_adjacent << 1,\r
+        /** Allow option parameter in the same token for\r
+            short options. */\r
+        short_allow_adjacent = long_allow_next << 1,\r
+        /** Allow option parameter in the next token for\r
+            short options. */\r
+        short_allow_next = short_allow_adjacent << 1,\r
+        /** Allow to merge several short options together,\r
+            so that "-s -k" become "-sk". All of the options\r
+            but last should accept no parameter. For example, if\r
+            "-s" accept a parameter, then "k" will be taken as\r
+            parameter, not another short option. \r
+            Dos-style short options cannot be sticky.\r
+        */\r
+        allow_sticky = short_allow_next << 1,\r
+        /** Allow abbreviated spellings for long options,\r
+            if they unambiguously identify long option. \r
+            No long option name should be prefix of other \r
+            long option name if guessing is in effect.\r
+        */\r
+        allow_guessing = allow_sticky << 1,\r
+        /** Ignore the difference in case for long options.\r
+        */            \r
+        long_case_insensitive = allow_guessing << 1,        \r
+        /** Ignore the difference in case for short options.\r
+        */            \r
+        short_case_insensitive = long_case_insensitive << 1,\r
+        /** Ignore the difference in case for all options.\r
+        */        \r
+        case_insensitive = (long_case_insensitive | short_case_insensitive),        \r
+        /** Allow long options with single option starting character,\r
+            e.g <tt>-foo=10</tt>\r
+        */\r
+        allow_long_disguise = short_case_insensitive << 1,\r
+        /** The more-or-less traditional unix style. */\r
+        unix_style = (allow_short | short_allow_adjacent | short_allow_next\r
+                      | allow_long | long_allow_adjacent | long_allow_next\r
+                      | allow_sticky | allow_guessing \r
+                      | allow_dash_for_short),\r
+        /** The default style. */\r
+        default_style = unix_style\r
+    };\r
+}}}\r
+\r
+\r
+#endif\r
+\r
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 (file)
index 0000000..48bda83
--- /dev/null
@@ -0,0 +1,55 @@
+//    Copyright (c) 2004 Hartmut Kaiser\r
+//\r
+//    Use, modification and distribution is subject to the Boost Software\r
+//    License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//    http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+#ifndef BOOST_PROGRAM_OPTIONS_CONFIG_HK_2004_01_11\r
+#define BOOST_PROGRAM_OPTIONS_CONFIG_HK_2004_01_11\r
+\r
+#include <boost/config.hpp>\r
+#include <boost/version.hpp>\r
+\r
+// Support for autolinking.\r
+#if BOOST_VERSION >= 103100   // works beginning from Boost V1.31.0\r
+\r
+///////////////////////////////////////////////////////////////////////////////\r
+// enable automatic library variant selection \r
+#if !defined(BOOST_PROGRAM_OPTIONS_SOURCE) && !defined(BOOST_ALL_NO_LIB) && \\r
+    !defined(BOOST_PROGRAM_OPTIONS_NO_LIB)\r
+\r
+// Set the name of our library, this will get undef'ed by auto_link.hpp\r
+// once it's done with it:\r
+#define BOOST_LIB_NAME boost_program_options\r
+// tell the auto-link code to select a dll when required:\r
+#if defined(BOOST_ALL_DYN_LINK) || defined(BOOST_PROGRAM_OPTIONS_DYN_LINK)\r
+#  define BOOST_DYN_LINK\r
+#endif\r
+\r
+// And include the header that does the work:\r
+#include <boost/config/auto_link.hpp>\r
+\r
+#endif  // auto-linking disabled\r
+\r
+#endif  // BOOST_VERSION\r
+\r
+///////////////////////////////////////////////////////////////////////////////\r
+// Windows DLL suport\r
+#ifdef BOOST_HAS_DECLSPEC\r
+#if defined(BOOST_ALL_DYN_LINK) || defined(BOOST_PROGRAM_OPTIONS_DYN_LINK)\r
+// export if this is our own source, otherwise import:\r
+#ifdef BOOST_PROGRAM_OPTIONS_SOURCE\r
+# define BOOST_PROGRAM_OPTIONS_DECL __declspec(dllexport)\r
+#else\r
+# define BOOST_PROGRAM_OPTIONS_DECL __declspec(dllimport)\r
+#endif  // BOOST_PROGRAM_OPTIONS_SOURCE\r
+#endif  // DYN_LINK\r
+#endif  // BOOST_HAS_DECLSPEC\r
+\r
+#ifndef BOOST_PROGRAM_OPTIONS_DECL\r
+#define BOOST_PROGRAM_OPTIONS_DECL\r
+#endif\r
+\r
+\r
+#endif // PROGRAM_OPTIONS_CONFIG_HK_2004_01_11\r
+\r
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 (file)
index 0000000..9265fe6
--- /dev/null
@@ -0,0 +1,138 @@
+// Copyright Vladimir Prus 2002-2004.\r
+// Distributed under the Boost Software License, Version 1.0.\r
+// (See accompanying file LICENSE_1_0.txt\r
+// or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+\r
+#ifndef BOOST_CMDLINE_VP_2003_05_19\r
+#define BOOST_CMDLINE_VP_2003_05_19\r
+\r
+#include <boost/program_options/config.hpp>\r
+#include <boost/program_options/errors.hpp>\r
+#include <boost/program_options/cmdline.hpp>\r
+#include <boost/program_options/option.hpp>\r
+#include <boost/program_options/options_description.hpp>\r
+#include <boost/program_options/positional_options.hpp>\r
+\r
+\r
+#include <boost/detail/workaround.hpp>\r
+\r
+#include <boost/function.hpp>\r
+\r
+#include <string>\r
+#include <vector>\r
+\r
+namespace boost { namespace program_options { namespace detail {\r
+\r
+    /** Command line parser class. Main requirements were:\r
+        - Powerful enough to support all common uses.\r
+        - Simple and easy to learn/use.\r
+        - Minimal code size and external dependencies.\r
+        - Extensible for custom syntaxes.\r
+\r
+        First all options are registered. After that, elements of command line\r
+        are extracted using operator++. \r
+\r
+        For each element, user can find\r
+        - if it's an option or an argument\r
+        - name of the option\r
+        - index of the option\r
+        - option value(s), if any\r
+        \r
+        Sometimes the registered option name is not equal to the encountered\r
+        one, for example, because name abbreviation is supported.  Therefore\r
+        two option names can be obtained: \r
+        - the registered one \r
+        - the one found at the command line\r
+\r
+        There are lot of style options, which can be used to tune the command\r
+        line parsing. In addition, it's possible to install additional parser\r
+        which will process custom option styles.\r
+\r
+        @todo mininal match length for guessing?\r
+    */\r
+    class BOOST_PROGRAM_OPTIONS_DECL cmdline {\r
+    public:\r
+\r
+        typedef ::boost::program_options::command_line_style::style_t style_t;\r
+\r
+        typedef function1<std::pair<std::string, std::string>, \r
+                          const std::string&> \r
+            additional_parser;\r
+\r
+        typedef function1<std::vector<option>, std::vector<std::string>&>\r
+            style_parser;\r
+        \r
+        /** Constructs a command line parser for (argc, argv) pair. Uses\r
+            style options passed in 'style', which should be binary or'ed values\r
+            of style_t enum. It can also be zero, in which case a "default"\r
+            style will be used. If 'allow_unregistered' is true, then allows \r
+            unregistered options. They will be assigned index 1 and are\r
+            assumed to have optional parameter.\r
+        */\r
+        cmdline(const std::vector<std::string>& args);\r
+\r
+        /** @overload */\r
+        cmdline(int argc, const char*const * argv);\r
+\r
+        void style(int style);\r
+        void allow_unregistered();\r
+\r
+        void set_options_description(const options_description& desc);\r
+        void set_positional_options(\r
+            const positional_options_description& m_positional);\r
+\r
+        std::vector<option> run();\r
+\r
+        std::vector<option> parse_long_option(std::vector<std::string>& args);\r
+        std::vector<option> parse_short_option(std::vector<std::string>& args);\r
+        std::vector<option> parse_dos_option(std::vector<std::string>& args);\r
+        std::vector<option> parse_disguised_long_option(\r
+            std::vector<std::string>& args);\r
+        std::vector<option> parse_terminator(\r
+            std::vector<std::string>& args);\r
+        std::vector<option> handle_additional_parser(\r
+            std::vector<std::string>& args);\r
+\r
+\r
+        /** Set additional parser. This will be called for each token\r
+            of command line. If first string in pair is not empty,\r
+            then the token is considered matched by this parser,\r
+            and the first string will be considered an option name\r
+            (which can be long or short), while the second will be\r
+            option's parameter (if not empty). \r
+            Note that additional parser can match only one token.\r
+        */\r
+        void set_additional_parser(additional_parser p);\r
+\r
+        void extra_style_parser(style_parser s);\r
+\r
+        void check_style(int style) const;\r
+        \r
+        bool is_style_active(style_t style) const;\r
+\r
+        void init(const std::vector<std::string>& args);\r
+\r
+        void\r
+        finish_option(option& opt,\r
+                      std::vector<std::string>& other_tokens,\r
+                      const std::vector<style_parser>& style_parsers);\r
+\r
+        // Copies of input.\r
+        std::vector<std::string> args;\r
+        style_t m_style;\r
+        bool m_allow_unregistered;\r
+\r
+        const options_description* m_desc;\r
+        const positional_options_description* m_positional;\r
+\r
+        additional_parser m_additional_parser;\r
+        style_parser m_style_parser;\r
+    };\r
+    \r
+    void test_cmdline_detail();\r
+    \r
+}}}\r
+\r
+#endif\r
+\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/program_options/detail/config_file.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/program_options/detail/config_file.hpp
new file mode 100644 (file)
index 0000000..2186602
--- /dev/null
@@ -0,0 +1,182 @@
+// Copyright Vladimir Prus 2002-2004.\r
+// Distributed under the Boost Software License, Version 1.0.\r
+// (See accompanying file LICENSE_1_0.txt\r
+// or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+\r
+#ifndef BOOST_CONFIG_FILE_VP_2003_01_02\r
+#define BOOST_CONFIG_FILE_VP_2003_01_02\r
+\r
+#include <iosfwd>\r
+#include <string>\r
+#include <set>\r
+\r
+#include <boost/noncopyable.hpp>\r
+#include <boost/program_options/config.hpp>\r
+#include <boost/program_options/option.hpp>\r
+#include <boost/program_options/eof_iterator.hpp>\r
+\r
+#include <boost/detail/workaround.hpp>\r
+#if BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3202))\r
+#include <boost/program_options/detail/convert.hpp>\r
+#endif\r
+\r
+#if BOOST_WORKAROUND(__DECCXX_VER, BOOST_TESTED_AT(60590042))\r
+#include <istream> // std::getline\r
+#endif\r
+\r
+#include <boost/static_assert.hpp>\r
+#include <boost/type_traits/is_same.hpp>\r
+#include <boost/shared_ptr.hpp>\r
+\r
+\r
+\r
+namespace boost { namespace program_options { namespace detail {\r
+\r
+    /** Standalone parser for config files in ini-line format.\r
+        The parser is a model of single-pass lvalue iterator, and\r
+        default constructor creates past-the-end-iterator. The typical usage is:\r
+        config_file_iterator i(is, ... set of options ...), e;\r
+        for(; i !=e; ++i) {\r
+            *i;\r
+        }\r
+        \r
+        Syntax conventions:\r
+\r
+        - config file can not contain positional options\r
+        - '#' is comment character: it is ignored together with\r
+          the rest of the line.\r
+        - variable assignments are in the form\r
+          name '=' value.\r
+          spaces around '=' are trimmed.\r
+        - Section names are given in brackets. \r
+\r
+         The actual option name is constructed by combining current section\r
+         name and specified option name, with dot between. If section_name \r
+         already contains dot at the end, new dot is not inserted. For example:\r
+         @verbatim\r
+         [gui.accessibility]\r
+         visual_bell=yes\r
+         @endverbatim\r
+         will result in option "gui.accessibility.visual_bell" with value\r
+         "yes" been returned.\r
+\r
+         TODO: maybe, we should just accept a pointer to options_description\r
+         class.\r
+     */    \r
+    class common_config_file_iterator \r
+        : public eof_iterator<common_config_file_iterator, option>\r
+    {\r
+    public:\r
+        common_config_file_iterator() { found_eof(); }\r
+        common_config_file_iterator(\r
+            const std::set<std::string>& allowed_options,\r
+            bool allow_unregistered = false);\r
+\r
+        virtual ~common_config_file_iterator() {}\r
+\r
+    public: // Method required by eof_iterator\r
+        \r
+        void get();\r
+        \r
+    protected: // Stubs for derived classes\r
+\r
+        // Obtains next line from the config file\r
+        // Note: really, this design is a bit ugly\r
+        // The most clean thing would be to pass 'line_iterator' to\r
+        // constructor of this class, but to avoid templating this class\r
+        // we'd need polymorphic iterator, which does not exist yet.\r
+        virtual bool getline(std::string&) { return false; }\r
+        \r
+    private:\r
+        /** Adds another allowed option. If the 'name' ends with\r
+            '*', then all options with the same prefix are\r
+            allowed. For example, if 'name' is 'foo*', then 'foo1' and\r
+            'foo_bar' are allowed. */\r
+        void add_option(const char* name);\r
+\r
+        // Returns true if 's' is a registered option name.\r
+        bool allowed_option(const std::string& s) const; \r
+\r
+        // That's probably too much data for iterator, since\r
+        // it will be copied, but let's not bother for now.\r
+        std::set<std::string> allowed_options;\r
+        // Invariant: no element is prefix of other element.\r
+        std::set<std::string> allowed_prefixes;\r
+        std::string m_prefix;\r
+        bool m_allow_unregistered;\r
+    };\r
+\r
+    template<class charT>\r
+    class basic_config_file_iterator : public common_config_file_iterator {\r
+    public:\r
+        basic_config_file_iterator()\r
+        {\r
+            found_eof();\r
+        }\r
+\r
+        /** Creates a config file parser for the specified stream.            \r
+        */\r
+        basic_config_file_iterator(std::basic_istream<charT>& is, \r
+                                   const std::set<std::string>& allowed_options,\r
+                                   bool allow_unregistered = false); \r
+\r
+    private: // base overrides\r
+\r
+        bool getline(std::string&);\r
+\r
+    private: // internal data\r
+        shared_ptr<std::basic_istream<charT> > is;\r
+    };\r
+    \r
+    typedef basic_config_file_iterator<char> config_file_iterator;\r
+    typedef basic_config_file_iterator<wchar_t> wconfig_file_iterator;\r
+\r
+\r
+    struct null_deleter\r
+    {\r
+        void operator()(void const *) const {}\r
+    };\r
+\r
+\r
+    template<class charT>\r
+    basic_config_file_iterator<charT>::\r
+    basic_config_file_iterator(std::basic_istream<charT>& is, \r
+                               const std::set<std::string>& allowed_options,\r
+                               bool allow_unregistered)\r
+    : common_config_file_iterator(allowed_options, allow_unregistered)\r
+    {\r
+        this->is.reset(&is, null_deleter());                 \r
+        get();\r
+    }\r
+\r
+    // Specializing this function for wchar_t causes problems on\r
+    // borland and vc7, as well as on metrowerks. On the first two\r
+    // I don't know a workaround, so make use of 'to_internal' to\r
+    // avoid specialization.\r
+    template<class charT>\r
+    bool\r
+    basic_config_file_iterator<charT>::getline(std::string& s)\r
+    {\r
+        std::basic_string<charT> in;\r
+        if (std::getline(*is, in)) {\r
+            s = to_internal(in);\r
+            return true;\r
+        } else {\r
+            return false;\r
+        }\r
+    }\r
+\r
+    // Specialization is needed to workaround getline bug on Comeau.\r
+#if BOOST_WORKAROUND(__COMO_VERSION__, BOOST_TESTED_AT(4303)) || \\r
+        (defined(__sgi) && BOOST_WORKAROUND(_COMPILER_VERSION, BOOST_TESTED_AT(741)))\r
+    template<>\r
+    bool\r
+    basic_config_file_iterator<wchar_t>::getline(std::string& s);\r
+#endif\r
+\r
+    \r
+\r
+}}}\r
+\r
+#endif\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/program_options/detail/convert.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/program_options/detail/convert.hpp
new file mode 100644 (file)
index 0000000..8b8ab26
--- /dev/null
@@ -0,0 +1,107 @@
+// Copyright Vladimir Prus 2004.\r
+// Distributed under the Boost Software License, Version 1.0.\r
+// (See accompanying file LICENSE_1_0.txt\r
+// or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+#ifndef BOOST_CONVERT_HPP_VP_2004_04_28\r
+#define BOOST_CONVERT_HPP_VP_2004_04_28\r
+\r
+#include <boost/program_options/config.hpp>\r
+\r
+#if !defined(BOOST_NO_STD_WSTRING)\r
+\r
+#include <boost/detail/workaround.hpp>\r
+\r
+#include <string>\r
+#include <vector>\r
+#include <locale>\r
+// for mbstate_t\r
+#include <cwchar>\r
+#include <stdexcept>\r
+\r
+#if defined(BOOST_NO_STDC_NAMESPACE)\r
+#include <wchar.h>\r
+namespace std\r
+{\r
+    using ::mbstate_t;\r
+}    \r
+#endif\r
+\r
+namespace boost {\r
+\r
+    /** Converts from local 8 bit encoding into wchar_t string using\r
+        the specified locale facet. */\r
+    BOOST_PROGRAM_OPTIONS_DECL std::wstring \r
+    from_8_bit(const std::string& s, \r
+               const std::codecvt<wchar_t, char, std::mbstate_t>& cvt);\r
+\r
+    /** Converts from wchar_t string into local 8 bit encoding into using\r
+        the specified locale facet. */\r
+    BOOST_PROGRAM_OPTIONS_DECL std::string \r
+    to_8_bit(const std::wstring& s, \r
+             const std::codecvt<wchar_t, char, std::mbstate_t>& cvt);\r
+\r
+\r
+    /** Converts 's', which is assumed to be in UTF8 encoding, into wide\r
+        string. */\r
+    BOOST_PROGRAM_OPTIONS_DECL std::wstring\r
+    from_utf8(const std::string& s);\r
+    \r
+    /** Converts wide string 's' into string in UTF8 encoding. */\r
+    BOOST_PROGRAM_OPTIONS_DECL std::string\r
+    to_utf8(const std::wstring& s);\r
+\r
+    /** Converts wide string 's' into local 8 bit encoding determined by\r
+        the current locale. */\r
+    BOOST_PROGRAM_OPTIONS_DECL std::string\r
+    to_local_8_bit(const std::wstring& s);\r
+\r
+    /** Converts 's', which is assumed to be in local 8 bit encoding, into wide\r
+        string. */\r
+    BOOST_PROGRAM_OPTIONS_DECL std::wstring\r
+    from_local_8_bit(const std::string& s);\r
+\r
+    namespace program_options\r
+    {\r
+        /** Convert the input string into internal encoding used by\r
+            program_options. Presence of this function allows to avoid\r
+            specializing all methods which access input on wchar_t.\r
+        */\r
+        BOOST_PROGRAM_OPTIONS_DECL std::string to_internal(const std::string&);\r
+        /** @overload */\r
+        BOOST_PROGRAM_OPTIONS_DECL std::string to_internal(const std::wstring&);\r
+\r
+        template<class T>\r
+        std::vector<std::string> to_internal(const std::vector<T>& s)\r
+        {\r
+            std::vector<std::string> result;\r
+            for (unsigned i = 0; i < s.size(); ++i)\r
+                result.push_back(to_internal(s[i]));            \r
+            return result;\r
+        }\r
+\r
+    }\r
+\r
+\r
+  \r
+}\r
+\r
+#else\r
+#include <vector>\r
+#include <string>\r
+namespace boost{\r
+   namespace program_options{\r
+        BOOST_PROGRAM_OPTIONS_DECL std::string to_internal(const std::string&);\r
+\r
+        template<class T>\r
+        std::vector<std::string> to_internal(const std::vector<T>& s)\r
+        {\r
+            std::vector<std::string> result;\r
+            for (unsigned i = 0; i < s.size(); ++i)\r
+                result.push_back(to_internal(s[i]));            \r
+            return result;\r
+        }\r
+   }\r
+}\r
+#endif\r
+#endif\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/program_options/detail/parsers.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/program_options/detail/parsers.hpp
new file mode 100644 (file)
index 0000000..5168ec6
--- /dev/null
@@ -0,0 +1,146 @@
+// Copyright Vladimir Prus 2004.\r
+// Distributed under the Boost Software License, Version 1.0.\r
+// (See accompanying file LICENSE_1_0.txt\r
+// or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+#ifndef BOOST_PARSERS_HPP_VP_2004_05_06\r
+#define BOOST_PARSERS_HPP_VP_2004_05_06\r
+\r
+#include <boost/program_options/detail/convert.hpp>\r
+\r
+#include <iterator>\r
+\r
+namespace boost { namespace program_options {\r
+\r
+    namespace detail {\r
+        template<class charT, class Iterator>\r
+        std::vector<std::basic_string<charT> > \r
+        make_vector(Iterator i, Iterator e)\r
+        {\r
+            std::vector<std::basic_string<charT> > result;\r
+            // Some compilers don't have templated constructor for \r
+            // vector, so we can't create vector from (argv+1, argv+argc) range\r
+            for(; i != e; ++i)\r
+                result.push_back(*i);\r
+            return result;            \r
+        }\r
+    }\r
+\r
+    template<class charT>\r
+    basic_command_line_parser<charT>::\r
+    basic_command_line_parser(const std::vector<\r
+                              std::basic_string<charT> >& args)\r
+       : detail::cmdline(to_internal(args))\r
+    {}\r
+\r
+\r
+    template<class charT>\r
+    basic_command_line_parser<charT>::\r
+    basic_command_line_parser(int argc, charT* argv[])\r
+    : detail::cmdline(\r
+        // Explicit template arguments are required by gcc 3.3.1 \r
+        // (at least mingw version), and do no harm on other compilers.\r
+        to_internal(detail::make_vector<charT, charT**>(argv+1, argv+argc+!argc)))\r
+    {}\r
+\r
+    \r
+    template<class charT>\r
+    basic_command_line_parser<charT>& \r
+    basic_command_line_parser<charT>::options(const options_description& desc)\r
+    {\r
+       detail::cmdline::set_options_description(desc);\r
+        m_desc = &desc;\r
+        return *this;\r
+    }\r
+\r
+    template<class charT>\r
+    basic_command_line_parser<charT>& \r
+    basic_command_line_parser<charT>::positional(\r
+        const positional_options_description& desc)\r
+    {\r
+        detail::cmdline::set_positional_options(desc);\r
+        return *this;\r
+    }\r
+\r
+    template<class charT>\r
+    basic_command_line_parser<charT>& \r
+    basic_command_line_parser<charT>::style(int style)\r
+    {\r
+        detail::cmdline::style(style);\r
+        return *this;\r
+    }\r
+\r
+    template<class charT>\r
+    basic_command_line_parser<charT>& \r
+    basic_command_line_parser<charT>::extra_parser(ext_parser ext)\r
+    {\r
+        detail::cmdline::set_additional_parser(ext);\r
+        return *this;\r
+    }\r
+\r
+    template<class charT>\r
+    basic_command_line_parser<charT>& \r
+    basic_command_line_parser<charT>::allow_unregistered()\r
+    {\r
+        detail::cmdline::allow_unregistered();\r
+        return *this;\r
+    }\r
+\r
+    template<class charT>\r
+    basic_command_line_parser<charT>& \r
+    basic_command_line_parser<charT>::extra_style_parser(style_parser s)\r
+    {\r
+        detail::cmdline::extra_style_parser(s);\r
+        return *this;\r
+    }\r
+\r
+\r
+\r
+    template<class charT>    \r
+    basic_parsed_options<charT>\r
+    basic_command_line_parser<charT>::run()\r
+    {\r
+        parsed_options result(m_desc);\r
+        result.options = detail::cmdline::run();\r
+\r
+        // Presense of parsed_options -> wparsed_options conversion\r
+        // does the trick.\r
+        return basic_parsed_options<charT>(result);\r
+    }\r
+\r
+\r
+    template<class charT>\r
+    basic_parsed_options<charT>\r
+    parse_command_line(int argc, charT* argv[],\r
+                       const options_description& desc,\r
+                       int style,\r
+                       function1<std::pair<std::string, std::string>, \r
+                                 const std::string&> ext)\r
+    {\r
+        return basic_command_line_parser<charT>(argc, argv).options(desc).\r
+            style(style).extra_parser(ext).run();\r
+    }\r
+\r
+    template<class charT>\r
+    std::vector< std::basic_string<charT> > \r
+    collect_unrecognized(const std::vector< basic_option<charT> >& options,\r
+                         enum collect_unrecognized_mode mode)\r
+    {\r
+        std::vector< std::basic_string<charT> >  result;\r
+        for(unsigned i = 0; i < options.size(); ++i)\r
+        {\r
+            if (options[i].unregistered ||\r
+                (mode == include_positional && options[i].position_key != -1))\r
+            {\r
+                copy(options[i].original_tokens.begin(),\r
+                     options[i].original_tokens.end(),\r
+                     back_inserter(result));\r
+            }\r
+        }\r
+        return result;\r
+    }\r
+\r
+\r
+}}\r
+\r
+#endif\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/program_options/detail/utf8_codecvt_facet.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/program_options/detail/utf8_codecvt_facet.hpp
new file mode 100644 (file)
index 0000000..ed2ec03
--- /dev/null
@@ -0,0 +1,25 @@
+// Copyright (c) 2001 Ronald Garcia, Indiana University (garcia@osl.iu.edu)\r
+// Andrew Lumsdaine, Indiana University (lums@osl.iu.edu). Permission to copy, \r
+// use, modify, sell and distribute this software is granted provided this\r
+// copyright notice appears in all copies. This software is provided "as is"\r
+// without express or implied warranty, and with no claim as to its suitability\r
+// for any purpose.\r
+\r
+#ifndef BOOST_PROGRAM_OPTIONS_UTF8_CODECVT_FACET_HPP\r
+#define BOOST_PROGRAM_OPTIONS_UTF8_CODECVT_FACET_HPP\r
+\r
+#include <boost/program_options/config.hpp>\r
+\r
+#define BOOST_UTF8_BEGIN_NAMESPACE \\r
+     namespace boost { namespace program_options { namespace detail {\r
+\r
+#define BOOST_UTF8_END_NAMESPACE }}}\r
+#define BOOST_UTF8_DECL BOOST_PROGRAM_OPTIONS_DECL\r
+\r
+#include <boost/detail/utf8_codecvt_facet.hpp>\r
+\r
+#undef BOOST_UTF8_BEGIN_NAMESPACE\r
+#undef BOOST_UTF8_END_NAMESPACE\r
+#undef BOOST_UTF8_DECL\r
+\r
+#endif\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/program_options/detail/value_semantic.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/program_options/detail/value_semantic.hpp
new file mode 100644 (file)
index 0000000..137094a
--- /dev/null
@@ -0,0 +1,207 @@
+// Copyright Vladimir Prus 2004.\r
+// Distributed under the Boost Software License, Version 1.0.\r
+// (See accompanying file LICENSE_1_0.txt\r
+// or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+// This file defines template functions that are declared in\r
+// ../value_semantic.hpp.\r
+\r
+#include <boost/throw_exception.hpp>\r
+\r
+namespace boost { namespace program_options { \r
+\r
+    extern BOOST_PROGRAM_OPTIONS_DECL std::string arg;\r
+    \r
+    template<class T, class charT>\r
+    std::string\r
+    typed_value<T, charT>::name() const\r
+    {\r
+        if (!m_implicit_value.empty() && !m_implicit_value_as_text.empty()) {\r
+            std::string msg = "[=arg(=" + m_implicit_value_as_text + ")]";\r
+            if (!m_default_value.empty() && !m_default_value_as_text.empty())\r
+                msg += " (=" + m_default_value_as_text + ")";\r
+            return msg;\r
+        }\r
+        else if (!m_default_value.empty() && !m_default_value_as_text.empty()) {\r
+            return arg + " (=" + m_default_value_as_text + ")";\r
+        } else {\r
+            return arg;\r
+        }\r
+    }\r
+\r
+    template<class T, class charT>\r
+    void \r
+    typed_value<T, charT>::notify(const boost::any& value_store) const\r
+    {\r
+        const T* value = boost::any_cast<T>(&value_store);\r
+        if (m_store_to) {\r
+            *m_store_to = *value;\r
+        }\r
+        if (m_notifier) {\r
+            m_notifier(*value);\r
+        }\r
+    }\r
+\r
+    namespace validators {\r
+        /* If v.size() > 1, throw validation_error. \r
+           If v.size() == 1, return v.front()\r
+           Otherwise, returns a reference to a statically allocated\r
+           empty string if 'allow_empty' and throws validation_error\r
+           otherwise. */\r
+        template<class charT>\r
+        const std::basic_string<charT>& get_single_string(\r
+            const std::vector<std::basic_string<charT> >& v, \r
+            bool allow_empty = false)\r
+        {\r
+            static std::basic_string<charT> empty;\r
+            if (v.size() > 1)\r
+                boost::throw_exception(validation_error(validation_error::multiple_values_not_allowed));\r
+            else if (v.size() == 1)\r
+                return v.front();\r
+            else if (!allow_empty)\r
+                boost::throw_exception(validation_error(validation_error::at_least_one_value_required));\r
+            return empty;\r
+        }\r
+\r
+        /* Throws multiple_occurrences if 'value' is not empty. */\r
+        BOOST_PROGRAM_OPTIONS_DECL void \r
+        check_first_occurrence(const boost::any& value);\r
+    }\r
+\r
+    using namespace validators;\r
+\r
+    /** Validates 's' and updates 'v'.\r
+        @pre 'v' is either empty or in the state assigned by the previous\r
+        invocation of 'validate'.\r
+        The target type is specified via a parameter which has the type of \r
+        pointer to the desired type. This is workaround for compilers without\r
+        partial template ordering, just like the last 'long/int' parameter.\r
+    */\r
+    template<class T, class charT>\r
+    void validate(boost::any& v, \r
+                  const std::vector< std::basic_string<charT> >& xs, \r
+                  T*, long)\r
+    {\r
+        validators::check_first_occurrence(v);\r
+        std::basic_string<charT> s(validators::get_single_string(xs));\r
+        try {\r
+            v = any(lexical_cast<T>(s));\r
+        }\r
+        catch(const bad_lexical_cast&) {\r
+            boost::throw_exception(invalid_option_value(s));\r
+        }\r
+    }\r
+\r
+    BOOST_PROGRAM_OPTIONS_DECL void validate(boost::any& v, \r
+                       const std::vector<std::string>& xs, \r
+                       bool*,\r
+                       int);\r
+\r
+#if !defined(BOOST_NO_STD_WSTRING)\r
+    BOOST_PROGRAM_OPTIONS_DECL void validate(boost::any& v, \r
+                       const std::vector<std::wstring>& xs, \r
+                       bool*,\r
+                       int);\r
+#endif\r
+    // For some reason, this declaration, which is require by the standard,\r
+    // cause gcc 3.2 to not generate code to specialization defined in\r
+    // value_semantic.cpp\r
+#if ! ( ( BOOST_WORKAROUND(__GNUC__, <= 3) &&\\r
+          BOOST_WORKAROUND(__GNUC_MINOR__, < 3) ) || \\r
+        ( BOOST_WORKAROUND(BOOST_MSVC, == 1310) ) \\r
+      ) \r
+    BOOST_PROGRAM_OPTIONS_DECL void validate(boost::any& v, \r
+                       const std::vector<std::string>& xs,\r
+                       std::string*,\r
+                       int);\r
+\r
+#if !defined(BOOST_NO_STD_WSTRING)\r
+    BOOST_PROGRAM_OPTIONS_DECL void validate(boost::any& v, \r
+                       const std::vector<std::wstring>& xs,\r
+                       std::string*,\r
+                       int);\r
+#endif\r
+#endif\r
+\r
+    /** Validates sequences. Allows multiple values per option occurrence\r
+       and multiple occurrences. */\r
+    template<class T, class charT>\r
+    void validate(boost::any& v, \r
+                  const std::vector<std::basic_string<charT> >& s, \r
+                  std::vector<T>*,\r
+                  int)\r
+    {\r
+        if (v.empty()) {\r
+            v = boost::any(std::vector<T>());\r
+        }\r
+        std::vector<T>* tv = boost::any_cast< std::vector<T> >(&v);\r
+        assert(NULL != tv);\r
+        for (unsigned i = 0; i < s.size(); ++i)\r
+        {\r
+            try {\r
+                /* We call validate so that if user provided\r
+                   a validator for class T, we use it even\r
+                   when parsing vector<T>.  */\r
+                boost::any a;\r
+                std::vector<std::basic_string<charT> > v;\r
+                v.push_back(s[i]);\r
+                validate(a, v, (T*)0, 0);                \r
+                tv->push_back(boost::any_cast<T>(a));\r
+            }\r
+            catch(const bad_lexical_cast& /*e*/) {\r
+                boost::throw_exception(invalid_option_value(s[i]));\r
+            }\r
+        }\r
+    }\r
+\r
+    template<class T, class charT>\r
+    void \r
+    typed_value<T, charT>::\r
+    xparse(boost::any& value_store, \r
+           const std::vector<std::basic_string<charT> >& new_tokens) const\r
+    {\r
+        // If no tokens were given, and the option accepts an implicit\r
+        // value, then assign the implicit value as the stored value;\r
+        // otherwise, validate the user-provided token(s).\r
+        if (new_tokens.empty() && !m_implicit_value.empty())\r
+            value_store = m_implicit_value;\r
+        else\r
+            validate(value_store, new_tokens, (T*)0, 0);\r
+    }\r
+\r
+    template<class T>\r
+    typed_value<T>*\r
+    value()\r
+    {\r
+        // Explicit qualification is vc6 workaround.\r
+        return boost::program_options::value<T>(0);\r
+    }\r
+\r
+    template<class T>\r
+    typed_value<T>*\r
+    value(T* v)\r
+    {\r
+        typed_value<T>* r = new typed_value<T>(v);\r
+\r
+        return r;        \r
+    }\r
+\r
+    template<class T>\r
+    typed_value<T, wchar_t>*\r
+    wvalue()\r
+    {\r
+        return wvalue<T>(0);\r
+    }\r
+\r
+    template<class T>\r
+    typed_value<T, wchar_t>*\r
+    wvalue(T* v)\r
+    {\r
+        typed_value<T, wchar_t>* r = new typed_value<T, wchar_t>(v);\r
+\r
+        return r;        \r
+    }\r
+\r
+\r
+\r
+}}\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/program_options/environment_iterator.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/program_options/environment_iterator.hpp
new file mode 100644 (file)
index 0000000..5ccea43
--- /dev/null
@@ -0,0 +1,51 @@
+// Copyright Vladimir Prus 2004.\r
+// Distributed under the Boost Software License, Version 1.0.\r
+// (See accompanying file LICENSE_1_0.txt\r
+// or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+#ifndef BOOST_ENVIRONMENT_ITERATOR_VP_2004_05_14\r
+#define BOOST_ENVIRONMENT_ITERATOR_VP_2004_05_14\r
+\r
+#include "eof_iterator.hpp"\r
+\r
+#include <utility>\r
+#include <string>\r
+#include <cassert>\r
+\r
+namespace boost {\r
+\r
+    class environment_iterator \r
+        : public eof_iterator<environment_iterator, \r
+                              std::pair<std::string, std::string> >\r
+    {\r
+    public:\r
+        environment_iterator(char** environment)\r
+        : m_environment(environment)\r
+        {\r
+            get();\r
+        }\r
+        \r
+        environment_iterator()\r
+        {\r
+            found_eof();\r
+        }\r
+        \r
+        void get()\r
+        {\r
+            if (*m_environment == 0)\r
+                found_eof();\r
+            else {\r
+                std::string s(*m_environment);\r
+                std::string::size_type n = s.find('=');\r
+                assert(n != s.npos);\r
+                value().first = s.substr(0, n);\r
+                value().second = s.substr(n+1);\r
+            }            \r
+            ++m_environment;\r
+        }\r
+        \r
+    private:\r
+        char** m_environment;\r
+    };\r
+}\r
+#endif\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/program_options/eof_iterator.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/program_options/eof_iterator.hpp
new file mode 100644 (file)
index 0000000..408c847
--- /dev/null
@@ -0,0 +1,97 @@
+// Copyright Vladimir Prus 2004.\r
+// Distributed under the Boost Software License, Version 1.0.\r
+// (See accompanying file LICENSE_1_0.txt\r
+// or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+#ifndef BOOST_EOF_ITERATOR_VP_2004_03_12\r
+#define BOOST_EOF_ITERATOR_VP_2004_03_12\r
+\r
+#include <boost/iterator/iterator_facade.hpp>\r
+\r
+namespace boost {\r
+\r
+    /** The 'eof_iterator' class is useful for constructing forward iterators \r
+        in cases where iterator extract data from some source and it's easy \r
+        to detect 'eof' -- i.e. the situation where there's no data. One \r
+        apparent example is reading lines from a file.\r
+        \r
+        Implementing such iterators using 'iterator_facade' directly would\r
+        require to create class with three core operation, a couple of \r
+        constructors. When using 'eof_iterator', the derived class should define \r
+        only one method to get new value, plus a couple of constructors.\r
+\r
+        The basic idea is that iterator has 'eof' bit. Two iterators are equal \r
+        only if both have their 'eof' bits set. The 'get' method either obtains\r
+        the new value or sets the 'eof' bit.\r
+\r
+        Specifically, derived class should define:\r
+\r
+        1. A default constructor, which creates iterator with 'eof' bit set. The\r
+        constructor body should call 'found_eof' method defined here.\r
+        2. Some other constructor. It should initialize some 'data pointer' used\r
+        in iterator operation and then call 'get'.\r
+        3. The 'get' method. It should operate this way:\r
+            - look at some 'data pointer' to see if new element is available;\r
+              if not, it should call 'found_eof'.\r
+            - extract new element and store it at location returned by the 'value' \r
+               method.\r
+            - advance the data pointer.\r
+\r
+        Essentially, the 'get' method has the functionality of both 'increment' \r
+        and 'dereference'. It's very good for the cases where data extraction \r
+        implicitly moves data pointer, like for stream operation.         \r
+    */\r
+    template<class Derived, class ValueType>\r
+    class eof_iterator : public iterator_facade<Derived, const ValueType,\r
+                                                forward_traversal_tag>\r
+    {\r
+    public:\r
+        eof_iterator()\r
+        : m_at_eof(false)\r
+        {}\r
+\r
+    protected: // interface for derived\r
+\r
+        /** Returns the reference which should be used by derived\r
+            class to store the next value. */\r
+        ValueType& value()\r
+        {\r
+            return m_value;\r
+        }\r
+\r
+        /** Should be called by derived class to indicate that it can't\r
+            produce next element. */\r
+        void found_eof()\r
+        {\r
+            m_at_eof = true;\r
+        }\r
+        \r
+\r
+    private: // iterator core operations\r
+        friend class iterator_core_access;\r
+    \r
+        void increment() \r
+        {\r
+            static_cast<Derived&>(*this).get();\r
+        }\r
+    \r
+        bool equal(const eof_iterator& other) const\r
+        {\r
+            if (m_at_eof && other.m_at_eof)\r
+                return true;\r
+            else\r
+                return false;\r
+        }\r
+        \r
+        const ValueType& dereference() const\r
+        {\r
+            return m_value;\r
+        }\r
+\r
+        bool m_at_eof;\r
+        ValueType m_value;        \r
+    };\r
+}\r
+\r
+#endif\r
+\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/program_options/errors.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/program_options/errors.hpp
new file mode 100644 (file)
index 0000000..04b0b6d
--- /dev/null
@@ -0,0 +1,236 @@
+// Copyright Vladimir Prus 2002-2004.\r
+// Distributed under the Boost Software License, Version 1.0.\r
+// (See accompanying file LICENSE_1_0.txt\r
+// or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+\r
+#ifndef BOOST_ERRORS_VP_2003_01_02\r
+#define BOOST_ERRORS_VP_2003_01_02\r
+\r
+#include <boost/program_options/config.hpp>\r
+\r
+#include <string>\r
+#include <stdexcept>\r
+#include <vector>\r
+\r
+\r
+\r
+namespace boost { namespace program_options {\r
+\r
+    /** Base class for all errors in the library. */\r
+    class BOOST_PROGRAM_OPTIONS_DECL error : public std::logic_error {\r
+    public:\r
+        error(const std::string& what) : std::logic_error(what) {}\r
+    };\r
+\r
+    class BOOST_PROGRAM_OPTIONS_DECL invalid_syntax : public error {\r
+    public:\r
+        enum kind_t {\r
+            long_not_allowed = 30,\r
+            long_adjacent_not_allowed,\r
+            short_adjacent_not_allowed,\r
+            empty_adjacent_parameter,\r
+            missing_parameter,\r
+            extra_parameter,\r
+            unrecognized_line\r
+        };\r
+        \r
+        invalid_syntax(const std::string& tokens, kind_t kind);\r
+\r
+        // gcc says that throw specification on dtor is loosened\r
+        // without this line\r
+        ~invalid_syntax() throw() {}\r
+        \r
+        kind_t kind() const;\r
+        \r
+        const std::string& tokens() const;\r
+        \r
+    protected:\r
+        /** Used to convert kind_t to a related error text */\r
+        static std::string error_message(kind_t kind);\r
+\r
+    private:\r
+        // TODO: copy ctor might throw\r
+        std::string m_tokens;\r
+\r
+        kind_t m_kind;\r
+    };\r
+\r
+    /** Class thrown when option name is not recognized. */\r
+    class BOOST_PROGRAM_OPTIONS_DECL unknown_option : public error {\r
+    public:\r
+        unknown_option(const std::string& name)\r
+        : error(std::string("unknown option ").append(name)), \r
+          m_option_name(name)\r
+        {}\r
+\r
+        // gcc says that throw specification on dtor is loosened\r
+        // without this line\r
+        ~unknown_option() throw() {}\r
+        \r
+        const std::string& get_option_name() const throw();\r
+        \r
+    private:\r
+        std::string m_option_name;\r
+    };\r
+\r
+    /** Class thrown when there's ambiguity amoung several possible options. */\r
+    class BOOST_PROGRAM_OPTIONS_DECL ambiguous_option : public error {\r
+    public:\r
+        ambiguous_option(const std::string& name, \r
+                         const std::vector<std::string>& alternatives)\r
+        : error(std::string("ambiguous option ").append(name))\r
+        , m_alternatives(alternatives)\r
+        , m_option_name(name)\r
+        {}\r
+\r
+        ~ambiguous_option() throw() {}\r
+        \r
+        const std::string& get_option_name() const throw();\r
+        \r
+        const std::vector<std::string>& alternatives() const throw();\r
+\r
+    private:\r
+        // TODO: copy ctor might throw\r
+        std::vector<std::string> m_alternatives;\r
+        std::string m_option_name;\r
+    };\r
+\r
+    /** Class thrown when there are several option values, but\r
+        user called a method which cannot return them all. */\r
+    class BOOST_PROGRAM_OPTIONS_DECL multiple_values : public error {\r
+    public:\r
+        multiple_values() \r
+         : error("multiple values")\r
+         , m_option_name() {}\r
+         \r
+        ~multiple_values() throw() {}\r
+        \r
+        void set_option_name(const std::string& option);\r
+        \r
+        const std::string& get_option_name() const throw();\r
+        \r
+    private:\r
+        std::string m_option_name; // The name of the option which\r
+                                   // caused the exception.        \r
+    };\r
+\r
+    /** Class thrown when there are several occurrences of an\r
+        option, but user called a method which cannot return \r
+        them all. */\r
+    class BOOST_PROGRAM_OPTIONS_DECL multiple_occurrences : public error {\r
+    public:\r
+        multiple_occurrences() \r
+         : error("multiple occurrences")\r
+         , m_option_name() {}\r
+         \r
+        ~multiple_occurrences() throw() {}\r
+        \r
+        void set_option_name(const std::string& option);\r
+        \r
+        const std::string& get_option_name() const throw();\r
+\r
+    private:        \r
+        std::string m_option_name; // The name of the option which\r
+                                   // caused the exception.\r
+    };\r
+\r
+    /** Class thrown when value of option is incorrect. */\r
+    class BOOST_PROGRAM_OPTIONS_DECL validation_error : public error {\r
+    public:\r
+        enum kind_t {\r
+            multiple_values_not_allowed = 30,\r
+            at_least_one_value_required, \r
+            invalid_bool_value,\r
+            invalid_option_value,\r
+            invalid_option\r
+        };\r
+        \r
+        validation_error(kind_t kind, \r
+                         const std::string& option_value = "",\r
+                         const std::string& option_name = "");\r
+                         \r
+        ~validation_error() throw() {}\r
+\r
+        void set_option_name(const std::string& option);\r
+        \r
+        const std::string& get_option_name() const throw();\r
+        \r
+        const char* what() const throw();\r
+        \r
+    protected:\r
+        /** Used to convert kind_t to a related error text */\r
+        static std::string error_message(kind_t kind);\r
+\r
+    private:\r
+        kind_t m_kind;\r
+        std::string m_option_name; // The name of the option which\r
+                                   // caused the exception.\r
+        std::string m_option_value; // Optional: value of the option m_options_name\r
+        mutable std::string m_message; // For on-demand formatting in 'what'\r
+\r
+    };\r
+\r
+    /** Class thrown if there is an invalid option value givenn */\r
+    class BOOST_PROGRAM_OPTIONS_DECL invalid_option_value \r
+        : public validation_error\r
+    {\r
+    public:\r
+        invalid_option_value(const std::string& value);\r
+#ifndef BOOST_NO_STD_WSTRING\r
+        invalid_option_value(const std::wstring& value);\r
+#endif\r
+    };\r
+\r
+    /** Class thrown when there are too many positional options. \r
+        This is a programming error.\r
+    */\r
+    class BOOST_PROGRAM_OPTIONS_DECL too_many_positional_options_error : public error {\r
+    public:\r
+        too_many_positional_options_error() \r
+         : error("too many positional options") \r
+        {}\r
+    };\r
+\r
+    /** Class thrown when there are syntax errors in given command line */\r
+    class BOOST_PROGRAM_OPTIONS_DECL invalid_command_line_syntax : public invalid_syntax {\r
+    public:\r
+        invalid_command_line_syntax(const std::string& tokens, kind_t kind);\r
+    };\r
+\r
+    /** Class thrown when there are programming error related to style */\r
+    class BOOST_PROGRAM_OPTIONS_DECL invalid_command_line_style : public error {\r
+    public:\r
+        invalid_command_line_style(const std::string& msg)\r
+        : error(msg)\r
+        {}\r
+    };\r
+\r
+    /** Class thrown if config file can not be read */\r
+    class BOOST_PROGRAM_OPTIONS_DECL reading_file : public error {\r
+    public:\r
+        reading_file(const char* filename)\r
+         : error(std::string("can not read file ").append(filename))\r
+        {}\r
+    };\r
+    \r
+     /** Class thrown when a required/mandatory option is missing */\r
+     class BOOST_PROGRAM_OPTIONS_DECL required_option : public error {\r
+     public:\r
+        required_option(const std::string& name)\r
+        : error(std::string("missing required option ").append(name))\r
+        , m_option_name(name)\r
+        {}\r
\r
+        ~required_option() throw() {}\r
+\r
+        const std::string& get_option_name() const throw();\r
+        \r
+     private:\r
+        std::string m_option_name; // The name of the option which\r
+                                   // caused the exception.\r
+     };\r
+}}\r
+\r
+\r
+#endif\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/program_options/option.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/program_options/option.hpp
new file mode 100644 (file)
index 0000000..b5674ec
--- /dev/null
@@ -0,0 +1,70 @@
+// Copyright Vladimir Prus 2004.\r
+// Distributed under the Boost Software License, Version 1.0.\r
+// (See accompanying file LICENSE_1_0.txt\r
+// or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+#ifndef BOOST_OPTION_HPP_VP_2004_02_25\r
+#define BOOST_OPTION_HPP_VP_2004_02_25\r
+\r
+#include <boost/program_options/config.hpp>\r
+\r
+#include <string>\r
+#include <vector>\r
+\r
+namespace boost { namespace program_options {\r
+\r
+    /** Option found in input source.\r
+        Contains a key and a value. The key, in turn, can be a string (name of\r
+        an option), or an integer (position in input source) -- in case no name\r
+        is specified. The latter is only possible for command line.\r
+        The template parameter specifies the type of char used for storing the\r
+        option's value.\r
+    */\r
+    template<class charT>\r
+    class basic_option {\r
+    public:\r
+        basic_option() \r
+        : position_key(-1)\r
+        , unregistered(false) \r
+        , case_insensitive(false)\r
+        {}\r
+        basic_option(const std::string& string_key, \r
+               const std::vector< std::string> &value)\r
+        : string_key(string_key)\r
+        , value(value)\r
+        , unregistered(false)\r
+        , case_insensitive(false)\r
+        {}\r
+\r
+        /** String key of this option. Intentionally independent of the template\r
+            parameter. */\r
+        std::string string_key;\r
+        /** Position key of this option. All options without an explicit name are\r
+            sequentially numbered starting from 0. If an option has explicit name,\r
+            'position_key' is equal to -1. It is possible that both\r
+            position_key and string_key is specified, in case name is implicitly\r
+            added.\r
+         */\r
+        int position_key;\r
+        /** Option's value */\r
+        std::vector< std::basic_string<charT> > value;\r
+        /** The original unchanged tokens this option was\r
+            created from. */\r
+        std::vector< std::basic_string<charT> > original_tokens;\r
+        /** True if option was not recognized. In that case,\r
+            'string_key' and 'value' are results of purely\r
+            syntactic parsing of source. The original tokens can be\r
+            recovered from the "original_tokens" member.\r
+        */\r
+        bool unregistered;\r
+        /** True if string_key has to be handled\r
+            case insensitive.\r
+        */\r
+        bool case_insensitive;\r
+    };\r
+    typedef basic_option<char> option;\r
+    typedef basic_option<wchar_t> woption;\r
+\r
+}}\r
+\r
+#endif\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/program_options/options_description.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/program_options/options_description.hpp
new file mode 100644 (file)
index 0000000..c53f093
--- /dev/null
@@ -0,0 +1,254 @@
+// Copyright Vladimir Prus 2002-2004.\r
+// Copyright Bertolt Mildner 2004.\r
+// Distributed under the Boost Software License, Version 1.0.\r
+// (See accompanying file LICENSE_1_0.txt\r
+// or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+\r
+#ifndef BOOST_OPTION_DESCRIPTION_VP_2003_05_19\r
+#define BOOST_OPTION_DESCRIPTION_VP_2003_05_19\r
+\r
+#include <boost/program_options/config.hpp>\r
+#include <boost/program_options/errors.hpp>\r
+#include <boost/program_options/value_semantic.hpp>\r
+\r
+#include <boost/function.hpp>\r
+#include <boost/shared_ptr.hpp>\r
+#include <boost/detail/workaround.hpp>\r
+#include <boost/any.hpp>\r
+\r
+#include <string>\r
+#include <vector>\r
+#include <set>\r
+#include <map>\r
+#include <stdexcept>\r
+\r
+#include <iosfwd>\r
+\r
+/** Boost namespace */\r
+namespace boost { \r
+/** Namespace for the library. */\r
+namespace program_options {\r
+\r
+    /** Describes one possible command line/config file option. There are two\r
+        kinds of properties of an option. First describe it syntactically and\r
+        are used only to validate input. Second affect interpretation of the\r
+        option, for example default value for it or function that should be\r
+        called  when the value is finally known. Routines which perform parsing\r
+        never use second kind of properties -- they are side effect free.\r
+        @sa options_description\r
+    */\r
+    class BOOST_PROGRAM_OPTIONS_DECL option_description {\r
+    public:\r
+\r
+        option_description();\r
+\r
+        /** Initializes the object with the passed data.\r
+\r
+            Note: it would be nice to make the second parameter auto_ptr,\r
+            to explicitly pass ownership. Unfortunately, it's often needed to\r
+            create objects of types derived from 'value_semantic':\r
+               options_description d;\r
+               d.add_options()("a", parameter<int>("n")->default_value(1));\r
+            Here, the static type returned by 'parameter' should be derived\r
+            from value_semantic.\r
+\r
+            Alas, derived->base conversion for auto_ptr does not really work,\r
+            see\r
+            http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/papers/2000/n1232.pdf\r
+            http://std.dkuug.dk/jtc1/sc22/wg21/docs/cwg_defects.html#84\r
+\r
+            So, we have to use plain old pointers. Besides, users are not\r
+            expected to use the constructor directly.\r
+\r
+            \r
+            The 'name' parameter is interpreted by the following rules:\r
+            - if there's no "," character in 'name', it specifies long name\r
+            - otherwise, the part before "," specifies long name and the part\r
+            after -- long name.\r
+        */\r
+        option_description(const char* name,\r
+                           const value_semantic* s);\r
+\r
+        /** Initializes the class with the passed data. \r
+         */\r
+        option_description(const char* name,\r
+                           const value_semantic* s,\r
+                           const char* description);\r
+\r
+        virtual ~option_description();\r
+\r
+        enum match_result { no_match, full_match, approximate_match };\r
+\r
+        /** Given 'option', specified in the input source,\r
+            return 'true' is 'option' specifies *this.\r
+        */\r
+        match_result match(const std::string& option, bool approx,\r
+                           bool long_ignore_case, bool short_ignore_case) const;\r
+\r
+        /** Return the key that should identify the option, in\r
+            particular in the variables_map class.\r
+            The 'option' parameter is the option spelling from the\r
+            input source.\r
+            If option name contains '*', returns 'option'.\r
+            If long name was specified, it's the long name, otherwise\r
+            it's a short name with prepended '-'.\r
+        */\r
+        const std::string& key(const std::string& option) const;\r
+\r
+        const std::string& long_name() const;\r
+\r
+        /// Explanation of this option\r
+        const std::string& description() const;\r
+\r
+        /// Semantic of option's value\r
+        shared_ptr<const value_semantic> semantic() const;\r
+        \r
+        /// Returns the option name, formatted suitably for usage message. \r
+        std::string format_name() const;\r
+\r
+        /** Return the parameter name and properties, formatted suitably for\r
+            usage message. */\r
+        std::string format_parameter() const;\r
+\r
+    private:\r
+    \r
+        option_description& set_name(const char* name);\r
+\r
+        std::string m_short_name, m_long_name, m_description;\r
+        // shared_ptr is needed to simplify memory management in\r
+        // copy ctor and destructor.\r
+        shared_ptr<const value_semantic> m_value_semantic;\r
+    };\r
+\r
+    class options_description;\r
+\r
+    /** Class which provides convenient creation syntax to option_description. \r
+     */        \r
+    class BOOST_PROGRAM_OPTIONS_DECL options_description_easy_init {\r
+    public:\r
+        options_description_easy_init(options_description* owner);\r
+\r
+        options_description_easy_init&\r
+        operator()(const char* name,\r
+                   const char* description);\r
+\r
+        options_description_easy_init&\r
+        operator()(const char* name,\r
+                   const value_semantic* s);\r
+        \r
+        options_description_easy_init&\r
+        operator()(const char* name,\r
+                   const value_semantic* s,\r
+                   const char* description);\r
+       \r
+    private:\r
+        options_description* owner;\r
+    };\r
+\r
+\r
+    /** A set of option descriptions. This provides convenient interface for\r
+        adding new option (the add_options) method, and facilities to search\r
+        for options by name.\r
+        \r
+        See @ref a_adding_options "here" for option adding interface discussion.\r
+        @sa option_description\r
+    */\r
+    class BOOST_PROGRAM_OPTIONS_DECL options_description {\r
+    public:\r
+        static const unsigned m_default_line_length;\r
+        \r
+        /** Creates the instance. */\r
+        options_description(unsigned line_length = m_default_line_length,\r
+                            unsigned min_description_length = m_default_line_length / 2);\r
+        /** Creates the instance. The 'caption' parameter gives the name of\r
+            this 'options_description' instance. Primarily useful for output.\r
+            The 'description_length' specifies the number of columns that\r
+            should be reserved for the description text; if the option text\r
+            encroaches into this, then the description will start on the next\r
+            line.\r
+        */\r
+        options_description(const std::string& caption,\r
+                            unsigned line_length = m_default_line_length,\r
+                            unsigned min_description_length = m_default_line_length / 2);\r
+        /** Adds new variable description. Throws duplicate_variable_error if\r
+            either short or long name matches that of already present one. \r
+        */\r
+        void add(shared_ptr<option_description> desc);\r
+        /** Adds a group of option description. This has the same\r
+            effect as adding all option_descriptions in 'desc' \r
+            individually, except that output operator will show\r
+            a separate group.\r
+            Returns *this.\r
+        */\r
+        options_description& add(const options_description& desc);\r
+\r
+    public:\r
+        /** Returns an object of implementation-defined type suitable for adding\r
+            options to options_description. The returned object will\r
+            have overloaded operator() with parameter type matching \r
+            'option_description' constructors. Calling the operator will create\r
+            new option_description instance and add it.\r
+        */\r
+        options_description_easy_init add_options();\r
+\r
+        const option_description& find(const std::string& name, \r
+                                       bool approx, \r
+                                       bool long_ignore_case = false,\r
+                                       bool short_ignore_case = false) const;\r
+\r
+        const option_description* find_nothrow(const std::string& name, \r
+                                               bool approx,\r
+                                               bool long_ignore_case = false,\r
+                                               bool short_ignore_case = false) const;\r
+\r
+\r
+        const std::vector< shared_ptr<option_description> >& options() const;\r
+\r
+        /** Produces a human readable output of 'desc', listing options,\r
+            their descriptions and allowed parameters. Other options_description\r
+            instances previously passed to add will be output separately. */\r
+        friend BOOST_PROGRAM_OPTIONS_DECL std::ostream& operator<<(std::ostream& os, \r
+                                             const options_description& desc);\r
+\r
+        /** Output 'desc' to the specified stream, calling 'f' to output each\r
+            option_description element. */\r
+        void print(std::ostream& os) const;\r
+\r
+    private:\r
+        typedef std::map<std::string, int>::const_iterator name2index_iterator;\r
+        typedef std::pair<name2index_iterator, name2index_iterator> \r
+            approximation_range;\r
+\r
+        //approximation_range find_approximation(const std::string& prefix) const;\r
+\r
+        std::string m_caption;\r
+        const unsigned m_line_length;\r
+        const unsigned m_min_description_length;\r
+        \r
+        // Data organization is chosen because:\r
+        // - there could be two names for one option\r
+        // - option_add_proxy needs to know the last added option\r
+        std::vector< shared_ptr<option_description> > m_options;\r
+\r
+        // Whether the option comes from one of declared groups.\r
+#if BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, BOOST_TESTED_AT(313))\r
+        // vector<bool> is buggy there, see\r
+        // http://support.microsoft.com/default.aspx?scid=kb;en-us;837698\r
+        std::vector<char> belong_to_group;\r
+#else\r
+        std::vector<bool> belong_to_group;\r
+#endif\r
+\r
+        std::vector< shared_ptr<options_description> > groups;\r
+\r
+    };\r
+\r
+    /** Class thrown when duplicate option description is found. */\r
+    class BOOST_PROGRAM_OPTIONS_DECL duplicate_option_error : public error {\r
+    public:\r
+        duplicate_option_error(const std::string& what) : error(what) {}\r
+    };\r
+}}\r
+\r
+#endif\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/program_options/parsers.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/program_options/parsers.hpp
new file mode 100644 (file)
index 0000000..6a79ff7
--- /dev/null
@@ -0,0 +1,262 @@
+// Copyright Vladimir Prus 2002-2004.\r
+// Distributed under the Boost Software License, Version 1.0.\r
+// (See accompanying file LICENSE_1_0.txt\r
+// or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+\r
+#ifndef BOOST_PARSERS_VP_2003_05_19\r
+#define BOOST_PARSERS_VP_2003_05_19\r
+\r
+#include <boost/program_options/config.hpp>\r
+#include <boost/program_options/option.hpp>\r
+#include <boost/program_options/detail/cmdline.hpp>\r
+\r
+#include <boost/function/function1.hpp>\r
+\r
+#include <iosfwd>\r
+#include <vector>\r
+#include <utility>\r
+\r
+namespace boost { namespace program_options {\r
+\r
+    class options_description;\r
+    class positional_options_description;\r
+\r
+\r
+    /** Results of parsing an input source. \r
+        The primary use of this class is passing information from parsers \r
+        component to value storage component. This class does not makes\r
+        much sense itself.        \r
+    */\r
+    template<class charT>\r
+    class basic_parsed_options {\r
+    public:\r
+        explicit basic_parsed_options(const options_description* description) \r
+        : description(description) {}\r
+        /** Options found in the source. */\r
+        std::vector< basic_option<charT> > options;\r
+        /** Options description that was used for parsing. \r
+            Parsers should return pointer to the instance of \r
+            option_description passed to them, and issues of lifetime are\r
+            up to the caller. Can be NULL.\r
+         */\r
+        const options_description* description;\r
+    };\r
+\r
+    /** Specialization of basic_parsed_options which:\r
+        - provides convenient conversion from basic_parsed_options<char>\r
+        - stores the passed char-based options for later use.\r
+    */\r
+    template<>\r
+    class BOOST_PROGRAM_OPTIONS_DECL basic_parsed_options<wchar_t> {\r
+    public:\r
+        /** Constructs wrapped options from options in UTF8 encoding. */\r
+        explicit basic_parsed_options(const basic_parsed_options<char>& po);\r
+\r
+        std::vector< basic_option<wchar_t> > options;\r
+        const options_description* description;\r
+\r
+        /** Stores UTF8 encoded options that were passed to constructor,\r
+            to avoid reverse conversion in some cases. */\r
+        basic_parsed_options<char> utf8_encoded_options;        \r
+    };\r
+\r
+    typedef basic_parsed_options<char> parsed_options;\r
+    typedef basic_parsed_options<wchar_t> wparsed_options;\r
+\r
+    /** Augments basic_parsed_options<wchar_t> with conversion from\r
+        'parsed_options' */\r
+\r
+\r
+    typedef function1<std::pair<std::string, std::string>, const std::string&> ext_parser;\r
+\r
+    /** Command line parser.\r
+\r
+        The class allows one to specify all the information needed for parsing\r
+        and to parse the command line. It is primarily needed to\r
+        emulate named function parameters -- a regular function with 5\r
+        parameters will be hard to use and creating overloads with a smaller\r
+        nuber of parameters will be confusing.\r
+\r
+        For the most common case, the function parse_command_line is a better \r
+        alternative.        \r
+\r
+        There are two typedefs -- command_line_parser and wcommand_line_parser,\r
+        for charT == char and charT == wchar_t cases.\r
+    */\r
+    template<class charT>\r
+    class basic_command_line_parser : private detail::cmdline {\r
+    public:\r
+        /** Creates a command line parser for the specified arguments\r
+            list. The 'args' parameter should not include program name.\r
+        */\r
+        basic_command_line_parser(const std::vector<\r
+                                  std::basic_string<charT> >& args);\r
+        /** Creates a command line parser for the specified arguments\r
+            list. The parameters should be the same as passed to 'main'.\r
+        */\r
+        basic_command_line_parser(int argc, charT* argv[]);\r
+\r
+        /** Sets options descriptions to use. */\r
+        basic_command_line_parser& options(const options_description& desc);\r
+        /** Sets positional options description to use. */\r
+        basic_command_line_parser& positional(\r
+            const positional_options_description& desc);\r
+\r
+        /** Sets the command line style. */\r
+        basic_command_line_parser& style(int);\r
+        /** Sets the extra parsers. */\r
+        basic_command_line_parser& extra_parser(ext_parser);\r
+\r
+        /** Parses the options and returns the result of parsing.\r
+            Throws on error.\r
+        */\r
+        basic_parsed_options<charT> run();\r
+\r
+        /** Specifies that unregistered options are allowed and should\r
+            be passed though. For each command like token that looks\r
+            like an option but does not contain a recognized name, an\r
+            instance of basic_option<charT> will be added to result,\r
+            with 'unrecognized' field set to 'true'. It's possible to\r
+            collect all unrecognized options with the 'collect_unrecognized'\r
+            funciton. \r
+        */\r
+        basic_command_line_parser& allow_unregistered();\r
+        \r
+        using detail::cmdline::style_parser;\r
+\r
+        basic_command_line_parser& extra_style_parser(style_parser s);\r
+\r
+    private:\r
+        const options_description* m_desc;\r
+    };\r
+\r
+    typedef basic_command_line_parser<char> command_line_parser;\r
+    typedef basic_command_line_parser<wchar_t> wcommand_line_parser;\r
+\r
+    /** Creates instance of 'command_line_parser', passes parameters to it,\r
+        and returns the result of calling the 'run' method.        \r
+     */\r
+    template<class charT>\r
+    basic_parsed_options<charT>\r
+    parse_command_line(int argc, charT* argv[],\r
+                       const options_description&,\r
+                       int style = 0,\r
+                       function1<std::pair<std::string, std::string>, \r
+                                 const std::string&> ext\r
+                       = ext_parser());\r
+\r
+    /** Parse a config file. \r
+    \r
+        Read from given stream.\r
+    */\r
+    template<class charT>\r
+#if ! BOOST_WORKAROUND(__ICL, BOOST_TESTED_AT(700))\r
+    BOOST_PROGRAM_OPTIONS_DECL\r
+#endif\r
+    basic_parsed_options<charT>\r
+    parse_config_file(std::basic_istream<charT>&, const options_description&,\r
+                      bool allow_unregistered = false);\r
+\r
+    /** Parse a config file. \r
+    \r
+        Read from file with the given name. The character type is\r
+        passed to the file stream. \r
+    */\r
+    template<class charT>\r
+#if ! BOOST_WORKAROUND(__ICL, BOOST_TESTED_AT(700))\r
+    BOOST_PROGRAM_OPTIONS_DECL\r
+#endif\r
+    basic_parsed_options<charT>\r
+    parse_config_file(const char* filename, const options_description&,\r
+                      bool allow_unregistered = false);\r
+\r
+    /** Controls if the 'collect_unregistered' function should\r
+        include positional options, or not. */\r
+    enum collect_unrecognized_mode \r
+    { include_positional, exclude_positional };\r
+\r
+    /** Collects the original tokens for all named options with\r
+        'unregistered' flag set. If 'mode' is 'include_positional'\r
+        also collects all positional options.\r
+        Returns the vector of origianl tokens for all collected\r
+        options.\r
+    */\r
+    template<class charT>\r
+    std::vector< std::basic_string<charT> > \r
+    collect_unrecognized(const std::vector< basic_option<charT> >& options,\r
+                         enum collect_unrecognized_mode mode);\r
+\r
+    /** Parse environment. \r
+\r
+        For each environment variable, the 'name_mapper' function is called to\r
+        obtain the option name. If it returns empty string, the variable is \r
+        ignored. \r
+\r
+        This is done since naming of environment variables is typically \r
+        different from the naming of command line options.        \r
+    */\r
+    BOOST_PROGRAM_OPTIONS_DECL parsed_options\r
+    parse_environment(const options_description&, \r
+                      const function1<std::string, std::string>& name_mapper);\r
+\r
+    /** Parse environment.\r
+\r
+        Takes all environment variables which start with 'prefix'. The option\r
+        name is obtained from variable name by removing the prefix and \r
+        converting the remaining string into lower case.\r
+    */\r
+    BOOST_PROGRAM_OPTIONS_DECL parsed_options\r
+    parse_environment(const options_description&, const std::string& prefix);\r
+\r
+    /** @overload\r
+        This function exists to resolve ambiguity between the two above \r
+        functions when second argument is of 'char*' type. There's implicit\r
+        conversion to both function1 and string.\r
+    */\r
+    BOOST_PROGRAM_OPTIONS_DECL parsed_options\r
+    parse_environment(const options_description&, const char* prefix);\r
+\r
+    /** Splits a given string to a collection of single strings which\r
+        can be passed to command_line_parser. The second parameter is\r
+        used to specify a collection of possible seperator chars used\r
+        for splitting. The seperator is defaulted to space " ".\r
+        Splitting is done in a unix style way, with respect to quotes '"'\r
+        and escape characters '\'\r
+    */\r
+    BOOST_PROGRAM_OPTIONS_DECL std::vector<std::string>\r
+    split_unix(const std::string& cmdline, const std::string& seperator = " \t", \r
+         const std::string& quote = "'\"", const std::string& escape = "\\");\r
+         \r
+#ifndef BOOST_NO_STD_WSTRING\r
+    /** @overload */\r
+    BOOST_PROGRAM_OPTIONS_DECL std::vector<std::wstring>\r
+    split_unix(const std::wstring& cmdline, const std::wstring& seperator = L" \t", \r
+         const std::wstring& quote = L"'\"", const std::wstring& escape = L"\\");\r
+#endif\r
+\r
+    #ifdef _WIN32\r
+    /** Parses the char* string which is passed to WinMain function on\r
+        windows. This function is provided for convenience, and because it's\r
+        not clear how to portably access split command line string from\r
+        runtime library and if it always exists.\r
+        This function is available only on Windows.\r
+    */\r
+    BOOST_PROGRAM_OPTIONS_DECL std::vector<std::string>\r
+    split_winmain(const std::string& cmdline);\r
+\r
+#ifndef BOOST_NO_STD_WSTRING\r
+    /** @overload */\r
+    BOOST_PROGRAM_OPTIONS_DECL std::vector<std::wstring>\r
+    split_winmain(const std::wstring& cmdline);\r
+    #endif\r
+#endif\r
+    \r
+\r
+}}\r
+\r
+#undef DECL\r
+\r
+#include "boost/program_options/detail/parsers.hpp"\r
+\r
+#endif\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/program_options/positional_options.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/program_options/positional_options.hpp
new file mode 100644 (file)
index 0000000..4c6da18
--- /dev/null
@@ -0,0 +1,65 @@
+// Copyright Vladimir Prus 2004.\r
+// Distributed under the Boost Software License, Version 1.0.\r
+// (See accompanying file LICENSE_1_0.txt\r
+// or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+#ifndef BOOST_PROGRAM_OPTIONS_POSITIONAL_OPTIONS_VP_2004_03_02\r
+#define BOOST_PROGRAM_OPTIONS_POSITIONAL_OPTIONS_VP_2004_03_02\r
+\r
+#include <boost/program_options/config.hpp>\r
+\r
+#include <vector>\r
+#include <string>\r
+\r
+namespace boost { namespace program_options {\r
+\r
+    /** Describes positional options. \r
+\r
+        The class allows to guess option names for positional options, which\r
+        are specified on the command line and are identified by the position.\r
+        The class uses the information provided by the user to associate a name\r
+        with every positional option, or tell that no name is known. \r
+\r
+        The primary assumption is that only the relative order of the\r
+        positional options themselves matters, and that any interleaving\r
+        ordinary options don't affect interpretation of positional options.\r
+        \r
+        The user initializes the class by specifying that first N positional \r
+        options should be given the name X1, following M options should be given \r
+        the name X2 and so on. \r
+    */\r
+    class BOOST_PROGRAM_OPTIONS_DECL positional_options_description {\r
+    public:\r
+        positional_options_description();\r
+\r
+        /** Species that up to 'max_count' next positional options\r
+            should be given the 'name'. The value of '-1' means 'unlimited'. \r
+            No calls to 'add' can be made after call with 'max_value' equal to \r
+            '-1'.            \r
+        */\r
+        positional_options_description&\r
+        add(const char* name, int max_count);\r
+\r
+        /** Returns the maximum number of positional options that can\r
+            be present. Can return (numeric_limits<unsigned>::max)() to\r
+            indicate unlimited number. */\r
+        unsigned max_total_count() const;\r
+\r
+        /** Returns the name that should be associated with positional\r
+            options at 'position'. \r
+            Precondition: position < max_total_count()\r
+        */\r
+        const std::string& name_for_position(unsigned position) const;\r
+\r
+    private:\r
+        // List of names corresponding to the positions. If the number of\r
+        // positions is unlimited, then the last name is stored in\r
+        // m_trailing;\r
+        std::vector<std::string> m_names;\r
+        std::string m_trailing;\r
+    };\r
+\r
+}}\r
+\r
+#endif\r
+\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/program_options/value_semantic.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/program_options/value_semantic.hpp
new file mode 100644 (file)
index 0000000..d100410
--- /dev/null
@@ -0,0 +1,405 @@
+// Copyright Vladimir Prus 2004.\r
+// Distributed under the Boost Software License, Version 1.0.\r
+// (See accompanying file LICENSE_1_0.txt\r
+// or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+#ifndef BOOST_VALUE_SEMANTIC_HPP_VP_2004_02_24\r
+#define BOOST_VALUE_SEMANTIC_HPP_VP_2004_02_24\r
+\r
+#include <boost/program_options/config.hpp>\r
+#include <boost/program_options/errors.hpp>\r
+\r
+#include <boost/any.hpp>\r
+#include <boost/function/function1.hpp>\r
+#include <boost/lexical_cast.hpp>\r
+\r
+\r
+#include <string>\r
+#include <vector>\r
+#include <typeinfo>\r
+\r
+namespace boost { namespace program_options {\r
+\r
+    /** Class which specifies how the option's value is to be parsed\r
+        and converted into C++ types.\r
+    */\r
+    class BOOST_PROGRAM_OPTIONS_DECL value_semantic {\r
+    public:\r
+        /** Returns the name of the option. The name is only meaningful\r
+            for automatic help message.\r
+         */\r
+        virtual std::string name() const = 0;\r
+\r
+        /** The minimum number of tokens for this option that\r
+            should be present on the command line. */\r
+        virtual unsigned min_tokens() const = 0;\r
+\r
+        /** The maximum number of tokens for this option that\r
+            should be present on the command line. */\r
+        virtual unsigned max_tokens() const = 0;\r
+\r
+        /** Returns true if values from different sources should be composed.\r
+            Otherwise, value from the first source is used and values from\r
+            other sources are discarded.\r
+        */\r
+        virtual bool is_composing() const = 0;\r
+\r
+        /** Returns true if value must be given. Non-optional value\r
+\r
+        */\r
+        virtual bool is_required() const = 0;\r
+        \r
+        /** Parses a group of tokens that specify a value of option.\r
+            Stores the result in 'value_store', using whatever representation\r
+            is desired. May be be called several times if value of the same\r
+            option is specified more than once.\r
+        */\r
+        virtual void parse(boost::any& value_store, \r
+                           const std::vector<std::string>& new_tokens,\r
+                           bool utf8) const \r
+            = 0;\r
+\r
+        /** Called to assign default value to 'value_store'. Returns\r
+            true if default value is assigned, and false if no default\r
+            value exists. */\r
+        virtual bool apply_default(boost::any& value_store) const = 0;\r
+                                   \r
+        /** Called when final value of an option is determined. \r
+        */\r
+        virtual void notify(const boost::any& value_store) const = 0;\r
+        \r
+        virtual ~value_semantic() {}\r
+    };\r
+\r
+    /** Helper class which perform necessary character conversions in the \r
+        'parse' method and forwards the data further.\r
+    */\r
+    template<class charT>\r
+    class value_semantic_codecvt_helper {\r
+        // Nothing here. Specializations to follow.\r
+    };\r
+\r
+    /** Helper conversion class for values that accept ascii\r
+        strings as input.\r
+        Overrides the 'parse' method and defines new 'xparse'\r
+        method taking std::string. Depending on whether input\r
+        to parse is ascii or UTF8, will pass it to xparse unmodified,\r
+        or with UTF8->ascii conversion.\r
+    */\r
+    template<>\r
+    class BOOST_PROGRAM_OPTIONS_DECL \r
+    value_semantic_codecvt_helper<char> : public value_semantic {\r
+    private: // base overrides\r
+        void parse(boost::any& value_store, \r
+                   const std::vector<std::string>& new_tokens,\r
+                   bool utf8) const;\r
+    protected: // interface for derived classes.\r
+        virtual void xparse(boost::any& value_store, \r
+                            const std::vector<std::string>& new_tokens) \r
+            const = 0;\r
+    };\r
+\r
+    /** Helper conversion class for values that accept ascii\r
+        strings as input.\r
+        Overrides the 'parse' method and defines new 'xparse'\r
+        method taking std::wstring. Depending on whether input\r
+        to parse is ascii or UTF8, will recode input to Unicode, or\r
+        pass it unmodified.\r
+    */\r
+    template<>\r
+    class BOOST_PROGRAM_OPTIONS_DECL\r
+    value_semantic_codecvt_helper<wchar_t> : public value_semantic {\r
+    private: // base overrides\r
+        void parse(boost::any& value_store, \r
+                   const std::vector<std::string>& new_tokens,\r
+                   bool utf8) const;\r
+    protected: // interface for derived classes.\r
+#if !defined(BOOST_NO_STD_WSTRING)\r
+        virtual void xparse(boost::any& value_store, \r
+                            const std::vector<std::wstring>& new_tokens) \r
+            const = 0;\r
+#endif\r
+    };\r
+\r
+    /** Class which specifies a simple handling of a value: the value will\r
+        have string type and only one token is allowed. */    \r
+    class BOOST_PROGRAM_OPTIONS_DECL \r
+    untyped_value : public value_semantic_codecvt_helper<char>  {\r
+    public:\r
+        untyped_value(bool zero_tokens = false)\r
+        : m_zero_tokens(zero_tokens)\r
+        {}\r
+\r
+        std::string name() const;\r
+\r
+        unsigned min_tokens() const;\r
+        unsigned max_tokens() const;\r
+\r
+        bool is_composing() const { return false; }\r
+\r
+        bool is_required() const { return false; }\r
+        \r
+        /** If 'value_store' is already initialized, or new_tokens\r
+            has more than one elements, throws. Otherwise, assigns\r
+            the first string from 'new_tokens' to 'value_store', without\r
+            any modifications.\r
+         */\r
+        void xparse(boost::any& value_store,\r
+                    const std::vector<std::string>& new_tokens) const;\r
+\r
+        /** Does nothing. */\r
+        bool apply_default(boost::any&) const { return false; }\r
+\r
+        /** Does nothing. */\r
+        void notify(const boost::any&) const {}        \r
+    private:\r
+        bool m_zero_tokens;\r
+    };\r
+\r
+    /** Base class for all option that have a fixed type, and are\r
+        willing to announce this type to the outside world.\r
+        Any 'value_semantics' for which you want to find out the\r
+        type can be dynamic_cast-ed to typed_value_base. If conversion\r
+        succeeds, the 'type' method can be called.\r
+    */\r
+    class typed_value_base \r
+    {\r
+    public:\r
+        // Returns the type of the value described by this\r
+        // object.\r
+        virtual const std::type_info& value_type() const = 0;\r
+        // Not really needed, since deletion from this\r
+        // class is silly, but just in case.\r
+        virtual ~typed_value_base() {}\r
+    };\r
+\r
+\r
+    /** Class which handles value of a specific type. */\r
+    template<class T, class charT = char>\r
+    class typed_value : public value_semantic_codecvt_helper<charT>,\r
+                        public typed_value_base\r
+    {\r
+    public:\r
+        /** Ctor. The 'store_to' parameter tells where to store\r
+            the value when it's known. The parameter can be NULL. */\r
+        typed_value(T* store_to) \r
+        : m_store_to(store_to), m_composing(false),\r
+          m_multitoken(false), m_zero_tokens(false),\r
+          m_required(false)\r
+        {} \r
+\r
+        /** Specifies default value, which will be used\r
+            if none is explicitly specified. The type 'T' should\r
+            provide operator<< for ostream.\r
+        */\r
+        typed_value* default_value(const T& v)\r
+        {\r
+            m_default_value = boost::any(v);\r
+            m_default_value_as_text = boost::lexical_cast<std::string>(v);\r
+            return this;\r
+        }\r
+\r
+        /** Specifies default value, which will be used\r
+            if none is explicitly specified. Unlike the above overload,\r
+            the type 'T' need not provide operator<< for ostream,\r
+            but textual representation of default value must be provided\r
+            by the user.\r
+        */\r
+        typed_value* default_value(const T& v, const std::string& textual)\r
+        {\r
+            m_default_value = boost::any(v);\r
+            m_default_value_as_text = textual;\r
+            return this;\r
+        }\r
+\r
+        /** Specifies an implicit value, which will be used\r
+            if the option is given, but without an adjacent value.\r
+            Using this implies that an explicit value is optional, but if\r
+            given, must be strictly adjacent to the option, i.e.: '-ovalue'\r
+            or '--option=value'.  Giving '-o' or '--option' will cause the\r
+            implicit value to be applied.\r
+        */\r
+        typed_value* implicit_value(const T &v)\r
+        {\r
+            m_implicit_value = boost::any(v);\r
+            m_implicit_value_as_text =\r
+                boost::lexical_cast<std::string>(v);\r
+            return this;\r
+        }\r
+\r
+        /** Specifies an implicit value, which will be used\r
+            if the option is given, but without an adjacent value.\r
+            Using this implies that an explicit value is optional, but if\r
+            given, must be strictly adjacent to the option, i.e.: '-ovalue'\r
+            or '--option=value'.  Giving '-o' or '--option' will cause the\r
+            implicit value to be applied.\r
+            Unlike the above overload, the type 'T' need not provide\r
+            operator<< for ostream, but textual representation of default\r
+            value must be provided by the user.\r
+        */\r
+        typed_value* implicit_value(const T &v, const std::string& textual)\r
+        {\r
+            m_implicit_value = boost::any(v);\r
+            m_implicit_value_as_text = textual;\r
+            return this;\r
+        }\r
+\r
+        /** Specifies a function to be called when the final value\r
+            is determined. */\r
+        typed_value* notifier(function1<void, const T&> f)\r
+        {\r
+            m_notifier = f;\r
+            return this;\r
+        }\r
+\r
+        /** Specifies that the value is composing. See the 'is_composing' \r
+            method for explanation. \r
+        */\r
+        typed_value* composing()\r
+        {\r
+            m_composing = true;\r
+            return this;\r
+        }\r
+\r
+        /** Specifies that the value can span multiple tokens. */\r
+        typed_value* multitoken()\r
+        {\r
+            m_multitoken = true;\r
+            return this;\r
+        }\r
+\r
+        typed_value* zero_tokens() \r
+        {\r
+            m_zero_tokens = true;\r
+            return this;\r
+        }\r
+            \r
+        /** Specifies that the value must occur. */\r
+        typed_value* required()\r
+        {\r
+            m_required = true;\r
+            return this;\r
+        }\r
+\r
+    public: // value semantic overrides\r
+\r
+        std::string name() const;\r
+\r
+        bool is_composing() const { return m_composing; }\r
+\r
+        unsigned min_tokens() const\r
+        {\r
+            if (m_zero_tokens || !m_implicit_value.empty()) {\r
+                return 0;\r
+            } else {\r
+                return 1;\r
+            }\r
+        }\r
+\r
+        unsigned max_tokens() const {\r
+            if (m_multitoken) {\r
+                return 32000;\r
+            } else if (m_zero_tokens) {\r
+                return 0;\r
+            } else {\r
+                return 1;\r
+            }\r
+        }\r
+\r
+        bool is_required() const { return m_required; }\r
+\r
+        /** Creates an instance of the 'validator' class and calls\r
+            its operator() to perform the actual conversion. */\r
+        void xparse(boost::any& value_store, \r
+                    const std::vector< std::basic_string<charT> >& new_tokens) \r
+            const;\r
+\r
+        /** If default value was specified via previous call to \r
+            'default_value', stores that value into 'value_store'.\r
+            Returns true if default value was stored.\r
+        */\r
+        virtual bool apply_default(boost::any& value_store) const\r
+        {\r
+            if (m_default_value.empty()) {\r
+                return false;\r
+            } else {\r
+                value_store = m_default_value;\r
+                return true;\r
+            }\r
+        }\r
+\r
+        /** If an address of variable to store value was specified\r
+            when creating *this, stores the value there. Otherwise,\r
+            does nothing. */\r
+        void notify(const boost::any& value_store) const;\r
+\r
+    public: // typed_value_base overrides\r
+        \r
+        const std::type_info& value_type() const\r
+        {\r
+            return typeid(T);\r
+        }\r
+        \r
+\r
+    private:\r
+        T* m_store_to;\r
+        \r
+        // Default value is stored as boost::any and not\r
+        // as boost::optional to avoid unnecessary instantiations.\r
+        boost::any m_default_value;\r
+        std::string m_default_value_as_text;\r
+        boost::any m_implicit_value;\r
+        std::string m_implicit_value_as_text;\r
+        bool m_composing, m_implicit, m_multitoken, m_zero_tokens, m_required;\r
+        boost::function1<void, const T&> m_notifier;\r
+    };\r
+\r
+\r
+    /** Creates a typed_value<T> instance. This function is the primary\r
+        method to create value_semantic instance for a specific type, which\r
+        can later be passed to 'option_description' constructor.\r
+        The second overload is used when it's additionally desired to store the \r
+        value of option into program variable.\r
+    */\r
+    template<class T>\r
+    typed_value<T>*\r
+    value();\r
+\r
+    /** @overload \r
+    */\r
+    template<class T>\r
+    typed_value<T>*\r
+    value(T* v);\r
+\r
+    /** Creates a typed_value<T> instance. This function is the primary\r
+        method to create value_semantic instance for a specific type, which\r
+        can later be passed to 'option_description' constructor.\r
+    */\r
+    template<class T>\r
+    typed_value<T, wchar_t>*\r
+    wvalue();\r
+\r
+    /** @overload   \r
+    */\r
+    template<class T>\r
+    typed_value<T, wchar_t>*\r
+    wvalue(T* v);\r
+\r
+    /** Works the same way as the 'value<bool>' function, but the created\r
+        value_semantic won't accept any explicit value. So, if the option \r
+        is present on the command line, the value will be 'true'.\r
+    */\r
+    BOOST_PROGRAM_OPTIONS_DECL typed_value<bool>*\r
+    bool_switch();\r
+\r
+    /** @overload\r
+    */\r
+    BOOST_PROGRAM_OPTIONS_DECL typed_value<bool>*    \r
+    bool_switch(bool* v);\r
+\r
+}}\r
+\r
+#include "boost/program_options/detail/value_semantic.hpp"\r
+\r
+#endif\r
+\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/program_options/variables_map.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/program_options/variables_map.hpp
new file mode 100644 (file)
index 0000000..6dfe5c4
--- /dev/null
@@ -0,0 +1,206 @@
+// Copyright Vladimir Prus 2002-2004.\r
+// Distributed under the Boost Software License, Version 1.0.\r
+// (See accompanying file LICENSE_1_0.txt\r
+// or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+\r
+#ifndef BOOST_VARIABLES_MAP_VP_2003_05_19\r
+#define BOOST_VARIABLES_MAP_VP_2003_05_19\r
+\r
+#include <boost/program_options/config.hpp>\r
+\r
+#include <boost/any.hpp>\r
+#include <boost/shared_ptr.hpp>\r
+\r
+#include <string>\r
+#include <map>\r
+#include <set>\r
+\r
+namespace boost { namespace program_options {\r
+\r
+    template<class charT>\r
+    class basic_parsed_options;\r
+\r
+    class value_semantic;\r
+    class variables_map;\r
+\r
+    // forward declaration\r
+\r
+    /** Stores in 'm' all options that are defined in 'options'. \r
+        If 'm' already has a non-defaulted value of an option, that value\r
+        is not changed, even if 'options' specify some value.        \r
+    */\r
+    BOOST_PROGRAM_OPTIONS_DECL \r
+    void store(const basic_parsed_options<char>& options, variables_map& m,\r
+                    bool utf8 = false);\r
+\r
+    /** Stores in 'm' all options that are defined in 'options'. \r
+        If 'm' already has a non-defaulted value of an option, that value\r
+        is not changed, even if 'options' specify some value.        \r
+        This is wide character variant.\r
+    */\r
+    BOOST_PROGRAM_OPTIONS_DECL \r
+    void store(const basic_parsed_options<wchar_t>& options, \r
+                    variables_map& m);\r
+\r
+\r
+    /** Runs all 'notify' function for options in 'm'. */\r
+    BOOST_PROGRAM_OPTIONS_DECL void notify(variables_map& m);\r
+\r
+    /** Class holding value of option. Contains details about how the \r
+        value is set and allows to conveniently obtain the value.\r
+    */\r
+    class BOOST_PROGRAM_OPTIONS_DECL variable_value {\r
+    public:\r
+        variable_value() : m_defaulted(false) {}\r
+        variable_value(const boost::any& v, bool defaulted) \r
+        : v(v), m_defaulted(defaulted) \r
+        {}\r
+\r
+        /** If stored value if of type T, returns that value. Otherwise,\r
+            throws boost::bad_any_cast exception. */\r
+       template<class T>\r
+       const T& as() const {\r
+           return boost::any_cast<const T&>(v);\r
+       }\r
+       /** @overload */\r
+       template<class T>\r
+       T& as() {\r
+           return boost::any_cast<T&>(v);\r
+       }\r
+\r
+        /// Returns true if no value is stored.\r
+        bool empty() const;\r
+        /** Returns true if the value was not explicitly\r
+            given, but has default value. */\r
+        bool defaulted() const;\r
+        /** Returns the contained value. */\r
+        const boost::any& value() const;\r
+\r
+        /** Returns the contained value. */\r
+        boost::any& value();\r
+    private:\r
+        boost::any v;\r
+        bool m_defaulted;\r
+        // Internal reference to value semantic. We need to run\r
+        // notifications when *final* values of options are known, and\r
+        // they are known only after all sources are stored. By that\r
+        // time options_description for the first source might not\r
+        // be easily accessible, so we need to store semantic here.\r
+        shared_ptr<const value_semantic> m_value_semantic;\r
+\r
+        friend BOOST_PROGRAM_OPTIONS_DECL\r
+        void store(const basic_parsed_options<char>& options, \r
+              variables_map& m, bool);\r
+\r
+        friend BOOST_PROGRAM_OPTIONS_DECL class variables_map;\r
+    };\r
+\r
+    /** Implements string->string mapping with convenient value casting\r
+        facilities. */\r
+    class BOOST_PROGRAM_OPTIONS_DECL abstract_variables_map {\r
+    public:\r
+        abstract_variables_map();\r
+        abstract_variables_map(const abstract_variables_map* next);\r
+\r
+        virtual ~abstract_variables_map() {}\r
+\r
+        /** Obtains the value of variable 'name', from *this and\r
+            possibly from the chain of variable maps.\r
+\r
+            - if there's no value in *this.\r
+                - if there's next variable map, returns value from it\r
+                - otherwise, returns empty value\r
+\r
+            - if there's defaulted value\r
+                - if there's next varaible map, which has a non-defauled\r
+                  value, return that\r
+                - otherwise, return value from *this\r
+\r
+            - if there's a non-defauled value, returns it.\r
+        */\r
+        const variable_value& operator[](const std::string& name) const;\r
+\r
+        /** Sets next variable map, which will be used to find\r
+           variables not found in *this. */\r
+        void next(abstract_variables_map* next);\r
+\r
+    private:\r
+        /** Returns value of variable 'name' stored in *this, or\r
+            empty value otherwise. */\r
+        virtual const variable_value& get(const std::string& name) const = 0;\r
+\r
+        const abstract_variables_map* m_next;\r
+    };\r
+\r
+    /** Concrete variables map which store variables in real map. \r
+        \r
+        This class is derived from std::map<std::string, variable_value>,\r
+        so you can use all map operators to examine its content.\r
+    */\r
+    class BOOST_PROGRAM_OPTIONS_DECL variables_map : public abstract_variables_map,\r
+                               public std::map<std::string, variable_value>\r
+    {\r
+    public:\r
+        variables_map();\r
+        variables_map(const abstract_variables_map* next);\r
+\r
+        // Resolve conflict between inherited operators.\r
+        const variable_value& operator[](const std::string& name) const\r
+        { return abstract_variables_map::operator[](name); }\r
+        \r
+        void notify();\r
+\r
+    private:\r
+        /** Implementation of abstract_variables_map::get\r
+            which does 'find' in *this. */\r
+        const variable_value& get(const std::string& name) const;\r
+\r
+        /** Names of option with 'final' values -- which should not\r
+            be changed by subsequence assignments. */\r
+        std::set<std::string> m_final;\r
+\r
+        friend BOOST_PROGRAM_OPTIONS_DECL\r
+        void store(const basic_parsed_options<char>& options, \r
+                          variables_map& xm,\r
+                          bool utf8);\r
+        \r
+        /** Names of required options, filled by parser which has\r
+            access to options_description. */\r
+        std::set<std::string> m_required;\r
+    };\r
+\r
+\r
+    /*\r
+     * Templates/inlines\r
+     */\r
+\r
+    inline bool\r
+    variable_value::empty() const\r
+    {\r
+        return v.empty();\r
+    }\r
+\r
+    inline bool\r
+    variable_value::defaulted() const\r
+    {\r
+        return m_defaulted;\r
+    }\r
+\r
+    inline\r
+    const boost::any&\r
+    variable_value::value() const\r
+    {\r
+        return v;\r
+    }\r
+\r
+    inline\r
+    boost::any&\r
+    variable_value::value()\r
+    {\r
+        return v;\r
+    }\r
+\r
+}}\r
+\r
+#endif\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/program_options/version.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/program_options/version.hpp
new file mode 100644 (file)
index 0000000..153cde8
--- /dev/null
@@ -0,0 +1,19 @@
+// Copyright Vladimir Prus 2004.\r
+// Distributed under the Boost Software License, Version 1.0.\r
+// (See accompanying file LICENSE_1_0.txt\r
+// or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+#ifndef BOOST_PROGRAM_OPTIONS_VERSION_HPP_VP_2004_04_05\r
+#define BOOST_PROGRAM_OPTIONS_VERSION_HPP_VP_2004_04_05\r
+\r
+/** The version of the source interface.\r
+    The value will be incremented whenever a change is made which might\r
+    cause compilation errors for existing code.\r
+*/\r
+#ifdef BOOST_PROGRAM_OPTIONS_VERSION\r
+#error BOOST_PROGRAM_OPTIONS_VERSION already defined\r
+#endif\r
+#define BOOST_PROGRAM_OPTIONS_VERSION 2\r
+\r
+\r
+#endif\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/random.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/random.hpp
new file mode 100644 (file)
index 0000000..be053b9
--- /dev/null
@@ -0,0 +1,75 @@
+/* boost random.hpp header file\r
+ *\r
+ * Copyright Jens Maurer 2000-2001\r
+ * Distributed under the Boost Software License, Version 1.0. (See\r
+ * accompanying file LICENSE_1_0.txt or copy at\r
+ * http://www.boost.org/LICENSE_1_0.txt)\r
+ *\r
+ * See http://www.boost.org/libs/random for documentation.\r
+ *\r
+ * $Id: random.hpp 58649 2010-01-02 21:23:17Z steven_watanabe $\r
+ *\r
+ * Revision history\r
+ *  2000-02-18  portability fixes (thanks to Beman Dawes)\r
+ *  2000-02-21  shuffle_output, inversive_congruential_schrage,\r
+ *              generator_iterator, uniform_smallint\r
+ *  2000-02-23  generic modulus arithmetic helper, removed *_schrage classes,\r
+ *              implemented Streamable and EqualityComparable concepts for \r
+ *              generators, added Bernoulli distribution and Box-Muller\r
+ *              transform\r
+ *  2000-03-01  cauchy, lognormal, triangle distributions; fixed \r
+ *              uniform_smallint; renamed gaussian to normal distribution\r
+ *  2000-03-05  implemented iterator syntax for distribution functions\r
+ *  2000-04-21  removed some optimizations for better BCC/MSVC compatibility\r
+ *  2000-05-10  adapted to BCC and MSVC\r
+ *  2000-06-13  incorporated review results\r
+ *  2000-07-06  moved basic templates from namespace detail to random\r
+ *  2000-09-23  warning removals and int64 fixes (Ed Brey)\r
+ *  2000-09-24  added lagged_fibonacci generator (Matthias Troyer)\r
+ *  2001-02-18  moved to individual header files\r
+ */\r
+\r
+#ifndef BOOST_RANDOM_HPP\r
+#define BOOST_RANDOM_HPP\r
+\r
+// generators\r
+#include <boost/random/linear_congruential.hpp>\r
+#include <boost/random/additive_combine.hpp>\r
+#include <boost/random/inversive_congruential.hpp>\r
+#include <boost/random/shuffle_output.hpp>\r
+#include <boost/random/mersenne_twister.hpp>\r
+#include <boost/random/lagged_fibonacci.hpp>\r
+#include <boost/random/ranlux.hpp>\r
+#include <boost/random/linear_feedback_shift.hpp>\r
+#include <boost/random/xor_combine.hpp>\r
+#include <boost/random/discard_block.hpp>\r
+#include <boost/random/subtract_with_carry.hpp>\r
+#include <boost/random/variate_generator.hpp>\r
+\r
+namespace boost {\r
+  typedef random::xor_combine<random::xor_combine<random::linear_feedback_shift<uint32_t, 32, 31, 13, 12, 0>, 0,\r
+    random::linear_feedback_shift<uint32_t, 32, 29, 2, 4, 0>, 0, 0>, 0,\r
+                      random::linear_feedback_shift<uint32_t, 32, 28, 3, 17, 0>, 0, 0> taus88;\r
+} // namespace  boost\r
+\r
+// misc\r
+#include <boost/random/random_number_generator.hpp>\r
+\r
+// distributions\r
+#include <boost/random/uniform_smallint.hpp>\r
+#include <boost/random/uniform_int.hpp>\r
+#include <boost/random/uniform_01.hpp>\r
+#include <boost/random/uniform_real.hpp>\r
+#include <boost/random/triangle_distribution.hpp>\r
+#include <boost/random/bernoulli_distribution.hpp>\r
+#include <boost/random/cauchy_distribution.hpp>\r
+#include <boost/random/exponential_distribution.hpp>\r
+#include <boost/random/geometric_distribution.hpp>\r
+#include <boost/random/normal_distribution.hpp>\r
+#include <boost/random/lognormal_distribution.hpp>\r
+#include <boost/random/poisson_distribution.hpp>\r
+#include <boost/random/gamma_distribution.hpp>\r
+#include <boost/random/binomial_distribution.hpp>\r
+#include <boost/random/uniform_on_sphere.hpp>\r
+\r
+#endif // BOOST_RANDOM_HPP\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/random/additive_combine.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/random/additive_combine.hpp
new file mode 100644 (file)
index 0000000..e4e6d56
--- /dev/null
@@ -0,0 +1,134 @@
+/* boost random/additive_combine.hpp header file\r
+ *\r
+ * Copyright Jens Maurer 2000-2001\r
+ * Distributed under the Boost Software License, Version 1.0. (See\r
+ * accompanying file LICENSE_1_0.txt or copy at\r
+ * http://www.boost.org/LICENSE_1_0.txt)\r
+ *\r
+ * See http://www.boost.org for most recent version including documentation.\r
+ *\r
+ * $Id: additive_combine.hpp 58649 2010-01-02 21:23:17Z steven_watanabe $\r
+ *\r
+ * Revision history\r
+ *  2001-02-18  moved to individual header files\r
+ */\r
+\r
+#ifndef BOOST_RANDOM_ADDITIVE_COMBINE_HPP\r
+#define BOOST_RANDOM_ADDITIVE_COMBINE_HPP\r
+\r
+#include <iostream>\r
+#include <algorithm> // for std::min and std::max\r
+#include <boost/config.hpp>\r
+#include <boost/cstdint.hpp>\r
+#include <boost/random/detail/config.hpp>\r
+#include <boost/random/linear_congruential.hpp>\r
+\r
+namespace boost {\r
+namespace random {\r
+\r
+// L'Ecuyer 1988\r
+template<class MLCG1, class MLCG2,\r
+#ifndef BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS\r
+  typename MLCG1::result_type \r
+#else\r
+  int32_t\r
+#endif\r
+  val>\r
+class additive_combine\r
+{\r
+public:\r
+  typedef MLCG1 first_base;\r
+  typedef MLCG2 second_base;\r
+  typedef typename MLCG1::result_type result_type;\r
+#ifndef BOOST_NO_INCLASS_MEMBER_INITIALIZATION\r
+  static const bool has_fixed_range = true;\r
+  static const result_type min_value = 1;\r
+  static const result_type max_value = MLCG1::max_value-1;\r
+#else\r
+  enum { has_fixed_range = false };\r
+#endif\r
+  result_type min BOOST_PREVENT_MACRO_SUBSTITUTION () const { return 1; }\r
+  result_type max BOOST_PREVENT_MACRO_SUBSTITUTION () const { return (_mlcg1.max)()-1; }\r
+\r
+  additive_combine() : _mlcg1(), _mlcg2() { }\r
+  additive_combine(typename MLCG1::result_type seed1, \r
+                   typename MLCG2::result_type seed2)\r
+    : _mlcg1(seed1), _mlcg2(seed2) { }\r
+  additive_combine(result_type aseed)\r
+    : _mlcg1(aseed), _mlcg2(aseed) { }\r
+  template<class It> additive_combine(It& first, It last)\r
+    : _mlcg1(first, last), _mlcg2(first, last) { }\r
+\r
+  void seed()\r
+  {\r
+    _mlcg1.seed();\r
+    _mlcg2.seed();\r
+  }\r
+\r
+  void seed(result_type aseed)\r
+  {\r
+    _mlcg1.seed(aseed);\r
+    _mlcg2.seed(aseed);\r
+  }\r
+\r
+  void seed(typename MLCG1::result_type seed1,\r
+            typename MLCG2::result_type seed2)\r
+  {\r
+    _mlcg1.seed(seed1);\r
+    _mlcg2.seed(seed2);\r
+  }\r
+\r
+  template<class It> void seed(It& first, It last)\r
+  {\r
+    _mlcg1.seed(first, last);\r
+    _mlcg2.seed(first, last);\r
+  }\r
+\r
+  result_type operator()() {\r
+    result_type z = _mlcg1() - _mlcg2();\r
+    if(z < 1)\r
+      z += MLCG1::modulus-1;\r
+    return z;\r
+  }\r
+  static bool validation(result_type x) { return val == x; }\r
+\r
+#ifndef BOOST_NO_OPERATORS_IN_NAMESPACE\r
+\r
+#ifndef BOOST_RANDOM_NO_STREAM_OPERATORS\r
+  template<class CharT, class Traits>\r
+  friend std::basic_ostream<CharT,Traits>&\r
+  operator<<(std::basic_ostream<CharT,Traits>& os, const additive_combine& r)\r
+  { os << r._mlcg1 << " " << r._mlcg2; return os; }\r
+\r
+  template<class CharT, class Traits>\r
+  friend std::basic_istream<CharT,Traits>&\r
+  operator>>(std::basic_istream<CharT,Traits>& is, additive_combine& r)\r
+  { is >> r._mlcg1 >> std::ws >> r._mlcg2; return is; }\r
+#endif\r
+\r
+  friend bool operator==(const additive_combine& x, const additive_combine& y)\r
+  { return x._mlcg1 == y._mlcg1 && x._mlcg2 == y._mlcg2; }\r
+  friend bool operator!=(const additive_combine& x, const additive_combine& y)\r
+  { return !(x == y); }\r
+#else\r
+  // Use a member function; Streamable concept not supported.\r
+  bool operator==(const additive_combine& rhs) const\r
+  { return _mlcg1 == rhs._mlcg1 && _mlcg2 == rhs._mlcg2; }\r
+  bool operator!=(const additive_combine& rhs) const\r
+  { return !(*this == rhs); }\r
+#endif\r
+private:\r
+  MLCG1 _mlcg1;\r
+  MLCG2 _mlcg2;\r
+};\r
+\r
+} // namespace random\r
+\r
+typedef random::additive_combine<\r
+    random::linear_congruential<int32_t, 40014, 0, 2147483563, 0>,\r
+    random::linear_congruential<int32_t, 40692, 0, 2147483399, 0>,\r
+  2060321752> ecuyer1988;\r
+\r
+} // namespace boost\r
+\r
+#endif // BOOST_RANDOM_ADDITIVE_COMBINE_HPP\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/random/bernoulli_distribution.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/random/bernoulli_distribution.hpp
new file mode 100644 (file)
index 0000000..d681114
--- /dev/null
@@ -0,0 +1,81 @@
+/* boost random/bernoulli_distribution.hpp header file\r
+ *\r
+ * Copyright Jens Maurer 2000-2001\r
+ * Distributed under the Boost Software License, Version 1.0. (See\r
+ * accompanying file LICENSE_1_0.txt or copy at\r
+ * http://www.boost.org/LICENSE_1_0.txt)\r
+ *\r
+ * See http://www.boost.org for most recent version including documentation.\r
+ *\r
+ * $Id: bernoulli_distribution.hpp 52492 2009-04-19 14:55:57Z steven_watanabe $\r
+ *\r
+ * Revision history\r
+ *  2001-02-18  moved to individual header files\r
+ */\r
+\r
+#ifndef BOOST_RANDOM_BERNOULLI_DISTRIBUTION_HPP\r
+#define BOOST_RANDOM_BERNOULLI_DISTRIBUTION_HPP\r
+\r
+#include <cassert>\r
+#include <iostream>\r
+#include <boost/random/detail/config.hpp>\r
+\r
+namespace boost {\r
+\r
+// Bernoulli distribution: p(true) = p, p(false) = 1-p   (boolean)\r
+template<class RealType = double>\r
+class bernoulli_distribution\r
+{\r
+public:\r
+  // In principle, this could work with both integer and floating-point\r
+  // types.  Generating floating-point random numbers in the first\r
+  // place is probably more expensive, so use integer as input.\r
+  typedef int input_type;\r
+  typedef bool result_type;\r
+\r
+  explicit bernoulli_distribution(const RealType& p_arg = RealType(0.5)) \r
+    : _p(p_arg)\r
+  {\r
+    assert(_p >= 0);\r
+    assert(_p <= 1);\r
+  }\r
+\r
+  // compiler-generated copy ctor and assignment operator are fine\r
+\r
+  RealType p() const { return _p; }\r
+  void reset() { }\r
+\r
+  template<class Engine>\r
+  result_type operator()(Engine& eng)\r
+  {\r
+    if(_p == RealType(0))\r
+      return false;\r
+    else\r
+      return RealType(eng() - (eng.min)()) <= _p * RealType((eng.max)()-(eng.min)());\r
+  }\r
+\r
+#ifndef BOOST_RANDOM_NO_STREAM_OPERATORS\r
+  template<class CharT, class Traits>\r
+  friend std::basic_ostream<CharT,Traits>&\r
+  operator<<(std::basic_ostream<CharT,Traits>& os, const bernoulli_distribution& bd)\r
+  {\r
+    os << bd._p;\r
+    return os;\r
+  }\r
+\r
+  template<class CharT, class Traits>\r
+  friend std::basic_istream<CharT,Traits>&\r
+  operator>>(std::basic_istream<CharT,Traits>& is, bernoulli_distribution& bd)\r
+  {\r
+    is >> std::ws >> bd._p;\r
+    return is;\r
+  }\r
+#endif\r
+\r
+private:\r
+  RealType _p;\r
+};\r
+\r
+} // namespace boost\r
+\r
+#endif // BOOST_RANDOM_BERNOULLI_DISTRIBUTION_HPP\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/random/binomial_distribution.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/random/binomial_distribution.hpp
new file mode 100644 (file)
index 0000000..952142f
--- /dev/null
@@ -0,0 +1,82 @@
+/* boost random/binomial_distribution.hpp header file\r
+ *\r
+ * Copyright Jens Maurer 2002\r
+ * Distributed under the Boost Software License, Version 1.0. (See\r
+ * accompanying file LICENSE_1_0.txt or copy at\r
+ * http://www.boost.org/LICENSE_1_0.txt)\r
+ *\r
+ * See http://www.boost.org for most recent version including documentation.\r
+ *\r
+ * $Id: binomial_distribution.hpp 52492 2009-04-19 14:55:57Z steven_watanabe $\r
+ *\r
+ */\r
+\r
+#ifndef BOOST_RANDOM_BINOMIAL_DISTRIBUTION_HPP\r
+#define BOOST_RANDOM_BINOMIAL_DISTRIBUTION_HPP\r
+\r
+#include <boost/config/no_tr1/cmath.hpp>\r
+#include <cassert>\r
+#include <boost/random/detail/config.hpp>\r
+#include <boost/random/bernoulli_distribution.hpp>\r
+\r
+namespace boost {\r
+\r
+// Knuth\r
+template<class IntType = int, class RealType = double>\r
+class binomial_distribution\r
+{\r
+public:\r
+  typedef typename bernoulli_distribution<RealType>::input_type input_type;\r
+  typedef IntType result_type;\r
+\r
+  explicit binomial_distribution(IntType t_arg = 1,\r
+                                 const RealType& p_arg = RealType(0.5))\r
+    : _bernoulli(p_arg), _t(t_arg)\r
+  {\r
+    assert(_t >= 0);\r
+    assert(RealType(0) <= p_arg && p_arg <= RealType(1));\r
+  }\r
+\r
+  // compiler-generated copy ctor and assignment operator are fine\r
+\r
+  IntType t() const { return _t; }\r
+  RealType p() const { return _bernoulli.p(); }\r
+  void reset() { }\r
+\r
+  template<class Engine>\r
+  result_type operator()(Engine& eng)\r
+  {\r
+    // TODO: This is O(_t), but it should be O(log(_t)) for large _t\r
+    result_type n = 0;\r
+    for(IntType i = 0; i < _t; ++i)\r
+      if(_bernoulli(eng))\r
+        ++n;\r
+    return n;\r
+  }\r
+\r
+#ifndef BOOST_RANDOM_NO_STREAM_OPERATORS\r
+  template<class CharT, class Traits>\r
+  friend std::basic_ostream<CharT,Traits>&\r
+  operator<<(std::basic_ostream<CharT,Traits>& os, const binomial_distribution& bd)\r
+  {\r
+    os << bd._bernoulli << " " << bd._t;\r
+    return os;\r
+  }\r
+\r
+  template<class CharT, class Traits>\r
+  friend std::basic_istream<CharT,Traits>&\r
+  operator>>(std::basic_istream<CharT,Traits>& is, binomial_distribution& bd)\r
+  {\r
+    is >> std::ws >> bd._bernoulli >> std::ws >> bd._t;\r
+    return is;\r
+  }\r
+#endif\r
+\r
+private:\r
+  bernoulli_distribution<RealType> _bernoulli;\r
+  IntType _t;\r
+};\r
+\r
+} // namespace boost\r
+\r
+#endif // BOOST_RANDOM_BINOMIAL_DISTRIBUTION_HPP\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/random/cauchy_distribution.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/random/cauchy_distribution.hpp
new file mode 100644 (file)
index 0000000..3388212
--- /dev/null
@@ -0,0 +1,90 @@
+/* boost random/cauchy_distribution.hpp header file\r
+ *\r
+ * Copyright Jens Maurer 2000-2001\r
+ * Distributed under the Boost Software License, Version 1.0. (See\r
+ * accompanying file LICENSE_1_0.txt or copy at\r
+ * http://www.boost.org/LICENSE_1_0.txt)\r
+ *\r
+ * See http://www.boost.org for most recent version including documentation.\r
+ *\r
+ * $Id: cauchy_distribution.hpp 52492 2009-04-19 14:55:57Z steven_watanabe $\r
+ *\r
+ * Revision history\r
+ *  2001-02-18  moved to individual header files\r
+ */\r
+\r
+#ifndef BOOST_RANDOM_CAUCHY_DISTRIBUTION_HPP\r
+#define BOOST_RANDOM_CAUCHY_DISTRIBUTION_HPP\r
+\r
+#include <boost/config/no_tr1/cmath.hpp>\r
+#include <iostream>\r
+#include <boost/limits.hpp>\r
+#include <boost/static_assert.hpp>\r
+#include <boost/random/detail/config.hpp>\r
+\r
+namespace boost {\r
+\r
+#if defined(__GNUC__) && (__GNUC__ < 3)\r
+// Special gcc workaround: gcc 2.95.x ignores using-declarations\r
+// in template classes (confirmed by gcc author Martin v. Loewis)\r
+  using std::tan;\r
+#endif\r
+\r
+// Cauchy distribution: p(x) = sigma/(pi*(sigma**2 + (x-median)**2))\r
+template<class RealType = double>\r
+class cauchy_distribution\r
+{\r
+public:\r
+  typedef RealType input_type;\r
+  typedef RealType result_type;\r
+\r
+#ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS\r
+  BOOST_STATIC_ASSERT(!std::numeric_limits<RealType>::is_integer);\r
+#endif\r
+\r
+  explicit cauchy_distribution(result_type median_arg = result_type(0), \r
+                               result_type sigma_arg = result_type(1))\r
+    : _median(median_arg), _sigma(sigma_arg) { }\r
+\r
+  // compiler-generated copy ctor and assignment operator are fine\r
+\r
+  result_type median() const { return _median; }\r
+  result_type sigma() const { return _sigma; }\r
+  void reset() { }\r
+\r
+  template<class Engine>\r
+  result_type operator()(Engine& eng)\r
+  {\r
+    // Can we have a boost::mathconst please?\r
+    const result_type pi = result_type(3.14159265358979323846);\r
+#ifndef BOOST_NO_STDC_NAMESPACE\r
+    using std::tan;\r
+#endif\r
+    return _median + _sigma * tan(pi*(eng()-result_type(0.5)));\r
+  }\r
+\r
+#ifndef BOOST_RANDOM_NO_STREAM_OPERATORS\r
+  template<class CharT, class Traits>\r
+  friend std::basic_ostream<CharT,Traits>&\r
+  operator<<(std::basic_ostream<CharT,Traits>& os, const cauchy_distribution& cd)\r
+  {\r
+    os << cd._median << " " << cd._sigma;\r
+    return os;\r
+  }\r
+\r
+  template<class CharT, class Traits>\r
+  friend std::basic_istream<CharT,Traits>&\r
+  operator>>(std::basic_istream<CharT,Traits>& is, cauchy_distribution& cd)\r
+  {\r
+    is >> std::ws >> cd._median >> std::ws >> cd._sigma;\r
+    return is;\r
+  }\r
+#endif\r
+\r
+private:\r
+  result_type _median, _sigma;\r
+};\r
+\r
+} // namespace boost\r
+\r
+#endif // BOOST_RANDOM_CAUCHY_DISTRIBUTION_HPP\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/random/detail/config.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/random/detail/config.hpp
new file mode 100644 (file)
index 0000000..bb83453
--- /dev/null
@@ -0,0 +1,18 @@
+/* boost random/detail/config.hpp header file\r
+ *\r
+ * Copyright Steven Watanabe 2009\r
+ * Distributed under the Boost Software License, Version 1.0. (See\r
+ * accompanying file LICENSE_1_0.txt or copy at\r
+ * http://www.boost.org/LICENSE_1_0.txt)\r
+ *\r
+ * See http://www.boost.org for most recent version including documentation.\r
+ *\r
+ * $Id: config.hpp 52492 2009-04-19 14:55:57Z steven_watanabe $\r
+ */\r
+\r
+#include <boost/config.hpp>\r
+\r
+#if (defined(BOOST_NO_OPERATORS_IN_NAMESPACE) || defined(BOOST_NO_MEMBER_TEMPLATE_FRIENDS)) \\r
+    && !defined(BOOST_MSVC)\r
+    #define BOOST_RANDOM_NO_STREAM_OPERATORS\r
+#endif\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/random/detail/const_mod.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/random/detail/const_mod.hpp
new file mode 100644 (file)
index 0000000..07f7545
--- /dev/null
@@ -0,0 +1,363 @@
+/* boost random/detail/const_mod.hpp header file\r
+ *\r
+ * Copyright Jens Maurer 2000-2001\r
+ * Distributed under the Boost Software License, Version 1.0. (See\r
+ * accompanying file LICENSE_1_0.txt or copy at\r
+ * http://www.boost.org/LICENSE_1_0.txt)\r
+ *\r
+ * See http://www.boost.org for most recent version including documentation.\r
+ *\r
+ * $Id: const_mod.hpp 58649 2010-01-02 21:23:17Z steven_watanabe $\r
+ *\r
+ * Revision history\r
+ *  2001-02-18  moved to individual header files\r
+ */\r
+\r
+#ifndef BOOST_RANDOM_CONST_MOD_HPP\r
+#define BOOST_RANDOM_CONST_MOD_HPP\r
+\r
+#include <cassert>\r
+#include <boost/static_assert.hpp>\r
+#include <boost/cstdint.hpp>\r
+#include <boost/integer_traits.hpp>\r
+#include <boost/detail/workaround.hpp>\r
+\r
+#include <boost/random/detail/disable_warnings.hpp>\r
+\r
+namespace boost {\r
+namespace random {\r
+\r
+/*\r
+ * Some random number generators require modular arithmetic.  Put\r
+ * everything we need here.\r
+ * IntType must be an integral type.\r
+ */\r
+\r
+namespace detail {\r
+\r
+  template<bool is_signed>\r
+  struct do_add\r
+  { };\r
+\r
+  template<>\r
+  struct do_add<true>\r
+  {\r
+    template<class IntType>\r
+    static IntType add(IntType m, IntType x, IntType c)\r
+    {\r
+      if (x < m - c)\r
+        return x + c;\r
+      else\r
+        return x - (m-c);\r
+    }\r
+  };\r
+\r
+  template<>\r
+  struct do_add<false>\r
+  {\r
+    template<class IntType>\r
+    static IntType add(IntType, IntType, IntType)\r
+    {\r
+      // difficult\r
+      assert(!"const_mod::add with c too large");\r
+      return 0;\r
+    }\r
+  };\r
+} // namespace detail\r
+\r
+#if !(defined(__BORLANDC__) && (__BORLANDC__ == 0x560))\r
+\r
+template<class IntType, IntType m>\r
+class const_mod\r
+{\r
+public:\r
+  static IntType add(IntType x, IntType c)\r
+  {\r
+    if(c == 0)\r
+      return x;\r
+    else if(c <= traits::const_max - m)    // i.e. m+c < max\r
+      return add_small(x, c);\r
+    else\r
+      return detail::do_add<traits::is_signed>::add(m, x, c);\r
+  }\r
+\r
+  static IntType mult(IntType a, IntType x)\r
+  {\r
+    if(a == 1)\r
+      return x;\r
+    else if(m <= traits::const_max/a)      // i.e. a*m <= max\r
+      return mult_small(a, x);\r
+    else if(traits::is_signed && (m%a < m/a))\r
+      return mult_schrage(a, x);\r
+    else {\r
+      // difficult\r
+      assert(!"const_mod::mult with a too large");\r
+      return 0;\r
+    }\r
+  }\r
+\r
+  static IntType mult_add(IntType a, IntType x, IntType c)\r
+  {\r
+    if(m <= (traits::const_max-c)/a)   // i.e. a*m+c <= max\r
+      return (a*x+c) % m;\r
+    else\r
+      return add(mult(a, x), c);\r
+  }\r
+\r
+  static IntType invert(IntType x)\r
+  { return x == 0 ? 0 : invert_euclidian(x); }\r
+\r
+private:\r
+  typedef integer_traits<IntType> traits;\r
+\r
+  const_mod();      // don't instantiate\r
+\r
+  static IntType add_small(IntType x, IntType c)\r
+  {\r
+    x += c;\r
+    if(x >= m)\r
+      x -= m;\r
+    return x;\r
+  }\r
+\r
+  static IntType mult_small(IntType a, IntType x)\r
+  {\r
+    return a*x % m;\r
+  }\r
+\r
+  static IntType mult_schrage(IntType a, IntType value)\r
+  {\r
+    const IntType q = m / a;\r
+    const IntType r = m % a;\r
+\r
+    assert(r < q);        // check that overflow cannot happen\r
+\r
+    value = a*(value%q) - r*(value/q);\r
+    // An optimizer bug in the SGI MIPSpro 7.3.1.x compiler requires this\r
+    // convoluted formulation of the loop (Synge Todo)\r
+    for(;;) {\r
+      if (value > 0)\r
+        break;\r
+      value += m;\r
+    }\r
+    return value;\r
+  }\r
+\r
+  // invert c in the finite field (mod m) (m must be prime)\r
+  static IntType invert_euclidian(IntType c)\r
+  {\r
+    // we are interested in the gcd factor for c, because this is our inverse\r
+    BOOST_STATIC_ASSERT(m > 0);\r
+#if BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3003))\r
+    assert(boost::integer_traits<IntType>::is_signed);\r
+#elif !defined(BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS)\r
+    BOOST_STATIC_ASSERT(boost::integer_traits<IntType>::is_signed);\r
+#endif\r
+    assert(c > 0);\r
+    IntType l1 = 0;\r
+    IntType l2 = 1;\r
+    IntType n = c;\r
+    IntType p = m;\r
+    for(;;) {\r
+      IntType q = p / n;\r
+      l1 -= q * l2;           // this requires a signed IntType!\r
+      p -= q * n;\r
+      if(p == 0)\r
+        return (l2 < 1 ? l2 + m : l2);\r
+      IntType q2 = n / p;\r
+      l2 -= q2 * l1;\r
+      n -= q2 * p;\r
+      if(n == 0)\r
+        return (l1 < 1 ? l1 + m : l1);\r
+    }\r
+  }\r
+};\r
+\r
+// The modulus is exactly the word size: rely on machine overflow handling.\r
+// Due to a GCC bug, we cannot partially specialize in the presence of\r
+// template value parameters.\r
+template<>\r
+class const_mod<unsigned int, 0>\r
+{\r
+  typedef unsigned int IntType;\r
+public:\r
+  static IntType add(IntType x, IntType c) { return x+c; }\r
+  static IntType mult(IntType a, IntType x) { return a*x; }\r
+  static IntType mult_add(IntType a, IntType x, IntType c) { return a*x+c; }\r
+\r
+  // m is not prime, thus invert is not useful\r
+private:                      // don't instantiate\r
+  const_mod();\r
+};\r
+\r
+template<>\r
+class const_mod<unsigned long, 0>\r
+{\r
+  typedef unsigned long IntType;\r
+public:\r
+  static IntType add(IntType x, IntType c) { return x+c; }\r
+  static IntType mult(IntType a, IntType x) { return a*x; }\r
+  static IntType mult_add(IntType a, IntType x, IntType c) { return a*x+c; }\r
+\r
+  // m is not prime, thus invert is not useful\r
+private:                      // don't instantiate\r
+  const_mod();\r
+};\r
+\r
+// the modulus is some power of 2: rely partly on machine overflow handling\r
+// we only specialize for rand48 at the moment\r
+#ifndef BOOST_NO_INT64_T\r
+template<>\r
+class const_mod<uint64_t, uint64_t(1) << 48>\r
+{\r
+  typedef uint64_t IntType;\r
+public:\r
+  static IntType add(IntType x, IntType c) { return c == 0 ? x : mod(x+c); }\r
+  static IntType mult(IntType a, IntType x) { return mod(a*x); }\r
+  static IntType mult_add(IntType a, IntType x, IntType c)\r
+    { return mod(a*x+c); }\r
+  static IntType mod(IntType x) { return x &= ((uint64_t(1) << 48)-1); }\r
+\r
+  // m is not prime, thus invert is not useful\r
+private:                      // don't instantiate\r
+  const_mod();\r
+};\r
+#endif /* !BOOST_NO_INT64_T */\r
+\r
+#else\r
+\r
+//\r
+// for some reason Borland C++ Builder 6 has problems with\r
+// the full specialisations of const_mod, define a generic version\r
+// instead, the compiler will optimise away the const-if statements:\r
+//\r
+\r
+template<class IntType, IntType m>\r
+class const_mod\r
+{\r
+public:\r
+  static IntType add(IntType x, IntType c)\r
+  {\r
+    if(0 == m)\r
+    {\r
+       return x+c;\r
+    }\r
+    else\r
+    {\r
+       if(c == 0)\r
+         return x;\r
+       else if(c <= traits::const_max - m)    // i.e. m+c < max\r
+         return add_small(x, c);\r
+       else\r
+         return detail::do_add<traits::is_signed>::add(m, x, c);\r
+    }\r
+  }\r
+\r
+  static IntType mult(IntType a, IntType x)\r
+  {\r
+    if(x == 0)\r
+    {\r
+       return a*x;\r
+    }\r
+    else\r
+    {\r
+       if(a == 1)\r
+         return x;\r
+       else if(m <= traits::const_max/a)      // i.e. a*m <= max\r
+         return mult_small(a, x);\r
+       else if(traits::is_signed && (m%a < m/a))\r
+         return mult_schrage(a, x);\r
+       else {\r
+         // difficult\r
+         assert(!"const_mod::mult with a too large");\r
+         return 0;\r
+       }\r
+    }\r
+  }\r
+\r
+  static IntType mult_add(IntType a, IntType x, IntType c)\r
+  {\r
+    if(m == 0)\r
+    {\r
+       return a*x+c;\r
+    }\r
+    else\r
+    {\r
+       if(m <= (traits::const_max-c)/a)   // i.e. a*m+c <= max\r
+         return (a*x+c) % m;\r
+       else\r
+         return add(mult(a, x), c);\r
+    }\r
+  }\r
+\r
+  static IntType invert(IntType x)\r
+  { return x == 0 ? 0 : invert_euclidian(x); }\r
+\r
+private:\r
+  typedef integer_traits<IntType> traits;\r
+\r
+  const_mod();      // don't instantiate\r
+\r
+  static IntType add_small(IntType x, IntType c)\r
+  {\r
+    x += c;\r
+    if(x >= m)\r
+      x -= m;\r
+    return x;\r
+  }\r
+\r
+  static IntType mult_small(IntType a, IntType x)\r
+  {\r
+    return a*x % m;\r
+  }\r
+\r
+  static IntType mult_schrage(IntType a, IntType value)\r
+  {\r
+    const IntType q = m / a;\r
+    const IntType r = m % a;\r
+\r
+    assert(r < q);        // check that overflow cannot happen\r
+\r
+    value = a*(value%q) - r*(value/q);\r
+    while(value <= 0)\r
+      value += m;\r
+    return value;\r
+  }\r
+\r
+  // invert c in the finite field (mod m) (m must be prime)\r
+  static IntType invert_euclidian(IntType c)\r
+  {\r
+    // we are interested in the gcd factor for c, because this is our inverse\r
+    BOOST_STATIC_ASSERT(m > 0);\r
+#ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS\r
+    BOOST_STATIC_ASSERT(boost::integer_traits<IntType>::is_signed);\r
+#endif\r
+    assert(c > 0);\r
+    IntType l1 = 0;\r
+    IntType l2 = 1;\r
+    IntType n = c;\r
+    IntType p = m;\r
+    for(;;) {\r
+      IntType q = p / n;\r
+      l1 -= q * l2;           // this requires a signed IntType!\r
+      p -= q * n;\r
+      if(p == 0)\r
+        return (l2 < 1 ? l2 + m : l2);\r
+      IntType q2 = n / p;\r
+      l2 -= q2 * l1;\r
+      n -= q2 * p;\r
+      if(n == 0)\r
+        return (l1 < 1 ? l1 + m : l1);\r
+    }\r
+  }\r
+};\r
+\r
+\r
+#endif\r
+\r
+} // namespace random\r
+} // namespace boost\r
+\r
+#include <boost/random/detail/enable_warnings.hpp>\r
+\r
+#endif // BOOST_RANDOM_CONST_MOD_HPP\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/random/detail/disable_warnings.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/random/detail/disable_warnings.hpp
new file mode 100644 (file)
index 0000000..c638d2a
--- /dev/null
@@ -0,0 +1,22 @@
+/* boost random/detail/disable_warnings.hpp header file\r
+ *\r
+ * Copyright Steven Watanabe 2009\r
+ * Distributed under the Boost Software License, Version 1.0. (See\r
+ * accompanying file LICENSE_1_0.txt or copy at\r
+ * http://www.boost.org/LICENSE_1_0.txt)\r
+ *\r
+ * See http://www.boost.org for most recent version including documentation.\r
+ *\r
+ * $Id: disable_warnings.hpp 58649 2010-01-02 21:23:17Z steven_watanabe $\r
+ *\r
+ */\r
+\r
+// No #include guard.  This header is intended to be included multiple times.\r
+\r
+#include <boost/config.hpp>\r
+\r
+#ifdef BOOST_MSVC\r
+#pragma warning(push)\r
+#pragma warning(disable:4512)\r
+#pragma warning(disable:4127)\r
+#endif\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/random/detail/enable_warnings.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/random/detail/enable_warnings.hpp
new file mode 100644 (file)
index 0000000..12f0840
--- /dev/null
@@ -0,0 +1,18 @@
+/* boost random/detail/enable_warnings.hpp header file\r
+ *\r
+ * Copyright Steven Watanabe 2009\r
+ * Distributed under the Boost Software License, Version 1.0. (See\r
+ * accompanying file LICENSE_1_0.txt or copy at\r
+ * http://www.boost.org/LICENSE_1_0.txt)\r
+ *\r
+ * See http://www.boost.org for most recent version including documentation.\r
+ *\r
+ * $Id: enable_warnings.hpp 58649 2010-01-02 21:23:17Z steven_watanabe $\r
+ *\r
+ */\r
+\r
+// No #include guard.  This header is intended to be included multiple times.\r
+\r
+#ifdef BOOST_MSVC\r
+#pragma warning(pop)\r
+#endif\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/random/detail/iterator_mixin.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/random/detail/iterator_mixin.hpp
new file mode 100644 (file)
index 0000000..ca67ebb
--- /dev/null
@@ -0,0 +1,45 @@
+/* boost random/detail/iterator_mixin.hpp header file\r
+ *\r
+ * Copyright Jens Maurer 2000-2001\r
+ * Distributed under the Boost Software License, Version 1.0. (See\r
+ * accompanying file LICENSE_1_0.txt or copy at\r
+ * http://www.boost.org/LICENSE_1_0.txt)\r
+ *\r
+ * See http://www.boost.org for most recent version including documentation.\r
+ *\r
+ * Revision history\r
+ */\r
+\r
+#ifndef BOOST_ITERATOR_MIXIN_HPP\r
+#define BOOST_ITERATOR_MIXIN_HPP\r
+\r
+#include <boost/operators.hpp>\r
+\r
+namespace boost {\r
+\r
+// must be in boost namespace, otherwise the inline friend trick fails\r
+template<class Generator, class ResultType>\r
+class generator_iterator_mixin_adapter\r
+  : incrementable<Generator>, equality_comparable<Generator>\r
+{\r
+public:\r
+  typedef std::input_iterator_tag iterator_category;\r
+  typedef ResultType value_type;\r
+  typedef std::ptrdiff_t difference_type;\r
+  typedef const value_type * pointer;\r
+  typedef const value_type & reference;\r
+  Generator& operator++() { v = cast()(); return cast(); }\r
+  const value_type& operator*() const { return v; }\r
+\r
+protected:\r
+  // instantiate from derived classes only\r
+  generator_iterator_mixin_adapter() { }\r
+  void iterator_init() { operator++(); }\r
+private:\r
+  Generator & cast() { return static_cast<Generator&>(*this); }\r
+  value_type v;\r
+};\r
+\r
+} // namespace boost\r
+\r
+#endif // BOOST_ITERATOR_MIXIN_HPP\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/random/detail/pass_through_engine.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/random/detail/pass_through_engine.hpp
new file mode 100644 (file)
index 0000000..8627025
--- /dev/null
@@ -0,0 +1,100 @@
+/* boost random/detail/uniform_int_float.hpp header file\r
+ *\r
+ * Copyright Jens Maurer 2000-2001\r
+ * Distributed under the Boost Software License, Version 1.0. (See\r
+ * accompanying file LICENSE_1_0.txt or copy at\r
+ * http://www.boost.org/LICENSE_1_0.txt)\r
+ *\r
+ * See http://www.boost.org for most recent version including documentation.\r
+ *\r
+ * $Id: pass_through_engine.hpp 58649 2010-01-02 21:23:17Z steven_watanabe $\r
+ *\r
+ */\r
+\r
+#ifndef BOOST_RANDOM_DETAIL_PASS_THROUGH_ENGINE_HPP\r
+#define BOOST_RANDOM_DETAIL_PASS_THROUGH_ENGINE_HPP\r
+\r
+#include <boost/config.hpp>\r
+#include <boost/random/detail/ptr_helper.hpp>\r
+#include <boost/random/detail/disable_warnings.hpp>\r
+\r
+namespace boost {\r
+namespace random {\r
+namespace detail {\r
+\r
+template<class UniformRandomNumberGenerator>\r
+class pass_through_engine\r
+{\r
+private:\r
+  typedef ptr_helper<UniformRandomNumberGenerator> helper_type;\r
+\r
+public:\r
+  typedef typename helper_type::value_type base_type;\r
+  typedef typename base_type::result_type result_type;\r
+\r
+  explicit pass_through_engine(UniformRandomNumberGenerator rng)\r
+    // make argument an rvalue to avoid matching Generator& constructor\r
+    : _rng(static_cast<typename helper_type::rvalue_type>(rng))\r
+  { }\r
+\r
+  result_type min BOOST_PREVENT_MACRO_SUBSTITUTION () const { return (base().min)(); }\r
+  result_type max BOOST_PREVENT_MACRO_SUBSTITUTION () const { return (base().max)(); }\r
+  base_type& base() { return helper_type::ref(_rng); }\r
+  const base_type& base() const { return helper_type::ref(_rng); }\r
+\r
+  result_type operator()() { return base()(); }\r
+\r
+private:\r
+  UniformRandomNumberGenerator _rng;\r
+};\r
+\r
+#ifndef BOOST_NO_STD_LOCALE\r
+\r
+template<class UniformRandomNumberGenerator, class CharT, class Traits>\r
+std::basic_ostream<CharT,Traits>&\r
+operator<<(\r
+    std::basic_ostream<CharT,Traits>& os\r
+    , const pass_through_engine<UniformRandomNumberGenerator>& ud\r
+    )\r
+{\r
+    return os << ud.base();\r
+}\r
+\r
+template<class UniformRandomNumberGenerator, class CharT, class Traits>\r
+std::basic_istream<CharT,Traits>&\r
+operator>>(\r
+    std::basic_istream<CharT,Traits>& is\r
+    , const pass_through_engine<UniformRandomNumberGenerator>& ud\r
+    )\r
+{\r
+    return is >> ud.base();\r
+}\r
+\r
+#else // no new streams\r
+\r
+template<class UniformRandomNumberGenerator>\r
+inline std::ostream&\r
+operator<<(std::ostream& os, \r
+           const pass_through_engine<UniformRandomNumberGenerator>& ud)\r
+{\r
+    return os << ud.base();\r
+}\r
+\r
+template<class UniformRandomNumberGenerator>\r
+inline std::istream&\r
+operator>>(std::istream& is, \r
+           const pass_through_engine<UniformRandomNumberGenerator>& ud)\r
+{\r
+    return is >> ud.base();\r
+}\r
+\r
+#endif\r
+\r
+} // namespace detail\r
+} // namespace random\r
+} // namespace boost\r
+\r
+#include <boost/random/detail/enable_warnings.hpp>\r
+\r
+#endif // BOOST_RANDOM_DETAIL_PASS_THROUGH_ENGINE_HPP\r
+\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/random/detail/ptr_helper.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/random/detail/ptr_helper.hpp
new file mode 100644 (file)
index 0000000..d583afe
--- /dev/null
@@ -0,0 +1,94 @@
+/* boost random/detail/ptr_helper.hpp header file\r
+ *\r
+ * Copyright Jens Maurer 2002\r
+ * Distributed under the Boost Software License, Version 1.0. (See\r
+ * accompanying file LICENSE_1_0.txt or copy at\r
+ * http://www.boost.org/LICENSE_1_0.txt)\r
+ *\r
+ * See http://www.boost.org for most recent version including documentation.\r
+ *\r
+ * $Id: ptr_helper.hpp 24096 2004-07-27 03:43:34Z dgregor $\r
+ *\r
+ */\r
+\r
+#ifndef BOOST_RANDOM_DETAIL_PTR_HELPER_HPP\r
+#define BOOST_RANDOM_DETAIL_PTR_HELPER_HPP\r
+\r
+#include <boost/config.hpp>\r
+\r
+\r
+namespace boost {\r
+namespace random {\r
+namespace detail {\r
+\r
+// type_traits could help here, but I don't want to depend on type_traits.\r
+template<class T>\r
+struct ptr_helper\r
+{\r
+  typedef T value_type;\r
+  typedef T& reference_type;\r
+  typedef const T& rvalue_type;\r
+  static reference_type ref(T& r) { return r; }\r
+  static const T& ref(const T& r) { return r; }\r
+};\r
+\r
+#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+template<class T>\r
+struct ptr_helper<T&>\r
+{\r
+  typedef T value_type;\r
+  typedef T& reference_type;\r
+  typedef T& rvalue_type;\r
+  static reference_type ref(T& r) { return r; }\r
+  static const T& ref(const T& r) { return r; }\r
+};\r
+\r
+template<class T>\r
+struct ptr_helper<T*>\r
+{\r
+  typedef T value_type;\r
+  typedef T& reference_type;\r
+  typedef T* rvalue_type;\r
+  static reference_type ref(T * p) { return *p; }\r
+  static const T& ref(const T * p) { return *p; }\r
+};\r
+#endif\r
+\r
+} // namespace detail\r
+} // namespace random\r
+} // namespace boost\r
+\r
+//\r
+// BOOST_RANDOM_PTR_HELPER_SPEC --\r
+//\r
+//  Helper macro for broken compilers defines specializations of\r
+//  ptr_helper.\r
+//\r
+#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+# define BOOST_RANDOM_PTR_HELPER_SPEC(T)                \\r
+namespace boost { namespace random { namespace detail { \\r
+template<>                                              \\r
+struct ptr_helper<T&>                                   \\r
+{                                                       \\r
+  typedef T value_type;                                 \\r
+  typedef T& reference_type;                            \\r
+  typedef T& rvalue_type;                               \\r
+  static reference_type ref(T& r) { return r; }         \\r
+  static const T& ref(const T& r) { return r; }         \\r
+};                                                      \\r
+                                                        \\r
+template<>                                              \\r
+struct ptr_helper<T*>                                   \\r
+{                                                       \\r
+  typedef T value_type;                                 \\r
+  typedef T& reference_type;                            \\r
+  typedef T* rvalue_type;                               \\r
+  static reference_type ref(T * p) { return *p; }       \\r
+  static const T& ref(const T * p) { return *p; }       \\r
+};                                                      \\r
+}}}\r
+#else\r
+# define BOOST_RANDOM_PTR_HELPER_SPEC(T)\r
+#endif \r
+\r
+#endif // BOOST_RANDOM_DETAIL_PTR_HELPER_HPP\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/random/detail/seed.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/random/detail/seed.hpp
new file mode 100644 (file)
index 0000000..f6a7f04
--- /dev/null
@@ -0,0 +1,88 @@
+/* boost random/detail/seed.hpp header file\r
+ *\r
+ * Copyright Steven Watanabe 2009\r
+ * Distributed under the Boost Software License, Version 1.0. (See\r
+ * accompanying file LICENSE_1_0.txt or copy at\r
+ * http://www.boost.org/LICENSE_1_0.txt)\r
+ *\r
+ * See http://www.boost.org for most recent version including documentation.\r
+ *\r
+ * $Id: seed.hpp 53871 2009-06-13 17:54:06Z steven_watanabe $\r
+ */\r
+\r
+#ifndef BOOST_RANDOM_DETAIL_SEED_HPP\r
+#define BOOST_RANDOM_DETAIL_SEED_HPP\r
+\r
+#include <boost/config.hpp>\r
+\r
+#if !defined(BOOST_NO_SFINAE)\r
+\r
+#include <boost/utility/enable_if.hpp>\r
+#include <boost/type_traits/is_arithmetic.hpp>\r
+\r
+namespace boost {\r
+namespace random {\r
+namespace detail {\r
+\r
+template<class T>\r
+struct disable_seed : boost::disable_if<boost::is_arithmetic<T> > {};\r
+\r
+template<class Engine, class T>\r
+struct disable_constructor : disable_seed<T> {};\r
+\r
+template<class Engine>\r
+struct disable_constructor<Engine, Engine> {\r
+};\r
+\r
+#define BOOST_RANDOM_DETAIL_GENERATOR_CONSTRUCTOR(Self, Generator, gen) \\r
+    template<class Generator>                                           \\r
+    explicit Self(Generator& gen, typename ::boost::random::detail::disable_constructor<Self, Generator>::type* = 0)\r
+\r
+#define BOOST_RANDOM_DETAIL_GENERATOR_SEED(Self, Generator, gen)    \\r
+    template<class Generator>                                       \\r
+    void seed(Generator& gen, typename ::boost::random::detail::disable_seed<Generator>::type* = 0)\r
+\r
+#define BOOST_RANDOM_DETAIL_ARITHMETIC_CONSTRUCTOR(Self, T, x)  \\r
+    explicit Self(const T& x)\r
+\r
+#define BOOST_RANDOM_DETAIL_ARITHMETIC_SEED(Self, T, x) \\r
+    void seed(const T& x)\r
+\r
+}\r
+}\r
+}\r
+\r
+#else\r
+\r
+#include <boost/type_traits/is_arithmetic.hpp>\r
+#include <boost/mpl/bool.hpp>\r
+\r
+#define BOOST_RANDOM_DETAIL_GENERATOR_CONSTRUCTOR(Self, Generator, gen) \\r
+    Self(Self& other) { *this = other; }                                \\r
+    Self(const Self& other) { *this = other; }                          \\r
+    template<class Generator>                                           \\r
+    explicit Self(Generator& gen) {                                     \\r
+        boost_random_constructor_impl(gen, ::boost::is_arithmetic<Generator>());\\r
+    }                                                                   \\r
+    template<class Generator>                                           \\r
+    void boost_random_constructor_impl(Generator& gen, ::boost::mpl::false_)\r
+\r
+#define BOOST_RANDOM_DETAIL_GENERATOR_SEED(Self, Generator, gen)    \\r
+    template<class Generator>                                       \\r
+    void seed(Generator& gen) {                                     \\r
+        boost_random_seed_impl(gen, ::boost::is_arithmetic<Generator>());\\r
+    }\\r
+    template<class Generator>\\r
+    void boost_random_seed_impl(Generator& gen, ::boost::mpl::false_)\r
+\r
+#define BOOST_RANDOM_DETAIL_ARITHMETIC_CONSTRUCTOR(Self, T, x)  \\r
+    explicit Self(const T& x) { boost_random_constructor_impl(x, ::boost::mpl::true_()); }\\r
+    void boost_random_constructor_impl(const T& x, ::boost::mpl::true_)\r
+\r
+#define BOOST_RANDOM_DETAIL_ARITHMETIC_SEED(Self, T, x) \\r
+    void seed(const T& x) { boost_random_seed_impl(x, ::boost::mpl::true_()); }\\r
+    void boost_random_seed_impl(const T& x, ::boost::mpl::true_)\r
+\r
+#endif\r
+\r
+#endif\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/random/detail/signed_unsigned_tools.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/random/detail/signed_unsigned_tools.hpp
new file mode 100644 (file)
index 0000000..c1344a3
--- /dev/null
@@ -0,0 +1,89 @@
+/* boost random/detail/signed_unsigned_tools.hpp header file\r
+ *\r
+ * Copyright Jens Maurer 2006\r
+ * Distributed under the Boost Software License, Version 1.0. (See\r
+ * accompanying file LICENSE_1_0.txt or copy at\r
+ * http://www.boost.org/LICENSE_1_0.txt)\r
+ *\r
+ * See http://www.boost.org for most recent version including documentation.\r
+ */\r
+\r
+#ifndef BOOST_RANDOM_DETAIL_SIGNED_UNSIGNED_TOOLS\r
+#define BOOST_RANDOM_DETAIL_SIGNED_UNSIGNED_TOOLS\r
+\r
+#include <boost/limits.hpp>\r
+#include <boost/config.hpp>\r
+#include <boost/type_traits/make_unsigned.hpp>\r
+\r
+namespace boost {\r
+namespace random {\r
+namespace detail {\r
+\r
+\r
+/*\r
+ * Compute x - y, we know that x >= y, return an unsigned value.\r
+ */\r
+\r
+template<class T, bool sgn = std::numeric_limits<T>::is_signed>\r
+struct subtract { };\r
+\r
+template<class T>\r
+struct subtract<T, /* signed */ false>\r
+{\r
+  typedef T result_type;\r
+  result_type operator()(T x, T y) { return x - y; }\r
+};\r
+\r
+template<class T>\r
+struct subtract<T, /* signed */ true>\r
+{\r
+  typedef typename make_unsigned<T>::type result_type;\r
+  result_type operator()(T x, T y)\r
+  {\r
+    if (y >= 0)   // because x >= y, it follows that x >= 0, too\r
+      return result_type(x) - result_type(y);\r
+    if (x >= 0)   // y < 0\r
+      // avoid the nasty two's complement case for y == min()\r
+      return result_type(x) + result_type(-(y+1)) + 1;\r
+    // both x and y are negative: no signed overflow\r
+    return result_type(x - y);\r
+  }\r
+};\r
+\r
+/*\r
+ * Compute x + y, x is unsigned, result fits in type of "y".\r
+ */\r
+\r
+template<class T1, class T2, bool sgn = std::numeric_limits<T2>::is_signed>\r
+struct add { };\r
+\r
+template<class T1, class T2>\r
+struct add<T1, T2, /* signed */ false>\r
+{\r
+  typedef T2 result_type;\r
+  result_type operator()(T1 x, T2 y) { return T2(x) + y; }\r
+};\r
+\r
+template<class T1, class T2>\r
+struct add<T1, T2, /* signed */ true>\r
+{\r
+  typedef T2 result_type;\r
+  result_type operator()(T1 x, T2 y)\r
+  {\r
+    if (y >= 0)\r
+      return T2(x) + y;\r
+    // y < 0\r
+    if (x >= T1(-(y+1)))  // result >= 0 after subtraction\r
+      // avoid the nasty two's complement edge case for y == min()\r
+      return T2(x - T1(-(y+1)) - 1);\r
+    // abs(x) < abs(y), thus T2 able to represent x\r
+    return T2(x) + y;\r
+  }\r
+};\r
+\r
+} // namespace detail\r
+} // namespace random\r
+} // namespace boost\r
+\r
+#endif // BOOST_RANDOM_DETAIL_SIGNED_UNSIGNED_TOOLS\r
+\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/random/detail/uniform_int_float.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/random/detail/uniform_int_float.hpp
new file mode 100644 (file)
index 0000000..8475f1b
--- /dev/null
@@ -0,0 +1,85 @@
+/* boost random/detail/uniform_int_float.hpp header file\r
+ *\r
+ * Copyright Jens Maurer 2000-2001\r
+ * Distributed under the Boost Software License, Version 1.0. (See\r
+ * accompanying file LICENSE_1_0.txt or copy at\r
+ * http://www.boost.org/LICENSE_1_0.txt)\r
+ *\r
+ * See http://www.boost.org for most recent version including documentation.\r
+ *\r
+ * $Id: uniform_int_float.hpp 52492 2009-04-19 14:55:57Z steven_watanabe $\r
+ *\r
+ */\r
+\r
+#ifndef BOOST_RANDOM_DETAIL_UNIFORM_INT_FLOAT_HPP\r
+#define BOOST_RANDOM_DETAIL_UNIFORM_INT_FLOAT_HPP\r
+\r
+#include <boost/config.hpp>\r
+#include <boost/random/detail/config.hpp>\r
+#include <boost/random/uniform_01.hpp>\r
+\r
+\r
+namespace boost {\r
+namespace random {\r
+namespace detail {\r
+\r
+template<class UniformRandomNumberGenerator, class IntType = unsigned long>\r
+class uniform_int_float\r
+{\r
+public:\r
+  typedef UniformRandomNumberGenerator base_type;\r
+  typedef IntType result_type;\r
+\r
+  uniform_int_float(base_type rng, IntType min_arg = 0, IntType max_arg = 0xffffffff)\r
+    : _rng(rng), _min(min_arg), _max(max_arg)\r
+  {\r
+    init();\r
+  }\r
+\r
+  result_type min BOOST_PREVENT_MACRO_SUBSTITUTION () const { return _min; }\r
+  result_type max BOOST_PREVENT_MACRO_SUBSTITUTION () const { return _max; }\r
+  base_type& base() { return _rng.base(); }\r
+  const base_type& base() const { return _rng.base(); }\r
+\r
+  result_type operator()()\r
+  {\r
+    return static_cast<IntType>(_rng() * _range) + _min;\r
+  }\r
+\r
+#ifndef BOOST_RANDOM_NO_STREAM_OPERATORS\r
+  template<class CharT, class Traits>\r
+  friend std::basic_ostream<CharT,Traits>&\r
+  operator<<(std::basic_ostream<CharT,Traits>& os, const uniform_int_float& ud)\r
+  {\r
+    os << ud._min << " " << ud._max;\r
+    return os;\r
+  }\r
+\r
+  template<class CharT, class Traits>\r
+  friend std::basic_istream<CharT,Traits>&\r
+  operator>>(std::basic_istream<CharT,Traits>& is, uniform_int_float& ud)\r
+  {\r
+    is >> std::ws >> ud._min >> std::ws >> ud._max;\r
+    ud.init();\r
+    return is;\r
+  }\r
+#endif\r
+\r
+private:\r
+  void init()\r
+  {\r
+    _range = static_cast<base_result>(_max-_min)+1;\r
+  }\r
+\r
+  typedef typename base_type::result_type base_result;\r
+  uniform_01<base_type> _rng;\r
+  result_type _min, _max;\r
+  base_result _range;\r
+};\r
+\r
+\r
+} // namespace detail\r
+} // namespace random\r
+} // namespace boost\r
+\r
+#endif // BOOST_RANDOM_DETAIL_UNIFORM_INT_FLOAT_HPP\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/random/discard_block.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/random/discard_block.hpp
new file mode 100644 (file)
index 0000000..100115c
--- /dev/null
@@ -0,0 +1,123 @@
+/* boost random/discard_block.hpp header file\r
+ *\r
+ * Copyright Jens Maurer 2002\r
+ * Distributed under the Boost Software License, Version 1.0. (See\r
+ * accompanying file LICENSE_1_0.txt or copy at\r
+ * http://www.boost.org/LICENSE_1_0.txt)\r
+ *\r
+ * See http://www.boost.org for most recent version including documentation.\r
+ *\r
+ * $Id: discard_block.hpp 53871 2009-06-13 17:54:06Z steven_watanabe $\r
+ *\r
+ * Revision history\r
+ *  2001-03-02  created\r
+ */\r
+\r
+#ifndef BOOST_RANDOM_DISCARD_BLOCK_HPP\r
+#define BOOST_RANDOM_DISCARD_BLOCK_HPP\r
+\r
+#include <iostream>\r
+#include <boost/config.hpp>\r
+#include <boost/limits.hpp>\r
+#include <boost/static_assert.hpp>\r
+#include <boost/random/detail/config.hpp>\r
+\r
+\r
+namespace boost {\r
+namespace random {\r
+\r
+template<class UniformRandomNumberGenerator, unsigned int p, unsigned int r>\r
+class discard_block\r
+{\r
+public:\r
+  typedef UniformRandomNumberGenerator base_type;\r
+  typedef typename base_type::result_type result_type;\r
+\r
+  BOOST_STATIC_CONSTANT(bool, has_fixed_range = false);\r
+  BOOST_STATIC_CONSTANT(unsigned int, total_block = p);\r
+  BOOST_STATIC_CONSTANT(unsigned int, returned_block = r);\r
+\r
+#ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS\r
+  BOOST_STATIC_ASSERT(total_block >= returned_block);\r
+#endif\r
+\r
+  discard_block() : _rng(), _n(0) { }\r
+  explicit discard_block(const base_type & rng) : _rng(rng), _n(0) { }\r
+  template<class T> explicit discard_block(T s) : _rng(s), _n(0) {}\r
+  template<class It> discard_block(It& first, It last)\r
+    : _rng(first, last), _n(0) { }\r
+  void seed() { _rng.seed(); _n = 0; }\r
+  template<class T> void seed(T s) { _rng.seed(s); _n = 0; }\r
+  template<class It> void seed(It& first, It last)\r
+  { _n = 0; _rng.seed(first, last); }\r
+\r
+  const base_type& base() const { return _rng; }\r
+\r
+  result_type operator()()\r
+  {\r
+    if(_n >= returned_block) {\r
+      // discard values of random number generator\r
+      for( ; _n < total_block; ++_n)\r
+        _rng();\r
+      _n = 0;\r
+    }\r
+    ++_n;\r
+    return _rng();\r
+  }\r
+\r
+  result_type min BOOST_PREVENT_MACRO_SUBSTITUTION () const { return (_rng.min)(); }\r
+  result_type max BOOST_PREVENT_MACRO_SUBSTITUTION () const { return (_rng.max)(); }\r
+  static bool validation(result_type x) { return true; }  // dummy\r
+\r
+#ifndef BOOST_NO_OPERATORS_IN_NAMESPACE\r
+\r
+#ifndef BOOST_RANDOM_NO_STREAM_OPERATORS\r
+  template<class CharT, class Traits>\r
+  friend std::basic_ostream<CharT,Traits>&\r
+  operator<<(std::basic_ostream<CharT,Traits>& os, const discard_block& s)\r
+  {\r
+    os << s._rng << " " << s._n << " ";\r
+    return os;\r
+  }\r
+\r
+  template<class CharT, class Traits>\r
+  friend std::basic_istream<CharT,Traits>&\r
+  operator>>(std::basic_istream<CharT,Traits>& is, discard_block& s)\r
+  {\r
+    is >> s._rng >> std::ws >> s._n >> std::ws;\r
+    return is;\r
+  }\r
+#endif\r
+\r
+  friend bool operator==(const discard_block& x, const discard_block& y)\r
+  { return x._rng == y._rng && x._n == y._n; }\r
+  friend bool operator!=(const discard_block& x, const discard_block& y)\r
+  { return !(x == y); }\r
+#else\r
+  // Use a member function; Streamable concept not supported.\r
+  bool operator==(const discard_block& rhs) const\r
+  { return _rng == rhs._rng && _n == rhs._n; }\r
+  bool operator!=(const discard_block& rhs) const\r
+  { return !(*this == rhs); }\r
+#endif\r
+\r
+private:\r
+  base_type _rng;\r
+  unsigned int _n;\r
+};\r
+\r
+#ifndef BOOST_NO_INCLASS_MEMBER_INITIALIZATION\r
+//  A definition is required even for integral static constants\r
+template<class UniformRandomNumberGenerator, unsigned int p, unsigned int r>\r
+const bool discard_block<UniformRandomNumberGenerator, p, r>::has_fixed_range;\r
+template<class UniformRandomNumberGenerator, unsigned int p, unsigned int r>\r
+const unsigned int discard_block<UniformRandomNumberGenerator, p, r>::total_block;\r
+template<class UniformRandomNumberGenerator, unsigned int p, unsigned int r>\r
+const unsigned int discard_block<UniformRandomNumberGenerator, p, r>::returned_block;\r
+#endif\r
+\r
+} // namespace random\r
+\r
+} // namespace boost\r
+\r
+#endif // BOOST_RANDOM_DISCARD_BLOCK_HPP\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/random/exponential_distribution.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/random/exponential_distribution.hpp
new file mode 100644 (file)
index 0000000..8a6fc64
--- /dev/null
@@ -0,0 +1,82 @@
+/* boost random/exponential_distribution.hpp header file\r
+ *\r
+ * Copyright Jens Maurer 2000-2001\r
+ * Distributed under the Boost Software License, Version 1.0. (See\r
+ * accompanying file LICENSE_1_0.txt or copy at\r
+ * http://www.boost.org/LICENSE_1_0.txt)\r
+ *\r
+ * See http://www.boost.org for most recent version including documentation.\r
+ *\r
+ * $Id: exponential_distribution.hpp 52492 2009-04-19 14:55:57Z steven_watanabe $\r
+ *\r
+ * Revision history\r
+ *  2001-02-18  moved to individual header files\r
+ */\r
+\r
+#ifndef BOOST_RANDOM_EXPONENTIAL_DISTRIBUTION_HPP\r
+#define BOOST_RANDOM_EXPONENTIAL_DISTRIBUTION_HPP\r
+\r
+#include <boost/config/no_tr1/cmath.hpp>\r
+#include <cassert>\r
+#include <iostream>\r
+#include <boost/limits.hpp>\r
+#include <boost/static_assert.hpp>\r
+#include <boost/random/detail/config.hpp>\r
+\r
+namespace boost {\r
+\r
+// exponential distribution: p(x) = lambda * exp(-lambda * x)\r
+template<class RealType = double>\r
+class exponential_distribution\r
+{\r
+public:\r
+  typedef RealType input_type;\r
+  typedef RealType result_type;\r
+\r
+#if !defined(BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS) && !(defined(BOOST_MSVC) && BOOST_MSVC <= 1300)\r
+  BOOST_STATIC_ASSERT(!std::numeric_limits<RealType>::is_integer);\r
+#endif\r
+\r
+  explicit exponential_distribution(result_type lambda_arg = result_type(1))\r
+    : _lambda(lambda_arg) { assert(_lambda > result_type(0)); }\r
+\r
+  // compiler-generated copy ctor and assignment operator are fine\r
+\r
+  result_type lambda() const { return _lambda; }\r
+\r
+  void reset() { }\r
+\r
+  template<class Engine>\r
+  result_type operator()(Engine& eng)\r
+  { \r
+#ifndef BOOST_NO_STDC_NAMESPACE\r
+    using std::log;\r
+#endif\r
+    return -result_type(1) / _lambda * log(result_type(1)-eng());\r
+  }\r
+\r
+#ifndef BOOST_RANDOM_NO_STREAM_OPERATORS\r
+  template<class CharT, class Traits>\r
+  friend std::basic_ostream<CharT,Traits>&\r
+  operator<<(std::basic_ostream<CharT,Traits>& os, const exponential_distribution& ed)\r
+  {\r
+    os << ed._lambda;\r
+    return os;\r
+  }\r
+\r
+  template<class CharT, class Traits>\r
+  friend std::basic_istream<CharT,Traits>&\r
+  operator>>(std::basic_istream<CharT,Traits>& is, exponential_distribution& ed)\r
+  {\r
+    is >> std::ws >> ed._lambda;\r
+    return is;\r
+  }\r
+#endif\r
+\r
+private:\r
+  result_type _lambda;\r
+};\r
+\r
+} // namespace boost\r
+\r
+#endif // BOOST_RANDOM_EXPONENTIAL_DISTRIBUTION_HPP\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/random/gamma_distribution.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/random/gamma_distribution.hpp
new file mode 100644 (file)
index 0000000..fca8644
--- /dev/null
@@ -0,0 +1,134 @@
+/* boost random/gamma_distribution.hpp header file\r
+ *\r
+ * Copyright Jens Maurer 2002\r
+ * Distributed under the Boost Software License, Version 1.0. (See\r
+ * accompanying file LICENSE_1_0.txt or copy at\r
+ * http://www.boost.org/LICENSE_1_0.txt)\r
+ *\r
+ * See http://www.boost.org for most recent version including documentation.\r
+ *\r
+ * $Id: gamma_distribution.hpp 52492 2009-04-19 14:55:57Z steven_watanabe $\r
+ *\r
+ */\r
+\r
+#ifndef BOOST_RANDOM_GAMMA_DISTRIBUTION_HPP\r
+#define BOOST_RANDOM_GAMMA_DISTRIBUTION_HPP\r
+\r
+#include <boost/config/no_tr1/cmath.hpp>\r
+#include <cassert>\r
+#include <boost/limits.hpp>\r
+#include <boost/static_assert.hpp>\r
+#include <boost/random/detail/config.hpp>\r
+#include <boost/random/exponential_distribution.hpp>\r
+\r
+namespace boost {\r
+\r
+// Knuth\r
+template<class RealType = double>\r
+class gamma_distribution\r
+{\r
+public:\r
+  typedef RealType input_type;\r
+  typedef RealType result_type;\r
+\r
+#ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS\r
+  BOOST_STATIC_ASSERT(!std::numeric_limits<RealType>::is_integer);\r
+#endif\r
+\r
+  explicit gamma_distribution(const result_type& alpha_arg = result_type(1))\r
+    : _exp(result_type(1)), _alpha(alpha_arg)\r
+  {\r
+    assert(_alpha > result_type(0));\r
+    init();\r
+  }\r
+\r
+  // compiler-generated copy ctor and assignment operator are fine\r
+\r
+  RealType alpha() const { return _alpha; }\r
+\r
+  void reset() { _exp.reset(); }\r
+\r
+  template<class Engine>\r
+  result_type operator()(Engine& eng)\r
+  {\r
+#ifndef BOOST_NO_STDC_NAMESPACE\r
+    // allow for Koenig lookup\r
+    using std::tan; using std::sqrt; using std::exp; using std::log;\r
+    using std::pow;\r
+#endif\r
+    if(_alpha == result_type(1)) {\r
+      return _exp(eng);\r
+    } else if(_alpha > result_type(1)) {\r
+      // Can we have a boost::mathconst please?\r
+      const result_type pi = result_type(3.14159265358979323846);\r
+      for(;;) {\r
+        result_type y = tan(pi * eng());\r
+        result_type x = sqrt(result_type(2)*_alpha-result_type(1))*y\r
+          + _alpha-result_type(1);\r
+        if(x <= result_type(0))\r
+          continue;\r
+        if(eng() >\r
+           (result_type(1)+y*y) * exp((_alpha-result_type(1))\r
+                                        *log(x/(_alpha-result_type(1)))\r
+                                        - sqrt(result_type(2)*_alpha\r
+                                               -result_type(1))*y))\r
+          continue;\r
+        return x;\r
+      }\r
+    } else /* alpha < 1.0 */ {\r
+      for(;;) {\r
+        result_type u = eng();\r
+        result_type y = _exp(eng);\r
+        result_type x, q;\r
+        if(u < _p) {\r
+          x = exp(-y/_alpha);\r
+          q = _p*exp(-x);\r
+        } else {\r
+          x = result_type(1)+y;\r
+          q = _p + (result_type(1)-_p) * pow(x, _alpha-result_type(1));\r
+        }\r
+        if(u >= q)\r
+          continue;\r
+        return x;\r
+      }\r
+    }\r
+  }\r
+\r
+#ifndef BOOST_RANDOM_NO_STREAM_OPERATORS\r
+  template<class CharT, class Traits>\r
+  friend std::basic_ostream<CharT,Traits>&\r
+  operator<<(std::basic_ostream<CharT,Traits>& os, const gamma_distribution& gd)\r
+  {\r
+    os << gd._alpha;\r
+    return os;\r
+  }\r
+\r
+  template<class CharT, class Traits>\r
+  friend std::basic_istream<CharT,Traits>&\r
+  operator>>(std::basic_istream<CharT,Traits>& is, gamma_distribution& gd)\r
+  {\r
+    is >> std::ws >> gd._alpha;\r
+    gd.init();\r
+    return is;\r
+  }\r
+#endif\r
+\r
+private:\r
+  void init()\r
+  {\r
+#ifndef BOOST_NO_STDC_NAMESPACE\r
+    // allow for Koenig lookup\r
+    using std::exp;\r
+#endif\r
+    _p = exp(result_type(1)) / (_alpha + exp(result_type(1)));\r
+  }\r
+\r
+  exponential_distribution<RealType> _exp;\r
+  result_type _alpha;\r
+  // some data precomputed from the parameters\r
+  result_type _p;\r
+};\r
+\r
+} // namespace boost\r
+\r
+#endif // BOOST_RANDOM_GAMMA_DISTRIBUTION_HPP\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/random/geometric_distribution.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/random/geometric_distribution.hpp
new file mode 100644 (file)
index 0000000..261bd47
--- /dev/null
@@ -0,0 +1,98 @@
+/* boost random/geometric_distribution.hpp header file\r
+ *\r
+ * Copyright Jens Maurer 2000-2001\r
+ * Distributed under the Boost Software License, Version 1.0. (See\r
+ * accompanying file LICENSE_1_0.txt or copy at\r
+ * http://www.boost.org/LICENSE_1_0.txt)\r
+ *\r
+ * See http://www.boost.org for most recent version including documentation.\r
+ *\r
+ * $Id: geometric_distribution.hpp 52492 2009-04-19 14:55:57Z steven_watanabe $\r
+ *\r
+ * Revision history\r
+ *  2001-02-18  moved to individual header files\r
+ */\r
+\r
+#ifndef BOOST_RANDOM_GEOMETRIC_DISTRIBUTION_HPP\r
+#define BOOST_RANDOM_GEOMETRIC_DISTRIBUTION_HPP\r
+\r
+#include <boost/config/no_tr1/cmath.hpp>          // std::log\r
+#include <cassert>\r
+#include <iostream>\r
+#include <boost/random/detail/config.hpp>\r
+#include <boost/random/uniform_01.hpp>\r
+\r
+namespace boost {\r
+\r
+#if defined(__GNUC__) && (__GNUC__ < 3)\r
+// Special gcc workaround: gcc 2.95.x ignores using-declarations\r
+// in template classes (confirmed by gcc author Martin v. Loewis)\r
+  using std::log;\r
+#endif\r
+\r
+// geometric distribution: p(i) = (1-p) * pow(p, i-1)   (integer)\r
+template<class IntType = int, class RealType = double>\r
+class geometric_distribution\r
+{\r
+public:\r
+  typedef RealType input_type;\r
+  typedef IntType result_type;\r
+\r
+  explicit geometric_distribution(const RealType& p_arg = RealType(0.5))\r
+    : _p(p_arg)\r
+  {\r
+    assert(RealType(0) < _p && _p < RealType(1));\r
+    init();\r
+  }\r
+\r
+  // compiler-generated copy ctor and assignment operator are fine\r
+\r
+  RealType p() const { return _p; }\r
+  void reset() { }\r
+\r
+  template<class Engine>\r
+  result_type operator()(Engine& eng)\r
+  {\r
+#ifndef BOOST_NO_STDC_NAMESPACE\r
+    using std::log;\r
+    using std::floor;\r
+#endif\r
+    return IntType(floor(log(RealType(1)-eng()) / _log_p)) + IntType(1);\r
+  }\r
+\r
+#ifndef BOOST_RANDOM_NO_STREAM_OPERATORS\r
+  template<class CharT, class Traits>\r
+  friend std::basic_ostream<CharT,Traits>&\r
+  operator<<(std::basic_ostream<CharT,Traits>& os, const geometric_distribution& gd)\r
+  {\r
+    os << gd._p;\r
+    return os;\r
+  }\r
+\r
+  template<class CharT, class Traits>\r
+  friend std::basic_istream<CharT,Traits>&\r
+  operator>>(std::basic_istream<CharT,Traits>& is, geometric_distribution& gd)\r
+  {\r
+    is >> std::ws >> gd._p;\r
+    gd.init();\r
+    return is;\r
+  }\r
+#endif\r
+\r
+private:\r
+  void init()\r
+  {\r
+#ifndef BOOST_NO_STDC_NAMESPACE\r
+    using std::log;\r
+#endif\r
+    _log_p = log(_p);\r
+  }\r
+\r
+  RealType _p;\r
+  RealType _log_p;\r
+};\r
+\r
+} // namespace boost\r
+\r
+#endif // BOOST_RANDOM_GEOMETRIC_DISTRIBUTION_HPP\r
+\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/random/inversive_congruential.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/random/inversive_congruential.hpp
new file mode 100644 (file)
index 0000000..294cd52
--- /dev/null
@@ -0,0 +1,129 @@
+/* boost random/inversive_congruential.hpp header file\r
+ *\r
+ * Copyright Jens Maurer 2000-2001\r
+ * Distributed under the Boost Software License, Version 1.0. (See\r
+ * accompanying file LICENSE_1_0.txt or copy at\r
+ * http://www.boost.org/LICENSE_1_0.txt)\r
+ *\r
+ * See http://www.boost.org for most recent version including documentation.\r
+ *\r
+ * $Id: inversive_congruential.hpp 52492 2009-04-19 14:55:57Z steven_watanabe $\r
+ *\r
+ * Revision history\r
+ *  2001-02-18  moved to individual header files\r
+ */\r
+\r
+#ifndef BOOST_RANDOM_INVERSIVE_CONGRUENTIAL_HPP\r
+#define BOOST_RANDOM_INVERSIVE_CONGRUENTIAL_HPP\r
+\r
+#include <iostream>\r
+#include <cassert>\r
+#include <stdexcept>\r
+#include <boost/config.hpp>\r
+#include <boost/static_assert.hpp>\r
+#include <boost/random/detail/config.hpp>\r
+#include <boost/random/detail/const_mod.hpp>\r
+\r
+namespace boost {\r
+namespace random {\r
+\r
+// Eichenauer and Lehn 1986\r
+template<class IntType, IntType a, IntType b, IntType p, IntType val>\r
+class inversive_congruential\r
+{\r
+public:\r
+  typedef IntType result_type;\r
+#ifndef BOOST_NO_INCLASS_MEMBER_INITIALIZATION\r
+  static const bool has_fixed_range = true;\r
+  static const result_type min_value = (b == 0 ? 1 : 0);\r
+  static const result_type max_value = p-1;\r
+#else\r
+  BOOST_STATIC_CONSTANT(bool, has_fixed_range = false);\r
+#endif\r
+  BOOST_STATIC_CONSTANT(result_type, multiplier = a);\r
+  BOOST_STATIC_CONSTANT(result_type, increment = b);\r
+  BOOST_STATIC_CONSTANT(result_type, modulus = p);\r
+\r
+  result_type min BOOST_PREVENT_MACRO_SUBSTITUTION () const { return b == 0 ? 1 : 0; }\r
+  result_type max BOOST_PREVENT_MACRO_SUBSTITUTION () const { return p-1; }\r
+\r
+  explicit inversive_congruential(IntType y0 = 1) : value(y0)\r
+  {\r
+    BOOST_STATIC_ASSERT(b >= 0);\r
+    BOOST_STATIC_ASSERT(p > 1);\r
+    BOOST_STATIC_ASSERT(a >= 1);\r
+    if(b == 0) \r
+      assert(y0 > 0); \r
+  }\r
+  template<class It> inversive_congruential(It& first, It last)\r
+  { seed(first, last); }\r
+\r
+  void seed(IntType y0 = 1) { value = y0; if(b == 0) assert(y0 > 0); }\r
+  template<class It> void seed(It& first, It last)\r
+  {\r
+    if(first == last)\r
+      throw std::invalid_argument("inversive_congruential::seed");\r
+    value = *first++;\r
+  }\r
+  IntType operator()()\r
+  {\r
+    typedef const_mod<IntType, p> do_mod;\r
+    value = do_mod::mult_add(a, do_mod::invert(value), b);\r
+    return value;\r
+  }\r
+\r
+  static bool validation(result_type x) { return val == x; }\r
+\r
+#ifndef BOOST_NO_OPERATORS_IN_NAMESPACE\r
+\r
+#ifndef BOOST_RANDOM_NO_STREAM_OPERATORS\r
+  template<class CharT, class Traits>\r
+  friend std::basic_ostream<CharT,Traits>&\r
+  operator<<(std::basic_ostream<CharT,Traits>& os, inversive_congruential x)\r
+  { os << x.value; return os; }\r
+\r
+  template<class CharT, class Traits>\r
+  friend std::basic_istream<CharT,Traits>&\r
+  operator>>(std::basic_istream<CharT,Traits>& is, inversive_congruential& x)\r
+  { is >> x.value; return is; }\r
+#endif\r
+\r
+  friend bool operator==(inversive_congruential x, inversive_congruential y)\r
+  { return x.value == y.value; }\r
+  friend bool operator!=(inversive_congruential x, inversive_congruential y)\r
+  { return !(x == y); }\r
+#else\r
+  // Use a member function; Streamable concept not supported.\r
+  bool operator==(inversive_congruential rhs) const\r
+  { return value == rhs.value; }\r
+  bool operator!=(inversive_congruential rhs) const\r
+  { return !(*this == rhs); }\r
+#endif\r
+private:\r
+  IntType value;\r
+};\r
+\r
+#ifndef BOOST_NO_INCLASS_MEMBER_INITIALIZATION\r
+//  A definition is required even for integral static constants\r
+template<class IntType, IntType a, IntType b, IntType p, IntType val>\r
+const bool inversive_congruential<IntType, a, b, p, val>::has_fixed_range;\r
+template<class IntType, IntType a, IntType b, IntType p, IntType val>\r
+const typename inversive_congruential<IntType, a, b, p, val>::result_type inversive_congruential<IntType, a, b, p, val>::min_value;\r
+template<class IntType, IntType a, IntType b, IntType p, IntType val>\r
+const typename inversive_congruential<IntType, a, b, p, val>::result_type inversive_congruential<IntType, a, b, p, val>::max_value;\r
+template<class IntType, IntType a, IntType b, IntType p, IntType val>\r
+const typename inversive_congruential<IntType, a, b, p, val>::result_type inversive_congruential<IntType, a, b, p, val>::multiplier;\r
+template<class IntType, IntType a, IntType b, IntType p, IntType val>\r
+const typename inversive_congruential<IntType, a, b, p, val>::result_type inversive_congruential<IntType, a, b, p, val>::increment;\r
+template<class IntType, IntType a, IntType b, IntType p, IntType val>\r
+const typename inversive_congruential<IntType, a, b, p, val>::result_type inversive_congruential<IntType, a, b, p, val>::modulus;\r
+#endif\r
+\r
+} // namespace random\r
+\r
+typedef random::inversive_congruential<int32_t, 9102, 2147483647-36884165,\r
+  2147483647, 0> hellekalek1995;\r
+\r
+} // namespace boost\r
+\r
+#endif // BOOST_RANDOM_INVERSIVE_CONGRUENTIAL_HPP\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/random/lagged_fibonacci.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/random/lagged_fibonacci.hpp
new file mode 100644 (file)
index 0000000..4c46ed2
--- /dev/null
@@ -0,0 +1,469 @@
+/* boost random/lagged_fibonacci.hpp header file\r
+ *\r
+ * Copyright Jens Maurer 2000-2001\r
+ * Distributed under the Boost Software License, Version 1.0. (See\r
+ * accompanying file LICENSE_1_0.txt or copy at\r
+ * http://www.boost.org/LICENSE_1_0.txt)\r
+ *\r
+ * See http://www.boost.org for most recent version including documentation.\r
+ *\r
+ * $Id: lagged_fibonacci.hpp 53871 2009-06-13 17:54:06Z steven_watanabe $\r
+ *\r
+ * Revision history\r
+ *  2001-02-18  moved to individual header files\r
+ */\r
+\r
+#ifndef BOOST_RANDOM_LAGGED_FIBONACCI_HPP\r
+#define BOOST_RANDOM_LAGGED_FIBONACCI_HPP\r
+\r
+#include <boost/config/no_tr1/cmath.hpp>\r
+#include <iostream>\r
+#include <algorithm>     // std::max\r
+#include <iterator>\r
+#include <boost/config/no_tr1/cmath.hpp>         // std::pow\r
+#include <boost/config.hpp>\r
+#include <boost/limits.hpp>\r
+#include <boost/cstdint.hpp>\r
+#include <boost/detail/workaround.hpp>\r
+#include <boost/random/linear_congruential.hpp>\r
+#include <boost/random/uniform_01.hpp>\r
+#include <boost/random/detail/config.hpp>\r
+#include <boost/random/detail/seed.hpp>\r
+#include <boost/random/detail/pass_through_engine.hpp>\r
+\r
+namespace boost {\r
+namespace random {\r
+\r
+#if BOOST_WORKAROUND(_MSC_FULL_VER, BOOST_TESTED_AT(13102292)) && BOOST_MSVC > 1300\r
+#  define BOOST_RANDOM_EXTRACT_LF\r
+#endif\r
+\r
+#if defined(__APPLE_CC__) && defined(__GNUC__) && (__GNUC__ == 3) && (__GNUC_MINOR__ <= 3)\r
+#  define BOOST_RANDOM_EXTRACT_LF\r
+#endif\r
+\r
+#  ifdef BOOST_RANDOM_EXTRACT_LF\r
+namespace detail\r
+{\r
+  template<class IStream, class F, class RealType>\r
+  IStream&\r
+  extract_lagged_fibonacci_01(\r
+      IStream& is\r
+      , F const& f\r
+      , unsigned int& i\r
+      , RealType* x\r
+      , RealType modulus)\r
+  {\r
+        is >> i >> std::ws;\r
+        for(unsigned int i = 0; i < f.long_lag; ++i)\r
+        {\r
+            RealType value;\r
+            is >> value >> std::ws;\r
+            x[i] = value / modulus;\r
+        }\r
+        return is;\r
+  }\r
+\r
+  template<class IStream, class F, class UIntType>\r
+  IStream&\r
+  extract_lagged_fibonacci(\r
+      IStream& is\r
+      , F const& f\r
+      , unsigned int& i\r
+      , UIntType* x)\r
+  {\r
+      is >> i >> std::ws;\r
+      for(unsigned int i = 0; i < f.long_lag; ++i)\r
+          is >> x[i] >> std::ws;\r
+      return is;\r
+  }\r
+}\r
+#  endif\r
+\r
+template<class UIntType, int w, unsigned int p, unsigned int q,\r
+         UIntType val = 0>\r
+class lagged_fibonacci\r
+{\r
+public:\r
+  typedef UIntType result_type;\r
+  BOOST_STATIC_CONSTANT(bool, has_fixed_range = false);\r
+  BOOST_STATIC_CONSTANT(int, word_size = w);\r
+  BOOST_STATIC_CONSTANT(unsigned int, long_lag = p);\r
+  BOOST_STATIC_CONSTANT(unsigned int, short_lag = q);\r
+\r
+  result_type min BOOST_PREVENT_MACRO_SUBSTITUTION () const { return 0; }\r
+  result_type max BOOST_PREVENT_MACRO_SUBSTITUTION () const { return wordmask; }\r
+\r
+  lagged_fibonacci() { init_wordmask(); seed(); }\r
+  explicit lagged_fibonacci(uint32_t value) { init_wordmask(); seed(value); }\r
+  template<class It> lagged_fibonacci(It& first, It last)\r
+  { init_wordmask(); seed(first, last); }\r
+  // compiler-generated copy ctor and assignment operator are fine\r
+\r
+private:\r
+  void init_wordmask()\r
+  {\r
+    wordmask = 0;\r
+    for(int j = 0; j < w; ++j)\r
+      wordmask |= (1u << j);\r
+  }\r
+\r
+public:\r
+  void seed(uint32_t value = 331u)\r
+  {\r
+    minstd_rand0 gen(value);\r
+    for(unsigned int j = 0; j < long_lag; ++j)\r
+      x[j] = gen() & wordmask;\r
+    i = long_lag;\r
+  }\r
+\r
+  template<class It>\r
+  void seed(It& first, It last)\r
+  {\r
+    // word size could be smaller than the seed values\r
+    unsigned int j;\r
+    for(j = 0; j < long_lag && first != last; ++j, ++first)\r
+      x[j] = *first & wordmask;\r
+    i = long_lag;\r
+    if(first == last && j < long_lag)\r
+      throw std::invalid_argument("lagged_fibonacci::seed");\r
+  }\r
+\r
+  result_type operator()()\r
+  {\r
+    if(i >= long_lag)\r
+      fill();\r
+    return x[i++];\r
+  }\r
+\r
+  static bool validation(result_type x)\r
+  {\r
+    return x == val;\r
+  }\r
+  \r
+#ifndef BOOST_NO_OPERATORS_IN_NAMESPACE\r
+\r
+#ifndef BOOST_RANDOM_NO_STREAM_OPERATORS\r
+  template<class CharT, class Traits>\r
+  friend std::basic_ostream<CharT,Traits>&\r
+  operator<<(std::basic_ostream<CharT,Traits>& os, const lagged_fibonacci& f)\r
+  {\r
+    os << f.i << " ";\r
+    for(unsigned int i = 0; i < f.long_lag; ++i)\r
+      os << f.x[i] << " ";\r
+    return os;\r
+  }\r
+\r
+  template<class CharT, class Traits>\r
+  friend std::basic_istream<CharT, Traits>&\r
+  operator>>(std::basic_istream<CharT, Traits>& is, lagged_fibonacci& f)\r
+  {\r
+# ifdef BOOST_RANDOM_EXTRACT_LF\r
+      return detail::extract_lagged_fibonacci(is, f, f.i, f.x);\r
+# else\r
+      is >> f.i >> std::ws;\r
+      for(unsigned int i = 0; i < f.long_lag; ++i)\r
+          is >> f.x[i] >> std::ws;\r
+      return is;\r
+# endif \r
+  }\r
+#endif\r
+\r
+  friend bool operator==(const lagged_fibonacci& x, const lagged_fibonacci& y)\r
+  { return x.i == y.i && std::equal(x.x, x.x+long_lag, y.x); }\r
+  friend bool operator!=(const lagged_fibonacci& x,\r
+                         const lagged_fibonacci& y)\r
+  { return !(x == y); }\r
+#else\r
+  // Use a member function; Streamable concept not supported.\r
+  bool operator==(const lagged_fibonacci& rhs) const\r
+  { return i == rhs.i && std::equal(x, x+long_lag, rhs.x); }\r
+  bool operator!=(const lagged_fibonacci& rhs) const\r
+  { return !(*this == rhs); }\r
+#endif\r
+\r
+private:\r
+  void fill();\r
+  UIntType wordmask;\r
+  unsigned int i;\r
+  UIntType x[long_lag];\r
+};\r
+\r
+#ifndef BOOST_NO_INCLASS_MEMBER_INITIALIZATION\r
+//  A definition is required even for integral static constants\r
+template<class UIntType, int w, unsigned int p, unsigned int q, UIntType val>\r
+const bool lagged_fibonacci<UIntType, w, p, q, val>::has_fixed_range;\r
+template<class UIntType, int w, unsigned int p, unsigned int q, UIntType val>\r
+const unsigned int lagged_fibonacci<UIntType, w, p, q, val>::long_lag;\r
+template<class UIntType, int w, unsigned int p, unsigned int q, UIntType val>\r
+const unsigned int lagged_fibonacci<UIntType, w, p, q, val>::short_lag;\r
+#endif\r
+\r
+template<class UIntType, int w, unsigned int p, unsigned int q, UIntType val>\r
+void lagged_fibonacci<UIntType, w, p, q, val>::fill()\r
+{\r
+  // two loops to avoid costly modulo operations\r
+  {  // extra scope for MSVC brokenness w.r.t. for scope\r
+  for(unsigned int j = 0; j < short_lag; ++j)\r
+    x[j] = (x[j] + x[j+(long_lag-short_lag)]) & wordmask;\r
+  }\r
+  for(unsigned int j = short_lag; j < long_lag; ++j)\r
+    x[j] = (x[j] + x[j-short_lag]) & wordmask;\r
+  i = 0;\r
+}\r
+\r
+\r
+\r
+// lagged Fibonacci generator for the range [0..1)\r
+// contributed by Matthias Troyer\r
+// for p=55, q=24 originally by G. J. Mitchell and D. P. Moore 1958\r
+\r
+template<class T, unsigned int p, unsigned int q>\r
+struct fibonacci_validation\r
+{\r
+  BOOST_STATIC_CONSTANT(bool, is_specialized = false);\r
+  static T value() { return 0; }\r
+  static T tolerance() { return 0; }\r
+};\r
+\r
+#ifndef BOOST_NO_INCLASS_MEMBER_INITIALIZATION\r
+//  A definition is required even for integral static constants\r
+template<class T, unsigned int p, unsigned int q>\r
+const bool fibonacci_validation<T, p, q>::is_specialized;\r
+#endif\r
+\r
+#define BOOST_RANDOM_FIBONACCI_VAL(T,P,Q,V,E) \\r
+template<> \\r
+struct fibonacci_validation<T, P, Q>  \\r
+{                                     \\r
+  BOOST_STATIC_CONSTANT(bool, is_specialized = true);     \\r
+  static T value() { return V; }      \\r
+  static T tolerance()                \\r
+{ return (std::max)(E, static_cast<T>(5*std::numeric_limits<T>::epsilon())); } \\r
+};\r
+// (The extra static_cast<T> in the std::max call above is actually\r
+// unnecessary except for HP aCC 1.30, which claims that\r
+// numeric_limits<double>::epsilon() doesn't actually return a double.)\r
+\r
+BOOST_RANDOM_FIBONACCI_VAL(double, 607, 273, 0.4293817707235914, 1e-14)\r
+BOOST_RANDOM_FIBONACCI_VAL(double, 1279, 418, 0.9421630240437659, 1e-14)\r
+BOOST_RANDOM_FIBONACCI_VAL(double, 2281, 1252, 0.1768114046909004, 1e-14)\r
+BOOST_RANDOM_FIBONACCI_VAL(double, 3217, 576, 0.1956232694868209, 1e-14)\r
+BOOST_RANDOM_FIBONACCI_VAL(double, 4423, 2098, 0.9499762202147172, 1e-14)\r
+BOOST_RANDOM_FIBONACCI_VAL(double, 9689, 5502, 0.05737836943695162, 1e-14)\r
+BOOST_RANDOM_FIBONACCI_VAL(double, 19937, 9842, 0.5076528587449834, 1e-14)\r
+BOOST_RANDOM_FIBONACCI_VAL(double, 23209, 13470, 0.5414473810619185, 1e-14)\r
+BOOST_RANDOM_FIBONACCI_VAL(double, 44497,21034, 0.254135073399297, 1e-14)\r
+\r
+#undef BOOST_RANDOM_FIBONACCI_VAL\r
+\r
+template<class RealType, int w, unsigned int p, unsigned int q>\r
+class lagged_fibonacci_01\r
+{\r
+public:\r
+  typedef RealType result_type;\r
+  BOOST_STATIC_CONSTANT(bool, has_fixed_range = false);\r
+  BOOST_STATIC_CONSTANT(int, word_size = w);\r
+  BOOST_STATIC_CONSTANT(unsigned int, long_lag = p);\r
+  BOOST_STATIC_CONSTANT(unsigned int, short_lag = q);\r
+\r
+  lagged_fibonacci_01() { init_modulus(); seed(); }\r
+  BOOST_RANDOM_DETAIL_ARITHMETIC_CONSTRUCTOR(lagged_fibonacci_01, uint32_t, value)\r
+  { init_modulus(); seed(value); }\r
+  BOOST_RANDOM_DETAIL_GENERATOR_CONSTRUCTOR(lagged_fibonacci_01, Generator, gen)\r
+  { init_modulus(); seed(gen); }\r
+  template<class It> lagged_fibonacci_01(It& first, It last)\r
+  { init_modulus(); seed(first, last); }\r
+  // compiler-generated copy ctor and assignment operator are fine\r
+\r
+private:\r
+  void init_modulus()\r
+  {\r
+#ifndef BOOST_NO_STDC_NAMESPACE\r
+    // allow for Koenig lookup\r
+    using std::pow;\r
+#endif\r
+    _modulus = pow(RealType(2), word_size);\r
+  }\r
+\r
+public:\r
+  void seed() { seed(331u); }\r
+  BOOST_RANDOM_DETAIL_ARITHMETIC_SEED(lagged_fibonacci_01, uint32_t, value)\r
+  {\r
+    minstd_rand0 intgen(value);\r
+    seed(intgen);\r
+  }\r
+\r
+  // For GCC, moving this function out-of-line prevents inlining, which may\r
+  // reduce overall object code size.  However, MSVC does not grok\r
+  // out-of-line template member functions.\r
+  BOOST_RANDOM_DETAIL_GENERATOR_SEED(lagged_fibonacci, Generator, gen)\r
+  {\r
+    // use pass-by-reference, but wrap argument in pass_through_engine\r
+    typedef detail::pass_through_engine<Generator&> ref_gen;\r
+    uniform_01<ref_gen, RealType> gen01 =\r
+      uniform_01<ref_gen, RealType>(ref_gen(gen));\r
+    // I could have used std::generate_n, but it takes "gen" by value\r
+    for(unsigned int j = 0; j < long_lag; ++j)\r
+      x[j] = gen01();\r
+    i = long_lag;\r
+  }\r
+\r
+  template<class It>\r
+  void seed(It& first, It last)\r
+  {\r
+#ifndef BOOST_NO_STDC_NAMESPACE\r
+    // allow for Koenig lookup\r
+    using std::fmod;\r
+    using std::pow;\r
+#endif\r
+    unsigned long mask = ~((~0u) << (w%32));   // now lowest w bits set\r
+    RealType two32 = pow(RealType(2), 32);\r
+    unsigned int j;\r
+    for(j = 0; j < long_lag && first != last; ++j) {\r
+      x[j] = RealType(0);\r
+      for(int k = 0; k < w/32 && first != last; ++k, ++first)\r
+        x[j] += *first / pow(two32,k+1);\r
+      if(first != last && mask != 0) {\r
+        x[j] += fmod((*first & mask) / _modulus, RealType(1));\r
+        ++first;\r
+      }\r
+    }\r
+    i = long_lag;\r
+    if(first == last && j < long_lag)\r
+      throw std::invalid_argument("lagged_fibonacci_01::seed");\r
+  }\r
+\r
+  result_type min BOOST_PREVENT_MACRO_SUBSTITUTION () const { return result_type(0); }\r
+  result_type max BOOST_PREVENT_MACRO_SUBSTITUTION () const { return result_type(1); }\r
+\r
+  result_type operator()()\r
+  {\r
+    if(i >= long_lag)\r
+      fill();\r
+    return x[i++];\r
+  }\r
+\r
+  static bool validation(result_type x)\r
+  {\r
+    result_type v = fibonacci_validation<result_type, p, q>::value();\r
+    result_type epsilon = fibonacci_validation<result_type, p, q>::tolerance();\r
+    // std::abs is a source of trouble: sometimes, it's not overloaded\r
+    // for double, plus the usual namespace std noncompliance -> avoid it\r
+    // using std::abs;\r
+    // return abs(x - v) < 5 * epsilon\r
+    return x > v - epsilon && x < v + epsilon;\r
+  }\r
+  \r
+#ifndef BOOST_NO_OPERATORS_IN_NAMESPACE\r
+\r
+#ifndef BOOST_RANDOM_NO_STREAM_OPERATORS\r
+  template<class CharT, class Traits>\r
+  friend std::basic_ostream<CharT,Traits>&\r
+  operator<<(std::basic_ostream<CharT,Traits>& os, const lagged_fibonacci_01&f)\r
+  {\r
+#ifndef BOOST_NO_STDC_NAMESPACE\r
+    // allow for Koenig lookup\r
+    using std::pow;\r
+#endif\r
+    os << f.i << " ";\r
+    std::ios_base::fmtflags oldflags = os.flags(os.dec | os.fixed | os.left); \r
+    for(unsigned int i = 0; i < f.long_lag; ++i)\r
+      os << f.x[i] * f._modulus << " ";\r
+    os.flags(oldflags);\r
+    return os;\r
+  }\r
+\r
+  template<class CharT, class Traits>\r
+  friend std::basic_istream<CharT, Traits>&\r
+  operator>>(std::basic_istream<CharT, Traits>& is, lagged_fibonacci_01& f)\r
+    {\r
+# ifdef BOOST_RANDOM_EXTRACT_LF\r
+        return detail::extract_lagged_fibonacci_01(is, f, f.i, f.x, f._modulus);\r
+# else\r
+        is >> f.i >> std::ws;\r
+        for(unsigned int i = 0; i < f.long_lag; ++i) {\r
+            typename lagged_fibonacci_01::result_type value;\r
+            is >> value >> std::ws;\r
+            f.x[i] = value / f._modulus;\r
+        }\r
+        return is;\r
+# endif \r
+    }\r
+#endif\r
+\r
+  friend bool operator==(const lagged_fibonacci_01& x,\r
+                         const lagged_fibonacci_01& y)\r
+  { return x.i == y.i && std::equal(x.x, x.x+long_lag, y.x); }\r
+  friend bool operator!=(const lagged_fibonacci_01& x,\r
+                         const lagged_fibonacci_01& y)\r
+  { return !(x == y); }\r
+#else\r
+  // Use a member function; Streamable concept not supported.\r
+  bool operator==(const lagged_fibonacci_01& rhs) const\r
+  { return i == rhs.i && std::equal(x, x+long_lag, rhs.x); }\r
+  bool operator!=(const lagged_fibonacci_01& rhs) const\r
+  { return !(*this == rhs); }\r
+#endif\r
+\r
+private:\r
+  void fill();\r
+  unsigned int i;\r
+  RealType x[long_lag];\r
+  RealType _modulus;\r
+};\r
+\r
+#ifndef BOOST_NO_INCLASS_MEMBER_INITIALIZATION\r
+//  A definition is required even for integral static constants\r
+template<class RealType, int w, unsigned int p, unsigned int q>\r
+const bool lagged_fibonacci_01<RealType, w, p, q>::has_fixed_range;\r
+template<class RealType, int w, unsigned int p, unsigned int q>\r
+const unsigned int lagged_fibonacci_01<RealType, w, p, q>::long_lag;\r
+template<class RealType, int w, unsigned int p, unsigned int q>\r
+const unsigned int lagged_fibonacci_01<RealType, w, p, q>::short_lag;\r
+template<class RealType, int w, unsigned int p, unsigned int q>\r
+const int lagged_fibonacci_01<RealType,w,p,q>::word_size;\r
+\r
+#endif\r
+\r
+template<class RealType, int w, unsigned int p, unsigned int q>\r
+void lagged_fibonacci_01<RealType, w, p, q>::fill()\r
+{\r
+  // two loops to avoid costly modulo operations\r
+  {  // extra scope for MSVC brokenness w.r.t. for scope\r
+  for(unsigned int j = 0; j < short_lag; ++j) {\r
+    RealType t = x[j] + x[j+(long_lag-short_lag)];\r
+    if(t >= RealType(1))\r
+      t -= RealType(1);\r
+    x[j] = t;\r
+  }\r
+  }\r
+  for(unsigned int j = short_lag; j < long_lag; ++j) {\r
+    RealType t = x[j] + x[j-short_lag];\r
+    if(t >= RealType(1))\r
+      t -= RealType(1);\r
+    x[j] = t;\r
+  }\r
+  i = 0;\r
+}\r
+\r
+} // namespace random\r
+\r
+typedef random::lagged_fibonacci_01<double, 48, 607, 273> lagged_fibonacci607;\r
+typedef random::lagged_fibonacci_01<double, 48, 1279, 418> lagged_fibonacci1279;\r
+typedef random::lagged_fibonacci_01<double, 48, 2281, 1252> lagged_fibonacci2281;\r
+typedef random::lagged_fibonacci_01<double, 48, 3217, 576> lagged_fibonacci3217;\r
+typedef random::lagged_fibonacci_01<double, 48, 4423, 2098> lagged_fibonacci4423;\r
+typedef random::lagged_fibonacci_01<double, 48, 9689, 5502> lagged_fibonacci9689;\r
+typedef random::lagged_fibonacci_01<double, 48, 19937, 9842> lagged_fibonacci19937;\r
+typedef random::lagged_fibonacci_01<double, 48, 23209, 13470> lagged_fibonacci23209;\r
+typedef random::lagged_fibonacci_01<double, 48, 44497, 21034> lagged_fibonacci44497;\r
+\r
+\r
+// It is possible to partially specialize uniform_01<> on lagged_fibonacci_01<>\r
+// to help the compiler generate efficient code.  For GCC, this seems useless,\r
+// because GCC optimizes (x-0)/(1-0) to (x-0).  This is good enough for now.\r
+\r
+} // namespace boost\r
+\r
+#endif // BOOST_RANDOM_LAGGED_FIBONACCI_HPP\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/random/linear_congruential.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/random/linear_congruential.hpp
new file mode 100644 (file)
index 0000000..71e186b
--- /dev/null
@@ -0,0 +1,284 @@
+/* boost random/linear_congruential.hpp header file\r
+ *\r
+ * Copyright Jens Maurer 2000-2001\r
+ * Distributed under the Boost Software License, Version 1.0. (See\r
+ * accompanying file LICENSE_1_0.txt or copy at\r
+ * http://www.boost.org/LICENSE_1_0.txt)\r
+ *\r
+ * See http://www.boost.org for most recent version including documentation.\r
+ *\r
+ * $Id: linear_congruential.hpp 58649 2010-01-02 21:23:17Z steven_watanabe $\r
+ *\r
+ * Revision history\r
+ *  2001-02-18  moved to individual header files\r
+ */\r
+\r
+#ifndef BOOST_RANDOM_LINEAR_CONGRUENTIAL_HPP\r
+#define BOOST_RANDOM_LINEAR_CONGRUENTIAL_HPP\r
+\r
+#include <iostream>\r
+#include <cassert>\r
+#include <stdexcept>\r
+#include <boost/config.hpp>\r
+#include <boost/limits.hpp>\r
+#include <boost/static_assert.hpp>\r
+#include <boost/random/detail/config.hpp>\r
+#include <boost/random/detail/const_mod.hpp>\r
+#include <boost/detail/workaround.hpp>\r
+\r
+#include <boost/random/detail/disable_warnings.hpp>\r
+\r
+namespace boost {\r
+namespace random {\r
+\r
+// compile-time configurable linear congruential generator\r
+template<class IntType, IntType a, IntType c, IntType m, IntType val>\r
+class linear_congruential\r
+{\r
+public:\r
+  typedef IntType result_type;\r
+#ifndef BOOST_NO_INCLASS_MEMBER_INITIALIZATION\r
+  static const bool has_fixed_range = true;\r
+  static const result_type min_value = ( c == 0 ? 1 : 0 );\r
+  static const result_type max_value = m-1;\r
+#else\r
+  BOOST_STATIC_CONSTANT(bool, has_fixed_range = false);\r
+#endif\r
+  BOOST_STATIC_CONSTANT(IntType, multiplier = a);\r
+  BOOST_STATIC_CONSTANT(IntType, increment = c);\r
+  BOOST_STATIC_CONSTANT(IntType, modulus = m);\r
+\r
+  // MSVC 6 and possibly others crash when encountering complicated integral\r
+  // constant expressions.  Avoid the check for now.\r
+  // BOOST_STATIC_ASSERT(m == 0 || a < m);\r
+  // BOOST_STATIC_ASSERT(m == 0 || c < m);\r
+\r
+  explicit linear_congruential(IntType x0 = 1)\r
+  { \r
+    seed(x0);\r
+\r
+    // MSVC fails BOOST_STATIC_ASSERT with std::numeric_limits at class scope\r
+#ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS\r
+    BOOST_STATIC_ASSERT(std::numeric_limits<IntType>::is_integer);\r
+#endif\r
+  }\r
+\r
+  template<class It>\r
+  linear_congruential(It& first, It last)\r
+  {\r
+      seed(first, last);\r
+  }\r
+\r
+  // compiler-generated copy constructor and assignment operator are fine\r
+  void seed(IntType x0 = 1)\r
+  {\r
+    // wrap _x if it doesn't fit in the destination\r
+    if(modulus == 0) {\r
+      _x = x0;\r
+    } else {\r
+      _x = x0 % modulus;\r
+    }\r
+    // handle negative seeds\r
+    if(_x <= 0 && _x != 0) {\r
+      _x += modulus;\r
+    }\r
+    // adjust to the correct range\r
+    if(increment == 0 && _x == 0) {\r
+      _x = 1;\r
+    }\r
+    assert(_x >= (min)());\r
+    assert(_x <= (max)());\r
+  }\r
+\r
+  template<class It>\r
+  void seed(It& first, It last)\r
+  {\r
+    if(first == last)\r
+      throw std::invalid_argument("linear_congruential::seed");\r
+    seed(*first++);\r
+  }\r
+\r
+  result_type min BOOST_PREVENT_MACRO_SUBSTITUTION () const { return c == 0 ? 1 : 0; }\r
+  result_type max BOOST_PREVENT_MACRO_SUBSTITUTION () const { return modulus-1; }\r
+\r
+  IntType operator()()\r
+  {\r
+    _x = const_mod<IntType, m>::mult_add(a, _x, c);\r
+    return _x;\r
+  }\r
+\r
+  static bool validation(IntType x) { return val == x; }\r
+\r
+#ifdef BOOST_NO_OPERATORS_IN_NAMESPACE\r
+    \r
+  // Use a member function; Streamable concept not supported.\r
+  bool operator==(const linear_congruential& rhs) const\r
+  { return _x == rhs._x; }\r
+  bool operator!=(const linear_congruential& rhs) const\r
+  { return !(*this == rhs); }\r
+\r
+#else \r
+  friend bool operator==(const linear_congruential& x,\r
+                         const linear_congruential& y)\r
+  { return x._x == y._x; }\r
+  friend bool operator!=(const linear_congruential& x,\r
+                         const linear_congruential& y)\r
+  { return !(x == y); }\r
+    \r
+#if !defined(BOOST_RANDOM_NO_STREAM_OPERATORS) && !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x551))\r
+  template<class CharT, class Traits>\r
+  friend std::basic_ostream<CharT,Traits>&\r
+  operator<<(std::basic_ostream<CharT,Traits>& os,\r
+             const linear_congruential& lcg)\r
+  {\r
+    return os << lcg._x;\r
+  }\r
+\r
+  template<class CharT, class Traits>\r
+  friend std::basic_istream<CharT,Traits>&\r
+  operator>>(std::basic_istream<CharT,Traits>& is,\r
+             linear_congruential& lcg)\r
+  {\r
+    return is >> lcg._x;\r
+  }\r
\r
+private:\r
+#endif\r
+#endif\r
+\r
+  IntType _x;\r
+};\r
+\r
+// probably needs the "no native streams" caveat for STLPort\r
+#if !defined(__SGI_STL_PORT) && BOOST_WORKAROUND(__GNUC__, == 2)\r
+template<class IntType, IntType a, IntType c, IntType m, IntType val>\r
+std::ostream&\r
+operator<<(std::ostream& os,\r
+           const linear_congruential<IntType,a,c,m,val>& lcg)\r
+{\r
+    return os << lcg._x;\r
+}\r
+\r
+template<class IntType, IntType a, IntType c, IntType m, IntType val>\r
+std::istream&\r
+operator>>(std::istream& is,\r
+           linear_congruential<IntType,a,c,m,val>& lcg)\r
+{\r
+    return is >> lcg._x;\r
+}\r
+#elif defined(BOOST_RANDOM_NO_STREAM_OPERATORS) || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x551))\r
+template<class CharT, class Traits, class IntType, IntType a, IntType c, IntType m, IntType val>\r
+std::basic_ostream<CharT,Traits>&\r
+operator<<(std::basic_ostream<CharT,Traits>& os,\r
+           const linear_congruential<IntType,a,c,m,val>& lcg)\r
+{\r
+    return os << lcg._x;\r
+}\r
+\r
+template<class CharT, class Traits, class IntType, IntType a, IntType c, IntType m, IntType val>\r
+std::basic_istream<CharT,Traits>&\r
+operator>>(std::basic_istream<CharT,Traits>& is,\r
+           linear_congruential<IntType,a,c,m,val>& lcg)\r
+{\r
+    return is >> lcg._x;\r
+}\r
+#endif\r
+\r
+#ifndef BOOST_NO_INCLASS_MEMBER_INITIALIZATION\r
+//  A definition is required even for integral static constants\r
+template<class IntType, IntType a, IntType c, IntType m, IntType val>\r
+const bool linear_congruential<IntType, a, c, m, val>::has_fixed_range;\r
+template<class IntType, IntType a, IntType c, IntType m, IntType val>\r
+const typename linear_congruential<IntType, a, c, m, val>::result_type linear_congruential<IntType, a, c, m, val>::min_value;\r
+template<class IntType, IntType a, IntType c, IntType m, IntType val>\r
+const typename linear_congruential<IntType, a, c, m, val>::result_type linear_congruential<IntType, a, c, m, val>::max_value;\r
+template<class IntType, IntType a, IntType c, IntType m, IntType val>\r
+const IntType linear_congruential<IntType,a,c,m,val>::modulus;\r
+#endif\r
+\r
+} // namespace random\r
+\r
+// validation values from the publications\r
+typedef random::linear_congruential<int32_t, 16807, 0, 2147483647, \r
+  1043618065> minstd_rand0;\r
+typedef random::linear_congruential<int32_t, 48271, 0, 2147483647,\r
+  399268537> minstd_rand;\r
+\r
+\r
+#if !defined(BOOST_NO_INT64_T) && !defined(BOOST_NO_INTEGRAL_INT64_T)\r
+// emulate the lrand48() C library function; requires support for uint64_t\r
+class rand48 \r
+{\r
+public:\r
+  typedef int32_t result_type;\r
+#ifndef BOOST_NO_INCLASS_MEMBER_INITIALIZATION\r
+  static const bool has_fixed_range = true;\r
+  static const int32_t min_value = 0;\r
+  static const int32_t max_value = integer_traits<int32_t>::const_max;\r
+#else\r
+  enum { has_fixed_range = false };\r
+#endif\r
+  int32_t min BOOST_PREVENT_MACRO_SUBSTITUTION () const { return 0; }\r
+  int32_t max BOOST_PREVENT_MACRO_SUBSTITUTION () const { return std::numeric_limits<int32_t>::max BOOST_PREVENT_MACRO_SUBSTITUTION (); }\r
+  \r
+  rand48() : lcf(cnv(static_cast<int32_t>(1))) {}\r
+  template<class T> explicit rand48(T x0) : lcf(cnv(x0)) { }\r
+  template<class It> rand48(It& first, It last) : lcf(first, last) { }\r
+  // compiler-generated copy ctor and assignment operator are fine\r
+  void seed() { seed(static_cast<int32_t>(1)); }\r
+  template<class T> void seed(T x0) { lcf.seed(cnv(x0)); }\r
+  template<class It> void seed(It& first, It last) { lcf.seed(first,last); }\r
+\r
+  int32_t operator()() { return static_cast<int32_t>(lcf() >> 17); }\r
+  // by experiment from lrand48()\r
+  static bool validation(int32_t x) { return x == 1993516219; }\r
+\r
+#ifndef BOOST_NO_OPERATORS_IN_NAMESPACE\r
+\r
+#ifndef BOOST_RANDOM_NO_STREAM_OPERATORS\r
+  template<class CharT,class Traits>\r
+  friend std::basic_ostream<CharT,Traits>&\r
+  operator<<(std::basic_ostream<CharT,Traits>& os, const rand48& r)\r
+  { os << r.lcf; return os; }\r
+\r
+  template<class CharT,class Traits>\r
+  friend std::basic_istream<CharT,Traits>&\r
+  operator>>(std::basic_istream<CharT,Traits>& is, rand48& r)\r
+  { is >> r.lcf; return is; }\r
+#endif\r
+\r
+  friend bool operator==(const rand48& x, const rand48& y)\r
+  { return x.lcf == y.lcf; }\r
+  friend bool operator!=(const rand48& x, const rand48& y)\r
+  { return !(x == y); }\r
+#else\r
+  // Use a member function; Streamable concept not supported.\r
+  bool operator==(const rand48& rhs) const\r
+  { return lcf == rhs.lcf; }\r
+  bool operator!=(const rand48& rhs) const\r
+  { return !(*this == rhs); }\r
+#endif\r
+private:\r
+  random::linear_congruential<uint64_t,\r
+    uint64_t(0xDEECE66DUL) | (uint64_t(0x5) << 32), // xxxxULL is not portable\r
+    0xB, uint64_t(1)<<48, /* unknown */ 0> lcf;\r
+  template<class T>\r
+  static uint64_t cnv(T x) \r
+  {\r
+    if(sizeof(T) < sizeof(uint64_t)) {\r
+      return (static_cast<uint64_t>(x) << 16) | 0x330e;\r
+    } else {\r
+      return(static_cast<uint64_t>(x));\r
+    }\r
+  }\r
+  static uint64_t cnv(float x) { return(static_cast<uint64_t>(x)); }\r
+  static uint64_t cnv(double x) { return(static_cast<uint64_t>(x)); }\r
+  static uint64_t cnv(long double x) { return(static_cast<uint64_t>(x)); }\r
+};\r
+#endif /* !BOOST_NO_INT64_T && !BOOST_NO_INTEGRAL_INT64_T */\r
+\r
+} // namespace boost\r
+\r
+#include <boost/random/detail/enable_warnings.hpp>\r
+\r
+#endif // BOOST_RANDOM_LINEAR_CONGRUENTIAL_HPP\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/random/linear_feedback_shift.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/random/linear_feedback_shift.hpp
new file mode 100644 (file)
index 0000000..8619623
--- /dev/null
@@ -0,0 +1,151 @@
+/* boost random/tausworthe.hpp header file\r
+ *\r
+ * Copyright Jens Maurer 2002\r
+ * Distributed under the Boost Software License, Version 1.0. (See\r
+ * accompanying file LICENSE_1_0.txt or copy at\r
+ * http://www.boost.org/LICENSE_1_0.txt)\r
+ *\r
+ * See http://www.boost.org for most recent version including documentation.\r
+ *\r
+ * $Id: linear_feedback_shift.hpp 58649 2010-01-02 21:23:17Z steven_watanabe $\r
+ *\r
+ */\r
+\r
+#ifndef BOOST_RANDOM_LINEAR_FEEDBACK_SHIFT_HPP\r
+#define BOOST_RANDOM_LINEAR_FEEDBACK_SHIFT_HPP\r
+\r
+#include <iostream>\r
+#include <cassert>\r
+#include <stdexcept>\r
+#include <boost/config.hpp>\r
+#include <boost/static_assert.hpp>\r
+#include <boost/limits.hpp>\r
+#include <boost/random/detail/config.hpp>\r
+\r
+namespace boost {\r
+namespace random {\r
+\r
+// Tausworte 1965\r
+template<class UIntType, int w, int k, int q, int s, UIntType val>\r
+class linear_feedback_shift\r
+{\r
+public:\r
+  typedef UIntType result_type;\r
+  // avoid the warning trouble when using (1<<w) on 32 bit machines\r
+  BOOST_STATIC_CONSTANT(bool, has_fixed_range = false);\r
+  BOOST_STATIC_CONSTANT(int, word_size = w);\r
+  BOOST_STATIC_CONSTANT(int, exponent1 = k);\r
+  BOOST_STATIC_CONSTANT(int, exponent2 = q);\r
+  BOOST_STATIC_CONSTANT(int, step_size = s);\r
+\r
+  result_type min BOOST_PREVENT_MACRO_SUBSTITUTION () const { return 0; }\r
+  result_type max BOOST_PREVENT_MACRO_SUBSTITUTION () const { return wordmask; }\r
+\r
+  // MSVC 6 and possibly others crash when encountering complicated integral\r
+  // constant expressions.  Avoid the checks for now.\r
+  // BOOST_STATIC_ASSERT(w > 0);\r
+  // BOOST_STATIC_ASSERT(q > 0);\r
+  // BOOST_STATIC_ASSERT(k < w);\r
+  // BOOST_STATIC_ASSERT(0 < 2*q && 2*q < k);\r
+  // BOOST_STATIC_ASSERT(0 < s && s <= k-q);\r
+\r
+  explicit linear_feedback_shift(UIntType s0 = 341) : wordmask(0)\r
+  {\r
+    // MSVC fails BOOST_STATIC_ASSERT with std::numeric_limits at class scope\r
+#ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS\r
+    BOOST_STATIC_ASSERT(std::numeric_limits<UIntType>::is_integer);\r
+    BOOST_STATIC_ASSERT(!std::numeric_limits<UIntType>::is_signed);\r
+#endif\r
+\r
+    // avoid "left shift count >= with of type" warning\r
+    for(int i = 0; i < w; ++i)\r
+      wordmask |= (1u << i);\r
+    seed(s0);\r
+  }\r
+\r
+  template<class It> linear_feedback_shift(It& first, It last) : wordmask(0)\r
+  {\r
+    // MSVC fails BOOST_STATIC_ASSERT with std::numeric_limits at class scope\r
+#ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS\r
+    BOOST_STATIC_ASSERT(std::numeric_limits<UIntType>::is_integer);\r
+    BOOST_STATIC_ASSERT(!std::numeric_limits<UIntType>::is_signed);\r
+#endif\r
+\r
+    // avoid "left shift count >= with of type" warning\r
+    for(int i = 0; i < w; ++i)\r
+      wordmask |= (1u << i);\r
+    seed(first, last);\r
+  }\r
+\r
+  void seed(UIntType s0 = 341) {\r
+      if(s0 < (1 << (w-k))) {\r
+          s0 += 1 << (w-k);\r
+      }\r
+      value = s0;\r
+  }\r
+  template<class It> void seed(It& first, It last)\r
+  {\r
+    if(first == last)\r
+      throw std::invalid_argument("linear_feedback_shift::seed");\r
+    value = *first++;\r
+    assert(value >= (1 << (w-k)));\r
+  }\r
+\r
+  result_type operator()()\r
+  {\r
+    const UIntType b = (((value << q) ^ value) & wordmask) >> (k-s);\r
+    const UIntType mask = ( (~static_cast<UIntType>(0)) << (w-k) ) & wordmask;\r
+    value = ((value & mask) << s) ^ b;\r
+    return value;\r
+  }\r
+  static bool validation(result_type x) { return val == x; }\r
+\r
+#ifndef BOOST_NO_OPERATORS_IN_NAMESPACE\r
+\r
+#ifndef BOOST_RANDOM_NO_STREAM_OPERATORS\r
+  template<class CharT, class Traits>\r
+  friend std::basic_ostream<CharT,Traits>&\r
+  operator<<(std::basic_ostream<CharT,Traits>& os, linear_feedback_shift x)\r
+  { os << x.value; return os; }\r
+\r
+  template<class CharT, class Traits>\r
+  friend std::basic_istream<CharT,Traits>&\r
+  operator>>(std::basic_istream<CharT,Traits>& is, linear_feedback_shift& x)\r
+  { is >> x.value; return is; }\r
+#endif\r
+\r
+  friend bool operator==(linear_feedback_shift x, linear_feedback_shift y)\r
+  { return x.value == y.value; }\r
+  friend bool operator!=(linear_feedback_shift x, linear_feedback_shift y)\r
+  { return !(x == y); }\r
+#else\r
+  // Use a member function; Streamable concept not supported.\r
+  bool operator==(linear_feedback_shift rhs) const\r
+  { return value == rhs.value; }\r
+  bool operator!=(linear_feedback_shift rhs) const\r
+  { return !(*this == rhs); }\r
+#endif\r
+\r
+private:\r
+  UIntType wordmask; // avoid "left shift count >= width of type" warnings\r
+  UIntType value;\r
+};\r
+\r
+#ifndef BOOST_NO_INCLASS_MEMBER_INITIALIZATION\r
+//  A definition is required even for integral static constants\r
+template<class UIntType, int w, int k, int q, int s, UIntType val>\r
+const bool linear_feedback_shift<UIntType, w, k, q, s, val>::has_fixed_range;\r
+template<class UIntType, int w, int k, int q, int s, UIntType val>\r
+const int linear_feedback_shift<UIntType, w, k, q, s, val>::word_size;\r
+template<class UIntType, int w, int k, int q, int s, UIntType val>\r
+const int linear_feedback_shift<UIntType, w, k, q, s, val>::exponent1;\r
+template<class UIntType, int w, int k, int q, int s, UIntType val>\r
+const int linear_feedback_shift<UIntType, w, k, q, s, val>::exponent2;\r
+template<class UIntType, int w, int k, int q, int s, UIntType val>\r
+const int linear_feedback_shift<UIntType, w, k, q, s, val>::step_size;\r
+#endif\r
+\r
+} // namespace random\r
+} // namespace boost\r
+\r
+#endif // BOOST_RANDOM_LINEAR_FEEDBACK_SHIFT_HPP\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/random/lognormal_distribution.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/random/lognormal_distribution.hpp
new file mode 100644 (file)
index 0000000..72932cf
--- /dev/null
@@ -0,0 +1,115 @@
+/* boost random/lognormal_distribution.hpp header file\r
+ *\r
+ * Copyright Jens Maurer 2000-2001\r
+ * Distributed under the Boost Software License, Version 1.0. (See\r
+ * accompanying file LICENSE_1_0.txt or copy at\r
+ * http://www.boost.org/LICENSE_1_0.txt)\r
+ *\r
+ * See http://www.boost.org for most recent version including documentation.\r
+ *\r
+ * $Id: lognormal_distribution.hpp 52492 2009-04-19 14:55:57Z steven_watanabe $\r
+ *\r
+ * Revision history\r
+ *  2001-02-18  moved to individual header files\r
+ */\r
+\r
+#ifndef BOOST_RANDOM_LOGNORMAL_DISTRIBUTION_HPP\r
+#define BOOST_RANDOM_LOGNORMAL_DISTRIBUTION_HPP\r
+\r
+#include <boost/config/no_tr1/cmath.hpp>      // std::exp, std::sqrt\r
+#include <cassert>\r
+#include <iostream>\r
+#include <boost/limits.hpp>\r
+#include <boost/static_assert.hpp>\r
+#include <boost/random/detail/config.hpp>\r
+#include <boost/random/normal_distribution.hpp>\r
+\r
+#ifdef BOOST_NO_STDC_NAMESPACE\r
+namespace std {\r
+  using ::log;\r
+  using ::sqrt;\r
+}\r
+#endif\r
+\r
+namespace boost {\r
+\r
+#if defined(__GNUC__) && (__GNUC__ < 3)\r
+// Special gcc workaround: gcc 2.95.x ignores using-declarations\r
+// in template classes (confirmed by gcc author Martin v. Loewis)\r
+  using std::sqrt;\r
+  using std::exp;\r
+#endif\r
+\r
+template<class RealType = double>\r
+class lognormal_distribution\r
+{\r
+public:\r
+  typedef typename normal_distribution<RealType>::input_type input_type;\r
+  typedef RealType result_type;\r
+\r
+#ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS\r
+    BOOST_STATIC_ASSERT(!std::numeric_limits<RealType>::is_integer);\r
+#endif\r
+\r
+  explicit lognormal_distribution(result_type mean_arg = result_type(1),\r
+                                  result_type sigma_arg = result_type(1))\r
+    : _mean(mean_arg), _sigma(sigma_arg)\r
+  { \r
+    assert(_mean > result_type(0));\r
+    init();\r
+  }\r
+\r
+  // compiler-generated copy ctor and assignment operator are fine\r
+\r
+  RealType mean() const { return _mean; }\r
+  RealType sigma() const { return _sigma; }\r
+  void reset() { _normal.reset(); }\r
+\r
+  template<class Engine>\r
+  result_type operator()(Engine& eng)\r
+  {\r
+#ifndef BOOST_NO_STDC_NAMESPACE\r
+    // allow for Koenig lookup\r
+    using std::exp;\r
+#endif\r
+    return exp(_normal(eng) * _nsigma + _nmean);\r
+  }\r
+\r
+#ifndef BOOST_RANDOM_NO_STREAM_OPERATORS\r
+  template<class CharT, class Traits>\r
+  friend std::basic_ostream<CharT,Traits>&\r
+  operator<<(std::basic_ostream<CharT,Traits>& os, const lognormal_distribution& ld)\r
+  {\r
+    os << ld._normal << " " << ld._mean << " " << ld._sigma;\r
+    return os;\r
+  }\r
+\r
+  template<class CharT, class Traits>\r
+  friend std::basic_istream<CharT,Traits>&\r
+  operator>>(std::basic_istream<CharT,Traits>& is, lognormal_distribution& ld)\r
+  {\r
+    is >> std::ws >> ld._normal >> std::ws >> ld._mean >> std::ws >> ld._sigma;\r
+    ld.init();\r
+    return is;\r
+  }\r
+#endif\r
+\r
+private:\r
+  void init()\r
+  {\r
+#ifndef BOOST_NO_STDC_NAMESPACE\r
+    // allow for Koenig lookup\r
+    using std::exp; using std::log; using std::sqrt;\r
+#endif\r
+    _nmean = log(_mean*_mean/sqrt(_sigma*_sigma + _mean*_mean));\r
+    _nsigma = sqrt(log(_sigma*_sigma/_mean/_mean+result_type(1)));\r
+  }\r
+\r
+  RealType _mean, _sigma;\r
+  RealType _nmean, _nsigma;\r
+  normal_distribution<result_type> _normal;\r
+};\r
+\r
+} // namespace boost\r
+\r
+#endif // BOOST_RANDOM_LOGNORMAL_DISTRIBUTION_HPP\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/random/mersenne_twister.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/random/mersenne_twister.hpp
new file mode 100644 (file)
index 0000000..659247c
--- /dev/null
@@ -0,0 +1,293 @@
+/* boost random/mersenne_twister.hpp header file\r
+ *\r
+ * Copyright Jens Maurer 2000-2001\r
+ * Distributed under the Boost Software License, Version 1.0. (See\r
+ * accompanying file LICENSE_1_0.txt or copy at\r
+ * http://www.boost.org/LICENSE_1_0.txt)\r
+ *\r
+ * See http://www.boost.org for most recent version including documentation.\r
+ *\r
+ * $Id: mersenne_twister.hpp 53871 2009-06-13 17:54:06Z steven_watanabe $\r
+ *\r
+ * Revision history\r
+ *  2001-02-18  moved to individual header files\r
+ */\r
+\r
+#ifndef BOOST_RANDOM_MERSENNE_TWISTER_HPP\r
+#define BOOST_RANDOM_MERSENNE_TWISTER_HPP\r
+\r
+#include <iostream>\r
+#include <algorithm>     // std::copy\r
+#include <stdexcept>\r
+#include <boost/config.hpp>\r
+#include <boost/limits.hpp>\r
+#include <boost/static_assert.hpp>\r
+#include <boost/integer_traits.hpp>\r
+#include <boost/cstdint.hpp>\r
+#include <boost/random/linear_congruential.hpp>\r
+#include <boost/detail/workaround.hpp>\r
+#include <boost/random/detail/config.hpp>\r
+#include <boost/random/detail/ptr_helper.hpp>\r
+#include <boost/random/detail/seed.hpp>\r
+\r
+namespace boost {\r
+namespace random {\r
+\r
+// http://www.math.keio.ac.jp/matumoto/emt.html\r
+template<class UIntType, int w, int n, int m, int r, UIntType a, int u,\r
+  int s, UIntType b, int t, UIntType c, int l, UIntType val>\r
+class mersenne_twister\r
+{\r
+public:\r
+  typedef UIntType result_type;\r
+  BOOST_STATIC_CONSTANT(int, word_size = w);\r
+  BOOST_STATIC_CONSTANT(int, state_size = n);\r
+  BOOST_STATIC_CONSTANT(int, shift_size = m);\r
+  BOOST_STATIC_CONSTANT(int, mask_bits = r);\r
+  BOOST_STATIC_CONSTANT(UIntType, parameter_a = a);\r
+  BOOST_STATIC_CONSTANT(int, output_u = u);\r
+  BOOST_STATIC_CONSTANT(int, output_s = s);\r
+  BOOST_STATIC_CONSTANT(UIntType, output_b = b);\r
+  BOOST_STATIC_CONSTANT(int, output_t = t);\r
+  BOOST_STATIC_CONSTANT(UIntType, output_c = c);\r
+  BOOST_STATIC_CONSTANT(int, output_l = l);\r
+\r
+  BOOST_STATIC_CONSTANT(bool, has_fixed_range = false);\r
+  \r
+  mersenne_twister() { seed(); }\r
+\r
+  BOOST_RANDOM_DETAIL_ARITHMETIC_CONSTRUCTOR(mersenne_twister, UIntType, value)\r
+  { seed(value); }\r
+  template<class It> mersenne_twister(It& first, It last) { seed(first,last); }\r
+\r
+  BOOST_RANDOM_DETAIL_GENERATOR_CONSTRUCTOR(mersenne_twister, Generator, gen)\r
+  { seed(gen); }\r
+\r
+  // compiler-generated copy ctor and assignment operator are fine\r
+\r
+  void seed() { seed(UIntType(5489)); }\r
+\r
+  BOOST_RANDOM_DETAIL_ARITHMETIC_SEED(mersenne_twister, UIntType, value)\r
+  {\r
+    // New seeding algorithm from \r
+    // http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/MT2002/emt19937ar.html\r
+    // In the previous versions, MSBs of the seed affected only MSBs of the\r
+    // state x[].\r
+    const UIntType mask = ~0u;\r
+    x[0] = value & mask;\r
+    for (i = 1; i < n; i++) {\r
+      // See Knuth "The Art of Computer Programming" Vol. 2, 3rd ed., page 106\r
+      x[i] = (1812433253UL * (x[i-1] ^ (x[i-1] >> (w-2))) + i) & mask;\r
+    }\r
+  }\r
+\r
+  // For GCC, moving this function out-of-line prevents inlining, which may\r
+  // reduce overall object code size.  However, MSVC does not grok\r
+  // out-of-line definitions of member function templates.\r
+  BOOST_RANDOM_DETAIL_GENERATOR_SEED(mersenne_twister, Generator, gen)\r
+  {\r
+#ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS\r
+    BOOST_STATIC_ASSERT(!std::numeric_limits<result_type>::is_signed);\r
+#endif\r
+    // I could have used std::generate_n, but it takes "gen" by value\r
+    for(int j = 0; j < n; j++)\r
+      x[j] = gen();\r
+    i = n;\r
+  }\r
+\r
+  template<class It>\r
+  void seed(It& first, It last)\r
+  {\r
+    int j;\r
+    for(j = 0; j < n && first != last; ++j, ++first)\r
+      x[j] = *first;\r
+    i = n;\r
+    if(first == last && j < n)\r
+      throw std::invalid_argument("mersenne_twister::seed");\r
+  }\r
+  \r
+  result_type min BOOST_PREVENT_MACRO_SUBSTITUTION () const { return 0; }\r
+  result_type max BOOST_PREVENT_MACRO_SUBSTITUTION () const\r
+  {\r
+    // avoid "left shift count >= with of type" warning\r
+    result_type res = 0;\r
+    for(int j = 0; j < w; ++j)\r
+      res |= (1u << j);\r
+    return res;\r
+  }\r
+\r
+  result_type operator()();\r
+  static bool validation(result_type v) { return val == v; }\r
+\r
+#ifndef BOOST_NO_OPERATORS_IN_NAMESPACE\r
+\r
+#ifndef BOOST_RANDOM_NO_STREAM_OPERATORS\r
+  template<class CharT, class Traits>\r
+  friend std::basic_ostream<CharT,Traits>&\r
+  operator<<(std::basic_ostream<CharT,Traits>& os, const mersenne_twister& mt)\r
+  {\r
+    for(int j = 0; j < mt.state_size; ++j)\r
+      os << mt.compute(j) << " ";\r
+    return os;\r
+  }\r
+\r
+  template<class CharT, class Traits>\r
+  friend std::basic_istream<CharT,Traits>&\r
+  operator>>(std::basic_istream<CharT,Traits>& is, mersenne_twister& mt)\r
+  {\r
+    for(int j = 0; j < mt.state_size; ++j)\r
+      is >> mt.x[j] >> std::ws;\r
+    // MSVC (up to 7.1) and Borland (up to 5.64) don't handle the template\r
+    // value parameter "n" available from the class template scope, so use\r
+    // the static constant with the same value\r
+    mt.i = mt.state_size;\r
+    return is;\r
+  }\r
+#endif\r
+\r
+  friend bool operator==(const mersenne_twister& x, const mersenne_twister& y)\r
+  {\r
+    for(int j = 0; j < state_size; ++j)\r
+      if(x.compute(j) != y.compute(j))\r
+        return false;\r
+    return true;\r
+  }\r
+\r
+  friend bool operator!=(const mersenne_twister& x, const mersenne_twister& y)\r
+  { return !(x == y); }\r
+#else\r
+  // Use a member function; Streamable concept not supported.\r
+  bool operator==(const mersenne_twister& rhs) const\r
+  {\r
+    for(int j = 0; j < state_size; ++j)\r
+      if(compute(j) != rhs.compute(j))\r
+        return false;\r
+    return true;\r
+  }\r
+\r
+  bool operator!=(const mersenne_twister& rhs) const\r
+  { return !(*this == rhs); }\r
+#endif\r
+\r
+private:\r
+  // returns x(i-n+index), where index is in 0..n-1\r
+  UIntType compute(unsigned int index) const\r
+  {\r
+    // equivalent to (i-n+index) % 2n, but doesn't produce negative numbers\r
+    return x[ (i + n + index) % (2*n) ];\r
+  }\r
+  void twist(int block);\r
+\r
+  // state representation: next output is o(x(i))\r
+  //   x[0]  ... x[k] x[k+1] ... x[n-1]     x[n]     ... x[2*n-1]   represents\r
+  //  x(i-k) ... x(i) x(i+1) ... x(i-k+n-1) x(i-k-n) ... x[i(i-k-1)]\r
+  // The goal is to always have x(i-n) ... x(i-1) available for\r
+  // operator== and save/restore.\r
+\r
+  UIntType x[2*n]; \r
+  int i;\r
+};\r
+\r
+#ifndef BOOST_NO_INCLASS_MEMBER_INITIALIZATION\r
+//  A definition is required even for integral static constants\r
+template<class UIntType, int w, int n, int m, int r, UIntType a, int u,\r
+  int s, UIntType b, int t, UIntType c, int l, UIntType val>\r
+const bool mersenne_twister<UIntType,w,n,m,r,a,u,s,b,t,c,l,val>::has_fixed_range;\r
+template<class UIntType, int w, int n, int m, int r, UIntType a, int u,\r
+  int s, UIntType b, int t, UIntType c, int l, UIntType val>\r
+const int mersenne_twister<UIntType,w,n,m,r,a,u,s,b,t,c,l,val>::state_size;\r
+template<class UIntType, int w, int n, int m, int r, UIntType a, int u,\r
+  int s, UIntType b, int t, UIntType c, int l, UIntType val>\r
+const int mersenne_twister<UIntType,w,n,m,r,a,u,s,b,t,c,l,val>::shift_size;\r
+template<class UIntType, int w, int n, int m, int r, UIntType a, int u,\r
+  int s, UIntType b, int t, UIntType c, int l, UIntType val>\r
+const int mersenne_twister<UIntType,w,n,m,r,a,u,s,b,t,c,l,val>::mask_bits;\r
+template<class UIntType, int w, int n, int m, int r, UIntType a, int u,\r
+  int s, UIntType b, int t, UIntType c, int l, UIntType val>\r
+const UIntType mersenne_twister<UIntType,w,n,m,r,a,u,s,b,t,c,l,val>::parameter_a;\r
+template<class UIntType, int w, int n, int m, int r, UIntType a, int u,\r
+  int s, UIntType b, int t, UIntType c, int l, UIntType val>\r
+const int mersenne_twister<UIntType,w,n,m,r,a,u,s,b,t,c,l,val>::output_u;\r
+template<class UIntType, int w, int n, int m, int r, UIntType a, int u,\r
+  int s, UIntType b, int t, UIntType c, int l, UIntType val>\r
+const int mersenne_twister<UIntType,w,n,m,r,a,u,s,b,t,c,l,val>::output_s;\r
+template<class UIntType, int w, int n, int m, int r, UIntType a, int u,\r
+  int s, UIntType b, int t, UIntType c, int l, UIntType val>\r
+const UIntType mersenne_twister<UIntType,w,n,m,r,a,u,s,b,t,c,l,val>::output_b;\r
+template<class UIntType, int w, int n, int m, int r, UIntType a, int u,\r
+  int s, UIntType b, int t, UIntType c, int l, UIntType val>\r
+const int mersenne_twister<UIntType,w,n,m,r,a,u,s,b,t,c,l,val>::output_t;\r
+template<class UIntType, int w, int n, int m, int r, UIntType a, int u,\r
+  int s, UIntType b, int t, UIntType c, int l, UIntType val>\r
+const UIntType mersenne_twister<UIntType,w,n,m,r,a,u,s,b,t,c,l,val>::output_c;\r
+template<class UIntType, int w, int n, int m, int r, UIntType a, int u,\r
+  int s, UIntType b, int t, UIntType c, int l, UIntType val>\r
+const int mersenne_twister<UIntType,w,n,m,r,a,u,s,b,t,c,l,val>::output_l;\r
+#endif\r
+\r
+template<class UIntType, int w, int n, int m, int r, UIntType a, int u,\r
+  int s, UIntType b, int t, UIntType c, int l, UIntType val>\r
+void mersenne_twister<UIntType,w,n,m,r,a,u,s,b,t,c,l,val>::twist(int block)\r
+{\r
+  const UIntType upper_mask = (~0u) << r;\r
+  const UIntType lower_mask = ~upper_mask;\r
+\r
+  if(block == 0) {\r
+    for(int j = n; j < 2*n; j++) {\r
+      UIntType y = (x[j-n] & upper_mask) | (x[j-(n-1)] & lower_mask);\r
+      x[j] = x[j-(n-m)] ^ (y >> 1) ^ (y&1 ? a : 0);\r
+    }\r
+  } else if (block == 1) {\r
+    // split loop to avoid costly modulo operations\r
+    {  // extra scope for MSVC brokenness w.r.t. for scope\r
+      for(int j = 0; j < n-m; j++) {\r
+        UIntType y = (x[j+n] & upper_mask) | (x[j+n+1] & lower_mask);\r
+        x[j] = x[j+n+m] ^ (y >> 1) ^ (y&1 ? a : 0);\r
+      }\r
+    }\r
+    \r
+    for(int j = n-m; j < n-1; j++) {\r
+      UIntType y = (x[j+n] & upper_mask) | (x[j+n+1] & lower_mask);\r
+      x[j] = x[j-(n-m)] ^ (y >> 1) ^ (y&1 ? a : 0);\r
+    }\r
+    // last iteration\r
+    UIntType y = (x[2*n-1] & upper_mask) | (x[0] & lower_mask);\r
+    x[n-1] = x[m-1] ^ (y >> 1) ^ (y&1 ? a : 0);\r
+    i = 0;\r
+  }\r
+}\r
+\r
+template<class UIntType, int w, int n, int m, int r, UIntType a, int u,\r
+  int s, UIntType b, int t, UIntType c, int l, UIntType val>\r
+inline typename mersenne_twister<UIntType,w,n,m,r,a,u,s,b,t,c,l,val>::result_type\r
+mersenne_twister<UIntType,w,n,m,r,a,u,s,b,t,c,l,val>::operator()()\r
+{\r
+  if(i == n)\r
+    twist(0);\r
+  else if(i >= 2*n)\r
+    twist(1);\r
+  // Step 4\r
+  UIntType z = x[i];\r
+  ++i;\r
+  z ^= (z >> u);\r
+  z ^= ((z << s) & b);\r
+  z ^= ((z << t) & c);\r
+  z ^= (z >> l);\r
+  return z;\r
+}\r
+\r
+} // namespace random\r
+\r
+\r
+typedef random::mersenne_twister<uint32_t,32,351,175,19,0xccab8ee7,11,\r
+  7,0x31b6ab00,15,0xffe50000,17, 0xa37d3c92> mt11213b;\r
+\r
+// validation by experiment from mt19937.c\r
+typedef random::mersenne_twister<uint32_t,32,624,397,31,0x9908b0df,11,\r
+  7,0x9d2c5680,15,0xefc60000,18, 3346425566U> mt19937;\r
+\r
+} // namespace boost\r
+\r
+BOOST_RANDOM_PTR_HELPER_SPEC(boost::mt19937)\r
+\r
+#endif // BOOST_RANDOM_MERSENNE_TWISTER_HPP\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/random/normal_distribution.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/random/normal_distribution.hpp
new file mode 100644 (file)
index 0000000..15cecec
--- /dev/null
@@ -0,0 +1,112 @@
+/* boost random/normal_distribution.hpp header file\r
+ *\r
+ * Copyright Jens Maurer 2000-2001\r
+ * Distributed under the Boost Software License, Version 1.0. (See\r
+ * accompanying file LICENSE_1_0.txt or copy at\r
+ * http://www.boost.org/LICENSE_1_0.txt)\r
+ *\r
+ * See http://www.boost.org for most recent version including documentation.\r
+ *\r
+ * $Id: normal_distribution.hpp 52492 2009-04-19 14:55:57Z steven_watanabe $\r
+ *\r
+ * Revision history\r
+ *  2001-02-18  moved to individual header files\r
+ */\r
+\r
+#ifndef BOOST_RANDOM_NORMAL_DISTRIBUTION_HPP\r
+#define BOOST_RANDOM_NORMAL_DISTRIBUTION_HPP\r
+\r
+#include <boost/config/no_tr1/cmath.hpp>\r
+#include <cassert>\r
+#include <iostream>\r
+#include <boost/limits.hpp>\r
+#include <boost/static_assert.hpp>\r
+#include <boost/random/detail/config.hpp>\r
+\r
+namespace boost {\r
+\r
+// deterministic Box-Muller method, uses trigonometric functions\r
+template<class RealType = double>\r
+class normal_distribution\r
+{\r
+public:\r
+  typedef RealType input_type;\r
+  typedef RealType result_type;\r
+\r
+#if !defined(BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS) && !(defined(BOOST_MSVC) && BOOST_MSVC <= 1300)\r
+    BOOST_STATIC_ASSERT(!std::numeric_limits<RealType>::is_integer);\r
+#endif\r
+\r
+  explicit normal_distribution(const result_type& mean_arg = result_type(0),\r
+                               const result_type& sigma_arg = result_type(1))\r
+    : _mean(mean_arg), _sigma(sigma_arg), _valid(false)\r
+  {\r
+    assert(_sigma >= result_type(0));\r
+  }\r
+\r
+  // compiler-generated copy constructor is NOT fine, need to purge cache\r
+  normal_distribution(const normal_distribution& other)\r
+    : _mean(other._mean), _sigma(other._sigma), _valid(false)\r
+  {\r
+  }\r
+\r
+  // compiler-generated copy ctor and assignment operator are fine\r
+\r
+  RealType mean() const { return _mean; }\r
+  RealType sigma() const { return _sigma; }\r
+\r
+  void reset() { _valid = false; }\r
+\r
+  template<class Engine>\r
+  result_type operator()(Engine& eng)\r
+  {\r
+#ifndef BOOST_NO_STDC_NAMESPACE\r
+    // allow for Koenig lookup\r
+    using std::sqrt; using std::log; using std::sin; using std::cos;\r
+#endif\r
+    if(!_valid) {\r
+      _r1 = eng();\r
+      _r2 = eng();\r
+      _cached_rho = sqrt(-result_type(2) * log(result_type(1)-_r2));\r
+      _valid = true;\r
+    } else {\r
+      _valid = false;\r
+    }\r
+    // Can we have a boost::mathconst please?\r
+    const result_type pi = result_type(3.14159265358979323846);\r
+    \r
+    return _cached_rho * (_valid ?\r
+                          cos(result_type(2)*pi*_r1) :\r
+                          sin(result_type(2)*pi*_r1))\r
+      * _sigma + _mean;\r
+  }\r
+\r
+#ifndef BOOST_RANDOM_NO_STREAM_OPERATORS\r
+  template<class CharT, class Traits>\r
+  friend std::basic_ostream<CharT,Traits>&\r
+  operator<<(std::basic_ostream<CharT,Traits>& os, const normal_distribution& nd)\r
+  {\r
+    os << nd._mean << " " << nd._sigma << " "\r
+       << nd._valid << " " << nd._cached_rho << " " << nd._r1;\r
+    return os;\r
+  }\r
+\r
+  template<class CharT, class Traits>\r
+  friend std::basic_istream<CharT,Traits>&\r
+  operator>>(std::basic_istream<CharT,Traits>& is, normal_distribution& nd)\r
+  {\r
+    is >> std::ws >> nd._mean >> std::ws >> nd._sigma\r
+       >> std::ws >> nd._valid >> std::ws >> nd._cached_rho\r
+       >> std::ws >> nd._r1;\r
+    return is;\r
+  }\r
+#endif\r
+private:\r
+  result_type _mean, _sigma;\r
+  result_type _r1, _r2, _cached_rho;\r
+  bool _valid;\r
+};\r
+\r
+} // namespace boost\r
+\r
+#endif // BOOST_RANDOM_NORMAL_DISTRIBUTION_HPP\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/random/poisson_distribution.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/random/poisson_distribution.hpp
new file mode 100644 (file)
index 0000000..bbf18a3
--- /dev/null
@@ -0,0 +1,100 @@
+/* boost random/poisson_distribution.hpp header file\r
+ *\r
+ * Copyright Jens Maurer 2002\r
+ * Distributed under the Boost Software License, Version 1.0. (See\r
+ * accompanying file LICENSE_1_0.txt or copy at\r
+ * http://www.boost.org/LICENSE_1_0.txt)\r
+ *\r
+ * See http://www.boost.org for most recent version including documentation.\r
+ *\r
+ * $Id: poisson_distribution.hpp 52492 2009-04-19 14:55:57Z steven_watanabe $\r
+ *\r
+ */\r
+\r
+#ifndef BOOST_RANDOM_POISSON_DISTRIBUTION_HPP\r
+#define BOOST_RANDOM_POISSON_DISTRIBUTION_HPP\r
+\r
+#include <boost/config/no_tr1/cmath.hpp>\r
+#include <cassert>\r
+#include <iostream>\r
+#include <boost/limits.hpp>\r
+#include <boost/static_assert.hpp>\r
+#include <boost/random/detail/config.hpp>\r
+\r
+namespace boost {\r
+\r
+// Knuth\r
+template<class IntType = int, class RealType = double>\r
+class poisson_distribution\r
+{\r
+public:\r
+  typedef RealType input_type;\r
+  typedef IntType result_type;\r
+\r
+  explicit poisson_distribution(const RealType& mean_arg = RealType(1))\r
+    : _mean(mean_arg)\r
+  {\r
+#ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS\r
+    // MSVC fails BOOST_STATIC_ASSERT with std::numeric_limits at class scope\r
+    BOOST_STATIC_ASSERT(std::numeric_limits<IntType>::is_integer);\r
+    BOOST_STATIC_ASSERT(!std::numeric_limits<RealType>::is_integer);\r
+#endif\r
+\r
+    assert(_mean > RealType(0));\r
+    init();\r
+  }\r
+\r
+  // compiler-generated copy ctor and assignment operator are fine\r
+\r
+  RealType mean() const { return _mean; }\r
+  void reset() { }\r
+\r
+  template<class Engine>\r
+  result_type operator()(Engine& eng)\r
+  {\r
+    // TODO: This is O(_mean), but it should be O(log(_mean)) for large _mean\r
+    RealType product = RealType(1);\r
+    for(result_type m = 0; ; ++m) {\r
+      product *= eng();\r
+      if(product <= _exp_mean)\r
+        return m;\r
+    }\r
+  }\r
+\r
+#ifndef BOOST_RANDOM_NO_STREAM_OPERATORS\r
+  template<class CharT, class Traits>\r
+  friend std::basic_ostream<CharT,Traits>&\r
+  operator<<(std::basic_ostream<CharT,Traits>& os, const poisson_distribution& pd)\r
+  {\r
+    os << pd._mean;\r
+    return os;\r
+  }\r
+\r
+  template<class CharT, class Traits>\r
+  friend std::basic_istream<CharT,Traits>&\r
+  operator>>(std::basic_istream<CharT,Traits>& is, poisson_distribution& pd)\r
+  {\r
+    is >> std::ws >> pd._mean;\r
+    pd.init();\r
+    return is;\r
+  }\r
+#endif\r
+\r
+private:\r
+  void init()\r
+  {\r
+#ifndef BOOST_NO_STDC_NAMESPACE\r
+    // allow for Koenig lookup\r
+    using std::exp;\r
+#endif\r
+    _exp_mean = exp(-_mean);\r
+  }\r
+\r
+  RealType _mean;\r
+  // some precomputed data from the parameters\r
+  RealType _exp_mean;\r
+};\r
+\r
+} // namespace boost\r
+\r
+#endif // BOOST_RANDOM_POISSON_DISTRIBUTION_HPP\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/random/random_number_generator.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/random/random_number_generator.hpp
new file mode 100644 (file)
index 0000000..eaf32e5
--- /dev/null
@@ -0,0 +1,56 @@
+/* boost random/random_number_generator.hpp header file\r
+ *\r
+ * Copyright Jens Maurer 2000-2001\r
+ * Distributed under the Boost Software License, Version 1.0. (See\r
+ * accompanying file LICENSE_1_0.txt or copy at\r
+ * http://www.boost.org/LICENSE_1_0.txt)\r
+ *\r
+ * See http://www.boost.org for most recent version including documentation.\r
+ *\r
+ * $Id: random_number_generator.hpp 26164 2004-11-09 21:22:00Z jmaurer $\r
+ *\r
+ * Revision history\r
+ *  2001-02-18  moved to individual header files\r
+ */\r
+\r
+#ifndef BOOST_RANDOM_RANDOM_NUMBER_GENERATOR_HPP\r
+#define BOOST_RANDOM_RANDOM_NUMBER_GENERATOR_HPP\r
+\r
+#include <boost/config.hpp>\r
+#include <boost/limits.hpp>\r
+#include <boost/static_assert.hpp>\r
+#include <boost/random/uniform_int.hpp>\r
+#include <boost/random/variate_generator.hpp>\r
+\r
+namespace boost {\r
+\r
+// a model for RandomNumberGenerator std:25.2.11 [lib.alg.random.shuffle]\r
+template<class UniformRandomNumberGenerator, class IntType = long>\r
+class random_number_generator\r
+{\r
+public:\r
+  typedef UniformRandomNumberGenerator base_type;\r
+  typedef IntType argument_type;\r
+  typedef IntType result_type;\r
+  random_number_generator(base_type& rng) : _rng(rng)\r
+  { \r
+#ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS\r
+    BOOST_STATIC_ASSERT(std::numeric_limits<result_type>::is_integer);\r
+#endif\r
+  }\r
+  // compiler-generated copy ctor is fine\r
+  // assignment is disallowed because there is a reference member\r
+\r
+  result_type operator()(argument_type n)\r
+  {\r
+    typedef uniform_int<IntType> dist_type;\r
+    return variate_generator<base_type&, dist_type>(_rng, dist_type(0, n-1))();\r
+  }\r
+\r
+private:\r
+  base_type& _rng;\r
+};\r
+\r
+} // namespace boost\r
+\r
+#endif // BOOST_RANDOM_RANDOM_NUMBER_GENERATOR_HPP\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/random/ranlux.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/random/ranlux.hpp
new file mode 100644 (file)
index 0000000..7334551
--- /dev/null
@@ -0,0 +1,50 @@
+/* boost random/ranlux.hpp header file\r
+ *\r
+ * Copyright Jens Maurer 2002\r
+ * Distributed under the Boost Software License, Version 1.0. (See\r
+ * accompanying file LICENSE_1_0.txt or copy at\r
+ * http://www.boost.org/LICENSE_1_0.txt)\r
+ *\r
+ * See http://www.boost.org for most recent version including documentation.\r
+ *\r
+ * $Id: ranlux.hpp 24096 2004-07-27 03:43:34Z dgregor $\r
+ *\r
+ * Revision history\r
+ *  2001-02-18  created\r
+ */\r
+\r
+#ifndef BOOST_RANDOM_RANLUX_HPP\r
+#define BOOST_RANDOM_RANLUX_HPP\r
+\r
+#include <boost/config.hpp>\r
+#include <boost/random/subtract_with_carry.hpp>\r
+#include <boost/random/discard_block.hpp>\r
+\r
+namespace boost {\r
+\r
+namespace random {\r
+  typedef subtract_with_carry<int, (1<<24), 10, 24, 0> ranlux_base;\r
+  typedef subtract_with_carry_01<float, 24, 10, 24> ranlux_base_01;\r
+  typedef subtract_with_carry_01<double, 48, 10, 24> ranlux64_base_01;\r
+}\r
+\r
+typedef random::discard_block<random::ranlux_base, 223, 24> ranlux3;\r
+typedef random::discard_block<random::ranlux_base, 389, 24> ranlux4;\r
+\r
+typedef random::discard_block<random::ranlux_base_01, 223, 24> ranlux3_01;\r
+typedef random::discard_block<random::ranlux_base_01, 389, 24> ranlux4_01;\r
+\r
+typedef random::discard_block<random::ranlux64_base_01, 223, 24> ranlux64_3_01;\r
+typedef random::discard_block<random::ranlux64_base_01, 389, 24> ranlux64_4_01;\r
+\r
+#if !defined(BOOST_NO_INT64_T) && !defined(BOOST_NO_INTEGRAL_INT64_T)\r
+namespace random {\r
+  typedef random::subtract_with_carry<int64_t, (int64_t(1)<<48), 10, 24, 0> ranlux64_base;\r
+}\r
+typedef random::discard_block<random::ranlux64_base, 223, 24> ranlux64_3;\r
+typedef random::discard_block<random::ranlux64_base, 389, 24> ranlux64_4;\r
+#endif /* !BOOST_NO_INT64_T && !BOOST_NO_INTEGRAL_INT64_T */\r
+\r
+} // namespace boost\r
+\r
+#endif // BOOST_RANDOM_LINEAR_CONGRUENTIAL_HPP\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/random/shuffle_output.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/random/shuffle_output.hpp
new file mode 100644 (file)
index 0000000..a59c489
--- /dev/null
@@ -0,0 +1,175 @@
+/* boost random/shuffle_output.hpp header file\r
+ *\r
+ * Copyright Jens Maurer 2000-2001\r
+ * Distributed under the Boost Software License, Version 1.0. (See\r
+ * accompanying file LICENSE_1_0.txt or copy at\r
+ * http://www.boost.org/LICENSE_1_0.txt)\r
+ *\r
+ * See http://www.boost.org for most recent version including documentation.\r
+ *\r
+ * $Id: shuffle_output.hpp 52492 2009-04-19 14:55:57Z steven_watanabe $\r
+ *\r
+ * Revision history\r
+ *  2001-02-18  moved to individual header files\r
+ */\r
+\r
+#ifndef BOOST_RANDOM_SHUFFLE_OUTPUT_HPP\r
+#define BOOST_RANDOM_SHUFFLE_OUTPUT_HPP\r
+\r
+#include <iostream>\r
+#include <algorithm>     // std::copy\r
+#include <cassert>\r
+#include <boost/config.hpp>\r
+#include <boost/limits.hpp>\r
+#include <boost/static_assert.hpp>\r
+#include <boost/cstdint.hpp>\r
+#include <boost/random/linear_congruential.hpp>\r
+\r
+namespace boost {\r
+namespace random {\r
+\r
+// Carter Bays and S.D. Durham 1979\r
+template<class UniformRandomNumberGenerator, int k,\r
+#ifndef BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS\r
+  typename UniformRandomNumberGenerator::result_type \r
+#else\r
+  uint32_t\r
+#endif\r
+  val = 0>\r
+class shuffle_output\r
+{\r
+public:\r
+  typedef UniformRandomNumberGenerator base_type;\r
+  typedef typename base_type::result_type result_type;\r
+\r
+  BOOST_STATIC_CONSTANT(bool, has_fixed_range = false);\r
+  BOOST_STATIC_CONSTANT(int, buffer_size = k);\r
+\r
+  shuffle_output() : _rng() { init(); }\r
+#if defined(BOOST_MSVC) && _MSC_VER < 1300\r
+  // MSVC does not implicitly generate the copy constructor here\r
+  shuffle_output(const shuffle_output & x)\r
+    : _rng(x._rng), y(x.y) { std::copy(x.v, x.v+k, v); }\r
+#endif\r
+  template<class T>\r
+  explicit shuffle_output(T s) : _rng(s) { init(); }\r
+  explicit shuffle_output(const base_type & rng) : _rng(rng) { init(); }\r
+  template<class It> shuffle_output(It& first, It last)\r
+    : _rng(first, last) { init(); }\r
+  void seed() { _rng.seed(); init(); }\r
+  template<class T>\r
+  void seed(T s) { _rng.seed(s); init(); }\r
+  template<class It> void seed(It& first, It last)\r
+  {\r
+    _rng.seed(first, last);\r
+    init();\r
+  }\r
+\r
+  const base_type& base() const { return _rng; }\r
+\r
+  result_type operator()() {\r
+    // calculating the range every time may seem wasteful.  However, this\r
+    // makes the information locally available for the optimizer.\r
+    result_type range = (max)()-(min)()+1;\r
+    int j = k*(y-(min)())/range;\r
+    // assert(0 <= j && j < k);\r
+    y = v[j];\r
+    v[j] = _rng();\r
+    return y;\r
+  }\r
+\r
+  result_type min BOOST_PREVENT_MACRO_SUBSTITUTION () const { return (_rng.min)(); }\r
+  result_type max BOOST_PREVENT_MACRO_SUBSTITUTION () const { return (_rng.max)(); }\r
+  static bool validation(result_type x) { return val == x; }\r
+\r
+#ifndef BOOST_NO_OPERATORS_IN_NAMESPACE\r
+\r
+#ifndef BOOST_RANDOM_NO_STREAM_OPERATORS\r
+  template<class CharT, class Traits>\r
+  friend std::basic_ostream<CharT,Traits>&\r
+  operator<<(std::basic_ostream<CharT,Traits>& os, const shuffle_output& s)\r
+  {\r
+    os << s._rng << " " << s.y << " ";\r
+    for(int i = 0; i < s.buffer_size; ++i)\r
+      os << s.v[i] << " ";\r
+    return os;\r
+  }\r
+\r
+  template<class CharT, class Traits>\r
+  friend std::basic_istream<CharT,Traits>&\r
+  operator>>(std::basic_istream<CharT,Traits>& is, shuffle_output& s)\r
+  {\r
+    is >> s._rng >> std::ws >> s.y >> std::ws;\r
+    for(int i = 0; i < s.buffer_size; ++i)\r
+      is >> s.v[i] >> std::ws;\r
+    return is;\r
+  }\r
+#endif\r
+\r
+  friend bool operator==(const shuffle_output& x, const shuffle_output& y)\r
+  { return x._rng == y._rng && x.y == y.y && std::equal(x.v, x.v+k, y.v); }\r
+  friend bool operator!=(const shuffle_output& x, const shuffle_output& y)\r
+  { return !(x == y); }\r
+#else\r
+  // Use a member function; Streamable concept not supported.\r
+  bool operator==(const shuffle_output& rhs) const\r
+  { return _rng == rhs._rng && y == rhs.y && std::equal(v, v+k, rhs.v); }\r
+  bool operator!=(const shuffle_output& rhs) const\r
+  { return !(*this == rhs); }\r
+#endif\r
+private:\r
+  void init()\r
+  {\r
+#ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS\r
+    BOOST_STATIC_ASSERT(std::numeric_limits<result_type>::is_integer);\r
+#endif\r
+    result_type range = (max)()-(min)();\r
+    assert(range > 0);      // otherwise there would be little choice\r
+    if(static_cast<unsigned long>(k * range) < \r
+       static_cast<unsigned long>(range))  // not a sufficient condition\r
+      // likely overflow with bucket number computation\r
+      assert(!"overflow will occur");\r
+\r
+    // we cannot use std::generate, because it uses pass-by-value for _rng\r
+    for(result_type * p = v; p != v+k; ++p)\r
+      *p = _rng();\r
+    y = _rng();\r
+  }\r
+\r
+  base_type _rng;\r
+  result_type v[k];\r
+  result_type y;\r
+};\r
+\r
+#ifndef BOOST_NO_INCLASS_MEMBER_INITIALIZATION\r
+//  A definition is required even for integral static constants\r
+template<class UniformRandomNumberGenerator, int k, \r
+#ifndef BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS\r
+  typename UniformRandomNumberGenerator::result_type \r
+#else\r
+  uint32_t\r
+#endif\r
+  val>\r
+const bool shuffle_output<UniformRandomNumberGenerator, k, val>::has_fixed_range;\r
+\r
+template<class UniformRandomNumberGenerator, int k, \r
+#ifndef BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS\r
+  typename UniformRandomNumberGenerator::result_type \r
+#else\r
+  uint32_t\r
+#endif\r
+  val>\r
+const int shuffle_output<UniformRandomNumberGenerator, k, val>::buffer_size;\r
+#endif\r
+\r
+} // namespace random\r
+\r
+// validation by experiment from Harry Erwin's generator.h (private e-mail)\r
+typedef random::shuffle_output<\r
+    random::linear_congruential<uint32_t, 1366, 150889, 714025, 0>,\r
+  97, 139726> kreutzer1986;\r
+\r
+\r
+} // namespace boost\r
+\r
+#endif // BOOST_RANDOM_SHUFFLE_OUTPUT_HPP\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/random/subtract_with_carry.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/random/subtract_with_carry.hpp
new file mode 100644 (file)
index 0000000..751b8a9
--- /dev/null
@@ -0,0 +1,448 @@
+/* boost random/subtract_with_carry.hpp header file\r
+ *\r
+ * Copyright Jens Maurer 2002\r
+ * Distributed under the Boost Software License, Version 1.0. (See\r
+ * accompanying file LICENSE_1_0.txt or copy at\r
+ * http://www.boost.org/LICENSE_1_0.txt)\r
+ *\r
+ * See http://www.boost.org for most recent version including documentation.\r
+ *\r
+ * $Id: subtract_with_carry.hpp 53871 2009-06-13 17:54:06Z steven_watanabe $\r
+ *\r
+ * Revision history\r
+ *  2002-03-02  created\r
+ */\r
+\r
+#ifndef BOOST_RANDOM_SUBTRACT_WITH_CARRY_HPP\r
+#define BOOST_RANDOM_SUBTRACT_WITH_CARRY_HPP\r
+\r
+#include <boost/config/no_tr1/cmath.hpp>\r
+#include <iostream>\r
+#include <algorithm>     // std::equal\r
+#include <stdexcept>\r
+#include <boost/config/no_tr1/cmath.hpp>         // std::pow\r
+#include <boost/config.hpp>\r
+#include <boost/limits.hpp>\r
+#include <boost/cstdint.hpp>\r
+#include <boost/static_assert.hpp>\r
+#include <boost/detail/workaround.hpp>\r
+#include <boost/random/detail/config.hpp>\r
+#include <boost/random/detail/seed.hpp>\r
+#include <boost/random/linear_congruential.hpp>\r
+\r
+\r
+namespace boost {\r
+namespace random {\r
+\r
+#if BOOST_WORKAROUND(_MSC_FULL_VER, BOOST_TESTED_AT(13102292)) && BOOST_MSVC > 1300\r
+#  define BOOST_RANDOM_EXTRACT_SWC_01\r
+#endif\r
+\r
+#if defined(__APPLE_CC__) && defined(__GNUC__) && (__GNUC__ == 3) && (__GNUC_MINOR__ <= 3)\r
+#  define BOOST_RANDOM_EXTRACT_SWC_01\r
+#endif\r
+\r
+# ifdef BOOST_RANDOM_EXTRACT_SWC_01\r
+namespace detail\r
+{\r
+  template <class IStream, class SubtractWithCarry, class RealType>\r
+  void extract_subtract_with_carry_01(\r
+      IStream& is\r
+      , SubtractWithCarry& f\r
+      , RealType& carry\r
+      , RealType* x\r
+      , RealType modulus)\r
+  {\r
+    RealType value;\r
+    for(unsigned int j = 0; j < f.long_lag; ++j) {\r
+      is >> value >> std::ws;\r
+      x[j] = value / modulus;\r
+    }\r
+    is >> value >> std::ws;\r
+    carry = value / modulus;\r
+  }\r
+}\r
+# endif \r
+// subtract-with-carry generator\r
+// Marsaglia and Zaman\r
+\r
+template<class IntType, IntType m, unsigned int s, unsigned int r,\r
+  IntType val>\r
+class subtract_with_carry\r
+{\r
+public:\r
+  typedef IntType result_type;\r
+  BOOST_STATIC_CONSTANT(bool, has_fixed_range = true);\r
+  BOOST_STATIC_CONSTANT(result_type, min_value = 0);\r
+  BOOST_STATIC_CONSTANT(result_type, max_value = m-1);\r
+  BOOST_STATIC_CONSTANT(result_type, modulus = m);\r
+  BOOST_STATIC_CONSTANT(unsigned int, long_lag = r);\r
+  BOOST_STATIC_CONSTANT(unsigned int, short_lag = s);\r
+\r
+  subtract_with_carry() {\r
+    // MSVC fails BOOST_STATIC_ASSERT with std::numeric_limits at class scope\r
+#ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS\r
+    BOOST_STATIC_ASSERT(std::numeric_limits<result_type>::is_signed);\r
+    BOOST_STATIC_ASSERT(std::numeric_limits<result_type>::is_integer);\r
+#endif\r
+    seed();\r
+  }\r
+  BOOST_RANDOM_DETAIL_ARITHMETIC_CONSTRUCTOR(subtract_with_carry, uint32_t, value)\r
+  { seed(value); }\r
+  BOOST_RANDOM_DETAIL_GENERATOR_CONSTRUCTOR(subtract_with_carry, Generator, gen)\r
+  { seed(gen); }\r
+  template<class It> subtract_with_carry(It& first, It last) { seed(first,last); }\r
+\r
+  // compiler-generated copy ctor and assignment operator are fine\r
+\r
+  void seed() { seed(19780503u); }\r
+  BOOST_RANDOM_DETAIL_ARITHMETIC_SEED(subtract_with_carry, uint32_t, value)\r
+  {\r
+    random::linear_congruential<int32_t, 40014, 0, 2147483563, 0> intgen(value);\r
+    seed(intgen);\r
+  }\r
+\r
+  // For GCC, moving this function out-of-line prevents inlining, which may\r
+  // reduce overall object code size.  However, MSVC does not grok\r
+  // out-of-line template member functions.\r
+  BOOST_RANDOM_DETAIL_GENERATOR_SEED(subtract_with_carry, Generator, gen)\r
+  {\r
+    // I could have used std::generate_n, but it takes "gen" by value\r
+    for(unsigned int j = 0; j < long_lag; ++j)\r
+      x[j] = gen() % modulus;\r
+    carry = (x[long_lag-1] == 0);\r
+    k = 0;\r
+  }\r
+\r
+  template<class It>\r
+  void seed(It& first, It last)\r
+  {\r
+    unsigned int j;\r
+    for(j = 0; j < long_lag && first != last; ++j, ++first)\r
+      x[j] = *first % modulus;\r
+    if(first == last && j < long_lag)\r
+      throw std::invalid_argument("subtract_with_carry::seed");\r
+    carry = (x[long_lag-1] == 0);\r
+    k = 0;\r
+   }\r
+\r
+  result_type min BOOST_PREVENT_MACRO_SUBSTITUTION () const { return min_value; }\r
+  result_type max BOOST_PREVENT_MACRO_SUBSTITUTION () const { return max_value; }\r
+\r
+  result_type operator()()\r
+  {\r
+    int short_index = k - short_lag;\r
+    if(short_index < 0)\r
+      short_index += long_lag;\r
+    IntType delta;\r
+    if (x[short_index] >= x[k] + carry) {\r
+      // x(n) >= 0\r
+      delta =  x[short_index] - (x[k] + carry);\r
+      carry = 0;\r
+    } else {\r
+      // x(n) < 0\r
+      delta = modulus - x[k] - carry + x[short_index];\r
+      carry = 1;\r
+    }\r
+    x[k] = delta;\r
+    ++k;\r
+    if(k >= long_lag)\r
+      k = 0;\r
+    return delta;\r
+  }\r
+\r
+public:\r
+  static bool validation(result_type x) { return x == val; }\r
+  \r
+#ifndef BOOST_NO_OPERATORS_IN_NAMESPACE\r
+\r
+#ifndef BOOST_RANDOM_NO_STREAM_OPERATORS\r
+  template<class CharT, class Traits>\r
+  friend std::basic_ostream<CharT,Traits>&\r
+  operator<<(std::basic_ostream<CharT,Traits>& os,\r
+             const subtract_with_carry& f)\r
+  {\r
+    for(unsigned int j = 0; j < f.long_lag; ++j)\r
+      os << f.compute(j) << " ";\r
+    os << f.carry << " ";\r
+    return os;\r
+  }\r
+\r
+  template<class CharT, class Traits>\r
+  friend std::basic_istream<CharT,Traits>&\r
+  operator>>(std::basic_istream<CharT,Traits>& is, subtract_with_carry& f)\r
+  {\r
+    for(unsigned int j = 0; j < f.long_lag; ++j)\r
+      is >> f.x[j] >> std::ws;\r
+    is >> f.carry >> std::ws;\r
+    f.k = 0;\r
+    return is;\r
+  }\r
+#endif\r
+\r
+  friend bool operator==(const subtract_with_carry& x, const subtract_with_carry& y)\r
+  {\r
+    for(unsigned int j = 0; j < r; ++j)\r
+      if(x.compute(j) != y.compute(j))\r
+        return false;\r
+    return true;\r
+  }\r
+\r
+  friend bool operator!=(const subtract_with_carry& x, const subtract_with_carry& y)\r
+  { return !(x == y); }\r
+#else\r
+  // Use a member function; Streamable concept not supported.\r
+  bool operator==(const subtract_with_carry& rhs) const\r
+  {\r
+    for(unsigned int j = 0; j < r; ++j)\r
+      if(compute(j) != rhs.compute(j))\r
+        return false;\r
+    return true;\r
+  }\r
+\r
+  bool operator!=(const subtract_with_carry& rhs) const\r
+  { return !(*this == rhs); }\r
+#endif\r
+\r
+private:\r
+  // returns x(i-r+index), where index is in 0..r-1\r
+  IntType compute(unsigned int index) const\r
+  {\r
+    return x[(k+index) % long_lag];\r
+  }\r
+\r
+  // state representation; next output (state) is x(i)\r
+  //   x[0]  ... x[k] x[k+1] ... x[long_lag-1]     represents\r
+  //  x(i-k) ... x(i) x(i+1) ... x(i-k+long_lag-1)\r
+  // speed: base: 20-25 nsec\r
+  // ranlux_4: 230 nsec, ranlux_7: 430 nsec, ranlux_14: 810 nsec\r
+  // This state representation makes operator== and save/restore more\r
+  // difficult, because we've already computed "too much" and thus\r
+  // have to undo some steps to get at x(i-r) etc.\r
+\r
+  // state representation: next output (state) is x(i)\r
+  //   x[0]  ... x[k] x[k+1]          ... x[long_lag-1]     represents\r
+  //  x(i-k) ... x(i) x(i-long_lag+1) ... x(i-k-1)\r
+  // speed: base 28 nsec\r
+  // ranlux_4: 370 nsec, ranlux_7: 688 nsec, ranlux_14: 1343 nsec\r
+  IntType x[long_lag];\r
+  unsigned int k;\r
+  int carry;\r
+};\r
+\r
+#ifndef BOOST_NO_INCLASS_MEMBER_INITIALIZATION\r
+//  A definition is required even for integral static constants\r
+template<class IntType, IntType m, unsigned int s, unsigned int r, IntType val>\r
+const bool subtract_with_carry<IntType, m, s, r, val>::has_fixed_range;\r
+template<class IntType, IntType m, unsigned int s, unsigned int r, IntType val>\r
+const IntType subtract_with_carry<IntType, m, s, r, val>::min_value;\r
+template<class IntType, IntType m, unsigned int s, unsigned int r, IntType val>\r
+const IntType subtract_with_carry<IntType, m, s, r, val>::max_value;\r
+template<class IntType, IntType m, unsigned int s, unsigned int r, IntType val>\r
+const IntType subtract_with_carry<IntType, m, s, r, val>::modulus;\r
+template<class IntType, IntType m, unsigned int s, unsigned int r, IntType val>\r
+const unsigned int subtract_with_carry<IntType, m, s, r, val>::long_lag;\r
+template<class IntType, IntType m, unsigned int s, unsigned int r, IntType val>\r
+const unsigned int subtract_with_carry<IntType, m, s, r, val>::short_lag;\r
+#endif\r
+\r
+\r
+// use a floating-point representation to produce values in [0..1)\r
+template<class RealType, int w, unsigned int s, unsigned int r, int val=0>\r
+class subtract_with_carry_01\r
+{\r
+public:\r
+  typedef RealType result_type;\r
+  BOOST_STATIC_CONSTANT(bool, has_fixed_range = false);\r
+  BOOST_STATIC_CONSTANT(int, word_size = w);\r
+  BOOST_STATIC_CONSTANT(unsigned int, long_lag = r);\r
+  BOOST_STATIC_CONSTANT(unsigned int, short_lag = s);\r
+\r
+#ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS\r
+  BOOST_STATIC_ASSERT(!std::numeric_limits<result_type>::is_integer);\r
+#endif\r
+\r
+  subtract_with_carry_01() { init_modulus(); seed(); }\r
+  explicit subtract_with_carry_01(uint32_t value)\r
+  { init_modulus(); seed(value);   }\r
+  template<class It> subtract_with_carry_01(It& first, It last)\r
+  { init_modulus(); seed(first,last); }\r
+\r
+private:\r
+  void init_modulus()\r
+  {\r
+#ifndef BOOST_NO_STDC_NAMESPACE\r
+    // allow for Koenig lookup\r
+    using std::pow;\r
+#endif\r
+    _modulus = pow(RealType(2), word_size);\r
+  }\r
+\r
+public:\r
+  // compiler-generated copy ctor and assignment operator are fine\r
+\r
+  void seed(uint32_t value = 19780503u)\r
+  {\r
+#ifndef BOOST_NO_STDC_NAMESPACE\r
+    // allow for Koenig lookup\r
+    using std::fmod;\r
+#endif\r
+    random::linear_congruential<int32_t, 40014, 0, 2147483563, 0> gen(value);\r
+    unsigned long array[(w+31)/32 * long_lag];\r
+    for(unsigned int j = 0; j < sizeof(array)/sizeof(unsigned long); ++j)\r
+      array[j] = gen();\r
+    unsigned long * start = array;\r
+    seed(start, array + sizeof(array)/sizeof(unsigned long));\r
+  }\r
+\r
+  template<class It>\r
+  void seed(It& first, It last)\r
+  {\r
+#ifndef BOOST_NO_STDC_NAMESPACE\r
+    // allow for Koenig lookup\r
+    using std::fmod;\r
+    using std::pow;\r
+#endif\r
+    unsigned long mask = ~((~0u) << (w%32));   // now lowest (w%32) bits set\r
+    RealType two32 = pow(RealType(2), 32);\r
+    unsigned int j;\r
+    for(j = 0; j < long_lag && first != last; ++j) {\r
+      x[j] = RealType(0);\r
+      for(int i = 0; i < w/32 && first != last; ++i, ++first)\r
+        x[j] += *first / pow(two32,i+1);\r
+      if(first != last && mask != 0) {\r
+        x[j] += fmod((*first & mask) / _modulus, RealType(1));\r
+        ++first;\r
+      }\r
+    }\r
+    if(first == last && j < long_lag)\r
+      throw std::invalid_argument("subtract_with_carry_01::seed");\r
+    carry = (x[long_lag-1] ? 0 : 1 / _modulus);\r
+    k = 0;\r
+  }\r
+\r
+  result_type min BOOST_PREVENT_MACRO_SUBSTITUTION () const { return result_type(0); }\r
+  result_type max BOOST_PREVENT_MACRO_SUBSTITUTION () const { return result_type(1); }\r
+\r
+  result_type operator()()\r
+  {\r
+    int short_index = k - short_lag;\r
+    if(short_index < 0)\r
+      short_index += long_lag;\r
+    RealType delta = x[short_index] - x[k] - carry;\r
+    if(delta < 0) {\r
+      delta += RealType(1);\r
+      carry = RealType(1)/_modulus;\r
+    } else {\r
+      carry = 0;\r
+    }\r
+    x[k] = delta;\r
+    ++k;\r
+    if(k >= long_lag)\r
+      k = 0;\r
+    return delta;\r
+  }\r
+\r
+  static bool validation(result_type x)\r
+  { return x == val/pow(RealType(2), word_size); }\r
+  \r
+#ifndef BOOST_NO_OPERATORS_IN_NAMESPACE\r
+\r
+#ifndef BOOST_RANDOM_NO_STREAM_OPERATORS\r
+  template<class CharT, class Traits>\r
+  friend std::basic_ostream<CharT,Traits>&\r
+  operator<<(std::basic_ostream<CharT,Traits>& os,\r
+             const subtract_with_carry_01& f)\r
+  {\r
+#ifndef BOOST_NO_STDC_NAMESPACE\r
+    // allow for Koenig lookup\r
+    using std::pow;\r
+#endif\r
+    std::ios_base::fmtflags oldflags = os.flags(os.dec | os.fixed | os.left); \r
+    for(unsigned int j = 0; j < f.long_lag; ++j)\r
+      os << (f.compute(j) * f._modulus) << " ";\r
+    os << (f.carry * f._modulus);\r
+    os.flags(oldflags);\r
+    return os;\r
+  }\r
+\r
+  template<class CharT, class Traits>\r
+  friend std::basic_istream<CharT,Traits>&\r
+  operator>>(std::basic_istream<CharT,Traits>& is, subtract_with_carry_01& f)\r
+  {\r
+# ifdef BOOST_RANDOM_EXTRACT_SWC_01\r
+      detail::extract_subtract_with_carry_01(is, f, f.carry, f.x, f._modulus);\r
+# else\r
+    // MSVC (up to 7.1) and Borland (up to 5.64) don't handle the template type\r
+    // parameter "RealType" available from the class template scope, so use\r
+    // the member typedef\r
+    typename subtract_with_carry_01::result_type value;\r
+    for(unsigned int j = 0; j < long_lag; ++j) {\r
+      is >> value >> std::ws;\r
+      f.x[j] = value / f._modulus;\r
+    }\r
+    is >> value >> std::ws;\r
+    f.carry = value / f._modulus;\r
+# endif \r
+    f.k = 0;\r
+    return is;\r
+  }\r
+#endif\r
+\r
+  friend bool operator==(const subtract_with_carry_01& x,\r
+                         const subtract_with_carry_01& y)\r
+  {\r
+    for(unsigned int j = 0; j < r; ++j)\r
+      if(x.compute(j) != y.compute(j))\r
+        return false;\r
+    return true;\r
+  }\r
+\r
+  friend bool operator!=(const subtract_with_carry_01& x,\r
+                         const subtract_with_carry_01& y)\r
+  { return !(x == y); }\r
+#else\r
+  // Use a member function; Streamable concept not supported.\r
+  bool operator==(const subtract_with_carry_01& rhs) const\r
+  { \r
+    for(unsigned int j = 0; j < r; ++j)\r
+      if(compute(j) != rhs.compute(j))\r
+        return false;\r
+    return true;\r
+  }\r
+\r
+  bool operator!=(const subtract_with_carry_01& rhs) const\r
+  { return !(*this == rhs); }\r
+#endif\r
+\r
+private:\r
+  RealType compute(unsigned int index) const;\r
+  unsigned int k;\r
+  RealType carry;\r
+  RealType x[long_lag];\r
+  RealType _modulus;\r
+};\r
+\r
+#ifndef BOOST_NO_INCLASS_MEMBER_INITIALIZATION\r
+//  A definition is required even for integral static constants\r
+template<class RealType, int w, unsigned int s, unsigned int r, int val>\r
+const bool subtract_with_carry_01<RealType, w, s, r, val>::has_fixed_range;\r
+template<class RealType, int w, unsigned int s, unsigned int r, int val>\r
+const int subtract_with_carry_01<RealType, w, s, r, val>::word_size;\r
+template<class RealType, int w, unsigned int s, unsigned int r, int val>\r
+const unsigned int subtract_with_carry_01<RealType, w, s, r, val>::long_lag;\r
+template<class RealType, int w, unsigned int s, unsigned int r, int val>\r
+const unsigned int subtract_with_carry_01<RealType, w, s, r, val>::short_lag;\r
+#endif\r
+\r
+template<class RealType, int w, unsigned int s, unsigned int r, int val>\r
+RealType subtract_with_carry_01<RealType, w, s, r, val>::compute(unsigned int index) const\r
+{\r
+  return x[(k+index) % long_lag];\r
+}\r
+\r
+\r
+} // namespace random\r
+} // namespace boost\r
+\r
+#endif // BOOST_RANDOM_SUBTRACT_WITH_CARRY_HPP\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/random/triangle_distribution.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/random/triangle_distribution.hpp
new file mode 100644 (file)
index 0000000..3e3828b
--- /dev/null
@@ -0,0 +1,102 @@
+/* boost random/triangle_distribution.hpp header file\r
+ *\r
+ * Copyright Jens Maurer 2000-2001\r
+ * Distributed under the Boost Software License, Version 1.0. (See\r
+ * accompanying file LICENSE_1_0.txt or copy at\r
+ * http://www.boost.org/LICENSE_1_0.txt)\r
+ *\r
+ * See http://www.boost.org for most recent version including documentation.\r
+ *\r
+ * $Id: triangle_distribution.hpp 52492 2009-04-19 14:55:57Z steven_watanabe $\r
+ *\r
+ * Revision history\r
+ *  2001-02-18  moved to individual header files\r
+ */\r
+\r
+#ifndef BOOST_RANDOM_TRIANGLE_DISTRIBUTION_HPP\r
+#define BOOST_RANDOM_TRIANGLE_DISTRIBUTION_HPP\r
+\r
+#include <boost/config/no_tr1/cmath.hpp>\r
+#include <cassert>\r
+#include <boost/random/detail/config.hpp>\r
+#include <boost/random/uniform_01.hpp>\r
+\r
+namespace boost {\r
+\r
+// triangle distribution, with a smallest, b most probable, and c largest\r
+// value.\r
+template<class RealType = double>\r
+class triangle_distribution\r
+{\r
+public:\r
+  typedef RealType input_type;\r
+  typedef RealType result_type;\r
+\r
+  explicit triangle_distribution(result_type a_arg = result_type(0),\r
+                                 result_type b_arg = result_type(0.5),\r
+                                 result_type c_arg = result_type(1))\r
+    : _a(a_arg), _b(b_arg), _c(c_arg)\r
+  {\r
+    assert(_a <= _b && _b <= _c);\r
+    init();\r
+  }\r
+\r
+  // compiler-generated copy ctor and assignment operator are fine\r
+  result_type a() const { return _a; }\r
+  result_type b() const { return _b; }\r
+  result_type c() const { return _c; }\r
+\r
+  void reset() { }\r
+\r
+  template<class Engine>\r
+  result_type operator()(Engine& eng)\r
+  {\r
+#ifndef BOOST_NO_STDC_NAMESPACE\r
+    using std::sqrt;\r
+#endif\r
+    result_type u = eng();\r
+    if( u <= q1 )\r
+      return _a + p1*sqrt(u);\r
+    else\r
+      return _c - d3*sqrt(d2*u-d1);\r
+  }\r
+\r
+#ifndef BOOST_RANDOM_NO_STREAM_OPERATORS\r
+  template<class CharT, class Traits>\r
+  friend std::basic_ostream<CharT,Traits>&\r
+  operator<<(std::basic_ostream<CharT,Traits>& os, const triangle_distribution& td)\r
+  {\r
+    os << td._a << " " << td._b << " " << td._c;\r
+    return os;\r
+  }\r
+\r
+  template<class CharT, class Traits>\r
+  friend std::basic_istream<CharT,Traits>&\r
+  operator>>(std::basic_istream<CharT,Traits>& is, triangle_distribution& td)\r
+  {\r
+    is >> std::ws >> td._a >> std::ws >> td._b >> std::ws >> td._c;\r
+    td.init();\r
+    return is;\r
+  }\r
+#endif\r
+\r
+private:\r
+  void init()\r
+  {\r
+#ifndef BOOST_NO_STDC_NAMESPACE\r
+    using std::sqrt;\r
+#endif\r
+    d1 = _b - _a;\r
+    d2 = _c - _a;\r
+    d3 = sqrt(_c - _b);\r
+    q1 = d1 / d2;\r
+    p1 = sqrt(d1 * d2);\r
+  }\r
+\r
+  result_type _a, _b, _c;\r
+  result_type d1, d2, d3, q1, p1;\r
+};\r
+\r
+} // namespace boost\r
+\r
+#endif // BOOST_RANDOM_TRIANGLE_DISTRIBUTION_HPP\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/random/uniform_01.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/random/uniform_01.hpp
new file mode 100644 (file)
index 0000000..07d6a3e
--- /dev/null
@@ -0,0 +1,224 @@
+/* boost random/uniform_01.hpp header file\r
+ *\r
+ * Copyright Jens Maurer 2000-2001\r
+ * Distributed under the Boost Software License, Version 1.0. (See\r
+ * accompanying file LICENSE_1_0.txt or copy at\r
+ * http://www.boost.org/LICENSE_1_0.txt)\r
+ *\r
+ * See http://www.boost.org for most recent version including documentation.\r
+ *\r
+ * $Id: uniform_01.hpp 58649 2010-01-02 21:23:17Z steven_watanabe $\r
+ *\r
+ * Revision history\r
+ *  2001-02-18  moved to individual header files\r
+ */\r
+\r
+#ifndef BOOST_RANDOM_UNIFORM_01_HPP\r
+#define BOOST_RANDOM_UNIFORM_01_HPP\r
+\r
+#include <iostream>\r
+#include <boost/config.hpp>\r
+#include <boost/limits.hpp>\r
+#include <boost/static_assert.hpp>\r
+#include <boost/random/detail/config.hpp>\r
+#include <boost/random/detail/pass_through_engine.hpp>\r
+\r
+#include <boost/random/detail/disable_warnings.hpp>\r
+\r
+namespace boost {\r
+\r
+namespace detail {\r
+\r
+template<class RealType>\r
+class new_uniform_01\r
+{\r
+public:\r
+  typedef RealType input_type;\r
+  typedef RealType result_type;\r
+  // compiler-generated copy ctor and copy assignment are fine\r
+  result_type min BOOST_PREVENT_MACRO_SUBSTITUTION () const { return result_type(0); }\r
+  result_type max BOOST_PREVENT_MACRO_SUBSTITUTION () const { return result_type(1); }\r
+  void reset() { }\r
+\r
+  template<class Engine>\r
+  result_type operator()(Engine& eng) {\r
+    for (;;) {\r
+      typedef typename Engine::result_type base_result;\r
+      result_type factor = result_type(1) /\r
+              (result_type((eng.max)()-(eng.min)()) +\r
+               result_type(std::numeric_limits<base_result>::is_integer ? 1 : 0));\r
+      result_type result = result_type(eng() - (eng.min)()) * factor;\r
+      if (result < result_type(1))\r
+        return result;\r
+    }\r
+  }\r
+\r
+#ifndef BOOST_RANDOM_NO_STREAM_OPERATORS\r
+  template<class CharT, class Traits>\r
+  friend std::basic_ostream<CharT,Traits>&\r
+  operator<<(std::basic_ostream<CharT,Traits>& os, const new_uniform_01&)\r
+  {\r
+    return os;\r
+  }\r
+\r
+  template<class CharT, class Traits>\r
+  friend std::basic_istream<CharT,Traits>&\r
+  operator>>(std::basic_istream<CharT,Traits>& is, new_uniform_01&)\r
+  {\r
+    return is;\r
+  }\r
+#endif\r
+};\r
+\r
+template<class UniformRandomNumberGenerator, class RealType>\r
+class backward_compatible_uniform_01\r
+{\r
+  typedef boost::random::detail::ptr_helper<UniformRandomNumberGenerator> traits;\r
+  typedef boost::random::detail::pass_through_engine<UniformRandomNumberGenerator> internal_engine_type;\r
+public:\r
+  typedef UniformRandomNumberGenerator base_type;\r
+  typedef RealType result_type;\r
+\r
+  BOOST_STATIC_CONSTANT(bool, has_fixed_range = false);\r
+\r
+#if !defined(BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS) && !(defined(BOOST_MSVC) && BOOST_MSVC <= 1300)\r
+  BOOST_STATIC_ASSERT(!std::numeric_limits<RealType>::is_integer);\r
+#endif\r
+\r
+  explicit backward_compatible_uniform_01(typename traits::rvalue_type rng)\r
+    : _rng(rng),\r
+      _factor(result_type(1) /\r
+              (result_type((_rng.max)()-(_rng.min)()) +\r
+               result_type(std::numeric_limits<base_result>::is_integer ? 1 : 0)))\r
+  {\r
+  }\r
+  // compiler-generated copy ctor and copy assignment are fine\r
+\r
+  result_type min BOOST_PREVENT_MACRO_SUBSTITUTION () const { return result_type(0); }\r
+  result_type max BOOST_PREVENT_MACRO_SUBSTITUTION () const { return result_type(1); }\r
+  typename traits::value_type& base() { return _rng.base(); }\r
+  const typename traits::value_type& base() const { return _rng.base(); }\r
+  void reset() { }\r
+\r
+  result_type operator()() {\r
+    for (;;) {\r
+      result_type result = result_type(_rng() - (_rng.min)()) * _factor;\r
+      if (result < result_type(1))\r
+        return result;\r
+    }\r
+  }\r
+\r
+#if !defined(BOOST_NO_OPERATORS_IN_NAMESPACE) && !defined(BOOST_NO_MEMBER_TEMPLATE_FRIENDS)\r
+  template<class CharT, class Traits>\r
+  friend std::basic_ostream<CharT,Traits>&\r
+  operator<<(std::basic_ostream<CharT,Traits>& os, const backward_compatible_uniform_01& u)\r
+  {\r
+    os << u._rng;\r
+    return os;\r
+  }\r
+\r
+  template<class CharT, class Traits>\r
+  friend std::basic_istream<CharT,Traits>&\r
+  operator>>(std::basic_istream<CharT,Traits>& is, backward_compatible_uniform_01& u)\r
+  {\r
+    is >> u._rng;\r
+    return is;\r
+  }\r
+#endif\r
+\r
+private:\r
+  typedef typename internal_engine_type::result_type base_result;\r
+  internal_engine_type _rng;\r
+  result_type _factor;\r
+};\r
+\r
+#ifndef BOOST_NO_INCLASS_MEMBER_INITIALIZATION\r
+//  A definition is required even for integral static constants\r
+template<class UniformRandomNumberGenerator, class RealType>\r
+const bool backward_compatible_uniform_01<UniformRandomNumberGenerator, RealType>::has_fixed_range;\r
+#endif\r
+\r
+template<class UniformRandomNumberGenerator>\r
+struct select_uniform_01\r
+{\r
+  template<class RealType>\r
+  struct apply\r
+  {\r
+    typedef backward_compatible_uniform_01<UniformRandomNumberGenerator, RealType> type;\r
+  };\r
+};\r
+\r
+template<>\r
+struct select_uniform_01<float>\r
+{\r
+  template<class RealType>\r
+  struct apply\r
+  {\r
+    typedef new_uniform_01<float> type;\r
+  };\r
+};\r
+\r
+template<>\r
+struct select_uniform_01<double>\r
+{\r
+  template<class RealType>\r
+  struct apply\r
+  {\r
+    typedef new_uniform_01<double> type;\r
+  };\r
+};\r
+\r
+template<>\r
+struct select_uniform_01<long double>\r
+{\r
+  template<class RealType>\r
+  struct apply\r
+  {\r
+    typedef new_uniform_01<long double> type;\r
+  };\r
+};\r
+\r
+}\r
+\r
+// Because it is so commonly used: uniform distribution on the real [0..1)\r
+// range.  This allows for specializations to avoid a costly int -> float\r
+// conversion plus float multiplication\r
+template<class UniformRandomNumberGenerator = double, class RealType = double>\r
+class uniform_01\r
+  : public detail::select_uniform_01<UniformRandomNumberGenerator>::BOOST_NESTED_TEMPLATE apply<RealType>::type\r
+{\r
+  typedef typename detail::select_uniform_01<UniformRandomNumberGenerator>::BOOST_NESTED_TEMPLATE apply<RealType>::type impl_type;\r
+  typedef boost::random::detail::ptr_helper<UniformRandomNumberGenerator> traits;\r
+public:\r
+\r
+  uniform_01() {}\r
+\r
+  explicit uniform_01(typename traits::rvalue_type rng)\r
+    : impl_type(rng)\r
+  {\r
+  }\r
+\r
+#if !defined(BOOST_NO_OPERATORS_IN_NAMESPACE) && !defined(BOOST_NO_MEMBER_TEMPLATE_FRIENDS)\r
+  template<class CharT, class Traits>\r
+  friend std::basic_ostream<CharT,Traits>&\r
+  operator<<(std::basic_ostream<CharT,Traits>& os, const uniform_01& u)\r
+  {\r
+    os << static_cast<const impl_type&>(u);\r
+    return os;\r
+  }\r
+\r
+  template<class CharT, class Traits>\r
+  friend std::basic_istream<CharT,Traits>&\r
+  operator>>(std::basic_istream<CharT,Traits>& is, uniform_01& u)\r
+  {\r
+    is >> static_cast<impl_type&>(u);\r
+    return is;\r
+  }\r
+#endif\r
+};\r
+\r
+} // namespace boost\r
+\r
+#include <boost/random/detail/enable_warnings.hpp>\r
+\r
+#endif // BOOST_RANDOM_UNIFORM_01_HPP\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/random/uniform_int.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/random/uniform_int.hpp
new file mode 100644 (file)
index 0000000..e8f77cb
--- /dev/null
@@ -0,0 +1,264 @@
+/* boost random/uniform_int.hpp header file\r
+ *\r
+ * Copyright Jens Maurer 2000-2001\r
+ * Distributed under the Boost Software License, Version 1.0. (See\r
+ * accompanying file LICENSE_1_0.txt or copy at\r
+ * http://www.boost.org/LICENSE_1_0.txt)\r
+ *\r
+ * See http://www.boost.org for most recent version including documentation.\r
+ *\r
+ * $Id: uniform_int.hpp 58649 2010-01-02 21:23:17Z steven_watanabe $\r
+ *\r
+ * Revision history\r
+ *  2001-04-08  added min<max assertion (N. Becker)\r
+ *  2001-02-18  moved to individual header files\r
+ */\r
+\r
+#ifndef BOOST_RANDOM_UNIFORM_INT_HPP\r
+#define BOOST_RANDOM_UNIFORM_INT_HPP\r
+\r
+#include <cassert>\r
+#include <iostream>\r
+#include <boost/config.hpp>\r
+#include <boost/limits.hpp>\r
+#include <boost/static_assert.hpp>\r
+#include <boost/detail/workaround.hpp>\r
+#include <boost/random/detail/config.hpp>\r
+#include <boost/random/detail/signed_unsigned_tools.hpp>\r
+#include <boost/type_traits/make_unsigned.hpp>\r
+\r
+namespace boost {\r
+\r
+// uniform integer distribution on [min, max]\r
+template<class IntType = int>\r
+class uniform_int\r
+{\r
+public:\r
+  typedef IntType input_type;\r
+  typedef IntType result_type;\r
+  typedef typename make_unsigned<result_type>::type range_type;\r
+\r
+  explicit uniform_int(IntType min_arg = 0, IntType max_arg = 9)\r
+    : _min(min_arg), _max(max_arg)\r
+  {\r
+#ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS\r
+    // MSVC fails BOOST_STATIC_ASSERT with std::numeric_limits at class scope\r
+    BOOST_STATIC_ASSERT(std::numeric_limits<IntType>::is_integer);\r
+#endif\r
+    assert(min_arg <= max_arg);\r
+    init();\r
+  }\r
+\r
+  result_type min BOOST_PREVENT_MACRO_SUBSTITUTION () const { return _min; }\r
+  result_type max BOOST_PREVENT_MACRO_SUBSTITUTION () const { return _max; }\r
+  void reset() { }\r
+  \r
+  // can't have member function templates out-of-line due to MSVC bugs\r
+  template<class Engine>\r
+  result_type operator()(Engine& eng)\r
+  {\r
+      return generate(eng, _min, _max, _range);\r
+  }\r
+\r
+  template<class Engine>\r
+  result_type operator()(Engine& eng, result_type n)\r
+  {\r
+      assert(n > 0);\r
+\r
+      if (n == 1)\r
+      {\r
+        return 0;\r
+      }\r
+\r
+      return generate(eng, 0, n - 1, n - 1);\r
+  }\r
+\r
+#ifndef BOOST_RANDOM_NO_STREAM_OPERATORS\r
+  template<class CharT, class Traits>\r
+  friend std::basic_ostream<CharT,Traits>&\r
+  operator<<(std::basic_ostream<CharT,Traits>& os, const uniform_int& ud)\r
+  {\r
+    os << ud._min << " " << ud._max;\r
+    return os;\r
+  }\r
+\r
+  template<class CharT, class Traits>\r
+  friend std::basic_istream<CharT,Traits>&\r
+  operator>>(std::basic_istream<CharT,Traits>& is, uniform_int& ud)\r
+  {\r
+    is >> std::ws >> ud._min >> std::ws >> ud._max;\r
+    ud.init();\r
+    return is;\r
+  }\r
+#endif\r
+\r
+private:\r
+  template<class Engine>\r
+  static result_type generate(Engine& eng, result_type min_value, result_type /*max_value*/, range_type range)\r
+  {\r
+    typedef typename Engine::result_type base_result;\r
+    // ranges are always unsigned\r
+    typedef typename make_unsigned<base_result>::type base_unsigned;\r
+    const base_result bmin = (eng.min)();\r
+    const base_unsigned brange =\r
+      random::detail::subtract<base_result>()((eng.max)(), (eng.min)());\r
+\r
+    if(range == 0) {\r
+      return min_value;    \r
+    } else if(brange == range) {\r
+      // this will probably never happen in real life\r
+      // basically nothing to do; just take care we don't overflow / underflow\r
+      base_unsigned v = random::detail::subtract<base_result>()(eng(), bmin);\r
+      return random::detail::add<base_unsigned, result_type>()(v, min_value);\r
+    } else if(brange < range) {\r
+      // use rejection method to handle things like 0..3 --> 0..4\r
+      for(;;) {\r
+        // concatenate several invocations of the base RNG\r
+        // take extra care to avoid overflows\r
+\r
+        //  limit == floor((range+1)/(brange+1))\r
+        //  Therefore limit*(brange+1) <= range+1\r
+        range_type limit;\r
+        if(range == (std::numeric_limits<range_type>::max)()) {\r
+          limit = range/(range_type(brange)+1);\r
+          if(range % (range_type(brange)+1) == range_type(brange))\r
+            ++limit;\r
+        } else {\r
+          limit = (range+1)/(range_type(brange)+1);\r
+        }\r
+\r
+        // We consider "result" as expressed to base (brange+1):\r
+        // For every power of (brange+1), we determine a random factor\r
+        range_type result = range_type(0);\r
+        range_type mult = range_type(1);\r
+\r
+        // loop invariants:\r
+        //  result < mult\r
+        //  mult <= range\r
+        while(mult <= limit) {\r
+          // Postcondition: result <= range, thus no overflow\r
+          //\r
+          // limit*(brange+1)<=range+1                   def. of limit       (1)\r
+          // eng()-bmin<=brange                          eng() post.         (2)\r
+          // and mult<=limit.                            loop condition      (3)\r
+          // Therefore mult*(eng()-bmin+1)<=range+1      by (1),(2),(3)      (4)\r
+          // Therefore mult*(eng()-bmin)+mult<=range+1   rearranging (4)     (5)\r
+          // result<mult                                 loop invariant      (6)\r
+          // Therefore result+mult*(eng()-bmin)<range+1  by (5), (6)         (7)\r
+          //\r
+          // Postcondition: result < mult*(brange+1)\r
+          //\r
+          // result<mult                                 loop invariant      (1)\r
+          // eng()-bmin<=brange                          eng() post.         (2)\r
+          // Therefore result+mult*(eng()-bmin) <\r
+          //           mult+mult*(eng()-bmin)            by (1)              (3)\r
+          // Therefore result+(eng()-bmin)*mult <\r
+          //           mult+mult*brange                  by (2), (3)         (4)\r
+          // Therefore result+(eng()-bmin)*mult <\r
+          //           mult*(brange+1)                   by (4)\r
+          result += static_cast<range_type>(random::detail::subtract<base_result>()(eng(), bmin) * mult);\r
+\r
+          // equivalent to (mult * (brange+1)) == range+1, but avoids overflow.\r
+          if(mult * range_type(brange) == range - mult + 1) {\r
+              // The destination range is an integer power of\r
+              // the generator's range.\r
+              return(result);\r
+          }\r
+\r
+          // Postcondition: mult <= range\r
+          // \r
+          // limit*(brange+1)<=range+1                   def. of limit       (1)\r
+          // mult<=limit                                 loop condition      (2)\r
+          // Therefore mult*(brange+1)<=range+1          by (1), (2)         (3)\r
+          // mult*(brange+1)!=range+1                    preceding if        (4)\r
+          // Therefore mult*(brange+1)<range+1           by (3), (4)         (5)\r
+          // \r
+          // Postcondition: result < mult\r
+          //\r
+          // See the second postcondition on the change to result. \r
+          mult *= range_type(brange)+range_type(1);\r
+        }\r
+        // loop postcondition: range/mult < brange+1\r
+        //\r
+        // mult > limit                                  loop condition      (1)\r
+        // Suppose range/mult >= brange+1                Assumption          (2)\r
+        // range >= mult*(brange+1)                      by (2)              (3)\r
+        // range+1 > mult*(brange+1)                     by (3)              (4)\r
+        // range+1 > (limit+1)*(brange+1)                by (1), (4)         (5)\r
+        // (range+1)/(brange+1) > limit+1                by (5)              (6)\r
+        // limit < floor((range+1)/(brange+1))           by (6)              (7)\r
+        // limit==floor((range+1)/(brange+1))            def. of limit       (8)\r
+        // not (2)                                       reductio            (9)\r
+        //\r
+        // loop postcondition: (range/mult)*mult+(mult-1) >= range\r
+        //\r
+        // (range/mult)*mult + range%mult == range       identity            (1)\r
+        // range%mult < mult                             def. of %           (2)\r
+        // (range/mult)*mult+mult > range                by (1), (2)         (3)\r
+        // (range/mult)*mult+(mult-1) >= range           by (3)              (4)\r
+        //\r
+        // Note that the maximum value of result at this point is (mult-1),\r
+        // so after this final step, we generate numbers that can be\r
+        // at least as large as range.  We have to really careful to avoid\r
+        // overflow in this final addition and in the rejection.  Anything\r
+        // that overflows is larger than range and can thus be rejected.\r
+\r
+        // range/mult < brange+1  -> no endless loop\r
+        range_type result_increment = uniform_int<range_type>(0, range/mult)(eng);\r
+        if((std::numeric_limits<range_type>::max)() / mult < result_increment) {\r
+          // The multiplcation would overflow.  Reject immediately.\r
+          continue;\r
+        }\r
+        result_increment *= mult;\r
+        // unsigned integers are guaranteed to wrap on overflow.\r
+        result += result_increment;\r
+        if(result < result_increment) {\r
+          // The addition overflowed.  Reject.\r
+          continue;\r
+        }\r
+        if(result > range) {\r
+          // Too big.  Reject.\r
+          continue;\r
+        }\r
+        return random::detail::add<range_type, result_type>()(result, min_value);\r
+      }\r
+    } else {                   // brange > range\r
+      base_unsigned bucket_size;\r
+      // it's safe to add 1 to range, as long as we cast it first,\r
+      // because we know that it is less than brange.  However,\r
+      // we do need to be careful not to cause overflow by adding 1\r
+      // to brange.\r
+      if(brange == (std::numeric_limits<base_unsigned>::max)()) {\r
+        bucket_size = brange / (static_cast<base_unsigned>(range)+1);\r
+        if(brange % (static_cast<base_unsigned>(range)+1) == static_cast<base_unsigned>(range)) {\r
+          ++bucket_size;\r
+        }\r
+      } else {\r
+        bucket_size = (brange+1) / (static_cast<base_unsigned>(range)+1);\r
+      }\r
+      for(;;) {\r
+        base_unsigned result =\r
+          random::detail::subtract<base_result>()(eng(), bmin);\r
+        result /= bucket_size;\r
+        // result and range are non-negative, and result is possibly larger\r
+        // than range, so the cast is safe\r
+        if(result <= static_cast<base_unsigned>(range))\r
+          return random::detail::add<base_unsigned, result_type>()(result, min_value);\r
+      }\r
+    }\r
+  }\r
+\r
+  void init()\r
+  {\r
+    _range = random::detail::subtract<result_type>()(_max, _min);\r
+  }\r
+\r
+  // The result_type may be signed or unsigned, but the _range is always\r
+  // unsigned.\r
+  result_type _min, _max;\r
+  range_type _range;\r
+};\r
+\r
+} // namespace boost\r
+\r
+#endif // BOOST_RANDOM_UNIFORM_INT_HPP\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/random/uniform_on_sphere.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/random/uniform_on_sphere.hpp
new file mode 100644 (file)
index 0000000..80c8bce
--- /dev/null
@@ -0,0 +1,87 @@
+/* boost random/uniform_on_sphere.hpp header file\r
+ *\r
+ * Copyright Jens Maurer 2000-2001\r
+ * Distributed under the Boost Software License, Version 1.0. (See\r
+ * accompanying file LICENSE_1_0.txt or copy at\r
+ * http://www.boost.org/LICENSE_1_0.txt)\r
+ *\r
+ * See http://www.boost.org for most recent version including documentation.\r
+ *\r
+ * $Id: uniform_on_sphere.hpp 52492 2009-04-19 14:55:57Z steven_watanabe $\r
+ *\r
+ * Revision history\r
+ *  2001-02-18  moved to individual header files\r
+ */\r
+\r
+#ifndef BOOST_RANDOM_UNIFORM_ON_SPHERE_HPP\r
+#define BOOST_RANDOM_UNIFORM_ON_SPHERE_HPP\r
+\r
+#include <vector>\r
+#include <algorithm>     // std::transform\r
+#include <functional>    // std::bind2nd, std::divides\r
+#include <boost/random/detail/config.hpp>\r
+#include <boost/random/normal_distribution.hpp>\r
+\r
+namespace boost {\r
+\r
+template<class RealType = double, class Cont = std::vector<RealType> >\r
+class uniform_on_sphere\r
+{\r
+public:\r
+  typedef RealType input_type;\r
+  typedef Cont result_type;\r
+\r
+  explicit uniform_on_sphere(int dim = 2) : _container(dim), _dim(dim) { }\r
+\r
+  // compiler-generated copy ctor and assignment operator are fine\r
+\r
+  void reset() { _normal.reset(); }\r
+\r
+  template<class Engine>\r
+  const result_type & operator()(Engine& eng)\r
+  {\r
+    RealType sqsum = 0;\r
+    for(typename Cont::iterator it = _container.begin();\r
+        it != _container.end();\r
+        ++it) {\r
+      RealType val = _normal(eng);\r
+      *it = val;\r
+      sqsum += val * val;\r
+    }\r
+#ifndef BOOST_NO_STDC_NAMESPACE\r
+    using std::sqrt;\r
+#endif\r
+    // for all i: result[i] /= sqrt(sqsum)\r
+    std::transform(_container.begin(), _container.end(), _container.begin(),\r
+                   std::bind2nd(std::divides<RealType>(), sqrt(sqsum)));\r
+    return _container;\r
+  }\r
+\r
+#ifndef BOOST_RANDOM_NO_STREAM_OPERATORS\r
+  template<class CharT, class Traits>\r
+  friend std::basic_ostream<CharT,Traits>&\r
+  operator<<(std::basic_ostream<CharT,Traits>& os, const uniform_on_sphere& sd)\r
+  {\r
+    os << sd._dim;\r
+    return os;\r
+  }\r
+\r
+  template<class CharT, class Traits>\r
+  friend std::basic_istream<CharT,Traits>&\r
+  operator>>(std::basic_istream<CharT,Traits>& is, uniform_on_sphere& sd)\r
+  {\r
+    is >> std::ws >> sd._dim;\r
+    sd._container.resize(sd._dim);\r
+    return is;\r
+  }\r
+#endif\r
+\r
+private:\r
+  normal_distribution<RealType> _normal;\r
+  result_type _container;\r
+  int _dim;\r
+};\r
+\r
+} // namespace boost\r
+\r
+#endif // BOOST_RANDOM_UNIFORM_ON_SPHERE_HPP\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/random/uniform_real.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/random/uniform_real.hpp
new file mode 100644 (file)
index 0000000..83f9566
--- /dev/null
@@ -0,0 +1,86 @@
+/* boost random/uniform_real.hpp header file\r
+ *\r
+ * Copyright Jens Maurer 2000-2001\r
+ * Distributed under the Boost Software License, Version 1.0. (See\r
+ * accompanying file LICENSE_1_0.txt or copy at\r
+ * http://www.boost.org/LICENSE_1_0.txt)\r
+ *\r
+ * See http://www.boost.org for most recent version including documentation.\r
+ *\r
+ * $Id: uniform_real.hpp 56814 2009-10-14 04:54:01Z steven_watanabe $\r
+ *\r
+ * Revision history\r
+ *  2001-04-08  added min<max assertion (N. Becker)\r
+ *  2001-02-18  moved to individual header files\r
+ */\r
+\r
+#ifndef BOOST_RANDOM_UNIFORM_REAL_HPP\r
+#define BOOST_RANDOM_UNIFORM_REAL_HPP\r
+\r
+#include <cassert>\r
+#include <iostream>\r
+#include <boost/config.hpp>\r
+#include <boost/limits.hpp>\r
+#include <boost/static_assert.hpp>\r
+#include <boost/random/detail/config.hpp>\r
+\r
+namespace boost {\r
+\r
+// uniform distribution on a real range\r
+template<class RealType = double>\r
+class uniform_real\r
+{\r
+public:\r
+  typedef RealType input_type;\r
+  typedef RealType result_type;\r
+\r
+  explicit uniform_real(RealType min_arg = RealType(0),\r
+                        RealType max_arg = RealType(1))\r
+    : _min(min_arg), _max(max_arg)\r
+  {\r
+#ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS\r
+    BOOST_STATIC_ASSERT(!std::numeric_limits<RealType>::is_integer);\r
+#endif\r
+    assert(min_arg <= max_arg);\r
+  }\r
+\r
+  // compiler-generated copy ctor and assignment operator are fine\r
+\r
+  result_type min BOOST_PREVENT_MACRO_SUBSTITUTION () const { return _min; }\r
+  result_type max BOOST_PREVENT_MACRO_SUBSTITUTION () const { return _max; }\r
+  void reset() { }\r
+\r
+  template<class Engine>\r
+  result_type operator()(Engine& eng) {\r
+    result_type numerator = static_cast<result_type>(eng() - eng.min BOOST_PREVENT_MACRO_SUBSTITUTION());\r
+    result_type divisor = static_cast<result_type>(eng.max BOOST_PREVENT_MACRO_SUBSTITUTION() - eng.min BOOST_PREVENT_MACRO_SUBSTITUTION());\r
+    assert(divisor > 0);\r
+    assert(numerator >= 0 && numerator <= divisor);\r
+    return numerator / divisor * (_max - _min) + _min;\r
+  }\r
+\r
+#ifndef BOOST_RANDOM_NO_STREAM_OPERATORS\r
+  template<class CharT, class Traits>\r
+  friend std::basic_ostream<CharT,Traits>&\r
+  operator<<(std::basic_ostream<CharT,Traits>& os, const uniform_real& ud)\r
+  {\r
+    os << ud._min << " " << ud._max;\r
+    return os;\r
+  }\r
+\r
+  template<class CharT, class Traits>\r
+  friend std::basic_istream<CharT,Traits>&\r
+  operator>>(std::basic_istream<CharT,Traits>& is, uniform_real& ud)\r
+  {\r
+    is >> std::ws >> ud._min >> std::ws >> ud._max;\r
+    return is;\r
+  }\r
+#endif\r
+\r
+private:\r
+  RealType _min, _max;\r
+};\r
+\r
+} // namespace boost\r
+\r
+#endif // BOOST_RANDOM_UNIFORM_REAL_HPP\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/random/uniform_smallint.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/random/uniform_smallint.hpp
new file mode 100644 (file)
index 0000000..3308bca
--- /dev/null
@@ -0,0 +1,108 @@
+/* boost random/uniform_smallint.hpp header file\r
+ *\r
+ * Copyright Jens Maurer 2000-2001\r
+ * Distributed under the Boost Software License, Version 1.0. (See\r
+ * accompanying file LICENSE_1_0.txt or copy at\r
+ * http://www.boost.org/LICENSE_1_0.txt)\r
+ *\r
+ * See http://www.boost.org for most recent version including documentation.\r
+ *\r
+ * $Id: uniform_smallint.hpp 52492 2009-04-19 14:55:57Z steven_watanabe $\r
+ *\r
+ * Revision history\r
+ *  2001-04-08  added min<max assertion (N. Becker)\r
+ *  2001-02-18  moved to individual header files\r
+ */\r
+\r
+#ifndef BOOST_RANDOM_UNIFORM_SMALLINT_HPP\r
+#define BOOST_RANDOM_UNIFORM_SMALLINT_HPP\r
+\r
+#include <cassert>\r
+#include <iostream>\r
+#include <boost/config.hpp>\r
+#include <boost/limits.hpp>\r
+#include <boost/static_assert.hpp>\r
+#include <boost/random/detail/config.hpp>\r
+#include <boost/random/uniform_01.hpp>\r
+#include <boost/detail/workaround.hpp>\r
+\r
+namespace boost {\r
+\r
+// uniform integer distribution on a small range [min, max]\r
+\r
+template<class IntType = int>\r
+class uniform_smallint\r
+{\r
+public:\r
+  typedef IntType input_type;\r
+  typedef IntType result_type;\r
+\r
+  explicit uniform_smallint(IntType min_arg = 0, IntType max_arg = 9)\r
+    : _min(min_arg), _max(max_arg)\r
+  {\r
+#ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS\r
+    // MSVC fails BOOST_STATIC_ASSERT with std::numeric_limits at class scope\r
+    BOOST_STATIC_ASSERT(std::numeric_limits<IntType>::is_integer);\r
+#endif\r
+ }\r
+\r
+  result_type min BOOST_PREVENT_MACRO_SUBSTITUTION () const { return _min; }\r
+  result_type max BOOST_PREVENT_MACRO_SUBSTITUTION () const { return _max; }\r
+  void reset() { }\r
+\r
+  template<class Engine>\r
+  result_type operator()(Engine& eng)\r
+  {\r
+    typedef typename Engine::result_type base_result;\r
+    base_result _range = static_cast<base_result>(_max-_min)+1;\r
+    base_result _factor = 1;\r
+    \r
+    // LCGs get bad when only taking the low bits.\r
+    // (probably put this logic into a partial template specialization)\r
+    // Check how many low bits we can ignore before we get too much\r
+    // quantization error.\r
+    base_result r_base = (eng.max)() - (eng.min)();\r
+    if(r_base == (std::numeric_limits<base_result>::max)()) {\r
+      _factor = 2;\r
+      r_base /= 2;\r
+    }\r
+    r_base += 1;\r
+    if(r_base % _range == 0) {\r
+      // No quantization effects, good\r
+      _factor = r_base / _range;\r
+    } else {\r
+      // carefully avoid overflow; pessimizing here\r
+      for( ; r_base/_range/32 >= _range; _factor *= 2)\r
+        r_base /= 2;\r
+    }\r
+\r
+    return ((eng() - (eng.min)()) / _factor) % _range + _min;\r
+  }\r
+\r
+#ifndef BOOST_RANDOM_NO_STREAM_OPERATORS\r
+  template<class CharT, class Traits>\r
+  friend std::basic_ostream<CharT,Traits>&\r
+  operator<<(std::basic_ostream<CharT,Traits>& os, const uniform_smallint& ud)\r
+  {\r
+    os << ud._min << " " << ud._max;\r
+    return os;\r
+  }\r
+\r
+  template<class CharT, class Traits>\r
+  friend std::basic_istream<CharT,Traits>&\r
+  operator>>(std::basic_istream<CharT,Traits>& is, uniform_smallint& ud)\r
+  {\r
+    is >> std::ws >> ud._min >> std::ws >> ud._max;\r
+    return is;\r
+  }\r
+#endif\r
+\r
+private:\r
+\r
+  result_type _min;\r
+  result_type _max;\r
+};\r
+\r
+} // namespace boost\r
+\r
+#endif // BOOST_RANDOM_UNIFORM_SMALLINT_HPP\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/random/variate_generator.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/random/variate_generator.hpp
new file mode 100644 (file)
index 0000000..691af20
--- /dev/null
@@ -0,0 +1,137 @@
+/* boost random/variate_generator.hpp header file\r
+ *\r
+ * Copyright Jens Maurer 2002\r
+ * Distributed under the Boost Software License, Version 1.0. (See\r
+ * accompanying file LICENSE_1_0.txt or copy at\r
+ * http://www.boost.org/LICENSE_1_0.txt)\r
+ *\r
+ * See http://www.boost.org for most recent version including documentation.\r
+ *\r
+ * $Id: variate_generator.hpp 58649 2010-01-02 21:23:17Z steven_watanabe $\r
+ *\r
+ */\r
+\r
+#ifndef BOOST_RANDOM_RANDOM_GENERATOR_HPP\r
+#define BOOST_RANDOM_RANDOM_GENERATOR_HPP\r
+\r
+#include <boost/config.hpp>\r
+\r
+// implementation details\r
+#include <boost/detail/workaround.hpp>\r
+#include <boost/random/uniform_01.hpp>\r
+#include <boost/random/detail/pass_through_engine.hpp>\r
+#include <boost/random/detail/uniform_int_float.hpp>\r
+#include <boost/random/detail/ptr_helper.hpp>\r
+\r
+// Borland C++ 5.6.0 has problems using its numeric_limits traits as\r
+// template parameters\r
+#if BOOST_WORKAROUND(__BORLANDC__, <= 0x564)\r
+#include <boost/type_traits/is_integral.hpp>\r
+#endif\r
+\r
+#include <boost/random/detail/disable_warnings.hpp>\r
+\r
+namespace boost {\r
+\r
+namespace random {\r
+namespace detail {\r
+\r
+template<bool have_int, bool want_int>\r
+struct engine_helper;\r
+\r
+// for consistency, always have two levels of decorations\r
+template<>\r
+struct engine_helper<true, true>\r
+{\r
+  template<class Engine, class DistInputType>\r
+  struct impl\r
+  {\r
+    typedef pass_through_engine<Engine> type;\r
+  };\r
+};\r
+\r
+template<>\r
+struct engine_helper<false, false>\r
+{\r
+  template<class Engine, class DistInputType>\r
+  struct impl\r
+  {\r
+    typedef uniform_01<Engine, DistInputType> type;\r
+  };\r
+};\r
+\r
+template<>\r
+struct engine_helper<true, false>\r
+{\r
+  template<class Engine, class DistInputType>\r
+  struct impl\r
+  {\r
+    typedef uniform_01<Engine, DistInputType> type;\r
+  };\r
+};\r
+\r
+template<>\r
+struct engine_helper<false, true>\r
+{\r
+  template<class Engine, class DistInputType>\r
+  struct impl\r
+  {\r
+    typedef uniform_int_float<Engine, unsigned long> type;\r
+  };\r
+};\r
+\r
+} // namespace detail\r
+} // namespace random\r
+\r
+\r
+template<class Engine, class Distribution>\r
+class variate_generator\r
+{\r
+private:\r
+  typedef random::detail::pass_through_engine<Engine> decorated_engine;\r
+\r
+public:\r
+  typedef typename decorated_engine::base_type engine_value_type;\r
+  typedef Engine engine_type;\r
+  typedef Distribution distribution_type;\r
+  typedef typename Distribution::result_type result_type;\r
+\r
+  variate_generator(Engine e, Distribution d)\r
+    : _eng(decorated_engine(e)), _dist(d) { }\r
+\r
+  result_type operator()() { return _dist(_eng); }\r
+  template<class T>\r
+  result_type operator()(T value) { return _dist(_eng, value); }\r
+\r
+  engine_value_type& engine() { return _eng.base().base(); }\r
+  const engine_value_type& engine() const { return _eng.base().base(); }\r
+\r
+  distribution_type& distribution() { return _dist; }\r
+  const distribution_type& distribution() const { return _dist; }\r
+\r
+  result_type min BOOST_PREVENT_MACRO_SUBSTITUTION () const { return (distribution().min)(); }\r
+  result_type max BOOST_PREVENT_MACRO_SUBSTITUTION () const { return (distribution().max)(); }\r
+\r
+private:\r
+#if BOOST_WORKAROUND(__BORLANDC__, <= 0x564)\r
+  typedef typename random::detail::engine_helper<\r
+    boost::is_integral<typename decorated_engine::result_type>::value,\r
+    boost::is_integral<typename Distribution::input_type>::value\r
+    >::BOOST_NESTED_TEMPLATE impl<decorated_engine, typename Distribution::input_type>::type internal_engine_type;\r
+#else\r
+  enum {\r
+    have_int = std::numeric_limits<typename decorated_engine::result_type>::is_integer,\r
+    want_int = std::numeric_limits<typename Distribution::input_type>::is_integer\r
+  };\r
+  typedef typename random::detail::engine_helper<have_int, want_int>::BOOST_NESTED_TEMPLATE impl<decorated_engine, typename Distribution::input_type>::type internal_engine_type;\r
+#endif\r
+\r
+  internal_engine_type _eng;\r
+  distribution_type _dist;\r
+};\r
+\r
+} // namespace boost\r
+\r
+#include <boost/random/detail/disable_warnings.hpp>\r
+\r
+#endif // BOOST_RANDOM_RANDOM_GENERATOR_HPP\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/random/xor_combine.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/random/xor_combine.hpp
new file mode 100644 (file)
index 0000000..c962be0
--- /dev/null
@@ -0,0 +1,134 @@
+/* boost random/xor_combine.hpp header file\r
+ *\r
+ * Copyright Jens Maurer 2002\r
+ * Distributed under the Boost Software License, Version 1.0. (See\r
+ * accompanying file LICENSE_1_0.txt or copy at\r
+ * http://www.boost.org/LICENSE_1_0.txt)\r
+ *\r
+ * See http://www.boost.org for most recent version including documentation.\r
+ *\r
+ * $Id: xor_combine.hpp 53871 2009-06-13 17:54:06Z steven_watanabe $\r
+ *\r
+ */\r
+\r
+#ifndef BOOST_RANDOM_XOR_COMBINE_HPP\r
+#define BOOST_RANDOM_XOR_COMBINE_HPP\r
+\r
+#include <iostream>\r
+#include <cassert>\r
+#include <algorithm> // for std::min and std::max\r
+#include <boost/config.hpp>\r
+#include <boost/limits.hpp>\r
+#include <boost/static_assert.hpp>\r
+#include <boost/cstdint.hpp>     // uint32_t\r
+#include <boost/random/detail/config.hpp>\r
+\r
+\r
+namespace boost {\r
+namespace random {\r
+\r
+#ifndef BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS\r
+  #define BOOST_RANDOM_VAL_TYPE typename URNG1::result_type \r
+#else\r
+  #define BOOST_RANDOM_VAL_TYPE uint32_t\r
+#endif\r
+\r
+template<class URNG1, int s1, class URNG2, int s2, BOOST_RANDOM_VAL_TYPE val = 0>\r
+class xor_combine\r
+{\r
+public:\r
+  typedef URNG1 base1_type;\r
+  typedef URNG2 base2_type;\r
+  typedef typename base1_type::result_type result_type;\r
+\r
+  BOOST_STATIC_CONSTANT(bool, has_fixed_range = false);\r
+  BOOST_STATIC_CONSTANT(int, shift1 = s1);\r
+  BOOST_STATIC_CONSTANT(int, shift2 = s2);\r
+\r
+  xor_combine() : _rng1(), _rng2()\r
+  { }\r
+  xor_combine(const base1_type & rng1, const base2_type & rng2)\r
+    : _rng1(rng1), _rng2(rng2) { }\r
+  xor_combine(const result_type & v)\r
+    : _rng1(v), _rng2(v) { }\r
+  template<class It> xor_combine(It& first, It last)\r
+    : _rng1(first, last), _rng2( /* advanced by other call */ first, last) { }\r
+  void seed() { _rng1.seed(); _rng2.seed(); }\r
+  void seed(const result_type & v) { _rng1.seed(v); _rng2.seed(v); }\r
+  template<class It> void seed(It& first, It last)\r
+  {\r
+    _rng1.seed(first, last);\r
+    _rng2.seed(first, last);\r
+  }\r
+\r
+  const base1_type& base1() { return _rng1; }\r
+  const base2_type& base2() { return _rng2; }\r
+\r
+  result_type operator()()\r
+  {\r
+    // MSVC fails BOOST_STATIC_ASSERT with std::numeric_limits at class scope\r
+#if !defined(BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS) && !(defined(BOOST_MSVC) && BOOST_MSVC <= 1300)\r
+    BOOST_STATIC_ASSERT(std::numeric_limits<typename base1_type::result_type>::is_integer);\r
+    BOOST_STATIC_ASSERT(std::numeric_limits<typename base2_type::result_type>::is_integer);\r
+    BOOST_STATIC_ASSERT(std::numeric_limits<typename base1_type::result_type>::digits >= std::numeric_limits<typename base2_type::result_type>::digits);\r
+#endif\r
+    return (_rng1() << s1) ^ (_rng2() << s2);\r
+  }\r
+\r
+  result_type min BOOST_PREVENT_MACRO_SUBSTITUTION () const { return std::min BOOST_PREVENT_MACRO_SUBSTITUTION((_rng1.min)(), (_rng2.min)()); }\r
+  result_type max BOOST_PREVENT_MACRO_SUBSTITUTION () const { return std::max BOOST_PREVENT_MACRO_SUBSTITUTION((_rng1.min)(), (_rng2.max)()); }\r
+  static bool validation(result_type x) { return val == x; }\r
+\r
+#ifndef BOOST_NO_OPERATORS_IN_NAMESPACE\r
+\r
+#ifndef BOOST_RANDOM_NO_STREAM_OPERATORS\r
+  template<class CharT, class Traits>\r
+  friend std::basic_ostream<CharT,Traits>&\r
+  operator<<(std::basic_ostream<CharT,Traits>& os, const xor_combine& s)\r
+  {\r
+    os << s._rng1 << " " << s._rng2 << " ";\r
+    return os;\r
+  }\r
+\r
+  template<class CharT, class Traits>\r
+  friend std::basic_istream<CharT,Traits>&\r
+  operator>>(std::basic_istream<CharT,Traits>& is, xor_combine& s)\r
+  {\r
+    is >> s._rng1 >> std::ws >> s._rng2 >> std::ws;\r
+    return is;\r
+  }\r
+#endif\r
+\r
+  friend bool operator==(const xor_combine& x, const xor_combine& y)\r
+  { return x._rng1 == y._rng1 && x._rng2 == y._rng2; }\r
+  friend bool operator!=(const xor_combine& x, const xor_combine& y)\r
+  { return !(x == y); }\r
+#else\r
+  // Use a member function; Streamable concept not supported.\r
+  bool operator==(const xor_combine& rhs) const\r
+  { return _rng1 == rhs._rng1 && _rng2 == rhs._rng2; }\r
+  bool operator!=(const xor_combine& rhs) const\r
+  { return !(*this == rhs); }\r
+#endif\r
+\r
+private:\r
+  base1_type _rng1;\r
+  base2_type _rng2;\r
+};\r
+\r
+#ifndef BOOST_NO_INCLASS_MEMBER_INITIALIZATION\r
+//  A definition is required even for integral static constants\r
+template<class URNG1, int s1, class URNG2, int s2, BOOST_RANDOM_VAL_TYPE val>\r
+const bool xor_combine<URNG1, s1, URNG2, s2, val>::has_fixed_range;\r
+template<class URNG1, int s1, class URNG2, int s2, BOOST_RANDOM_VAL_TYPE val>\r
+const int xor_combine<URNG1, s1, URNG2, s2, val>::shift1;\r
+template<class URNG1, int s1, class URNG2, int s2, BOOST_RANDOM_VAL_TYPE val>\r
+const int xor_combine<URNG1, s1, URNG2, s2, val>::shift2;\r
+#endif\r
+\r
+#undef BOOST_RANDOM_VAL_TYPE\r
+\r
+} // namespace random\r
+} // namespace boost\r
+\r
+#endif // BOOST_RANDOM_XOR_COMBINE_HPP\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/ref.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/ref.hpp
new file mode 100644 (file)
index 0000000..927fdcc
--- /dev/null
@@ -0,0 +1,189 @@
+#ifndef BOOST_REF_HPP_INCLUDED\r
+#define BOOST_REF_HPP_INCLUDED\r
+\r
+// MS compatible compilers support #pragma once\r
+\r
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)\r
+# pragma once\r
+#endif\r
+\r
+#include <boost/config.hpp>\r
+#include <boost/utility/addressof.hpp>\r
+#include <boost/mpl/bool.hpp>\r
+#include <boost/detail/workaround.hpp>\r
+\r
+//\r
+//  ref.hpp - ref/cref, useful helper functions\r
+//\r
+//  Copyright (C) 1999, 2000 Jaakko Jarvi (jaakko.jarvi@cs.utu.fi)\r
+//  Copyright (C) 2001, 2002 Peter Dimov\r
+//  Copyright (C) 2002 David Abrahams\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. (See\r
+// accompanying file LICENSE_1_0.txt or copy at\r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+//  See http://www.boost.org/libs/bind/ref.html for documentation.\r
+//\r
+\r
+namespace boost\r
+{\r
+\r
+template<class T> class reference_wrapper\r
+{ \r
+public:\r
+    typedef T type;\r
+\r
+#if defined( BOOST_MSVC ) && BOOST_WORKAROUND( BOOST_MSVC, < 1300 )\r
+\r
+    explicit reference_wrapper(T& t): t_(&t) {}\r
+\r
+#else\r
+\r
+    explicit reference_wrapper(T& t): t_(boost::addressof(t)) {}\r
+\r
+#endif\r
+\r
+    operator T& () const { return *t_; }\r
+\r
+    T& get() const { return *t_; }\r
+\r
+    T* get_pointer() const { return t_; }\r
+\r
+private:\r
+\r
+    T* t_;\r
+};\r
+\r
+# if defined( __BORLANDC__ ) && BOOST_WORKAROUND( __BORLANDC__, BOOST_TESTED_AT(0x581) )\r
+#  define BOOST_REF_CONST\r
+# else\r
+#  define BOOST_REF_CONST const\r
+# endif\r
+\r
+template<class T> inline reference_wrapper<T> BOOST_REF_CONST ref(T & t)\r
+{ \r
+    return reference_wrapper<T>(t);\r
+}\r
+\r
+template<class T> inline reference_wrapper<T const> BOOST_REF_CONST cref(T const & t)\r
+{\r
+    return reference_wrapper<T const>(t);\r
+}\r
+\r
+# undef BOOST_REF_CONST\r
+\r
+# ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+\r
+template<typename T>\r
+class is_reference_wrapper\r
+    : public mpl::false_\r
+{\r
+};\r
+\r
+template<typename T>\r
+class unwrap_reference\r
+{\r
+ public:\r
+    typedef T type;\r
+};\r
+\r
+#  define AUX_REFERENCE_WRAPPER_METAFUNCTIONS_DEF(X) \\r
+template<typename T> \\r
+class is_reference_wrapper< X > \\r
+    : public mpl::true_ \\r
+{ \\r
+}; \\r
+\\r
+template<typename T> \\r
+class unwrap_reference< X > \\r
+{ \\r
+ public: \\r
+    typedef T type; \\r
+}; \\r
+/**/\r
+\r
+AUX_REFERENCE_WRAPPER_METAFUNCTIONS_DEF(reference_wrapper<T>)\r
+#if !defined(BOOST_NO_CV_SPECIALIZATIONS)\r
+AUX_REFERENCE_WRAPPER_METAFUNCTIONS_DEF(reference_wrapper<T> const)\r
+AUX_REFERENCE_WRAPPER_METAFUNCTIONS_DEF(reference_wrapper<T> volatile)\r
+AUX_REFERENCE_WRAPPER_METAFUNCTIONS_DEF(reference_wrapper<T> const volatile)\r
+#endif\r
+\r
+#  undef AUX_REFERENCE_WRAPPER_METAFUNCTIONS_DEF\r
+\r
+# else // no partial specialization\r
+\r
+} // namespace boost\r
+\r
+#include <boost/type.hpp>\r
+\r
+namespace boost\r
+{\r
+\r
+namespace detail\r
+{\r
+  typedef char (&yes_reference_wrapper_t)[1];\r
+  typedef char (&no_reference_wrapper_t)[2];\r
+      \r
+  no_reference_wrapper_t is_reference_wrapper_test(...);\r
+\r
+  template<typename T>\r
+  yes_reference_wrapper_t is_reference_wrapper_test(type< reference_wrapper<T> >);\r
+\r
+  template<bool wrapped>\r
+  struct reference_unwrapper\r
+  {\r
+      template <class T>\r
+      struct apply\r
+      {\r
+          typedef T type;\r
+      };\r
+  };\r
+\r
+  template<>\r
+  struct reference_unwrapper<true>\r
+  {\r
+      template <class T>\r
+      struct apply\r
+      {\r
+          typedef typename T::type type;\r
+      };\r
+  };\r
+}\r
+\r
+template<typename T>\r
+class is_reference_wrapper\r
+{\r
+ public:\r
+    BOOST_STATIC_CONSTANT(\r
+        bool, value = (\r
+             sizeof(detail::is_reference_wrapper_test(type<T>()))\r
+            == sizeof(detail::yes_reference_wrapper_t)));\r
+    \r
+    typedef ::boost::mpl::bool_<value> type;\r
+};\r
+\r
+template <typename T>\r
+class unwrap_reference\r
+    : public detail::reference_unwrapper<\r
+        is_reference_wrapper<T>::value\r
+      >::template apply<T>\r
+{};\r
+\r
+# endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+\r
+template <class T> inline typename unwrap_reference<T>::type&\r
+unwrap_ref(T& t)\r
+{\r
+    return t;\r
+}\r
+\r
+template<class T> inline T* get_pointer( reference_wrapper<T> const & r )\r
+{\r
+    return r.get_pointer();\r
+}\r
+\r
+} // namespace boost\r
+\r
+#endif // #ifndef BOOST_REF_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/shared_array.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/shared_array.hpp
new file mode 100644 (file)
index 0000000..3b4e919
--- /dev/null
@@ -0,0 +1,19 @@
+#ifndef BOOST_SHARED_ARRAY_HPP_INCLUDED\r
+#define BOOST_SHARED_ARRAY_HPP_INCLUDED\r
+\r
+//\r
+//  shared_array.hpp\r
+//\r
+//  (C) Copyright Greg Colvin and Beman Dawes 1998, 1999.\r
+//  Copyright (c) 2001, 2002 Peter Dimov\r
+//\r
+//  Distributed under the Boost Software License, Version 1.0. (See\r
+//  accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+//  See http://www.boost.org/libs/smart_ptr/shared_array.htm for documentation.\r
+//\r
+\r
+#include <boost/smart_ptr/shared_array.hpp>\r
+\r
+#endif  // #ifndef BOOST_SHARED_ARRAY_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/shared_ptr.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/shared_ptr.hpp
new file mode 100644 (file)
index 0000000..832ddac
--- /dev/null
@@ -0,0 +1,19 @@
+#ifndef BOOST_SHARED_PTR_HPP_INCLUDED\r
+#define BOOST_SHARED_PTR_HPP_INCLUDED\r
+\r
+//\r
+//  shared_ptr.hpp\r
+//\r
+//  (C) Copyright Greg Colvin and Beman Dawes 1998, 1999.\r
+//  Copyright (c) 2001-2008 Peter Dimov\r
+//\r
+//  Distributed under the Boost Software License, Version 1.0. (See\r
+//  accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+//  See http://www.boost.org/libs/smart_ptr/shared_ptr.htm for documentation.\r
+//\r
+\r
+#include <boost/smart_ptr/shared_ptr.hpp>\r
+\r
+#endif  // #ifndef BOOST_SHARED_PTR_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/bad_weak_ptr.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/bad_weak_ptr.hpp
new file mode 100644 (file)
index 0000000..72fff35
--- /dev/null
@@ -0,0 +1,59 @@
+#ifndef BOOST_SMART_PTR_BAD_WEAK_PTR_HPP_INCLUDED\r
+#define BOOST_SMART_PTR_BAD_WEAK_PTR_HPP_INCLUDED\r
+\r
+// MS compatible compilers support #pragma once\r
+\r
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)\r
+# pragma once\r
+#endif\r
+\r
+//\r
+//  boost/smart_ptr/bad_weak_ptr.hpp\r
+//\r
+//  Copyright (c) 2001, 2002, 2003 Peter Dimov and Multi Media Ltd.\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. (See\r
+// accompanying file LICENSE_1_0.txt or copy at\r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+#include <exception>\r
+\r
+#ifdef __BORLANDC__\r
+# pragma warn -8026     // Functions with excep. spec. are not expanded inline\r
+#endif\r
+\r
+namespace boost\r
+{\r
+\r
+// The standard library that comes with Borland C++ 5.5.1, 5.6.4\r
+// defines std::exception and its members as having C calling\r
+// convention (-pc). When the definition of bad_weak_ptr\r
+// is compiled with -ps, the compiler issues an error.\r
+// Hence, the temporary #pragma option -pc below.\r
+\r
+#if defined(__BORLANDC__) && __BORLANDC__ <= 0x564\r
+# pragma option push -pc\r
+#endif\r
+\r
+class bad_weak_ptr: public std::exception\r
+{\r
+public:\r
+\r
+    virtual char const * what() const throw()\r
+    {\r
+        return "tr1::bad_weak_ptr";\r
+    }\r
+};\r
+\r
+#if defined(__BORLANDC__) && __BORLANDC__ <= 0x564\r
+# pragma option pop\r
+#endif\r
+\r
+} // namespace boost\r
+\r
+#ifdef __BORLANDC__\r
+# pragma warn .8026     // Functions with excep. spec. are not expanded inline\r
+#endif\r
+\r
+#endif  // #ifndef BOOST_SMART_PTR_BAD_WEAK_PTR_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/atomic_count.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/atomic_count.hpp
new file mode 100644 (file)
index 0000000..f856137
--- /dev/null
@@ -0,0 +1,119 @@
+#ifndef BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_HPP_INCLUDED\r
+#define BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_HPP_INCLUDED\r
+\r
+// MS compatible compilers support #pragma once\r
+\r
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)\r
+# pragma once\r
+#endif\r
+\r
+//\r
+//  boost/detail/atomic_count.hpp - thread/SMP safe reference counter\r
+//\r
+//  Copyright (c) 2001, 2002 Peter Dimov and Multi Media Ltd.\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. (See\r
+// accompanying file LICENSE_1_0.txt or copy at\r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+//  typedef <implementation-defined> boost::detail::atomic_count;\r
+//\r
+//  atomic_count a(n);\r
+//\r
+//    (n is convertible to long)\r
+//\r
+//    Effects: Constructs an atomic_count with an initial value of n\r
+//\r
+//  a;\r
+//\r
+//    Returns: (long) the current value of a\r
+//\r
+//  ++a;\r
+//\r
+//    Effects: Atomically increments the value of a\r
+//    Returns: (long) the new value of a\r
+//\r
+//  --a;\r
+//\r
+//    Effects: Atomically decrements the value of a\r
+//    Returns: (long) the new value of a\r
+//\r
+//    Important note: when --a returns zero, it must act as a\r
+//      read memory barrier (RMB); i.e. the calling thread must\r
+//      have a synchronized view of the memory\r
+//\r
+//    On Intel IA-32 (x86) memory is always synchronized, so this\r
+//      is not a problem.\r
+//\r
+//    On many architectures the atomic instructions already act as\r
+//      a memory barrier.\r
+//\r
+//    This property is necessary for proper reference counting, since\r
+//      a thread can update the contents of a shared object, then\r
+//      release its reference, and another thread may immediately\r
+//      release the last reference causing object destruction.\r
+//\r
+//    The destructor needs to have a synchronized view of the\r
+//      object to perform proper cleanup.\r
+//\r
+//    Original example by Alexander Terekhov:\r
+//\r
+//    Given:\r
+//\r
+//    - a mutable shared object OBJ;\r
+//    - two threads THREAD1 and THREAD2 each holding \r
+//      a private smart_ptr object pointing to that OBJ.\r
+//\r
+//    t1: THREAD1 updates OBJ (thread-safe via some synchronization)\r
+//      and a few cycles later (after "unlock") destroys smart_ptr;\r
+//\r
+//    t2: THREAD2 destroys smart_ptr WITHOUT doing any synchronization \r
+//      with respect to shared mutable object OBJ; OBJ destructors\r
+//      are called driven by smart_ptr interface...\r
+//\r
+\r
+#include <boost/config.hpp>\r
+#include <boost/smart_ptr/detail/sp_has_sync.hpp>\r
+\r
+#ifndef BOOST_HAS_THREADS\r
+\r
+namespace boost\r
+{\r
+\r
+namespace detail\r
+{\r
+\r
+typedef long atomic_count;\r
+\r
+}\r
+\r
+}\r
+\r
+#elif defined(BOOST_AC_USE_PTHREADS)\r
+#  include <boost/smart_ptr/detail/atomic_count_pthreads.hpp>\r
+\r
+#elif defined( __GNUC__ ) && ( defined( __i386__ ) || defined( __x86_64__ ) )\r
+#  include <boost/smart_ptr/detail/atomic_count_gcc_x86.hpp>\r
+\r
+#elif defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)\r
+#  include <boost/smart_ptr/detail/atomic_count_win32.hpp>\r
+\r
+#elif defined( BOOST_SP_HAS_SYNC )\r
+#  include <boost/smart_ptr/detail/atomic_count_sync.hpp>\r
+\r
+#elif defined(__GLIBCPP__) || defined(__GLIBCXX__)\r
+#  include <boost/smart_ptr/detail/atomic_count_gcc.hpp>\r
+\r
+#elif defined(BOOST_HAS_PTHREADS)\r
+\r
+#  define BOOST_AC_USE_PTHREADS\r
+#  include <boost/smart_ptr/detail/atomic_count_pthreads.hpp>\r
+\r
+#else\r
+\r
+// Use #define BOOST_DISABLE_THREADS to avoid the error\r
+#error Unrecognized threading platform\r
+\r
+#endif\r
+\r
+#endif // #ifndef BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/atomic_count_gcc.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/atomic_count_gcc.hpp
new file mode 100644 (file)
index 0000000..0c10d88
--- /dev/null
@@ -0,0 +1,72 @@
+#ifndef BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_GCC_HPP_INCLUDED\r
+#define BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_GCC_HPP_INCLUDED\r
+\r
+//\r
+//  boost/detail/atomic_count_gcc.hpp\r
+//\r
+//  atomic_count for GNU libstdc++ v3\r
+//\r
+//  http://gcc.gnu.org/onlinedocs/porting/Thread-safety.html\r
+//\r
+//  Copyright (c) 2001, 2002 Peter Dimov and Multi Media Ltd.\r
+//  Copyright (c) 2002 Lars Gullik Bjønnes <larsbj@lyx.org>\r
+//  Copyright 2003-2005 Peter Dimov\r
+//\r
+//  Distributed under the Boost Software License, Version 1.0. (See\r
+//  accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+#if __GNUC__ * 100 + __GNUC_MINOR__ >= 402\r
+# include <ext/atomicity.h> \r
+#else \r
+# include <bits/atomicity.h>\r
+#endif\r
+\r
+namespace boost\r
+{\r
+\r
+namespace detail\r
+{\r
+\r
+#if defined(__GLIBCXX__) // g++ 3.4+\r
+\r
+using __gnu_cxx::__atomic_add;\r
+using __gnu_cxx::__exchange_and_add;\r
+\r
+#endif\r
+\r
+class atomic_count\r
+{\r
+public:\r
+\r
+    explicit atomic_count( long v ) : value_( v ) {}\r
+\r
+    long operator++()\r
+    {\r
+        return __exchange_and_add( &value_, +1 ) + 1;\r
+    }\r
+\r
+    long operator--()\r
+    {\r
+        return __exchange_and_add( &value_, -1 ) - 1;\r
+    }\r
+\r
+    operator long() const\r
+    {\r
+        return __exchange_and_add( &value_, 0 );\r
+    }\r
+\r
+private:\r
+\r
+    atomic_count(atomic_count const &);\r
+    atomic_count & operator=(atomic_count const &);\r
+\r
+    mutable _Atomic_word value_;\r
+};\r
+\r
+} // namespace detail\r
+\r
+} // namespace boost\r
+\r
+#endif // #ifndef BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_GCC_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/atomic_count_gcc_x86.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/atomic_count_gcc_x86.hpp
new file mode 100644 (file)
index 0000000..388498b
--- /dev/null
@@ -0,0 +1,77 @@
+#ifndef BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_GCC_X86_HPP_INCLUDED\r
+#define BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_GCC_X86_HPP_INCLUDED\r
+\r
+//\r
+//  boost/detail/atomic_count_gcc_x86.hpp\r
+//\r
+//  atomic_count for g++ on 486+/AMD64\r
+//\r
+//  Copyright 2007 Peter Dimov\r
+//\r
+//  Distributed under the Boost Software License, Version 1.0. (See\r
+//  accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+namespace boost\r
+{\r
+\r
+namespace detail\r
+{\r
+\r
+class atomic_count\r
+{\r
+public:\r
+\r
+    explicit atomic_count( long v ) : value_( static_cast< int >( v ) ) {}\r
+\r
+    long operator++()\r
+    {\r
+        return atomic_exchange_and_add( &value_, +1 ) + 1;\r
+    }\r
+\r
+    long operator--()\r
+    {\r
+        return atomic_exchange_and_add( &value_, -1 ) - 1;\r
+    }\r
+\r
+    operator long() const\r
+    {\r
+        return atomic_exchange_and_add( &value_, 0 );\r
+    }\r
+\r
+private:\r
+\r
+    atomic_count(atomic_count const &);\r
+    atomic_count & operator=(atomic_count const &);\r
+\r
+    mutable int value_;\r
+\r
+private:\r
+\r
+    static int atomic_exchange_and_add( int * pw, int dv )\r
+    {\r
+        // int r = *pw;\r
+        // *pw += dv;\r
+        // return r;\r
+\r
+        int r;\r
+\r
+        __asm__ __volatile__\r
+        (\r
+            "lock\n\t"\r
+            "xadd %1, %0":\r
+            "+m"( *pw ), "=r"( r ): // outputs (%0, %1)\r
+            "1"( dv ): // inputs (%2 == %1)\r
+            "memory", "cc" // clobbers\r
+        );\r
+\r
+        return r;\r
+    }\r
+};\r
+\r
+} // namespace detail\r
+\r
+} // namespace boost\r
+\r
+#endif // #ifndef BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_GCC_X86_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/atomic_count_pthreads.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/atomic_count_pthreads.hpp
new file mode 100644 (file)
index 0000000..5e89faa
--- /dev/null
@@ -0,0 +1,96 @@
+#ifndef BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_PTHREADS_HPP_INCLUDED\r
+#define BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_PTHREADS_HPP_INCLUDED\r
+\r
+//\r
+//  boost/detail/atomic_count_pthreads.hpp\r
+//\r
+//  Copyright (c) 2001, 2002 Peter Dimov and Multi Media Ltd.\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. (See\r
+// accompanying file LICENSE_1_0.txt or copy at\r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+#include <pthread.h>\r
+\r
+//\r
+//  The generic pthread_mutex-based implementation sometimes leads to\r
+//    inefficiencies. Example: a class with two atomic_count members\r
+//    can get away with a single mutex.\r
+//\r
+//  Users can detect this situation by checking BOOST_AC_USE_PTHREADS.\r
+//\r
+\r
+namespace boost\r
+{\r
+\r
+namespace detail\r
+{\r
+\r
+class atomic_count\r
+{\r
+private:\r
+\r
+    class scoped_lock\r
+    {\r
+    public:\r
+\r
+        scoped_lock(pthread_mutex_t & m): m_(m)\r
+        {\r
+            pthread_mutex_lock(&m_);\r
+        }\r
+\r
+        ~scoped_lock()\r
+        {\r
+            pthread_mutex_unlock(&m_);\r
+        }\r
+\r
+    private:\r
+\r
+        pthread_mutex_t & m_;\r
+    };\r
+\r
+public:\r
+\r
+    explicit atomic_count(long v): value_(v)\r
+    {\r
+        pthread_mutex_init(&mutex_, 0);\r
+    }\r
+\r
+    ~atomic_count()\r
+    {\r
+        pthread_mutex_destroy(&mutex_);\r
+    }\r
+\r
+    long operator++()\r
+    {\r
+        scoped_lock lock(mutex_);\r
+        return ++value_;\r
+    }\r
+\r
+    long operator--()\r
+    {\r
+        scoped_lock lock(mutex_);\r
+        return --value_;\r
+    }\r
+\r
+    operator long() const\r
+    {\r
+        scoped_lock lock(mutex_);\r
+        return value_;\r
+    }\r
+\r
+private:\r
+\r
+    atomic_count(atomic_count const &);\r
+    atomic_count & operator=(atomic_count const &);\r
+\r
+    mutable pthread_mutex_t mutex_;\r
+    long value_;\r
+};\r
+\r
+} // namespace detail\r
+\r
+} // namespace boost\r
+\r
+#endif // #ifndef BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_PTHREADS_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/atomic_count_solaris.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/atomic_count_solaris.hpp
new file mode 100644 (file)
index 0000000..f0f4308
--- /dev/null
@@ -0,0 +1,59 @@
+#ifndef BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_SOLARIS_HPP_INCLUDED\r
+#define BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_SOLARIS_HPP_INCLUDED\r
+\r
+//\r
+//  boost/detail/atomic_count_solaris.hpp\r
+//   based on: boost/detail/atomic_count_win32.hpp\r
+//\r
+//  Copyright (c) 2001-2005 Peter Dimov\r
+//  Copyright (c) 2006 Michael van der Westhuizen\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. (See\r
+// accompanying file LICENSE_1_0.txt or copy at\r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+#include <atomic.h>\r
+\r
+namespace boost\r
+{\r
+\r
+namespace detail\r
+{\r
+\r
+class atomic_count\r
+{\r
+public:\r
+\r
+    explicit atomic_count( uint32_t v ): value_( v )\r
+    {\r
+    }\r
+\r
+    long operator++()\r
+    {\r
+        return atomic_inc_32_nv( &value_ );\r
+    }\r
+\r
+    long operator--()\r
+    {\r
+        return atomic_dec_32_nv( &value_ );\r
+    }\r
+\r
+    operator uint32_t() const\r
+    {\r
+        return static_cast<uint32_t const volatile &>( value_ );\r
+    }\r
+\r
+private:\r
+\r
+    atomic_count( atomic_count const & );\r
+    atomic_count & operator=( atomic_count const & );\r
+\r
+    uint32_t value_;\r
+};\r
+\r
+} // namespace detail\r
+\r
+} // namespace boost\r
+\r
+#endif // #ifndef BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_SOLARIS_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/atomic_count_sync.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/atomic_count_sync.hpp
new file mode 100644 (file)
index 0000000..521dbe8
--- /dev/null
@@ -0,0 +1,61 @@
+#ifndef BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_SYNC_HPP_INCLUDED\r
+#define BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_SYNC_HPP_INCLUDED\r
+\r
+//\r
+//  boost/detail/atomic_count_sync.hpp\r
+//\r
+//  atomic_count for g++ 4.1+\r
+//\r
+//  http://gcc.gnu.org/onlinedocs/gcc-4.1.1/gcc/Atomic-Builtins.html\r
+//\r
+//  Copyright 2007 Peter Dimov\r
+//\r
+//  Distributed under the Boost Software License, Version 1.0. (See\r
+//  accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+#if defined( __ia64__ ) && defined( __INTEL_COMPILER )\r
+# include <ia64intrin.h>\r
+#endif\r
+\r
+namespace boost\r
+{\r
+\r
+namespace detail\r
+{\r
+\r
+class atomic_count\r
+{\r
+public:\r
+\r
+    explicit atomic_count( long v ) : value_( v ) {}\r
+\r
+    long operator++()\r
+    {\r
+        return __sync_add_and_fetch( &value_, 1 );\r
+    }\r
+\r
+    long operator--()\r
+    {\r
+        return __sync_add_and_fetch( &value_, -1 );\r
+    }\r
+\r
+    operator long() const\r
+    {\r
+        return __sync_fetch_and_add( &value_, 0 );\r
+    }\r
+\r
+private:\r
+\r
+    atomic_count(atomic_count const &);\r
+    atomic_count & operator=(atomic_count const &);\r
+\r
+    mutable long value_;\r
+};\r
+\r
+} // namespace detail\r
+\r
+} // namespace boost\r
+\r
+#endif // #ifndef BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_SYNC_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/atomic_count_win32.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/atomic_count_win32.hpp
new file mode 100644 (file)
index 0000000..70edce9
--- /dev/null
@@ -0,0 +1,63 @@
+#ifndef BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_WIN32_HPP_INCLUDED\r
+#define BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_WIN32_HPP_INCLUDED\r
+\r
+// MS compatible compilers support #pragma once\r
+\r
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)\r
+# pragma once\r
+#endif\r
+\r
+//\r
+//  boost/detail/atomic_count_win32.hpp\r
+//\r
+//  Copyright (c) 2001-2005 Peter Dimov\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. (See\r
+// accompanying file LICENSE_1_0.txt or copy at\r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+#include <boost/detail/interlocked.hpp>\r
+\r
+namespace boost\r
+{\r
+\r
+namespace detail\r
+{\r
+\r
+class atomic_count\r
+{\r
+public:\r
+\r
+    explicit atomic_count( long v ): value_( v )\r
+    {\r
+    }\r
+\r
+    long operator++()\r
+    {\r
+        return BOOST_INTERLOCKED_INCREMENT( &value_ );\r
+    }\r
+\r
+    long operator--()\r
+    {\r
+        return BOOST_INTERLOCKED_DECREMENT( &value_ );\r
+    }\r
+\r
+    operator long() const\r
+    {\r
+        return static_cast<long const volatile &>( value_ );\r
+    }\r
+\r
+private:\r
+\r
+    atomic_count( atomic_count const & );\r
+    atomic_count & operator=( atomic_count const & );\r
+\r
+    long value_;\r
+};\r
+\r
+} // namespace detail\r
+\r
+} // namespace boost\r
+\r
+#endif // #ifndef BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_WIN32_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/lightweight_mutex.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/lightweight_mutex.hpp
new file mode 100644 (file)
index 0000000..f6c159e
--- /dev/null
@@ -0,0 +1,42 @@
+#ifndef BOOST_SMART_PTR_DETAIL_LIGHTWEIGHT_MUTEX_HPP_INCLUDED\r
+#define BOOST_SMART_PTR_DETAIL_LIGHTWEIGHT_MUTEX_HPP_INCLUDED\r
+\r
+// MS compatible compilers support #pragma once\r
+\r
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)\r
+# pragma once\r
+#endif\r
+\r
+//\r
+//  boost/detail/lightweight_mutex.hpp - lightweight mutex\r
+//\r
+//  Copyright (c) 2002, 2003 Peter Dimov and Multi Media Ltd.\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. (See\r
+// accompanying file LICENSE_1_0.txt or copy at\r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+//  typedef <unspecified> boost::detail::lightweight_mutex;\r
+//\r
+//  boost::detail::lightweight_mutex is a header-only implementation of\r
+//  a subset of the Mutex concept requirements:\r
+//\r
+//  http://www.boost.org/doc/html/threads/concepts.html#threads.concepts.Mutex\r
+//\r
+//  It maps to a CRITICAL_SECTION on Windows or a pthread_mutex on POSIX.\r
+//\r
+\r
+#include <boost/config.hpp>\r
+\r
+#if !defined(BOOST_HAS_THREADS)\r
+#  include <boost/smart_ptr/detail/lwm_nop.hpp>\r
+#elif defined(BOOST_HAS_PTHREADS)\r
+#  include <boost/smart_ptr/detail/lwm_pthreads.hpp>\r
+#elif defined(BOOST_HAS_WINTHREADS) || defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)\r
+#  include <boost/smart_ptr/detail/lwm_win32_cs.hpp>\r
+#else\r
+// Use #define BOOST_DISABLE_THREADS to avoid the error\r
+#  error Unrecognized threading platform\r
+#endif\r
+\r
+#endif // #ifndef BOOST_SMART_PTR_DETAIL_LIGHTWEIGHT_MUTEX_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/lwm_nop.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/lwm_nop.hpp
new file mode 100644 (file)
index 0000000..cc1e97f
--- /dev/null
@@ -0,0 +1,37 @@
+#ifndef BOOST_SMART_PTR_DETAIL_LWM_NOP_HPP_INCLUDED\r
+#define BOOST_SMART_PTR_DETAIL_LWM_NOP_HPP_INCLUDED\r
+\r
+// MS compatible compilers support #pragma once\r
+\r
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)\r
+# pragma once\r
+#endif\r
+\r
+//\r
+//  boost/detail/lwm_nop.hpp\r
+//\r
+//  Copyright (c) 2002 Peter Dimov and Multi Media Ltd.\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. (See\r
+// accompanying file LICENSE_1_0.txt or copy at\r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+namespace boost\r
+{\r
+\r
+namespace detail\r
+{\r
+\r
+class lightweight_mutex\r
+{\r
+public:\r
+\r
+    typedef lightweight_mutex scoped_lock;\r
+};\r
+\r
+} // namespace detail\r
+\r
+} // namespace boost\r
+\r
+#endif // #ifndef BOOST_SMART_PTR_DETAIL_LWM_NOP_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/lwm_pthreads.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/lwm_pthreads.hpp
new file mode 100644 (file)
index 0000000..6a2b70b
--- /dev/null
@@ -0,0 +1,87 @@
+#ifndef BOOST_SMART_PTR_DETAIL_LWM_PTHREADS_HPP_INCLUDED\r
+#define BOOST_SMART_PTR_DETAIL_LWM_PTHREADS_HPP_INCLUDED\r
+\r
+// MS compatible compilers support #pragma once\r
+\r
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)\r
+# pragma once\r
+#endif\r
+\r
+//\r
+//  boost/detail/lwm_pthreads.hpp\r
+//\r
+//  Copyright (c) 2002 Peter Dimov and Multi Media Ltd.\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. (See\r
+// accompanying file LICENSE_1_0.txt or copy at\r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+#include <boost/assert.hpp>\r
+#include <pthread.h>\r
+\r
+namespace boost\r
+{\r
+\r
+namespace detail\r
+{\r
+\r
+class lightweight_mutex\r
+{\r
+private:\r
+\r
+    pthread_mutex_t m_;\r
+\r
+    lightweight_mutex(lightweight_mutex const &);\r
+    lightweight_mutex & operator=(lightweight_mutex const &);\r
+\r
+public:\r
+\r
+    lightweight_mutex()\r
+    {\r
+\r
+// HPUX 10.20 / DCE has a nonstandard pthread_mutex_init\r
+\r
+#if defined(__hpux) && defined(_DECTHREADS_)\r
+        BOOST_VERIFY( pthread_mutex_init( &m_, pthread_mutexattr_default ) == 0 );\r
+#else\r
+        BOOST_VERIFY( pthread_mutex_init( &m_, 0 ) == 0 );\r
+#endif\r
+    }\r
+\r
+    ~lightweight_mutex()\r
+    {\r
+        BOOST_VERIFY( pthread_mutex_destroy( &m_ ) == 0 );\r
+    }\r
+\r
+    class scoped_lock;\r
+    friend class scoped_lock;\r
+\r
+    class scoped_lock\r
+    {\r
+    private:\r
+\r
+        pthread_mutex_t & m_;\r
+\r
+        scoped_lock(scoped_lock const &);\r
+        scoped_lock & operator=(scoped_lock const &);\r
+\r
+    public:\r
+\r
+        scoped_lock(lightweight_mutex & m): m_(m.m_)\r
+        {\r
+            BOOST_VERIFY( pthread_mutex_lock( &m_ ) == 0 );\r
+        }\r
+\r
+        ~scoped_lock()\r
+        {\r
+            BOOST_VERIFY( pthread_mutex_unlock( &m_ ) == 0 );\r
+        }\r
+    };\r
+};\r
+\r
+} // namespace detail\r
+\r
+} // namespace boost\r
+\r
+#endif // #ifndef BOOST_SMART_PTR_DETAIL_LWM_PTHREADS_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/lwm_win32_cs.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/lwm_win32_cs.hpp
new file mode 100644 (file)
index 0000000..f2cbb9a
--- /dev/null
@@ -0,0 +1,108 @@
+#ifndef BOOST_SMART_PTR_DETAIL_LWM_WIN32_CS_HPP_INCLUDED\r
+#define BOOST_SMART_PTR_DETAIL_LWM_WIN32_CS_HPP_INCLUDED\r
+\r
+// MS compatible compilers support #pragma once\r
+\r
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)\r
+# pragma once\r
+#endif\r
+\r
+//\r
+//  boost/detail/lwm_win32_cs.hpp\r
+//\r
+//  Copyright (c) 2002, 2003 Peter Dimov\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. (See\r
+// accompanying file LICENSE_1_0.txt or copy at\r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+#ifdef BOOST_USE_WINDOWS_H\r
+#  include <windows.h>\r
+#endif\r
+\r
+namespace boost\r
+{\r
+\r
+namespace detail\r
+{\r
+\r
+#ifndef BOOST_USE_WINDOWS_H\r
+\r
+struct critical_section\r
+{\r
+    struct critical_section_debug * DebugInfo;\r
+    long LockCount;\r
+    long RecursionCount;\r
+    void * OwningThread;\r
+    void * LockSemaphore;\r
+#if defined(_WIN64)\r
+    unsigned __int64 SpinCount;\r
+#else\r
+    unsigned long SpinCount;\r
+#endif\r
+};\r
+\r
+extern "C" __declspec(dllimport) void __stdcall InitializeCriticalSection(critical_section *);\r
+extern "C" __declspec(dllimport) void __stdcall EnterCriticalSection(critical_section *);\r
+extern "C" __declspec(dllimport) void __stdcall LeaveCriticalSection(critical_section *);\r
+extern "C" __declspec(dllimport) void __stdcall DeleteCriticalSection(critical_section *);\r
+\r
+#else\r
+\r
+typedef ::CRITICAL_SECTION critical_section;\r
+\r
+#endif // #ifndef BOOST_USE_WINDOWS_H\r
+\r
+class lightweight_mutex\r
+{\r
+private:\r
+\r
+    critical_section cs_;\r
+\r
+    lightweight_mutex(lightweight_mutex const &);\r
+    lightweight_mutex & operator=(lightweight_mutex const &);\r
+\r
+public:\r
+\r
+    lightweight_mutex()\r
+    {\r
+        InitializeCriticalSection(&cs_);\r
+    }\r
+\r
+    ~lightweight_mutex()\r
+    {\r
+        DeleteCriticalSection(&cs_);\r
+    }\r
+\r
+    class scoped_lock;\r
+    friend class scoped_lock;\r
+\r
+    class scoped_lock\r
+    {\r
+    private:\r
+\r
+        lightweight_mutex & m_;\r
+\r
+        scoped_lock(scoped_lock const &);\r
+        scoped_lock & operator=(scoped_lock const &);\r
+\r
+    public:\r
+\r
+        explicit scoped_lock(lightweight_mutex & m): m_(m)\r
+        {\r
+            EnterCriticalSection(&m_.cs_);\r
+        }\r
+\r
+        ~scoped_lock()\r
+        {\r
+            LeaveCriticalSection(&m_.cs_);\r
+        }\r
+    };\r
+};\r
+\r
+} // namespace detail\r
+\r
+} // namespace boost\r
+\r
+#endif // #ifndef BOOST_SMART_PTR_DETAIL_LWM_WIN32_CS_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/operator_bool.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/operator_bool.hpp
new file mode 100644 (file)
index 0000000..a4bc752
--- /dev/null
@@ -0,0 +1,56 @@
+//  This header intentionally has no include guards.\r
+//\r
+//  Copyright (c) 2001-2009 Peter Dimov\r
+//\r
+//  Distributed under the Boost Software License, Version 1.0.\r
+//  See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt\r
+\r
+#if ( defined(__SUNPRO_CC) && BOOST_WORKAROUND(__SUNPRO_CC, < 0x570) ) || defined(__CINT__)\r
+\r
+    operator bool () const\r
+    {\r
+        return px != 0;\r
+    }\r
+\r
+#elif defined( _MANAGED )\r
+\r
+    static void unspecified_bool( this_type*** )\r
+    {\r
+    }\r
+\r
+    typedef void (*unspecified_bool_type)( this_type*** );\r
+\r
+    operator unspecified_bool_type() const // never throws\r
+    {\r
+        return px == 0? 0: unspecified_bool;\r
+    }\r
+\r
+#elif \\r
+    ( defined(__MWERKS__) && BOOST_WORKAROUND(__MWERKS__, < 0x3200) ) || \\r
+    ( defined(__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__ < 304) ) || \\r
+    ( defined(__SUNPRO_CC) && BOOST_WORKAROUND(__SUNPRO_CC, <= 0x590) )\r
+\r
+    typedef T * (this_type::*unspecified_bool_type)() const;\r
+\r
+    operator unspecified_bool_type() const // never throws\r
+    {\r
+        return px == 0? 0: &this_type::get;\r
+    }\r
+\r
+#else\r
+\r
+    typedef T * this_type::*unspecified_bool_type;\r
+\r
+    operator unspecified_bool_type() const // never throws\r
+    {\r
+        return px == 0? 0: &this_type::px;\r
+    }\r
+\r
+#endif\r
+\r
+    // operator! is redundant, but some compilers need it\r
+    bool operator! () const // never throws\r
+    {\r
+        return px == 0;\r
+    }\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/quick_allocator.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/quick_allocator.hpp
new file mode 100644 (file)
index 0000000..12dfb83
--- /dev/null
@@ -0,0 +1,199 @@
+#ifndef BOOST_SMART_PTR_DETAIL_QUICK_ALLOCATOR_HPP_INCLUDED\r
+#define BOOST_SMART_PTR_DETAIL_QUICK_ALLOCATOR_HPP_INCLUDED\r
+\r
+// MS compatible compilers support #pragma once\r
+\r
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)\r
+# pragma once\r
+#endif\r
+\r
+//\r
+//  detail/quick_allocator.hpp\r
+//\r
+//  Copyright (c) 2003 David Abrahams\r
+//  Copyright (c) 2003 Peter Dimov\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. (See\r
+// accompanying file LICENSE_1_0.txt or copy at\r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+#include <boost/config.hpp>\r
+\r
+#include <boost/smart_ptr/detail/lightweight_mutex.hpp>\r
+#include <boost/type_traits/type_with_alignment.hpp>\r
+#include <boost/type_traits/alignment_of.hpp>\r
+\r
+#include <new>              // ::operator new, ::operator delete\r
+#include <cstddef>          // std::size_t\r
+\r
+namespace boost\r
+{\r
+\r
+namespace detail\r
+{\r
+\r
+template<unsigned size, unsigned align_> union freeblock\r
+{\r
+    typedef typename boost::type_with_alignment<align_>::type aligner_type;\r
+    aligner_type aligner;\r
+    char bytes[size];\r
+    freeblock * next;\r
+};\r
+\r
+template<unsigned size, unsigned align_> struct allocator_impl\r
+{\r
+    typedef freeblock<size, align_> block;\r
+\r
+    // It may seem odd to use such small pages.\r
+    //\r
+    // However, on a typical Windows implementation that uses\r
+    // the OS allocator, "normal size" pages interact with the\r
+    // "ordinary" operator new, slowing it down dramatically.\r
+    //\r
+    // 512 byte pages are handled by the small object allocator,\r
+    // and don't interfere with ::new.\r
+    //\r
+    // The other alternative is to use much bigger pages (1M.)\r
+    //\r
+    // It is surprisingly easy to hit pathological behavior by\r
+    // varying the page size. g++ 2.96 on Red Hat Linux 7.2,\r
+    // for example, passionately dislikes 496. 512 seems OK.\r
+\r
+#if defined(BOOST_QA_PAGE_SIZE)\r
+\r
+    enum { items_per_page = BOOST_QA_PAGE_SIZE / size };\r
+\r
+#else\r
+\r
+    enum { items_per_page = 512 / size }; // 1048560 / size\r
+\r
+#endif\r
+\r
+#ifdef BOOST_HAS_THREADS\r
+\r
+    static lightweight_mutex & mutex()\r
+    {\r
+        static freeblock< sizeof( lightweight_mutex ), boost::alignment_of< lightweight_mutex >::value > fbm;\r
+        static lightweight_mutex * pm = new( &fbm ) lightweight_mutex;\r
+        return *pm;\r
+    }\r
+\r
+    static lightweight_mutex * mutex_init;\r
+\r
+#endif\r
+\r
+    static block * free;\r
+    static block * page;\r
+    static unsigned last;\r
+\r
+    static inline void * alloc()\r
+    {\r
+#ifdef BOOST_HAS_THREADS\r
+        lightweight_mutex::scoped_lock lock( mutex() );\r
+#endif\r
+        if(block * x = free)\r
+        {\r
+            free = x->next;\r
+            return x;\r
+        }\r
+        else\r
+        {\r
+            if(last == items_per_page)\r
+            {\r
+                // "Listen to me carefully: there is no memory leak"\r
+                // -- Scott Meyers, Eff C++ 2nd Ed Item 10\r
+                page = ::new block[items_per_page];\r
+                last = 0;\r
+            }\r
+\r
+            return &page[last++];\r
+        }\r
+    }\r
+\r
+    static inline void * alloc(std::size_t n)\r
+    {\r
+        if(n != size) // class-specific new called for a derived object\r
+        {\r
+            return ::operator new(n);\r
+        }\r
+        else\r
+        {\r
+#ifdef BOOST_HAS_THREADS\r
+            lightweight_mutex::scoped_lock lock( mutex() );\r
+#endif\r
+            if(block * x = free)\r
+            {\r
+                free = x->next;\r
+                return x;\r
+            }\r
+            else\r
+            {\r
+                if(last == items_per_page)\r
+                {\r
+                    page = ::new block[items_per_page];\r
+                    last = 0;\r
+                }\r
+\r
+                return &page[last++];\r
+            }\r
+        }\r
+    }\r
+\r
+    static inline void dealloc(void * pv)\r
+    {\r
+        if(pv != 0) // 18.4.1.1/13\r
+        {\r
+#ifdef BOOST_HAS_THREADS\r
+            lightweight_mutex::scoped_lock lock( mutex() );\r
+#endif\r
+            block * pb = static_cast<block *>(pv);\r
+            pb->next = free;\r
+            free = pb;\r
+        }\r
+    }\r
+\r
+    static inline void dealloc(void * pv, std::size_t n)\r
+    {\r
+        if(n != size) // class-specific delete called for a derived object\r
+        {\r
+            ::operator delete(pv);\r
+        }\r
+        else if(pv != 0) // 18.4.1.1/13\r
+        {\r
+#ifdef BOOST_HAS_THREADS\r
+            lightweight_mutex::scoped_lock lock( mutex() );\r
+#endif\r
+            block * pb = static_cast<block *>(pv);\r
+            pb->next = free;\r
+            free = pb;\r
+        }\r
+    }\r
+};\r
+\r
+#ifdef BOOST_HAS_THREADS\r
+\r
+template<unsigned size, unsigned align_>\r
+  lightweight_mutex * allocator_impl<size, align_>::mutex_init = &allocator_impl<size, align_>::mutex();\r
+\r
+#endif\r
+\r
+template<unsigned size, unsigned align_>\r
+  freeblock<size, align_> * allocator_impl<size, align_>::free = 0;\r
+\r
+template<unsigned size, unsigned align_>\r
+  freeblock<size, align_> * allocator_impl<size, align_>::page = 0;\r
+\r
+template<unsigned size, unsigned align_>\r
+  unsigned allocator_impl<size, align_>::last = allocator_impl<size, align_>::items_per_page;\r
+\r
+template<class T>\r
+struct quick_allocator: public allocator_impl< sizeof(T), boost::alignment_of<T>::value >\r
+{\r
+};\r
+\r
+} // namespace detail\r
+\r
+} // namespace boost\r
+\r
+#endif  // #ifndef BOOST_SMART_PTR_DETAIL_QUICK_ALLOCATOR_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/shared_array_nmt.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/shared_array_nmt.hpp
new file mode 100644 (file)
index 0000000..d811a05
--- /dev/null
@@ -0,0 +1,151 @@
+#ifndef BOOST_SMART_PTR_DETAIL_SHARED_ARRAY_NMT_HPP_INCLUDED\r
+#define BOOST_SMART_PTR_DETAIL_SHARED_ARRAY_NMT_HPP_INCLUDED\r
+\r
+//\r
+//  detail/shared_array_nmt.hpp - shared_array.hpp without member templates\r
+//\r
+//  (C) Copyright Greg Colvin and Beman Dawes 1998, 1999.\r
+//  Copyright (c) 2001, 2002 Peter Dimov\r
+//\r
+//  Distributed under the Boost Software License, Version 1.0. (See\r
+//  accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+//  See http://www.boost.org/libs/smart_ptr/shared_array.htm for documentation.\r
+//\r
+\r
+#include <boost/assert.hpp>\r
+#include <boost/checked_delete.hpp>\r
+#include <boost/throw_exception.hpp>\r
+#include <boost/smart_ptr/detail/atomic_count.hpp>\r
+\r
+#include <cstddef>          // for std::ptrdiff_t\r
+#include <algorithm>        // for std::swap\r
+#include <functional>       // for std::less\r
+#include <new>              // for std::bad_alloc\r
+\r
+namespace boost\r
+{\r
+\r
+template<class T> class shared_array\r
+{\r
+private:\r
+\r
+    typedef detail::atomic_count count_type;\r
+\r
+public:\r
+\r
+    typedef T element_type;\r
+      \r
+    explicit shared_array(T * p = 0): px(p)\r
+    {\r
+#ifndef BOOST_NO_EXCEPTIONS\r
+\r
+        try  // prevent leak if new throws\r
+        {\r
+            pn = new count_type(1);\r
+        }\r
+        catch(...)\r
+        {\r
+            boost::checked_array_delete(p);\r
+            throw;\r
+        }\r
+\r
+#else\r
+\r
+        pn = new count_type(1);\r
+\r
+        if(pn == 0)\r
+        {\r
+            boost::checked_array_delete(p);\r
+            boost::throw_exception(std::bad_alloc());\r
+        }\r
+\r
+#endif\r
+    }\r
+\r
+    ~shared_array()\r
+    {\r
+        if(--*pn == 0)\r
+        {\r
+            boost::checked_array_delete(px);\r
+            delete pn;\r
+        }\r
+    }\r
+\r
+    shared_array(shared_array const & r) : px(r.px)  // never throws\r
+    {\r
+        pn = r.pn;\r
+        ++*pn;\r
+    }\r
+\r
+    shared_array & operator=(shared_array const & r)\r
+    {\r
+        shared_array(r).swap(*this);\r
+        return *this;\r
+    }\r
+\r
+    void reset(T * p = 0)\r
+    {\r
+        BOOST_ASSERT(p == 0 || p != px);\r
+        shared_array(p).swap(*this);\r
+    }\r
+\r
+    T * get() const  // never throws\r
+    {\r
+        return px;\r
+    }\r
+\r
+    T & operator[](std::ptrdiff_t i) const  // never throws\r
+    {\r
+        BOOST_ASSERT(px != 0);\r
+        BOOST_ASSERT(i >= 0);\r
+        return px[i];\r
+    }\r
+\r
+    long use_count() const  // never throws\r
+    {\r
+        return *pn;\r
+    }\r
+\r
+    bool unique() const  // never throws\r
+    {\r
+        return *pn == 1;\r
+    }\r
+\r
+    void swap(shared_array<T> & other)  // never throws\r
+    {\r
+        std::swap(px, other.px);\r
+        std::swap(pn, other.pn);\r
+    }\r
+\r
+private:\r
+\r
+    T * px;            // contained pointer\r
+    count_type * pn;   // ptr to reference counter\r
+      \r
+};  // shared_array\r
+\r
+template<class T, class U> inline bool operator==(shared_array<T> const & a, shared_array<U> const & b)\r
+{\r
+    return a.get() == b.get();\r
+}\r
+\r
+template<class T, class U> inline bool operator!=(shared_array<T> const & a, shared_array<U> const & b)\r
+{\r
+    return a.get() != b.get();\r
+}\r
+\r
+template<class T> inline bool operator<(shared_array<T> const & a, shared_array<T> const & b)\r
+{\r
+    return std::less<T*>()(a.get(), b.get());\r
+}\r
+\r
+template<class T> void swap(shared_array<T> & a, shared_array<T> & b)\r
+{\r
+    a.swap(b);\r
+}\r
+\r
+} // namespace boost\r
+\r
+#endif  // #ifndef BOOST_SMART_PTR_DETAIL_SHARED_ARRAY_NMT_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/shared_count.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/shared_count.hpp
new file mode 100644 (file)
index 0000000..ce1beb0
--- /dev/null
@@ -0,0 +1,444 @@
+#ifndef BOOST_SMART_PTR_DETAIL_SHARED_COUNT_HPP_INCLUDED\r
+#define BOOST_SMART_PTR_DETAIL_SHARED_COUNT_HPP_INCLUDED\r
+\r
+// MS compatible compilers support #pragma once\r
+\r
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)\r
+# pragma once\r
+#endif\r
+\r
+//\r
+//  detail/shared_count.hpp\r
+//\r
+//  Copyright (c) 2001, 2002, 2003 Peter Dimov and Multi Media Ltd.\r
+//  Copyright 2004-2005 Peter Dimov\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. (See\r
+// accompanying file LICENSE_1_0.txt or copy at\r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+#ifdef __BORLANDC__\r
+# pragma warn -8027     // Functions containing try are not expanded inline\r
+#endif\r
+\r
+#include <boost/config.hpp>\r
+#include <boost/checked_delete.hpp>\r
+#include <boost/throw_exception.hpp>\r
+#include <boost/smart_ptr/bad_weak_ptr.hpp>\r
+#include <boost/smart_ptr/detail/sp_counted_base.hpp>\r
+#include <boost/smart_ptr/detail/sp_counted_impl.hpp>\r
+#include <boost/detail/workaround.hpp>\r
+// In order to avoid circular dependencies with Boost.TR1\r
+// we make sure that our include of <memory> doesn't try to\r
+// pull in the TR1 headers: that's why we use this header \r
+// rather than including <memory> directly:\r
+#include <boost/config/no_tr1/memory.hpp>  // std::auto_ptr\r
+#include <functional>       // std::less\r
+#include <new>              // std::bad_alloc\r
+\r
+namespace boost\r
+{\r
+\r
+namespace detail\r
+{\r
+\r
+#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)\r
+\r
+int const shared_count_id = 0x2C35F101;\r
+int const   weak_count_id = 0x298C38A4;\r
+\r
+#endif\r
+\r
+struct sp_nothrow_tag {};\r
+\r
+class weak_count;\r
+\r
+class shared_count\r
+{\r
+private:\r
+\r
+    sp_counted_base * pi_;\r
+\r
+#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)\r
+    int id_;\r
+#endif\r
+\r
+    friend class weak_count;\r
+\r
+public:\r
+\r
+    shared_count(): pi_(0) // nothrow\r
+#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)\r
+        , id_(shared_count_id)\r
+#endif\r
+    {\r
+    }\r
+\r
+    template<class Y> explicit shared_count( Y * p ): pi_( 0 )\r
+#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)\r
+        , id_(shared_count_id)\r
+#endif\r
+    {\r
+#ifndef BOOST_NO_EXCEPTIONS\r
+\r
+        try\r
+        {\r
+            pi_ = new sp_counted_impl_p<Y>( p );\r
+        }\r
+        catch(...)\r
+        {\r
+            boost::checked_delete( p );\r
+            throw;\r
+        }\r
+\r
+#else\r
+\r
+        pi_ = new sp_counted_impl_p<Y>( p );\r
+\r
+        if( pi_ == 0 )\r
+        {\r
+            boost::checked_delete( p );\r
+            boost::throw_exception( std::bad_alloc() );\r
+        }\r
+\r
+#endif\r
+    }\r
+\r
+#if defined( BOOST_MSVC ) && BOOST_WORKAROUND( BOOST_MSVC, <= 1200 )\r
+    template<class Y, class D> shared_count( Y * p, D d ): pi_(0)\r
+#else\r
+    template<class P, class D> shared_count( P p, D d ): pi_(0)\r
+#endif\r
+#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)\r
+        , id_(shared_count_id)\r
+#endif\r
+    {\r
+#if defined( BOOST_MSVC ) && BOOST_WORKAROUND( BOOST_MSVC, <= 1200 )\r
+        typedef Y* P;\r
+#endif\r
+#ifndef BOOST_NO_EXCEPTIONS\r
+\r
+        try\r
+        {\r
+            pi_ = new sp_counted_impl_pd<P, D>(p, d);\r
+        }\r
+        catch(...)\r
+        {\r
+            d(p); // delete p\r
+            throw;\r
+        }\r
+\r
+#else\r
+\r
+        pi_ = new sp_counted_impl_pd<P, D>(p, d);\r
+\r
+        if(pi_ == 0)\r
+        {\r
+            d(p); // delete p\r
+            boost::throw_exception(std::bad_alloc());\r
+        }\r
+\r
+#endif\r
+    }\r
+\r
+    template<class P, class D, class A> shared_count( P p, D d, A a ): pi_( 0 )\r
+#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)\r
+        , id_(shared_count_id)\r
+#endif\r
+    {\r
+        typedef sp_counted_impl_pda<P, D, A> impl_type;\r
+        typedef typename A::template rebind< impl_type >::other A2;\r
+\r
+        A2 a2( a );\r
+\r
+#ifndef BOOST_NO_EXCEPTIONS\r
+\r
+        try\r
+        {\r
+            pi_ = a2.allocate( 1, static_cast< impl_type* >( 0 ) );\r
+            new( static_cast< void* >( pi_ ) ) impl_type( p, d, a );\r
+        }\r
+        catch(...)\r
+        {\r
+            d( p );\r
+\r
+            if( pi_ != 0 )\r
+            {\r
+                a2.deallocate( static_cast< impl_type* >( pi_ ), 1 );\r
+            }\r
+\r
+            throw;\r
+        }\r
+\r
+#else\r
+\r
+        pi_ = a2.allocate( 1, static_cast< impl_type* >( 0 ) );\r
+\r
+        if( pi_ != 0 )\r
+        {\r
+            new( static_cast< void* >( pi_ ) ) impl_type( p, d, a );\r
+        }\r
+        else\r
+        {\r
+            d( p );\r
+            boost::throw_exception( std::bad_alloc() );\r
+        }\r
+\r
+#endif\r
+    }\r
+\r
+#ifndef BOOST_NO_AUTO_PTR\r
+\r
+    // auto_ptr<Y> is special cased to provide the strong guarantee\r
+\r
+    template<class Y>\r
+    explicit shared_count( std::auto_ptr<Y> & r ): pi_( new sp_counted_impl_p<Y>( r.get() ) )\r
+#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)\r
+        , id_(shared_count_id)\r
+#endif\r
+    {\r
+#ifdef BOOST_NO_EXCEPTIONS\r
+\r
+        if( pi_ == 0 )\r
+        {\r
+            boost::throw_exception(std::bad_alloc());\r
+        }\r
+\r
+#endif\r
+\r
+        r.release();\r
+    }\r
+\r
+#endif \r
+\r
+    ~shared_count() // nothrow\r
+    {\r
+        if( pi_ != 0 ) pi_->release();\r
+#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)\r
+        id_ = 0;\r
+#endif\r
+    }\r
+\r
+    shared_count(shared_count const & r): pi_(r.pi_) // nothrow\r
+#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)\r
+        , id_(shared_count_id)\r
+#endif\r
+    {\r
+        if( pi_ != 0 ) pi_->add_ref_copy();\r
+    }\r
+\r
+#if defined( BOOST_HAS_RVALUE_REFS )\r
+\r
+    shared_count(shared_count && r): pi_(r.pi_) // nothrow\r
+#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)\r
+        , id_(shared_count_id)\r
+#endif\r
+    {\r
+        r.pi_ = 0;\r
+    }\r
+\r
+#endif\r
+\r
+    explicit shared_count(weak_count const & r); // throws bad_weak_ptr when r.use_count() == 0\r
+    shared_count( weak_count const & r, sp_nothrow_tag ); // constructs an empty *this when r.use_count() == 0\r
+\r
+    shared_count & operator= (shared_count const & r) // nothrow\r
+    {\r
+        sp_counted_base * tmp = r.pi_;\r
+\r
+        if( tmp != pi_ )\r
+        {\r
+            if( tmp != 0 ) tmp->add_ref_copy();\r
+            if( pi_ != 0 ) pi_->release();\r
+            pi_ = tmp;\r
+        }\r
+\r
+        return *this;\r
+    }\r
+\r
+    void swap(shared_count & r) // nothrow\r
+    {\r
+        sp_counted_base * tmp = r.pi_;\r
+        r.pi_ = pi_;\r
+        pi_ = tmp;\r
+    }\r
+\r
+    long use_count() const // nothrow\r
+    {\r
+        return pi_ != 0? pi_->use_count(): 0;\r
+    }\r
+\r
+    bool unique() const // nothrow\r
+    {\r
+        return use_count() == 1;\r
+    }\r
+\r
+    bool empty() const // nothrow\r
+    {\r
+        return pi_ == 0;\r
+    }\r
+\r
+    friend inline bool operator==(shared_count const & a, shared_count const & b)\r
+    {\r
+        return a.pi_ == b.pi_;\r
+    }\r
+\r
+    friend inline bool operator<(shared_count const & a, shared_count const & b)\r
+    {\r
+        return std::less<sp_counted_base *>()( a.pi_, b.pi_ );\r
+    }\r
+\r
+    void * get_deleter( sp_typeinfo const & ti ) const\r
+    {\r
+        return pi_? pi_->get_deleter( ti ): 0;\r
+    }\r
+};\r
+\r
+\r
+class weak_count\r
+{\r
+private:\r
+\r
+    sp_counted_base * pi_;\r
+\r
+#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)\r
+    int id_;\r
+#endif\r
+\r
+    friend class shared_count;\r
+\r
+public:\r
+\r
+    weak_count(): pi_(0) // nothrow\r
+#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)\r
+        , id_(weak_count_id)\r
+#endif\r
+    {\r
+    }\r
+\r
+    weak_count(shared_count const & r): pi_(r.pi_) // nothrow\r
+#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)\r
+        , id_(weak_count_id)\r
+#endif\r
+    {\r
+        if(pi_ != 0) pi_->weak_add_ref();\r
+    }\r
+\r
+    weak_count(weak_count const & r): pi_(r.pi_) // nothrow\r
+#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)\r
+        , id_(weak_count_id)\r
+#endif\r
+    {\r
+        if(pi_ != 0) pi_->weak_add_ref();\r
+    }\r
+\r
+// Move support\r
+\r
+#if defined( BOOST_HAS_RVALUE_REFS )\r
+\r
+    weak_count(weak_count && r): pi_(r.pi_) // nothrow\r
+#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)\r
+        , id_(weak_count_id)\r
+#endif\r
+    {\r
+        r.pi_ = 0;\r
+    }\r
+\r
+#endif\r
+\r
+    ~weak_count() // nothrow\r
+    {\r
+        if(pi_ != 0) pi_->weak_release();\r
+#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)\r
+        id_ = 0;\r
+#endif\r
+    }\r
+\r
+    weak_count & operator= (shared_count const & r) // nothrow\r
+    {\r
+        sp_counted_base * tmp = r.pi_;\r
+\r
+        if( tmp != pi_ )\r
+        {\r
+            if(tmp != 0) tmp->weak_add_ref();\r
+            if(pi_ != 0) pi_->weak_release();\r
+            pi_ = tmp;\r
+        }\r
+\r
+        return *this;\r
+    }\r
+\r
+    weak_count & operator= (weak_count const & r) // nothrow\r
+    {\r
+        sp_counted_base * tmp = r.pi_;\r
+\r
+        if( tmp != pi_ )\r
+        {\r
+            if(tmp != 0) tmp->weak_add_ref();\r
+            if(pi_ != 0) pi_->weak_release();\r
+            pi_ = tmp;\r
+        }\r
+\r
+        return *this;\r
+    }\r
+\r
+    void swap(weak_count & r) // nothrow\r
+    {\r
+        sp_counted_base * tmp = r.pi_;\r
+        r.pi_ = pi_;\r
+        pi_ = tmp;\r
+    }\r
+\r
+    long use_count() const // nothrow\r
+    {\r
+        return pi_ != 0? pi_->use_count(): 0;\r
+    }\r
+\r
+    bool empty() const // nothrow\r
+    {\r
+        return pi_ == 0;\r
+    }\r
+\r
+    friend inline bool operator==(weak_count const & a, weak_count const & b)\r
+    {\r
+        return a.pi_ == b.pi_;\r
+    }\r
+\r
+    friend inline bool operator<(weak_count const & a, weak_count const & b)\r
+    {\r
+        return std::less<sp_counted_base *>()(a.pi_, b.pi_);\r
+    }\r
+};\r
+\r
+inline shared_count::shared_count( weak_count const & r ): pi_( r.pi_ )\r
+#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)\r
+        , id_(shared_count_id)\r
+#endif\r
+{\r
+    if( pi_ == 0 || !pi_->add_ref_lock() )\r
+    {\r
+        boost::throw_exception( boost::bad_weak_ptr() );\r
+    }\r
+}\r
+\r
+inline shared_count::shared_count( weak_count const & r, sp_nothrow_tag ): pi_( r.pi_ )\r
+#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)\r
+        , id_(shared_count_id)\r
+#endif\r
+{\r
+    if( pi_ != 0 && !pi_->add_ref_lock() )\r
+    {\r
+        pi_ = 0;\r
+    }\r
+}\r
+\r
+} // namespace detail\r
+\r
+} // namespace boost\r
+\r
+#ifdef __BORLANDC__\r
+# pragma warn .8027     // Functions containing try are not expanded inline\r
+#endif\r
+\r
+#endif  // #ifndef BOOST_SMART_PTR_DETAIL_SHARED_COUNT_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/shared_ptr_nmt.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/shared_ptr_nmt.hpp
new file mode 100644 (file)
index 0000000..2921f41
--- /dev/null
@@ -0,0 +1,182 @@
+#ifndef BOOST_SMART_PTR_DETAIL_SHARED_PTR_NMT_HPP_INCLUDED\r
+#define BOOST_SMART_PTR_DETAIL_SHARED_PTR_NMT_HPP_INCLUDED\r
+\r
+//\r
+//  detail/shared_ptr_nmt.hpp - shared_ptr.hpp without member templates\r
+//\r
+//  (C) Copyright Greg Colvin and Beman Dawes 1998, 1999.\r
+//  Copyright (c) 2001, 2002 Peter Dimov\r
+//\r
+//  Distributed under the Boost Software License, Version 1.0. (See\r
+//  accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+//  See http://www.boost.org/libs/smart_ptr/shared_ptr.htm for documentation.\r
+//\r
+\r
+#include <boost/assert.hpp>\r
+#include <boost/checked_delete.hpp>\r
+#include <boost/throw_exception.hpp>\r
+#include <boost/smart_ptr/detail/atomic_count.hpp>\r
+\r
+#ifndef BOOST_NO_AUTO_PTR\r
+# include <memory>          // for std::auto_ptr\r
+#endif\r
+\r
+#include <algorithm>        // for std::swap\r
+#include <functional>       // for std::less\r
+#include <new>              // for std::bad_alloc\r
+\r
+namespace boost\r
+{\r
+\r
+template<class T> class shared_ptr\r
+{\r
+private:\r
+\r
+    typedef detail::atomic_count count_type;\r
+\r
+public:\r
+\r
+    typedef T element_type;\r
+    typedef T value_type;\r
+\r
+    explicit shared_ptr(T * p = 0): px(p)\r
+    {\r
+#ifndef BOOST_NO_EXCEPTIONS\r
+\r
+        try  // prevent leak if new throws\r
+        {\r
+            pn = new count_type(1);\r
+        }\r
+        catch(...)\r
+        {\r
+            boost::checked_delete(p);\r
+            throw;\r
+        }\r
+\r
+#else\r
+\r
+        pn = new count_type(1);\r
+\r
+        if(pn == 0)\r
+        {\r
+            boost::checked_delete(p);\r
+            boost::throw_exception(std::bad_alloc());\r
+        }\r
+\r
+#endif\r
+    }\r
+\r
+    ~shared_ptr()\r
+    {\r
+        if(--*pn == 0)\r
+        {\r
+            boost::checked_delete(px);\r
+            delete pn;\r
+        }\r
+    }\r
+\r
+    shared_ptr(shared_ptr const & r): px(r.px)  // never throws\r
+    {\r
+        pn = r.pn;\r
+        ++*pn;\r
+    }\r
+\r
+    shared_ptr & operator=(shared_ptr const & r)\r
+    {\r
+        shared_ptr(r).swap(*this);\r
+        return *this;\r
+    }\r
+\r
+#ifndef BOOST_NO_AUTO_PTR\r
+\r
+    explicit shared_ptr(std::auto_ptr<T> & r)\r
+    { \r
+        pn = new count_type(1); // may throw\r
+        px = r.release(); // fix: moved here to stop leak if new throws\r
+    } \r
+\r
+    shared_ptr & operator=(std::auto_ptr<T> & r)\r
+    {\r
+        shared_ptr(r).swap(*this);\r
+        return *this;\r
+    }\r
+\r
+#endif\r
+\r
+    void reset(T * p = 0)\r
+    {\r
+        BOOST_ASSERT(p == 0 || p != px);\r
+        shared_ptr(p).swap(*this);\r
+    }\r
+\r
+    T & operator*() const  // never throws\r
+    {\r
+        BOOST_ASSERT(px != 0);\r
+        return *px;\r
+    }\r
+\r
+    T * operator->() const  // never throws\r
+    {\r
+        BOOST_ASSERT(px != 0);\r
+        return px;\r
+    }\r
+\r
+    T * get() const  // never throws\r
+    {\r
+        return px;\r
+    }\r
+\r
+    long use_count() const  // never throws\r
+    {\r
+        return *pn;\r
+    }\r
+\r
+    bool unique() const  // never throws\r
+    {\r
+        return *pn == 1;\r
+    }\r
+    \r
+    void swap(shared_ptr<T> & other)  // never throws\r
+    {\r
+        std::swap(px, other.px);\r
+        std::swap(pn, other.pn);\r
+    }\r
+\r
+private:\r
+\r
+    T * px;            // contained pointer\r
+    count_type * pn;   // ptr to reference counter\r
+};\r
+\r
+template<class T, class U> inline bool operator==(shared_ptr<T> const & a, shared_ptr<U> const & b)\r
+{\r
+    return a.get() == b.get();\r
+}\r
+\r
+template<class T, class U> inline bool operator!=(shared_ptr<T> const & a, shared_ptr<U> const & b)\r
+{\r
+    return a.get() != b.get();\r
+}\r
+\r
+template<class T> inline bool operator<(shared_ptr<T> const & a, shared_ptr<T> const & b)\r
+{\r
+    return std::less<T*>()(a.get(), b.get());\r
+}\r
+\r
+template<class T> void swap(shared_ptr<T> & a, shared_ptr<T> & b)\r
+{\r
+    a.swap(b);\r
+}\r
+\r
+// get_pointer() enables boost::mem_fn to recognize shared_ptr\r
+\r
+template<class T> inline T * get_pointer(shared_ptr<T> const & p)\r
+{\r
+    return p.get();\r
+}\r
+\r
+} // namespace boost\r
+\r
+#endif  // #ifndef BOOST_SMART_PTR_DETAIL_SHARED_PTR_NMT_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/sp_convertible.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/sp_convertible.hpp
new file mode 100644 (file)
index 0000000..4e32190
--- /dev/null
@@ -0,0 +1,76 @@
+#ifndef BOOST_SMART_PTR_DETAIL_SP_CONVERTIBLE_HPP_INCLUDED\r
+#define BOOST_SMART_PTR_DETAIL_SP_CONVERTIBLE_HPP_INCLUDED\r
+\r
+// MS compatible compilers support #pragma once\r
+\r
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)\r
+# pragma once\r
+#endif\r
+\r
+//  detail/sp_convertible.hpp\r
+//\r
+//  Copyright 2008 Peter Dimov\r
+//\r
+//  Distributed under the Boost Software License, Version 1.0.\r
+//  See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt\r
+\r
+#include <boost/config.hpp>\r
+\r
+#if !defined( BOOST_SP_NO_SP_CONVERTIBLE ) && defined( BOOST_NO_SFINAE )\r
+# define BOOST_SP_NO_SP_CONVERTIBLE\r
+#endif\r
+\r
+#if !defined( BOOST_SP_NO_SP_CONVERTIBLE ) && defined( __GNUC__ ) && ( __GNUC__ * 100 + __GNUC_MINOR__ < 303 )\r
+# define BOOST_SP_NO_SP_CONVERTIBLE\r
+#endif\r
+\r
+#if !defined( BOOST_SP_NO_SP_CONVERTIBLE ) && defined( __BORLANDC__ ) && ( __BORLANDC__ <= 0x620 )\r
+# define BOOST_SP_NO_SP_CONVERTIBLE\r
+#endif\r
+\r
+#if !defined( BOOST_SP_NO_SP_CONVERTIBLE )\r
+\r
+namespace boost\r
+{\r
+\r
+namespace detail\r
+{\r
+\r
+template< class Y, class T > struct sp_convertible\r
+{\r
+    typedef char (&yes) [1];\r
+    typedef char (&no)  [2];\r
+\r
+    static yes f( T* );\r
+    static no  f( ... );\r
+\r
+    enum _vt { value = sizeof( f( static_cast<Y*>(0) ) ) == sizeof(yes) };\r
+};\r
+\r
+struct sp_empty\r
+{\r
+};\r
+\r
+template< bool > struct sp_enable_if_convertible_impl;\r
+\r
+template<> struct sp_enable_if_convertible_impl<true>\r
+{\r
+    typedef sp_empty type;\r
+};\r
+\r
+template<> struct sp_enable_if_convertible_impl<false>\r
+{\r
+};\r
+\r
+template< class Y, class T > struct sp_enable_if_convertible: public sp_enable_if_convertible_impl< sp_convertible< Y, T >::value >\r
+{\r
+};\r
+\r
+} // namespace detail\r
+\r
+} // namespace boost\r
+\r
+#endif // !defined( BOOST_SP_NO_SP_CONVERTIBLE )\r
+\r
+#endif  // #ifndef BOOST_SMART_PTR_DETAIL_SP_CONVERTIBLE_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/sp_counted_base.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/sp_counted_base.hpp
new file mode 100644 (file)
index 0000000..7302560
--- /dev/null
@@ -0,0 +1,70 @@
+#ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_HPP_INCLUDED\r
+#define BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_HPP_INCLUDED\r
+\r
+// MS compatible compilers support #pragma once\r
+\r
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)\r
+# pragma once\r
+#endif\r
+\r
+//\r
+//  detail/sp_counted_base.hpp\r
+//\r
+//  Copyright 2005, 2006 Peter Dimov\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. (See\r
+// accompanying file LICENSE_1_0.txt or copy at\r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+#include <boost/config.hpp>\r
+#include <boost/smart_ptr/detail/sp_has_sync.hpp>\r
+\r
+#if defined( BOOST_SP_DISABLE_THREADS )\r
+# include <boost/smart_ptr/detail/sp_counted_base_nt.hpp>\r
+\r
+#elif defined( BOOST_SP_USE_SPINLOCK )\r
+# include <boost/smart_ptr/detail/sp_counted_base_spin.hpp>\r
+\r
+#elif defined( BOOST_SP_USE_PTHREADS )\r
+# include <boost/smart_ptr/detail/sp_counted_base_pt.hpp>\r
+\r
+#elif defined( BOOST_DISABLE_THREADS ) && !defined( BOOST_SP_ENABLE_THREADS ) && !defined( BOOST_DISABLE_WIN32 )\r
+# include <boost/smart_ptr/detail/sp_counted_base_nt.hpp>\r
+\r
+#elif defined( __GNUC__ ) && ( defined( __i386__ ) || defined( __x86_64__ ) )\r
+# include <boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp>\r
+\r
+#elif defined( __GNUC__ ) && defined( __ia64__ ) && !defined( __INTEL_COMPILER )\r
+# include <boost/smart_ptr/detail/sp_counted_base_gcc_ia64.hpp>\r
+\r
+#elif defined(__HP_aCC) && defined(__ia64)\r
+# include <boost/smart_ptr/detail/sp_counted_base_acc_ia64.hpp>\r
+\r
+#elif defined( __MWERKS__ ) && defined( __POWERPC__ )\r
+# include <boost/smart_ptr/detail/sp_counted_base_cw_ppc.hpp>\r
+\r
+#elif defined( __GNUC__ ) && ( defined( __powerpc__ ) || defined( __ppc__ ) || defined( __ppc ) )\r
+# include <boost/smart_ptr/detail/sp_counted_base_gcc_ppc.hpp>\r
+\r
+#elif defined( __GNUC__ ) && ( defined( __mips__ ) || defined( _mips ) )\r
+# include <boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp>\r
+\r
+#elif defined( BOOST_SP_HAS_SYNC )\r
+# include <boost/smart_ptr/detail/sp_counted_base_sync.hpp>\r
+\r
+#elif defined(__GNUC__) && ( defined( __sparcv9 ) || ( defined( __sparcv8 ) && ( __GNUC__ * 100 + __GNUC_MINOR__ >= 402 ) ) )\r
+# include <boost/smart_ptr/detail/sp_counted_base_gcc_sparc.hpp>\r
+\r
+#elif defined( WIN32 ) || defined( _WIN32 ) || defined( __WIN32__ ) || defined(__CYGWIN__)\r
+# include <boost/smart_ptr/detail/sp_counted_base_w32.hpp>\r
+\r
+#elif !defined( BOOST_HAS_THREADS )\r
+# include <boost/smart_ptr/detail/sp_counted_base_nt.hpp>\r
+\r
+#else\r
+# include <boost/smart_ptr/detail/sp_counted_base_spin.hpp>\r
+\r
+#endif\r
+\r
+#endif  // #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/sp_counted_base_acc_ia64.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/sp_counted_base_acc_ia64.hpp
new file mode 100644 (file)
index 0000000..1fe2326
--- /dev/null
@@ -0,0 +1,150 @@
+#ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_ACC_IA64_HPP_INCLUDED\r
+#define BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_ACC_IA64_HPP_INCLUDED\r
+\r
+//\r
+//  detail/sp_counted_base_acc_ia64.hpp - aC++ on HP-UX IA64\r
+//\r
+//  Copyright 2007 Baruch Zilber\r
+//  Copyright 2007 Boris Gubenko\r
+//\r
+//  Distributed under the Boost Software License, Version 1.0. (See\r
+//  accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+//\r
+//  Lock-free algorithm by Alexander Terekhov\r
+//\r
+\r
+#include <boost/detail/sp_typeinfo.hpp>\r
+#include <machine/sys/inline.h>\r
+\r
+namespace boost\r
+{\r
+\r
+namespace detail\r
+{\r
+\r
+inline void atomic_increment( int * pw )\r
+{\r
+    // ++*pw;\r
+\r
+    _Asm_fetchadd(_FASZ_W, _SEM_REL, pw, +1, _LDHINT_NONE);\r
+} \r
+\r
+inline int atomic_decrement( int * pw )\r
+{\r
+    // return --*pw;\r
+\r
+    int r = static_cast<int>(_Asm_fetchadd(_FASZ_W, _SEM_REL, pw, -1, _LDHINT_NONE));\r
+    if (1 == r)\r
+    {\r
+        _Asm_mf();\r
+    }\r
+    \r
+    return r - 1;\r
+}\r
+\r
+inline int atomic_conditional_increment( int * pw )\r
+{\r
+    // if( *pw != 0 ) ++*pw;\r
+    // return *pw;\r
+\r
+    int v = *pw;\r
+    \r
+    for (;;)\r
+    {\r
+        if (0 == v)\r
+        {\r
+            return 0;\r
+        }\r
+        \r
+        _Asm_mov_to_ar(_AREG_CCV,\r
+                       v,\r
+                       (_UP_CALL_FENCE | _UP_SYS_FENCE | _DOWN_CALL_FENCE | _DOWN_SYS_FENCE));\r
+        int r = static_cast<int>(_Asm_cmpxchg(_SZ_W, _SEM_ACQ, pw, v + 1, _LDHINT_NONE));\r
+        if (r == v)\r
+        {\r
+            return r + 1;\r
+        }\r
+        \r
+        v = r;\r
+    }\r
+}\r
+\r
+class sp_counted_base\r
+{\r
+private:\r
+\r
+    sp_counted_base( sp_counted_base const & );\r
+    sp_counted_base & operator= ( sp_counted_base const & );\r
+\r
+    int use_count_;        // #shared\r
+    int weak_count_;       // #weak + (#shared != 0)\r
+\r
+public:\r
+\r
+    sp_counted_base(): use_count_( 1 ), weak_count_( 1 )\r
+    {\r
+    }\r
+\r
+    virtual ~sp_counted_base() // nothrow\r
+    {\r
+    }\r
+\r
+    // dispose() is called when use_count_ drops to zero, to release\r
+    // the resources managed by *this.\r
+\r
+    virtual void dispose() = 0; // nothrow\r
+\r
+    // destroy() is called when weak_count_ drops to zero.\r
+\r
+    virtual void destroy() // nothrow\r
+    {\r
+        delete this;\r
+    }\r
+\r
+    virtual void * get_deleter( sp_typeinfo const & ti ) = 0;\r
+\r
+    void add_ref_copy()\r
+    {\r
+        atomic_increment( &use_count_ );\r
+    }\r
+\r
+    bool add_ref_lock() // true on success\r
+    {\r
+        return atomic_conditional_increment( &use_count_ ) != 0;\r
+    }\r
+\r
+    void release() // nothrow\r
+    {\r
+        if( atomic_decrement( &use_count_ ) == 0 )\r
+        {\r
+            dispose();\r
+            weak_release();\r
+        }\r
+    }\r
+\r
+    void weak_add_ref() // nothrow\r
+    {\r
+        atomic_increment( &weak_count_ );\r
+    }\r
+\r
+    void weak_release() // nothrow\r
+    {\r
+        if( atomic_decrement( &weak_count_ ) == 0 )\r
+        {\r
+            destroy();\r
+        }\r
+    }\r
+\r
+    long use_count() const // nothrow\r
+    {\r
+        return static_cast<int const volatile &>( use_count_ ); // TODO use ld.acq here\r
+    }\r
+};\r
+\r
+} // namespace detail\r
+\r
+} // namespace boost\r
+\r
+#endif  // #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_ACC_IA64_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/sp_counted_base_cw_ppc.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/sp_counted_base_cw_ppc.hpp
new file mode 100644 (file)
index 0000000..01c0c45
--- /dev/null
@@ -0,0 +1,170 @@
+#ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_CW_PPC_HPP_INCLUDED\r
+#define BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_CW_PPC_HPP_INCLUDED\r
+\r
+// MS compatible compilers support #pragma once\r
+\r
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)\r
+# pragma once\r
+#endif\r
+\r
+//\r
+//  detail/sp_counted_base_cw_ppc.hpp - CodeWarrior on PowerPC\r
+//\r
+//  Copyright (c) 2001, 2002, 2003 Peter Dimov and Multi Media Ltd.\r
+//  Copyright 2004-2005 Peter Dimov\r
+//\r
+//  Distributed under the Boost Software License, Version 1.0. (See\r
+//  accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+//\r
+//  Lock-free algorithm by Alexander Terekhov\r
+//\r
+//  Thanks to Ben Hitchings for the #weak + (#shared != 0)\r
+//  formulation\r
+//\r
+\r
+#include <boost/detail/sp_typeinfo.hpp>\r
+\r
+namespace boost\r
+{\r
+\r
+namespace detail\r
+{\r
+\r
+inline void atomic_increment( register long * pw )\r
+{\r
+    register int a;\r
+\r
+    asm\r
+    {\r
+loop:\r
+\r
+    lwarx   a, 0, pw\r
+    addi    a, a, 1\r
+    stwcx.  a, 0, pw\r
+    bne-    loop\r
+    }\r
+}\r
+\r
+inline long atomic_decrement( register long * pw )\r
+{\r
+    register int a;\r
+\r
+    asm\r
+    {\r
+    sync\r
+\r
+loop:\r
+\r
+    lwarx   a, 0, pw\r
+    addi    a, a, -1\r
+    stwcx.  a, 0, pw\r
+    bne-    loop\r
+\r
+    isync\r
+    }\r
+\r
+    return a;\r
+}\r
+\r
+inline long atomic_conditional_increment( register long * pw )\r
+{\r
+    register int a;\r
+\r
+    asm\r
+    {\r
+loop:\r
+\r
+    lwarx   a, 0, pw\r
+    cmpwi   a, 0\r
+    beq     store\r
+\r
+    addi    a, a, 1\r
+\r
+store:\r
+\r
+    stwcx.  a, 0, pw\r
+    bne-    loop\r
+    }\r
+\r
+    return a;\r
+}\r
+\r
+class sp_counted_base\r
+{\r
+private:\r
+\r
+    sp_counted_base( sp_counted_base const & );\r
+    sp_counted_base & operator= ( sp_counted_base const & );\r
+\r
+    long use_count_;        // #shared\r
+    long weak_count_;       // #weak + (#shared != 0)\r
+\r
+public:\r
+\r
+    sp_counted_base(): use_count_( 1 ), weak_count_( 1 )\r
+    {\r
+    }\r
+\r
+    virtual ~sp_counted_base() // nothrow\r
+    {\r
+    }\r
+\r
+    // dispose() is called when use_count_ drops to zero, to release\r
+    // the resources managed by *this.\r
+\r
+    virtual void dispose() = 0; // nothrow\r
+\r
+    // destroy() is called when weak_count_ drops to zero.\r
+\r
+    virtual void destroy() // nothrow\r
+    {\r
+        delete this;\r
+    }\r
+\r
+    virtual void * get_deleter( sp_typeinfo const & ti ) = 0;\r
+\r
+    void add_ref_copy()\r
+    {\r
+        atomic_increment( &use_count_ );\r
+    }\r
+\r
+    bool add_ref_lock() // true on success\r
+    {\r
+        return atomic_conditional_increment( &use_count_ ) != 0;\r
+    }\r
+\r
+    void release() // nothrow\r
+    {\r
+        if( atomic_decrement( &use_count_ ) == 0 )\r
+        {\r
+            dispose();\r
+            weak_release();\r
+        }\r
+    }\r
+\r
+    void weak_add_ref() // nothrow\r
+    {\r
+        atomic_increment( &weak_count_ );\r
+    }\r
+\r
+    void weak_release() // nothrow\r
+    {\r
+        if( atomic_decrement( &weak_count_ ) == 0 )\r
+        {\r
+            destroy();\r
+        }\r
+    }\r
+\r
+    long use_count() const // nothrow\r
+    {\r
+        return static_cast<long const volatile &>( use_count_ );\r
+    }\r
+};\r
+\r
+} // namespace detail\r
+\r
+} // namespace boost\r
+\r
+#endif  // #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_CW_PPC_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/sp_counted_base_cw_x86.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/sp_counted_base_cw_x86.hpp
new file mode 100644 (file)
index 0000000..cc15901
--- /dev/null
@@ -0,0 +1,158 @@
+#ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_CW_X86_HPP_INCLUDED\r
+#define BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_CW_X86_HPP_INCLUDED\r
+\r
+// MS compatible compilers support #pragma once\r
+\r
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)\r
+# pragma once\r
+#endif\r
+\r
+//\r
+//  detail/sp_counted_base_cw_x86.hpp - CodeWarrion on 486+\r
+//\r
+//  Copyright (c) 2001, 2002, 2003 Peter Dimov and Multi Media Ltd.\r
+//  Copyright 2004-2005 Peter Dimov\r
+//  Copyright 2005 Rene Rivera\r
+//\r
+//  Distributed under the Boost Software License, Version 1.0. (See\r
+//  accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+//\r
+//  Lock-free algorithm by Alexander Terekhov\r
+//\r
+//  Thanks to Ben Hitchings for the #weak + (#shared != 0)\r
+//  formulation\r
+//\r
+\r
+#include <boost/detail/sp_typeinfo.hpp>\r
+\r
+namespace boost\r
+{\r
+\r
+namespace detail\r
+{\r
+\r
+inline int atomic_exchange_and_add( int * pw, int dv )\r
+{\r
+    // int r = *pw;\r
+    // *pw += dv;\r
+    // return r;\r
+\r
+    asm\r
+    {\r
+        mov esi, [pw]\r
+        mov eax, dv\r
+        lock xadd dword ptr [esi], eax\r
+    }\r
+}\r
+\r
+inline void atomic_increment( int * pw )\r
+{\r
+    //atomic_exchange_and_add( pw, 1 );\r
+\r
+    asm\r
+    {\r
+        mov esi, [pw]\r
+        lock inc dword ptr [esi]\r
+    }\r
+}\r
+\r
+inline int atomic_conditional_increment( int * pw )\r
+{\r
+    // int rv = *pw;\r
+    // if( rv != 0 ) ++*pw;\r
+    // return rv;\r
+\r
+    asm\r
+    {\r
+        mov esi, [pw]\r
+        mov eax, dword ptr [esi]\r
+    L0:\r
+        test eax, eax\r
+        je L1\r
+        mov ebx, eax\r
+        inc ebx\r
+        lock cmpxchg dword ptr [esi], ebx\r
+        jne L0\r
+    L1:\r
+    }\r
+}\r
+\r
+class sp_counted_base\r
+{\r
+private:\r
+\r
+    sp_counted_base( sp_counted_base const & );\r
+    sp_counted_base & operator= ( sp_counted_base const & );\r
+\r
+    int use_count_;        // #shared\r
+    int weak_count_;       // #weak + (#shared != 0)\r
+\r
+public:\r
+\r
+    sp_counted_base(): use_count_( 1 ), weak_count_( 1 )\r
+    {\r
+    }\r
+\r
+    virtual ~sp_counted_base() // nothrow\r
+    {\r
+    }\r
+\r
+    // dispose() is called when use_count_ drops to zero, to release\r
+    // the resources managed by *this.\r
+\r
+    virtual void dispose() = 0; // nothrow\r
+\r
+    // destroy() is called when weak_count_ drops to zero.\r
+\r
+    virtual void destroy() // nothrow\r
+    {\r
+        delete this;\r
+    }\r
+\r
+    virtual void * get_deleter( sp_typeinfo const & ti ) = 0;\r
+\r
+    void add_ref_copy()\r
+    {\r
+        atomic_increment( &use_count_ );\r
+    }\r
+\r
+    bool add_ref_lock() // true on success\r
+    {\r
+        return atomic_conditional_increment( &use_count_ ) != 0;\r
+    }\r
+\r
+    void release() // nothrow\r
+    {\r
+        if( atomic_exchange_and_add( &use_count_, -1 ) == 1 )\r
+        {\r
+            dispose();\r
+            weak_release();\r
+        }\r
+    }\r
+\r
+    void weak_add_ref() // nothrow\r
+    {\r
+        atomic_increment( &weak_count_ );\r
+    }\r
+\r
+    void weak_release() // nothrow\r
+    {\r
+        if( atomic_exchange_and_add( &weak_count_, -1 ) == 1 )\r
+        {\r
+            destroy();\r
+        }\r
+    }\r
+\r
+    long use_count() const // nothrow\r
+    {\r
+        return static_cast<int const volatile &>( use_count_ );\r
+    }\r
+};\r
+\r
+} // namespace detail\r
+\r
+} // namespace boost\r
+\r
+#endif  // #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_CW_X86_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/sp_counted_base_gcc_ia64.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/sp_counted_base_gcc_ia64.hpp
new file mode 100644 (file)
index 0000000..c7f37d8
--- /dev/null
@@ -0,0 +1,157 @@
+#ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_GCC_IA64_HPP_INCLUDED\r
+#define BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_GCC_IA64_HPP_INCLUDED\r
+\r
+//\r
+//  detail/sp_counted_base_gcc_ia64.hpp - g++ on IA64\r
+//\r
+//  Copyright (c) 2001, 2002, 2003 Peter Dimov and Multi Media Ltd.\r
+//  Copyright 2004-2006 Peter Dimov\r
+//  Copyright 2005 Ben Hutchings\r
+//\r
+//  Distributed under the Boost Software License, Version 1.0. (See\r
+//  accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+//\r
+//  Lock-free algorithm by Alexander Terekhov\r
+//\r
+\r
+#include <boost/detail/sp_typeinfo.hpp>\r
+\r
+namespace boost\r
+{\r
+\r
+namespace detail\r
+{\r
+\r
+inline void atomic_increment( int * pw )\r
+{\r
+    // ++*pw;\r
+\r
+    int tmp;\r
+\r
+    // No barrier is required here but fetchadd always has an acquire or\r
+    // release barrier associated with it.  We choose release as it should be\r
+    // cheaper.\r
+    __asm__ ("fetchadd4.rel %0=%1,1" :\r
+         "=r"(tmp), "=m"(*pw) :\r
+         "m"( *pw ));\r
+}\r
+\r
+inline int atomic_decrement( int * pw )\r
+{\r
+    // return --*pw;\r
+\r
+    int rv;\r
+\r
+    __asm__ ("     fetchadd4.rel %0=%1,-1 ;; \n"\r
+             "     cmp.eq        p7,p0=1,%0 ;; \n"\r
+             "(p7) ld4.acq       %0=%1    " :\r
+             "=&r"(rv), "=m"(*pw) :\r
+             "m"( *pw ) :\r
+             "p7");\r
+\r
+    return rv;\r
+}\r
+\r
+inline int atomic_conditional_increment( int * pw )\r
+{\r
+    // if( *pw != 0 ) ++*pw;\r
+    // return *pw;\r
+\r
+    int rv, tmp, tmp2;\r
+\r
+    __asm__ ("0:   ld4          %0=%3           ;; \n"\r
+         "     cmp.eq       p7,p0=0,%0        ;; \n"\r
+         "(p7) br.cond.spnt 1f                \n"\r
+         "     mov          ar.ccv=%0         \n"\r
+         "     add          %1=1,%0           ;; \n"\r
+         "     cmpxchg4.acq %2=%3,%1,ar.ccv ;; \n"\r
+         "     cmp.ne       p7,p0=%0,%2       ;; \n"\r
+         "(p7) br.cond.spnt 0b                \n"\r
+         "     mov          %0=%1             ;; \n"\r
+         "1:" : \r
+         "=&r"(rv), "=&r"(tmp), "=&r"(tmp2), "=m"(*pw) :\r
+         "m"( *pw ) :\r
+         "ar.ccv", "p7");\r
+\r
+    return rv;\r
+}\r
+\r
+class sp_counted_base\r
+{\r
+private:\r
+\r
+    sp_counted_base( sp_counted_base const & );\r
+    sp_counted_base & operator= ( sp_counted_base const & );\r
+\r
+    int use_count_;        // #shared\r
+    int weak_count_;       // #weak + (#shared != 0)\r
+\r
+public:\r
+\r
+    sp_counted_base(): use_count_( 1 ), weak_count_( 1 )\r
+    {\r
+    }\r
+\r
+    virtual ~sp_counted_base() // nothrow\r
+    {\r
+    }\r
+\r
+    // dispose() is called when use_count_ drops to zero, to release\r
+    // the resources managed by *this.\r
+\r
+    virtual void dispose() = 0; // nothrow\r
+\r
+    // destroy() is called when weak_count_ drops to zero.\r
+\r
+    virtual void destroy() // nothrow\r
+    {\r
+        delete this;\r
+    }\r
+\r
+    virtual void * get_deleter( sp_typeinfo const & ti ) = 0;\r
+\r
+    void add_ref_copy()\r
+    {\r
+        atomic_increment( &use_count_ );\r
+    }\r
+\r
+    bool add_ref_lock() // true on success\r
+    {\r
+        return atomic_conditional_increment( &use_count_ ) != 0;\r
+    }\r
+\r
+    void release() // nothrow\r
+    {\r
+        if( atomic_decrement( &use_count_ ) == 0 )\r
+        {\r
+            dispose();\r
+            weak_release();\r
+        }\r
+    }\r
+\r
+    void weak_add_ref() // nothrow\r
+    {\r
+        atomic_increment( &weak_count_ );\r
+    }\r
+\r
+    void weak_release() // nothrow\r
+    {\r
+        if( atomic_decrement( &weak_count_ ) == 0 )\r
+        {\r
+            destroy();\r
+        }\r
+    }\r
+\r
+    long use_count() const // nothrow\r
+    {\r
+        return static_cast<int const volatile &>( use_count_ ); // TODO use ld.acq here\r
+    }\r
+};\r
+\r
+} // namespace detail\r
+\r
+} // namespace boost\r
+\r
+#endif  // #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_GCC_IA64_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp
new file mode 100644 (file)
index 0000000..addc009
--- /dev/null
@@ -0,0 +1,172 @@
+#ifndef BOOST_DETAIL_SP_COUNTED_BASE_GCC_MIPS_HPP_INCLUDED\r
+#define BOOST_DETAIL_SP_COUNTED_BASE_GCC_MIPS_HPP_INCLUDED\r
+\r
+// MS compatible compilers support #pragma once\r
+\r
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)\r
+# pragma once\r
+#endif\r
+\r
+//\r
+//  detail/sp_counted_base_gcc_mips.hpp - g++ on MIPS\r
+//\r
+//  Copyright (c) 2009, Spirent Communications, Inc.\r
+//\r
+//  Distributed under the Boost Software License, Version 1.0. (See\r
+//  accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+//\r
+//  Lock-free algorithm by Alexander Terekhov\r
+//\r
+\r
+#include <boost/detail/sp_typeinfo.hpp>\r
+\r
+namespace boost\r
+{\r
+\r
+namespace detail\r
+{\r
+\r
+inline void atomic_increment( int * pw )\r
+{\r
+    // ++*pw;\r
+\r
+    int tmp;\r
+\r
+    __asm__ __volatile__\r
+    (\r
+        "0:\n\t"\r
+        "ll %0, %1\n\t"\r
+        "addiu %0, 1\n\t"\r
+        "sc %0, %1\n\t"\r
+        "beqz %0, 0b":\r
+        "=&r"( tmp ), "=m"( *pw ):\r
+        "m"( *pw )\r
+    );\r
+}\r
+\r
+inline int atomic_decrement( int * pw )\r
+{\r
+    // return --*pw;\r
+\r
+    int rv, tmp;\r
+\r
+    __asm__ __volatile__\r
+    (\r
+        "0:\n\t"\r
+        "ll %1, %2\n\t"\r
+        "addiu %0, %1, -1\n\t"\r
+        "sc %0, %2\n\t"\r
+        "beqz %0, 0b\n\t"\r
+        "addiu %0, %1, -1":\r
+        "=&r"( rv ), "=&r"( tmp ), "=m"( *pw ):\r
+        "m"( *pw ):\r
+        "memory"\r
+    );\r
+\r
+    return rv;\r
+}\r
+\r
+inline int atomic_conditional_increment( int * pw )\r
+{\r
+    // if( *pw != 0 ) ++*pw;\r
+    // return *pw;\r
+\r
+    int rv, tmp;\r
+\r
+    __asm__ __volatile__\r
+    (\r
+        "0:\n\t"\r
+        "ll %0, %2\n\t"\r
+        "beqz %0, 1f\n\t"\r
+        "addiu %1, %0, 1\n\t"\r
+        "sc %1, %2\n\t"\r
+        "beqz %1, 0b\n\t"\r
+        "addiu %0, %0, 1\n\t"\r
+        "1:":\r
+        "=&r"( rv ), "=&r"( tmp ), "=m"( *pw ):\r
+        "m"( *pw ):\r
+        "memory"\r
+    );\r
+\r
+    return rv;\r
+}\r
+\r
+class sp_counted_base\r
+{\r
+private:\r
+\r
+    sp_counted_base( sp_counted_base const & );\r
+    sp_counted_base & operator= ( sp_counted_base const & );\r
+\r
+    int use_count_;        // #shared\r
+    int weak_count_;       // #weak + (#shared != 0)\r
+\r
+public:\r
+\r
+    sp_counted_base(): use_count_( 1 ), weak_count_( 1 )\r
+    {\r
+    }\r
+\r
+    virtual ~sp_counted_base() // nothrow\r
+    {\r
+    }\r
+\r
+    // dispose() is called when use_count_ drops to zero, to release\r
+    // the resources managed by *this.\r
+\r
+    virtual void dispose() = 0; // nothrow\r
+\r
+    // destroy() is called when weak_count_ drops to zero.\r
+\r
+    virtual void destroy() // nothrow\r
+    {\r
+        delete this;\r
+    }\r
+\r
+    virtual void * get_deleter( sp_typeinfo const & ti ) = 0;\r
+\r
+    void add_ref_copy()\r
+    {\r
+        atomic_increment( &use_count_ );\r
+    }\r
+\r
+    bool add_ref_lock() // true on success\r
+    {\r
+        return atomic_conditional_increment( &use_count_ ) != 0;\r
+    }\r
+\r
+    void release() // nothrow\r
+    {\r
+        if( atomic_decrement( &use_count_ ) == 0 )\r
+        {\r
+            dispose();\r
+            weak_release();\r
+        }\r
+    }\r
+\r
+    void weak_add_ref() // nothrow\r
+    {\r
+        atomic_increment( &weak_count_ );\r
+    }\r
+\r
+    void weak_release() // nothrow\r
+    {\r
+        if( atomic_decrement( &weak_count_ ) == 0 )\r
+        {\r
+            destroy();\r
+        }\r
+    }\r
+\r
+    long use_count() const // nothrow\r
+    {\r
+        return static_cast<int const volatile &>( use_count_ );\r
+    }\r
+};\r
+\r
+} // namespace detail\r
+\r
+} // namespace boost\r
+\r
+#endif  // #ifndef BOOST_DETAIL_SP_COUNTED_BASE_GCC_MIPS_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/sp_counted_base_gcc_ppc.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/sp_counted_base_gcc_ppc.hpp
new file mode 100644 (file)
index 0000000..1fa8bf6
--- /dev/null
@@ -0,0 +1,181 @@
+#ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_GCC_PPC_HPP_INCLUDED\r
+#define BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_GCC_PPC_HPP_INCLUDED\r
+\r
+// MS compatible compilers support #pragma once\r
+\r
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)\r
+# pragma once\r
+#endif\r
+\r
+//\r
+//  detail/sp_counted_base_gcc_ppc.hpp - g++ on PowerPC\r
+//\r
+//  Copyright (c) 2001, 2002, 2003 Peter Dimov and Multi Media Ltd.\r
+//  Copyright 2004-2005 Peter Dimov\r
+//\r
+//  Distributed under the Boost Software License, Version 1.0. (See\r
+//  accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+//\r
+//  Lock-free algorithm by Alexander Terekhov\r
+//\r
+//  Thanks to Ben Hitchings for the #weak + (#shared != 0)\r
+//  formulation\r
+//\r
+\r
+#include <boost/detail/sp_typeinfo.hpp>\r
+\r
+namespace boost\r
+{\r
+\r
+namespace detail\r
+{\r
+\r
+inline void atomic_increment( int * pw )\r
+{\r
+    // ++*pw;\r
+\r
+    int tmp;\r
+\r
+    __asm__\r
+    (\r
+        "0:\n\t"\r
+        "lwarx %1, 0, %2\n\t"\r
+        "addi %1, %1, 1\n\t"\r
+        "stwcx. %1, 0, %2\n\t"\r
+        "bne- 0b":\r
+\r
+        "=m"( *pw ), "=&b"( tmp ):\r
+        "r"( pw ), "m"( *pw ):\r
+        "cc"\r
+    );\r
+}\r
+\r
+inline int atomic_decrement( int * pw )\r
+{\r
+    // return --*pw;\r
+\r
+    int rv;\r
+\r
+    __asm__ __volatile__\r
+    (\r
+        "sync\n\t"\r
+        "0:\n\t"\r
+        "lwarx %1, 0, %2\n\t"\r
+        "addi %1, %1, -1\n\t"\r
+        "stwcx. %1, 0, %2\n\t"\r
+        "bne- 0b\n\t"\r
+        "isync":\r
+\r
+        "=m"( *pw ), "=&b"( rv ):\r
+        "r"( pw ), "m"( *pw ):\r
+        "memory", "cc"\r
+    );\r
+\r
+    return rv;\r
+}\r
+\r
+inline int atomic_conditional_increment( int * pw )\r
+{\r
+    // if( *pw != 0 ) ++*pw;\r
+    // return *pw;\r
+\r
+    int rv;\r
+\r
+    __asm__\r
+    (\r
+        "0:\n\t"\r
+        "lwarx %1, 0, %2\n\t"\r
+        "cmpwi %1, 0\n\t"\r
+        "beq 1f\n\t"\r
+        "addi %1, %1, 1\n\t"\r
+        "1:\n\t"\r
+        "stwcx. %1, 0, %2\n\t"\r
+        "bne- 0b":\r
+\r
+        "=m"( *pw ), "=&b"( rv ):\r
+        "r"( pw ), "m"( *pw ):\r
+        "cc"\r
+    );\r
+\r
+    return rv;\r
+}\r
+\r
+class sp_counted_base\r
+{\r
+private:\r
+\r
+    sp_counted_base( sp_counted_base const & );\r
+    sp_counted_base & operator= ( sp_counted_base const & );\r
+\r
+    int use_count_;        // #shared\r
+    int weak_count_;       // #weak + (#shared != 0)\r
+\r
+public:\r
+\r
+    sp_counted_base(): use_count_( 1 ), weak_count_( 1 )\r
+    {\r
+    }\r
+\r
+    virtual ~sp_counted_base() // nothrow\r
+    {\r
+    }\r
+\r
+    // dispose() is called when use_count_ drops to zero, to release\r
+    // the resources managed by *this.\r
+\r
+    virtual void dispose() = 0; // nothrow\r
+\r
+    // destroy() is called when weak_count_ drops to zero.\r
+\r
+    virtual void destroy() // nothrow\r
+    {\r
+        delete this;\r
+    }\r
+\r
+    virtual void * get_deleter( sp_typeinfo const & ti ) = 0;\r
+\r
+    void add_ref_copy()\r
+    {\r
+        atomic_increment( &use_count_ );\r
+    }\r
+\r
+    bool add_ref_lock() // true on success\r
+    {\r
+        return atomic_conditional_increment( &use_count_ ) != 0;\r
+    }\r
+\r
+    void release() // nothrow\r
+    {\r
+        if( atomic_decrement( &use_count_ ) == 0 )\r
+        {\r
+            dispose();\r
+            weak_release();\r
+        }\r
+    }\r
+\r
+    void weak_add_ref() // nothrow\r
+    {\r
+        atomic_increment( &weak_count_ );\r
+    }\r
+\r
+    void weak_release() // nothrow\r
+    {\r
+        if( atomic_decrement( &weak_count_ ) == 0 )\r
+        {\r
+            destroy();\r
+        }\r
+    }\r
+\r
+    long use_count() const // nothrow\r
+    {\r
+        return static_cast<int const volatile &>( use_count_ );\r
+    }\r
+};\r
+\r
+} // namespace detail\r
+\r
+} // namespace boost\r
+\r
+#endif  // #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_GCC_PPC_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/sp_counted_base_gcc_sparc.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/sp_counted_base_gcc_sparc.hpp
new file mode 100644 (file)
index 0000000..d9fbafa
--- /dev/null
@@ -0,0 +1,166 @@
+#ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_GCC_SPARC_HPP_INCLUDED\r
+#define BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_GCC_SPARC_HPP_INCLUDED\r
+\r
+// MS compatible compilers support #pragma once\r
+\r
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)\r
+# pragma once\r
+#endif\r
+\r
+//  detail/sp_counted_base_gcc_sparc.hpp - g++ on Sparc V8+\r
+//\r
+//  Copyright (c) 2006 Piotr Wyderski\r
+//  Copyright (c) 2006 Tomas Puverle\r
+//  Copyright (c) 2006 Peter Dimov\r
+//\r
+//  Distributed under the Boost Software License, Version 1.0.\r
+//  See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt\r
+//\r
+//  Thanks to Michael van der Westhuizen\r
+\r
+#include <boost/detail/sp_typeinfo.hpp>\r
+#include <inttypes.h> // int32_t\r
+\r
+namespace boost\r
+{\r
+\r
+namespace detail\r
+{\r
+\r
+inline int32_t compare_and_swap( int32_t * dest_, int32_t compare_, int32_t swap_ )\r
+{\r
+    __asm__ __volatile__( "cas [%1], %2, %0"\r
+                        : "+r" (swap_)\r
+                        : "r" (dest_), "r" (compare_)\r
+                        : "memory" );\r
+\r
+    return swap_;\r
+}\r
+\r
+inline int32_t atomic_fetch_and_add( int32_t * pw, int32_t dv )\r
+{\r
+    // long r = *pw;\r
+    // *pw += dv;\r
+    // return r;\r
+\r
+    for( ;; )\r
+    {\r
+        int32_t r = *pw;\r
+\r
+        if( __builtin_expect((compare_and_swap(pw, r, r + dv) == r), 1) )\r
+        {\r
+            return r;\r
+        }\r
+    }\r
+}\r
+\r
+inline void atomic_increment( int32_t * pw )\r
+{\r
+    atomic_fetch_and_add( pw, 1 );\r
+}\r
+\r
+inline int32_t atomic_decrement( int32_t * pw )\r
+{\r
+    return atomic_fetch_and_add( pw, -1 );\r
+}\r
+\r
+inline int32_t atomic_conditional_increment( int32_t * pw )\r
+{\r
+    // long r = *pw;\r
+    // if( r != 0 ) ++*pw;\r
+    // return r;\r
+\r
+    for( ;; )\r
+    {\r
+        int32_t r = *pw;\r
+\r
+        if( r == 0 )\r
+        {\r
+            return r;\r
+        }\r
+\r
+        if( __builtin_expect( ( compare_and_swap( pw, r, r + 1 ) == r ), 1 ) )\r
+        {\r
+            return r;\r
+        }\r
+    }    \r
+}\r
+\r
+class sp_counted_base\r
+{\r
+private:\r
+\r
+    sp_counted_base( sp_counted_base const & );\r
+    sp_counted_base & operator= ( sp_counted_base const & );\r
+\r
+    int32_t use_count_;        // #shared\r
+    int32_t weak_count_;       // #weak + (#shared != 0)\r
+\r
+public:\r
+\r
+    sp_counted_base(): use_count_( 1 ), weak_count_( 1 )\r
+    {\r
+    }\r
+\r
+    virtual ~sp_counted_base() // nothrow\r
+    {\r
+    }\r
+\r
+    // dispose() is called when use_count_ drops to zero, to release\r
+    // the resources managed by *this.\r
+\r
+    virtual void dispose() = 0; // nothrow\r
+\r
+    // destroy() is called when weak_count_ drops to zero.\r
+\r
+    virtual void destroy() // nothrow\r
+    {\r
+        delete this;\r
+    }\r
+\r
+    virtual void * get_deleter( sp_typeinfo const & ti ) = 0;\r
+\r
+    void add_ref_copy()\r
+    {\r
+        atomic_increment( &use_count_ );\r
+    }\r
+\r
+    bool add_ref_lock() // true on success\r
+    {\r
+        return atomic_conditional_increment( &use_count_ ) != 0;\r
+    }\r
+\r
+    void release() // nothrow\r
+    {\r
+        if( atomic_decrement( &use_count_ ) == 1 )\r
+        {\r
+            dispose();\r
+            weak_release();\r
+        }\r
+    }\r
+\r
+    void weak_add_ref() // nothrow\r
+    {\r
+        atomic_increment( &weak_count_ );\r
+    }\r
+\r
+    void weak_release() // nothrow\r
+    {\r
+        if( atomic_decrement( &weak_count_ ) == 1 )\r
+        {\r
+            destroy();\r
+        }\r
+    }\r
+\r
+    long use_count() const // nothrow\r
+    {\r
+        return const_cast< int32_t const volatile & >( use_count_ );\r
+    }\r
+};\r
+\r
+} // namespace detail\r
+\r
+} // namespace boost\r
+\r
+#endif  // #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_GCC_SPARC_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp
new file mode 100644 (file)
index 0000000..d357d31
--- /dev/null
@@ -0,0 +1,173 @@
+#ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_GCC_X86_HPP_INCLUDED\r
+#define BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_GCC_X86_HPP_INCLUDED\r
+\r
+// MS compatible compilers support #pragma once\r
+\r
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)\r
+# pragma once\r
+#endif\r
+\r
+//\r
+//  detail/sp_counted_base_gcc_x86.hpp - g++ on 486+ or AMD64\r
+//\r
+//  Copyright (c) 2001, 2002, 2003 Peter Dimov and Multi Media Ltd.\r
+//  Copyright 2004-2005 Peter Dimov\r
+//\r
+//  Distributed under the Boost Software License, Version 1.0. (See\r
+//  accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+//\r
+//  Lock-free algorithm by Alexander Terekhov\r
+//\r
+//  Thanks to Ben Hitchings for the #weak + (#shared != 0)\r
+//  formulation\r
+//\r
+\r
+#include <boost/detail/sp_typeinfo.hpp>\r
+\r
+namespace boost\r
+{\r
+\r
+namespace detail\r
+{\r
+\r
+inline int atomic_exchange_and_add( int * pw, int dv )\r
+{\r
+    // int r = *pw;\r
+    // *pw += dv;\r
+    // return r;\r
+\r
+    int r;\r
+\r
+    __asm__ __volatile__\r
+    (\r
+        "lock\n\t"\r
+        "xadd %1, %0":\r
+        "=m"( *pw ), "=r"( r ): // outputs (%0, %1)\r
+        "m"( *pw ), "1"( dv ): // inputs (%2, %3 == %1)\r
+        "memory", "cc" // clobbers\r
+    );\r
+\r
+    return r;\r
+}\r
+\r
+inline void atomic_increment( int * pw )\r
+{\r
+    //atomic_exchange_and_add( pw, 1 );\r
+\r
+    __asm__\r
+    (\r
+        "lock\n\t"\r
+        "incl %0":\r
+        "=m"( *pw ): // output (%0)\r
+        "m"( *pw ): // input (%1)\r
+        "cc" // clobbers\r
+    );\r
+}\r
+\r
+inline int atomic_conditional_increment( int * pw )\r
+{\r
+    // int rv = *pw;\r
+    // if( rv != 0 ) ++*pw;\r
+    // return rv;\r
+\r
+    int rv, tmp;\r
+\r
+    __asm__\r
+    (\r
+        "movl %0, %%eax\n\t"\r
+        "0:\n\t"\r
+        "test %%eax, %%eax\n\t"\r
+        "je 1f\n\t"\r
+        "movl %%eax, %2\n\t"\r
+        "incl %2\n\t"\r
+        "lock\n\t"\r
+        "cmpxchgl %2, %0\n\t"\r
+        "jne 0b\n\t"\r
+        "1:":\r
+        "=m"( *pw ), "=&a"( rv ), "=&r"( tmp ): // outputs (%0, %1, %2)\r
+        "m"( *pw ): // input (%3)\r
+        "cc" // clobbers\r
+    );\r
+\r
+    return rv;\r
+}\r
+\r
+class sp_counted_base\r
+{\r
+private:\r
+\r
+    sp_counted_base( sp_counted_base const & );\r
+    sp_counted_base & operator= ( sp_counted_base const & );\r
+\r
+    int use_count_;        // #shared\r
+    int weak_count_;       // #weak + (#shared != 0)\r
+\r
+public:\r
+\r
+    sp_counted_base(): use_count_( 1 ), weak_count_( 1 )\r
+    {\r
+    }\r
+\r
+    virtual ~sp_counted_base() // nothrow\r
+    {\r
+    }\r
+\r
+    // dispose() is called when use_count_ drops to zero, to release\r
+    // the resources managed by *this.\r
+\r
+    virtual void dispose() = 0; // nothrow\r
+\r
+    // destroy() is called when weak_count_ drops to zero.\r
+\r
+    virtual void destroy() // nothrow\r
+    {\r
+        delete this;\r
+    }\r
+\r
+    virtual void * get_deleter( sp_typeinfo const & ti ) = 0;\r
+\r
+    void add_ref_copy()\r
+    {\r
+        atomic_increment( &use_count_ );\r
+    }\r
+\r
+    bool add_ref_lock() // true on success\r
+    {\r
+        return atomic_conditional_increment( &use_count_ ) != 0;\r
+    }\r
+\r
+    void release() // nothrow\r
+    {\r
+        if( atomic_exchange_and_add( &use_count_, -1 ) == 1 )\r
+        {\r
+            dispose();\r
+            weak_release();\r
+        }\r
+    }\r
+\r
+    void weak_add_ref() // nothrow\r
+    {\r
+        atomic_increment( &weak_count_ );\r
+    }\r
+\r
+    void weak_release() // nothrow\r
+    {\r
+        if( atomic_exchange_and_add( &weak_count_, -1 ) == 1 )\r
+        {\r
+            destroy();\r
+        }\r
+    }\r
+\r
+    long use_count() const // nothrow\r
+    {\r
+        return static_cast<int const volatile &>( use_count_ );\r
+    }\r
+};\r
+\r
+} // namespace detail\r
+\r
+} // namespace boost\r
+\r
+#endif  // #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_GCC_X86_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/sp_counted_base_nt.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/sp_counted_base_nt.hpp
new file mode 100644 (file)
index 0000000..612e1d8
--- /dev/null
@@ -0,0 +1,107 @@
+#ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_NT_HPP_INCLUDED\r
+#define BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_NT_HPP_INCLUDED\r
+\r
+// MS compatible compilers support #pragma once\r
+\r
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)\r
+# pragma once\r
+#endif\r
+\r
+//\r
+//  detail/sp_counted_base_nt.hpp\r
+//\r
+//  Copyright (c) 2001, 2002, 2003 Peter Dimov and Multi Media Ltd.\r
+//  Copyright 2004-2005 Peter Dimov\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. (See\r
+// accompanying file LICENSE_1_0.txt or copy at\r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+#include <boost/detail/sp_typeinfo.hpp>\r
+\r
+namespace boost\r
+{\r
+\r
+namespace detail\r
+{\r
+\r
+class sp_counted_base\r
+{\r
+private:\r
+\r
+    sp_counted_base( sp_counted_base const & );\r
+    sp_counted_base & operator= ( sp_counted_base const & );\r
+\r
+    long use_count_;        // #shared\r
+    long weak_count_;       // #weak + (#shared != 0)\r
+\r
+public:\r
+\r
+    sp_counted_base(): use_count_( 1 ), weak_count_( 1 )\r
+    {\r
+    }\r
+\r
+    virtual ~sp_counted_base() // nothrow\r
+    {\r
+    }\r
+\r
+    // dispose() is called when use_count_ drops to zero, to release\r
+    // the resources managed by *this.\r
+\r
+    virtual void dispose() = 0; // nothrow\r
+\r
+    // destroy() is called when weak_count_ drops to zero.\r
+\r
+    virtual void destroy() // nothrow\r
+    {\r
+        delete this;\r
+    }\r
+\r
+    virtual void * get_deleter( sp_typeinfo const & ti ) = 0;\r
+\r
+    void add_ref_copy()\r
+    {\r
+        ++use_count_;\r
+    }\r
+\r
+    bool add_ref_lock() // true on success\r
+    {\r
+        if( use_count_ == 0 ) return false;\r
+        ++use_count_;\r
+        return true;\r
+    }\r
+\r
+    void release() // nothrow\r
+    {\r
+        if( --use_count_ == 0 )\r
+        {\r
+            dispose();\r
+            weak_release();\r
+        }\r
+    }\r
+\r
+    void weak_add_ref() // nothrow\r
+    {\r
+        ++weak_count_;\r
+    }\r
+\r
+    void weak_release() // nothrow\r
+    {\r
+        if( --weak_count_ == 0 )\r
+        {\r
+            destroy();\r
+        }\r
+    }\r
+\r
+    long use_count() const // nothrow\r
+    {\r
+        return use_count_;\r
+    }\r
+};\r
+\r
+} // namespace detail\r
+\r
+} // namespace boost\r
+\r
+#endif  // #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_NT_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/sp_counted_base_pt.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/sp_counted_base_pt.hpp
new file mode 100644 (file)
index 0000000..3469764
--- /dev/null
@@ -0,0 +1,135 @@
+#ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_PT_HPP_INCLUDED\r
+#define BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_PT_HPP_INCLUDED\r
+\r
+// MS compatible compilers support #pragma once\r
+\r
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)\r
+# pragma once\r
+#endif\r
+\r
+//\r
+//  detail/sp_counted_base_pt.hpp\r
+//\r
+//  Copyright (c) 2001, 2002, 2003 Peter Dimov and Multi Media Ltd.\r
+//  Copyright 2004-2005 Peter Dimov\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. (See\r
+// accompanying file LICENSE_1_0.txt or copy at\r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+#include <boost/detail/sp_typeinfo.hpp>\r
+#include <pthread.h>\r
+\r
+namespace boost\r
+{\r
+\r
+namespace detail\r
+{\r
+\r
+class sp_counted_base\r
+{\r
+private:\r
+\r
+    sp_counted_base( sp_counted_base const & );\r
+    sp_counted_base & operator= ( sp_counted_base const & );\r
+\r
+    long use_count_;        // #shared\r
+    long weak_count_;       // #weak + (#shared != 0)\r
+\r
+    mutable pthread_mutex_t m_;\r
+\r
+public:\r
+\r
+    sp_counted_base(): use_count_( 1 ), weak_count_( 1 )\r
+    {\r
+// HPUX 10.20 / DCE has a nonstandard pthread_mutex_init\r
+\r
+#if defined(__hpux) && defined(_DECTHREADS_)\r
+        pthread_mutex_init( &m_, pthread_mutexattr_default );\r
+#else\r
+        pthread_mutex_init( &m_, 0 );\r
+#endif\r
+    }\r
+\r
+    virtual ~sp_counted_base() // nothrow\r
+    {\r
+        pthread_mutex_destroy( &m_ );\r
+    }\r
+\r
+    // dispose() is called when use_count_ drops to zero, to release\r
+    // the resources managed by *this.\r
+\r
+    virtual void dispose() = 0; // nothrow\r
+\r
+    // destroy() is called when weak_count_ drops to zero.\r
+\r
+    virtual void destroy() // nothrow\r
+    {\r
+        delete this;\r
+    }\r
+\r
+    virtual void * get_deleter( sp_typeinfo const & ti ) = 0;\r
+\r
+    void add_ref_copy()\r
+    {\r
+        pthread_mutex_lock( &m_ );\r
+        ++use_count_;\r
+        pthread_mutex_unlock( &m_ );\r
+    }\r
+\r
+    bool add_ref_lock() // true on success\r
+    {\r
+        pthread_mutex_lock( &m_ );\r
+        bool r = use_count_ == 0? false: ( ++use_count_, true );\r
+        pthread_mutex_unlock( &m_ );\r
+        return r;\r
+    }\r
+\r
+    void release() // nothrow\r
+    {\r
+        pthread_mutex_lock( &m_ );\r
+        long new_use_count = --use_count_;\r
+        pthread_mutex_unlock( &m_ );\r
+\r
+        if( new_use_count == 0 )\r
+        {\r
+            dispose();\r
+            weak_release();\r
+        }\r
+    }\r
+\r
+    void weak_add_ref() // nothrow\r
+    {\r
+        pthread_mutex_lock( &m_ );\r
+        ++weak_count_;\r
+        pthread_mutex_unlock( &m_ );\r
+    }\r
+\r
+    void weak_release() // nothrow\r
+    {\r
+        pthread_mutex_lock( &m_ );\r
+        long new_weak_count = --weak_count_;\r
+        pthread_mutex_unlock( &m_ );\r
+\r
+        if( new_weak_count == 0 )\r
+        {\r
+            destroy();\r
+        }\r
+    }\r
+\r
+    long use_count() const // nothrow\r
+    {\r
+        pthread_mutex_lock( &m_ );\r
+        long r = use_count_;\r
+        pthread_mutex_unlock( &m_ );\r
+\r
+        return r;\r
+    }\r
+};\r
+\r
+} // namespace detail\r
+\r
+} // namespace boost\r
+\r
+#endif  // #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_PT_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/sp_counted_base_solaris.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/sp_counted_base_solaris.hpp
new file mode 100644 (file)
index 0000000..f76514f
--- /dev/null
@@ -0,0 +1,113 @@
+#ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_SOLARIS_HPP_INCLUDED\r
+#define BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_SOLARIS_HPP_INCLUDED\r
+\r
+//\r
+//  detail/sp_counted_base_solaris.hpp\r
+//   based on: detail/sp_counted_base_w32.hpp\r
+//\r
+//  Copyright (c) 2001, 2002, 2003 Peter Dimov and Multi Media Ltd.\r
+//  Copyright 2004-2005 Peter Dimov\r
+//  Copyright 2006 Michael van der Westhuizen\r
+//\r
+//  Distributed under the Boost Software License, Version 1.0. (See\r
+//  accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+//\r
+//  Lock-free algorithm by Alexander Terekhov\r
+//\r
+//  Thanks to Ben Hitchings for the #weak + (#shared != 0)\r
+//  formulation\r
+//\r
+\r
+#include <boost/detail/sp_typeinfo.hpp>\r
+#include <atomic.h>\r
+\r
+namespace boost\r
+{\r
+\r
+namespace detail\r
+{\r
+\r
+class sp_counted_base\r
+{\r
+private:\r
+\r
+    sp_counted_base( sp_counted_base const & );\r
+    sp_counted_base & operator= ( sp_counted_base const & );\r
+\r
+    uint32_t use_count_;        // #shared\r
+    uint32_t weak_count_;       // #weak + (#shared != 0)\r
+\r
+public:\r
+\r
+    sp_counted_base(): use_count_( 1 ), weak_count_( 1 )\r
+    {\r
+    }\r
+\r
+    virtual ~sp_counted_base() // nothrow\r
+    {\r
+    }\r
+\r
+    // dispose() is called when use_count_ drops to zero, to release\r
+    // the resources managed by *this.\r
+\r
+    virtual void dispose() = 0; // nothrow\r
+\r
+    // destroy() is called when weak_count_ drops to zero.\r
+\r
+    virtual void destroy() // nothrow\r
+    {\r
+        delete this;\r
+    }\r
+\r
+    virtual void * get_deleter( sp_typeinfo const & ti ) = 0;\r
+\r
+    void add_ref_copy()\r
+    {\r
+        atomic_inc_32( &use_count_ );\r
+    }\r
+\r
+    bool add_ref_lock() // true on success\r
+    {\r
+        for( ;; )\r
+        {\r
+            uint32_t tmp = static_cast< uint32_t const volatile& >( use_count_ );\r
+            if( tmp == 0 ) return false;\r
+            if( atomic_cas_32( &use_count_, tmp, tmp + 1 ) == tmp ) return true;\r
+        }\r
+    }\r
+\r
+    void release() // nothrow\r
+    {\r
+        if( atomic_dec_32_nv( &use_count_ ) == 0 )\r
+        {\r
+            dispose();\r
+            weak_release();\r
+        }\r
+    }\r
+\r
+    void weak_add_ref() // nothrow\r
+    {\r
+        atomic_inc_32( &weak_count_ );\r
+    }\r
+\r
+    void weak_release() // nothrow\r
+    {\r
+        if( atomic_dec_32_nv( &weak_count_ ) == 0 )\r
+        {\r
+            destroy();\r
+        }\r
+    }\r
+\r
+    long use_count() const // nothrow\r
+    {\r
+        return static_cast<long const volatile &>( use_count_ );\r
+    }\r
+};\r
+\r
+} // namespace detail\r
+\r
+} // namespace boost\r
+\r
+#endif  // #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_SOLARIS_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/sp_counted_base_spin.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/sp_counted_base_spin.hpp
new file mode 100644 (file)
index 0000000..09feb63
--- /dev/null
@@ -0,0 +1,131 @@
+#ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_SPIN_HPP_INCLUDED\r
+#define BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_SPIN_HPP_INCLUDED\r
+\r
+// MS compatible compilers support #pragma once\r
+\r
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)\r
+# pragma once\r
+#endif\r
+\r
+//\r
+//  detail/sp_counted_base_spin.hpp - spinlock pool atomic emulation\r
+//\r
+//  Copyright (c) 2001, 2002, 2003 Peter Dimov and Multi Media Ltd.\r
+//  Copyright 2004-2008 Peter Dimov\r
+//\r
+//  Distributed under the Boost Software License, Version 1.0. (See\r
+//  accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+#include <boost/detail/sp_typeinfo.hpp>\r
+#include <boost/smart_ptr/detail/spinlock_pool.hpp>\r
+\r
+namespace boost\r
+{\r
+\r
+namespace detail\r
+{\r
+\r
+inline int atomic_exchange_and_add( int * pw, int dv )\r
+{\r
+    spinlock_pool<1>::scoped_lock lock( pw );\r
+\r
+    int r = *pw;\r
+    *pw += dv;\r
+    return r;\r
+}\r
+\r
+inline void atomic_increment( int * pw )\r
+{\r
+    spinlock_pool<1>::scoped_lock lock( pw );\r
+    ++*pw;\r
+}\r
+\r
+inline int atomic_conditional_increment( int * pw )\r
+{\r
+    spinlock_pool<1>::scoped_lock lock( pw );\r
+\r
+    int rv = *pw;\r
+    if( rv != 0 ) ++*pw;\r
+    return rv;\r
+}\r
+\r
+class sp_counted_base\r
+{\r
+private:\r
+\r
+    sp_counted_base( sp_counted_base const & );\r
+    sp_counted_base & operator= ( sp_counted_base const & );\r
+\r
+    int use_count_;        // #shared\r
+    int weak_count_;       // #weak + (#shared != 0)\r
+\r
+public:\r
+\r
+    sp_counted_base(): use_count_( 1 ), weak_count_( 1 )\r
+    {\r
+    }\r
+\r
+    virtual ~sp_counted_base() // nothrow\r
+    {\r
+    }\r
+\r
+    // dispose() is called when use_count_ drops to zero, to release\r
+    // the resources managed by *this.\r
+\r
+    virtual void dispose() = 0; // nothrow\r
+\r
+    // destroy() is called when weak_count_ drops to zero.\r
+\r
+    virtual void destroy() // nothrow\r
+    {\r
+        delete this;\r
+    }\r
+\r
+    virtual void * get_deleter( sp_typeinfo const & ti ) = 0;\r
+\r
+    void add_ref_copy()\r
+    {\r
+        atomic_increment( &use_count_ );\r
+    }\r
+\r
+    bool add_ref_lock() // true on success\r
+    {\r
+        return atomic_conditional_increment( &use_count_ ) != 0;\r
+    }\r
+\r
+    void release() // nothrow\r
+    {\r
+        if( atomic_exchange_and_add( &use_count_, -1 ) == 1 )\r
+        {\r
+            dispose();\r
+            weak_release();\r
+        }\r
+    }\r
+\r
+    void weak_add_ref() // nothrow\r
+    {\r
+        atomic_increment( &weak_count_ );\r
+    }\r
+\r
+    void weak_release() // nothrow\r
+    {\r
+        if( atomic_exchange_and_add( &weak_count_, -1 ) == 1 )\r
+        {\r
+            destroy();\r
+        }\r
+    }\r
+\r
+    long use_count() const // nothrow\r
+    {\r
+        spinlock_pool<1>::scoped_lock lock( &use_count_ );\r
+        return use_count_;\r
+    }\r
+};\r
+\r
+} // namespace detail\r
+\r
+} // namespace boost\r
+\r
+#endif  // #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_SPIN_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/sp_counted_base_sync.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/sp_counted_base_sync.hpp
new file mode 100644 (file)
index 0000000..5a074c0
--- /dev/null
@@ -0,0 +1,155 @@
+#ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_SYNC_HPP_INCLUDED\r
+#define BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_SYNC_HPP_INCLUDED\r
+\r
+// MS compatible compilers support #pragma once\r
+\r
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)\r
+# pragma once\r
+#endif\r
+\r
+//  detail/sp_counted_base_sync.hpp - g++ 4.1+ __sync intrinsics\r
+//\r
+//  Copyright (c) 2007 Peter Dimov\r
+//\r
+//  Distributed under the Boost Software License, Version 1.0.\r
+//  See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt\r
+\r
+#include <boost/detail/sp_typeinfo.hpp>\r
+#include <limits.h>\r
+\r
+#if defined( __ia64__ ) && defined( __INTEL_COMPILER )\r
+# include <ia64intrin.h>\r
+#endif\r
+\r
+namespace boost\r
+{\r
+\r
+namespace detail\r
+{\r
+\r
+#if INT_MAX >= 2147483647\r
+\r
+typedef int sp_int32_t;\r
+\r
+#else\r
+\r
+typedef long sp_int32_t;\r
+\r
+#endif\r
+\r
+inline void atomic_increment( sp_int32_t * pw )\r
+{\r
+    __sync_fetch_and_add( pw, 1 );\r
+}\r
+\r
+inline sp_int32_t atomic_decrement( sp_int32_t * pw )\r
+{\r
+    return __sync_fetch_and_add( pw, -1 );\r
+}\r
+\r
+inline sp_int32_t atomic_conditional_increment( sp_int32_t * pw )\r
+{\r
+    // long r = *pw;\r
+    // if( r != 0 ) ++*pw;\r
+    // return r;\r
+\r
+    sp_int32_t r = *pw;\r
+\r
+    for( ;; )\r
+    {\r
+        if( r == 0 )\r
+        {\r
+            return r;\r
+        }\r
+\r
+        sp_int32_t r2 = __sync_val_compare_and_swap( pw, r, r + 1 );\r
+\r
+        if( r2 == r )\r
+        {\r
+            return r;\r
+        }\r
+        else\r
+        {\r
+            r = r2;\r
+        }\r
+    }    \r
+}\r
+\r
+class sp_counted_base\r
+{\r
+private:\r
+\r
+    sp_counted_base( sp_counted_base const & );\r
+    sp_counted_base & operator= ( sp_counted_base const & );\r
+\r
+    sp_int32_t use_count_;        // #shared\r
+    sp_int32_t weak_count_;       // #weak + (#shared != 0)\r
+\r
+public:\r
+\r
+    sp_counted_base(): use_count_( 1 ), weak_count_( 1 )\r
+    {\r
+    }\r
+\r
+    virtual ~sp_counted_base() // nothrow\r
+    {\r
+    }\r
+\r
+    // dispose() is called when use_count_ drops to zero, to release\r
+    // the resources managed by *this.\r
+\r
+    virtual void dispose() = 0; // nothrow\r
+\r
+    // destroy() is called when weak_count_ drops to zero.\r
+\r
+    virtual void destroy() // nothrow\r
+    {\r
+        delete this;\r
+    }\r
+\r
+    virtual void * get_deleter( sp_typeinfo const & ti ) = 0;\r
+\r
+    void add_ref_copy()\r
+    {\r
+        atomic_increment( &use_count_ );\r
+    }\r
+\r
+    bool add_ref_lock() // true on success\r
+    {\r
+        return atomic_conditional_increment( &use_count_ ) != 0;\r
+    }\r
+\r
+    void release() // nothrow\r
+    {\r
+        if( atomic_decrement( &use_count_ ) == 1 )\r
+        {\r
+            dispose();\r
+            weak_release();\r
+        }\r
+    }\r
+\r
+    void weak_add_ref() // nothrow\r
+    {\r
+        atomic_increment( &weak_count_ );\r
+    }\r
+\r
+    void weak_release() // nothrow\r
+    {\r
+        if( atomic_decrement( &weak_count_ ) == 1 )\r
+        {\r
+            destroy();\r
+        }\r
+    }\r
+\r
+    long use_count() const // nothrow\r
+    {\r
+        return const_cast< sp_int32_t const volatile & >( use_count_ );\r
+    }\r
+};\r
+\r
+} // namespace detail\r
+\r
+} // namespace boost\r
+\r
+#endif  // #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_SYNC_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/sp_counted_base_w32.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/sp_counted_base_w32.hpp
new file mode 100644 (file)
index 0000000..84ac67b
--- /dev/null
@@ -0,0 +1,130 @@
+#ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_W32_HPP_INCLUDED\r
+#define BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_W32_HPP_INCLUDED\r
+\r
+// MS compatible compilers support #pragma once\r
+\r
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)\r
+# pragma once\r
+#endif\r
+\r
+//\r
+//  detail/sp_counted_base_w32.hpp\r
+//\r
+//  Copyright (c) 2001, 2002, 2003 Peter Dimov and Multi Media Ltd.\r
+//  Copyright 2004-2005 Peter Dimov\r
+//\r
+//  Distributed under the Boost Software License, Version 1.0. (See\r
+//  accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+//\r
+//  Lock-free algorithm by Alexander Terekhov\r
+//\r
+//  Thanks to Ben Hitchings for the #weak + (#shared != 0)\r
+//  formulation\r
+//\r
+\r
+#include <boost/detail/interlocked.hpp>\r
+#include <boost/detail/workaround.hpp>\r
+#include <boost/detail/sp_typeinfo.hpp>\r
+\r
+namespace boost\r
+{\r
+\r
+namespace detail\r
+{\r
+\r
+class sp_counted_base\r
+{\r
+private:\r
+\r
+    sp_counted_base( sp_counted_base const & );\r
+    sp_counted_base & operator= ( sp_counted_base const & );\r
+\r
+    long use_count_;        // #shared\r
+    long weak_count_;       // #weak + (#shared != 0)\r
+\r
+public:\r
+\r
+    sp_counted_base(): use_count_( 1 ), weak_count_( 1 )\r
+    {\r
+    }\r
+\r
+    virtual ~sp_counted_base() // nothrow\r
+    {\r
+    }\r
+\r
+    // dispose() is called when use_count_ drops to zero, to release\r
+    // the resources managed by *this.\r
+\r
+    virtual void dispose() = 0; // nothrow\r
+\r
+    // destroy() is called when weak_count_ drops to zero.\r
+\r
+    virtual void destroy() // nothrow\r
+    {\r
+        delete this;\r
+    }\r
+\r
+    virtual void * get_deleter( sp_typeinfo const & ti ) = 0;\r
+\r
+    void add_ref_copy()\r
+    {\r
+        BOOST_INTERLOCKED_INCREMENT( &use_count_ );\r
+    }\r
+\r
+    bool add_ref_lock() // true on success\r
+    {\r
+        for( ;; )\r
+        {\r
+            long tmp = static_cast< long const volatile& >( use_count_ );\r
+            if( tmp == 0 ) return false;\r
+\r
+#if defined( BOOST_MSVC ) && BOOST_WORKAROUND( BOOST_MSVC, == 1200 )\r
+\r
+            // work around a code generation bug\r
+\r
+            long tmp2 = tmp + 1;\r
+            if( BOOST_INTERLOCKED_COMPARE_EXCHANGE( &use_count_, tmp2, tmp ) == tmp2 - 1 ) return true;\r
+\r
+#else\r
+\r
+            if( BOOST_INTERLOCKED_COMPARE_EXCHANGE( &use_count_, tmp + 1, tmp ) == tmp ) return true;\r
+\r
+#endif\r
+        }\r
+    }\r
+\r
+    void release() // nothrow\r
+    {\r
+        if( BOOST_INTERLOCKED_DECREMENT( &use_count_ ) == 0 )\r
+        {\r
+            dispose();\r
+            weak_release();\r
+        }\r
+    }\r
+\r
+    void weak_add_ref() // nothrow\r
+    {\r
+        BOOST_INTERLOCKED_INCREMENT( &weak_count_ );\r
+    }\r
+\r
+    void weak_release() // nothrow\r
+    {\r
+        if( BOOST_INTERLOCKED_DECREMENT( &weak_count_ ) == 0 )\r
+        {\r
+            destroy();\r
+        }\r
+    }\r
+\r
+    long use_count() const // nothrow\r
+    {\r
+        return static_cast<long const volatile &>( use_count_ );\r
+    }\r
+};\r
+\r
+} // namespace detail\r
+\r
+} // namespace boost\r
+\r
+#endif  // #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_W32_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/sp_counted_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/sp_counted_impl.hpp
new file mode 100644 (file)
index 0000000..c513b82
--- /dev/null
@@ -0,0 +1,231 @@
+#ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_IMPL_HPP_INCLUDED\r
+#define BOOST_SMART_PTR_DETAIL_SP_COUNTED_IMPL_HPP_INCLUDED\r
+\r
+// MS compatible compilers support #pragma once\r
+\r
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)\r
+# pragma once\r
+#endif\r
+\r
+//\r
+//  detail/sp_counted_impl.hpp\r
+//\r
+//  Copyright (c) 2001, 2002, 2003 Peter Dimov and Multi Media Ltd.\r
+//  Copyright 2004-2005 Peter Dimov\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. (See\r
+// accompanying file LICENSE_1_0.txt or copy at\r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+#include <boost/config.hpp>\r
+\r
+#if defined(BOOST_SP_USE_STD_ALLOCATOR) && defined(BOOST_SP_USE_QUICK_ALLOCATOR)\r
+# error BOOST_SP_USE_STD_ALLOCATOR and BOOST_SP_USE_QUICK_ALLOCATOR are incompatible.\r
+#endif\r
+\r
+#include <boost/checked_delete.hpp>\r
+#include <boost/smart_ptr/detail/sp_counted_base.hpp>\r
+\r
+#if defined(BOOST_SP_USE_QUICK_ALLOCATOR)\r
+#include <boost/smart_ptr/detail/quick_allocator.hpp>\r
+#endif\r
+\r
+#if defined(BOOST_SP_USE_STD_ALLOCATOR)\r
+#include <memory>           // std::allocator\r
+#endif\r
+\r
+#include <cstddef>          // std::size_t\r
+\r
+namespace boost\r
+{\r
+\r
+#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)\r
+\r
+void sp_scalar_constructor_hook( void * px, std::size_t size, void * pn );\r
+void sp_scalar_destructor_hook( void * px, std::size_t size, void * pn );\r
+\r
+#endif\r
+\r
+namespace detail\r
+{\r
+\r
+template<class X> class sp_counted_impl_p: public sp_counted_base\r
+{\r
+private:\r
+\r
+    X * px_;\r
+\r
+    sp_counted_impl_p( sp_counted_impl_p const & );\r
+    sp_counted_impl_p & operator= ( sp_counted_impl_p const & );\r
+\r
+    typedef sp_counted_impl_p<X> this_type;\r
+\r
+public:\r
+\r
+    explicit sp_counted_impl_p( X * px ): px_( px )\r
+    {\r
+#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)\r
+        boost::sp_scalar_constructor_hook( px, sizeof(X), this );\r
+#endif\r
+    }\r
+\r
+    virtual void dispose() // nothrow\r
+    {\r
+#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)\r
+        boost::sp_scalar_destructor_hook( px_, sizeof(X), this );\r
+#endif\r
+        boost::checked_delete( px_ );\r
+    }\r
+\r
+    virtual void * get_deleter( detail::sp_typeinfo const & )\r
+    {\r
+        return 0;\r
+    }\r
+\r
+#if defined(BOOST_SP_USE_STD_ALLOCATOR)\r
+\r
+    void * operator new( std::size_t )\r
+    {\r
+        return std::allocator<this_type>().allocate( 1, static_cast<this_type *>(0) );\r
+    }\r
+\r
+    void operator delete( void * p )\r
+    {\r
+        std::allocator<this_type>().deallocate( static_cast<this_type *>(p), 1 );\r
+    }\r
+\r
+#endif\r
+\r
+#if defined(BOOST_SP_USE_QUICK_ALLOCATOR)\r
+\r
+    void * operator new( std::size_t )\r
+    {\r
+        return quick_allocator<this_type>::alloc();\r
+    }\r
+\r
+    void operator delete( void * p )\r
+    {\r
+        quick_allocator<this_type>::dealloc( p );\r
+    }\r
+\r
+#endif\r
+};\r
+\r
+//\r
+// Borland's Codeguard trips up over the -Vx- option here:\r
+//\r
+#ifdef __CODEGUARD__\r
+# pragma option push -Vx-\r
+#endif\r
+\r
+template<class P, class D> class sp_counted_impl_pd: public sp_counted_base\r
+{\r
+private:\r
+\r
+    P ptr; // copy constructor must not throw\r
+    D del; // copy constructor must not throw\r
+\r
+    sp_counted_impl_pd( sp_counted_impl_pd const & );\r
+    sp_counted_impl_pd & operator= ( sp_counted_impl_pd const & );\r
+\r
+    typedef sp_counted_impl_pd<P, D> this_type;\r
+\r
+public:\r
+\r
+    // pre: d(p) must not throw\r
+\r
+    sp_counted_impl_pd( P p, D d ): ptr(p), del(d)\r
+    {\r
+    }\r
+\r
+    virtual void dispose() // nothrow\r
+    {\r
+        del( ptr );\r
+    }\r
+\r
+    virtual void * get_deleter( detail::sp_typeinfo const & ti )\r
+    {\r
+        return ti == BOOST_SP_TYPEID(D)? &reinterpret_cast<char&>( del ): 0;\r
+    }\r
+\r
+#if defined(BOOST_SP_USE_STD_ALLOCATOR)\r
+\r
+    void * operator new( std::size_t )\r
+    {\r
+        return std::allocator<this_type>().allocate( 1, static_cast<this_type *>(0) );\r
+    }\r
+\r
+    void operator delete( void * p )\r
+    {\r
+        std::allocator<this_type>().deallocate( static_cast<this_type *>(p), 1 );\r
+    }\r
+\r
+#endif\r
+\r
+#if defined(BOOST_SP_USE_QUICK_ALLOCATOR)\r
+\r
+    void * operator new( std::size_t )\r
+    {\r
+        return quick_allocator<this_type>::alloc();\r
+    }\r
+\r
+    void operator delete( void * p )\r
+    {\r
+        quick_allocator<this_type>::dealloc( p );\r
+    }\r
+\r
+#endif\r
+};\r
+\r
+template<class P, class D, class A> class sp_counted_impl_pda: public sp_counted_base\r
+{\r
+private:\r
+\r
+    P p_; // copy constructor must not throw\r
+    D d_; // copy constructor must not throw\r
+    A a_; // copy constructor must not throw\r
+\r
+    sp_counted_impl_pda( sp_counted_impl_pda const & );\r
+    sp_counted_impl_pda & operator= ( sp_counted_impl_pda const & );\r
+\r
+    typedef sp_counted_impl_pda<P, D, A> this_type;\r
+\r
+public:\r
+\r
+    // pre: d( p ) must not throw\r
+\r
+    sp_counted_impl_pda( P p, D d, A a ): p_( p ), d_( d ), a_( a )\r
+    {\r
+    }\r
+\r
+    virtual void dispose() // nothrow\r
+    {\r
+        d_( p_ );\r
+    }\r
+\r
+    virtual void destroy() // nothrow\r
+    {\r
+        typedef typename A::template rebind< this_type >::other A2;\r
+\r
+        A2 a2( a_ );\r
+\r
+        this->~this_type();\r
+        a2.deallocate( this, 1 );\r
+    }\r
+\r
+    virtual void * get_deleter( detail::sp_typeinfo const & ti )\r
+    {\r
+        return ti == BOOST_SP_TYPEID( D )? &reinterpret_cast<char&>( d_ ): 0;\r
+    }\r
+};\r
+\r
+#ifdef __CODEGUARD__\r
+# pragma option pop\r
+#endif\r
+\r
+} // namespace detail\r
+\r
+} // namespace boost\r
+\r
+#endif  // #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_IMPL_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/sp_has_sync.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/sp_has_sync.hpp
new file mode 100644 (file)
index 0000000..e423fa0
--- /dev/null
@@ -0,0 +1,49 @@
+#ifndef BOOST_SMART_PTR_DETAIL_SP_HAS_SYNC_HPP_INCLUDED\r
+#define BOOST_SMART_PTR_DETAIL_SP_HAS_SYNC_HPP_INCLUDED\r
+\r
+// MS compatible compilers support #pragma once\r
+\r
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)\r
+# pragma once\r
+#endif\r
+\r
+//\r
+//  boost/smart_ptr/detail/sp_has_sync.hpp\r
+//\r
+//  Copyright (c) 2008, 2009 Peter Dimov\r
+//\r
+//  Distributed under the Boost Software License, Version 1.0.\r
+//  See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+//  Defines the BOOST_SP_HAS_SYNC macro if the __sync_* intrinsics\r
+//  are available.\r
+//\r
+\r
+#if defined(__GNUC__) && ( __GNUC__ * 100 + __GNUC_MINOR__ >= 401 )\r
+\r
+#define BOOST_SP_HAS_SYNC\r
+\r
+#if defined( __arm__ )  || defined( __armel__ )\r
+#undef BOOST_SP_HAS_SYNC\r
+#endif\r
+\r
+#if defined( __hppa ) || defined( __hppa__ )\r
+#undef BOOST_SP_HAS_SYNC\r
+#endif\r
+\r
+#if defined( __m68k__ )\r
+#undef BOOST_SP_HAS_SYNC\r
+#endif\r
+\r
+#if defined( __sparc__ )\r
+#undef BOOST_SP_HAS_SYNC\r
+#endif\r
+\r
+#if defined( __INTEL_COMPILER ) && !defined( __ia64__ ) && ( __INTEL_COMPILER < 1100 )\r
+#undef BOOST_SP_HAS_SYNC\r
+#endif\r
+\r
+#endif // __GNUC__ * 100 + __GNUC_MINOR__ >= 401\r
+\r
+#endif // #ifndef BOOST_SMART_PTR_DETAIL_SP_HAS_SYNC_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/spinlock.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/spinlock.hpp
new file mode 100644 (file)
index 0000000..e4653f7
--- /dev/null
@@ -0,0 +1,53 @@
+#ifndef BOOST_SMART_PTR_DETAIL_SPINLOCK_HPP_INCLUDED\r
+#define BOOST_SMART_PTR_DETAIL_SPINLOCK_HPP_INCLUDED\r
+\r
+// MS compatible compilers support #pragma once\r
+\r
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)\r
+# pragma once\r
+#endif\r
+\r
+//\r
+//  boost/detail/spinlock.hpp\r
+//\r
+//  Copyright (c) 2008 Peter Dimov\r
+//\r
+//  Distributed under the Boost Software License, Version 1.0.\r
+//  See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+//  struct spinlock\r
+//  {\r
+//      void lock();\r
+//      bool try_lock();\r
+//      void unlock();\r
+//\r
+//      class scoped_lock;\r
+//  };\r
+//\r
+//  #define BOOST_DETAIL_SPINLOCK_INIT <unspecified>\r
+//\r
+\r
+#include <boost/config.hpp>\r
+#include <boost/smart_ptr/detail/sp_has_sync.hpp>\r
+\r
+#if defined(__GNUC__) && defined( __arm__ ) && !defined( __thumb__ )\r
+#  include <boost/smart_ptr/detail/spinlock_gcc_arm.hpp>\r
+\r
+#elif defined( BOOST_SP_HAS_SYNC )\r
+#  include <boost/smart_ptr/detail/spinlock_sync.hpp>\r
+\r
+#elif defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)\r
+#  include <boost/smart_ptr/detail/spinlock_w32.hpp>\r
+\r
+#elif defined(BOOST_HAS_PTHREADS)\r
+#  include <boost/smart_ptr/detail/spinlock_pt.hpp>\r
+\r
+#elif !defined(BOOST_HAS_THREADS)\r
+#  include <boost/smart_ptr/detail/spinlock_nt.hpp>\r
+\r
+#else\r
+#  error Unrecognized threading platform\r
+#endif\r
+\r
+#endif // #ifndef BOOST_SMART_PTR_DETAIL_SPINLOCK_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/spinlock_gcc_arm.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/spinlock_gcc_arm.hpp
new file mode 100644 (file)
index 0000000..7d7c786
--- /dev/null
@@ -0,0 +1,85 @@
+#ifndef BOOST_SMART_PTR_DETAIL_SPINLOCK_GCC_ARM_HPP_INCLUDED\r
+#define BOOST_SMART_PTR_DETAIL_SPINLOCK_GCC_ARM_HPP_INCLUDED\r
+\r
+//\r
+//  Copyright (c) 2008 Peter Dimov\r
+//\r
+//  Distributed under the Boost Software License, Version 1.0.\r
+//  See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+#include <boost/smart_ptr/detail/yield_k.hpp>\r
+\r
+namespace boost\r
+{\r
+\r
+namespace detail\r
+{\r
+\r
+class spinlock\r
+{\r
+public:\r
+\r
+    int v_;\r
+\r
+public:\r
+\r
+    bool try_lock()\r
+    {\r
+        int r;\r
+\r
+        __asm__ __volatile__(\r
+            "swp %0, %1, [%2]":\r
+            "=&r"( r ): // outputs\r
+            "r"( 1 ), "r"( &v_ ): // inputs\r
+            "memory", "cc" );\r
+\r
+        return r == 0;\r
+    }\r
+\r
+    void lock()\r
+    {\r
+        for( unsigned k = 0; !try_lock(); ++k )\r
+        {\r
+            boost::detail::yield( k );\r
+        }\r
+    }\r
+\r
+    void unlock()\r
+    {\r
+        __asm__ __volatile__( "" ::: "memory" );\r
+        *const_cast< int volatile* >( &v_ ) = 0;\r
+    }\r
+\r
+public:\r
+\r
+    class scoped_lock\r
+    {\r
+    private:\r
+\r
+        spinlock & sp_;\r
+\r
+        scoped_lock( scoped_lock const & );\r
+        scoped_lock & operator=( scoped_lock const & );\r
+\r
+    public:\r
+\r
+        explicit scoped_lock( spinlock & sp ): sp_( sp )\r
+        {\r
+            sp.lock();\r
+        }\r
+\r
+        ~scoped_lock()\r
+        {\r
+            sp_.unlock();\r
+        }\r
+    };\r
+};\r
+\r
+} // namespace detail\r
+} // namespace boost\r
+\r
+#define BOOST_DETAIL_SPINLOCK_INIT {0}\r
+\r
+#endif // #ifndef BOOST_SMART_PTR_DETAIL_SPINLOCK_GCC_ARM_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/spinlock_nt.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/spinlock_nt.hpp
new file mode 100644 (file)
index 0000000..920d67e
--- /dev/null
@@ -0,0 +1,89 @@
+#ifndef BOOST_SMART_PTR_DETAIL_SPINLOCK_NT_HPP_INCLUDED\r
+#define BOOST_SMART_PTR_DETAIL_SPINLOCK_NT_HPP_INCLUDED\r
+\r
+// MS compatible compilers support #pragma once\r
+\r
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)\r
+# pragma once\r
+#endif\r
+\r
+//\r
+//  Copyright (c) 2008 Peter Dimov\r
+//\r
+//  Distributed under the Boost Software License, Version 1.0.\r
+//  See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+#include <boost/assert.hpp>\r
+\r
+namespace boost\r
+{\r
+\r
+namespace detail\r
+{\r
+\r
+class spinlock\r
+{\r
+public:\r
+\r
+    bool locked_;\r
+\r
+public:\r
+\r
+    inline bool try_lock()\r
+    {\r
+        if( locked_ )\r
+        {\r
+            return false;\r
+        }\r
+        else\r
+        {\r
+            locked_ = true;\r
+            return true;\r
+        }\r
+    }\r
+\r
+    inline void lock()\r
+    {\r
+        BOOST_ASSERT( !locked_ );\r
+        locked_ = true;\r
+    }\r
+\r
+    inline void unlock()\r
+    {\r
+        BOOST_ASSERT( locked_ );\r
+        locked_ = false;\r
+    }\r
+\r
+public:\r
+\r
+    class scoped_lock\r
+    {\r
+    private:\r
+\r
+        spinlock & sp_;\r
+\r
+        scoped_lock( scoped_lock const & );\r
+        scoped_lock & operator=( scoped_lock const & );\r
+\r
+    public:\r
+\r
+        explicit scoped_lock( spinlock & sp ): sp_( sp )\r
+        {\r
+            sp.lock();\r
+        }\r
+\r
+        ~scoped_lock()\r
+        {\r
+            sp_.unlock();\r
+        }\r
+    };\r
+};\r
+\r
+} // namespace detail\r
+} // namespace boost\r
+\r
+#define BOOST_DETAIL_SPINLOCK_INIT { false }\r
+\r
+#endif // #ifndef BOOST_SMART_PTR_DETAIL_SPINLOCK_NT_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/spinlock_pool.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/spinlock_pool.hpp
new file mode 100644 (file)
index 0000000..8a62a90
--- /dev/null
@@ -0,0 +1,87 @@
+#ifndef BOOST_SMART_PTR_DETAIL_SPINLOCK_POOL_HPP_INCLUDED\r
+#define BOOST_SMART_PTR_DETAIL_SPINLOCK_POOL_HPP_INCLUDED\r
+\r
+// MS compatible compilers support #pragma once\r
+\r
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)\r
+# pragma once\r
+#endif\r
+\r
+//\r
+//  boost/detail/spinlock_pool.hpp\r
+//\r
+//  Copyright (c) 2008 Peter Dimov\r
+//\r
+//  Distributed under the Boost Software License, Version 1.0.\r
+//  See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+//  spinlock_pool<0> is reserved for atomic<>, when/if it arrives\r
+//  spinlock_pool<1> is reserved for shared_ptr reference counts\r
+//  spinlock_pool<2> is reserved for shared_ptr atomic access\r
+//\r
+\r
+#include <boost/config.hpp>\r
+#include <boost/smart_ptr/detail/spinlock.hpp>\r
+#include <cstddef>\r
+\r
+namespace boost\r
+{\r
+\r
+namespace detail\r
+{\r
+\r
+template< int I > class spinlock_pool\r
+{\r
+private:\r
+\r
+    static spinlock pool_[ 41 ];\r
+\r
+public:\r
+\r
+    static spinlock & spinlock_for( void const * pv )\r
+    {\r
+        std::size_t i = reinterpret_cast< std::size_t >( pv ) % 41;\r
+        return pool_[ i ];\r
+    }\r
+\r
+    class scoped_lock\r
+    {\r
+    private:\r
+\r
+        spinlock & sp_;\r
+\r
+        scoped_lock( scoped_lock const & );\r
+        scoped_lock & operator=( scoped_lock const & );\r
+\r
+    public:\r
+\r
+        explicit scoped_lock( void const * pv ): sp_( spinlock_for( pv ) )\r
+        {\r
+            sp_.lock();\r
+        }\r
+\r
+        ~scoped_lock()\r
+        {\r
+            sp_.unlock();\r
+        }\r
+    };\r
+};\r
+\r
+template< int I > spinlock spinlock_pool< I >::pool_[ 41 ] =\r
+{\r
+    BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, \r
+    BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, \r
+    BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, \r
+    BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, \r
+    BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, \r
+    BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, \r
+    BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, \r
+    BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, \r
+    BOOST_DETAIL_SPINLOCK_INIT\r
+};\r
+\r
+} // namespace detail\r
+} // namespace boost\r
+\r
+#endif // #ifndef BOOST_SMART_PTR_DETAIL_SPINLOCK_POOL_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/spinlock_pt.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/spinlock_pt.hpp
new file mode 100644 (file)
index 0000000..f55e61f
--- /dev/null
@@ -0,0 +1,79 @@
+#ifndef BOOST_SMART_PTR_DETAIL_SPINLOCK_PT_HPP_INCLUDED\r
+#define BOOST_SMART_PTR_DETAIL_SPINLOCK_PT_HPP_INCLUDED\r
+\r
+// MS compatible compilers support #pragma once\r
+\r
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)\r
+# pragma once\r
+#endif\r
+\r
+//\r
+//  Copyright (c) 2008 Peter Dimov\r
+//\r
+//  Distributed under the Boost Software License, Version 1.0.\r
+//  See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+#include <pthread.h>\r
+\r
+namespace boost\r
+{\r
+\r
+namespace detail\r
+{\r
+\r
+class spinlock\r
+{\r
+public:\r
+\r
+    pthread_mutex_t v_;\r
+\r
+public:\r
+\r
+    bool try_lock()\r
+    {\r
+        return pthread_mutex_trylock( &v_ ) == 0;\r
+    }\r
+\r
+    void lock()\r
+    {\r
+        pthread_mutex_lock( &v_ );\r
+    }\r
+\r
+    void unlock()\r
+    {\r
+        pthread_mutex_unlock( &v_ );\r
+    }\r
+\r
+public:\r
+\r
+    class scoped_lock\r
+    {\r
+    private:\r
+\r
+        spinlock & sp_;\r
+\r
+        scoped_lock( scoped_lock const & );\r
+        scoped_lock & operator=( scoped_lock const & );\r
+\r
+    public:\r
+\r
+        explicit scoped_lock( spinlock & sp ): sp_( sp )\r
+        {\r
+            sp.lock();\r
+        }\r
+\r
+        ~scoped_lock()\r
+        {\r
+            sp_.unlock();\r
+        }\r
+    };\r
+};\r
+\r
+} // namespace detail\r
+} // namespace boost\r
+\r
+#define BOOST_DETAIL_SPINLOCK_INIT { PTHREAD_MUTEX_INITIALIZER }\r
+\r
+#endif // #ifndef BOOST_SMART_PTR_DETAIL_SPINLOCK_PT_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/spinlock_sync.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/spinlock_sync.hpp
new file mode 100644 (file)
index 0000000..f948306
--- /dev/null
@@ -0,0 +1,87 @@
+#ifndef BOOST_SMART_PTR_DETAIL_SPINLOCK_SYNC_HPP_INCLUDED\r
+#define BOOST_SMART_PTR_DETAIL_SPINLOCK_SYNC_HPP_INCLUDED\r
+\r
+// MS compatible compilers support #pragma once\r
+\r
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)\r
+# pragma once\r
+#endif\r
+\r
+//\r
+//  Copyright (c) 2008 Peter Dimov\r
+//\r
+//  Distributed under the Boost Software License, Version 1.0.\r
+//  See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+#include <boost/smart_ptr/detail/yield_k.hpp>\r
+\r
+#if defined( __ia64__ ) && defined( __INTEL_COMPILER )\r
+# include <ia64intrin.h>\r
+#endif\r
+\r
+namespace boost\r
+{\r
+\r
+namespace detail\r
+{\r
+\r
+class spinlock\r
+{\r
+public:\r
+\r
+    int v_;\r
+\r
+public:\r
+\r
+    bool try_lock()\r
+    {\r
+        int r = __sync_lock_test_and_set( &v_, 1 );\r
+        return r == 0;\r
+    }\r
+\r
+    void lock()\r
+    {\r
+        for( unsigned k = 0; !try_lock(); ++k )\r
+        {\r
+            boost::detail::yield( k );\r
+        }\r
+    }\r
+\r
+    void unlock()\r
+    {\r
+        __sync_lock_release( &v_ );\r
+    }\r
+\r
+public:\r
+\r
+    class scoped_lock\r
+    {\r
+    private:\r
+\r
+        spinlock & sp_;\r
+\r
+        scoped_lock( scoped_lock const & );\r
+        scoped_lock & operator=( scoped_lock const & );\r
+\r
+    public:\r
+\r
+        explicit scoped_lock( spinlock & sp ): sp_( sp )\r
+        {\r
+            sp.lock();\r
+        }\r
+\r
+        ~scoped_lock()\r
+        {\r
+            sp_.unlock();\r
+        }\r
+    };\r
+};\r
+\r
+} // namespace detail\r
+} // namespace boost\r
+\r
+#define BOOST_DETAIL_SPINLOCK_INIT {0}\r
+\r
+#endif // #ifndef BOOST_SMART_PTR_DETAIL_SPINLOCK_SYNC_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/spinlock_w32.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/spinlock_w32.hpp
new file mode 100644 (file)
index 0000000..8caa33c
--- /dev/null
@@ -0,0 +1,113 @@
+#ifndef BOOST_SMART_PTR_DETAIL_SPINLOCK_W32_HPP_INCLUDED\r
+#define BOOST_SMART_PTR_DETAIL_SPINLOCK_W32_HPP_INCLUDED\r
+\r
+// MS compatible compilers support #pragma once\r
+\r
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)\r
+# pragma once\r
+#endif\r
+\r
+//\r
+//  Copyright (c) 2008 Peter Dimov\r
+//\r
+//  Distributed under the Boost Software License, Version 1.0.\r
+//  See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+\r
+#include <boost/detail/interlocked.hpp>\r
+#include <boost/smart_ptr/detail/yield_k.hpp>\r
+\r
+// BOOST_COMPILER_FENCE\r
+\r
+#if defined(__INTEL_COMPILER)\r
+\r
+#define BOOST_COMPILER_FENCE __memory_barrier();\r
+\r
+#elif defined( _MSC_VER ) && _MSC_VER >= 1310\r
+\r
+extern "C" void _ReadWriteBarrier();\r
+#pragma intrinsic( _ReadWriteBarrier )\r
+\r
+#define BOOST_COMPILER_FENCE _ReadWriteBarrier();\r
+\r
+#elif defined(__GNUC__)\r
+\r
+#define BOOST_COMPILER_FENCE __asm__ __volatile__( "" : : : "memory" );\r
+\r
+#else\r
+\r
+#define BOOST_COMPILER_FENCE\r
+\r
+#endif\r
+\r
+//\r
+\r
+namespace boost\r
+{\r
+\r
+namespace detail\r
+{\r
+\r
+class spinlock\r
+{\r
+public:\r
+\r
+    long v_;\r
+\r
+public:\r
+\r
+    bool try_lock()\r
+    {\r
+        long r = BOOST_INTERLOCKED_EXCHANGE( &v_, 1 );\r
+\r
+        BOOST_COMPILER_FENCE\r
+\r
+        return r == 0;\r
+    }\r
+\r
+    void lock()\r
+    {\r
+        for( unsigned k = 0; !try_lock(); ++k )\r
+        {\r
+            boost::detail::yield( k );\r
+        }\r
+    }\r
+\r
+    void unlock()\r
+    {\r
+        BOOST_COMPILER_FENCE\r
+        *const_cast< long volatile* >( &v_ ) = 0;\r
+    }\r
+\r
+public:\r
+\r
+    class scoped_lock\r
+    {\r
+    private:\r
+\r
+        spinlock & sp_;\r
+\r
+        scoped_lock( scoped_lock const & );\r
+        scoped_lock & operator=( scoped_lock const & );\r
+\r
+    public:\r
+\r
+        explicit scoped_lock( spinlock & sp ): sp_( sp )\r
+        {\r
+            sp.lock();\r
+        }\r
+\r
+        ~scoped_lock()\r
+        {\r
+            sp_.unlock();\r
+        }\r
+    };\r
+};\r
+\r
+} // namespace detail\r
+} // namespace boost\r
+\r
+#define BOOST_DETAIL_SPINLOCK_INIT {0}\r
+\r
+#endif // #ifndef BOOST_SMART_PTR_DETAIL_SPINLOCK_W32_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/yield_k.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/yield_k.hpp
new file mode 100644 (file)
index 0000000..7fafea7
--- /dev/null
@@ -0,0 +1,149 @@
+#ifndef BOOST_SMART_PTR_DETAIL_YIELD_K_HPP_INCLUDED\r
+#define BOOST_SMART_PTR_DETAIL_YIELD_K_HPP_INCLUDED\r
+\r
+// MS compatible compilers support #pragma once\r
+\r
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)\r
+# pragma once\r
+#endif\r
+\r
+//\r
+//  yield_k.hpp\r
+//\r
+//  Copyright (c) 2008 Peter Dimov\r
+//\r
+//  void yield( unsigned k );\r
+//\r
+//  Typical use:\r
+//\r
+//  for( unsigned k = 0; !try_lock(); ++k ) yield( k );\r
+//\r
+//  Distributed under the Boost Software License, Version 1.0.\r
+//  See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt\r
+//\r
+\r
+#include <boost/config.hpp>\r
+\r
+// BOOST_SMT_PAUSE\r
+\r
+#if defined(_MSC_VER) && _MSC_VER >= 1310 && ( defined(_M_IX86) || defined(_M_X64) )\r
+\r
+extern "C" void _mm_pause();\r
+#pragma intrinsic( _mm_pause )\r
+\r
+#define BOOST_SMT_PAUSE _mm_pause();\r
+\r
+#elif defined(__GNUC__) && ( defined(__i386__) || defined(__x86_64__) )\r
+\r
+#define BOOST_SMT_PAUSE __asm__ __volatile__( "rep; nop" : : : "memory" );\r
+\r
+#endif\r
+\r
+//\r
+\r
+#if defined( WIN32 ) || defined( _WIN32 ) || defined( __WIN32__ ) || defined( __CYGWIN__ )\r
+\r
+#if defined( BOOST_USE_WINDOWS_H )\r
+# include <windows.h>\r
+#endif\r
+\r
+namespace boost\r
+{\r
+\r
+namespace detail\r
+{\r
+\r
+#if !defined( BOOST_USE_WINDOWS_H )\r
+  extern "C" void __stdcall Sleep( unsigned ms );\r
+#endif\r
+\r
+inline void yield( unsigned k )\r
+{\r
+    if( k < 4 )\r
+    {\r
+    }\r
+#if defined( BOOST_SMT_PAUSE )\r
+    else if( k < 16 )\r
+    {\r
+        BOOST_SMT_PAUSE\r
+    }\r
+#endif\r
+    else if( k < 32 )\r
+    {\r
+        Sleep( 0 );\r
+    }\r
+    else\r
+    {\r
+        Sleep( 1 );\r
+    }\r
+}\r
+\r
+} // namespace detail\r
+\r
+} // namespace boost\r
+\r
+#elif defined( BOOST_HAS_PTHREADS )\r
+\r
+#include <sched.h>\r
+#include <time.h>\r
+\r
+namespace boost\r
+{\r
+\r
+namespace detail\r
+{\r
+\r
+inline void yield( unsigned k )\r
+{\r
+    if( k < 4 )\r
+    {\r
+    }\r
+#if defined( BOOST_SMT_PAUSE )\r
+    else if( k < 16 )\r
+    {\r
+        BOOST_SMT_PAUSE\r
+    }\r
+#endif\r
+    else if( k < 32 || k & 1 )\r
+    {\r
+        sched_yield();\r
+    }\r
+    else\r
+    {\r
+        // g++ -Wextra warns on {} or {0}\r
+        struct timespec rqtp = { 0, 0 };\r
+\r
+        // POSIX says that timespec has tv_sec and tv_nsec\r
+        // But it doesn't guarantee order or placement\r
+\r
+        rqtp.tv_sec = 0;\r
+        rqtp.tv_nsec = 1000;\r
+\r
+        nanosleep( &rqtp, 0 );\r
+    }\r
+}\r
+\r
+} // namespace detail\r
+\r
+} // namespace boost\r
+\r
+#else\r
+\r
+namespace boost\r
+{\r
+\r
+namespace detail\r
+{\r
+\r
+inline void yield( unsigned )\r
+{\r
+}\r
+\r
+} // namespace detail\r
+\r
+} // namespace boost\r
+\r
+#endif\r
+\r
+#endif // #ifndef BOOST_SMART_PTR_DETAIL_YIELD_K_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/enable_shared_from_this.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/enable_shared_from_this.hpp
new file mode 100644 (file)
index 0000000..20a586d
--- /dev/null
@@ -0,0 +1,79 @@
+#ifndef BOOST_SMART_PTR_ENABLE_SHARED_FROM_THIS_HPP_INCLUDED\r
+#define BOOST_SMART_PTR_ENABLE_SHARED_FROM_THIS_HPP_INCLUDED\r
+\r
+//\r
+//  enable_shared_from_this.hpp\r
+//\r
+//  Copyright 2002, 2009 Peter Dimov\r
+//\r
+//  Distributed under the Boost Software License, Version 1.0.\r
+//  See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt\r
+//\r
+//  http://www.boost.org/libs/smart_ptr/enable_shared_from_this.html\r
+//\r
+\r
+#include <boost/smart_ptr/weak_ptr.hpp>\r
+#include <boost/smart_ptr/shared_ptr.hpp>\r
+#include <boost/assert.hpp>\r
+#include <boost/config.hpp>\r
+\r
+namespace boost\r
+{\r
+\r
+template<class T> class enable_shared_from_this\r
+{\r
+protected:\r
+\r
+    enable_shared_from_this()\r
+    {\r
+    }\r
+\r
+    enable_shared_from_this(enable_shared_from_this const &)\r
+    {\r
+    }\r
+\r
+    enable_shared_from_this & operator=(enable_shared_from_this const &)\r
+    {\r
+        return *this;\r
+    }\r
+\r
+    ~enable_shared_from_this()\r
+    {\r
+    }\r
+\r
+public:\r
+\r
+    shared_ptr<T> shared_from_this()\r
+    {\r
+        shared_ptr<T> p( weak_this_ );\r
+        BOOST_ASSERT( p.get() == this );\r
+        return p;\r
+    }\r
+\r
+    shared_ptr<T const> shared_from_this() const\r
+    {\r
+        shared_ptr<T const> p( weak_this_ );\r
+        BOOST_ASSERT( p.get() == this );\r
+        return p;\r
+    }\r
+\r
+public: // actually private, but avoids compiler template friendship issues\r
+\r
+    // Note: invoked automatically by shared_ptr; do not call\r
+    template<class X, class Y> void _internal_accept_owner( shared_ptr<X> const * ppx, Y * py ) const\r
+    {\r
+        if( weak_this_.expired() )\r
+        {\r
+            weak_this_ = shared_ptr<T>( *ppx, py );\r
+        }\r
+    }\r
+\r
+private:\r
+\r
+    mutable weak_ptr<T> weak_this_;\r
+};\r
+\r
+} // namespace boost\r
+\r
+#endif  // #ifndef BOOST_SMART_PTR_ENABLE_SHARED_FROM_THIS_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/enable_shared_from_this2.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/enable_shared_from_this2.hpp
new file mode 100644 (file)
index 0000000..fcbce06
--- /dev/null
@@ -0,0 +1,132 @@
+#ifndef BOOST_ENABLE_SHARED_FROM_THIS2_HPP_INCLUDED\r
+#define BOOST_ENABLE_SHARED_FROM_THIS2_HPP_INCLUDED\r
+\r
+//\r
+//  enable_shared_from_this2.hpp\r
+//\r
+//  Copyright 2002, 2009 Peter Dimov\r
+//  Copyright 2008 Frank Mori Hess\r
+//\r
+//  Distributed under the Boost Software License, Version 1.0.\r
+//  See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt\r
+//\r
+\r
+#include <boost/config.hpp>\r
+#include <boost/shared_ptr.hpp>\r
+#include <boost/assert.hpp>\r
+#include <boost/detail/workaround.hpp>\r
+\r
+namespace boost\r
+{\r
+\r
+namespace detail\r
+{\r
+\r
+class esft2_deleter_wrapper\r
+{\r
+private:\r
+\r
+    shared_ptr<void> deleter_;\r
+\r
+public:\r
+\r
+    esft2_deleter_wrapper()\r
+    {\r
+    }\r
+\r
+    template< class T > void set_deleter( shared_ptr<T> const & deleter )\r
+    {\r
+        deleter_ = deleter;\r
+    }\r
+\r
+    template< class T> void operator()( T* )\r
+    {\r
+        BOOST_ASSERT( deleter_.use_count() <= 1 );\r
+        deleter_.reset();\r
+    }\r
+};\r
+\r
+} // namespace detail\r
+\r
+template< class T > class enable_shared_from_this2\r
+{\r
+protected:\r
+\r
+    enable_shared_from_this2()\r
+    {\r
+    }\r
+\r
+    enable_shared_from_this2( enable_shared_from_this2 const & )\r
+    {\r
+    }\r
+\r
+    enable_shared_from_this2 & operator=( enable_shared_from_this2 const & )\r
+    {\r
+        return *this;\r
+    }\r
+\r
+    ~enable_shared_from_this2()\r
+    {\r
+        BOOST_ASSERT( shared_this_.use_count() <= 1 ); // make sure no dangling shared_ptr objects exist\r
+    }\r
+\r
+private:\r
+\r
+    mutable weak_ptr<T> weak_this_;\r
+    mutable shared_ptr<T> shared_this_;\r
+\r
+public:\r
+\r
+    shared_ptr<T> shared_from_this()\r
+    {\r
+        init_weak_once();\r
+        return shared_ptr<T>( weak_this_ );\r
+    }\r
+\r
+    shared_ptr<T const> shared_from_this() const\r
+    {\r
+        init_weak_once();\r
+        return shared_ptr<T>( weak_this_ );\r
+    }\r
+\r
+private:\r
+\r
+    void init_weak_once() const\r
+    {\r
+        if( weak_this_._empty() )\r
+        {\r
+            shared_this_.reset( static_cast< T* >( 0 ), detail::esft2_deleter_wrapper() );\r
+            weak_this_ = shared_this_;\r
+        }\r
+    }\r
+\r
+public: // actually private, but avoids compiler template friendship issues\r
+\r
+    // Note: invoked automatically by shared_ptr; do not call\r
+    template<class X, class Y> void _internal_accept_owner( shared_ptr<X> * ppx, Y * py ) const\r
+    {\r
+        BOOST_ASSERT( ppx != 0 );\r
+\r
+        if( weak_this_.use_count() == 0 )\r
+        {\r
+            weak_this_ = shared_ptr<T>( *ppx, py );\r
+        }\r
+        else if( shared_this_.use_count() != 0 )\r
+        {\r
+            BOOST_ASSERT( ppx->unique() ); // no weak_ptrs should exist either, but there's no way to check that\r
+\r
+            detail::esft2_deleter_wrapper * pd = boost::get_deleter<detail::esft2_deleter_wrapper>( shared_this_ );\r
+            BOOST_ASSERT( pd != 0 );\r
+\r
+            pd->set_deleter( *ppx );\r
+\r
+            ppx->reset( shared_this_, ppx->get() );\r
+            shared_this_.reset();\r
+        }\r
+    }\r
+};\r
+\r
+} // namespace boost\r
+\r
+#endif  // #ifndef BOOST_ENABLE_SHARED_FROM_THIS2_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/intrusive_ptr.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/intrusive_ptr.hpp
new file mode 100644 (file)
index 0000000..090e389
--- /dev/null
@@ -0,0 +1,299 @@
+#ifndef BOOST_SMART_PTR_INTRUSIVE_PTR_HPP_INCLUDED\r
+#define BOOST_SMART_PTR_INTRUSIVE_PTR_HPP_INCLUDED\r
+\r
+//\r
+//  intrusive_ptr.hpp\r
+//\r
+//  Copyright (c) 2001, 2002 Peter Dimov\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. (See\r
+// accompanying file LICENSE_1_0.txt or copy at\r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+//  See http://www.boost.org/libs/smart_ptr/intrusive_ptr.html for documentation.\r
+//\r
+\r
+#include <boost/config.hpp>\r
+\r
+#ifdef BOOST_MSVC  // moved here to work around VC++ compiler crash\r
+# pragma warning(push)\r
+# pragma warning(disable:4284) // odd return type for operator->\r
+#endif\r
+\r
+#include <boost/assert.hpp>\r
+#include <boost/detail/workaround.hpp>\r
+#include <boost/smart_ptr/detail/sp_convertible.hpp>\r
+\r
+#include <boost/config/no_tr1/functional.hpp>           // for std::less\r
+\r
+#if !defined(BOOST_NO_IOSTREAM)\r
+#if !defined(BOOST_NO_IOSFWD)\r
+#include <iosfwd>               // for std::basic_ostream\r
+#else\r
+#include <ostream>\r
+#endif\r
+#endif\r
+\r
+\r
+namespace boost\r
+{\r
+\r
+//\r
+//  intrusive_ptr\r
+//\r
+//  A smart pointer that uses intrusive reference counting.\r
+//\r
+//  Relies on unqualified calls to\r
+//  \r
+//      void intrusive_ptr_add_ref(T * p);\r
+//      void intrusive_ptr_release(T * p);\r
+//\r
+//          (p != 0)\r
+//\r
+//  The object is responsible for destroying itself.\r
+//\r
+\r
+template<class T> class intrusive_ptr\r
+{\r
+private:\r
+\r
+    typedef intrusive_ptr this_type;\r
+\r
+public:\r
+\r
+    typedef T element_type;\r
+\r
+    intrusive_ptr(): px( 0 )\r
+    {\r
+    }\r
+\r
+    intrusive_ptr( T * p, bool add_ref = true ): px( p )\r
+    {\r
+        if( px != 0 && add_ref ) intrusive_ptr_add_ref( px );\r
+    }\r
+\r
+#if !defined(BOOST_NO_MEMBER_TEMPLATES) || defined(BOOST_MSVC6_MEMBER_TEMPLATES)\r
+\r
+    template<class U>\r
+#if !defined( BOOST_SP_NO_SP_CONVERTIBLE )\r
+\r
+    intrusive_ptr( intrusive_ptr<U> const & rhs, typename boost::detail::sp_enable_if_convertible<U,T>::type = boost::detail::sp_empty() )\r
+\r
+#else\r
+\r
+    intrusive_ptr( intrusive_ptr<U> const & rhs )\r
+\r
+#endif\r
+    : px( rhs.get() )\r
+    {\r
+        if( px != 0 ) intrusive_ptr_add_ref( px );\r
+    }\r
+\r
+#endif\r
+\r
+    intrusive_ptr(intrusive_ptr const & rhs): px( rhs.px )\r
+    {\r
+        if( px != 0 ) intrusive_ptr_add_ref( px );\r
+    }\r
+\r
+    ~intrusive_ptr()\r
+    {\r
+        if( px != 0 ) intrusive_ptr_release( px );\r
+    }\r
+\r
+#if !defined(BOOST_NO_MEMBER_TEMPLATES) || defined(BOOST_MSVC6_MEMBER_TEMPLATES)\r
+\r
+    template<class U> intrusive_ptr & operator=(intrusive_ptr<U> const & rhs)\r
+    {\r
+        this_type(rhs).swap(*this);\r
+        return *this;\r
+    }\r
+\r
+#endif\r
+\r
+// Move support\r
+\r
+#if defined( BOOST_HAS_RVALUE_REFS )\r
+\r
+    intrusive_ptr(intrusive_ptr && rhs): px( rhs.px )\r
+    {\r
+        rhs.px = 0;\r
+    }\r
+\r
+    intrusive_ptr & operator=(intrusive_ptr && rhs)\r
+    {\r
+        this_type( static_cast< intrusive_ptr && >( rhs ) ).swap(*this);\r
+        return *this;\r
+    }\r
+\r
+#endif\r
+\r
+    intrusive_ptr & operator=(intrusive_ptr const & rhs)\r
+    {\r
+        this_type(rhs).swap(*this);\r
+        return *this;\r
+    }\r
+\r
+    intrusive_ptr & operator=(T * rhs)\r
+    {\r
+        this_type(rhs).swap(*this);\r
+        return *this;\r
+    }\r
+\r
+    void reset()\r
+    {\r
+        this_type().swap( *this );\r
+    }\r
+\r
+    void reset( T * rhs )\r
+    {\r
+        this_type( rhs ).swap( *this );\r
+    }\r
+\r
+    T * get() const\r
+    {\r
+        return px;\r
+    }\r
+\r
+    T & operator*() const\r
+    {\r
+        BOOST_ASSERT( px != 0 );\r
+        return *px;\r
+    }\r
+\r
+    T * operator->() const\r
+    {\r
+        BOOST_ASSERT( px != 0 );\r
+        return px;\r
+    }\r
+\r
+// implicit conversion to "bool"\r
+#include <boost/smart_ptr/detail/operator_bool.hpp>\r
+\r
+    void swap(intrusive_ptr & rhs)\r
+    {\r
+        T * tmp = px;\r
+        px = rhs.px;\r
+        rhs.px = tmp;\r
+    }\r
+\r
+private:\r
+\r
+    T * px;\r
+};\r
+\r
+template<class T, class U> inline bool operator==(intrusive_ptr<T> const & a, intrusive_ptr<U> const & b)\r
+{\r
+    return a.get() == b.get();\r
+}\r
+\r
+template<class T, class U> inline bool operator!=(intrusive_ptr<T> const & a, intrusive_ptr<U> const & b)\r
+{\r
+    return a.get() != b.get();\r
+}\r
+\r
+template<class T, class U> inline bool operator==(intrusive_ptr<T> const & a, U * b)\r
+{\r
+    return a.get() == b;\r
+}\r
+\r
+template<class T, class U> inline bool operator!=(intrusive_ptr<T> const & a, U * b)\r
+{\r
+    return a.get() != b;\r
+}\r
+\r
+template<class T, class U> inline bool operator==(T * a, intrusive_ptr<U> const & b)\r
+{\r
+    return a == b.get();\r
+}\r
+\r
+template<class T, class U> inline bool operator!=(T * a, intrusive_ptr<U> const & b)\r
+{\r
+    return a != b.get();\r
+}\r
+\r
+#if __GNUC__ == 2 && __GNUC_MINOR__ <= 96\r
+\r
+// Resolve the ambiguity between our op!= and the one in rel_ops\r
+\r
+template<class T> inline bool operator!=(intrusive_ptr<T> const & a, intrusive_ptr<T> const & b)\r
+{\r
+    return a.get() != b.get();\r
+}\r
+\r
+#endif\r
+\r
+template<class T> inline bool operator<(intrusive_ptr<T> const & a, intrusive_ptr<T> const & b)\r
+{\r
+    return std::less<T *>()(a.get(), b.get());\r
+}\r
+\r
+template<class T> void swap(intrusive_ptr<T> & lhs, intrusive_ptr<T> & rhs)\r
+{\r
+    lhs.swap(rhs);\r
+}\r
+\r
+// mem_fn support\r
+\r
+template<class T> T * get_pointer(intrusive_ptr<T> const & p)\r
+{\r
+    return p.get();\r
+}\r
+\r
+template<class T, class U> intrusive_ptr<T> static_pointer_cast(intrusive_ptr<U> const & p)\r
+{\r
+    return static_cast<T *>(p.get());\r
+}\r
+\r
+template<class T, class U> intrusive_ptr<T> const_pointer_cast(intrusive_ptr<U> const & p)\r
+{\r
+    return const_cast<T *>(p.get());\r
+}\r
+\r
+template<class T, class U> intrusive_ptr<T> dynamic_pointer_cast(intrusive_ptr<U> const & p)\r
+{\r
+    return dynamic_cast<T *>(p.get());\r
+}\r
+\r
+// operator<<\r
+\r
+#if !defined(BOOST_NO_IOSTREAM)\r
+\r
+#if defined(BOOST_NO_TEMPLATED_IOSTREAMS) || ( defined(__GNUC__) &&  (__GNUC__ < 3) )\r
+\r
+template<class Y> std::ostream & operator<< (std::ostream & os, intrusive_ptr<Y> const & p)\r
+{\r
+    os << p.get();\r
+    return os;\r
+}\r
+\r
+#else\r
+\r
+// in STLport's no-iostreams mode no iostream symbols can be used\r
+#ifndef _STLP_NO_IOSTREAMS\r
+\r
+# if defined(BOOST_MSVC) && BOOST_WORKAROUND(BOOST_MSVC, < 1300 && __SGI_STL_PORT)\r
+// MSVC6 has problems finding std::basic_ostream through the using declaration in namespace _STL\r
+using std::basic_ostream;\r
+template<class E, class T, class Y> basic_ostream<E, T> & operator<< (basic_ostream<E, T> & os, intrusive_ptr<Y> const & p)\r
+# else\r
+template<class E, class T, class Y> std::basic_ostream<E, T> & operator<< (std::basic_ostream<E, T> & os, intrusive_ptr<Y> const & p)\r
+# endif \r
+{\r
+    os << p.get();\r
+    return os;\r
+}\r
+\r
+#endif // _STLP_NO_IOSTREAMS\r
+\r
+#endif // __GNUC__ < 3\r
+\r
+#endif // !defined(BOOST_NO_IOSTREAM)\r
+\r
+} // namespace boost\r
+\r
+#ifdef BOOST_MSVC\r
+# pragma warning(pop)\r
+#endif    \r
+\r
+#endif  // #ifndef BOOST_SMART_PTR_INTRUSIVE_PTR_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/make_shared.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/make_shared.hpp
new file mode 100644 (file)
index 0000000..5df6cee
--- /dev/null
@@ -0,0 +1,506 @@
+#ifndef BOOST_SMART_PTR_MAKE_SHARED_HPP_INCLUDED\r
+#define BOOST_SMART_PTR_MAKE_SHARED_HPP_INCLUDED\r
+\r
+//  make_shared.hpp\r
+//\r
+//  Copyright (c) 2007, 2008 Peter Dimov\r
+//\r
+//  Distributed under the Boost Software License, Version 1.0.\r
+//  See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt\r
+//\r
+//  See http://www.boost.org/libs/smart_ptr/make_shared.html\r
+//  for documentation.\r
+\r
+#include <boost/config.hpp>\r
+#include <boost/smart_ptr/shared_ptr.hpp>\r
+#include <boost/type_traits/type_with_alignment.hpp>\r
+#include <boost/type_traits/alignment_of.hpp>\r
+#include <cstddef>\r
+#include <new>\r
+\r
+namespace boost\r
+{\r
+\r
+namespace detail\r
+{\r
+\r
+template< std::size_t N, std::size_t A > struct sp_aligned_storage\r
+{\r
+    union type\r
+    {\r
+        char data_[ N ];\r
+        typename boost::type_with_alignment< A >::type align_;\r
+    };\r
+};\r
+\r
+template< class T > class sp_ms_deleter\r
+{\r
+private:\r
+\r
+    typedef typename sp_aligned_storage< sizeof( T ), ::boost::alignment_of< T >::value >::type storage_type;\r
+\r
+    bool initialized_;\r
+    storage_type storage_;\r
+\r
+private:\r
+\r
+    void destroy()\r
+    {\r
+        if( initialized_ )\r
+        {\r
+            reinterpret_cast< T* >( storage_.data_ )->~T();\r
+            initialized_ = false;\r
+        }\r
+    }\r
+\r
+public:\r
+\r
+    sp_ms_deleter(): initialized_( false )\r
+    {\r
+    }\r
+\r
+    // optimization: do not copy storage_\r
+    sp_ms_deleter( sp_ms_deleter const & ): initialized_( false )\r
+    {\r
+    }\r
+\r
+    ~sp_ms_deleter()\r
+    {\r
+        destroy();\r
+    }\r
+\r
+    void operator()( T * )\r
+    {\r
+        destroy();\r
+    }\r
+\r
+    void * address()\r
+    {\r
+        return storage_.data_;\r
+    }\r
+\r
+    void set_initialized()\r
+    {\r
+        initialized_ = true;\r
+    }\r
+};\r
+\r
+#if defined( BOOST_HAS_RVALUE_REFS )\r
+template< class T > T&& forward( T &&t )\r
+{\r
+    return t;\r
+}\r
+#endif\r
+\r
+} // namespace detail\r
+\r
+// Zero-argument versions\r
+//\r
+// Used even when variadic templates are available because of the new T() vs new T issue\r
+\r
+template< class T > boost::shared_ptr< T > make_shared()\r
+{\r
+    boost::shared_ptr< T > pt( static_cast< T* >( 0 ), detail::sp_ms_deleter< T >() );\r
+\r
+    detail::sp_ms_deleter< T > * pd = boost::get_deleter< detail::sp_ms_deleter< T > >( pt );\r
+\r
+    void * pv = pd->address();\r
+\r
+    ::new( pv ) T();\r
+    pd->set_initialized();\r
+\r
+    T * pt2 = static_cast< T* >( pv );\r
+\r
+    boost::detail::sp_enable_shared_from_this( &pt, pt2, pt2 );\r
+    return boost::shared_ptr< T >( pt, pt2 );\r
+}\r
+\r
+template< class T, class A > boost::shared_ptr< T > allocate_shared( A const & a )\r
+{\r
+    boost::shared_ptr< T > pt( static_cast< T* >( 0 ), detail::sp_ms_deleter< T >(), a );\r
+\r
+    detail::sp_ms_deleter< T > * pd = boost::get_deleter< detail::sp_ms_deleter< T > >( pt );\r
+\r
+    void * pv = pd->address();\r
+\r
+    ::new( pv ) T();\r
+    pd->set_initialized();\r
+\r
+    T * pt2 = static_cast< T* >( pv );\r
+\r
+    boost::detail::sp_enable_shared_from_this( &pt, pt2, pt2 );\r
+    return boost::shared_ptr< T >( pt, pt2 );\r
+}\r
+\r
+#if defined( BOOST_HAS_VARIADIC_TMPL ) && defined( BOOST_HAS_RVALUE_REFS )\r
+\r
+// Variadic templates, rvalue reference\r
+\r
+template< class T, class... Args > boost::shared_ptr< T > make_shared( Args && ... args )\r
+{\r
+    boost::shared_ptr< T > pt( static_cast< T* >( 0 ), detail::sp_ms_deleter< T >() );\r
+\r
+    detail::sp_ms_deleter< T > * pd = boost::get_deleter< detail::sp_ms_deleter< T > >( pt );\r
+\r
+    void * pv = pd->address();\r
+\r
+    ::new( pv ) T( detail::forward<Args>( args )... );\r
+    pd->set_initialized();\r
+\r
+    T * pt2 = static_cast< T* >( pv );\r
+\r
+    boost::detail::sp_enable_shared_from_this( &pt, pt2, pt2 );\r
+    return boost::shared_ptr< T >( pt, pt2 );\r
+}\r
+\r
+template< class T, class A, class... Args > boost::shared_ptr< T > allocate_shared( A const & a, Args && ... args )\r
+{\r
+    boost::shared_ptr< T > pt( static_cast< T* >( 0 ), detail::sp_ms_deleter< T >(), a );\r
+\r
+    detail::sp_ms_deleter< T > * pd = boost::get_deleter< detail::sp_ms_deleter< T > >( pt );\r
+\r
+    void * pv = pd->address();\r
+\r
+    ::new( pv ) T( detail::forward<Args>( args )... );\r
+    pd->set_initialized();\r
+\r
+    T * pt2 = static_cast< T* >( pv );\r
+\r
+    boost::detail::sp_enable_shared_from_this( &pt, pt2, pt2 );\r
+    return boost::shared_ptr< T >( pt, pt2 );\r
+}\r
+\r
+#else\r
+\r
+// C++03 version\r
+\r
+template< class T, class A1 >\r
+boost::shared_ptr< T > make_shared( A1 const & a1 )\r
+{\r
+    boost::shared_ptr< T > pt( static_cast< T* >( 0 ), detail::sp_ms_deleter< T >() );\r
+\r
+    detail::sp_ms_deleter< T > * pd = boost::get_deleter< detail::sp_ms_deleter< T > >( pt );\r
+\r
+    void * pv = pd->address();\r
+\r
+    ::new( pv ) T( a1 );\r
+    pd->set_initialized();\r
+\r
+    T * pt2 = static_cast< T* >( pv );\r
+\r
+    boost::detail::sp_enable_shared_from_this( &pt, pt2, pt2 );\r
+    return boost::shared_ptr< T >( pt, pt2 );\r
+}\r
+\r
+template< class T, class A, class A1 >\r
+boost::shared_ptr< T > allocate_shared( A const & a, A1 const & a1 )\r
+{\r
+    boost::shared_ptr< T > pt( static_cast< T* >( 0 ), detail::sp_ms_deleter< T >(), a );\r
+\r
+    detail::sp_ms_deleter< T > * pd = boost::get_deleter< detail::sp_ms_deleter< T > >( pt );\r
+\r
+    void * pv = pd->address();\r
+\r
+    ::new( pv ) T( a1 );\r
+    pd->set_initialized();\r
+\r
+    T * pt2 = static_cast< T* >( pv );\r
+\r
+    boost::detail::sp_enable_shared_from_this( &pt, pt2, pt2 );\r
+    return boost::shared_ptr< T >( pt, pt2 );\r
+}\r
+\r
+template< class T, class A1, class A2 >\r
+boost::shared_ptr< T > make_shared( A1 const & a1, A2 const & a2 )\r
+{\r
+    boost::shared_ptr< T > pt( static_cast< T* >( 0 ), detail::sp_ms_deleter< T >() );\r
+\r
+    detail::sp_ms_deleter< T > * pd = boost::get_deleter< detail::sp_ms_deleter< T > >( pt );\r
+\r
+    void * pv = pd->address();\r
+\r
+    ::new( pv ) T( a1, a2 );\r
+    pd->set_initialized();\r
+\r
+    T * pt2 = static_cast< T* >( pv );\r
+\r
+    boost::detail::sp_enable_shared_from_this( &pt, pt2, pt2 );\r
+    return boost::shared_ptr< T >( pt, pt2 );\r
+}\r
+\r
+template< class T, class A, class A1, class A2 >\r
+boost::shared_ptr< T > allocate_shared( A const & a, A1 const & a1, A2 const & a2 )\r
+{\r
+    boost::shared_ptr< T > pt( static_cast< T* >( 0 ), detail::sp_ms_deleter< T >(), a );\r
+\r
+    detail::sp_ms_deleter< T > * pd = boost::get_deleter< detail::sp_ms_deleter< T > >( pt );\r
+\r
+    void * pv = pd->address();\r
+\r
+    ::new( pv ) T( a1, a2 );\r
+    pd->set_initialized();\r
+\r
+    T * pt2 = static_cast< T* >( pv );\r
+\r
+    boost::detail::sp_enable_shared_from_this( &pt, pt2, pt2 );\r
+    return boost::shared_ptr< T >( pt, pt2 );\r
+}\r
+\r
+template< class T, class A1, class A2, class A3 >\r
+boost::shared_ptr< T > make_shared( A1 const & a1, A2 const & a2, A3 const & a3 )\r
+{\r
+    boost::shared_ptr< T > pt( static_cast< T* >( 0 ), detail::sp_ms_deleter< T >() );\r
+\r
+    detail::sp_ms_deleter< T > * pd = boost::get_deleter< detail::sp_ms_deleter< T > >( pt );\r
+\r
+    void * pv = pd->address();\r
+\r
+    ::new( pv ) T( a1, a2, a3 );\r
+    pd->set_initialized();\r
+\r
+    T * pt2 = static_cast< T* >( pv );\r
+\r
+    boost::detail::sp_enable_shared_from_this( &pt, pt2, pt2 );\r
+    return boost::shared_ptr< T >( pt, pt2 );\r
+}\r
+\r
+template< class T, class A, class A1, class A2, class A3 >\r
+boost::shared_ptr< T > allocate_shared( A const & a, A1 const & a1, A2 const & a2, A3 const & a3 )\r
+{\r
+    boost::shared_ptr< T > pt( static_cast< T* >( 0 ), detail::sp_ms_deleter< T >(), a );\r
+\r
+    detail::sp_ms_deleter< T > * pd = boost::get_deleter< detail::sp_ms_deleter< T > >( pt );\r
+\r
+    void * pv = pd->address();\r
+\r
+    ::new( pv ) T( a1, a2, a3 );\r
+    pd->set_initialized();\r
+\r
+    T * pt2 = static_cast< T* >( pv );\r
+\r
+    boost::detail::sp_enable_shared_from_this( &pt, pt2, pt2 );\r
+    return boost::shared_ptr< T >( pt, pt2 );\r
+}\r
+\r
+template< class T, class A1, class A2, class A3, class A4 >\r
+boost::shared_ptr< T > make_shared( A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4 )\r
+{\r
+    boost::shared_ptr< T > pt( static_cast< T* >( 0 ), detail::sp_ms_deleter< T >() );\r
+\r
+    detail::sp_ms_deleter< T > * pd = boost::get_deleter< detail::sp_ms_deleter< T > >( pt );\r
+\r
+    void * pv = pd->address();\r
+\r
+    ::new( pv ) T( a1, a2, a3, a4 );\r
+    pd->set_initialized();\r
+\r
+    T * pt2 = static_cast< T* >( pv );\r
+\r
+    boost::detail::sp_enable_shared_from_this( &pt, pt2, pt2 );\r
+    return boost::shared_ptr< T >( pt, pt2 );\r
+}\r
+\r
+template< class T, class A, class A1, class A2, class A3, class A4 >\r
+boost::shared_ptr< T > allocate_shared( A const & a, A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4 )\r
+{\r
+    boost::shared_ptr< T > pt( static_cast< T* >( 0 ), detail::sp_ms_deleter< T >(), a );\r
+\r
+    detail::sp_ms_deleter< T > * pd = boost::get_deleter< detail::sp_ms_deleter< T > >( pt );\r
+\r
+    void * pv = pd->address();\r
+\r
+    ::new( pv ) T( a1, a2, a3, a4 );\r
+    pd->set_initialized();\r
+\r
+    T * pt2 = static_cast< T* >( pv );\r
+\r
+    boost::detail::sp_enable_shared_from_this( &pt, pt2, pt2 );\r
+    return boost::shared_ptr< T >( pt, pt2 );\r
+}\r
+\r
+template< class T, class A1, class A2, class A3, class A4, class A5 >\r
+boost::shared_ptr< T > make_shared( A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5 )\r
+{\r
+    boost::shared_ptr< T > pt( static_cast< T* >( 0 ), detail::sp_ms_deleter< T >() );\r
+\r
+    detail::sp_ms_deleter< T > * pd = boost::get_deleter< detail::sp_ms_deleter< T > >( pt );\r
+\r
+    void * pv = pd->address();\r
+\r
+    ::new( pv ) T( a1, a2, a3, a4, a5 );\r
+    pd->set_initialized();\r
+\r
+    T * pt2 = static_cast< T* >( pv );\r
+\r
+    boost::detail::sp_enable_shared_from_this( &pt, pt2, pt2 );\r
+    return boost::shared_ptr< T >( pt, pt2 );\r
+}\r
+\r
+template< class T, class A, class A1, class A2, class A3, class A4, class A5 >\r
+boost::shared_ptr< T > allocate_shared( A const & a, A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5 )\r
+{\r
+    boost::shared_ptr< T > pt( static_cast< T* >( 0 ), detail::sp_ms_deleter< T >(), a );\r
+\r
+    detail::sp_ms_deleter< T > * pd = boost::get_deleter< detail::sp_ms_deleter< T > >( pt );\r
+\r
+    void * pv = pd->address();\r
+\r
+    ::new( pv ) T( a1, a2, a3, a4, a5 );\r
+    pd->set_initialized();\r
+\r
+    T * pt2 = static_cast< T* >( pv );\r
+\r
+    boost::detail::sp_enable_shared_from_this( &pt, pt2, pt2 );\r
+    return boost::shared_ptr< T >( pt, pt2 );\r
+}\r
+\r
+template< class T, class A1, class A2, class A3, class A4, class A5, class A6 >\r
+boost::shared_ptr< T > make_shared( A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6 )\r
+{\r
+    boost::shared_ptr< T > pt( static_cast< T* >( 0 ), detail::sp_ms_deleter< T >() );\r
+\r
+    detail::sp_ms_deleter< T > * pd = boost::get_deleter< detail::sp_ms_deleter< T > >( pt );\r
+\r
+    void * pv = pd->address();\r
+\r
+    ::new( pv ) T( a1, a2, a3, a4, a5, a6 );\r
+    pd->set_initialized();\r
+\r
+    T * pt2 = static_cast< T* >( pv );\r
+\r
+    boost::detail::sp_enable_shared_from_this( &pt, pt2, pt2 );\r
+    return boost::shared_ptr< T >( pt, pt2 );\r
+}\r
+\r
+template< class T, class A, class A1, class A2, class A3, class A4, class A5, class A6 >\r
+boost::shared_ptr< T > allocate_shared( A const & a, A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6 )\r
+{\r
+    boost::shared_ptr< T > pt( static_cast< T* >( 0 ), detail::sp_ms_deleter< T >(), a );\r
+\r
+    detail::sp_ms_deleter< T > * pd = boost::get_deleter< detail::sp_ms_deleter< T > >( pt );\r
+\r
+    void * pv = pd->address();\r
+\r
+    ::new( pv ) T( a1, a2, a3, a4, a5, a6 );\r
+    pd->set_initialized();\r
+\r
+    T * pt2 = static_cast< T* >( pv );\r
+\r
+    boost::detail::sp_enable_shared_from_this( &pt, pt2, pt2 );\r
+    return boost::shared_ptr< T >( pt, pt2 );\r
+}\r
+\r
+template< class T, class A1, class A2, class A3, class A4, class A5, class A6, class A7 >\r
+boost::shared_ptr< T > make_shared( A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6, A7 const & a7 )\r
+{\r
+    boost::shared_ptr< T > pt( static_cast< T* >( 0 ), detail::sp_ms_deleter< T >() );\r
+\r
+    detail::sp_ms_deleter< T > * pd = boost::get_deleter< detail::sp_ms_deleter< T > >( pt );\r
+\r
+    void * pv = pd->address();\r
+\r
+    ::new( pv ) T( a1, a2, a3, a4, a5, a6, a7 );\r
+    pd->set_initialized();\r
+\r
+    T * pt2 = static_cast< T* >( pv );\r
+\r
+    boost::detail::sp_enable_shared_from_this( &pt, pt2, pt2 );\r
+    return boost::shared_ptr< T >( pt, pt2 );\r
+}\r
+\r
+template< class T, class A, class A1, class A2, class A3, class A4, class A5, class A6, class A7 >\r
+boost::shared_ptr< T > allocate_shared( A const & a, A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6, A7 const & a7 )\r
+{\r
+    boost::shared_ptr< T > pt( static_cast< T* >( 0 ), detail::sp_ms_deleter< T >(), a );\r
+\r
+    detail::sp_ms_deleter< T > * pd = boost::get_deleter< detail::sp_ms_deleter< T > >( pt );\r
+\r
+    void * pv = pd->address();\r
+\r
+    ::new( pv ) T( a1, a2, a3, a4, a5, a6, a7 );\r
+    pd->set_initialized();\r
+\r
+    T * pt2 = static_cast< T* >( pv );\r
+\r
+    boost::detail::sp_enable_shared_from_this( &pt, pt2, pt2 );\r
+    return boost::shared_ptr< T >( pt, pt2 );\r
+}\r
+\r
+template< class T, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8 >\r
+boost::shared_ptr< T > make_shared( A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6, A7 const & a7, A8 const & a8 )\r
+{\r
+    boost::shared_ptr< T > pt( static_cast< T* >( 0 ), detail::sp_ms_deleter< T >() );\r
+\r
+    detail::sp_ms_deleter< T > * pd = boost::get_deleter< detail::sp_ms_deleter< T > >( pt );\r
+\r
+    void * pv = pd->address();\r
+\r
+    ::new( pv ) T( a1, a2, a3, a4, a5, a6, a7, a8 );\r
+    pd->set_initialized();\r
+\r
+    T * pt2 = static_cast< T* >( pv );\r
+\r
+    boost::detail::sp_enable_shared_from_this( &pt, pt2, pt2 );\r
+    return boost::shared_ptr< T >( pt, pt2 );\r
+}\r
+\r
+template< class T, class A, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8 >\r
+boost::shared_ptr< T > allocate_shared( A const & a, A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6, A7 const & a7, A8 const & a8 )\r
+{\r
+    boost::shared_ptr< T > pt( static_cast< T* >( 0 ), detail::sp_ms_deleter< T >(), a );\r
+\r
+    detail::sp_ms_deleter< T > * pd = boost::get_deleter< detail::sp_ms_deleter< T > >( pt );\r
+\r
+    void * pv = pd->address();\r
+\r
+    ::new( pv ) T( a1, a2, a3, a4, a5, a6, a7, a8 );\r
+    pd->set_initialized();\r
+\r
+    T * pt2 = static_cast< T* >( pv );\r
+\r
+    boost::detail::sp_enable_shared_from_this( &pt, pt2, pt2 );\r
+    return boost::shared_ptr< T >( pt, pt2 );\r
+}\r
+\r
+template< class T, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9 >\r
+boost::shared_ptr< T > make_shared( A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6, A7 const & a7, A8 const & a8, A9 const & a9 )\r
+{\r
+    boost::shared_ptr< T > pt( static_cast< T* >( 0 ), detail::sp_ms_deleter< T >() );\r
+\r
+    detail::sp_ms_deleter< T > * pd = boost::get_deleter< detail::sp_ms_deleter< T > >( pt );\r
+\r
+    void * pv = pd->address();\r
+\r
+    ::new( pv ) T( a1, a2, a3, a4, a5, a6, a7, a8, a9 );\r
+    pd->set_initialized();\r
+\r
+    T * pt2 = static_cast< T* >( pv );\r
+\r
+    boost::detail::sp_enable_shared_from_this( &pt, pt2, pt2 );\r
+    return boost::shared_ptr< T >( pt, pt2 );\r
+}\r
+\r
+template< class T, class A, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9 >\r
+boost::shared_ptr< T > allocate_shared( A const & a, A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6, A7 const & a7, A8 const & a8, A9 const & a9 )\r
+{\r
+    boost::shared_ptr< T > pt( static_cast< T* >( 0 ), detail::sp_ms_deleter< T >(), a );\r
+\r
+    detail::sp_ms_deleter< T > * pd = boost::get_deleter< detail::sp_ms_deleter< T > >( pt );\r
+\r
+    void * pv = pd->address();\r
+\r
+    ::new( pv ) T( a1, a2, a3, a4, a5, a6, a7, a8, a9 );\r
+    pd->set_initialized();\r
+\r
+    T * pt2 = static_cast< T* >( pv );\r
+\r
+    boost::detail::sp_enable_shared_from_this( &pt, pt2, pt2 );\r
+    return boost::shared_ptr< T >( pt, pt2 );\r
+}\r
+\r
+#endif\r
+\r
+} // namespace boost\r
+\r
+#endif // #ifndef BOOST_SMART_PTR_MAKE_SHARED_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/scoped_array.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/scoped_array.hpp
new file mode 100644 (file)
index 0000000..79c5a70
--- /dev/null
@@ -0,0 +1,107 @@
+#ifndef BOOST_SMART_PTR_SCOPED_ARRAY_HPP_INCLUDED\r
+#define BOOST_SMART_PTR_SCOPED_ARRAY_HPP_INCLUDED\r
+\r
+//  (C) Copyright Greg Colvin and Beman Dawes 1998, 1999.\r
+//  Copyright (c) 2001, 2002 Peter Dimov\r
+//\r
+//  Distributed under the Boost Software License, Version 1.0. (See\r
+//  accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+//  http://www.boost.org/libs/smart_ptr/scoped_array.htm\r
+//\r
+\r
+#include <boost/assert.hpp>\r
+#include <boost/checked_delete.hpp>\r
+#include <boost/config.hpp>   // in case ptrdiff_t not in std\r
+\r
+#include <boost/detail/workaround.hpp>\r
+\r
+#include <cstddef>            // for std::ptrdiff_t\r
+\r
+namespace boost\r
+{\r
+\r
+// Debug hooks\r
+\r
+#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)\r
+\r
+void sp_array_constructor_hook(void * p);\r
+void sp_array_destructor_hook(void * p);\r
+\r
+#endif\r
+\r
+//  scoped_array extends scoped_ptr to arrays. Deletion of the array pointed to\r
+//  is guaranteed, either on destruction of the scoped_array or via an explicit\r
+//  reset(). Use shared_array or std::vector if your needs are more complex.\r
+\r
+template<class T> class scoped_array // noncopyable\r
+{\r
+private:\r
+\r
+    T * px;\r
+\r
+    scoped_array(scoped_array const &);\r
+    scoped_array & operator=(scoped_array const &);\r
+\r
+    typedef scoped_array<T> this_type;\r
+\r
+    void operator==( scoped_array const& ) const;\r
+    void operator!=( scoped_array const& ) const;\r
+\r
+public:\r
+\r
+    typedef T element_type;\r
+\r
+    explicit scoped_array( T * p = 0 ) : px( p ) // never throws\r
+    {\r
+#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)\r
+        boost::sp_array_constructor_hook( px );\r
+#endif\r
+    }\r
+\r
+    ~scoped_array() // never throws\r
+    {\r
+#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)\r
+        boost::sp_array_destructor_hook( px );\r
+#endif\r
+        boost::checked_array_delete( px );\r
+    }\r
+\r
+    void reset(T * p = 0) // never throws\r
+    {\r
+        BOOST_ASSERT( p == 0 || p != px ); // catch self-reset errors\r
+        this_type(p).swap(*this);\r
+    }\r
+\r
+    T & operator[](std::ptrdiff_t i) const // never throws\r
+    {\r
+        BOOST_ASSERT( px != 0 );\r
+        BOOST_ASSERT( i >= 0 );\r
+        return px[i];\r
+    }\r
+\r
+    T * get() const // never throws\r
+    {\r
+        return px;\r
+    }\r
+\r
+// implicit conversion to "bool"\r
+#include <boost/smart_ptr/detail/operator_bool.hpp>\r
+\r
+    void swap(scoped_array & b) // never throws\r
+    {\r
+        T * tmp = b.px;\r
+        b.px = px;\r
+        px = tmp;\r
+    }\r
+};\r
+\r
+template<class T> inline void swap(scoped_array<T> & a, scoped_array<T> & b) // never throws\r
+{\r
+    a.swap(b);\r
+}\r
+\r
+} // namespace boost\r
+\r
+#endif  // #ifndef BOOST_SMART_PTR_SCOPED_ARRAY_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/scoped_ptr.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/scoped_ptr.hpp
new file mode 100644 (file)
index 0000000..ea22505
--- /dev/null
@@ -0,0 +1,131 @@
+#ifndef BOOST_SMART_PTR_SCOPED_PTR_HPP_INCLUDED\r
+#define BOOST_SMART_PTR_SCOPED_PTR_HPP_INCLUDED\r
+\r
+//  (C) Copyright Greg Colvin and Beman Dawes 1998, 1999.\r
+//  Copyright (c) 2001, 2002 Peter Dimov\r
+//\r
+//  Distributed under the Boost Software License, Version 1.0. (See\r
+//  accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+//  http://www.boost.org/libs/smart_ptr/scoped_ptr.htm\r
+//\r
+\r
+#include <boost/assert.hpp>\r
+#include <boost/checked_delete.hpp>\r
+#include <boost/detail/workaround.hpp>\r
+\r
+#ifndef BOOST_NO_AUTO_PTR\r
+# include <memory>          // for std::auto_ptr\r
+#endif\r
+\r
+namespace boost\r
+{\r
+\r
+// Debug hooks\r
+\r
+#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)\r
+\r
+void sp_scalar_constructor_hook(void * p);\r
+void sp_scalar_destructor_hook(void * p);\r
+\r
+#endif\r
+\r
+//  scoped_ptr mimics a built-in pointer except that it guarantees deletion\r
+//  of the object pointed to, either on destruction of the scoped_ptr or via\r
+//  an explicit reset(). scoped_ptr is a simple solution for simple needs;\r
+//  use shared_ptr or std::auto_ptr if your needs are more complex.\r
+\r
+template<class T> class scoped_ptr // noncopyable\r
+{\r
+private:\r
+\r
+    T * px;\r
+\r
+    scoped_ptr(scoped_ptr const &);\r
+    scoped_ptr & operator=(scoped_ptr const &);\r
+\r
+    typedef scoped_ptr<T> this_type;\r
+\r
+    void operator==( scoped_ptr const& ) const;\r
+    void operator!=( scoped_ptr const& ) const;\r
+\r
+public:\r
+\r
+    typedef T element_type;\r
+\r
+    explicit scoped_ptr( T * p = 0 ): px( p ) // never throws\r
+    {\r
+#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)\r
+        boost::sp_scalar_constructor_hook( px );\r
+#endif\r
+    }\r
+\r
+#ifndef BOOST_NO_AUTO_PTR\r
+\r
+    explicit scoped_ptr( std::auto_ptr<T> p ): px( p.release() ) // never throws\r
+    {\r
+#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)\r
+        boost::sp_scalar_constructor_hook( px );\r
+#endif\r
+    }\r
+\r
+#endif\r
+\r
+    ~scoped_ptr() // never throws\r
+    {\r
+#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)\r
+        boost::sp_scalar_destructor_hook( px );\r
+#endif\r
+        boost::checked_delete( px );\r
+    }\r
+\r
+    void reset(T * p = 0) // never throws\r
+    {\r
+        BOOST_ASSERT( p == 0 || p != px ); // catch self-reset errors\r
+        this_type(p).swap(*this);\r
+    }\r
+\r
+    T & operator*() const // never throws\r
+    {\r
+        BOOST_ASSERT( px != 0 );\r
+        return *px;\r
+    }\r
+\r
+    T * operator->() const // never throws\r
+    {\r
+        BOOST_ASSERT( px != 0 );\r
+        return px;\r
+    }\r
+\r
+    T * get() const // never throws\r
+    {\r
+        return px;\r
+    }\r
+\r
+// implicit conversion to "bool"\r
+#include <boost/smart_ptr/detail/operator_bool.hpp>\r
+\r
+    void swap(scoped_ptr & b) // never throws\r
+    {\r
+        T * tmp = b.px;\r
+        b.px = px;\r
+        px = tmp;\r
+    }\r
+};\r
+\r
+template<class T> inline void swap(scoped_ptr<T> & a, scoped_ptr<T> & b) // never throws\r
+{\r
+    a.swap(b);\r
+}\r
+\r
+// get_pointer(p) is a generic way to say p.get()\r
+\r
+template<class T> inline T * get_pointer(scoped_ptr<T> const & p)\r
+{\r
+    return p.get();\r
+}\r
+\r
+} // namespace boost\r
+\r
+#endif // #ifndef BOOST_SMART_PTR_SCOPED_PTR_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/shared_array.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/shared_array.hpp
new file mode 100644 (file)
index 0000000..8641889
--- /dev/null
@@ -0,0 +1,147 @@
+#ifndef BOOST_SMART_PTR_SHARED_ARRAY_HPP_INCLUDED\r
+#define BOOST_SMART_PTR_SHARED_ARRAY_HPP_INCLUDED\r
+\r
+//\r
+//  shared_array.hpp\r
+//\r
+//  (C) Copyright Greg Colvin and Beman Dawes 1998, 1999.\r
+//  Copyright (c) 2001, 2002 Peter Dimov\r
+//\r
+//  Distributed under the Boost Software License, Version 1.0. (See\r
+//  accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+//  See http://www.boost.org/libs/smart_ptr/shared_array.htm for documentation.\r
+//\r
+\r
+#include <boost/config.hpp>   // for broken compiler workarounds\r
+\r
+#if defined(BOOST_NO_MEMBER_TEMPLATES) && !defined(BOOST_MSVC6_MEMBER_TEMPLATES)\r
+#include <boost/smart_ptr/detail/shared_array_nmt.hpp>\r
+#else\r
+\r
+#include <memory>             // TR1 cyclic inclusion fix\r
+\r
+#include <boost/assert.hpp>\r
+#include <boost/checked_delete.hpp>\r
+\r
+#include <boost/smart_ptr/detail/shared_count.hpp>\r
+#include <boost/detail/workaround.hpp>\r
+\r
+#include <cstddef>            // for std::ptrdiff_t\r
+#include <algorithm>          // for std::swap\r
+#include <functional>         // for std::less\r
+\r
+namespace boost\r
+{\r
+\r
+//\r
+//  shared_array\r
+//\r
+//  shared_array extends shared_ptr to arrays.\r
+//  The array pointed to is deleted when the last shared_array pointing to it\r
+//  is destroyed or reset.\r
+//\r
+\r
+template<class T> class shared_array\r
+{\r
+private:\r
+\r
+    // Borland 5.5.1 specific workarounds\r
+    typedef checked_array_deleter<T> deleter;\r
+    typedef shared_array<T> this_type;\r
+\r
+public:\r
+\r
+    typedef T element_type;\r
+\r
+    explicit shared_array(T * p = 0): px(p), pn(p, deleter())\r
+    {\r
+    }\r
+\r
+    //\r
+    // Requirements: D's copy constructor must not throw\r
+    //\r
+    // shared_array will release p by calling d(p)\r
+    //\r
+\r
+    template<class D> shared_array(T * p, D d): px(p), pn(p, d)\r
+    {\r
+    }\r
+\r
+//  generated copy constructor, assignment, destructor are fine\r
+\r
+    void reset(T * p = 0)\r
+    {\r
+        BOOST_ASSERT(p == 0 || p != px);\r
+        this_type(p).swap(*this);\r
+    }\r
+\r
+    template <class D> void reset(T * p, D d)\r
+    {\r
+        this_type(p, d).swap(*this);\r
+    }\r
+\r
+    T & operator[] (std::ptrdiff_t i) const // never throws\r
+    {\r
+        BOOST_ASSERT(px != 0);\r
+        BOOST_ASSERT(i >= 0);\r
+        return px[i];\r
+    }\r
+    \r
+    T * get() const // never throws\r
+    {\r
+        return px;\r
+    }\r
+\r
+// implicit conversion to "bool"\r
+#include <boost/smart_ptr/detail/operator_bool.hpp>\r
+\r
+    bool unique() const // never throws\r
+    {\r
+        return pn.unique();\r
+    }\r
+\r
+    long use_count() const // never throws\r
+    {\r
+        return pn.use_count();\r
+    }\r
+\r
+    void swap(shared_array<T> & other) // never throws\r
+    {\r
+        std::swap(px, other.px);\r
+        pn.swap(other.pn);\r
+    }\r
+\r
+private:\r
+\r
+    T * px;                     // contained pointer\r
+    detail::shared_count pn;    // reference counter\r
+\r
+};  // shared_array\r
+\r
+template<class T> inline bool operator==(shared_array<T> const & a, shared_array<T> const & b) // never throws\r
+{\r
+    return a.get() == b.get();\r
+}\r
+\r
+template<class T> inline bool operator!=(shared_array<T> const & a, shared_array<T> const & b) // never throws\r
+{\r
+    return a.get() != b.get();\r
+}\r
+\r
+template<class T> inline bool operator<(shared_array<T> const & a, shared_array<T> const & b) // never throws\r
+{\r
+    return std::less<T*>()(a.get(), b.get());\r
+}\r
+\r
+template<class T> void swap(shared_array<T> & a, shared_array<T> & b) // never throws\r
+{\r
+    a.swap(b);\r
+}\r
+\r
+} // namespace boost\r
+\r
+#endif  // #if defined(BOOST_NO_MEMBER_TEMPLATES) && !defined(BOOST_MSVC6_MEMBER_TEMPLATES)\r
+\r
+#endif  // #ifndef BOOST_SMART_PTR_SHARED_ARRAY_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/shared_ptr.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/shared_ptr.hpp
new file mode 100644 (file)
index 0000000..78d367a
--- /dev/null
@@ -0,0 +1,701 @@
+#ifndef BOOST_SMART_PTR_SHARED_PTR_HPP_INCLUDED\r
+#define BOOST_SMART_PTR_SHARED_PTR_HPP_INCLUDED\r
+\r
+//\r
+//  shared_ptr.hpp\r
+//\r
+//  (C) Copyright Greg Colvin and Beman Dawes 1998, 1999.\r
+//  Copyright (c) 2001-2008 Peter Dimov\r
+//\r
+//  Distributed under the Boost Software License, Version 1.0. (See\r
+//  accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+//  See http://www.boost.org/libs/smart_ptr/shared_ptr.htm for documentation.\r
+//\r
+\r
+#include <boost/config.hpp>   // for broken compiler workarounds\r
+\r
+#if defined(BOOST_NO_MEMBER_TEMPLATES) && !defined(BOOST_MSVC6_MEMBER_TEMPLATES)\r
+#include <boost/smart_ptr/detail/shared_ptr_nmt.hpp>\r
+#else\r
+\r
+// In order to avoid circular dependencies with Boost.TR1\r
+// we make sure that our include of <memory> doesn't try to\r
+// pull in the TR1 headers: that's why we use this header \r
+// rather than including <memory> directly:\r
+#include <boost/config/no_tr1/memory.hpp>  // std::auto_ptr\r
+\r
+#include <boost/assert.hpp>\r
+#include <boost/checked_delete.hpp>\r
+#include <boost/throw_exception.hpp>\r
+#include <boost/smart_ptr/detail/shared_count.hpp>\r
+#include <boost/detail/workaround.hpp>\r
+#include <boost/smart_ptr/detail/sp_convertible.hpp>\r
+\r
+#if !defined(BOOST_SP_NO_ATOMIC_ACCESS)\r
+#include <boost/smart_ptr/detail/spinlock_pool.hpp>\r
+#include <boost/memory_order.hpp>\r
+#endif\r
+\r
+#include <algorithm>            // for std::swap\r
+#include <functional>           // for std::less\r
+#include <typeinfo>             // for std::bad_cast\r
+\r
+#if !defined(BOOST_NO_IOSTREAM)\r
+#if !defined(BOOST_NO_IOSFWD)\r
+#include <iosfwd>               // for std::basic_ostream\r
+#else\r
+#include <ostream>\r
+#endif\r
+#endif\r
+\r
+#ifdef BOOST_MSVC  // moved here to work around VC++ compiler crash\r
+# pragma warning(push)\r
+# pragma warning(disable:4284) // odd return type for operator->\r
+#endif\r
+\r
+namespace boost\r
+{\r
+\r
+template<class T> class shared_ptr;\r
+template<class T> class weak_ptr;\r
+template<class T> class enable_shared_from_this;\r
+template<class T> class enable_shared_from_this2;\r
+\r
+namespace detail\r
+{\r
+\r
+struct static_cast_tag {};\r
+struct const_cast_tag {};\r
+struct dynamic_cast_tag {};\r
+struct polymorphic_cast_tag {};\r
+\r
+template<class T> struct shared_ptr_traits\r
+{\r
+    typedef T & reference;\r
+};\r
+\r
+template<> struct shared_ptr_traits<void>\r
+{\r
+    typedef void reference;\r
+};\r
+\r
+#if !defined(BOOST_NO_CV_VOID_SPECIALIZATIONS)\r
+\r
+template<> struct shared_ptr_traits<void const>\r
+{\r
+    typedef void reference;\r
+};\r
+\r
+template<> struct shared_ptr_traits<void volatile>\r
+{\r
+    typedef void reference;\r
+};\r
+\r
+template<> struct shared_ptr_traits<void const volatile>\r
+{\r
+    typedef void reference;\r
+};\r
+\r
+#endif\r
+\r
+// enable_shared_from_this support\r
+\r
+template< class X, class Y, class T > inline void sp_enable_shared_from_this( boost::shared_ptr<X> const * ppx, Y const * py, boost::enable_shared_from_this< T > const * pe )\r
+{\r
+    if( pe != 0 )\r
+    {\r
+        pe->_internal_accept_owner( ppx, const_cast< Y* >( py ) );\r
+    }\r
+}\r
+\r
+template< class X, class Y, class T > inline void sp_enable_shared_from_this( boost::shared_ptr<X> * ppx, Y const * py, boost::enable_shared_from_this2< T > const * pe )\r
+{\r
+    if( pe != 0 )\r
+    {\r
+        pe->_internal_accept_owner( ppx, const_cast< Y* >( py ) );\r
+    }\r
+}\r
+\r
+#ifdef _MANAGED\r
+\r
+// Avoid C4793, ... causes native code generation\r
+\r
+struct sp_any_pointer\r
+{\r
+    template<class T> sp_any_pointer( T* ) {}\r
+};\r
+\r
+inline void sp_enable_shared_from_this( sp_any_pointer, sp_any_pointer, sp_any_pointer )\r
+{\r
+}\r
+\r
+#else // _MANAGED\r
+\r
+inline void sp_enable_shared_from_this( ... )\r
+{\r
+}\r
+\r
+#endif // _MANAGED\r
+\r
+#if !defined( BOOST_NO_SFINAE ) && !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION ) && !defined( BOOST_NO_AUTO_PTR )\r
+\r
+// rvalue auto_ptr support based on a technique by Dave Abrahams\r
+\r
+template< class T, class R > struct sp_enable_if_auto_ptr\r
+{\r
+};\r
+\r
+template< class T, class R > struct sp_enable_if_auto_ptr< std::auto_ptr< T >, R >\r
+{\r
+    typedef R type;\r
+}; \r
+\r
+#endif\r
+\r
+} // namespace detail\r
+\r
+\r
+//\r
+//  shared_ptr\r
+//\r
+//  An enhanced relative of scoped_ptr with reference counted copy semantics.\r
+//  The object pointed to is deleted when the last shared_ptr pointing to it\r
+//  is destroyed or reset.\r
+//\r
+\r
+template<class T> class shared_ptr\r
+{\r
+private:\r
+\r
+    // Borland 5.5.1 specific workaround\r
+    typedef shared_ptr<T> this_type;\r
+\r
+public:\r
+\r
+    typedef T element_type;\r
+    typedef T value_type;\r
+    typedef T * pointer;\r
+    typedef typename boost::detail::shared_ptr_traits<T>::reference reference;\r
+\r
+    shared_ptr(): px(0), pn() // never throws in 1.30+\r
+    {\r
+    }\r
+\r
+    template<class Y>\r
+    explicit shared_ptr( Y * p ): px( p ), pn( p ) // Y must be complete\r
+    {\r
+        boost::detail::sp_enable_shared_from_this( this, p, p );\r
+    }\r
+\r
+    //\r
+    // Requirements: D's copy constructor must not throw\r
+    //\r
+    // shared_ptr will release p by calling d(p)\r
+    //\r
+\r
+    template<class Y, class D> shared_ptr(Y * p, D d): px(p), pn(p, d)\r
+    {\r
+        boost::detail::sp_enable_shared_from_this( this, p, p );\r
+    }\r
+\r
+    // As above, but with allocator. A's copy constructor shall not throw.\r
+\r
+    template<class Y, class D, class A> shared_ptr( Y * p, D d, A a ): px( p ), pn( p, d, a )\r
+    {\r
+        boost::detail::sp_enable_shared_from_this( this, p, p );\r
+    }\r
+\r
+//  generated copy constructor, destructor are fine\r
+\r
+    template<class Y>\r
+    explicit shared_ptr(weak_ptr<Y> const & r): pn(r.pn) // may throw\r
+    {\r
+        // it is now safe to copy r.px, as pn(r.pn) did not throw\r
+        px = r.px;\r
+    }\r
+\r
+    template<class Y>\r
+    shared_ptr( weak_ptr<Y> const & r, boost::detail::sp_nothrow_tag ): px( 0 ), pn( r.pn, boost::detail::sp_nothrow_tag() ) // never throws\r
+    {\r
+        if( !pn.empty() )\r
+        {\r
+            px = r.px;\r
+        }\r
+    }\r
+\r
+    template<class Y>\r
+#if !defined( BOOST_SP_NO_SP_CONVERTIBLE )\r
+\r
+    shared_ptr( shared_ptr<Y> const & r, typename boost::detail::sp_enable_if_convertible<Y,T>::type = boost::detail::sp_empty() )\r
+\r
+#else\r
+\r
+    shared_ptr( shared_ptr<Y> const & r )\r
+\r
+#endif\r
+    : px( r.px ), pn( r.pn ) // never throws\r
+    {\r
+    }\r
+\r
+    // aliasing\r
+    template< class Y >\r
+    shared_ptr( shared_ptr<Y> const & r, T * p ): px( p ), pn( r.pn ) // never throws\r
+    {\r
+    }\r
+\r
+    template<class Y>\r
+    shared_ptr(shared_ptr<Y> const & r, boost::detail::static_cast_tag): px(static_cast<element_type *>(r.px)), pn(r.pn)\r
+    {\r
+    }\r
+\r
+    template<class Y>\r
+    shared_ptr(shared_ptr<Y> const & r, boost::detail::const_cast_tag): px(const_cast<element_type *>(r.px)), pn(r.pn)\r
+    {\r
+    }\r
+\r
+    template<class Y>\r
+    shared_ptr(shared_ptr<Y> const & r, boost::detail::dynamic_cast_tag): px(dynamic_cast<element_type *>(r.px)), pn(r.pn)\r
+    {\r
+        if(px == 0) // need to allocate new counter -- the cast failed\r
+        {\r
+            pn = boost::detail::shared_count();\r
+        }\r
+    }\r
+\r
+    template<class Y>\r
+    shared_ptr(shared_ptr<Y> const & r, boost::detail::polymorphic_cast_tag): px(dynamic_cast<element_type *>(r.px)), pn(r.pn)\r
+    {\r
+        if(px == 0)\r
+        {\r
+            boost::throw_exception(std::bad_cast());\r
+        }\r
+    }\r
+\r
+#ifndef BOOST_NO_AUTO_PTR\r
+\r
+    template<class Y>\r
+    explicit shared_ptr(std::auto_ptr<Y> & r): px(r.get()), pn()\r
+    {\r
+        Y * tmp = r.get();\r
+        pn = boost::detail::shared_count(r);\r
+        boost::detail::sp_enable_shared_from_this( this, tmp, tmp );\r
+    }\r
+\r
+#if !defined( BOOST_NO_SFINAE ) && !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )\r
+\r
+    template<class Ap>\r
+    explicit shared_ptr( Ap r, typename boost::detail::sp_enable_if_auto_ptr<Ap, int>::type = 0 ): px( r.get() ), pn()\r
+    {\r
+        typename Ap::element_type * tmp = r.get();\r
+        pn = boost::detail::shared_count( r );\r
+        boost::detail::sp_enable_shared_from_this( this, tmp, tmp );\r
+    }\r
+\r
+\r
+#endif // BOOST_NO_SFINAE, BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+\r
+#endif // BOOST_NO_AUTO_PTR\r
+\r
+    // assignment\r
+\r
+    shared_ptr & operator=( shared_ptr const & r ) // never throws\r
+    {\r
+        this_type(r).swap(*this);\r
+        return *this;\r
+    }\r
+\r
+#if !defined(BOOST_MSVC) || (BOOST_MSVC >= 1400)\r
+\r
+    template<class Y>\r
+    shared_ptr & operator=(shared_ptr<Y> const & r) // never throws\r
+    {\r
+        this_type(r).swap(*this);\r
+        return *this;\r
+    }\r
+\r
+#endif\r
+\r
+#ifndef BOOST_NO_AUTO_PTR\r
+\r
+    template<class Y>\r
+    shared_ptr & operator=( std::auto_ptr<Y> & r )\r
+    {\r
+        this_type(r).swap(*this);\r
+        return *this;\r
+    }\r
+\r
+#if !defined( BOOST_NO_SFINAE ) && !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )\r
+\r
+    template<class Ap>\r
+    typename boost::detail::sp_enable_if_auto_ptr< Ap, shared_ptr & >::type operator=( Ap r )\r
+    {\r
+        this_type( r ).swap( *this );\r
+        return *this;\r
+    }\r
+\r
+\r
+#endif // BOOST_NO_SFINAE, BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+\r
+#endif // BOOST_NO_AUTO_PTR\r
+\r
+// Move support\r
+\r
+#if defined( BOOST_HAS_RVALUE_REFS )\r
+\r
+    shared_ptr( shared_ptr && r ): px( r.px ), pn() // never throws\r
+    {\r
+        pn.swap( r.pn );\r
+        r.px = 0;\r
+    }\r
+\r
+    template<class Y>\r
+#if !defined( BOOST_SP_NO_SP_CONVERTIBLE )\r
+\r
+    shared_ptr( shared_ptr<Y> && r, typename boost::detail::sp_enable_if_convertible<Y,T>::type = boost::detail::sp_empty() )\r
+\r
+#else\r
+\r
+    shared_ptr( shared_ptr<Y> && r )\r
+\r
+#endif\r
+    : px( r.px ), pn() // never throws\r
+    {\r
+        pn.swap( r.pn );\r
+        r.px = 0;\r
+    }\r
+\r
+    shared_ptr & operator=( shared_ptr && r ) // never throws\r
+    {\r
+        this_type( static_cast< shared_ptr && >( r ) ).swap( *this );\r
+        return *this;\r
+    }\r
+\r
+    template<class Y>\r
+    shared_ptr & operator=( shared_ptr<Y> && r ) // never throws\r
+    {\r
+        this_type( static_cast< shared_ptr<Y> && >( r ) ).swap( *this );\r
+        return *this;\r
+    }\r
+\r
+#endif\r
+\r
+    void reset() // never throws in 1.30+\r
+    {\r
+        this_type().swap(*this);\r
+    }\r
+\r
+    template<class Y> void reset(Y * p) // Y must be complete\r
+    {\r
+        BOOST_ASSERT(p == 0 || p != px); // catch self-reset errors\r
+        this_type(p).swap(*this);\r
+    }\r
+\r
+    template<class Y, class D> void reset( Y * p, D d )\r
+    {\r
+        this_type( p, d ).swap( *this );\r
+    }\r
+\r
+    template<class Y, class D, class A> void reset( Y * p, D d, A a )\r
+    {\r
+        this_type( p, d, a ).swap( *this );\r
+    }\r
+\r
+    template<class Y> void reset( shared_ptr<Y> const & r, T * p )\r
+    {\r
+        this_type( r, p ).swap( *this );\r
+    }\r
+\r
+    reference operator* () const // never throws\r
+    {\r
+        BOOST_ASSERT(px != 0);\r
+        return *px;\r
+    }\r
+\r
+    T * operator-> () const // never throws\r
+    {\r
+        BOOST_ASSERT(px != 0);\r
+        return px;\r
+    }\r
+\r
+    T * get() const // never throws\r
+    {\r
+        return px;\r
+    }\r
+\r
+// implicit conversion to "bool"\r
+#include <boost/smart_ptr/detail/operator_bool.hpp>\r
+\r
+    bool unique() const // never throws\r
+    {\r
+        return pn.unique();\r
+    }\r
+\r
+    long use_count() const // never throws\r
+    {\r
+        return pn.use_count();\r
+    }\r
+\r
+    void swap(shared_ptr<T> & other) // never throws\r
+    {\r
+        std::swap(px, other.px);\r
+        pn.swap(other.pn);\r
+    }\r
+\r
+    template<class Y> bool _internal_less(shared_ptr<Y> const & rhs) const\r
+    {\r
+        return pn < rhs.pn;\r
+    }\r
+\r
+    void * _internal_get_deleter( boost::detail::sp_typeinfo const & ti ) const\r
+    {\r
+        return pn.get_deleter( ti );\r
+    }\r
+\r
+    bool _internal_equiv( shared_ptr const & r ) const\r
+    {\r
+        return px == r.px && pn == r.pn;\r
+    }\r
+\r
+// Tasteless as this may seem, making all members public allows member templates\r
+// to work in the absence of member template friends. (Matthew Langston)\r
+\r
+#ifndef BOOST_NO_MEMBER_TEMPLATE_FRIENDS\r
+\r
+private:\r
+\r
+    template<class Y> friend class shared_ptr;\r
+    template<class Y> friend class weak_ptr;\r
+\r
+\r
+#endif\r
+\r
+    T * px;                     // contained pointer\r
+    boost::detail::shared_count pn;    // reference counter\r
+\r
+};  // shared_ptr\r
+\r
+template<class T, class U> inline bool operator==(shared_ptr<T> const & a, shared_ptr<U> const & b)\r
+{\r
+    return a.get() == b.get();\r
+}\r
+\r
+template<class T, class U> inline bool operator!=(shared_ptr<T> const & a, shared_ptr<U> const & b)\r
+{\r
+    return a.get() != b.get();\r
+}\r
+\r
+#if __GNUC__ == 2 && __GNUC_MINOR__ <= 96\r
+\r
+// Resolve the ambiguity between our op!= and the one in rel_ops\r
+\r
+template<class T> inline bool operator!=(shared_ptr<T> const & a, shared_ptr<T> const & b)\r
+{\r
+    return a.get() != b.get();\r
+}\r
+\r
+#endif\r
+\r
+template<class T, class U> inline bool operator<(shared_ptr<T> const & a, shared_ptr<U> const & b)\r
+{\r
+    return a._internal_less(b);\r
+}\r
+\r
+template<class T> inline void swap(shared_ptr<T> & a, shared_ptr<T> & b)\r
+{\r
+    a.swap(b);\r
+}\r
+\r
+template<class T, class U> shared_ptr<T> static_pointer_cast(shared_ptr<U> const & r)\r
+{\r
+    return shared_ptr<T>(r, boost::detail::static_cast_tag());\r
+}\r
+\r
+template<class T, class U> shared_ptr<T> const_pointer_cast(shared_ptr<U> const & r)\r
+{\r
+    return shared_ptr<T>(r, boost::detail::const_cast_tag());\r
+}\r
+\r
+template<class T, class U> shared_ptr<T> dynamic_pointer_cast(shared_ptr<U> const & r)\r
+{\r
+    return shared_ptr<T>(r, boost::detail::dynamic_cast_tag());\r
+}\r
+\r
+// shared_*_cast names are deprecated. Use *_pointer_cast instead.\r
+\r
+template<class T, class U> shared_ptr<T> shared_static_cast(shared_ptr<U> const & r)\r
+{\r
+    return shared_ptr<T>(r, boost::detail::static_cast_tag());\r
+}\r
+\r
+template<class T, class U> shared_ptr<T> shared_dynamic_cast(shared_ptr<U> const & r)\r
+{\r
+    return shared_ptr<T>(r, boost::detail::dynamic_cast_tag());\r
+}\r
+\r
+template<class T, class U> shared_ptr<T> shared_polymorphic_cast(shared_ptr<U> const & r)\r
+{\r
+    return shared_ptr<T>(r, boost::detail::polymorphic_cast_tag());\r
+}\r
+\r
+template<class T, class U> shared_ptr<T> shared_polymorphic_downcast(shared_ptr<U> const & r)\r
+{\r
+    BOOST_ASSERT(dynamic_cast<T *>(r.get()) == r.get());\r
+    return shared_static_cast<T>(r);\r
+}\r
+\r
+// get_pointer() enables boost::mem_fn to recognize shared_ptr\r
+\r
+template<class T> inline T * get_pointer(shared_ptr<T> const & p)\r
+{\r
+    return p.get();\r
+}\r
+\r
+// operator<<\r
+\r
+#if !defined(BOOST_NO_IOSTREAM)\r
+\r
+#if defined(BOOST_NO_TEMPLATED_IOSTREAMS) || ( defined(__GNUC__) &&  (__GNUC__ < 3) )\r
+\r
+template<class Y> std::ostream & operator<< (std::ostream & os, shared_ptr<Y> const & p)\r
+{\r
+    os << p.get();\r
+    return os;\r
+}\r
+\r
+#else\r
+\r
+// in STLport's no-iostreams mode no iostream symbols can be used\r
+#ifndef _STLP_NO_IOSTREAMS\r
+\r
+# if defined(BOOST_MSVC) && BOOST_WORKAROUND(BOOST_MSVC, < 1300 && __SGI_STL_PORT)\r
+// MSVC6 has problems finding std::basic_ostream through the using declaration in namespace _STL\r
+using std::basic_ostream;\r
+template<class E, class T, class Y> basic_ostream<E, T> & operator<< (basic_ostream<E, T> & os, shared_ptr<Y> const & p)\r
+# else\r
+template<class E, class T, class Y> std::basic_ostream<E, T> & operator<< (std::basic_ostream<E, T> & os, shared_ptr<Y> const & p)\r
+# endif\r
+{\r
+    os << p.get();\r
+    return os;\r
+}\r
+\r
+#endif // _STLP_NO_IOSTREAMS\r
+\r
+#endif // __GNUC__ < 3\r
+\r
+#endif // !defined(BOOST_NO_IOSTREAM)\r
+\r
+// get_deleter\r
+\r
+#if ( defined(__GNUC__) && BOOST_WORKAROUND(__GNUC__, < 3) ) || \\r
+    ( defined(__EDG_VERSION__) && BOOST_WORKAROUND(__EDG_VERSION__, <= 238) ) || \\r
+    ( defined(__HP_aCC) && BOOST_WORKAROUND(__HP_aCC, <= 33500) )\r
+\r
+// g++ 2.9x doesn't allow static_cast<X const *>(void *)\r
+// apparently EDG 2.38 and HP aCC A.03.35 also don't accept it\r
+\r
+template<class D, class T> D * get_deleter(shared_ptr<T> const & p)\r
+{\r
+    void const * q = p._internal_get_deleter(BOOST_SP_TYPEID(D));\r
+    return const_cast<D *>(static_cast<D const *>(q));\r
+}\r
+\r
+#else\r
+\r
+template<class D, class T> D * get_deleter(shared_ptr<T> const & p)\r
+{\r
+    return static_cast<D *>(p._internal_get_deleter(BOOST_SP_TYPEID(D)));\r
+}\r
+\r
+#endif\r
+\r
+// atomic access\r
+\r
+#if !defined(BOOST_SP_NO_ATOMIC_ACCESS)\r
+\r
+template<class T> inline bool atomic_is_lock_free( shared_ptr<T> const * /*p*/ )\r
+{\r
+    return false;\r
+}\r
+\r
+template<class T> shared_ptr<T> atomic_load( shared_ptr<T> const * p )\r
+{\r
+    boost::detail::spinlock_pool<2>::scoped_lock lock( p );\r
+    return *p;\r
+}\r
+\r
+template<class T> inline shared_ptr<T> atomic_load_explicit( shared_ptr<T> const * p, memory_order /*mo*/ )\r
+{\r
+    return atomic_load( p );\r
+}\r
+\r
+template<class T> void atomic_store( shared_ptr<T> * p, shared_ptr<T> r )\r
+{\r
+    boost::detail::spinlock_pool<2>::scoped_lock lock( p );\r
+    p->swap( r );\r
+}\r
+\r
+template<class T> inline void atomic_store_explicit( shared_ptr<T> * p, shared_ptr<T> r, memory_order /*mo*/ )\r
+{\r
+    atomic_store( p, r ); // std::move( r )\r
+}\r
+\r
+template<class T> shared_ptr<T> atomic_exchange( shared_ptr<T> * p, shared_ptr<T> r )\r
+{\r
+    boost::detail::spinlock & sp = boost::detail::spinlock_pool<2>::spinlock_for( p );\r
+\r
+    sp.lock();\r
+    p->swap( r );\r
+    sp.unlock();\r
+\r
+    return r; // return std::move( r )\r
+}\r
+\r
+template<class T> shared_ptr<T> atomic_exchange_explicit( shared_ptr<T> * p, shared_ptr<T> r, memory_order /*mo*/ )\r
+{\r
+    return atomic_exchange( p, r ); // std::move( r )\r
+}\r
+\r
+template<class T> bool atomic_compare_exchange( shared_ptr<T> * p, shared_ptr<T> * v, shared_ptr<T> w )\r
+{\r
+    boost::detail::spinlock & sp = boost::detail::spinlock_pool<2>::spinlock_for( p );\r
+\r
+    sp.lock();\r
+\r
+    if( p->_internal_equiv( *v ) )\r
+    {\r
+        p->swap( w );\r
+\r
+        sp.unlock();\r
+\r
+        return true;\r
+    }\r
+    else\r
+    {\r
+        shared_ptr<T> tmp( *p );\r
+\r
+        sp.unlock();\r
+\r
+        tmp.swap( *v );\r
+        return false;\r
+    }\r
+}\r
+\r
+template<class T> inline bool atomic_compare_exchange_explicit( shared_ptr<T> * p, shared_ptr<T> * v, shared_ptr<T> w, memory_order /*success*/, memory_order /*failure*/ )\r
+{\r
+    return atomic_compare_exchange( p, v, w ); // std::move( w )\r
+}\r
+\r
+#endif\r
+\r
+} // namespace boost\r
+\r
+#ifdef BOOST_MSVC\r
+# pragma warning(pop)\r
+#endif\r
+\r
+#endif  // #if defined(BOOST_NO_MEMBER_TEMPLATES) && !defined(BOOST_MSVC6_MEMBER_TEMPLATES)\r
+\r
+#endif  // #ifndef BOOST_SMART_PTR_SHARED_PTR_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/weak_ptr.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/weak_ptr.hpp
new file mode 100644 (file)
index 0000000..59dc530
--- /dev/null
@@ -0,0 +1,230 @@
+#ifndef BOOST_SMART_PTR_WEAK_PTR_HPP_INCLUDED\r
+#define BOOST_SMART_PTR_WEAK_PTR_HPP_INCLUDED\r
+\r
+//\r
+//  weak_ptr.hpp\r
+//\r
+//  Copyright (c) 2001, 2002, 2003 Peter Dimov\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. (See\r
+// accompanying file LICENSE_1_0.txt or copy at\r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+//  See http://www.boost.org/libs/smart_ptr/weak_ptr.htm for documentation.\r
+//\r
+\r
+#include <memory> // boost.TR1 include order fix\r
+#include <boost/smart_ptr/detail/shared_count.hpp>\r
+#include <boost/smart_ptr/shared_ptr.hpp>\r
+\r
+#ifdef BOOST_MSVC  // moved here to work around VC++ compiler crash\r
+# pragma warning(push)\r
+# pragma warning(disable:4284) // odd return type for operator->\r
+#endif\r
+\r
+namespace boost\r
+{\r
+\r
+template<class T> class weak_ptr\r
+{\r
+private:\r
+\r
+    // Borland 5.5.1 specific workarounds\r
+    typedef weak_ptr<T> this_type;\r
+\r
+public:\r
+\r
+    typedef T element_type;\r
+\r
+    weak_ptr(): px(0), pn() // never throws in 1.30+\r
+    {\r
+    }\r
+\r
+//  generated copy constructor, assignment, destructor are fine\r
+\r
+\r
+//\r
+//  The "obvious" converting constructor implementation:\r
+//\r
+//  template<class Y>\r
+//  weak_ptr(weak_ptr<Y> const & r): px(r.px), pn(r.pn) // never throws\r
+//  {\r
+//  }\r
+//\r
+//  has a serious problem.\r
+//\r
+//  r.px may already have been invalidated. The px(r.px)\r
+//  conversion may require access to *r.px (virtual inheritance).\r
+//\r
+//  It is not possible to avoid spurious access violations since\r
+//  in multithreaded programs r.px may be invalidated at any point.\r
+//\r
+\r
+    template<class Y>\r
+#if !defined( BOOST_SP_NO_SP_CONVERTIBLE )\r
+\r
+    weak_ptr( weak_ptr<Y> const & r, typename boost::detail::sp_enable_if_convertible<Y,T>::type = boost::detail::sp_empty() )\r
+\r
+#else\r
+\r
+    weak_ptr( weak_ptr<Y> const & r )\r
+\r
+#endif\r
+    : px(r.lock().get()), pn(r.pn) // never throws\r
+    {\r
+    }\r
+\r
+#if defined( BOOST_HAS_RVALUE_REFS )\r
+\r
+    template<class Y>\r
+#if !defined( BOOST_SP_NO_SP_CONVERTIBLE )\r
+\r
+    weak_ptr( weak_ptr<Y> && r, typename boost::detail::sp_enable_if_convertible<Y,T>::type = boost::detail::sp_empty() )\r
+\r
+#else\r
+\r
+    weak_ptr( weak_ptr<Y> && r )\r
+\r
+#endif\r
+    : px( r.lock().get() ), pn( static_cast< boost::detail::weak_count && >( r.pn ) ) // never throws\r
+    {\r
+        r.px = 0;\r
+    }\r
+\r
+    // for better efficiency in the T == Y case\r
+    weak_ptr( weak_ptr && r ): px( r.px ), pn( static_cast< boost::detail::weak_count && >( r.pn ) ) // never throws\r
+    {\r
+        r.px = 0;\r
+    }\r
+\r
+    // for better efficiency in the T == Y case\r
+    weak_ptr & operator=( weak_ptr && r ) // never throws\r
+    {\r
+        this_type( static_cast< weak_ptr && >( r ) ).swap( *this );\r
+        return *this;\r
+    }\r
+\r
+\r
+#endif\r
+\r
+    template<class Y>\r
+#if !defined( BOOST_SP_NO_SP_CONVERTIBLE )\r
+\r
+    weak_ptr( shared_ptr<Y> const & r, typename boost::detail::sp_enable_if_convertible<Y,T>::type = boost::detail::sp_empty() )\r
+\r
+#else\r
+\r
+    weak_ptr( shared_ptr<Y> const & r )\r
+\r
+#endif\r
+    : px( r.px ), pn( r.pn ) // never throws\r
+    {\r
+    }\r
+\r
+#if !defined(BOOST_MSVC) || (BOOST_MSVC >= 1300)\r
+\r
+    template<class Y>\r
+    weak_ptr & operator=(weak_ptr<Y> const & r) // never throws\r
+    {\r
+        px = r.lock().get();\r
+        pn = r.pn;\r
+        return *this;\r
+    }\r
+\r
+#if defined( BOOST_HAS_RVALUE_REFS )\r
+\r
+    template<class Y>\r
+    weak_ptr & operator=( weak_ptr<Y> && r )\r
+    {\r
+        this_type( static_cast< weak_ptr<Y> && >( r ) ).swap( *this );\r
+        return *this;\r
+    }\r
+\r
+#endif\r
+\r
+    template<class Y>\r
+    weak_ptr & operator=(shared_ptr<Y> const & r) // never throws\r
+    {\r
+        px = r.px;\r
+        pn = r.pn;\r
+        return *this;\r
+    }\r
+\r
+#endif\r
+\r
+    shared_ptr<T> lock() const // never throws\r
+    {\r
+        return shared_ptr<element_type>( *this, boost::detail::sp_nothrow_tag() );\r
+    }\r
+\r
+    long use_count() const // never throws\r
+    {\r
+        return pn.use_count();\r
+    }\r
+\r
+    bool expired() const // never throws\r
+    {\r
+        return pn.use_count() == 0;\r
+    }\r
+\r
+    bool _empty() const // extension, not in std::weak_ptr\r
+    {\r
+        return pn.empty();\r
+    }\r
+\r
+    void reset() // never throws in 1.30+\r
+    {\r
+        this_type().swap(*this);\r
+    }\r
+\r
+    void swap(this_type & other) // never throws\r
+    {\r
+        std::swap(px, other.px);\r
+        pn.swap(other.pn);\r
+    }\r
+\r
+    void _internal_assign(T * px2, boost::detail::shared_count const & pn2)\r
+    {\r
+        px = px2;\r
+        pn = pn2;\r
+    }\r
+\r
+    template<class Y> bool _internal_less(weak_ptr<Y> const & rhs) const\r
+    {\r
+        return pn < rhs.pn;\r
+    }\r
+\r
+// Tasteless as this may seem, making all members public allows member templates\r
+// to work in the absence of member template friends. (Matthew Langston)\r
+\r
+#ifndef BOOST_NO_MEMBER_TEMPLATE_FRIENDS\r
+\r
+private:\r
+\r
+    template<class Y> friend class weak_ptr;\r
+    template<class Y> friend class shared_ptr;\r
+\r
+#endif\r
+\r
+    T * px;                       // contained pointer\r
+    boost::detail::weak_count pn; // reference counter\r
+\r
+};  // weak_ptr\r
+\r
+template<class T, class U> inline bool operator<(weak_ptr<T> const & a, weak_ptr<U> const & b)\r
+{\r
+    return a._internal_less(b);\r
+}\r
+\r
+template<class T> void swap(weak_ptr<T> & a, weak_ptr<T> & b)\r
+{\r
+    a.swap(b);\r
+}\r
+\r
+} // namespace boost\r
+\r
+#ifdef BOOST_MSVC\r
+# pragma warning(pop)\r
+#endif    \r
+\r
+#endif  // #ifndef BOOST_SMART_PTR_WEAK_PTR_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/static_assert.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/static_assert.hpp
new file mode 100644 (file)
index 0000000..9dadb77
--- /dev/null
@@ -0,0 +1,132 @@
+//  (C) Copyright John Maddock 2000.\r
+//  Use, modification and distribution are subject to the \r
+//  Boost Software License, Version 1.0. (See accompanying file \r
+//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+//  See http://www.boost.org/libs/static_assert for documentation.\r
+\r
+/*\r
+ Revision history:\r
+   02 August 2000\r
+      Initial version.\r
+*/\r
+\r
+#ifndef BOOST_STATIC_ASSERT_HPP\r
+#define BOOST_STATIC_ASSERT_HPP\r
+\r
+#include <boost/config.hpp>\r
+#include <boost/detail/workaround.hpp>\r
+\r
+#ifdef __BORLANDC__\r
+//\r
+// workaround for buggy integral-constant expression support:\r
+#define BOOST_BUGGY_INTEGRAL_CONSTANT_EXPRESSIONS\r
+#endif\r
+\r
+#if defined(__GNUC__) && (__GNUC__ == 3) && ((__GNUC_MINOR__ == 3) || (__GNUC_MINOR__ == 4))\r
+// gcc 3.3 and 3.4 don't produce good error messages with the default version:\r
+#  define BOOST_SA_GCC_WORKAROUND\r
+#endif\r
+\r
+//\r
+// If the compiler issues warnings about old C style casts,\r
+// then enable this:\r
+//\r
+#if defined(__GNUC__) && ((__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 4)))\r
+#  define BOOST_STATIC_ASSERT_BOOL_CAST( x ) ((x) == 0 ? false : true)\r
+#else\r
+#  define BOOST_STATIC_ASSERT_BOOL_CAST(x) (bool)(x)\r
+#endif\r
+\r
+#ifdef BOOST_HAS_STATIC_ASSERT\r
+#  define BOOST_STATIC_ASSERT( B ) static_assert(B, #B)\r
+#else\r
+\r
+namespace boost{\r
+\r
+// HP aCC cannot deal with missing names for template value parameters\r
+template <bool x> struct STATIC_ASSERTION_FAILURE;\r
+\r
+template <> struct STATIC_ASSERTION_FAILURE<true> { enum { value = 1 }; };\r
+\r
+// HP aCC cannot deal with missing names for template value parameters\r
+template<int x> struct static_assert_test{};\r
+\r
+}\r
+\r
+//\r
+// Implicit instantiation requires that all member declarations be\r
+// instantiated, but that the definitions are *not* instantiated.\r
+//\r
+// It's not particularly clear how this applies to enum's or typedefs;\r
+// both are described as declarations [7.1.3] and [7.2] in the standard,\r
+// however some compilers use "delayed evaluation" of one or more of\r
+// these when implicitly instantiating templates.  We use typedef declarations\r
+// by default, but try defining BOOST_USE_ENUM_STATIC_ASSERT if the enum\r
+// version gets better results from your compiler...\r
+//\r
+// Implementation:\r
+// Both of these versions rely on sizeof(incomplete_type) generating an error\r
+// message containing the name of the incomplete type.  We use\r
+// "STATIC_ASSERTION_FAILURE" as the type name here to generate\r
+// an eye catching error message.  The result of the sizeof expression is either\r
+// used as an enum initialiser, or as a template argument depending which version\r
+// is in use...\r
+// Note that the argument to the assert is explicitly cast to bool using old-\r
+// style casts: too many compilers currently have problems with static_cast\r
+// when used inside integral constant expressions.\r
+//\r
+#if !defined(BOOST_BUGGY_INTEGRAL_CONSTANT_EXPRESSIONS)\r
+\r
+#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)\r
+// __LINE__ macro broken when -ZI is used see Q199057\r
+// fortunately MSVC ignores duplicate typedef's.\r
+#define BOOST_STATIC_ASSERT( B ) \\r
+   typedef ::boost::static_assert_test<\\r
+      sizeof(::boost::STATIC_ASSERTION_FAILURE< (bool)( B ) >)\\r
+      > boost_static_assert_typedef_\r
+#elif defined(BOOST_MSVC)\r
+#define BOOST_STATIC_ASSERT( B ) \\r
+   typedef ::boost::static_assert_test<\\r
+      sizeof(::boost::STATIC_ASSERTION_FAILURE< BOOST_STATIC_ASSERT_BOOL_CAST ( B ) >)>\\r
+         BOOST_JOIN(boost_static_assert_typedef_, __COUNTER__)\r
+#elif defined(BOOST_INTEL_CXX_VERSION) || defined(BOOST_SA_GCC_WORKAROUND)\r
+// agurt 15/sep/02: a special care is needed to force Intel C++ issue an error \r
+// instead of warning in case of failure\r
+# define BOOST_STATIC_ASSERT( B ) \\r
+    typedef char BOOST_JOIN(boost_static_assert_typedef_, __LINE__) \\r
+        [ ::boost::STATIC_ASSERTION_FAILURE< BOOST_STATIC_ASSERT_BOOL_CAST( B ) >::value ]\r
+#elif defined(__sgi)\r
+// special version for SGI MIPSpro compiler\r
+#define BOOST_STATIC_ASSERT( B ) \\r
+   BOOST_STATIC_CONSTANT(bool, \\r
+     BOOST_JOIN(boost_static_assert_test_, __LINE__) = ( B )); \\r
+   typedef ::boost::static_assert_test<\\r
+     sizeof(::boost::STATIC_ASSERTION_FAILURE< \\r
+       BOOST_JOIN(boost_static_assert_test_, __LINE__) >)>\\r
+         BOOST_JOIN(boost_static_assert_typedef_, __LINE__)\r
+#elif BOOST_WORKAROUND(__MWERKS__, <= 0x3003)\r
+// special version for CodeWarrior <= 8.x\r
+#define BOOST_STATIC_ASSERT( B ) \\r
+   BOOST_STATIC_CONSTANT(int, \\r
+     BOOST_JOIN(boost_static_assert_test_, __LINE__) = \\r
+       sizeof(::boost::STATIC_ASSERTION_FAILURE< BOOST_STATIC_ASSERT_BOOL_CAST( B ) >) )\r
+#else\r
+// generic version\r
+#define BOOST_STATIC_ASSERT( B ) \\r
+   typedef ::boost::static_assert_test<\\r
+      sizeof(::boost::STATIC_ASSERTION_FAILURE< BOOST_STATIC_ASSERT_BOOL_CAST( B ) >)>\\r
+         BOOST_JOIN(boost_static_assert_typedef_, __LINE__)\r
+#endif\r
+\r
+#else\r
+// alternative enum based implementation:\r
+#define BOOST_STATIC_ASSERT( B ) \\r
+   enum { BOOST_JOIN(boost_static_assert_enum_, __LINE__) \\r
+      = sizeof(::boost::STATIC_ASSERTION_FAILURE< (bool)( B ) >) }\r
+#endif\r
+#endif // ndef BOOST_HAS_STATIC_ASSERT\r
+\r
+#endif // BOOST_STATIC_ASSERT_HPP\r
+\r
+\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/system/config.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/system/config.hpp
new file mode 100644 (file)
index 0000000..987520d
--- /dev/null
@@ -0,0 +1,75 @@
+//  boost/system/config.hpp  -------------------------------------------------//\r
+\r
+//  Copyright Beman Dawes 2003, 2006\r
+\r
+//  Distributed under the Boost Software License, Version 1.0. (See accompanying\r
+//  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+//  See http://www.boost.org/libs/system for documentation.\r
+\r
+#ifndef BOOST_SYSTEM_CONFIG_HPP                  \r
+#define BOOST_SYSTEM_CONFIG_HPP\r
+\r
+#include <boost/config.hpp>\r
+\r
+//  BOOST_POSIX_API or BOOST_WINDOWS_API specify which API to use.\r
+//  If not specified, a sensible default will be applied.\r
+\r
+# if defined( BOOST_WINDOWS_API ) && defined( BOOST_POSIX_API )\r
+#   error both BOOST_WINDOWS_API and BOOST_POSIX_API are defined\r
+# elif !defined( BOOST_WINDOWS_API ) && !defined( BOOST_POSIX_API )\r
+#   if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__CYGWIN__)\r
+#     define BOOST_WINDOWS_API\r
+#   else\r
+#     define BOOST_POSIX_API \r
+#   endif\r
+# endif\r
+\r
+//  enable dynamic linking on Windows  ---------------------------------------//\r
+\r
+//#  if (defined(BOOST_ALL_DYN_LINK) || defined(BOOST_SYSTEM_DYN_LINK)) && defined(__BORLANDC__) && defined(__WIN32__)\r
+//#    error Dynamic linking Boost.System does not work for Borland; use static linking instead\r
+//#  endif\r
+\r
+#ifdef BOOST_HAS_DECLSPEC // defined in config system\r
+// we need to import/export our code only if the user has specifically\r
+// asked for it by defining either BOOST_ALL_DYN_LINK if they want all boost\r
+// libraries to be dynamically linked, or BOOST_SYSTEM_DYN_LINK\r
+// if they want just this one to be dynamically liked:\r
+#if defined(BOOST_ALL_DYN_LINK) || defined(BOOST_SYSTEM_DYN_LINK)\r
+// export if this is our own source, otherwise import:\r
+#ifdef BOOST_SYSTEM_SOURCE\r
+# define BOOST_SYSTEM_DECL __declspec(dllexport)\r
+#else\r
+# define BOOST_SYSTEM_DECL __declspec(dllimport)\r
+#endif  // BOOST_SYSTEM_SOURCE\r
+#endif  // DYN_LINK\r
+#endif  // BOOST_HAS_DECLSPEC\r
+//\r
+// if BOOST_SYSTEM_DECL isn't defined yet define it now:\r
+#ifndef BOOST_SYSTEM_DECL\r
+#define BOOST_SYSTEM_DECL\r
+#endif\r
+\r
+//  enable automatic library variant selection  ------------------------------// \r
+\r
+#if !defined(BOOST_SYSTEM_SOURCE) && !defined(BOOST_ALL_NO_LIB) && !defined(BOOST_SYSTEM_NO_LIB)\r
+//\r
+// Set the name of our library, this will get undef'ed by auto_link.hpp\r
+// once it's done with it:\r
+//\r
+#define BOOST_LIB_NAME boost_system\r
+//\r
+// If we're importing code from a dll, then tell auto_link.hpp about it:\r
+//\r
+#if defined(BOOST_ALL_DYN_LINK) || defined(BOOST_SYSTEM_DYN_LINK)\r
+#  define BOOST_DYN_LINK\r
+#endif\r
+//\r
+// And include the header that does the work:\r
+//\r
+#include <boost/config/auto_link.hpp>\r
+#endif  // auto-linking disabled\r
+\r
+#endif // BOOST_SYSTEM_CONFIG_HPP\r
+\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/system/cygwin_error.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/system/cygwin_error.hpp
new file mode 100644 (file)
index 0000000..76a06d8
--- /dev/null
@@ -0,0 +1,56 @@
+//  boost/system/cygwin_error.hpp  -------------------------------------------//\r
+\r
+//  Copyright Beman Dawes 2007\r
+\r
+//  Distributed under the Boost Software License, Version 1.0. (See accompanying\r
+//  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+//  See library home page at http://www.boost.org/libs/system\r
+\r
+#ifndef BOOST_CYGWIN_ERROR_HPP\r
+#define BOOST_CYGWIN_ERROR_HPP\r
+\r
+//  This header is effectively empty for compiles on operating systems where\r
+//  it is not applicable.\r
+\r
+# ifdef __CYGWIN__\r
+\r
+#include <boost/system/error_code.hpp>\r
+\r
+namespace boost\r
+{\r
+  namespace system\r
+  {\r
+    //  To construct an error_code after a API error:\r
+    //\r
+    //      error_code( errno, system_category )\r
+\r
+    //  User code should use the portable "posix" enums for POSIX errors; this\r
+    //  allows such code to be portable to non-POSIX systems. For the non-POSIX\r
+    //  errno values that POSIX-based systems typically provide in addition to \r
+    //  POSIX values, use the system specific enums below.\r
+\r
+   namespace cygwin_error\r
+    {\r
+      enum cygwin_errno\r
+      {\r
+        no_net = ENONET,\r
+        no_package = ENOPKG,\r
+        no_share = ENOSHARE\r
+      };\r
+    }  // namespace cygwin_error\r
+\r
+    template<> struct is_error_code_enum<cygwin_error::cygwin_errno>\r
+      { static const bool value = true; };\r
+\r
+    namespace cygwin_error\r
+    {\r
+      inline error_code make_error_code( cygwin_errno e )\r
+        { return error_code( e, get_system_category() ); }\r
+    }\r
+  }\r
+}\r
+\r
+#endif  // __CYGWIN__\r
+\r
+#endif  // BOOST_CYGWIN_ERROR_HPP\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/system/error_code.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/system/error_code.hpp
new file mode 100644 (file)
index 0000000..16733a4
--- /dev/null
@@ -0,0 +1,513 @@
+//  boost/system/error_code.hpp  ---------------------------------------------//\r
+\r
+//  Copyright Beman Dawes 2006, 2007\r
+//  Copyright Christoper Kohlhoff 2007\r
+\r
+//  Distributed under the Boost Software License, Version 1.0. (See accompanying\r
+//  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+//  See library home page at http://www.boost.org/libs/system\r
+\r
+#ifndef BOOST_ERROR_CODE_HPP\r
+#define BOOST_ERROR_CODE_HPP\r
+\r
+#include <boost/system/config.hpp>\r
+#include <boost/cstdint.hpp>\r
+#include <boost/assert.hpp>\r
+#include <boost/operators.hpp>\r
+#include <boost/noncopyable.hpp>\r
+#include <boost/utility/enable_if.hpp>\r
+#include <ostream>\r
+#include <string>\r
+#include <stdexcept>\r
+#include <functional>\r
+\r
+// TODO: undef these macros if not already defined\r
+#include <boost/cerrno.hpp> \r
+\r
+#if !defined(BOOST_POSIX_API) && !defined(BOOST_WINDOWS_API)\r
+#  error BOOST_POSIX_API or BOOST_WINDOWS_API must be defined\r
+#endif\r
+\r
+#include <boost/config/abi_prefix.hpp> // must be the last #include\r
+\r
+namespace boost\r
+{\r
+  namespace system\r
+  {\r
+\r
+    class error_code;\r
+    class error_condition;\r
+\r
+    //  "Concept" helpers  ---------------------------------------------------//\r
+\r
+    template< class T >\r
+    struct is_error_code_enum { static const bool value = false; };\r
+\r
+    template< class T >\r
+    struct is_error_condition_enum { static const bool value = false; };\r
+\r
+    //  generic error_conditions  --------------------------------------------//\r
+\r
+    namespace errc\r
+    {\r
+      enum errc_t\r
+      {\r
+        success = 0,\r
+        address_family_not_supported = EAFNOSUPPORT,\r
+        address_in_use = EADDRINUSE,\r
+        address_not_available = EADDRNOTAVAIL,\r
+        already_connected = EISCONN,\r
+        argument_list_too_long = E2BIG,\r
+        argument_out_of_domain = EDOM,\r
+        bad_address = EFAULT,\r
+        bad_file_descriptor = EBADF,\r
+        bad_message = EBADMSG,\r
+        broken_pipe = EPIPE,\r
+        connection_aborted = ECONNABORTED,\r
+        connection_already_in_progress = EALREADY,\r
+        connection_refused = ECONNREFUSED,\r
+        connection_reset = ECONNRESET,\r
+        cross_device_link = EXDEV,\r
+        destination_address_required = EDESTADDRREQ,\r
+        device_or_resource_busy = EBUSY,\r
+        directory_not_empty = ENOTEMPTY,\r
+        executable_format_error = ENOEXEC,\r
+        file_exists = EEXIST,\r
+        file_too_large = EFBIG,\r
+        filename_too_long = ENAMETOOLONG,\r
+        function_not_supported = ENOSYS,\r
+        host_unreachable = EHOSTUNREACH,\r
+        identifier_removed = EIDRM,\r
+        illegal_byte_sequence = EILSEQ,\r
+        inappropriate_io_control_operation = ENOTTY,\r
+        interrupted = EINTR,\r
+        invalid_argument = EINVAL,\r
+        invalid_seek = ESPIPE,\r
+        io_error = EIO,\r
+        is_a_directory = EISDIR,\r
+        message_size = EMSGSIZE,\r
+        network_down = ENETDOWN,\r
+        network_reset = ENETRESET,\r
+        network_unreachable = ENETUNREACH,\r
+        no_buffer_space = ENOBUFS,\r
+        no_child_process = ECHILD,\r
+        no_link = ENOLINK,\r
+        no_lock_available = ENOLCK,\r
+        no_message_available = ENODATA,\r
+        no_message = ENOMSG,\r
+        no_protocol_option = ENOPROTOOPT,\r
+        no_space_on_device = ENOSPC,\r
+        no_stream_resources = ENOSR,\r
+        no_such_device_or_address = ENXIO,\r
+        no_such_device = ENODEV,\r
+        no_such_file_or_directory = ENOENT,\r
+        no_such_process = ESRCH,\r
+        not_a_directory = ENOTDIR,\r
+        not_a_socket = ENOTSOCK,\r
+        not_a_stream = ENOSTR,\r
+        not_connected = ENOTCONN,\r
+        not_enough_memory = ENOMEM,\r
+        not_supported = ENOTSUP,\r
+        operation_canceled = ECANCELED,\r
+        operation_in_progress = EINPROGRESS,\r
+        operation_not_permitted = EPERM,\r
+        operation_not_supported = EOPNOTSUPP,\r
+        operation_would_block = EWOULDBLOCK,\r
+        owner_dead = EOWNERDEAD,\r
+        permission_denied = EACCES,\r
+        protocol_error = EPROTO,\r
+        protocol_not_supported = EPROTONOSUPPORT,\r
+        read_only_file_system = EROFS,\r
+        resource_deadlock_would_occur = EDEADLK,\r
+        resource_unavailable_try_again = EAGAIN,\r
+        result_out_of_range = ERANGE,\r
+        state_not_recoverable = ENOTRECOVERABLE,\r
+        stream_timeout = ETIME,\r
+        text_file_busy = ETXTBSY,\r
+        timed_out = ETIMEDOUT,\r
+        too_many_files_open_in_system = ENFILE,\r
+        too_many_files_open = EMFILE,\r
+        too_many_links = EMLINK,\r
+        too_many_symbolic_link_levels = ELOOP,\r
+        value_too_large = EOVERFLOW,\r
+        wrong_protocol_type = EPROTOTYPE\r
+      };\r
+\r
+    } // namespace errc\r
+\r
+# ifndef BOOST_SYSTEM_NO_DEPRECATED\r
+    namespace posix = errc;\r
+    namespace posix_error = errc;\r
+# endif\r
+\r
+    template<> struct is_error_condition_enum<errc::errc_t>\r
+      { static const bool value = true; };\r
+\r
+\r
+    //  ----------------------------------------------------------------------//\r
+\r
+    //  Operating system specific interfaces  --------------------------------//\r
+\r
+\r
+    //  The interface is divided into general and system-specific portions to\r
+    //  meet these requirements:\r
+    //\r
+    //  * Code calling an operating system API can create an error_code with\r
+    //    a single category (system_category), even for POSIX-like operating\r
+    //    systems that return some POSIX errno values and some native errno\r
+    //    values. This code should not have to pay the cost of distinguishing\r
+    //    between categories, since it is not yet known if that is needed.\r
+    //\r
+    //  * Users wishing to write system-specific code should be given enums for\r
+    //    at least the common error cases.\r
+    //\r
+    //  * System specific code should fail at compile time if moved to another\r
+    //    operating system.\r
+\r
+    //  The system specific portions of the interface are located in headers\r
+    //  with names reflecting the operating system. For example,\r
+    //\r
+    //       <boost/system/cygwin_error.hpp>\r
+    //       <boost/system/linux_error.hpp>\r
+    //       <boost/system/windows_error.hpp>\r
+    //\r
+    //  These headers are effectively empty for compiles on operating systems\r
+    //  where they are not applicable.\r
+\r
+    //  ----------------------------------------------------------------------//\r
+\r
+    //  class error_category  ------------------------------------------------//\r
+\r
+    class error_category : public noncopyable\r
+    {\r
+    public:\r
+      virtual ~error_category(){}\r
+\r
+      virtual const char *     name() const = 0;\r
+      virtual std::string      message( int ev ) const = 0;\r
+      virtual error_condition  default_error_condition( int ev ) const;\r
+      virtual bool             equivalent( int code, \r
+                                           const error_condition & condition ) const;\r
+      virtual bool             equivalent( const error_code & code,\r
+                                           int condition ) const;\r
+\r
+      bool operator==(const error_category & rhs) const { return this == &rhs; }\r
+      bool operator!=(const error_category & rhs) const { return this != &rhs; }\r
+      bool operator<( const error_category & rhs ) const\r
+      {\r
+        return std::less<const error_category*>()( this, &rhs );\r
+      }\r
+    };\r
+\r
+    //  predefined error categories  -----------------------------------------//\r
+\r
+    BOOST_SYSTEM_DECL const error_category &  get_system_category();\r
+    BOOST_SYSTEM_DECL const error_category &  get_generic_category();\r
+\r
+    static const error_category &  system_category = get_system_category();\r
+    static const error_category &  generic_category = get_generic_category();\r
+    \r
+# ifndef BOOST_SYSTEM_NO_DEPRECATED\r
+    //  deprecated synonyms\r
+    inline const error_category &  get_posix_category() { return get_generic_category(); }\r
+    static const error_category &  posix_category = get_generic_category();\r
+    static const error_category &  errno_ecat     = get_generic_category();\r
+    static const error_category &  native_ecat    = get_system_category();\r
+# endif\r
+\r
+    //  class error_condition  -----------------------------------------------//\r
+\r
+    //  error_conditions are portable, error_codes are system or library specific\r
+\r
+    class error_condition\r
+    {\r
+    public:\r
+\r
+      // constructors:\r
+      error_condition() : m_val(0), m_cat(&get_generic_category()) {}\r
+      error_condition( int val, const error_category & cat ) : m_val(val), m_cat(&cat) {}\r
+\r
+      template <class ErrorConditionEnum>\r
+        error_condition(ErrorConditionEnum e,\r
+          typename boost::enable_if<is_error_condition_enum<ErrorConditionEnum> >::type* = 0)\r
+      {\r
+        *this = make_error_condition(e);\r
+      }\r
+\r
+      // modifiers:\r
+\r
+      void assign( int val, const error_category & cat )\r
+      { \r
+        m_val = val;\r
+        m_cat = &cat;\r
+      }\r
+                                             \r
+      template<typename ErrorConditionEnum>\r
+        typename boost::enable_if<is_error_condition_enum<ErrorConditionEnum>, error_condition>::type &\r
+          operator=( ErrorConditionEnum val )\r
+      { \r
+        *this = make_error_condition(val);\r
+        return *this;\r
+      }\r
+\r
+      void clear()\r
+      {\r
+        m_val = 0;\r
+        m_cat = &get_generic_category();\r
+      }\r
+\r
+      // observers:\r
+      int                     value() const    { return m_val; }\r
+      const error_category &  category() const { return *m_cat; }\r
+      std::string             message() const  { return m_cat->message(value()); }\r
+\r
+      typedef void (*unspecified_bool_type)();\r
+      static void unspecified_bool_true() {}\r
+\r
+      operator unspecified_bool_type() const  // true if error\r
+      { \r
+        return m_val == 0 ? 0 : unspecified_bool_true;\r
+      }\r
+\r
+      bool operator!() const  // true if no error\r
+      {\r
+        return m_val == 0;\r
+      }\r
+\r
+      // relationals:\r
+      //  the more symmetrical non-member syntax allows enum\r
+      //  conversions work for both rhs and lhs.\r
+      inline friend bool operator==( const error_condition & lhs,\r
+                                     const error_condition & rhs )\r
+      {\r
+        return lhs.m_cat == rhs.m_cat && lhs.m_val == rhs.m_val;\r
+      }                  \r
+\r
+      inline friend bool operator<( const error_condition & lhs,\r
+                                    const error_condition & rhs )\r
+        //  the more symmetrical non-member syntax allows enum\r
+        //  conversions work for both rhs and lhs.\r
+      {\r
+        return lhs.m_cat < rhs.m_cat\r
+          || (lhs.m_cat == rhs.m_cat && lhs.m_val < rhs.m_val);\r
+      }\r
+\r
+    private:\r
+      int                     m_val;\r
+      const error_category *  m_cat;\r
+\r
+    };\r
+\r
+    //  class error_code  ----------------------------------------------------//\r
+\r
+    //  We want error_code to be a value type that can be copied without slicing\r
+    //  and without requiring heap allocation, but we also want it to have\r
+    //  polymorphic behavior based on the error category. This is achieved by\r
+    //  abstract base class error_category supplying the polymorphic behavior,\r
+    //  and error_code containing a pointer to an object of a type derived\r
+    //  from error_category.\r
+    class error_code\r
+    {\r
+    public:\r
+\r
+      // constructors:\r
+      error_code() : m_val(0), m_cat(&get_system_category()) {}\r
+      error_code( int val, const error_category & cat ) : m_val(val), m_cat(&cat) {}\r
+\r
+      template <class ErrorCodeEnum>\r
+        error_code(ErrorCodeEnum e,\r
+          typename boost::enable_if<is_error_code_enum<ErrorCodeEnum> >::type* = 0)\r
+      {\r
+        *this = make_error_code(e);\r
+      }\r
+\r
+      // modifiers:\r
+      void assign( int val, const error_category & cat )\r
+      { \r
+        m_val = val;\r
+        m_cat = &cat;\r
+      }\r
+                                             \r
+      template<typename ErrorCodeEnum>\r
+        typename boost::enable_if<is_error_code_enum<ErrorCodeEnum>, error_code>::type &\r
+          operator=( ErrorCodeEnum val )\r
+      { \r
+        *this = make_error_code(val);\r
+        return *this;\r
+      }\r
+\r
+      void clear()\r
+      {\r
+        m_val = 0;\r
+        m_cat = &get_system_category();\r
+      }\r
+\r
+      // observers:\r
+      int                     value() const    { return m_val; }\r
+      const error_category &  category() const { return *m_cat; }\r
+      error_condition         default_error_condition() const  { return m_cat->default_error_condition(value()); }\r
+      std::string             message() const  { return m_cat->message(value()); }\r
+\r
+      typedef void (*unspecified_bool_type)();\r
+      static void unspecified_bool_true() {}\r
+\r
+      operator unspecified_bool_type() const  // true if error\r
+      { \r
+        return m_val == 0 ? 0 : unspecified_bool_true;\r
+      }\r
+\r
+      bool operator!() const  // true if no error\r
+      {\r
+        return m_val == 0;\r
+      }\r
+\r
+      // relationals:\r
+      inline friend bool operator==( const error_code & lhs,\r
+                                     const error_code & rhs )\r
+        //  the more symmetrical non-member syntax allows enum\r
+        //  conversions work for both rhs and lhs.\r
+      {\r
+        return lhs.m_cat == rhs.m_cat && lhs.m_val == rhs.m_val;\r
+      }\r
+\r
+      inline friend bool operator<( const error_code & lhs,\r
+                                    const error_code & rhs )\r
+        //  the more symmetrical non-member syntax allows enum\r
+        //  conversions work for both rhs and lhs.\r
+      {\r
+        return lhs.m_cat < rhs.m_cat\r
+          || (lhs.m_cat == rhs.m_cat && lhs.m_val < rhs.m_val);\r
+      }\r
+                  \r
+      private:\r
+      int                     m_val;\r
+      const error_category *  m_cat;\r
+\r
+    };\r
+\r
+    //  predefined error_code object used as "throw on error" tag\r
+# ifndef BOOST_SYSTEM_NO_DEPRECATED\r
+    BOOST_SYSTEM_DECL extern error_code throws;\r
+# endif\r
+\r
+    //  Moving from a "throws" object to a "throws" function without breaking\r
+    //  existing code is a bit of a problem. The workaround is to place the\r
+    //  "throws" function in namespace boost rather than namespace boost::system.\r
+\r
+  }  // namespace system\r
+\r
+  namespace detail { inline system::error_code * throws() { return 0; } }\r
+    //  Misuse of the error_code object is turned into a noisy failure by\r
+    //  poisoning the reference. This particular implementation doesn't\r
+    //  produce warnings or errors from popular compilers, is very efficient\r
+    //  (as determined by inspecting generated code), and does not suffer\r
+    //  from order of initialization problems. In practice, it also seems\r
+    //  cause user function error handling implementation errors to be detected\r
+    //  very early in the development cycle.\r
+\r
+  inline system::error_code & throws()\r
+    { return *detail::throws(); }\r
+\r
+  namespace system\r
+  {\r
+    //  non-member functions  ------------------------------------------------//\r
+\r
+    inline bool operator!=( const error_code & lhs,\r
+                            const error_code & rhs )\r
+    {\r
+      return !(lhs == rhs);\r
+    }\r
+\r
+    inline bool operator!=( const error_condition & lhs,\r
+                            const error_condition & rhs )\r
+    {\r
+      return !(lhs == rhs);\r
+    }\r
+\r
+    inline bool operator==( const error_code & code,\r
+                            const error_condition & condition )\r
+    {\r
+      return code.category().equivalent( code.value(), condition )\r
+        || condition.category().equivalent( code, condition.value() );\r
+    }\r
+                \r
+    inline bool operator!=( const error_code & lhs,\r
+                            const error_condition & rhs )\r
+    {\r
+      return !(lhs == rhs);\r
+    }\r
+                \r
+    inline bool operator==( const error_condition & condition,\r
+                            const error_code & code )\r
+    {\r
+      return condition.category().equivalent( code, condition.value() )\r
+        || code.category().equivalent( code.value(), condition );\r
+    }\r
+                \r
+    inline bool operator!=( const error_condition & lhs,\r
+                            const error_code & rhs )\r
+    {\r
+      return !(lhs == rhs);\r
+    }\r
+                  \r
+    // TODO: both of these may move elsewhere, but the LWG hasn't spoken yet.\r
+\r
+    template <class charT, class traits>\r
+    inline std::basic_ostream<charT,traits>&\r
+      operator<< (std::basic_ostream<charT,traits>& os, error_code ec)\r
+    {\r
+      os << ec.category().name() << ':' << ec.value();\r
+      return os;\r
+    }\r
+\r
+    inline std::size_t hash_value( const error_code & ec )\r
+    {\r
+      return static_cast<std::size_t>(ec.value())\r
+        + reinterpret_cast<std::size_t>(&ec.category());\r
+    }\r
+\r
+    //  make_* functions for errc::errc_t  -----------------------------//\r
+\r
+    namespace errc\r
+    {\r
+      //  explicit conversion:\r
+      inline error_code make_error_code( errc_t e )\r
+        { return error_code( e, get_generic_category() ); }\r
+\r
+      //  implicit conversion:\r
+      inline error_condition make_error_condition( errc_t e )\r
+        { return error_condition( e, get_generic_category() ); }\r
+    }\r
+\r
+    //  error_category default implementation  -------------------------------//\r
+\r
+    inline error_condition error_category::default_error_condition( int ev ) const\r
+    { \r
+      return error_condition( ev, *this );\r
+    }\r
+\r
+    inline bool error_category::equivalent( int code,\r
+      const error_condition & condition ) const\r
+    {\r
+      return default_error_condition( code ) == condition;\r
+    }\r
+\r
+    inline bool error_category::equivalent( const error_code & code,\r
+      int condition ) const\r
+    {\r
+      return *this == code.category() && code.value() == condition;\r
+    }\r
+\r
+  } // namespace system\r
+} // namespace boost\r
+\r
+#include <boost/config/abi_suffix.hpp> // pops abi_prefix.hpp pragmas\r
+\r
+# ifdef BOOST_ERROR_CODE_HEADER_ONLY\r
+#   include <boost/../libs/system/src/error_code.cpp>\r
+# endif\r
+\r
+#endif // BOOST_ERROR_CODE_HPP\r
+\r
+\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/system/linux_error.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/system/linux_error.hpp
new file mode 100644 (file)
index 0000000..d0ca70a
--- /dev/null
@@ -0,0 +1,110 @@
+//  boost/system/linux_error.hpp  -------------------------------------------//\r
+\r
+//  Copyright Beman Dawes 2007\r
+\r
+//  Distributed under the Boost Software License, Version 1.0. (See accompanying\r
+//  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+//  See library home page at http://www.boost.org/libs/system\r
+\r
+#ifndef BOOST_LINUX_ERROR_HPP\r
+#define BOOST_LINUX_ERROR_HPP\r
+\r
+//  This header is effectively empty for compiles on operating systems where\r
+//  it is not applicable.\r
+\r
+#if defined(linux) || defined(__linux) || defined(__linux__)\r
+\r
+#include <boost/system/error_code.hpp>\r
+\r
+namespace boost\r
+{\r
+  namespace system\r
+  {\r
+    //  To construct an error_code after a API error:\r
+    //\r
+    //      error_code( errno, system_category )\r
+\r
+    //  User code should use the portable "posix" enums for POSIX errors; this\r
+    //  allows such code to be portable to non-POSIX systems. For the non-POSIX\r
+    //  errno values that POSIX-based systems typically provide in addition to \r
+    //  POSIX values, use the system specific enums below.\r
+\r
+    namespace linux_error\r
+    {\r
+      enum linux_errno\r
+      {\r
+        advertise_error = EADV,\r
+        bad_exchange = EBADE,\r
+        bad_file_number = EBADFD,\r
+        bad_font_format = EBFONT,\r
+        bad_request_code = EBADRQC,\r
+        bad_request_descriptor = EBADR,\r
+        bad_slot = EBADSLT,\r
+        channel_range = ECHRNG,\r
+        communication_error = ECOMM,\r
+        dot_dot_error = EDOTDOT,\r
+        exchange_full = EXFULL,\r
+        host_down = EHOSTDOWN,\r
+        is_named_file_type= EISNAM,\r
+        key_expired = EKEYEXPIRED,\r
+        key_rejected = EKEYREJECTED,\r
+        key_revoked = EKEYREVOKED,\r
+        level2_halt= EL2HLT,\r
+        level2_no_syncronized= EL2NSYNC,\r
+        level3_halt = EL3HLT,\r
+        level3_reset = EL3RST,\r
+        link_range = ELNRNG,\r
+        medium_type = EMEDIUMTYPE,\r
+        no_anode= ENOANO,\r
+        no_block_device = ENOTBLK,\r
+        no_csi = ENOCSI,\r
+        no_key = ENOKEY,\r
+        no_medium = ENOMEDIUM,\r
+        no_network = ENONET,\r
+        no_package = ENOPKG,\r
+        not_avail = ENAVAIL,\r
+        not_named_file_type= ENOTNAM,\r
+        not_recoverable = ENOTRECOVERABLE,\r
+        not_unique = ENOTUNIQ,\r
+        owner_dead = EOWNERDEAD,\r
+        protocol_no_supported = EPFNOSUPPORT,\r
+        remote_address_changed = EREMCHG,\r
+        remote_io_error = EREMOTEIO,\r
+        remote_object = EREMOTE,\r
+        restart_needed = ERESTART,\r
+        shared_library_access = ELIBACC,\r
+        shared_library_bad = ELIBBAD,\r
+        shared_library_execute = ELIBEXEC,\r
+        shared_library_max_ = ELIBMAX,\r
+        shared_library_section= ELIBSCN,\r
+        shutdown = ESHUTDOWN,\r
+        socket_type_not_supported = ESOCKTNOSUPPORT,\r
+        srmount_error = ESRMNT,\r
+        stream_pipe_error = ESTRPIPE,\r
+        too_many_references = ETOOMANYREFS,\r
+        too_many_users = EUSERS,\r
+        unattached = EUNATCH,\r
+        unclean = EUCLEAN\r
+      };\r
+    }  // namespace linux_error\r
+\r
+# ifndef BOOST_SYSTEM_NO_DEPRECATED\r
+    namespace Linux = linux_error;\r
+# endif\r
+\r
+    template<> struct is_error_code_enum<linux_error::linux_errno>\r
+      { static const bool value = true; };\r
+\r
+    namespace linux_error\r
+    {\r
+      inline error_code make_error_code( linux_errno e )\r
+        { return error_code( e, get_system_category() ); }\r
+    }\r
+\r
+  }  // namespace system\r
+}  // namespace boost \r
+\r
+#endif  // Linux\r
+\r
+#endif  // BOOST_LINUX_ERROR_HPP\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/system/system_error.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/system/system_error.hpp
new file mode 100644 (file)
index 0000000..cdbc76c
--- /dev/null
@@ -0,0 +1,81 @@
+//  Boost system_error.hpp  --------------------------------------------------//\r
+\r
+//  Copyright Beman Dawes 2006\r
+\r
+//  Distributed under the Boost Software License, Version 1.0. (See accompanying\r
+//  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+#ifndef BOOST_SYSTEM_ERROR_HPP\r
+#define BOOST_SYSTEM_ERROR_HPP\r
+\r
+#include <string>\r
+#include <stdexcept>\r
+#include <cassert>\r
+#include <boost/system/error_code.hpp>\r
+\r
+namespace boost\r
+{\r
+  namespace system\r
+  {\r
+    //  class system_error  --------------------------------------------------//\r
+\r
+    class system_error : public std::runtime_error\r
+    {\r
+    public:\r
+      system_error( error_code ec )\r
+          : std::runtime_error(""), m_error_code(ec) {}\r
+\r
+      system_error( error_code ec, const std::string & what_arg )\r
+          : std::runtime_error(what_arg), m_error_code(ec) {}\r
+\r
+      system_error( error_code ec, const char* what_arg )\r
+          : std::runtime_error(what_arg), m_error_code(ec) {}\r
+\r
+      system_error( int ev, const error_category & ecat )\r
+          : std::runtime_error(""), m_error_code(ev,ecat) {}\r
+\r
+      system_error( int ev, const error_category & ecat,\r
+        const std::string & what_arg )\r
+          : std::runtime_error(what_arg), m_error_code(ev,ecat) {}\r
+\r
+      system_error( int ev, const error_category & ecat,\r
+        const char * what_arg )\r
+          : std::runtime_error(what_arg), m_error_code(ev,ecat) {}\r
+\r
+      virtual ~system_error() throw() {}\r
+\r
+      const error_code &  code() const throw() { return m_error_code; }\r
+      const char *        what() const throw();\r
+\r
+    private:\r
+      error_code           m_error_code;\r
+      mutable std::string  m_what;\r
+    };\r
+\r
+    //  implementation  ------------------------------------------------------//\r
+\r
+    inline const char * system_error::what() const throw()\r
+    // see http://www.boost.org/more/error_handling.html for lazy build rationale\r
+    {\r
+      if ( m_what.empty() )\r
+      {\r
+        try\r
+        {\r
+          m_what = this->std::runtime_error::what();\r
+          if ( m_error_code )\r
+          {\r
+            if ( !m_what.empty() ) m_what += ": ";\r
+            m_what += m_error_code.message();\r
+          }\r
+        }\r
+        catch (...) { return std::runtime_error::what(); }\r
+      }\r
+      return m_what.c_str();\r
+    }\r
+\r
+  } // namespace system\r
+} // namespace boost\r
+\r
+#endif // BOOST_SYSTEM_ERROR_HPP\r
+\r
+\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/system/windows_error.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/system/windows_error.hpp
new file mode 100644 (file)
index 0000000..b736839
--- /dev/null
@@ -0,0 +1,118 @@
+//  boost/system/windows_error.hpp  ------------------------------------------//\r
+\r
+//  Copyright Beman Dawes 2007\r
+\r
+//  Distributed under the Boost Software License, Version 1.0. (See accompanying\r
+//  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+//  See library home page at http://www.boost.org/libs/system\r
+\r
+#ifndef BOOST_WINDOWS_ERROR_HPP\r
+#define BOOST_WINDOWS_ERROR_HPP\r
+\r
+//  This header is effectively empty for compiles on operating systems where\r
+//  it is not applicable.\r
+\r
+#include <boost/system/config.hpp>\r
+\r
+#ifdef BOOST_WINDOWS_API\r
+\r
+#include <boost/system/error_code.hpp>\r
+#include <winerror.h>\r
+\r
+namespace boost\r
+{\r
+  namespace system\r
+  {\r
+\r
+    //  Microsoft Windows  ---------------------------------------------------//\r
+\r
+    //  To construct an error_code after a API error:\r
+    //\r
+    //      error_code( ::GetLastError(), system_category )\r
+\r
+    namespace windows_error\r
+    {\r
+      enum windows_error_code\r
+      {\r
+        success = 0,\r
+        // These names and values are based on Windows winerror.h\r
+        invalid_function = ERROR_INVALID_FUNCTION,\r
+        file_not_found = ERROR_FILE_NOT_FOUND,\r
+        path_not_found = ERROR_PATH_NOT_FOUND,\r
+        too_many_open_files = ERROR_TOO_MANY_OPEN_FILES,\r
+        access_denied = ERROR_ACCESS_DENIED,\r
+        invalid_handle = ERROR_INVALID_HANDLE,\r
+        arena_trashed = ERROR_ARENA_TRASHED,\r
+        not_enough_memory = ERROR_NOT_ENOUGH_MEMORY,\r
+        invalid_block = ERROR_INVALID_BLOCK,\r
+        bad_environment = ERROR_BAD_ENVIRONMENT,\r
+        bad_format = ERROR_BAD_FORMAT,\r
+        invalid_access = ERROR_INVALID_ACCESS,\r
+        outofmemory = ERROR_OUTOFMEMORY,\r
+        invalid_drive = ERROR_INVALID_DRIVE,\r
+        current_directory = ERROR_CURRENT_DIRECTORY,\r
+        not_same_device = ERROR_NOT_SAME_DEVICE,\r
+        no_more_files = ERROR_NO_MORE_FILES,\r
+        write_protect = ERROR_WRITE_PROTECT,\r
+        bad_unit = ERROR_BAD_UNIT,\r
+        not_ready = ERROR_NOT_READY,\r
+        bad_command = ERROR_BAD_COMMAND,\r
+        crc = ERROR_CRC,\r
+        bad_length = ERROR_BAD_LENGTH,\r
+        seek = ERROR_SEEK,\r
+        not_dos_disk = ERROR_NOT_DOS_DISK,\r
+        sector_not_found = ERROR_SECTOR_NOT_FOUND,\r
+        out_of_paper = ERROR_OUT_OF_PAPER,\r
+        write_fault = ERROR_WRITE_FAULT,\r
+        read_fault = ERROR_READ_FAULT,\r
+        gen_failure = ERROR_GEN_FAILURE,\r
+        sharing_violation = ERROR_SHARING_VIOLATION,\r
+        lock_violation = ERROR_LOCK_VIOLATION,\r
+        wrong_disk = ERROR_WRONG_DISK,\r
+        sharing_buffer_exceeded = ERROR_SHARING_BUFFER_EXCEEDED,\r
+        handle_eof = ERROR_HANDLE_EOF,\r
+        handle_disk_full= ERROR_HANDLE_DISK_FULL,\r
+        rem_not_list = ERROR_REM_NOT_LIST,\r
+        dup_name = ERROR_DUP_NAME,\r
+        bad_net_path = ERROR_BAD_NETPATH,\r
+        network_busy = ERROR_NETWORK_BUSY,\r
+        // ...\r
+        file_exists = ERROR_FILE_EXISTS,\r
+        cannot_make = ERROR_CANNOT_MAKE,\r
+        // ...\r
+        broken_pipe = ERROR_BROKEN_PIPE,\r
+        open_failed = ERROR_OPEN_FAILED,\r
+        buffer_overflow = ERROR_BUFFER_OVERFLOW,\r
+        disk_full= ERROR_DISK_FULL,\r
+        // ...\r
+        lock_failed = ERROR_LOCK_FAILED,\r
+        busy = ERROR_BUSY,\r
+        cancel_violation = ERROR_CANCEL_VIOLATION,\r
+        already_exists = ERROR_ALREADY_EXISTS\r
+        // ...\r
+\r
+        // TODO: add more Windows errors\r
+      };\r
+\r
+    }  // namespace windows\r
+\r
+# ifndef BOOST_SYSTEM_NO_DEPRECATED\r
+    namespace windows = windows_error;\r
+# endif\r
+\r
+    template<> struct is_error_code_enum<windows_error::windows_error_code>\r
+      { static const bool value = true; };\r
+\r
+    namespace windows_error\r
+    {\r
+      inline error_code make_error_code( windows_error_code e )\r
+        { return error_code( e, get_system_category() ); }\r
+    }\r
+\r
+  }  // namespace system\r
+}  // namespace boost\r
+\r
+#endif  // BOOST_WINDOWS_API\r
+\r
+#endif  // BOOST_WINDOWS_ERROR_HPP\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/throw_exception.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/throw_exception.hpp
new file mode 100644 (file)
index 0000000..930ec35
--- /dev/null
@@ -0,0 +1,75 @@
+#ifndef BOOST_THROW_EXCEPTION_HPP_INCLUDED\r
+#define BOOST_THROW_EXCEPTION_HPP_INCLUDED\r
+\r
+// MS compatible compilers support #pragma once\r
+\r
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)\r
+# pragma once\r
+#endif\r
+\r
+//\r
+//  boost/throw_exception.hpp\r
+//\r
+//  Copyright (c) 2002 Peter Dimov and Multi Media Ltd.\r
+//  Copyright (c) 2008-2009 Emil Dotchevski and Reverge Studios, Inc.\r
+//\r
+//  Distributed under the Boost Software License, Version 1.0. (See\r
+//  accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+//  http://www.boost.org/libs/utility/throw_exception.html\r
+//\r
+\r
+#include <boost/exception/detail/attribute_noreturn.hpp>\r
+#include <boost/detail/workaround.hpp>\r
+#include <boost/config.hpp>\r
+#include <exception>\r
+\r
+#if !defined( BOOST_EXCEPTION_DISABLE ) && defined( __BORLANDC__ ) && BOOST_WORKAROUND( __BORLANDC__, BOOST_TESTED_AT(0x593) )\r
+# define BOOST_EXCEPTION_DISABLE\r
+#endif\r
+\r
+#if !defined( BOOST_EXCEPTION_DISABLE ) && defined( BOOST_MSVC ) && BOOST_WORKAROUND( BOOST_MSVC, < 1310 )\r
+# define BOOST_EXCEPTION_DISABLE\r
+#endif\r
+\r
+#if !defined( BOOST_EXCEPTION_DISABLE )\r
+# include <boost/exception/exception.hpp>\r
+# include <boost/current_function.hpp>\r
+# define BOOST_THROW_EXCEPTION(x) ::boost::throw_exception(::boost::enable_error_info(x) <<\\r
+    ::boost::throw_function(BOOST_CURRENT_FUNCTION) <<\\r
+    ::boost::throw_file(__FILE__) <<\\r
+    ::boost::throw_line(__LINE__))\r
+#else\r
+# define BOOST_THROW_EXCEPTION(x) ::boost::throw_exception(x)\r
+#endif\r
+\r
+namespace boost\r
+{\r
+\r
+#ifdef BOOST_NO_EXCEPTIONS\r
+\r
+void throw_exception( std::exception const & e ); // user defined\r
+\r
+#else\r
+\r
+inline void throw_exception_assert_compatibility( std::exception const & ) { }\r
+\r
+template<class E> BOOST_ATTRIBUTE_NORETURN inline void throw_exception( E const & e )\r
+{\r
+    //All boost exceptions are required to derive from std::exception,\r
+    //to ensure compatibility with BOOST_NO_EXCEPTIONS.\r
+    throw_exception_assert_compatibility(e);\r
+\r
+#ifndef BOOST_EXCEPTION_DISABLE\r
+    throw enable_current_exception(enable_error_info(e));\r
+#else\r
+    throw e;\r
+#endif\r
+}\r
+\r
+#endif\r
+\r
+} // namespace boost\r
+\r
+#endif // #ifndef BOOST_THROW_EXCEPTION_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/timer.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/timer.hpp
new file mode 100644 (file)
index 0000000..491ece3
--- /dev/null
@@ -0,0 +1,72 @@
+//  boost timer.hpp header file  ---------------------------------------------//\r
+\r
+//  Copyright Beman Dawes 1994-99.  Distributed under the Boost\r
+//  Software License, Version 1.0. (See accompanying file\r
+//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+//  See http://www.boost.org/libs/timer for documentation.\r
+\r
+//  Revision History\r
+//  01 Apr 01  Modified to use new <boost/limits.hpp> header. (JMaddock)\r
+//  12 Jan 01  Change to inline implementation to allow use without library\r
+//             builds. See docs for more rationale. (Beman Dawes) \r
+//  25 Sep 99  elapsed_max() and elapsed_min() added (John Maddock)\r
+//  16 Jul 99  Second beta\r
+//   6 Jul 99  Initial boost version\r
+\r
+#ifndef BOOST_TIMER_HPP\r
+#define BOOST_TIMER_HPP\r
+\r
+#include <boost/config.hpp>\r
+#include <ctime>\r
+#include <boost/limits.hpp>\r
+\r
+# ifdef BOOST_NO_STDC_NAMESPACE\r
+    namespace std { using ::clock_t; using ::clock; }\r
+# endif\r
+\r
+\r
+namespace boost {\r
+\r
+//  timer  -------------------------------------------------------------------//\r
+\r
+//  A timer object measures elapsed time.\r
+\r
+//  It is recommended that implementations measure wall clock rather than CPU\r
+//  time since the intended use is performance measurement on systems where\r
+//  total elapsed time is more important than just process or CPU time.\r
+\r
+//  Warnings: The maximum measurable elapsed time may well be only 596.5+ hours\r
+//  due to implementation limitations.  The accuracy of timings depends on the\r
+//  accuracy of timing information provided by the underlying platform, and\r
+//  this varies a great deal from platform to platform.\r
+\r
+class timer\r
+{\r
+ public:\r
+         timer() { _start_time = std::clock(); } // postcondition: elapsed()==0\r
+//         timer( const timer& src );      // post: elapsed()==src.elapsed()\r
+//        ~timer(){}\r
+//  timer& operator=( const timer& src );  // post: elapsed()==src.elapsed()\r
+  void   restart() { _start_time = std::clock(); } // post: elapsed()==0\r
+  double elapsed() const                  // return elapsed time in seconds\r
+    { return  double(std::clock() - _start_time) / CLOCKS_PER_SEC; }\r
+\r
+  double elapsed_max() const   // return estimated maximum value for elapsed()\r
+  // Portability warning: elapsed_max() may return too high a value on systems\r
+  // where std::clock_t overflows or resets at surprising values.\r
+  {\r
+    return (double((std::numeric_limits<std::clock_t>::max)())\r
+       - double(_start_time)) / double(CLOCKS_PER_SEC); \r
+  }\r
+\r
+  double elapsed_min() const            // return minimum value for elapsed()\r
+   { return double(1)/double(CLOCKS_PER_SEC); }\r
+\r
+ private:\r
+  std::clock_t _start_time;\r
+}; // timer\r
+\r
+} // namespace boost\r
+\r
+#endif  // BOOST_TIMER_HPP\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/add_const.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/add_const.hpp
new file mode 100644 (file)
index 0000000..344a6d2
--- /dev/null
@@ -0,0 +1,47 @@
+\r
+//  (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, Howard\r
+//  Hinnant & John Maddock 2000.\r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+\r
+#ifndef BOOST_TT_ADD_CONST_HPP_INCLUDED\r
+#define BOOST_TT_ADD_CONST_HPP_INCLUDED\r
+\r
+#include <boost/config.hpp>\r
+\r
+// should be the last #include\r
+#include <boost/type_traits/detail/type_trait_def.hpp>\r
+\r
+namespace boost {\r
+\r
+// * convert a type T to const type - add_const<T>\r
+// this is not required since the result is always\r
+// the same as "T const", but it does suppress warnings\r
+// from some compilers:\r
+\r
+#if defined(BOOST_MSVC)\r
+// This bogus warning will appear when add_const is applied to a\r
+// const volatile reference because we can't detect const volatile\r
+// references with MSVC6.\r
+#   pragma warning(push)\r
+#   pragma warning(disable:4181) // warning C4181: qualifier applied to reference type ignored\r
+#endif \r
+\r
+BOOST_TT_AUX_TYPE_TRAIT_DEF1(add_const,T,T const)\r
+\r
+#if defined(BOOST_MSVC)\r
+#   pragma warning(pop)\r
+#endif \r
+\r
+#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,add_const,T&,T&)\r
+#endif\r
+\r
+} // namespace boost\r
+\r
+#include <boost/type_traits/detail/type_trait_undef.hpp>\r
+\r
+#endif // BOOST_TT_ADD_CONST_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/add_cv.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/add_cv.hpp
new file mode 100644 (file)
index 0000000..d43b726
--- /dev/null
@@ -0,0 +1,48 @@
+\r
+//  (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, Howard\r
+//  Hinnant & John Maddock 2000.  \r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+\r
+\r
+#ifndef BOOST_TT_ADD_CV_HPP_INCLUDED\r
+#define BOOST_TT_ADD_CV_HPP_INCLUDED\r
+\r
+#include <boost/config.hpp>\r
+\r
+// should be the last #include\r
+#include <boost/type_traits/detail/type_trait_def.hpp>\r
+\r
+namespace boost {\r
+\r
+// * convert a type T to a const volatile type - add_cv<T>\r
+// this is not required since the result is always\r
+// the same as "T const volatile", but it does suppress warnings\r
+// from some compilers:\r
+\r
+#if defined(BOOST_MSVC)\r
+// This bogus warning will appear when add_volatile is applied to a\r
+// const volatile reference because we can't detect const volatile\r
+// references with MSVC6.\r
+#   pragma warning(push)\r
+#   pragma warning(disable:4181) // warning C4181: qualifier applied to reference type ignored\r
+#endif \r
+\r
+BOOST_TT_AUX_TYPE_TRAIT_DEF1(add_cv,T,T const volatile)\r
+\r
+#if defined(BOOST_MSVC)\r
+#   pragma warning(pop)\r
+#endif \r
+\r
+#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,add_cv,T&,T&)\r
+#endif\r
+\r
+} // namespace boost\r
+\r
+#include <boost/type_traits/detail/type_trait_undef.hpp>\r
+\r
+#endif // BOOST_TT_ADD_CV_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/add_pointer.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/add_pointer.hpp
new file mode 100644 (file)
index 0000000..0099660
--- /dev/null
@@ -0,0 +1,72 @@
+\r
+// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.\r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+\r
+#ifndef BOOST_TT_ADD_POINTER_HPP_INCLUDED\r
+#define BOOST_TT_ADD_POINTER_HPP_INCLUDED\r
+\r
+#include <boost/type_traits/remove_reference.hpp>\r
+\r
+// should be the last #include\r
+#include <boost/type_traits/detail/type_trait_def.hpp>\r
+\r
+namespace boost {\r
+\r
+namespace detail {\r
+\r
+#if defined(__BORLANDC__) && (__BORLANDC__ < 0x5A0)\r
+//\r
+// For some reason this implementation stops Borlands compiler\r
+// from dropping cv-qualifiers, it still fails with references\r
+// to arrays for some reason though (shrug...) (JM 20021104)\r
+//\r
+template <typename T>\r
+struct add_pointer_impl\r
+{\r
+    typedef T* type;\r
+};\r
+template <typename T>\r
+struct add_pointer_impl<T&>\r
+{\r
+    typedef T* type;\r
+};\r
+template <typename T>\r
+struct add_pointer_impl<T&const>\r
+{\r
+    typedef T* type;\r
+};\r
+template <typename T>\r
+struct add_pointer_impl<T&volatile>\r
+{\r
+    typedef T* type;\r
+};\r
+template <typename T>\r
+struct add_pointer_impl<T&const volatile>\r
+{\r
+    typedef T* type;\r
+};\r
+\r
+#else\r
+\r
+template <typename T>\r
+struct add_pointer_impl\r
+{\r
+    typedef typename remove_reference<T>::type no_ref_type;\r
+    typedef no_ref_type* type;\r
+};\r
+\r
+#endif\r
+\r
+} // namespace detail\r
+\r
+BOOST_TT_AUX_TYPE_TRAIT_DEF1(add_pointer,T,typename boost::detail::add_pointer_impl<T>::type)\r
+\r
+} // namespace boost\r
+\r
+#include <boost/type_traits/detail/type_trait_undef.hpp>\r
+\r
+#endif // BOOST_TT_ADD_POINTER_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/add_reference.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/add_reference.hpp
new file mode 100644 (file)
index 0000000..1b10cbb
--- /dev/null
@@ -0,0 +1,89 @@
+\r
+//  (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.\r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+\r
+#ifndef BOOST_TT_ADD_REFERENCE_HPP_INCLUDED\r
+#define BOOST_TT_ADD_REFERENCE_HPP_INCLUDED\r
+\r
+#include <boost/type_traits/is_reference.hpp>\r
+#include <boost/detail/workaround.hpp>\r
+#include <boost/config.hpp>\r
+\r
+// should be the last #include\r
+#include <boost/type_traits/detail/type_trait_def.hpp>\r
+\r
+namespace boost {\r
+\r
+namespace detail {\r
+\r
+#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && defined(BOOST_MSVC6_MEMBER_TEMPLATES)\r
+\r
+template <bool x>\r
+struct reference_adder\r
+{\r
+    template <typename T> struct result_\r
+    {\r
+        typedef T& type;\r
+    };\r
+};\r
+\r
+template <>\r
+struct reference_adder<true>\r
+{\r
+    template <typename T> struct result_\r
+    {\r
+        typedef T type;\r
+    };\r
+};\r
+\r
+template <typename T>\r
+struct add_reference_impl\r
+{\r
+    typedef typename reference_adder<\r
+          ::boost::is_reference<T>::value\r
+        >::template result_<T> result;\r
+\r
+    typedef typename result::type type;\r
+};\r
+\r
+#else\r
+\r
+template <typename T>\r
+struct add_reference_impl\r
+{\r
+    typedef T& type;\r
+};\r
+\r
+#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+BOOST_TT_AUX_TYPE_TRAIT_IMPL_PARTIAL_SPEC1_1(typename T,add_reference,T&,T&)\r
+#endif\r
+\r
+#endif\r
+\r
+// these full specialisations are always required:\r
+BOOST_TT_AUX_TYPE_TRAIT_IMPL_SPEC1(add_reference,void,void)\r
+#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS\r
+BOOST_TT_AUX_TYPE_TRAIT_IMPL_SPEC1(add_reference,void const,void const)\r
+BOOST_TT_AUX_TYPE_TRAIT_IMPL_SPEC1(add_reference,void volatile,void volatile)\r
+BOOST_TT_AUX_TYPE_TRAIT_IMPL_SPEC1(add_reference,void const volatile,void const volatile)\r
+#endif\r
+\r
+} // namespace detail\r
+\r
+BOOST_TT_AUX_TYPE_TRAIT_DEF1(add_reference,T,typename boost::detail::add_reference_impl<T>::type)\r
+\r
+// agurt, 07/mar/03: workaround Borland's ill-formed sensitivity to an additional\r
+// level of indirection, here\r
+#if BOOST_WORKAROUND(__BORLANDC__, < 0x600)\r
+BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,add_reference,T&,T&)\r
+#endif\r
+\r
+} // namespace boost\r
+\r
+#include <boost/type_traits/detail/type_trait_undef.hpp>\r
+\r
+#endif // BOOST_TT_ADD_REFERENCE_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/add_volatile.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/add_volatile.hpp
new file mode 100644 (file)
index 0000000..0c563a3
--- /dev/null
@@ -0,0 +1,47 @@
+\r
+//  (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, Howard\r
+//  Hinnant & John Maddock 2000.\r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+\r
+#ifndef BOOST_TT_ADD_VOLATILE_HPP_INCLUDED\r
+#define BOOST_TT_ADD_VOLATILE_HPP_INCLUDED\r
+\r
+#include <boost/config.hpp>\r
+\r
+// should be the last #include\r
+#include <boost/type_traits/detail/type_trait_def.hpp>\r
+\r
+namespace boost {\r
+\r
+// * convert a type T to volatile type - add_volatile<T>\r
+// this is not required since the result is always\r
+// the same as "T volatile", but it does suppress warnings\r
+// from some compilers:\r
+\r
+#if defined(BOOST_MSVC)\r
+// This bogus warning will appear when add_volatile is applied to a\r
+// const volatile reference because we can't detect const volatile\r
+// references with MSVC6.\r
+#   pragma warning(push)\r
+#   pragma warning(disable:4181) // warning C4181: qualifier applied to reference type ignored\r
+#endif \r
+\r
+BOOST_TT_AUX_TYPE_TRAIT_DEF1(add_volatile,T,T volatile)\r
+\r
+#if defined(BOOST_MSVC)\r
+#   pragma warning(pop)\r
+#endif \r
+\r
+#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,add_volatile,T&,T&)\r
+#endif\r
+\r
+} // namespace boost\r
+\r
+#include <boost/type_traits/detail/type_trait_undef.hpp>\r
+\r
+#endif // BOOST_TT_ADD_VOLATILE_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/aligned_storage.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/aligned_storage.hpp
new file mode 100644 (file)
index 0000000..46ee5ef
--- /dev/null
@@ -0,0 +1,13 @@
+\r
+//  Copyright (C) John Maddock 2005.\r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+\r
+#ifndef BOOST_TT_ALIGNED_STORAGE_HPP_INCLUDED\r
+#  define BOOST_TT_ALIGNED_STORAGE_HPP_INCLUDED\r
+#  include <boost/aligned_storage.hpp>\r
+#endif // BOOST_TT_ALIGNED_STORAGE_HPP_INCLUDED\r
+\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/alignment_of.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/alignment_of.hpp
new file mode 100644 (file)
index 0000000..8cded9b
--- /dev/null
@@ -0,0 +1,128 @@
+\r
+//  (C) Copyright John Maddock 2000.\r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+\r
+#ifndef BOOST_TT_ALIGNMENT_OF_HPP_INCLUDED\r
+#define BOOST_TT_ALIGNMENT_OF_HPP_INCLUDED\r
+\r
+#include <boost/config.hpp>\r
+#include <cstddef>\r
+\r
+#include <boost/type_traits/intrinsics.hpp>\r
+// should be the last #include\r
+#include <boost/type_traits/detail/size_t_trait_def.hpp>\r
+\r
+#ifdef BOOST_MSVC\r
+#   pragma warning(push)\r
+#   pragma warning(disable: 4121 4512) // alignment is sensitive to packing\r
+#endif\r
+#if defined(__BORLANDC__) && (__BORLANDC__ < 0x600)\r
+#pragma option push -Vx- -Ve-\r
+#endif\r
+\r
+namespace boost {\r
+\r
+template <typename T> struct alignment_of;\r
+\r
+// get the alignment of some arbitrary type:\r
+namespace detail {\r
+\r
+#ifdef BOOST_MSVC\r
+#pragma warning(push)\r
+#pragma warning(disable:4324) // structure was padded due to __declspec(align())\r
+#endif\r
+template <typename T>\r
+struct alignment_of_hack\r
+{\r
+    char c;\r
+    T t;\r
+    alignment_of_hack();\r
+};\r
+#ifdef BOOST_MSVC\r
+#pragma warning(pop)\r
+#endif\r
+\r
+template <unsigned A, unsigned S>\r
+struct alignment_logic\r
+{\r
+    BOOST_STATIC_CONSTANT(std::size_t, value = A < S ? A : S);\r
+};\r
+\r
+\r
+template< typename T >\r
+struct alignment_of_impl\r
+{\r
+#if defined(BOOST_MSVC) && (BOOST_MSVC >= 1400)\r
+    //\r
+    // With MSVC both the native __alignof operator\r
+    // and our own logic gets things wrong from time to time :-(\r
+    // Using a combination of the two seems to make the most of a bad job:\r
+    //\r
+    BOOST_STATIC_CONSTANT(std::size_t, value =\r
+        (::boost::detail::alignment_logic<\r
+            sizeof(::boost::detail::alignment_of_hack<T>) - sizeof(T),\r
+            __alignof(T)\r
+        >::value));\r
+#elif !defined(BOOST_ALIGNMENT_OF)\r
+    BOOST_STATIC_CONSTANT(std::size_t, value =\r
+        (::boost::detail::alignment_logic<\r
+            sizeof(::boost::detail::alignment_of_hack<T>) - sizeof(T),\r
+            sizeof(T)\r
+        >::value));\r
+#else\r
+   //\r
+   // We put this here, rather than in the definition of\r
+   // alignment_of below, because MSVC's __alignof doesn't\r
+   // always work in that context for some unexplained reason.\r
+   // (See type_with_alignment tests for test cases).\r
+   //\r
+   BOOST_STATIC_CONSTANT(std::size_t, value = BOOST_ALIGNMENT_OF(T));\r
+#endif\r
+};\r
+\r
+} // namespace detail\r
+\r
+BOOST_TT_AUX_SIZE_T_TRAIT_DEF1(alignment_of,T,::boost::detail::alignment_of_impl<T>::value)\r
+\r
+// references have to be treated specially, assume\r
+// that a reference is just a special pointer:\r
+#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+template <typename T>\r
+struct alignment_of<T&>\r
+    : alignment_of<T*>\r
+{\r
+};\r
+#endif\r
+#ifdef __BORLANDC__\r
+// long double gives an incorrect value of 10 (!)\r
+// unless we do this...\r
+struct long_double_wrapper{ long double ld; };\r
+template<> struct alignment_of<long double>\r
+   : public alignment_of<long_double_wrapper>{};\r
+#endif\r
+\r
+// void has to be treated specially:\r
+BOOST_TT_AUX_SIZE_T_TRAIT_SPEC1(alignment_of,void,0)\r
+#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS\r
+BOOST_TT_AUX_SIZE_T_TRAIT_SPEC1(alignment_of,void const,0)\r
+BOOST_TT_AUX_SIZE_T_TRAIT_SPEC1(alignment_of,void volatile,0)\r
+BOOST_TT_AUX_SIZE_T_TRAIT_SPEC1(alignment_of,void const volatile,0)\r
+#endif\r
+\r
+} // namespace boost\r
+\r
+#if defined(__BORLANDC__) && (__BORLANDC__ < 0x600)\r
+#pragma option pop\r
+#endif\r
+#ifdef BOOST_MSVC\r
+#   pragma warning(pop)\r
+#endif\r
+\r
+#include <boost/type_traits/detail/size_t_trait_undef.hpp>\r
+\r
+#endif // BOOST_TT_ALIGNMENT_OF_HPP_INCLUDED\r
+\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/alignment_traits.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/alignment_traits.hpp
new file mode 100644 (file)
index 0000000..aa61348
--- /dev/null
@@ -0,0 +1,15 @@
+\r
+//  (C) Copyright John Maddock 2000.\r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+\r
+#ifndef BOOST_TT_ALIGNMENT_TRAITS_HPP_INCLUDED\r
+#define BOOST_TT_ALIGNMENT_TRAITS_HPP_INCLUDED\r
+\r
+#include <boost/type_traits/alignment_of.hpp>\r
+#include <boost/type_traits/type_with_alignment.hpp>\r
+\r
+#endif // BOOST_TT_ALIGNMENT_TRAITS_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/arithmetic_traits.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/arithmetic_traits.hpp
new file mode 100644 (file)
index 0000000..ec7fdfb
--- /dev/null
@@ -0,0 +1,20 @@
+//  (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.\r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+//\r
+//  defines traits classes for arithmetic types:\r
+//  is_void, is_integral, is_float, is_arithmetic, is_fundamental.\r
+\r
+#ifndef BOOST_TT_ARITHMETIC_TRAITS_HPP_INCLUDED\r
+#define BOOST_TT_ARITHMETIC_TRAITS_HPP_INCLUDED\r
+\r
+#include <boost/type_traits/is_arithmetic.hpp>\r
+#include <boost/type_traits/is_float.hpp>\r
+#include <boost/type_traits/is_fundamental.hpp>\r
+#include <boost/type_traits/is_integral.hpp>\r
+#include <boost/type_traits/is_void.hpp>\r
+\r
+#endif // BOOST_TT_ARITHMETIC_TRAITS_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/array_traits.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/array_traits.hpp
new file mode 100644 (file)
index 0000000..01d4d27
--- /dev/null
@@ -0,0 +1,15 @@
+//  (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, Howard\r
+//  Hinnant & John Maddock 2000.  \r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+\r
+\r
+#ifndef BOOST_TT_ARRAY_TRAITS_HPP_INCLUDED\r
+#define BOOST_TT_ARRAY_TRAITS_HPP_INCLUDED\r
+\r
+#include <boost/type_traits/is_array.hpp>\r
+\r
+#endif // BOOST_TT_ARRAY_TRAITS_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/broken_compiler_spec.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/broken_compiler_spec.hpp
new file mode 100644 (file)
index 0000000..7a38ffd
--- /dev/null
@@ -0,0 +1,117 @@
+\r
+//  Copyright 2001-2003 Aleksey Gurtovoy.\r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+\r
+#ifndef BOOST_TT_BROKEN_COMPILER_SPEC_HPP_INCLUDED\r
+#define BOOST_TT_BROKEN_COMPILER_SPEC_HPP_INCLUDED\r
+\r
+#include <boost/mpl/aux_/lambda_support.hpp>\r
+#include <boost/config.hpp>\r
+\r
+// these are needed regardless of BOOST_TT_NO_BROKEN_COMPILER_SPEC \r
+#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)\r
+namespace boost { namespace detail {\r
+template< typename T > struct remove_const_impl     { typedef T type; };\r
+template< typename T > struct remove_volatile_impl  { typedef T type; };\r
+template< typename T > struct remove_pointer_impl   { typedef T type; };\r
+template< typename T > struct remove_reference_impl { typedef T type; };\r
+typedef int invoke_BOOST_TT_BROKEN_COMPILER_SPEC_outside_all_namespaces;\r
+}}\r
+#endif\r
+\r
+// agurt, 27/jun/03: disable the workaround if user defined \r
+// BOOST_TT_NO_BROKEN_COMPILER_SPEC\r
+#if    !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \\r
+    || defined(BOOST_TT_NO_BROKEN_COMPILER_SPEC)\r
+\r
+#   define BOOST_TT_BROKEN_COMPILER_SPEC(T) /**/\r
+\r
+#else\r
+\r
+// same as BOOST_TT_AUX_TYPE_TRAIT_IMPL_SPEC1 macro, except that it\r
+// never gets #undef-ined\r
+#   define BOOST_TT_AUX_BROKEN_TYPE_TRAIT_SPEC1(trait,spec,result) \\r
+template<> struct trait##_impl<spec> \\r
+{ \\r
+    typedef result type; \\r
+}; \\r
+/**/\r
+\r
+#   define BOOST_TT_AUX_REMOVE_CONST_VOLATILE_RANK1_SPEC(T)                         \\r
+    BOOST_TT_AUX_BROKEN_TYPE_TRAIT_SPEC1(remove_const,T const,T)                    \\r
+    BOOST_TT_AUX_BROKEN_TYPE_TRAIT_SPEC1(remove_const,T const volatile,T volatile)  \\r
+    BOOST_TT_AUX_BROKEN_TYPE_TRAIT_SPEC1(remove_volatile,T volatile,T)              \\r
+    BOOST_TT_AUX_BROKEN_TYPE_TRAIT_SPEC1(remove_volatile,T const volatile,T const)  \\r
+    /**/\r
+\r
+#   define BOOST_TT_AUX_REMOVE_PTR_REF_RANK_1_SPEC(T)                               \\r
+    BOOST_TT_AUX_BROKEN_TYPE_TRAIT_SPEC1(remove_pointer,T*,T)                       \\r
+    BOOST_TT_AUX_BROKEN_TYPE_TRAIT_SPEC1(remove_pointer,T*const,T)                  \\r
+    BOOST_TT_AUX_BROKEN_TYPE_TRAIT_SPEC1(remove_pointer,T*volatile,T)               \\r
+    BOOST_TT_AUX_BROKEN_TYPE_TRAIT_SPEC1(remove_pointer,T*const volatile,T)         \\r
+    BOOST_TT_AUX_BROKEN_TYPE_TRAIT_SPEC1(remove_reference,T&,T)                     \\r
+    /**/\r
+\r
+#   define BOOST_TT_AUX_REMOVE_PTR_REF_RANK_2_SPEC(T)                               \\r
+    BOOST_TT_AUX_REMOVE_PTR_REF_RANK_1_SPEC(T)                                      \\r
+    BOOST_TT_AUX_REMOVE_PTR_REF_RANK_1_SPEC(T const)                                \\r
+    BOOST_TT_AUX_REMOVE_PTR_REF_RANK_1_SPEC(T volatile)                             \\r
+    BOOST_TT_AUX_REMOVE_PTR_REF_RANK_1_SPEC(T const volatile)                       \\r
+    /**/\r
+\r
+#   define BOOST_TT_AUX_REMOVE_ALL_RANK_1_SPEC(T)                                   \\r
+    BOOST_TT_AUX_REMOVE_PTR_REF_RANK_2_SPEC(T)                                      \\r
+    BOOST_TT_AUX_REMOVE_CONST_VOLATILE_RANK1_SPEC(T)                                \\r
+    /**/\r
+\r
+#   define BOOST_TT_AUX_REMOVE_ALL_RANK_2_SPEC(T)                                   \\r
+    BOOST_TT_AUX_REMOVE_ALL_RANK_1_SPEC(T*)                                         \\r
+    BOOST_TT_AUX_REMOVE_ALL_RANK_1_SPEC(T const*)                                   \\r
+    BOOST_TT_AUX_REMOVE_ALL_RANK_1_SPEC(T volatile*)                                \\r
+    BOOST_TT_AUX_REMOVE_ALL_RANK_1_SPEC(T const volatile*)                          \\r
+    /**/\r
+\r
+#   define BOOST_TT_BROKEN_COMPILER_SPEC(T)                                         \\r
+    namespace boost { namespace detail {                                            \\r
+    typedef invoke_BOOST_TT_BROKEN_COMPILER_SPEC_outside_all_namespaces             \\r
+      please_invoke_BOOST_TT_BROKEN_COMPILER_SPEC_outside_all_namespaces;           \\r
+    BOOST_TT_AUX_REMOVE_ALL_RANK_1_SPEC(T)                                          \\r
+    BOOST_TT_AUX_REMOVE_ALL_RANK_2_SPEC(T)                                          \\r
+    BOOST_TT_AUX_REMOVE_ALL_RANK_2_SPEC(T*)                                         \\r
+    BOOST_TT_AUX_REMOVE_ALL_RANK_2_SPEC(T const*)                                   \\r
+    BOOST_TT_AUX_REMOVE_ALL_RANK_2_SPEC(T volatile*)                                \\r
+    BOOST_TT_AUX_REMOVE_ALL_RANK_2_SPEC(T const volatile*)                          \\r
+    }}                                                                              \\r
+    /**/\r
+\r
+#   include <boost/type_traits/detail/type_trait_undef.hpp>\r
+\r
+#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+\r
+BOOST_TT_BROKEN_COMPILER_SPEC(bool)\r
+BOOST_TT_BROKEN_COMPILER_SPEC(char)\r
+#ifndef BOOST_NO_INTRINSIC_WCHAR_T\r
+BOOST_TT_BROKEN_COMPILER_SPEC(wchar_t)\r
+#endif\r
+BOOST_TT_BROKEN_COMPILER_SPEC(signed char)\r
+BOOST_TT_BROKEN_COMPILER_SPEC(unsigned char)\r
+BOOST_TT_BROKEN_COMPILER_SPEC(signed short)\r
+BOOST_TT_BROKEN_COMPILER_SPEC(unsigned short)\r
+BOOST_TT_BROKEN_COMPILER_SPEC(signed int)\r
+BOOST_TT_BROKEN_COMPILER_SPEC(unsigned int)\r
+BOOST_TT_BROKEN_COMPILER_SPEC(signed long)\r
+BOOST_TT_BROKEN_COMPILER_SPEC(unsigned long)\r
+BOOST_TT_BROKEN_COMPILER_SPEC(float)\r
+BOOST_TT_BROKEN_COMPILER_SPEC(double)\r
+//BOOST_TT_BROKEN_COMPILER_SPEC(long double)\r
+\r
+// for backward compatibility\r
+#define BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION(T) \\r
+    BOOST_TT_BROKEN_COMPILER_SPEC(T) \\r
+/**/\r
+\r
+#endif // BOOST_TT_BROKEN_COMPILER_SPEC_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/composite_traits.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/composite_traits.hpp
new file mode 100644 (file)
index 0000000..8c256ee
--- /dev/null
@@ -0,0 +1,29 @@
+//  (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, Howard\r
+//  Hinnant & John Maddock 2000.  \r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+//\r
+//  defines traits classes for composite types:\r
+//  is_array, is_pointer, is_reference, is_member_pointer, is_enum, is_union.\r
+//\r
+\r
+#ifndef BOOST_TT_COMPOSITE_TRAITS_HPP_INCLUDED\r
+#define BOOST_TT_COMPOSITE_TRAITS_HPP_INCLUDED\r
+\r
+#include <boost/type_traits/is_array.hpp>\r
+#include <boost/type_traits/is_enum.hpp>\r
+#include <boost/type_traits/is_member_pointer.hpp>\r
+#include <boost/type_traits/is_member_function_pointer.hpp>\r
+#include <boost/type_traits/is_pointer.hpp>\r
+#include <boost/type_traits/is_reference.hpp>\r
+#include <boost/type_traits/is_union.hpp>\r
+\r
+#endif // BOOST_TT_COMPOSITE_TRAITS_HPP_INCLUDED\r
+\r
+\r
+\r
+\r
+\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/config.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/config.hpp
new file mode 100644 (file)
index 0000000..9f0cac4
--- /dev/null
@@ -0,0 +1,76 @@
+\r
+//  (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.\r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+\r
+#ifndef BOOST_TT_CONFIG_HPP_INCLUDED\r
+#define BOOST_TT_CONFIG_HPP_INCLUDED\r
+\r
+#ifndef BOOST_CONFIG_HPP\r
+#include <boost/config.hpp>\r
+#endif\r
+\r
+#include <boost/detail/workaround.hpp>\r
+\r
+//\r
+// whenever we have a conversion function with elipses\r
+// it needs to be declared __cdecl to suppress compiler\r
+// warnings from MS and Borland compilers (this *must*\r
+// appear before we include is_same.hpp below):\r
+#if defined(BOOST_MSVC) || (defined(__BORLANDC__) && !defined(BOOST_DISABLE_WIN32))\r
+#   define BOOST_TT_DECL __cdecl\r
+#else\r
+#   define BOOST_TT_DECL /**/\r
+#endif\r
+\r
+# if (BOOST_WORKAROUND(__MWERKS__, < 0x3000)                         \\r
+    || BOOST_WORKAROUND(BOOST_MSVC, <= 1301)                        \\r
+    || !defined(__EDG_VERSION__) && BOOST_WORKAROUND(__GNUC__, < 3) \\r
+    || BOOST_WORKAROUND(__IBMCPP__, < 600 )                         \\r
+    || BOOST_WORKAROUND(__BORLANDC__, < 0x5A0)                      \\r
+    || defined(__ghs)                                               \\r
+    || BOOST_WORKAROUND(__HP_aCC, < 60700)           \\r
+    || BOOST_WORKAROUND(MPW_CPLUS, BOOST_TESTED_AT(0x890))          \\r
+    || BOOST_WORKAROUND(__SUNPRO_CC, BOOST_TESTED_AT(0x580)))       \\r
+    && defined(BOOST_NO_IS_ABSTRACT)\r
+\r
+#   define BOOST_TT_NO_CONFORMING_IS_CLASS_IMPLEMENTATION 1\r
+\r
+#endif\r
+\r
+#ifndef BOOST_TT_NO_CONFORMING_IS_CLASS_IMPLEMENTATION\r
+# define BOOST_TT_HAS_CONFORMING_IS_CLASS_IMPLEMENTATION 1\r
+#endif\r
+\r
+//\r
+// Define BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING \r
+// when we can't test for function types with elipsis:\r
+//\r
+#if BOOST_WORKAROUND(__GNUC__, < 3)\r
+#  define BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+#endif\r
+\r
+//\r
+// define BOOST_TT_TEST_MS_FUNC_SIGS\r
+// when we want to test __stdcall etc function types with is_function etc\r
+// (Note, does not work with Borland, even though it does support __stdcall etc):\r
+//\r
+#if defined(_MSC_EXTENSIONS) && !defined(__BORLANDC__)\r
+#  define BOOST_TT_TEST_MS_FUNC_SIGS\r
+#endif\r
+\r
+//\r
+// define BOOST_TT_NO_CV_FUNC_TEST\r
+// if tests for cv-qualified member functions don't \r
+// work in is_member_function_pointer\r
+//\r
+#if BOOST_WORKAROUND(__MWERKS__, < 0x3000) || BOOST_WORKAROUND(__IBMCPP__, <= 600)\r
+#  define BOOST_TT_NO_CV_FUNC_TEST\r
+#endif\r
+\r
+#endif // BOOST_TT_CONFIG_HPP_INCLUDED\r
+\r
+\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/conversion_traits.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/conversion_traits.hpp
new file mode 100644 (file)
index 0000000..77910ab
--- /dev/null
@@ -0,0 +1,17 @@
+\r
+// Copyright 2000 John Maddock (john@johnmaddock.co.uk)\r
+// Copyright 2000 Jeremy Siek (jsiek@lsc.nd.edu)\r
+// Copyright 1999, 2000 Jaakko Jarvi (jaakko.jarvi@cs.utu.fi)\r
+//\r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+\r
+#ifndef BOOST_TT_CONVERSION_TRAITS_HPP_INCLUDED\r
+#define BOOST_TT_CONVERSION_TRAITS_HPP_INCLUDED\r
+\r
+#include <boost/type_traits/is_convertible.hpp>\r
+\r
+#endif // BOOST_TT_CONVERSION_TRAITS_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/cv_traits.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/cv_traits.hpp
new file mode 100644 (file)
index 0000000..63c7844
--- /dev/null
@@ -0,0 +1,24 @@
+//  (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, Howard\r
+//  Hinnant & John Maddock 2000.  \r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+//\r
+//  defines traits classes for cv-qualified types:\r
+//  is_const, is_volatile, remove_const, remove_volatile, remove_cv.\r
+\r
+#ifndef BOOST_TT_CV_TRAITS_HPP_INCLUDED\r
+#define BOOST_TT_CV_TRAITS_HPP_INCLUDED\r
+\r
+#include <boost/type_traits/add_const.hpp>\r
+#include <boost/type_traits/add_volatile.hpp>\r
+#include <boost/type_traits/add_cv.hpp>\r
+#include <boost/type_traits/is_const.hpp>\r
+#include <boost/type_traits/is_volatile.hpp>\r
+#include <boost/type_traits/remove_const.hpp>\r
+#include <boost/type_traits/remove_volatile.hpp>\r
+#include <boost/type_traits/remove_cv.hpp>\r
+\r
+#endif // BOOST_TT_CV_TRAITS_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/decay.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/decay.hpp
new file mode 100644 (file)
index 0000000..58dbb46
--- /dev/null
@@ -0,0 +1,44 @@
+//  (C) Copyright John Maddock & Thorsten Ottosen 2005.\r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+\r
+\r
+#ifndef BOOST_TT_DECAY_HPP_INCLUDED\r
+#define BOOST_TT_DECAY_HPP_INCLUDED\r
+\r
+#include <boost/type_traits/config.hpp>\r
+#include <boost/type_traits/is_array.hpp>\r
+#include <boost/type_traits/is_function.hpp>\r
+#include <boost/type_traits/remove_bounds.hpp>\r
+#include <boost/type_traits/add_pointer.hpp>\r
+#include <boost/type_traits/remove_reference.hpp>\r
+#include <boost/mpl/eval_if.hpp>\r
+#include <boost/mpl/identity.hpp>\r
+\r
+namespace boost \r
+{\r
+\r
+    template< class T >\r
+    struct decay\r
+    {\r
+    private:\r
+        typedef BOOST_DEDUCED_TYPENAME remove_reference<T>::type Ty;\r
+    public:\r
+        typedef BOOST_DEDUCED_TYPENAME mpl::eval_if< \r
+            is_array<Ty>,\r
+            mpl::identity<BOOST_DEDUCED_TYPENAME remove_bounds<Ty>::type*>,\r
+            BOOST_DEDUCED_TYPENAME mpl::eval_if< \r
+                is_function<Ty>,\r
+                add_pointer<Ty>,\r
+                mpl::identity<Ty>\r
+            >\r
+        >::type type;\r
+    };\r
+    \r
+} // namespace boost\r
+\r
+\r
+#endif // BOOST_TT_DECAY_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/detail/bool_trait_def.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/detail/bool_trait_def.hpp
new file mode 100644 (file)
index 0000000..ab715d9
--- /dev/null
@@ -0,0 +1,173 @@
+\r
+// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION\r
+\r
+// Copyright Aleksey Gurtovoy 2002-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+// $Source$\r
+// $Date: 2006-07-12 07:10:22 -0400 (Wed, 12 Jul 2006) $\r
+// $Revision: 34511 $\r
+\r
+#include <boost/type_traits/detail/template_arity_spec.hpp>\r
+#include <boost/type_traits/integral_constant.hpp>\r
+#include <boost/mpl/bool.hpp>\r
+#include <boost/mpl/aux_/lambda_support.hpp>\r
+#include <boost/config.hpp>\r
+\r
+//\r
+// Unfortunately some libraries have started using this header without\r
+// cleaning up afterwards: so we'd better undef the macros just in case \r
+// they've been defined already....\r
+//\r
+#ifdef BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL\r
+#undef BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL\r
+#undef BOOST_TT_AUX_BOOL_C_BASE\r
+#undef BOOST_TT_AUX_BOOL_TRAIT_DEF1\r
+#undef BOOST_TT_AUX_BOOL_TRAIT_DEF2\r
+#undef BOOST_TT_AUX_BOOL_TRAIT_SPEC1\r
+#undef BOOST_TT_AUX_BOOL_TRAIT_SPEC2\r
+#undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1\r
+#undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2\r
+#undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1\r
+#undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2\r
+#undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1\r
+#undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2\r
+#undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1\r
+#undef BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1\r
+#endif\r
+\r
+#if defined(__SUNPRO_CC) && (__SUNPRO_CC < 0x570)\r
+#   define BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) \\r
+    typedef ::boost::integral_constant<bool,C> type; \\r
+    enum { value = type::value }; \\r
+    /**/\r
+#   define BOOST_TT_AUX_BOOL_C_BASE(C)\r
+\r
+#elif defined(BOOST_MSVC) && BOOST_MSVC < 1300\r
+\r
+#   define BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) \\r
+    typedef ::boost::integral_constant<bool,C> base_; \\r
+    using base_::value; \\r
+    /**/\r
+\r
+#endif\r
+\r
+#ifndef BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL\r
+#   define BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) /**/\r
+#endif\r
+\r
+#ifndef BOOST_TT_AUX_BOOL_C_BASE\r
+#   define BOOST_TT_AUX_BOOL_C_BASE(C) : ::boost::integral_constant<bool,C>\r
+#endif \r
+\r
+\r
+#define BOOST_TT_AUX_BOOL_TRAIT_DEF1(trait,T,C) \\r
+template< typename T > struct trait \\r
+    BOOST_TT_AUX_BOOL_C_BASE(C) \\r
+{ \\r
+    BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) \\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,trait,(T)) \\r
+}; \\r
+\\r
+BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1,trait) \\r
+/**/\r
+\r
+\r
+#define BOOST_TT_AUX_BOOL_TRAIT_DEF2(trait,T1,T2,C) \\r
+template< typename T1, typename T2 > struct trait \\r
+    BOOST_TT_AUX_BOOL_C_BASE(C) \\r
+{ \\r
+    BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) \\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2,trait,(T1,T2)) \\r
+}; \\r
+\\r
+BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(2,trait) \\r
+/**/\r
+\r
+#define BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,C) \\r
+template<> struct trait< sp > \\r
+    BOOST_TT_AUX_BOOL_C_BASE(C) \\r
+{ \\r
+    BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) \\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(1,trait,(sp)) \\r
+}; \\r
+/**/\r
+\r
+#define BOOST_TT_AUX_BOOL_TRAIT_SPEC2(trait,sp1,sp2,C) \\r
+template<> struct trait< sp1,sp2 > \\r
+    BOOST_TT_AUX_BOOL_C_BASE(C) \\r
+{ \\r
+    BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) \\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) \\r
+}; \\r
+/**/\r
+\r
+#define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(trait,sp,C) \\r
+template<> struct trait##_impl< sp > \\r
+{ \\r
+    BOOST_STATIC_CONSTANT(bool, value = (C)); \\r
+}; \\r
+/**/\r
+\r
+#define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2(trait,sp1,sp2,C) \\r
+template<> struct trait##_impl< sp1,sp2 > \\r
+{ \\r
+    BOOST_STATIC_CONSTANT(bool, value = (C)); \\r
+}; \\r
+/**/\r
+\r
+#define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(param,trait,sp,C) \\r
+template< param > struct trait< sp > \\r
+    BOOST_TT_AUX_BOOL_C_BASE(C) \\r
+{ \\r
+    BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) \\r
+}; \\r
+/**/\r
+\r
+#define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(param1,param2,trait,sp,C) \\r
+template< param1, param2 > struct trait< sp > \\r
+    BOOST_TT_AUX_BOOL_C_BASE(C) \\r
+{ \\r
+    BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) \\r
+}; \\r
+/**/\r
+\r
+#define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) \\r
+template< param > struct trait< sp1,sp2 > \\r
+    BOOST_TT_AUX_BOOL_C_BASE(C) \\r
+{ \\r
+    BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) \\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) \\r
+}; \\r
+/**/\r
+\r
+#define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(param1,param2,trait,sp1,sp2,C) \\r
+template< param1, param2 > struct trait< sp1,sp2 > \\r
+    BOOST_TT_AUX_BOOL_C_BASE(C) \\r
+{ \\r
+    BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) \\r
+}; \\r
+/**/\r
+\r
+#define BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) \\r
+template< param > struct trait##_impl< sp1,sp2 > \\r
+{ \\r
+    BOOST_STATIC_CONSTANT(bool, value = (C)); \\r
+}; \\r
+/**/\r
+\r
+#ifndef BOOST_NO_CV_SPECIALIZATIONS\r
+#   define BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(trait,sp,value) \\r
+    BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,value) \\r
+    BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const,value) \\r
+    BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp volatile,value) \\r
+    BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const volatile,value) \\r
+    /**/\r
+#else\r
+#   define BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(trait,sp,value) \\r
+    BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,value) \\r
+    /**/\r
+#endif\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/detail/bool_trait_undef.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/detail/bool_trait_undef.hpp
new file mode 100644 (file)
index 0000000..8ce7d6a
--- /dev/null
@@ -0,0 +1,27 @@
+\r
+// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION\r
+\r
+// Copyright Aleksey Gurtovoy 2002-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+// $Source$\r
+// $Date: 2004-09-02 11:41:37 -0400 (Thu, 02 Sep 2004) $\r
+// $Revision: 24874 $\r
+\r
+#undef BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL\r
+#undef BOOST_TT_AUX_BOOL_C_BASE\r
+#undef BOOST_TT_AUX_BOOL_TRAIT_DEF1\r
+#undef BOOST_TT_AUX_BOOL_TRAIT_DEF2\r
+#undef BOOST_TT_AUX_BOOL_TRAIT_SPEC1\r
+#undef BOOST_TT_AUX_BOOL_TRAIT_SPEC2\r
+#undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1\r
+#undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2\r
+#undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1\r
+#undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2\r
+#undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1\r
+#undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2\r
+#undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1\r
+#undef BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/detail/cv_traits_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/detail/cv_traits_impl.hpp
new file mode 100644 (file)
index 0000000..8d2e3eb
--- /dev/null
@@ -0,0 +1,97 @@
+\r
+//  (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, Howard\r
+//  Hinnant & John Maddock 2000.  \r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+\r
+\r
+#ifndef BOOST_TT_DETAIL_CV_TRAITS_IMPL_HPP_INCLUDED\r
+#define BOOST_TT_DETAIL_CV_TRAITS_IMPL_HPP_INCLUDED\r
+\r
+#include <boost/config.hpp>\r
+#include <boost/detail/workaround.hpp>\r
+\r
+#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+\r
+// implementation helper:\r
+\r
+\r
+#if !(BOOST_WORKAROUND(__GNUC__,== 3) && BOOST_WORKAROUND(__GNUC_MINOR__, <= 2))\r
+namespace boost {\r
+namespace detail {\r
+#else\r
+#include <boost/type_traits/detail/yes_no_type.hpp>\r
+namespace boost {\r
+namespace type_traits {\r
+namespace gcc8503 {\r
+#endif\r
+\r
+template <typename T> struct cv_traits_imp {};\r
+\r
+template <typename T>\r
+struct cv_traits_imp<T*>\r
+{\r
+    BOOST_STATIC_CONSTANT(bool, is_const = false);\r
+    BOOST_STATIC_CONSTANT(bool, is_volatile = false);\r
+    typedef T unqualified_type;\r
+};\r
+\r
+template <typename T>\r
+struct cv_traits_imp<const T*>\r
+{\r
+    BOOST_STATIC_CONSTANT(bool, is_const = true);\r
+    BOOST_STATIC_CONSTANT(bool, is_volatile = false);\r
+    typedef T unqualified_type;\r
+};\r
+\r
+template <typename T>\r
+struct cv_traits_imp<volatile T*>\r
+{\r
+    BOOST_STATIC_CONSTANT(bool, is_const = false);\r
+    BOOST_STATIC_CONSTANT(bool, is_volatile = true);\r
+    typedef T unqualified_type;\r
+};\r
+\r
+template <typename T>\r
+struct cv_traits_imp<const volatile T*>\r
+{\r
+    BOOST_STATIC_CONSTANT(bool, is_const = true);\r
+    BOOST_STATIC_CONSTANT(bool, is_volatile = true);\r
+    typedef T unqualified_type;\r
+};\r
+\r
+#if BOOST_WORKAROUND(__GNUC__,== 3) && BOOST_WORKAROUND(__GNUC_MINOR__, <= 2)\r
+// We have to exclude function pointers \r
+// (see http://gcc.gnu.org/bugzilla/show_bug.cgi?8503)\r
+yes_type mini_funcptr_tester(...);\r
+no_type  mini_funcptr_tester(const volatile void*);\r
+\r
+} // namespace gcc8503\r
+} // namespace type_traits\r
+\r
+namespace detail {\r
+\r
+// Use the implementation above for non function pointers\r
+template <typename T, unsigned Select \r
+  = (unsigned)sizeof(::boost::type_traits::gcc8503::mini_funcptr_tester((T)0)) >\r
+struct cv_traits_imp : ::boost::type_traits::gcc8503::cv_traits_imp<T> { };\r
+\r
+// Functions are never cv-qualified\r
+template <typename T> struct cv_traits_imp<T*,1>\r
+{\r
+    BOOST_STATIC_CONSTANT(bool, is_const = false);\r
+    BOOST_STATIC_CONSTANT(bool, is_volatile = false);\r
+    typedef T unqualified_type;\r
+};\r
+\r
+#endif\r
+\r
+} // namespace detail\r
+} // namespace boost \r
+\r
+#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+\r
+#endif // BOOST_TT_DETAIL_CV_TRAITS_IMPL_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/detail/false_result.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/detail/false_result.hpp
new file mode 100644 (file)
index 0000000..4a226f2
--- /dev/null
@@ -0,0 +1,28 @@
+//  Copyright David Abrahams 2002. \r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+\r
+\r
+#ifndef BOOST_TT_DETAIL_FALSE_RESULT_HPP_INCLUDED\r
+#define BOOST_TT_DETAIL_FALSE_RESULT_HPP_INCLUDED\r
+\r
+#include <boost/config.hpp>\r
+\r
+namespace boost {\r
+namespace type_traits {\r
+\r
+// Utility class which always "returns" false\r
+struct false_result\r
+{\r
+    template <typename T> struct result_\r
+    {\r
+        BOOST_STATIC_CONSTANT(bool, value = false);\r
+    };\r
+};\r
+\r
+}} // namespace boost::type_traits\r
+\r
+#endif // BOOST_TT_DETAIL_FALSE_RESULT_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/detail/ice_and.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/detail/ice_and.hpp
new file mode 100644 (file)
index 0000000..dfbd435
--- /dev/null
@@ -0,0 +1,35 @@
+//  (C) Copyright John Maddock and Steve Cleary 2000.\r
+//\r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+\r
+#ifndef BOOST_TT_DETAIL_ICE_AND_HPP_INCLUDED\r
+#define BOOST_TT_DETAIL_ICE_AND_HPP_INCLUDED\r
+\r
+#include <boost/config.hpp>\r
+\r
+namespace boost {\r
+namespace type_traits {\r
+\r
+template <bool b1, bool b2, bool b3 = true, bool b4 = true, bool b5 = true, bool b6 = true, bool b7 = true>\r
+struct ice_and;\r
+\r
+template <bool b1, bool b2, bool b3, bool b4, bool b5, bool b6, bool b7>\r
+struct ice_and\r
+{\r
+    BOOST_STATIC_CONSTANT(bool, value = false);\r
+};\r
+\r
+template <>\r
+struct ice_and<true, true, true, true, true, true, true>\r
+{\r
+    BOOST_STATIC_CONSTANT(bool, value = true);\r
+};\r
+\r
+} // namespace type_traits\r
+} // namespace boost\r
+\r
+#endif // BOOST_TT_DETAIL_ICE_AND_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/detail/ice_eq.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/detail/ice_eq.hpp
new file mode 100644 (file)
index 0000000..ae4fee4
--- /dev/null
@@ -0,0 +1,36 @@
+//  (C) Copyright John Maddock and Steve Cleary 2000.\r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+\r
+#ifndef BOOST_TT_DETAIL_ICE_EQ_HPP_INCLUDED\r
+#define BOOST_TT_DETAIL_ICE_EQ_HPP_INCLUDED\r
+\r
+#include <boost/config.hpp>\r
+\r
+namespace boost {\r
+namespace type_traits {\r
+\r
+template <int b1, int b2>\r
+struct ice_eq\r
+{\r
+    BOOST_STATIC_CONSTANT(bool, value = (b1 == b2));\r
+};\r
+\r
+template <int b1, int b2>\r
+struct ice_ne\r
+{\r
+    BOOST_STATIC_CONSTANT(bool, value = (b1 != b2));\r
+};\r
+\r
+#ifndef BOOST_NO_INCLASS_MEMBER_INITIALIZATION\r
+template <int b1, int b2> bool const ice_eq<b1,b2>::value;\r
+template <int b1, int b2> bool const ice_ne<b1,b2>::value;\r
+#endif\r
+\r
+} // namespace type_traits\r
+} // namespace boost\r
+\r
+#endif // BOOST_TT_DETAIL_ICE_EQ_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/detail/ice_not.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/detail/ice_not.hpp
new file mode 100644 (file)
index 0000000..92f52cb
--- /dev/null
@@ -0,0 +1,31 @@
+//  (C) Copyright John Maddock and Steve Cleary 2000.\r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+\r
+#ifndef BOOST_TT_DETAIL_ICE_NOT_HPP_INCLUDED\r
+#define BOOST_TT_DETAIL_ICE_NOT_HPP_INCLUDED\r
+\r
+#include <boost/config.hpp>\r
+\r
+namespace boost {\r
+namespace type_traits {\r
+\r
+template <bool b>\r
+struct ice_not\r
+{\r
+    BOOST_STATIC_CONSTANT(bool, value = true);\r
+};\r
+\r
+template <>\r
+struct ice_not<true>\r
+{\r
+    BOOST_STATIC_CONSTANT(bool, value = false);\r
+};\r
+\r
+} // namespace type_traits\r
+} // namespace boost\r
+\r
+#endif // BOOST_TT_DETAIL_ICE_NOT_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/detail/ice_or.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/detail/ice_or.hpp
new file mode 100644 (file)
index 0000000..afff06a
--- /dev/null
@@ -0,0 +1,34 @@
+//  (C) Copyright John Maddock and Steve Cleary 2000.\r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+\r
+#ifndef BOOST_TT_DETAIL_ICE_OR_HPP_INCLUDED\r
+#define BOOST_TT_DETAIL_ICE_OR_HPP_INCLUDED\r
+\r
+#include <boost/config.hpp>\r
+\r
+namespace boost {\r
+namespace type_traits {\r
+\r
+template <bool b1, bool b2, bool b3 = false, bool b4 = false, bool b5 = false, bool b6 = false, bool b7 = false>\r
+struct ice_or;\r
+\r
+template <bool b1, bool b2, bool b3, bool b4, bool b5, bool b6, bool b7>\r
+struct ice_or\r
+{\r
+    BOOST_STATIC_CONSTANT(bool, value = true);\r
+};\r
+\r
+template <>\r
+struct ice_or<false, false, false, false, false, false, false>\r
+{\r
+    BOOST_STATIC_CONSTANT(bool, value = false);\r
+};\r
+\r
+} // namespace type_traits\r
+} // namespace boost\r
+\r
+#endif // BOOST_TT_DETAIL_ICE_OR_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/detail/is_function_ptr_helper.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/detail/is_function_ptr_helper.hpp
new file mode 100644 (file)
index 0000000..1b4cfa2
--- /dev/null
@@ -0,0 +1,220 @@
+\r
+//  Copyright 2000 John Maddock (john@johnmaddock.co.uk)\r
+//  Copyright 2002 Aleksey Gurtovoy (agurtovoy@meta-comm.com)\r
+//\r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+\r
+#if !defined(BOOST_PP_IS_ITERATING)\r
+\r
+///// header body\r
+\r
+#ifndef BOOST_TT_DETAIL_IS_FUNCTION_PTR_HELPER_HPP_INCLUDED\r
+#define BOOST_TT_DETAIL_IS_FUNCTION_PTR_HELPER_HPP_INCLUDED\r
+\r
+#include <boost/type_traits/config.hpp>\r
+\r
+#if defined(BOOST_TT_PREPROCESSING_MODE)\r
+#   include <boost/preprocessor/iterate.hpp>\r
+#   include <boost/preprocessor/enum_params.hpp>\r
+#   include <boost/preprocessor/comma_if.hpp>\r
+#endif\r
+\r
+namespace boost {\r
+namespace type_traits {\r
+\r
+template <class R>\r
+struct is_function_ptr_helper\r
+{\r
+    BOOST_STATIC_CONSTANT(bool, value = false);\r
+};\r
+\r
+#if !defined(BOOST_TT_PREPROCESSING_MODE)\r
+// preprocessor-generated part, don't edit by hand!\r
+\r
+template <class R >\r
+struct is_function_ptr_helper<R (*)()> { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R >\r
+struct is_function_ptr_helper<R (*)( ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#endif\r
+template <class R , class T0>\r
+struct is_function_ptr_helper<R (*)( T0)> { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R , class T0>\r
+struct is_function_ptr_helper<R (*)( T0 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#endif\r
+template <class R , class T0 , class T1>\r
+struct is_function_ptr_helper<R (*)( T0 , T1)> { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R , class T0 , class T1>\r
+struct is_function_ptr_helper<R (*)( T0 , T1 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#endif\r
+template <class R , class T0 , class T1 , class T2>\r
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2)> { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R , class T0 , class T1 , class T2>\r
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#endif\r
+template <class R , class T0 , class T1 , class T2 , class T3>\r
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3)> { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R , class T0 , class T1 , class T2 , class T3>\r
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#endif\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4>\r
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4)> { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4>\r
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#endif\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5>\r
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5)> { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5>\r
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#endif\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6>\r
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6)> { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6>\r
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#endif\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7>\r
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7)> { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7>\r
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#endif\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8>\r
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8)> { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8>\r
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#endif\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9>\r
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9)> { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9>\r
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#endif\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10>\r
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10)> { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10>\r
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#endif\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11>\r
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11)> { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11>\r
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#endif\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12>\r
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12)> { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12>\r
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#endif\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13>\r
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13)> { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13>\r
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#endif\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14>\r
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14)> { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14>\r
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#endif\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15>\r
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15)> { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15>\r
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#endif\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16>\r
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16)> { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16>\r
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#endif\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17>\r
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17)> { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17>\r
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#endif\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18>\r
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18)> { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18>\r
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#endif\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19>\r
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19)> { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19>\r
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#endif\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20>\r
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20)> { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20>\r
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#endif\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21>\r
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21)> { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21>\r
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#endif\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22>\r
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22)> { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22>\r
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#endif\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23>\r
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23)> { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23>\r
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#endif\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24>\r
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24)> { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24>\r
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#endif\r
+#else\r
+\r
+#undef BOOST_STATIC_CONSTANT\r
+#define BOOST_PP_ITERATION_PARAMS_1 \\r
+    (3, (0, 25, "boost/type_traits/detail/is_function_ptr_helper.hpp"))\r
+#include BOOST_PP_ITERATE()\r
+\r
+#endif // BOOST_TT_PREPROCESSING_MODE\r
+\r
+} // namespace type_traits\r
+} // namespace boost\r
+\r
+#endif // BOOST_TT_DETAIL_IS_FUNCTION_PTR_HELPER_HPP_INCLUDED\r
+\r
+///// iteration\r
+\r
+#else\r
+#define BOOST_PP_COUNTER BOOST_PP_FRAME_ITERATION(1)\r
+\r
+template <class R BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T)>\r
+struct is_function_ptr_helper<R (*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T))> { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+@#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T)>\r
+struct is_function_ptr_helper<R (*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+@#endif\r
+#undef BOOST_PP_COUNTER\r
+#endif // BOOST_PP_IS_ITERATING\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/detail/is_function_ptr_tester.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/detail/is_function_ptr_tester.hpp
new file mode 100644 (file)
index 0000000..6f7a5f1
--- /dev/null
@@ -0,0 +1,654 @@
+\r
+//  (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, \r
+//  Aleksey Gurtovoy, Howard Hinnant & John Maddock 2000.  \r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+\r
+#if !defined(BOOST_PP_IS_ITERATING)\r
+\r
+///// header body\r
+\r
+#ifndef BOOST_TT_DETAIL_IS_FUNCTION_PTR_TESTER_HPP_INCLUDED\r
+#define BOOST_TT_DETAIL_IS_FUNCTION_PTR_TESTER_HPP_INCLUDED\r
+\r
+#include <boost/type_traits/detail/yes_no_type.hpp>\r
+#include <boost/type_traits/config.hpp>\r
+\r
+#if defined(BOOST_TT_PREPROCESSING_MODE)\r
+#   include <boost/preprocessor/iterate.hpp>\r
+#   include <boost/preprocessor/enum_params.hpp>\r
+#   include <boost/preprocessor/comma_if.hpp>\r
+#endif\r
+\r
+namespace boost {\r
+namespace type_traits {\r
+\r
+// Note it is acceptible to use ellipsis here, since the argument will\r
+// always be a pointer type of some sort (JM 2005/06/04):\r
+no_type BOOST_TT_DECL is_function_ptr_tester(...);\r
+\r
+#if !defined(BOOST_TT_PREPROCESSING_MODE)\r
+// pre-processed code, don't edit, try GNU cpp with \r
+// cpp -I../../../ -DBOOST_TT_PREPROCESSING_MODE -x c++ -P filename\r
+\r
+template <class R >\r
+yes_type is_function_ptr_tester(R (*)());\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R >\r
+yes_type is_function_ptr_tester(R (*)( ...));\r
+#endif\r
+#ifdef BOOST_TT_TEST_MS_FUNC_SIGS\r
+template <class R >\r
+yes_type is_function_ptr_tester(R (__stdcall*)());\r
+template <class R >\r
+yes_type is_function_ptr_tester(R (__stdcall*)( ...));\r
+#ifndef _MANAGED\r
+template <class R >\r
+yes_type is_function_ptr_tester(R (__fastcall*)());\r
+template <class R >\r
+yes_type is_function_ptr_tester(R (__fastcall*)( ...));\r
+#endif\r
+template <class R >\r
+yes_type is_function_ptr_tester(R (__cdecl*)());\r
+template <class R >\r
+yes_type is_function_ptr_tester(R (__cdecl*)( ...));\r
+#endif\r
+template <class R , class T0 >\r
+yes_type is_function_ptr_tester(R (*)( T0));\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R , class T0 >\r
+yes_type is_function_ptr_tester(R (*)( T0 ...));\r
+#endif\r
+#ifdef BOOST_TT_TEST_MS_FUNC_SIGS\r
+template <class R , class T0 >\r
+yes_type is_function_ptr_tester(R (__stdcall*)( T0));\r
+template <class R , class T0 >\r
+yes_type is_function_ptr_tester(R (__stdcall*)( T0 ...));\r
+#ifndef _MANAGED\r
+template <class R , class T0 >\r
+yes_type is_function_ptr_tester(R (__fastcall*)( T0));\r
+template <class R , class T0 >\r
+yes_type is_function_ptr_tester(R (__fastcall*)( T0 ...));\r
+#endif\r
+template <class R , class T0 >\r
+yes_type is_function_ptr_tester(R (__cdecl*)( T0));\r
+template <class R , class T0 >\r
+yes_type is_function_ptr_tester(R (__cdecl*)( T0 ...));\r
+#endif\r
+template <class R , class T0 , class T1 >\r
+yes_type is_function_ptr_tester(R (*)( T0 , T1));\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R , class T0 , class T1 >\r
+yes_type is_function_ptr_tester(R (*)( T0 , T1 ...));\r
+#endif\r
+#ifdef BOOST_TT_TEST_MS_FUNC_SIGS\r
+template <class R , class T0 , class T1 >\r
+yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1));\r
+template <class R , class T0 , class T1 >\r
+yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 ...));\r
+#ifndef _MANAGED\r
+template <class R , class T0 , class T1 >\r
+yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1));\r
+template <class R , class T0 , class T1 >\r
+yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 ...));\r
+#endif\r
+template <class R , class T0 , class T1 >\r
+yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1));\r
+template <class R , class T0 , class T1 >\r
+yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 ...));\r
+#endif\r
+template <class R , class T0 , class T1 , class T2 >\r
+yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2));\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R , class T0 , class T1 , class T2 >\r
+yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 ...));\r
+#endif\r
+#ifdef BOOST_TT_TEST_MS_FUNC_SIGS\r
+template <class R , class T0 , class T1 , class T2 >\r
+yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2));\r
+template <class R , class T0 , class T1 , class T2 >\r
+yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 ...));\r
+#ifndef _MANAGED\r
+template <class R , class T0 , class T1 , class T2 >\r
+yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2));\r
+template <class R , class T0 , class T1 , class T2 >\r
+yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 ...));\r
+#endif\r
+template <class R , class T0 , class T1 , class T2 >\r
+yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2));\r
+template <class R , class T0 , class T1 , class T2 >\r
+yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 ...));\r
+#endif\r
+template <class R , class T0 , class T1 , class T2 , class T3 >\r
+yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3));\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R , class T0 , class T1 , class T2 , class T3 >\r
+yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 ...));\r
+#endif\r
+#ifdef BOOST_TT_TEST_MS_FUNC_SIGS\r
+template <class R , class T0 , class T1 , class T2 , class T3 >\r
+yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3));\r
+template <class R , class T0 , class T1 , class T2 , class T3 >\r
+yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 ...));\r
+#ifndef _MANAGED\r
+template <class R , class T0 , class T1 , class T2 , class T3 >\r
+yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3));\r
+template <class R , class T0 , class T1 , class T2 , class T3 >\r
+yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 ...));\r
+#endif\r
+template <class R , class T0 , class T1 , class T2 , class T3 >\r
+yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3));\r
+template <class R , class T0 , class T1 , class T2 , class T3 >\r
+yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 ...));\r
+#endif\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 >\r
+yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4));\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 >\r
+yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 ...));\r
+#endif\r
+#ifdef BOOST_TT_TEST_MS_FUNC_SIGS\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 >\r
+yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4));\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 >\r
+yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 ...));\r
+#ifndef _MANAGED\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 >\r
+yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4));\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 >\r
+yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 ...));\r
+#endif\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 >\r
+yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4));\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 >\r
+yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 ...));\r
+#endif\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >\r
+yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5));\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >\r
+yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 ...));\r
+#endif\r
+#ifdef BOOST_TT_TEST_MS_FUNC_SIGS\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >\r
+yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5));\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >\r
+yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 ...));\r
+#ifndef _MANAGED\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >\r
+yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5));\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >\r
+yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 ...));\r
+#endif\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >\r
+yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5));\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >\r
+yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 ...));\r
+#endif\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >\r
+yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6));\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >\r
+yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...));\r
+#endif\r
+#ifdef BOOST_TT_TEST_MS_FUNC_SIGS\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >\r
+yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6));\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >\r
+yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...));\r
+#ifndef _MANAGED\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >\r
+yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6));\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >\r
+yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...));\r
+#endif\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >\r
+yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6));\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >\r
+yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...));\r
+#endif\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >\r
+yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7));\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >\r
+yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...));\r
+#endif\r
+#ifdef BOOST_TT_TEST_MS_FUNC_SIGS\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >\r
+yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7));\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >\r
+yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...));\r
+#ifndef _MANAGED\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >\r
+yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7));\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >\r
+yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...));\r
+#endif\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >\r
+yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7));\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >\r
+yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...));\r
+#endif\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >\r
+yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8));\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >\r
+yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...));\r
+#endif\r
+#ifdef BOOST_TT_TEST_MS_FUNC_SIGS\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >\r
+yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8));\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >\r
+yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...));\r
+#ifndef _MANAGED\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >\r
+yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8));\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >\r
+yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...));\r
+#endif\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >\r
+yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8));\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >\r
+yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...));\r
+#endif\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >\r
+yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9));\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >\r
+yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...));\r
+#endif\r
+#ifdef BOOST_TT_TEST_MS_FUNC_SIGS\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >\r
+yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9));\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >\r
+yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...));\r
+#ifndef _MANAGED\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >\r
+yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9));\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >\r
+yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...));\r
+#endif\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >\r
+yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9));\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >\r
+yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...));\r
+#endif\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >\r
+yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10));\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >\r
+yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...));\r
+#endif\r
+#ifdef BOOST_TT_TEST_MS_FUNC_SIGS\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >\r
+yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10));\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >\r
+yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...));\r
+#ifndef _MANAGED\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >\r
+yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10));\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >\r
+yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...));\r
+#endif\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >\r
+yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10));\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >\r
+yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...));\r
+#endif\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >\r
+yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11));\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >\r
+yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...));\r
+#endif\r
+#ifdef BOOST_TT_TEST_MS_FUNC_SIGS\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >\r
+yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11));\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >\r
+yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...));\r
+#ifndef _MANAGED\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >\r
+yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11));\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >\r
+yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...));\r
+#endif\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >\r
+yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11));\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >\r
+yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...));\r
+#endif\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >\r
+yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12));\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >\r
+yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...));\r
+#endif\r
+#ifdef BOOST_TT_TEST_MS_FUNC_SIGS\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >\r
+yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12));\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >\r
+yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...));\r
+#ifndef _MANAGED\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >\r
+yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12));\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >\r
+yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...));\r
+#endif\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >\r
+yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12));\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >\r
+yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...));\r
+#endif\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >\r
+yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13));\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >\r
+yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...));\r
+#endif\r
+#ifdef BOOST_TT_TEST_MS_FUNC_SIGS\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >\r
+yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13));\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >\r
+yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...));\r
+#ifndef _MANAGED\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >\r
+yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13));\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >\r
+yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...));\r
+#endif\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >\r
+yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13));\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >\r
+yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...));\r
+#endif\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >\r
+yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14));\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >\r
+yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...));\r
+#endif\r
+#ifdef BOOST_TT_TEST_MS_FUNC_SIGS\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >\r
+yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14));\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >\r
+yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...));\r
+#ifndef _MANAGED\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >\r
+yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14));\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >\r
+yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...));\r
+#endif\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >\r
+yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14));\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >\r
+yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...));\r
+#endif\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >\r
+yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15));\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >\r
+yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...));\r
+#endif\r
+#ifdef BOOST_TT_TEST_MS_FUNC_SIGS\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >\r
+yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15));\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >\r
+yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...));\r
+#ifndef _MANAGED\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >\r
+yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15));\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >\r
+yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...));\r
+#endif\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >\r
+yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15));\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >\r
+yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...));\r
+#endif\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >\r
+yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16));\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >\r
+yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...));\r
+#endif\r
+#ifdef BOOST_TT_TEST_MS_FUNC_SIGS\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >\r
+yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16));\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >\r
+yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...));\r
+#ifndef _MANAGED\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >\r
+yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16));\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >\r
+yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...));\r
+#endif\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >\r
+yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16));\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >\r
+yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...));\r
+#endif\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >\r
+yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17));\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >\r
+yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...));\r
+#endif\r
+#ifdef BOOST_TT_TEST_MS_FUNC_SIGS\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >\r
+yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17));\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >\r
+yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...));\r
+#ifndef _MANAGED\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >\r
+yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17));\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >\r
+yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...));\r
+#endif\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >\r
+yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17));\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >\r
+yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...));\r
+#endif\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >\r
+yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18));\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >\r
+yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...));\r
+#endif\r
+#ifdef BOOST_TT_TEST_MS_FUNC_SIGS\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >\r
+yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18));\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >\r
+yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...));\r
+#ifndef _MANAGED\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >\r
+yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18));\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >\r
+yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...));\r
+#endif\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >\r
+yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18));\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >\r
+yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...));\r
+#endif\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >\r
+yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19));\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >\r
+yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...));\r
+#endif\r
+#ifdef BOOST_TT_TEST_MS_FUNC_SIGS\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >\r
+yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19));\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >\r
+yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...));\r
+#ifndef _MANAGED\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >\r
+yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19));\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >\r
+yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...));\r
+#endif\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >\r
+yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19));\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >\r
+yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...));\r
+#endif\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >\r
+yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20));\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >\r
+yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...));\r
+#endif\r
+#ifdef BOOST_TT_TEST_MS_FUNC_SIGS\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >\r
+yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20));\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >\r
+yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...));\r
+#ifndef _MANAGED\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >\r
+yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20));\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >\r
+yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...));\r
+#endif\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >\r
+yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20));\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >\r
+yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...));\r
+#endif\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >\r
+yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21));\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >\r
+yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...));\r
+#endif\r
+#ifdef BOOST_TT_TEST_MS_FUNC_SIGS\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >\r
+yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21));\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >\r
+yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...));\r
+#ifndef _MANAGED\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >\r
+yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21));\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >\r
+yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...));\r
+#endif\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >\r
+yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21));\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >\r
+yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...));\r
+#endif\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >\r
+yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22));\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >\r
+yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...));\r
+#endif\r
+#ifdef BOOST_TT_TEST_MS_FUNC_SIGS\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >\r
+yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22));\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >\r
+yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...));\r
+#ifndef _MANAGED\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >\r
+yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22));\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >\r
+yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...));\r
+#endif\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >\r
+yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22));\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >\r
+yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...));\r
+#endif\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >\r
+yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23));\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >\r
+yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...));\r
+#endif\r
+#ifdef BOOST_TT_TEST_MS_FUNC_SIGS\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >\r
+yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23));\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >\r
+yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...));\r
+#ifndef _MANAGED\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >\r
+yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23));\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >\r
+yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...));\r
+#endif\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >\r
+yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23));\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >\r
+yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...));\r
+#endif\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >\r
+yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24));\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >\r
+yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...));\r
+#endif\r
+#ifdef BOOST_TT_TEST_MS_FUNC_SIGS\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >\r
+yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24));\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >\r
+yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...));\r
+#ifndef _MANAGED\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >\r
+yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24));\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >\r
+yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...));\r
+#endif\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >\r
+yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24));\r
+template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >\r
+yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...));\r
+#endif\r
+#else\r
+\r
+#define BOOST_PP_ITERATION_PARAMS_1 \\r
+    (3, (0, 25, "boost/type_traits/detail/is_function_ptr_tester.hpp"))\r
+#include BOOST_PP_ITERATE()\r
+\r
+#endif // BOOST_TT_PREPROCESSING_MODE\r
+\r
+} // namespace type_traits\r
+} // namespace boost\r
+\r
+#endif // BOOST_TT_DETAIL_IS_FUNCTION_PTR_TESTER_HPP_INCLUDED\r
+\r
+///// iteration\r
+\r
+#else\r
+#define BOOST_PP_COUNTER BOOST_PP_FRAME_ITERATION(1)\r
+#undef __stdcall\r
+#undef __fastcall\r
+#undef __cdecl\r
+\r
+template <class R BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >\r
+yes_type is_function_ptr_tester(R (*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)));\r
+@#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >\r
+yes_type is_function_ptr_tester(R (*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...));\r
+@#endif\r
+@#ifdef BOOST_TT_TEST_MS_FUNC_SIGS\r
+template <class R BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >\r
+yes_type is_function_ptr_tester(R (__stdcall*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)));\r
+template <class R BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >\r
+yes_type is_function_ptr_tester(R (__stdcall*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...));\r
+@#ifndef _MANAGED\r
+template <class R BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >\r
+yes_type is_function_ptr_tester(R (__fastcall*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)));\r
+template <class R BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >\r
+yes_type is_function_ptr_tester(R (__fastcall*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...));\r
+@#endif\r
+template <class R BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >\r
+yes_type is_function_ptr_tester(R (__cdecl*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)));\r
+template <class R BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >\r
+yes_type is_function_ptr_tester(R (__cdecl*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...));\r
+@#endif\r
+\r
+#undef BOOST_PP_COUNTER\r
+#endif // BOOST_PP_IS_ITERATING\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/detail/is_mem_fun_pointer_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/detail/is_mem_fun_pointer_impl.hpp
new file mode 100644 (file)
index 0000000..7d656aa
--- /dev/null
@@ -0,0 +1,817 @@
+\r
+//  (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, \r
+//  Aleksey Gurtovoy, Howard Hinnant & John Maddock 2000.  \r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+\r
+#if !defined(BOOST_PP_IS_ITERATING)\r
+\r
+///// header body\r
+\r
+#ifndef BOOST_TT_DETAIL_IS_MEM_FUN_POINTER_IMPL_HPP_INCLUDED\r
+#define BOOST_TT_DETAIL_IS_MEM_FUN_POINTER_IMPL_HPP_INCLUDED\r
+\r
+#include <boost/config.hpp>\r
+\r
+#if defined(BOOST_TT_PREPROCESSING_MODE)\r
+#   include <boost/preprocessor/iterate.hpp>\r
+#   include <boost/preprocessor/enum_params.hpp>\r
+#   include <boost/preprocessor/comma_if.hpp>\r
+#endif\r
+\r
+namespace boost {\r
+namespace type_traits {\r
+\r
+template <typename T>\r
+struct is_mem_fun_pointer_impl\r
+{\r
+    BOOST_STATIC_CONSTANT(bool, value = false);\r
+};\r
+\r
+#if !defined(BOOST_TT_PREPROCESSING_MODE)\r
+// pre-processed code, don't edit, try GNU cpp with \r
+// cpp -I../../../ -DBOOST_TT_PREPROCESSING_MODE -x c++ -P filename\r
+\r
+template <class R, class T >\r
+struct is_mem_fun_pointer_impl<R (T::*)() > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R, class T >\r
+struct is_mem_fun_pointer_impl<R (T::*)( ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#endif\r
+\r
+#if !defined(BOOST_TT_NO_CV_FUNC_TEST)\r
+template <class R, class T >\r
+struct is_mem_fun_pointer_impl<R (T::*)() const > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T >\r
+struct is_mem_fun_pointer_impl<R (T::*)() volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T >\r
+struct is_mem_fun_pointer_impl<R (T::*)() const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R, class T >\r
+struct is_mem_fun_pointer_impl<R (T::*)( ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T >\r
+struct is_mem_fun_pointer_impl<R (T::*)( ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T >\r
+struct is_mem_fun_pointer_impl<R (T::*)( ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#endif\r
+#endif\r
+template <class R, class T , class T0>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0) > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R, class T , class T0>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#endif\r
+\r
+#if !defined(BOOST_TT_NO_CV_FUNC_TEST)\r
+template <class R, class T , class T0>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0) const > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R, class T , class T0>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#endif\r
+#endif\r
+template <class R, class T , class T0 , class T1>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1) > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R, class T , class T0 , class T1>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#endif\r
+\r
+#if !defined(BOOST_TT_NO_CV_FUNC_TEST)\r
+template <class R, class T , class T0 , class T1>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1) const > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R, class T , class T0 , class T1>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#endif\r
+#endif\r
+template <class R, class T , class T0 , class T1 , class T2>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2) > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R, class T , class T0 , class T1 , class T2>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#endif\r
+\r
+#if !defined(BOOST_TT_NO_CV_FUNC_TEST)\r
+template <class R, class T , class T0 , class T1 , class T2>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2) const > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R, class T , class T0 , class T1 , class T2>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#endif\r
+#endif\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3) > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#endif\r
+\r
+#if !defined(BOOST_TT_NO_CV_FUNC_TEST)\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3) const > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#endif\r
+#endif\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4) > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#endif\r
+\r
+#if !defined(BOOST_TT_NO_CV_FUNC_TEST)\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4) const > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#endif\r
+#endif\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5) > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#endif\r
+\r
+#if !defined(BOOST_TT_NO_CV_FUNC_TEST)\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5) const > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#endif\r
+#endif\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6) > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#endif\r
+\r
+#if !defined(BOOST_TT_NO_CV_FUNC_TEST)\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6) const > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#endif\r
+#endif\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7) > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#endif\r
+\r
+#if !defined(BOOST_TT_NO_CV_FUNC_TEST)\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7) const > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#endif\r
+#endif\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8) > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#endif\r
+\r
+#if !defined(BOOST_TT_NO_CV_FUNC_TEST)\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8) const > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#endif\r
+#endif\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9) > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#endif\r
+\r
+#if !defined(BOOST_TT_NO_CV_FUNC_TEST)\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9) const > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#endif\r
+#endif\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10) > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#endif\r
+\r
+#if !defined(BOOST_TT_NO_CV_FUNC_TEST)\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10) const > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#endif\r
+#endif\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11) > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#endif\r
+\r
+#if !defined(BOOST_TT_NO_CV_FUNC_TEST)\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11) const > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#endif\r
+#endif\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12) > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#endif\r
+\r
+#if !defined(BOOST_TT_NO_CV_FUNC_TEST)\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12) const > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#endif\r
+#endif\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13) > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#endif\r
+\r
+#if !defined(BOOST_TT_NO_CV_FUNC_TEST)\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13) const > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#endif\r
+#endif\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14) > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#endif\r
+\r
+#if !defined(BOOST_TT_NO_CV_FUNC_TEST)\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14) const > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#endif\r
+#endif\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15) > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#endif\r
+\r
+#if !defined(BOOST_TT_NO_CV_FUNC_TEST)\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15) const > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#endif\r
+#endif\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16) > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#endif\r
+\r
+#if !defined(BOOST_TT_NO_CV_FUNC_TEST)\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16) const > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#endif\r
+#endif\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17) > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#endif\r
+\r
+#if !defined(BOOST_TT_NO_CV_FUNC_TEST)\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17) const > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#endif\r
+#endif\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18) > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#endif\r
+\r
+#if !defined(BOOST_TT_NO_CV_FUNC_TEST)\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18) const > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#endif\r
+#endif\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19) > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#endif\r
+\r
+#if !defined(BOOST_TT_NO_CV_FUNC_TEST)\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19) const > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#endif\r
+#endif\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20) > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#endif\r
+\r
+#if !defined(BOOST_TT_NO_CV_FUNC_TEST)\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20) const > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#endif\r
+#endif\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21) > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#endif\r
+\r
+#if !defined(BOOST_TT_NO_CV_FUNC_TEST)\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21) const > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#endif\r
+#endif\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22) > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#endif\r
+\r
+#if !defined(BOOST_TT_NO_CV_FUNC_TEST)\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22) const > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#endif\r
+#endif\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23) > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#endif\r
+\r
+#if !defined(BOOST_TT_NO_CV_FUNC_TEST)\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23) const > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#endif\r
+#endif\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24) > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#endif\r
+\r
+#if !defined(BOOST_TT_NO_CV_FUNC_TEST)\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24) const > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24>\r
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+#endif\r
+#endif\r
+\r
+#else\r
+\r
+#undef BOOST_STATIC_CONSTANT\r
+#define BOOST_PP_ITERATION_PARAMS_1 \\r
+    (3, (0, 25, "boost/type_traits/detail/is_mem_fun_pointer_impl.hpp"))\r
+#include BOOST_PP_ITERATE()\r
+\r
+#endif // BOOST_TT_PREPROCESSING_MODE\r
+\r
+} // namespace type_traits\r
+} // namespace boost\r
+\r
+#endif // BOOST_TT_DETAIL_IS_MEM_FUN_POINTER_IMPL_HPP_INCLUDED\r
+\r
+///// iteration\r
+\r
+#else\r
+#define BOOST_PP_COUNTER BOOST_PP_FRAME_ITERATION(1)\r
+\r
+template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T)>\r
+struct is_mem_fun_pointer_impl<R (T::*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+@#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T)>\r
+struct is_mem_fun_pointer_impl<R (T::*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+@#endif\r
+\r
+@#if !defined(BOOST_TT_NO_CV_FUNC_TEST)\r
+template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T)>\r
+struct is_mem_fun_pointer_impl<R (T::*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) const > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T)>\r
+struct is_mem_fun_pointer_impl<R (T::*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T)>\r
+struct is_mem_fun_pointer_impl<R (T::*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+@#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T)>\r
+struct is_mem_fun_pointer_impl<R (T::*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T)>\r
+struct is_mem_fun_pointer_impl<R (T::*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+\r
+template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T)>\r
+struct is_mem_fun_pointer_impl<R (T::*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };\r
+@#endif\r
+@#endif\r
+\r
+#undef BOOST_PP_COUNTER\r
+#endif // BOOST_PP_IS_ITERATING\r
+\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/detail/is_mem_fun_pointer_tester.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/detail/is_mem_fun_pointer_tester.hpp
new file mode 100644 (file)
index 0000000..4704bd6
--- /dev/null
@@ -0,0 +1,2759 @@
+\r
+//  (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, \r
+//  Aleksey Gurtovoy, Howard Hinnant & John Maddock 2000.  \r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+\r
+#if !defined(BOOST_PP_IS_ITERATING)\r
+\r
+///// header body\r
+\r
+#ifndef BOOST_TT_DETAIL_IS_MEM_FUN_POINTER_TESTER_HPP_INCLUDED\r
+#define BOOST_TT_DETAIL_IS_MEM_FUN_POINTER_TESTER_HPP_INCLUDED\r
+\r
+#include <boost/type_traits/detail/yes_no_type.hpp>\r
+#include <boost/type_traits/config.hpp>\r
+\r
+#if defined(BOOST_TT_PREPROCESSING_MODE)\r
+#   include <boost/preprocessor/iterate.hpp>\r
+#   include <boost/preprocessor/enum_params.hpp>\r
+#   include <boost/preprocessor/comma_if.hpp>\r
+#endif\r
+\r
+namespace boost {\r
+namespace type_traits {\r
+\r
+no_type BOOST_TT_DECL is_mem_fun_pointer_tester(...);\r
+\r
+#if !defined(BOOST_TT_PREPROCESSING_MODE)\r
+// pre-processed code, don't edit, try GNU cpp with \r
+// cpp -I../../../ -DBOOST_TT_PREPROCESSING_MODE -x c++ -P filename\r
+\r
+template <class R, class T >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)());\r
+\r
+template <class R, class T >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)() const);\r
+\r
+template <class R, class T >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)() volatile);\r
+\r
+template <class R, class T >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)() const volatile);\r
+\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R, class T >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( ...));\r
+\r
+template <class R, class T >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( ...) const);\r
+\r
+template <class R, class T >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( ...) volatile);\r
+\r
+template <class R, class T >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( ...) const volatile);\r
+#endif\r
+#ifdef BOOST_TT_TEST_MS_FUNC_SIGS\r
+template <class R, class T >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)());\r
+\r
+template <class R, class T >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)() const);\r
+\r
+template <class R, class T >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)() volatile);\r
+\r
+template <class R, class T >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)() const volatile);\r
+\r
+template <class R, class T >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( ...));\r
+\r
+template <class R, class T >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( ...) const);\r
+\r
+template <class R, class T >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( ...) volatile);\r
+\r
+template <class R, class T >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( ...) const volatile);\r
+\r
+#ifndef _MANAGED\r
+template <class R, class T >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)());\r
+\r
+template <class R, class T >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)() const);\r
+\r
+template <class R, class T >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)() volatile);\r
+\r
+template <class R, class T >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)() const volatile);\r
+\r
+template <class R, class T >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( ...));\r
+\r
+template <class R, class T >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( ...) const);\r
+\r
+template <class R, class T >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( ...) volatile);\r
+\r
+template <class R, class T >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( ...) const volatile);\r
+#endif\r
+\r
+template <class R, class T >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)());\r
+\r
+template <class R, class T >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)() const);\r
+\r
+template <class R, class T >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)() volatile);\r
+\r
+template <class R, class T >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)() const volatile);\r
+\r
+template <class R, class T >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( ...));\r
+\r
+template <class R, class T >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( ...) const);\r
+\r
+template <class R, class T >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( ...) volatile);\r
+\r
+template <class R, class T >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( ...) const volatile);\r
+#endif\r
+template <class R, class T , class T0 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0));\r
+\r
+template <class R, class T , class T0 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0) const);\r
+\r
+template <class R, class T , class T0 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0) volatile);\r
+\r
+template <class R, class T , class T0 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0) const volatile);\r
+\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R, class T , class T0 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 ...));\r
+\r
+template <class R, class T , class T0 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 ...) const);\r
+\r
+template <class R, class T , class T0 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 ...) volatile);\r
+\r
+template <class R, class T , class T0 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 ...) const volatile);\r
+#endif\r
+#ifdef BOOST_TT_TEST_MS_FUNC_SIGS\r
+template <class R, class T , class T0 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0));\r
+\r
+template <class R, class T , class T0 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0) const);\r
+\r
+template <class R, class T , class T0 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0) volatile);\r
+\r
+template <class R, class T , class T0 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0) const volatile);\r
+\r
+template <class R, class T , class T0 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 ...));\r
+\r
+template <class R, class T , class T0 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 ...) const);\r
+\r
+template <class R, class T , class T0 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 ...) volatile);\r
+\r
+template <class R, class T , class T0 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 ...) const volatile);\r
+\r
+#ifndef _MANAGED\r
+template <class R, class T , class T0 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0));\r
+\r
+template <class R, class T , class T0 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0) const);\r
+\r
+template <class R, class T , class T0 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0) volatile);\r
+\r
+template <class R, class T , class T0 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0) const volatile);\r
+\r
+template <class R, class T , class T0 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 ...));\r
+\r
+template <class R, class T , class T0 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 ...) const);\r
+\r
+template <class R, class T , class T0 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 ...) volatile);\r
+\r
+template <class R, class T , class T0 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 ...) const volatile);\r
+#endif\r
+\r
+template <class R, class T , class T0 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0));\r
+\r
+template <class R, class T , class T0 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0) const);\r
+\r
+template <class R, class T , class T0 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0) volatile);\r
+\r
+template <class R, class T , class T0 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0) const volatile);\r
+\r
+template <class R, class T , class T0 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 ...));\r
+\r
+template <class R, class T , class T0 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 ...) const);\r
+\r
+template <class R, class T , class T0 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 ...) volatile);\r
+\r
+template <class R, class T , class T0 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 ...) const volatile);\r
+#endif\r
+template <class R, class T , class T0 , class T1 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1));\r
+\r
+template <class R, class T , class T0 , class T1 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1) const);\r
+\r
+template <class R, class T , class T0 , class T1 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1) const volatile);\r
+\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R, class T , class T0 , class T1 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 ...));\r
+\r
+template <class R, class T , class T0 , class T1 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 ...) const volatile);\r
+#endif\r
+#ifdef BOOST_TT_TEST_MS_FUNC_SIGS\r
+template <class R, class T , class T0 , class T1 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1));\r
+\r
+template <class R, class T , class T0 , class T1 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1) const);\r
+\r
+template <class R, class T , class T0 , class T1 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1) const volatile);\r
+\r
+template <class R, class T , class T0 , class T1 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 ...));\r
+\r
+template <class R, class T , class T0 , class T1 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 ...) const volatile);\r
+\r
+#ifndef _MANAGED\r
+template <class R, class T , class T0 , class T1 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1));\r
+\r
+template <class R, class T , class T0 , class T1 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1) const);\r
+\r
+template <class R, class T , class T0 , class T1 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1) const volatile);\r
+\r
+template <class R, class T , class T0 , class T1 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 ...));\r
+\r
+template <class R, class T , class T0 , class T1 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 ...) const volatile);\r
+#endif\r
+\r
+template <class R, class T , class T0 , class T1 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1));\r
+\r
+template <class R, class T , class T0 , class T1 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1) const);\r
+\r
+template <class R, class T , class T0 , class T1 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1) const volatile);\r
+\r
+template <class R, class T , class T0 , class T1 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 ...));\r
+\r
+template <class R, class T , class T0 , class T1 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 ...) const volatile);\r
+#endif\r
+template <class R, class T , class T0 , class T1 , class T2 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2) const volatile);\r
+\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R, class T , class T0 , class T1 , class T2 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 ...) const volatile);\r
+#endif\r
+#ifdef BOOST_TT_TEST_MS_FUNC_SIGS\r
+template <class R, class T , class T0 , class T1 , class T2 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2) const volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 ...) const volatile);\r
+\r
+#ifndef _MANAGED\r
+template <class R, class T , class T0 , class T1 , class T2 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2) const volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 ...) const volatile);\r
+#endif\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2) const volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 ...) const volatile);\r
+#endif\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3) const volatile);\r
+\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 ...) const volatile);\r
+#endif\r
+#ifdef BOOST_TT_TEST_MS_FUNC_SIGS\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3) const volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 ...) const volatile);\r
+\r
+#ifndef _MANAGED\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3) const volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 ...) const volatile);\r
+#endif\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3) const volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 ...) const volatile);\r
+#endif\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4) const volatile);\r
+\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 ...) const volatile);\r
+#endif\r
+#ifdef BOOST_TT_TEST_MS_FUNC_SIGS\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4) const volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 ...) const volatile);\r
+\r
+#ifndef _MANAGED\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4) const volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 ...) const volatile);\r
+#endif\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4) const volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 ...) const volatile);\r
+#endif\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5) const volatile);\r
+\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 ...) const volatile);\r
+#endif\r
+#ifdef BOOST_TT_TEST_MS_FUNC_SIGS\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5) const volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 ...) const volatile);\r
+\r
+#ifndef _MANAGED\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5) const volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 ...) const volatile);\r
+#endif\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5) const volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 ...) const volatile);\r
+#endif\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6) const volatile);\r
+\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...) const volatile);\r
+#endif\r
+#ifdef BOOST_TT_TEST_MS_FUNC_SIGS\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6) const volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...) const volatile);\r
+\r
+#ifndef _MANAGED\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6) const volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...) const volatile);\r
+#endif\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6) const volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...) const volatile);\r
+#endif\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7) const volatile);\r
+\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...) const volatile);\r
+#endif\r
+#ifdef BOOST_TT_TEST_MS_FUNC_SIGS\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7) const volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...) const volatile);\r
+\r
+#ifndef _MANAGED\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7) const volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...) const volatile);\r
+#endif\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7) const volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...) const volatile);\r
+#endif\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8) const volatile);\r
+\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...) const volatile);\r
+#endif\r
+#ifdef BOOST_TT_TEST_MS_FUNC_SIGS\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8) const volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...) const volatile);\r
+\r
+#ifndef _MANAGED\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8) const volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...) const volatile);\r
+#endif\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8) const volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...) const volatile);\r
+#endif\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9) const volatile);\r
+\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...) const volatile);\r
+#endif\r
+#ifdef BOOST_TT_TEST_MS_FUNC_SIGS\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9) const volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...) const volatile);\r
+\r
+#ifndef _MANAGED\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9) const volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...) const volatile);\r
+#endif\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9) const volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...) const volatile);\r
+#endif\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10) const volatile);\r
+\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...) const volatile);\r
+#endif\r
+#ifdef BOOST_TT_TEST_MS_FUNC_SIGS\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10) const volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...) const volatile);\r
+\r
+#ifndef _MANAGED\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10) const volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...) const volatile);\r
+#endif\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10) const volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...) const volatile);\r
+#endif\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11) const volatile);\r
+\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...) const volatile);\r
+#endif\r
+#ifdef BOOST_TT_TEST_MS_FUNC_SIGS\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11) const volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...) const volatile);\r
+\r
+#ifndef _MANAGED\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11) const volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...) const volatile);\r
+#endif\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11) const volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...) const volatile);\r
+#endif\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12) const volatile);\r
+\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...) const volatile);\r
+#endif\r
+#ifdef BOOST_TT_TEST_MS_FUNC_SIGS\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12) const volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...) const volatile);\r
+\r
+#ifndef _MANAGED\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12) const volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...) const volatile);\r
+#endif\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12) const volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...) const volatile);\r
+#endif\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13) const volatile);\r
+\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...) const volatile);\r
+#endif\r
+#ifdef BOOST_TT_TEST_MS_FUNC_SIGS\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13) const volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...) const volatile);\r
+\r
+#ifndef _MANAGED\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13) const volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...) const volatile);\r
+#endif\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13) const volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...) const volatile);\r
+#endif\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14) const volatile);\r
+\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...) const volatile);\r
+#endif\r
+#ifdef BOOST_TT_TEST_MS_FUNC_SIGS\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14) const volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...) const volatile);\r
+\r
+#ifndef _MANAGED\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14) const volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...) const volatile);\r
+#endif\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14) const volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...) const volatile);\r
+#endif\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15) const volatile);\r
+\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...) const volatile);\r
+#endif\r
+#ifdef BOOST_TT_TEST_MS_FUNC_SIGS\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15) const volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...) const volatile);\r
+\r
+#ifndef _MANAGED\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15) const volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...) const volatile);\r
+#endif\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15) const volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...) const volatile);\r
+#endif\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16) const volatile);\r
+\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...) const volatile);\r
+#endif\r
+#ifdef BOOST_TT_TEST_MS_FUNC_SIGS\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16) const volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...) const volatile);\r
+\r
+#ifndef _MANAGED\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16) const volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...) const volatile);\r
+#endif\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16) const volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...) const volatile);\r
+#endif\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17) const volatile);\r
+\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...) const volatile);\r
+#endif\r
+#ifdef BOOST_TT_TEST_MS_FUNC_SIGS\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17) const volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...) const volatile);\r
+\r
+#ifndef _MANAGED\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17) const volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...) const volatile);\r
+#endif\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17) const volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...) const volatile);\r
+#endif\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18) const volatile);\r
+\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...) const volatile);\r
+#endif\r
+#ifdef BOOST_TT_TEST_MS_FUNC_SIGS\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18) const volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...) const volatile);\r
+\r
+#ifndef _MANAGED\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18) const volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...) const volatile);\r
+#endif\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18) const volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...) const volatile);\r
+#endif\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19) const volatile);\r
+\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...) const volatile);\r
+#endif\r
+#ifdef BOOST_TT_TEST_MS_FUNC_SIGS\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19) const volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...) const volatile);\r
+\r
+#ifndef _MANAGED\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19) const volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...) const volatile);\r
+#endif\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19) const volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...) const volatile);\r
+#endif\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20) const volatile);\r
+\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...) const volatile);\r
+#endif\r
+#ifdef BOOST_TT_TEST_MS_FUNC_SIGS\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20) const volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...) const volatile);\r
+\r
+#ifndef _MANAGED\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20) const volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...) const volatile);\r
+#endif\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20) const volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...) const volatile);\r
+#endif\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21) const volatile);\r
+\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...) const volatile);\r
+#endif\r
+#ifdef BOOST_TT_TEST_MS_FUNC_SIGS\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21) const volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...) const volatile);\r
+\r
+#ifndef _MANAGED\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21) const volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...) const volatile);\r
+#endif\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21) const volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...) const volatile);\r
+#endif\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22) const volatile);\r
+\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...) const volatile);\r
+#endif\r
+#ifdef BOOST_TT_TEST_MS_FUNC_SIGS\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22) const volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...) const volatile);\r
+\r
+#ifndef _MANAGED\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22) const volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...) const volatile);\r
+#endif\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22) const volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...) const volatile);\r
+#endif\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23) const volatile);\r
+\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...) const volatile);\r
+#endif\r
+#ifdef BOOST_TT_TEST_MS_FUNC_SIGS\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23) const volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...) const volatile);\r
+\r
+#ifndef _MANAGED\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23) const volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...) const volatile);\r
+#endif\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23) const volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...) const volatile);\r
+#endif\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24) const volatile);\r
+\r
+#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...) const volatile);\r
+#endif\r
+#ifdef BOOST_TT_TEST_MS_FUNC_SIGS\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24) const volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...) const volatile);\r
+\r
+#ifndef _MANAGED\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24) const volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...) const volatile);\r
+#endif\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24) const volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...));\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...) const);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...) volatile);\r
+\r
+template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...) const volatile);\r
+#endif\r
+\r
+#else\r
+\r
+#define BOOST_PP_ITERATION_PARAMS_1 \\r
+    (3, (0, 25, "boost/type_traits/detail/is_mem_fun_pointer_tester.hpp"))\r
+#include BOOST_PP_ITERATE()\r
+\r
+#endif // BOOST_TT_PREPROCESSING_MODE\r
+\r
+} // namespace type_traits\r
+} // namespace boost\r
+\r
+#endif // BOOST_TT_DETAIL_IS_MEM_FUN_POINTER_TESTER_HPP_INCLUDED\r
+\r
+///// iteration\r
+\r
+#else\r
+#define BOOST_PP_COUNTER BOOST_PP_FRAME_ITERATION(1)\r
+#undef __stdcall\r
+#undef __fastcall\r
+#undef __cdecl\r
+\r
+template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)));\r
+\r
+template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) const);\r
+\r
+template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) volatile);\r
+\r
+template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) const volatile);\r
+\r
+@#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING\r
+template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...));\r
+\r
+template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...) const);\r
+\r
+template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...) volatile);\r
+\r
+template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >\r
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...) const volatile);\r
+@#endif\r
+@#ifdef BOOST_TT_TEST_MS_FUNC_SIGS // Other calling conventions used by MS compatible compilers:\r
+template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)));\r
+\r
+template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) const);\r
+\r
+template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) volatile);\r
+\r
+template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) const volatile);\r
+\r
+template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...));\r
+\r
+template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...) const);\r
+\r
+template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...) volatile);\r
+\r
+template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >\r
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...) const volatile);\r
+\r
+@#ifndef _MANAGED\r
+template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)));\r
+\r
+template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) const);\r
+\r
+template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) volatile);\r
+\r
+template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) const volatile);\r
+\r
+template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...));\r
+\r
+template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...) const);\r
+\r
+template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...) volatile);\r
+\r
+template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >\r
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...) const volatile);\r
+@#endif\r
+\r
+template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)));\r
+\r
+template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) const);\r
+\r
+template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) volatile);\r
+\r
+template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) const volatile);\r
+\r
+template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...));\r
+\r
+template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...) const);\r
+\r
+template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...) volatile);\r
+\r
+template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >\r
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...) const volatile);\r
+@#endif\r
+\r
+#undef BOOST_PP_COUNTER\r
+#endif // BOOST_PP_IS_ITERATING\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/detail/size_t_trait_def.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/detail/size_t_trait_def.hpp
new file mode 100644 (file)
index 0000000..baedf5c
--- /dev/null
@@ -0,0 +1,58 @@
+\r
+// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION\r
+\r
+// Copyright Aleksey Gurtovoy 2002-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+// $Source$\r
+// $Date: 2005-08-25 12:27:28 -0400 (Thu, 25 Aug 2005) $\r
+// $Revision: 30670 $\r
+\r
+#include <boost/type_traits/detail/template_arity_spec.hpp>\r
+#include <boost/type_traits/integral_constant.hpp>\r
+#include <boost/mpl/aux_/lambda_support.hpp>\r
+#include <boost/mpl/size_t.hpp>\r
+\r
+#include <cstddef>\r
+\r
+#if !defined(BOOST_MSVC) || BOOST_MSVC >= 1300\r
+#   define BOOST_TT_AUX_SIZE_T_BASE(C) ::boost::integral_constant<std::size_t,C>\r
+#   define BOOST_TT_AUX_SIZE_T_TRAIT_VALUE_DECL(C) /**/\r
+#else\r
+#   define BOOST_TT_AUX_SIZE_T_BASE(C) ::boost::mpl::size_t<C>\r
+#   define BOOST_TT_AUX_SIZE_T_TRAIT_VALUE_DECL(C) \\r
+    typedef ::boost::mpl::size_t<C> base_; \\r
+    using base_::value; \\r
+    /**/\r
+#endif\r
+\r
+\r
+#define BOOST_TT_AUX_SIZE_T_TRAIT_DEF1(trait,T,C) \\r
+template< typename T > struct trait \\r
+    : BOOST_TT_AUX_SIZE_T_BASE(C) \\r
+{ \\r
+    BOOST_TT_AUX_SIZE_T_TRAIT_VALUE_DECL(C) \\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,trait,(T)) \\r
+}; \\r
+\\r
+BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1,trait) \\r
+/**/\r
+\r
+#define BOOST_TT_AUX_SIZE_T_TRAIT_SPEC1(trait,spec,C) \\r
+template<> struct trait<spec> \\r
+    : BOOST_TT_AUX_SIZE_T_BASE(C) \\r
+{ \\r
+    BOOST_TT_AUX_SIZE_T_TRAIT_VALUE_DECL(C) \\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(1,trait,(spec)) \\r
+}; \\r
+/**/\r
+\r
+#define BOOST_TT_AUX_SIZE_T_TRAIT_PARTIAL_SPEC1_1(param,trait,spec,C) \\r
+template< param > struct trait<spec> \\r
+    : BOOST_TT_AUX_SIZE_T_BASE(C) \\r
+{ \\r
+}; \\r
+/**/\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/detail/size_t_trait_undef.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/detail/size_t_trait_undef.hpp
new file mode 100644 (file)
index 0000000..a288132
--- /dev/null
@@ -0,0 +1,16 @@
+\r
+// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION\r
+\r
+// Copyright Aleksey Gurtovoy 2002-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+// $Source$\r
+// $Date: 2004-09-02 11:41:37 -0400 (Thu, 02 Sep 2004) $\r
+// $Revision: 24874 $\r
+\r
+#undef BOOST_TT_AUX_SIZE_T_TRAIT_DEF1\r
+#undef BOOST_TT_AUX_SIZE_T_TRAIT_SPEC1\r
+#undef BOOST_TT_AUX_SIZE_T_TRAIT_PARTIAL_SPEC1_1\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/detail/template_arity_spec.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/detail/template_arity_spec.hpp
new file mode 100644 (file)
index 0000000..9cfbe30
--- /dev/null
@@ -0,0 +1,31 @@
+\r
+// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION\r
+\r
+// Copyright Aleksey Gurtovoy 2002-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+#include <boost/mpl/int.hpp>\r
+#include <boost/mpl/aux_/template_arity_fwd.hpp>\r
+#include <boost/mpl/aux_/preprocessor/params.hpp>\r
+#include <boost/mpl/aux_/config/lambda.hpp>\r
+#include <boost/mpl/aux_/config/overload_resolution.hpp>\r
+\r
+#if defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT) \\r
+    && defined(BOOST_MPL_CFG_BROKEN_OVERLOAD_RESOLUTION)\r
+#   define BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(i, name) \\r
+namespace mpl { namespace aux { \\r
+template< BOOST_MPL_PP_PARAMS(i, typename T) > \\r
+struct template_arity< \\r
+          name< BOOST_MPL_PP_PARAMS(i, T) > \\r
+        > \\r
+    : int_<i> \\r
+{ \\r
+}; \\r
+}} \\r
+/**/\r
+#else\r
+#   define BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(i, name) /**/\r
+#endif\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/detail/type_trait_def.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/detail/type_trait_def.hpp
new file mode 100644 (file)
index 0000000..bfb1f53
--- /dev/null
@@ -0,0 +1,61 @@
+\r
+// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION\r
+\r
+// Copyright Aleksey Gurtovoy 2002-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+// $Source$\r
+// $Date: 2004-09-02 11:41:37 -0400 (Thu, 02 Sep 2004) $\r
+// $Revision: 24874 $\r
+\r
+#include <boost/type_traits/detail/template_arity_spec.hpp>\r
+#include <boost/mpl/aux_/lambda_support.hpp>\r
+\r
+#define BOOST_TT_AUX_TYPE_TRAIT_DEF1(trait,T,result) \\r
+template< typename T > struct trait \\r
+{ \\r
+    typedef result type; \\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,trait,(T)) \\r
+}; \\r
+\\r
+BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1,trait) \\r
+/**/\r
+\r
+#define BOOST_TT_AUX_TYPE_TRAIT_SPEC1(trait,spec,result) \\r
+template<> struct trait<spec> \\r
+{ \\r
+    typedef result type; \\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(1,trait,(spec)) \\r
+}; \\r
+/**/\r
+\r
+#define BOOST_TT_AUX_TYPE_TRAIT_IMPL_SPEC1(trait,spec,result) \\r
+template<> struct trait##_impl<spec> \\r
+{ \\r
+    typedef result type; \\r
+}; \\r
+/**/\r
+\r
+#define BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(param,trait,spec,result) \\r
+template< param > struct trait<spec> \\r
+{ \\r
+    typedef result type; \\r
+}; \\r
+/**/\r
+\r
+#define BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(param1,param2,trait,spec,result) \\r
+template< param1, param2 > struct trait<spec> \\r
+{ \\r
+    typedef result; \\r
+}; \\r
+/**/\r
+\r
+#define BOOST_TT_AUX_TYPE_TRAIT_IMPL_PARTIAL_SPEC1_1(param,trait,spec,result) \\r
+template< param > struct trait##_impl<spec> \\r
+{ \\r
+    typedef result type; \\r
+}; \\r
+/**/\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/detail/type_trait_undef.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/detail/type_trait_undef.hpp
new file mode 100644 (file)
index 0000000..5cb48a5
--- /dev/null
@@ -0,0 +1,19 @@
+\r
+// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION\r
+\r
+// Copyright Aleksey Gurtovoy 2002-2004\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. \r
+// (See accompanying file LICENSE_1_0.txt or copy at \r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+// $Source$\r
+// $Date: 2004-09-02 11:41:37 -0400 (Thu, 02 Sep 2004) $\r
+// $Revision: 24874 $\r
+\r
+#undef BOOST_TT_AUX_TYPE_TRAIT_DEF1\r
+#undef BOOST_TT_AUX_TYPE_TRAIT_SPEC1\r
+#undef BOOST_TT_AUX_TYPE_TRAIT_IMPL_SPEC1\r
+#undef BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1\r
+#undef BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2\r
+#undef BOOST_TT_AUX_TYPE_TRAIT_IMPL_PARTIAL_SPEC1_1\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/detail/wrap.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/detail/wrap.hpp
new file mode 100644 (file)
index 0000000..1dc10e5
--- /dev/null
@@ -0,0 +1,18 @@
+//  (C) Copyright David Abrahams 2002. \r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+\r
+#ifndef BOOST_TT_DETAIL_WRAP_HPP_INCLUDED\r
+#define BOOST_TT_DETAIL_WRAP_HPP_INCLUDED\r
+\r
+namespace boost {\r
+namespace type_traits {\r
+\r
+template <class T> struct wrap {};\r
+\r
+}} // namespace boost::type_traits\r
+\r
+#endif // BOOST_TT_DETAIL_WRAP_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/detail/yes_no_type.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/detail/yes_no_type.hpp
new file mode 100644 (file)
index 0000000..f62087f
--- /dev/null
@@ -0,0 +1,26 @@
+\r
+//  (C) Copyright John Maddock and Steve Cleary 2000.\r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+//\r
+//  macros and helpers for working with integral-constant-expressions.\r
+\r
+#ifndef BOOST_TT_DETAIL_YES_NO_TYPE_HPP_INCLUDED\r
+#define BOOST_TT_DETAIL_YES_NO_TYPE_HPP_INCLUDED\r
+\r
+namespace boost {\r
+namespace type_traits {\r
+\r
+typedef char yes_type;\r
+struct no_type\r
+{\r
+   char padding[8];\r
+};\r
+\r
+} // namespace type_traits\r
+} // namespace boost\r
+\r
+#endif // BOOST_TT_DETAIL_YES_NO_TYPE_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/extent.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/extent.hpp
new file mode 100644 (file)
index 0000000..70cc6bb
--- /dev/null
@@ -0,0 +1,145 @@
+\r
+//  (C) Copyright John Maddock 2005.  \r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+\r
+\r
+#ifndef BOOST_TT_EXTENT_HPP_INCLUDED\r
+#define BOOST_TT_EXTENT_HPP_INCLUDED\r
+\r
+// should be the last #include\r
+#include <boost/type_traits/detail/size_t_trait_def.hpp>\r
+\r
+namespace boost {\r
+\r
+namespace detail{\r
+\r
+#if defined( __CODEGEARC__ )\r
+    // wrap the impl as main trait provides additional MPL lambda support\r
+    template < typename T, std::size_t N >\r
+    struct extent_imp {\r
+        static const std::size_t value = __array_extent(T, N);\r
+    };\r
+\r
+#else\r
+\r
+template <class T, std::size_t N>\r
+struct extent_imp\r
+{\r
+   BOOST_STATIC_CONSTANT(std::size_t, value = 0);\r
+};\r
+#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)\r
+template <class T, std::size_t R, std::size_t N>\r
+struct extent_imp<T[R], N>\r
+{\r
+   BOOST_STATIC_CONSTANT(std::size_t, value = (::boost::detail::extent_imp<T, N-1>::value));\r
+};\r
+\r
+template <class T, std::size_t R, std::size_t N>\r
+struct extent_imp<T const[R], N>\r
+{\r
+   BOOST_STATIC_CONSTANT(std::size_t, value = (::boost::detail::extent_imp<T, N-1>::value));\r
+};\r
+\r
+template <class T, std::size_t R, std::size_t N>\r
+struct extent_imp<T volatile[R], N>\r
+{\r
+   BOOST_STATIC_CONSTANT(std::size_t, value = (::boost::detail::extent_imp<T, N-1>::value));\r
+};\r
+\r
+template <class T, std::size_t R, std::size_t N>\r
+struct extent_imp<T const volatile[R], N>\r
+{\r
+   BOOST_STATIC_CONSTANT(std::size_t, value = (::boost::detail::extent_imp<T, N-1>::value));\r
+};\r
+\r
+template <class T, std::size_t R>\r
+struct extent_imp<T[R],0>\r
+{\r
+   BOOST_STATIC_CONSTANT(std::size_t, value = R);\r
+};\r
+\r
+template <class T, std::size_t R>\r
+struct extent_imp<T const[R], 0>\r
+{\r
+   BOOST_STATIC_CONSTANT(std::size_t, value = R);\r
+};\r
+\r
+template <class T, std::size_t R>\r
+struct extent_imp<T volatile[R], 0>\r
+{\r
+   BOOST_STATIC_CONSTANT(std::size_t, value = R);\r
+};\r
+\r
+template <class T, std::size_t R>\r
+struct extent_imp<T const volatile[R], 0>\r
+{\r
+   BOOST_STATIC_CONSTANT(std::size_t, value = R);\r
+};\r
+\r
+#if !BOOST_WORKAROUND(__BORLANDC__, < 0x600) && !defined(__IBMCPP__) &&  !BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840)) && !defined(__MWERKS__)\r
+template <class T, std::size_t N>\r
+struct extent_imp<T[], N>\r
+{\r
+   BOOST_STATIC_CONSTANT(std::size_t, value = (::boost::detail::extent_imp<T, N-1>::value));\r
+};\r
+template <class T, std::size_t N>\r
+struct extent_imp<T const[], N>\r
+{\r
+   BOOST_STATIC_CONSTANT(std::size_t, value = (::boost::detail::extent_imp<T, N-1>::value));\r
+};\r
+template <class T, std::size_t N>\r
+struct extent_imp<T volatile[], N>\r
+{\r
+   BOOST_STATIC_CONSTANT(std::size_t, value = (::boost::detail::extent_imp<T, N-1>::value));\r
+};\r
+template <class T, std::size_t N>\r
+struct extent_imp<T const volatile[], N>\r
+{\r
+   BOOST_STATIC_CONSTANT(std::size_t, value = (::boost::detail::extent_imp<T, N-1>::value));\r
+};\r
+template <class T>\r
+struct extent_imp<T[], 0>\r
+{\r
+   BOOST_STATIC_CONSTANT(std::size_t, value = 0);\r
+};\r
+template <class T>\r
+struct extent_imp<T const[], 0>\r
+{\r
+   BOOST_STATIC_CONSTANT(std::size_t, value = 0);\r
+};\r
+template <class T>\r
+struct extent_imp<T volatile[], 0>\r
+{\r
+   BOOST_STATIC_CONSTANT(std::size_t, value = 0);\r
+};\r
+template <class T>\r
+struct extent_imp<T const volatile[], 0>\r
+{\r
+   BOOST_STATIC_CONSTANT(std::size_t, value = 0);\r
+};\r
+#endif\r
+#endif\r
+\r
+#endif  // non-CodeGear implementation\r
+}   // ::boost::detail\r
+\r
+template <class T, std::size_t N = 0>\r
+struct extent\r
+   : public ::boost::integral_constant<std::size_t, ::boost::detail::extent_imp<T,N>::value>\r
+{\r
+#if BOOST_WORKAROUND(BOOST_MSVC, < 1300) \r
+   typedef ::boost::integral_constant<std::size_t, ::boost::detail::extent_imp<T,N>::value> base_; \r
+   using base_::value;\r
+#endif\r
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,extent,(T))\r
+};\r
+\r
+} // namespace boost\r
+\r
+#include <boost/type_traits/detail/size_t_trait_undef.hpp>\r
+\r
+#endif // BOOST_TT_IS_MEMBER_FUNCTION_POINTER_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/floating_point_promotion.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/floating_point_promotion.hpp
new file mode 100644 (file)
index 0000000..53212e3
--- /dev/null
@@ -0,0 +1,91 @@
+// Copyright 2005 Alexander Nasonov.\r
+// Distributed under the Boost Software License, Version 1.0. (See\r
+// accompanying file LICENSE_1_0.txt or copy at\r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+#ifndef FILE_boost_type_traits_floating_point_promotion_hpp_INCLUDED\r
+#define FILE_boost_type_traits_floating_point_promotion_hpp_INCLUDED\r
+\r
+#include <boost/config.hpp>\r
+\r
+#ifdef BOOST_NO_CV_SPECIALIZATIONS\r
+#include <boost/mpl/at.hpp>\r
+#include <boost/mpl/int.hpp>\r
+#include <boost/mpl/multiplies.hpp>\r
+#include <boost/mpl/plus.hpp>\r
+#include <boost/mpl/vector.hpp>\r
+#include <boost/type_traits/is_same.hpp>\r
+#endif\r
+\r
+// Should be the last #include\r
+#include <boost/type_traits/detail/type_trait_def.hpp>\r
+\r
+namespace boost {\r
+\r
+namespace type_traits { namespace detail {\r
+\r
+#ifndef BOOST_NO_CV_SPECIALIZATIONS\r
+\r
+template<class T>\r
+struct floating_point_promotion\r
+{\r
+    typedef T type;\r
+};\r
+\r
+template<>\r
+struct floating_point_promotion<float>\r
+{\r
+    typedef double type;\r
+};\r
+\r
+template<>\r
+struct floating_point_promotion<float const>\r
+{\r
+    typedef double const type;\r
+};\r
+\r
+template<>\r
+struct floating_point_promotion<float volatile>\r
+{\r
+    typedef double volatile type;\r
+};\r
+\r
+template<>\r
+struct floating_point_promotion<float const volatile>\r
+{\r
+    typedef double const volatile type;\r
+};\r
+\r
+#else\r
+\r
+template<class T>\r
+struct floating_point_promotion\r
+  : mpl::at<\r
+        mpl::vector< T, double, double const, double volatile,\r
+                     double const volatile >\r
+      , mpl::plus<\r
+            is_same<T, float>\r
+          , mpl::multiplies< is_same<T, float const>         , mpl::int_<2> >\r
+          , mpl::multiplies< is_same<T, float volatile>      , mpl::int_<3> >\r
+          , mpl::multiplies< is_same<T, float const volatile>, mpl::int_<4> >\r
+          >\r
+      >\r
+{\r
+};\r
+\r
+#endif\r
+\r
+} }\r
+\r
+BOOST_TT_AUX_TYPE_TRAIT_DEF1(\r
+      floating_point_promotion\r
+    , T\r
+    , BOOST_DEDUCED_TYPENAME\r
+        boost::type_traits::detail::floating_point_promotion<T>::type\r
+    )\r
+}\r
+\r
+#include <boost/type_traits/detail/type_trait_undef.hpp>\r
+\r
+#endif // #ifndef FILE_boost_type_traits_floating_point_promotion_hpp_INCLUDED\r
+\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/function_traits.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/function_traits.hpp
new file mode 100644 (file)
index 0000000..baa1953
--- /dev/null
@@ -0,0 +1,236 @@
+\r
+//  Copyright 2000 John Maddock (john@johnmaddock.co.uk)\r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+\r
+#ifndef BOOST_TT_FUNCTION_TRAITS_HPP_INCLUDED\r
+#define BOOST_TT_FUNCTION_TRAITS_HPP_INCLUDED\r
+\r
+#include <boost/config.hpp>\r
+#include <boost/type_traits/is_function.hpp>\r
+#include <boost/type_traits/add_pointer.hpp>\r
+\r
+namespace boost {\r
+\r
+#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+namespace detail {\r
+\r
+template<typename Function> struct function_traits_helper;\r
+\r
+template<typename R>\r
+struct function_traits_helper<R (*)(void)>\r
+{\r
+  BOOST_STATIC_CONSTANT(unsigned, arity = 0);\r
+  typedef R result_type;\r
+};\r
+\r
+template<typename R, typename T1>\r
+struct function_traits_helper<R (*)(T1)>\r
+{\r
+  BOOST_STATIC_CONSTANT(unsigned, arity = 1);\r
+  typedef R result_type;\r
+  typedef T1 arg1_type;\r
+  typedef T1 argument_type;\r
+};\r
+\r
+template<typename R, typename T1, typename T2>\r
+struct function_traits_helper<R (*)(T1, T2)>\r
+{\r
+  BOOST_STATIC_CONSTANT(unsigned, arity = 2);\r
+  typedef R result_type;\r
+  typedef T1 arg1_type;\r
+  typedef T2 arg2_type;\r
+  typedef T1 first_argument_type;\r
+  typedef T2 second_argument_type;\r
+};\r
+\r
+template<typename R, typename T1, typename T2, typename T3>\r
+struct function_traits_helper<R (*)(T1, T2, T3)>\r
+{\r
+  BOOST_STATIC_CONSTANT(unsigned, arity = 3);\r
+  typedef R result_type;\r
+  typedef T1 arg1_type;\r
+  typedef T2 arg2_type;\r
+  typedef T3 arg3_type;\r
+};\r
+\r
+template<typename R, typename T1, typename T2, typename T3, typename T4>\r
+struct function_traits_helper<R (*)(T1, T2, T3, T4)>\r
+{\r
+  BOOST_STATIC_CONSTANT(unsigned, arity = 4);\r
+  typedef R result_type;\r
+  typedef T1 arg1_type;\r
+  typedef T2 arg2_type;\r
+  typedef T3 arg3_type;\r
+  typedef T4 arg4_type;\r
+};\r
+\r
+template<typename R, typename T1, typename T2, typename T3, typename T4,\r
+         typename T5>\r
+struct function_traits_helper<R (*)(T1, T2, T3, T4, T5)>\r
+{\r
+  BOOST_STATIC_CONSTANT(unsigned, arity = 5);\r
+  typedef R result_type;\r
+  typedef T1 arg1_type;\r
+  typedef T2 arg2_type;\r
+  typedef T3 arg3_type;\r
+  typedef T4 arg4_type;\r
+  typedef T5 arg5_type;\r
+};\r
+\r
+template<typename R, typename T1, typename T2, typename T3, typename T4,\r
+         typename T5, typename T6>\r
+struct function_traits_helper<R (*)(T1, T2, T3, T4, T5, T6)>\r
+{\r
+  BOOST_STATIC_CONSTANT(unsigned, arity = 6);\r
+  typedef R result_type;\r
+  typedef T1 arg1_type;\r
+  typedef T2 arg2_type;\r
+  typedef T3 arg3_type;\r
+  typedef T4 arg4_type;\r
+  typedef T5 arg5_type;\r
+  typedef T6 arg6_type;\r
+};\r
+\r
+template<typename R, typename T1, typename T2, typename T3, typename T4,\r
+         typename T5, typename T6, typename T7>\r
+struct function_traits_helper<R (*)(T1, T2, T3, T4, T5, T6, T7)>\r
+{\r
+  BOOST_STATIC_CONSTANT(unsigned, arity = 7);\r
+  typedef R result_type;\r
+  typedef T1 arg1_type;\r
+  typedef T2 arg2_type;\r
+  typedef T3 arg3_type;\r
+  typedef T4 arg4_type;\r
+  typedef T5 arg5_type;\r
+  typedef T6 arg6_type;\r
+  typedef T7 arg7_type;\r
+};\r
+\r
+template<typename R, typename T1, typename T2, typename T3, typename T4,\r
+         typename T5, typename T6, typename T7, typename T8>\r
+struct function_traits_helper<R (*)(T1, T2, T3, T4, T5, T6, T7, T8)>\r
+{\r
+  BOOST_STATIC_CONSTANT(unsigned, arity = 8);\r
+  typedef R result_type;\r
+  typedef T1 arg1_type;\r
+  typedef T2 arg2_type;\r
+  typedef T3 arg3_type;\r
+  typedef T4 arg4_type;\r
+  typedef T5 arg5_type;\r
+  typedef T6 arg6_type;\r
+  typedef T7 arg7_type;\r
+  typedef T8 arg8_type;\r
+};\r
+\r
+template<typename R, typename T1, typename T2, typename T3, typename T4,\r
+         typename T5, typename T6, typename T7, typename T8, typename T9>\r
+struct function_traits_helper<R (*)(T1, T2, T3, T4, T5, T6, T7, T8, T9)>\r
+{\r
+  BOOST_STATIC_CONSTANT(unsigned, arity = 9);\r
+  typedef R result_type;\r
+  typedef T1 arg1_type;\r
+  typedef T2 arg2_type;\r
+  typedef T3 arg3_type;\r
+  typedef T4 arg4_type;\r
+  typedef T5 arg5_type;\r
+  typedef T6 arg6_type;\r
+  typedef T7 arg7_type;\r
+  typedef T8 arg8_type;\r
+  typedef T9 arg9_type;\r
+};\r
+\r
+template<typename R, typename T1, typename T2, typename T3, typename T4,\r
+         typename T5, typename T6, typename T7, typename T8, typename T9,\r
+         typename T10>\r
+struct function_traits_helper<R (*)(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)>\r
+{\r
+  BOOST_STATIC_CONSTANT(unsigned, arity = 10);\r
+  typedef R result_type;\r
+  typedef T1 arg1_type;\r
+  typedef T2 arg2_type;\r
+  typedef T3 arg3_type;\r
+  typedef T4 arg4_type;\r
+  typedef T5 arg5_type;\r
+  typedef T6 arg6_type;\r
+  typedef T7 arg7_type;\r
+  typedef T8 arg8_type;\r
+  typedef T9 arg9_type;\r
+  typedef T10 arg10_type;\r
+};\r
+\r
+} // end namespace detail\r
+\r
+template<typename Function>\r
+struct function_traits : \r
+   public detail::function_traits_helper<typename boost::add_pointer<Function>::type>\r
+{\r
+};\r
+\r
+#else\r
+\r
+namespace detail {\r
+\r
+template<unsigned N> \r
+struct type_of_size\r
+{\r
+  char elements[N];\r
+};\r
+\r
+template<typename R>\r
+type_of_size<1> function_arity_helper(R (*f)());\r
+\r
+template<typename R, typename T1>\r
+type_of_size<2> function_arity_helper(R (*f)(T1));\r
+\r
+template<typename R, typename T1, typename T2>\r
+type_of_size<3> function_arity_helper(R (*f)(T1, T2));\r
+\r
+template<typename R, typename T1, typename T2, typename T3>\r
+type_of_size<4> function_arity_helper(R (*f)(T1, T2, T3));\r
+\r
+template<typename R, typename T1, typename T2, typename T3, typename T4>\r
+type_of_size<5> function_arity_helper(R (*f)(T1, T2, T3, T4));\r
+\r
+template<typename R, typename T1, typename T2, typename T3, typename T4,\r
+         typename T5>\r
+type_of_size<6> function_arity_helper(R (*f)(T1, T2, T3, T4, T5));\r
+\r
+template<typename R, typename T1, typename T2, typename T3, typename T4,\r
+         typename T5, typename T6>\r
+type_of_size<7> function_arity_helper(R (*f)(T1, T2, T3, T4, T5, T6));\r
+\r
+template<typename R, typename T1, typename T2, typename T3, typename T4,\r
+         typename T5, typename T6, typename T7>\r
+type_of_size<8> function_arity_helper(R (*f)(T1, T2, T3, T4, T5, T6, T7));\r
+\r
+template<typename R, typename T1, typename T2, typename T3, typename T4,\r
+         typename T5, typename T6, typename T7, typename T8>\r
+type_of_size<9> function_arity_helper(R (*f)(T1, T2, T3, T4, T5, T6, T7, T8));\r
+\r
+template<typename R, typename T1, typename T2, typename T3, typename T4,\r
+         typename T5, typename T6, typename T7, typename T8, typename T9>\r
+type_of_size<10> function_arity_helper(R (*f)(T1, T2, T3, T4, T5, T6, T7, T8, \r
+                                              T9));\r
+\r
+template<typename R, typename T1, typename T2, typename T3, typename T4,\r
+         typename T5, typename T6, typename T7, typename T8, typename T9,\r
+         typename T10>\r
+type_of_size<11> function_arity_helper(R (*f)(T1, T2, T3, T4, T5, T6, T7, T8, \r
+                                              T9, T10));\r
+} // end namespace detail\r
+\r
+// Won't work with references\r
+template<typename Function>\r
+struct function_traits\r
+{\r
+  BOOST_STATIC_CONSTANT(unsigned, arity = (sizeof(detail::function_arity_helper((Function*)0))-1));\r
+};\r
+\r
+#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+}\r
+\r
+#endif // BOOST_TT_FUNCTION_TRAITS_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/has_new_operator.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/has_new_operator.hpp
new file mode 100644 (file)
index 0000000..a59f15c
--- /dev/null
@@ -0,0 +1,140 @@
+\r
+//  (C) Copyright Runar Undheim, Robert Ramey & John Maddock 2008.\r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+\r
+#ifndef BOOST_TT_HAS_NEW_OPERATOR_HPP_INCLUDED\r
+#define BOOST_TT_HAS_NEW_OPERATOR_HPP_INCLUDED\r
+\r
+#include <new> // std::nothrow_t\r
+#include <cstddef> // std::size_t\r
+#include <boost/type_traits/config.hpp>\r
+#include <boost/type_traits/detail/yes_no_type.hpp>\r
+#include <boost/type_traits/detail/ice_or.hpp>\r
+\r
+// should be the last #include\r
+#include <boost/type_traits/detail/bool_trait_def.hpp>\r
+\r
+namespace boost {\r
+namespace detail {\r
+    template <class U, U x> \r
+    struct test;\r
+\r
+    template <typename T>\r
+    struct has_new_operator_impl {\r
+        template<class U>\r
+        static type_traits::yes_type check_sig1(\r
+            U*, \r
+            test<\r
+            void *(*)(std::size_t),\r
+                &U::operator new\r
+            >* = NULL\r
+        );\r
+        template<class U>\r
+        static type_traits::no_type check_sig1(...);\r
+\r
+        template<class U>\r
+        static type_traits::yes_type check_sig2(\r
+            U*, \r
+            test<\r
+            void *(*)(std::size_t, const std::nothrow_t&),\r
+                &U::operator new\r
+            >* = NULL\r
+        );\r
+        template<class U>\r
+        static type_traits::no_type check_sig2(...);\r
+\r
+        template<class U>\r
+        static type_traits::yes_type check_sig3(\r
+            U*, \r
+            test<\r
+            void *(*)(std::size_t, void*),\r
+                &U::operator new\r
+            >* = NULL\r
+        );\r
+        template<class U>\r
+        static type_traits::no_type check_sig3(...);\r
+\r
+\r
+        template<class U>\r
+        static type_traits::yes_type check_sig4(\r
+            U*, \r
+            test<\r
+            void *(*)(std::size_t),\r
+                &U::operator new[]\r
+            >* = NULL\r
+        );\r
+        template<class U>\r
+        static type_traits::no_type check_sig4(...);\r
+\r
+        template<class U>\r
+        static type_traits::yes_type check_sig5(\r
+            U*, \r
+            test<\r
+            void *(*)(std::size_t, const std::nothrow_t&),\r
+                &U::operator new[]\r
+            >* = NULL\r
+        );\r
+        template<class U>\r
+        static type_traits::no_type check_sig5(...);\r
+\r
+        template<class U>\r
+        static type_traits::yes_type check_sig6(\r
+            U*, \r
+            test<\r
+            void *(*)(std::size_t, void*),\r
+                &U::operator new[]\r
+            >* = NULL\r
+        );\r
+        template<class U>\r
+        static type_traits::no_type check_sig6(...);\r
+\r
+        // GCC2 won't even parse this template if we embed the computation\r
+        // of s1 in the computation of value.\r
+        #ifdef __GNUC__\r
+            BOOST_STATIC_CONSTANT(unsigned, s1 = sizeof(has_new_operator_impl<T>::template check_sig1<T>(0)));\r
+            BOOST_STATIC_CONSTANT(unsigned, s2 = sizeof(has_new_operator_impl<T>::template check_sig2<T>(0)));\r
+            BOOST_STATIC_CONSTANT(unsigned, s3 = sizeof(has_new_operator_impl<T>::template check_sig3<T>(0)));\r
+            BOOST_STATIC_CONSTANT(unsigned, s4 = sizeof(has_new_operator_impl<T>::template check_sig4<T>(0)));\r
+            BOOST_STATIC_CONSTANT(unsigned, s5 = sizeof(has_new_operator_impl<T>::template check_sig5<T>(0)));\r
+            BOOST_STATIC_CONSTANT(unsigned, s6 = sizeof(has_new_operator_impl<T>::template check_sig6<T>(0)));\r
+        #else\r
+            #if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000)\r
+                #pragma warning(push)\r
+                #pragma warning(disable:6334)\r
+            #endif\r
+\r
+            BOOST_STATIC_CONSTANT(unsigned, s1 = sizeof(check_sig1<T>(0)));\r
+            BOOST_STATIC_CONSTANT(unsigned, s2 = sizeof(check_sig2<T>(0)));\r
+            BOOST_STATIC_CONSTANT(unsigned, s3 = sizeof(check_sig3<T>(0)));\r
+            BOOST_STATIC_CONSTANT(unsigned, s4 = sizeof(check_sig4<T>(0)));\r
+            BOOST_STATIC_CONSTANT(unsigned, s5 = sizeof(check_sig5<T>(0)));\r
+            BOOST_STATIC_CONSTANT(unsigned, s6 = sizeof(check_sig6<T>(0)));\r
+\r
+            #if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000)\r
+                #pragma warning(pop)\r
+            #endif\r
+        #endif\r
+        BOOST_STATIC_CONSTANT(bool, value = \r
+           (::boost::type_traits::ice_or<\r
+            (s1 == sizeof(type_traits::yes_type)),\r
+            (s2 == sizeof(type_traits::yes_type)),\r
+            (s3 == sizeof(type_traits::yes_type)),\r
+            (s4 == sizeof(type_traits::yes_type)),\r
+            (s5 == sizeof(type_traits::yes_type)),\r
+            (s6 == sizeof(type_traits::yes_type))\r
+           >::value)\r
+        );\r
+    };\r
+} // namespace detail\r
+\r
+BOOST_TT_AUX_BOOL_TRAIT_DEF1(has_new_operator,T,::boost::detail::has_new_operator_impl<T>::value)\r
+\r
+} // namespace boost\r
+\r
+#include <boost/type_traits/detail/bool_trait_undef.hpp>\r
+\r
+#endif // BOOST_TT_HAS_NEW_OPERATOR_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/has_nothrow_assign.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/has_nothrow_assign.hpp
new file mode 100644 (file)
index 0000000..b7533f9
--- /dev/null
@@ -0,0 +1,38 @@
+\r
+//  (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.\r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+\r
+#ifndef BOOST_TT_HAS_NOTHROW_ASSIGN_HPP_INCLUDED\r
+#define BOOST_TT_HAS_NOTHROW_ASSIGN_HPP_INCLUDED\r
+\r
+#include <boost/type_traits/has_trivial_assign.hpp>\r
+\r
+// should be the last #include\r
+#include <boost/type_traits/detail/bool_trait_def.hpp>\r
+\r
+namespace boost {\r
+\r
+namespace detail{\r
+\r
+template <class T>\r
+struct has_nothrow_assign_imp{\r
+   BOOST_STATIC_CONSTANT(bool, value = \r
+      (::boost::type_traits::ice_or<\r
+         ::boost::has_trivial_assign<T>::value,\r
+         BOOST_HAS_NOTHROW_ASSIGN(T)\r
+      >::value));\r
+};\r
+\r
+}\r
+\r
+BOOST_TT_AUX_BOOL_TRAIT_DEF1(has_nothrow_assign,T,::boost::detail::has_nothrow_assign_imp<T>::value)\r
+\r
+} // namespace boost\r
+\r
+#include <boost/type_traits/detail/bool_trait_undef.hpp>\r
+\r
+#endif // BOOST_TT_HAS_NOTHROW_ASSIGN_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/has_nothrow_constructor.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/has_nothrow_constructor.hpp
new file mode 100644 (file)
index 0000000..7caacad
--- /dev/null
@@ -0,0 +1,39 @@
+\r
+//  (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.\r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+\r
+#ifndef BOOST_TT_HAS_NOTHROW_CONSTRUCTOR_HPP_INCLUDED\r
+#define BOOST_TT_HAS_NOTHROW_CONSTRUCTOR_HPP_INCLUDED\r
+\r
+#include <boost/type_traits/has_trivial_constructor.hpp>\r
+\r
+// should be the last #include\r
+#include <boost/type_traits/detail/bool_trait_def.hpp>\r
+\r
+namespace boost {\r
+\r
+namespace detail{\r
+\r
+template <class T>\r
+struct has_nothrow_constructor_imp{\r
+   BOOST_STATIC_CONSTANT(bool, value = \r
+      (::boost::type_traits::ice_or<\r
+         ::boost::has_trivial_constructor<T>::value,\r
+         BOOST_HAS_NOTHROW_CONSTRUCTOR(T)\r
+      >::value));\r
+};\r
+\r
+}\r
+\r
+BOOST_TT_AUX_BOOL_TRAIT_DEF1(has_nothrow_constructor,T,::boost::detail::has_nothrow_constructor_imp<T>::value)\r
+BOOST_TT_AUX_BOOL_TRAIT_DEF1(has_nothrow_default_constructor,T,::boost::detail::has_nothrow_constructor_imp<T>::value)\r
+\r
+} // namespace boost\r
+\r
+#include <boost/type_traits/detail/bool_trait_undef.hpp>\r
+\r
+#endif // BOOST_TT_HAS_NOTHROW_CONSTRUCTOR_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/has_nothrow_copy.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/has_nothrow_copy.hpp
new file mode 100644 (file)
index 0000000..0f0c1ba
--- /dev/null
@@ -0,0 +1,39 @@
+\r
+//  (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.\r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+\r
+#ifndef BOOST_TT_HAS_NOTHROW_COPY_HPP_INCLUDED\r
+#define BOOST_TT_HAS_NOTHROW_COPY_HPP_INCLUDED\r
+\r
+#include <boost/type_traits/has_trivial_copy.hpp>\r
+\r
+// should be the last #include\r
+#include <boost/type_traits/detail/bool_trait_def.hpp>\r
+\r
+namespace boost {\r
+\r
+namespace detail{\r
+\r
+template <class T>\r
+struct has_nothrow_copy_imp{\r
+   BOOST_STATIC_CONSTANT(bool, value = \r
+      (::boost::type_traits::ice_or<\r
+         ::boost::has_trivial_copy<T>::value,\r
+         BOOST_HAS_NOTHROW_COPY(T)\r
+      >::value));\r
+};\r
+\r
+}\r
+\r
+BOOST_TT_AUX_BOOL_TRAIT_DEF1(has_nothrow_copy,T,::boost::detail::has_nothrow_copy_imp<T>::value)\r
+BOOST_TT_AUX_BOOL_TRAIT_DEF1(has_nothrow_copy_constructor,T,::boost::detail::has_nothrow_copy_imp<T>::value)\r
+\r
+} // namespace boost\r
+\r
+#include <boost/type_traits/detail/bool_trait_undef.hpp>\r
+\r
+#endif // BOOST_TT_HAS_NOTHROW_COPY_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/has_nothrow_destructor.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/has_nothrow_destructor.hpp
new file mode 100644 (file)
index 0000000..4d3934a
--- /dev/null
@@ -0,0 +1,25 @@
+\r
+//  (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.\r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+\r
+#ifndef BOOST_TT_HAS_NOTHROW_DESTRUCTOR_HPP_INCLUDED\r
+#define BOOST_TT_HAS_NOTHROW_DESTRUCTOR_HPP_INCLUDED\r
+\r
+#include <boost/type_traits/has_trivial_destructor.hpp>\r
+\r
+// should be the last #include\r
+#include <boost/type_traits/detail/bool_trait_def.hpp>\r
+\r
+namespace boost {\r
+\r
+BOOST_TT_AUX_BOOL_TRAIT_DEF1(has_nothrow_destructor,T,::boost::has_trivial_destructor<T>::value)\r
+\r
+} // namespace boost\r
+\r
+#include <boost/type_traits/detail/bool_trait_undef.hpp>\r
+\r
+#endif // BOOST_TT_HAS_NOTHROW_DESTRUCTOR_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/has_trivial_assign.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/has_trivial_assign.hpp
new file mode 100644 (file)
index 0000000..30924c9
--- /dev/null
@@ -0,0 +1,50 @@
+\r
+//  (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.\r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+\r
+#ifndef BOOST_TT_HAS_TRIVIAL_ASSIGN_HPP_INCLUDED\r
+#define BOOST_TT_HAS_TRIVIAL_ASSIGN_HPP_INCLUDED\r
+\r
+#include <boost/type_traits/config.hpp>\r
+#include <boost/type_traits/intrinsics.hpp>\r
+#include <boost/type_traits/is_pod.hpp>\r
+#include <boost/type_traits/is_const.hpp>\r
+#include <boost/type_traits/is_volatile.hpp>\r
+#include <boost/type_traits/detail/ice_and.hpp>\r
+#include <boost/type_traits/detail/ice_or.hpp>\r
+#include <boost/type_traits/detail/ice_not.hpp>\r
+\r
+// should be the last #include\r
+#include <boost/type_traits/detail/bool_trait_def.hpp>\r
+\r
+namespace boost {\r
+\r
+namespace detail {\r
+\r
+template <typename T>\r
+struct has_trivial_assign_impl\r
+{\r
+   BOOST_STATIC_CONSTANT(bool, value =\r
+      (::boost::type_traits::ice_and<\r
+         ::boost::type_traits::ice_or<\r
+            ::boost::is_pod<T>::value,\r
+            BOOST_HAS_TRIVIAL_ASSIGN(T)\r
+         >::value,\r
+      ::boost::type_traits::ice_not< ::boost::is_const<T>::value >::value,\r
+      ::boost::type_traits::ice_not< ::boost::is_volatile<T>::value >::value\r
+      >::value));\r
+};\r
+\r
+} // namespace detail\r
+\r
+BOOST_TT_AUX_BOOL_TRAIT_DEF1(has_trivial_assign,T,::boost::detail::has_trivial_assign_impl<T>::value)\r
+\r
+} // namespace boost\r
+\r
+#include <boost/type_traits/detail/bool_trait_undef.hpp>\r
+\r
+#endif // BOOST_TT_HAS_TRIVIAL_ASSIGN_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/has_trivial_constructor.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/has_trivial_constructor.hpp
new file mode 100644 (file)
index 0000000..2798542
--- /dev/null
@@ -0,0 +1,43 @@
+\r
+//  (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.\r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+\r
+#ifndef BOOST_TT_HAS_TRIVIAL_CONSTRUCTOR_HPP_INCLUDED\r
+#define BOOST_TT_HAS_TRIVIAL_CONSTRUCTOR_HPP_INCLUDED\r
+\r
+#include <boost/type_traits/config.hpp>\r
+#include <boost/type_traits/intrinsics.hpp>\r
+#include <boost/type_traits/is_pod.hpp>\r
+#include <boost/type_traits/detail/ice_or.hpp>\r
+\r
+// should be the last #include\r
+#include <boost/type_traits/detail/bool_trait_def.hpp>\r
+\r
+namespace boost {\r
+\r
+namespace detail {\r
+\r
+template <typename T>\r
+struct has_trivial_ctor_impl\r
+{\r
+   BOOST_STATIC_CONSTANT(bool, value =\r
+      (::boost::type_traits::ice_or<\r
+         ::boost::is_pod<T>::value,\r
+         BOOST_HAS_TRIVIAL_CONSTRUCTOR(T)\r
+      >::value));\r
+};\r
+\r
+} // namespace detail\r
+\r
+BOOST_TT_AUX_BOOL_TRAIT_DEF1(has_trivial_constructor,T,::boost::detail::has_trivial_ctor_impl<T>::value)\r
+BOOST_TT_AUX_BOOL_TRAIT_DEF1(has_trivial_default_constructor,T,::boost::detail::has_trivial_ctor_impl<T>::value)\r
+\r
+} // namespace boost\r
+\r
+#include <boost/type_traits/detail/bool_trait_undef.hpp>\r
+\r
+#endif // BOOST_TT_HAS_TRIVIAL_CONSTRUCTOR_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/has_trivial_copy.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/has_trivial_copy.hpp
new file mode 100644 (file)
index 0000000..a9576ef
--- /dev/null
@@ -0,0 +1,49 @@
+\r
+//  (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.\r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+\r
+#ifndef BOOST_TT_HAS_TRIVIAL_COPY_HPP_INCLUDED\r
+#define BOOST_TT_HAS_TRIVIAL_COPY_HPP_INCLUDED\r
+\r
+#include <boost/type_traits/config.hpp>\r
+#include <boost/type_traits/intrinsics.hpp>\r
+#include <boost/type_traits/is_volatile.hpp>\r
+#include <boost/type_traits/is_pod.hpp>\r
+#include <boost/type_traits/detail/ice_and.hpp>\r
+#include <boost/type_traits/detail/ice_or.hpp>\r
+#include <boost/type_traits/detail/ice_not.hpp>\r
+\r
+// should be the last #include\r
+#include <boost/type_traits/detail/bool_trait_def.hpp>\r
+\r
+namespace boost {\r
+\r
+namespace detail {\r
+\r
+template <typename T>\r
+struct has_trivial_copy_impl\r
+{\r
+   BOOST_STATIC_CONSTANT(bool, value =\r
+      (::boost::type_traits::ice_and<\r
+         ::boost::type_traits::ice_or<\r
+            ::boost::is_pod<T>::value,\r
+            BOOST_HAS_TRIVIAL_COPY(T)\r
+         >::value,\r
+      ::boost::type_traits::ice_not< ::boost::is_volatile<T>::value >::value\r
+      >::value));\r
+};\r
+\r
+} // namespace detail\r
+\r
+BOOST_TT_AUX_BOOL_TRAIT_DEF1(has_trivial_copy,T,::boost::detail::has_trivial_copy_impl<T>::value)\r
+BOOST_TT_AUX_BOOL_TRAIT_DEF1(has_trivial_copy_constructor,T,::boost::detail::has_trivial_copy_impl<T>::value)\r
+\r
+} // namespace boost\r
+\r
+#include <boost/type_traits/detail/bool_trait_undef.hpp>\r
+\r
+#endif // BOOST_TT_HAS_TRIVIAL_COPY_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/has_trivial_destructor.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/has_trivial_destructor.hpp
new file mode 100644 (file)
index 0000000..8b9c433
--- /dev/null
@@ -0,0 +1,42 @@
+\r
+//  (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.\r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+\r
+#ifndef BOOST_TT_HAS_TRIVIAL_DESTRUCTOR_HPP_INCLUDED\r
+#define BOOST_TT_HAS_TRIVIAL_DESTRUCTOR_HPP_INCLUDED\r
+\r
+#include <boost/type_traits/config.hpp>\r
+#include <boost/type_traits/intrinsics.hpp>\r
+#include <boost/type_traits/is_pod.hpp>\r
+#include <boost/type_traits/detail/ice_or.hpp>\r
+\r
+// should be the last #include\r
+#include <boost/type_traits/detail/bool_trait_def.hpp>\r
+\r
+namespace boost {\r
+\r
+namespace detail {\r
+\r
+template <typename T>\r
+struct has_trivial_dtor_impl\r
+{\r
+   BOOST_STATIC_CONSTANT(bool, value =\r
+      (::boost::type_traits::ice_or<\r
+         ::boost::is_pod<T>::value,\r
+         BOOST_HAS_TRIVIAL_DESTRUCTOR(T)\r
+      >::value));\r
+};\r
+\r
+} // namespace detail\r
+\r
+BOOST_TT_AUX_BOOL_TRAIT_DEF1(has_trivial_destructor,T,::boost::detail::has_trivial_dtor_impl<T>::value)\r
+\r
+} // namespace boost\r
+\r
+#include <boost/type_traits/detail/bool_trait_undef.hpp>\r
+\r
+#endif // BOOST_TT_HAS_TRIVIAL_DESTRUCTOR_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/has_virtual_destructor.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/has_virtual_destructor.hpp
new file mode 100644 (file)
index 0000000..fa36995
--- /dev/null
@@ -0,0 +1,25 @@
+\r
+//  (C) Copyright John Maddock 2005.  \r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+\r
+\r
+#ifndef BOOST_TT_HAS_VIRTUAL_DESTRUCTOR_HPP_INCLUDED\r
+#define BOOST_TT_HAS_VIRTUAL_DESTRUCTOR_HPP_INCLUDED\r
+\r
+#include <boost/type_traits/intrinsics.hpp>\r
+// should be the last #include\r
+#include <boost/type_traits/detail/bool_trait_def.hpp>\r
+\r
+namespace boost {\r
+\r
+BOOST_TT_AUX_BOOL_TRAIT_DEF1(has_virtual_destructor,T,BOOST_HAS_VIRTUAL_DESTRUCTOR(T))\r
+\r
+} // namespace boost\r
+\r
+#include <boost/type_traits/detail/bool_trait_undef.hpp>\r
+\r
+#endif // BOOST_TT_IS_MEMBER_FUNCTION_POINTER_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/ice.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/ice.hpp
new file mode 100644 (file)
index 0000000..03909df
--- /dev/null
@@ -0,0 +1,20 @@
+\r
+//  (C) Copyright John Maddock and Steve Cleary 2000.\r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+//\r
+//  macros and helpers for working with integral-constant-expressions.\r
+\r
+#ifndef BOOST_TT_ICE_HPP_INCLUDED\r
+#define BOOST_TT_ICE_HPP_INCLUDED\r
+\r
+#include <boost/type_traits/detail/yes_no_type.hpp>\r
+#include <boost/type_traits/detail/ice_or.hpp>\r
+#include <boost/type_traits/detail/ice_and.hpp>\r
+#include <boost/type_traits/detail/ice_not.hpp>\r
+#include <boost/type_traits/detail/ice_eq.hpp>\r
+\r
+#endif // BOOST_TT_ICE_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/integral_constant.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/integral_constant.hpp
new file mode 100644 (file)
index 0000000..ca2ae37
--- /dev/null
@@ -0,0 +1,53 @@
+//  (C) Copyright John Maddock 2005. \r
+//  Use, modification and distribution are subject to the \r
+//  Boost Software License, Version 1.0. (See accompanying file \r
+//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+#ifndef BOOST_TYPE_TRAITS_INTEGRAL_CONSTANT_HPP\r
+#define BOOST_TYPE_TRAITS_INTEGRAL_CONSTANT_HPP\r
+\r
+#include <boost/config.hpp>\r
+#include <boost/mpl/bool.hpp>\r
+#include <boost/mpl/integral_c.hpp>\r
+\r
+namespace boost{\r
+\r
+#if defined(BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS) || defined(__BORLANDC__)\r
+template <class T, int val>\r
+#else\r
+template <class T, T val>\r
+#endif\r
+struct integral_constant : public mpl::integral_c<T, val>\r
+{\r
+   typedef integral_constant<T,val> type;\r
+};\r
+\r
+template<> struct integral_constant<bool,true> : public mpl::true_ \r
+{\r
+#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)\r
+# pragma warning(push)\r
+# pragma warning(disable:4097)\r
+   typedef mpl::true_ base_;\r
+   using base_::value;\r
+# pragma warning(pop)\r
+#endif\r
+   typedef integral_constant<bool,true> type;\r
+};\r
+template<> struct integral_constant<bool,false> : public mpl::false_ \r
+{\r
+#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)\r
+# pragma warning(push)\r
+# pragma warning(disable:4097)\r
+   typedef mpl::false_ base_;\r
+   using base_::value;\r
+# pragma warning(pop)\r
+#endif\r
+   typedef integral_constant<bool,false> type;\r
+};\r
+\r
+typedef integral_constant<bool,true> true_type;\r
+typedef integral_constant<bool,false> false_type;\r
+\r
+}\r
+\r
+#endif\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/integral_promotion.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/integral_promotion.hpp
new file mode 100644 (file)
index 0000000..34269e8
--- /dev/null
@@ -0,0 +1,195 @@
+// Copyright 2005 Alexander Nasonov.\r
+// Distributed under the Boost Software License, Version 1.0. (See\r
+// accompanying file LICENSE_1_0.txt or copy at\r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+#ifndef FILE_boost_type_traits_integral_promotion_hpp_INCLUDED\r
+#define FILE_boost_type_traits_integral_promotion_hpp_INCLUDED\r
+\r
+#include <boost/config.hpp>\r
+\r
+#include <boost/mpl/eval_if.hpp>\r
+#include <boost/mpl/identity.hpp>\r
+#include <boost/type_traits/integral_constant.hpp>\r
+#include <boost/type_traits/is_const.hpp>\r
+#include <boost/type_traits/is_enum.hpp>\r
+#include <boost/type_traits/is_volatile.hpp>\r
+#include <boost/type_traits/remove_cv.hpp>\r
+\r
+// Should be the last #include\r
+#include <boost/type_traits/detail/type_trait_def.hpp>\r
+\r
+namespace boost {\r
+\r
+namespace type_traits { namespace detail {\r
+\r
+// 4.5/2\r
+template <class T> struct need_promotion : boost::is_enum<T> {};\r
+\r
+// 4.5/1\r
+template<> struct need_promotion<char              > : true_type {};\r
+template<> struct need_promotion<signed char       > : true_type {};\r
+template<> struct need_promotion<unsigned char     > : true_type {};\r
+template<> struct need_promotion<signed short int  > : true_type {};\r
+template<> struct need_promotion<unsigned short int> : true_type {};\r
+\r
+\r
+// Specializations for non-standard types.\r
+// Type is promoted if it's smaller then int.\r
+\r
+#define BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(T) \\r
+    template<> struct need_promotion<T>          \\r
+        : integral_constant<bool, (sizeof(T) < sizeof(int))> {};\r
+\r
+// Same set of integral types as in boost/type_traits/is_integral.hpp.\r
+// Please, keep in sync.\r
+#if (defined(BOOST_MSVC) && (BOOST_MSVC < 1300)) \\r
+    || (defined(BOOST_INTEL_CXX_VERSION) && defined(_MSC_VER) && (BOOST_INTEL_CXX_VERSION <= 600)) \\r
+    || (defined(__BORLANDC__) && (__BORLANDC__ == 0x600) && (_MSC_VER < 1300))\r
+// TODO: common macro for this #if. Or better yet, PP SEQ of non-standard types.\r
+BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(__int8          )\r
+BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(unsigned __int8 )\r
+BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(__int16         )\r
+BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(unsigned __int16)\r
+BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(__int32         )\r
+BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(unsigned __int32)\r
+#ifdef __BORLANDC__\r
+BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(unsigned __int64)\r
+BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(         __int64)\r
+#endif\r
+#endif\r
+\r
+#if defined(BOOST_HAS_LONG_LONG)\r
+BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(boost::ulong_long_type)\r
+BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(boost::long_long_type )\r
+#elif defined(BOOST_HAS_MS_INT64)\r
+BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(unsigned __int64)\r
+BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(         __int64)\r
+#endif\r
+\r
+#undef BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE\r
+\r
+\r
+#ifndef BOOST_NO_INTRINSIC_WCHAR_T\r
+// 4.5/2\r
+template<> struct need_promotion<wchar_t> : true_type {};\r
+#endif\r
+\r
+// 4.5/3 (integral bit-field) is not supported.\r
+\r
+// 4.5/4\r
+template<> struct need_promotion<bool> : true_type {};\r
+\r
+\r
+// Get promoted type by index and cv qualifiers.\r
+\r
+template<int Index, int IsConst, int IsVolatile> struct promote_from_index;\r
+\r
+#define BOOST_TT_AUX_PROMOTE_FROM_INDEX(N,T)                                   \\r
+    template<> struct promote_from_index<N,0,0> { typedef T type; };           \\r
+    template<> struct promote_from_index<N,0,1> { typedef T volatile type; };  \\r
+    template<> struct promote_from_index<N,1,0> { typedef T const type; };     \\r
+    template<> struct promote_from_index<N,1,1> { typedef T const volatile type; };\r
+\r
+\r
+BOOST_TT_AUX_PROMOTE_FROM_INDEX(1, int          )\r
+BOOST_TT_AUX_PROMOTE_FROM_INDEX(2, unsigned int )\r
+BOOST_TT_AUX_PROMOTE_FROM_INDEX(3, long         )\r
+BOOST_TT_AUX_PROMOTE_FROM_INDEX(4, unsigned long)\r
+\r
+\r
+// WARNING: integral promotions to non-standard types\r
+// long long and __int64 are not defined by the standard.\r
+// Additional specialisations and overloads shouldn't\r
+// introduce ambiguity, though.\r
+\r
+#if defined(BOOST_HAS_LONG_LONG)\r
+BOOST_TT_AUX_PROMOTE_FROM_INDEX(5, boost::long_long_type )\r
+BOOST_TT_AUX_PROMOTE_FROM_INDEX(6, boost::ulong_long_type)\r
+#elif defined(BOOST_HAS_MS_INT64)\r
+BOOST_TT_AUX_PROMOTE_FROM_INDEX(7, __int64         )\r
+BOOST_TT_AUX_PROMOTE_FROM_INDEX(8, unsigned __int64)\r
+#endif\r
+\r
+#undef BOOST_TT_AUX_PROMOTE_FROM_INDEX\r
+\r
+\r
+// Define BOOST_TT_AUX_PROMOTED_INDEX_TESTER:\r
+#if !defined(BOOST_MSVC)\r
+\r
+template<int N>\r
+struct sized_type_for_promotion\r
+{\r
+    typedef char (&type)[N];\r
+};\r
+\r
+#define BOOST_TT_AUX_PROMOTED_INDEX_TESTER(I,T) \\r
+    sized_type_for_promotion<I>::type promoted_index_tester(T);\r
+\r
+#else\r
+\r
+#define BOOST_TT_AUX_PROMOTED_INDEX_TESTER(I,T) \\r
+    char (&promoted_index_tester(T))[I];\r
+\r
+#endif\r
+\r
+BOOST_TT_AUX_PROMOTED_INDEX_TESTER(1, int          )\r
+BOOST_TT_AUX_PROMOTED_INDEX_TESTER(2, unsigned int )\r
+BOOST_TT_AUX_PROMOTED_INDEX_TESTER(3, long         )\r
+BOOST_TT_AUX_PROMOTED_INDEX_TESTER(4, unsigned long)\r
+\r
+#if defined(BOOST_HAS_LONG_LONG)\r
+BOOST_TT_AUX_PROMOTED_INDEX_TESTER(5, boost::long_long_type )\r
+BOOST_TT_AUX_PROMOTED_INDEX_TESTER(6, boost::ulong_long_type)\r
+#elif defined(BOOST_HAS_MS_INT64)\r
+BOOST_TT_AUX_PROMOTED_INDEX_TESTER(7, __int64         )\r
+BOOST_TT_AUX_PROMOTED_INDEX_TESTER(8, unsigned __int64)\r
+#endif\r
+\r
+#undef BOOST_TT_AUX_PROMOTED_INDEX_TESTER\r
+\r
+\r
+// Get an index of promoted type for type T.\r
+// Precondition: need_promotion<T>\r
+template<class T>\r
+struct promoted_index\r
+{\r
+    static T testee; // undefined\r
+    BOOST_STATIC_CONSTANT(int, value = sizeof(promoted_index_tester(+testee)) );\r
+    // Unary plus promotes testee                    LOOK HERE ---> ^\r
+};\r
+\r
+template<class T>\r
+struct integral_promotion_impl\r
+{\r
+    typedef BOOST_DEDUCED_TYPENAME promote_from_index<\r
+        (boost::type_traits::detail::promoted_index<T>::value)\r
+      , (boost::is_const<T>::value)\r
+      , (boost::is_volatile<T>::value)\r
+      >::type type;\r
+};\r
+\r
+template<class T>\r
+struct integral_promotion\r
+  : boost::mpl::eval_if<\r
+        need_promotion<BOOST_DEDUCED_TYPENAME remove_cv<T>::type>\r
+      , integral_promotion_impl<T>\r
+      , boost::mpl::identity<T>\r
+      >\r
+{\r
+};\r
+\r
+} }\r
+\r
+BOOST_TT_AUX_TYPE_TRAIT_DEF1(\r
+      integral_promotion\r
+    , T\r
+    , BOOST_DEDUCED_TYPENAME\r
+        boost::type_traits::detail::integral_promotion<T>::type\r
+    )\r
+}\r
+\r
+#include <boost/type_traits/detail/type_trait_undef.hpp>\r
+\r
+#endif // #ifndef FILE_boost_type_traits_integral_promotion_hpp_INCLUDED\r
+\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/intrinsics.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/intrinsics.hpp
new file mode 100644 (file)
index 0000000..e3a9518
--- /dev/null
@@ -0,0 +1,240 @@
+\r
+//  (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.\r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+\r
+#ifndef BOOST_TT_INTRINSICS_HPP_INCLUDED\r
+#define BOOST_TT_INTRINSICS_HPP_INCLUDED\r
+\r
+#ifndef BOOST_TT_CONFIG_HPP_INCLUDED\r
+#include <boost/type_traits/config.hpp>\r
+#endif\r
+\r
+//\r
+// Helper macros for builtin compiler support.\r
+// If your compiler has builtin support for any of the following\r
+// traits concepts, then redefine the appropriate macros to pick\r
+// up on the compiler support:\r
+//\r
+// (these should largely ignore cv-qualifiers)\r
+// BOOST_IS_UNION(T) should evaluate to true if T is a union type\r
+// BOOST_IS_POD(T) should evaluate to true if T is a POD type\r
+// BOOST_IS_EMPTY(T) should evaluate to true if T is an empty struct or union\r
+// BOOST_HAS_TRIVIAL_CONSTRUCTOR(T) should evaluate to true if "T x;" has no effect\r
+// BOOST_HAS_TRIVIAL_COPY(T) should evaluate to true if T(t) <==> memcpy\r
+// BOOST_HAS_TRIVIAL_ASSIGN(T) should evaluate to true if t = u <==> memcpy\r
+// BOOST_HAS_TRIVIAL_DESTRUCTOR(T) should evaluate to true if ~T() has no effect\r
+// BOOST_HAS_NOTHROW_CONSTRUCTOR(T) should evaluate to true if "T x;" can not throw\r
+// BOOST_HAS_NOTHROW_COPY(T) should evaluate to true if T(t) can not throw\r
+// BOOST_HAS_NOTHROW_ASSIGN(T) should evaluate to true if t = u can not throw\r
+// BOOST_HAS_VIRTUAL_DESTRUCTOR(T) should evaluate to true T has a virtual destructor\r
+//\r
+// The following can also be defined: when detected our implementation is greatly simplified.\r
+// Note that unlike the macros above these do not have default definitions, so we can use\r
+// #ifdef MACRONAME to detect when these are available.\r
+//\r
+// BOOST_IS_ABSTRACT(T) true if T is an abstract type\r
+// BOOST_IS_BASE_OF(T,U) true if T is a base class of U\r
+// BOOST_IS_CLASS(T) true if T is a class type\r
+// BOOST_IS_CONVERTIBLE(T,U) true if T is convertible to U\r
+// BOOST_IS_ENUM(T) true is T is an enum\r
+// BOOST_IS_POLYMORPHIC(T) true if T is a polymorphic type\r
+// BOOST_ALIGNMENT_OF(T) should evaluate to the alignment requirements of type T.\r
+\r
+#ifdef BOOST_HAS_SGI_TYPE_TRAITS\r
+    // Hook into SGI's __type_traits class, this will pick up user supplied\r
+    // specializations as well as SGI - compiler supplied specializations.\r
+#   include <boost/type_traits/is_same.hpp>\r
+#   ifdef __NetBSD__\r
+      // There are two different versions of type_traits.h on NetBSD on Spark\r
+      // use an implicit include via algorithm instead, to make sure we get\r
+      // the same version as the std lib:\r
+#     include <algorithm>\r
+#   else\r
+#    include <type_traits.h>\r
+#   endif\r
+#   define BOOST_IS_POD(T) ::boost::is_same< typename ::__type_traits<T>::is_POD_type, ::__true_type>::value\r
+#   define BOOST_HAS_TRIVIAL_CONSTRUCTOR(T) ::boost::is_same< typename ::__type_traits<T>::has_trivial_default_constructor, ::__true_type>::value\r
+#   define BOOST_HAS_TRIVIAL_COPY(T) ::boost::is_same< typename ::__type_traits<T>::has_trivial_copy_constructor, ::__true_type>::value\r
+#   define BOOST_HAS_TRIVIAL_ASSIGN(T) ::boost::is_same< typename ::__type_traits<T>::has_trivial_assignment_operator, ::__true_type>::value\r
+#   define BOOST_HAS_TRIVIAL_DESTRUCTOR(T) ::boost::is_same< typename ::__type_traits<T>::has_trivial_destructor, ::__true_type>::value\r
+\r
+#   ifdef __sgi\r
+#      define BOOST_HAS_TYPE_TRAITS_INTRINSICS\r
+#   endif\r
+#endif\r
+\r
+#if defined(__MSL_CPP__) && (__MSL_CPP__ >= 0x8000)\r
+    // Metrowerks compiler is acquiring intrinsic type traits support\r
+    // post version 8.  We hook into the published interface to pick up\r
+    // user defined specializations as well as compiler intrinsics as \r
+    // and when they become available:\r
+#   include <msl_utility>\r
+#   define BOOST_IS_UNION(T) BOOST_STD_EXTENSION_NAMESPACE::is_union<T>::value\r
+#   define BOOST_IS_POD(T) BOOST_STD_EXTENSION_NAMESPACE::is_POD<T>::value\r
+#   define BOOST_HAS_TRIVIAL_CONSTRUCTOR(T) BOOST_STD_EXTENSION_NAMESPACE::has_trivial_default_ctor<T>::value\r
+#   define BOOST_HAS_TRIVIAL_COPY(T) BOOST_STD_EXTENSION_NAMESPACE::has_trivial_copy_ctor<T>::value\r
+#   define BOOST_HAS_TRIVIAL_ASSIGN(T) BOOST_STD_EXTENSION_NAMESPACE::has_trivial_assignment<T>::value\r
+#   define BOOST_HAS_TRIVIAL_DESTRUCTOR(T) BOOST_STD_EXTENSION_NAMESPACE::has_trivial_dtor<T>::value\r
+#   define BOOST_HAS_TYPE_TRAITS_INTRINSICS\r
+#endif\r
+\r
+#if defined(BOOST_MSVC) && defined(BOOST_MSVC_FULL_VER) && (BOOST_MSVC_FULL_VER >=140050215)\r
+#   include <boost/type_traits/is_same.hpp>\r
+\r
+#   define BOOST_IS_UNION(T) __is_union(T)\r
+#   define BOOST_IS_POD(T) (__is_pod(T) && __has_trivial_constructor(T))\r
+#   define BOOST_IS_EMPTY(T) __is_empty(T)\r
+#   define BOOST_HAS_TRIVIAL_CONSTRUCTOR(T) __has_trivial_constructor(T)\r
+#   define BOOST_HAS_TRIVIAL_COPY(T) __has_trivial_copy(T)\r
+#   define BOOST_HAS_TRIVIAL_ASSIGN(T) __has_trivial_assign(T)\r
+#   define BOOST_HAS_TRIVIAL_DESTRUCTOR(T) __has_trivial_destructor(T)\r
+#   define BOOST_HAS_NOTHROW_CONSTRUCTOR(T) __has_nothrow_constructor(T)\r
+#   define BOOST_HAS_NOTHROW_COPY(T) __has_nothrow_copy(T)\r
+#   define BOOST_HAS_NOTHROW_ASSIGN(T) __has_nothrow_assign(T)\r
+#   define BOOST_HAS_VIRTUAL_DESTRUCTOR(T) __has_virtual_destructor(T)\r
+\r
+#   define BOOST_IS_ABSTRACT(T) __is_abstract(T)\r
+#   define BOOST_IS_BASE_OF(T,U) (__is_base_of(T,U) && !is_same<T,U>::value)\r
+#   define BOOST_IS_CLASS(T) __is_class(T)\r
+//  This one doesn't quite always do the right thing:\r
+//  #   define BOOST_IS_CONVERTIBLE(T,U) __is_convertible_to(T,U)\r
+#   define BOOST_IS_ENUM(T) __is_enum(T)\r
+//  This one doesn't quite always do the right thing:\r
+//  #   define BOOST_IS_POLYMORPHIC(T) __is_polymorphic(T)\r
+//  This one fails if the default alignment has been changed with /Zp:\r
+//  #   define BOOST_ALIGNMENT_OF(T) __alignof(T)\r
+\r
+#   define BOOST_HAS_TYPE_TRAITS_INTRINSICS\r
+#endif\r
+\r
+#if defined(__DMC__) && (__DMC__ >= 0x848)\r
+// For Digital Mars C++, www.digitalmars.com\r
+#   define BOOST_IS_UNION(T) (__typeinfo(T) & 0x400)\r
+#   define BOOST_IS_POD(T) (__typeinfo(T) & 0x800)\r
+#   define BOOST_IS_EMPTY(T) (__typeinfo(T) & 0x1000)\r
+#   define BOOST_HAS_TRIVIAL_CONSTRUCTOR(T) (__typeinfo(T) & 0x10)\r
+#   define BOOST_HAS_TRIVIAL_COPY(T) (__typeinfo(T) & 0x20)\r
+#   define BOOST_HAS_TRIVIAL_ASSIGN(T) (__typeinfo(T) & 0x40)\r
+#   define BOOST_HAS_TRIVIAL_DESTRUCTOR(T) (__typeinfo(T) & 0x8)\r
+#   define BOOST_HAS_NOTHROW_CONSTRUCTOR(T) (__typeinfo(T) & 0x80)\r
+#   define BOOST_HAS_NOTHROW_COPY(T) (__typeinfo(T) & 0x100)\r
+#   define BOOST_HAS_NOTHROW_ASSIGN(T) (__typeinfo(T) & 0x200)\r
+#   define BOOST_HAS_VIRTUAL_DESTRUCTOR(T) (__typeinfo(T) & 0x4)\r
+#   define BOOST_HAS_TYPE_TRAITS_INTRINSICS\r
+#endif\r
+\r
+#if defined(__GNUC__) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 3) && !defined(__GCCXML__)))\r
+#   include <boost/type_traits/is_same.hpp>\r
+#   include <boost/type_traits/is_reference.hpp>\r
+#   include <boost/type_traits/is_volatile.hpp>\r
+\r
+#   define BOOST_IS_UNION(T) __is_union(T)\r
+#   define BOOST_IS_POD(T) __is_pod(T)\r
+#   define BOOST_IS_EMPTY(T) __is_empty(T)\r
+#   define BOOST_HAS_TRIVIAL_CONSTRUCTOR(T) __has_trivial_constructor(T)\r
+#   define BOOST_HAS_TRIVIAL_COPY(T) (__has_trivial_copy(T) && !is_reference<T>::value)\r
+#   define BOOST_HAS_TRIVIAL_ASSIGN(T) __has_trivial_assign(T)\r
+#   define BOOST_HAS_TRIVIAL_DESTRUCTOR(T) __has_trivial_destructor(T)\r
+#   define BOOST_HAS_NOTHROW_CONSTRUCTOR(T) __has_nothrow_constructor(T)\r
+#   define BOOST_HAS_NOTHROW_COPY(T) (__has_nothrow_copy(T) && !is_volatile<T>::value && !is_reference<T>::value)\r
+#   define BOOST_HAS_NOTHROW_ASSIGN(T) (__has_nothrow_assign(T) && !is_volatile<T>::value)\r
+#   define BOOST_HAS_VIRTUAL_DESTRUCTOR(T) __has_virtual_destructor(T)\r
+\r
+#   define BOOST_IS_ABSTRACT(T) __is_abstract(T)\r
+#   define BOOST_IS_BASE_OF(T,U) (__is_base_of(T,U) && !is_same<T,U>::value)\r
+#   define BOOST_IS_CLASS(T) __is_class(T)\r
+#   define BOOST_IS_ENUM(T) __is_enum(T)\r
+#   define BOOST_IS_POLYMORPHIC(T) __is_polymorphic(T)\r
+#   if (!defined(unix) && !defined(__unix__)) || defined(__LP64__)\r
+      // GCC sometimes lies about alignment requirements\r
+      // of type double on 32-bit unix platforms, use the\r
+      // old implementation instead in that case:\r
+#     define BOOST_ALIGNMENT_OF(T) __alignof__(T)\r
+#   endif\r
+\r
+#   define BOOST_HAS_TYPE_TRAITS_INTRINSICS\r
+#endif\r
+\r
+# if defined(__CODEGEARC__)\r
+#   include <boost/type_traits/is_same.hpp>\r
+#   include <boost/type_traits/is_reference.hpp>\r
+#   include <boost/type_traits/is_volatile.hpp>\r
+#   include <boost/type_traits/is_void.hpp>\r
+\r
+#   define BOOST_IS_UNION(T) __is_union(T)\r
+#   define BOOST_IS_POD(T) __is_pod(T)\r
+#   define BOOST_IS_EMPTY(T) __is_empty(T)\r
+#   define BOOST_HAS_TRIVIAL_CONSTRUCTOR(T) (__has_trivial_default_constructor(T) || is_void<T>::value)\r
+#   define BOOST_HAS_TRIVIAL_COPY(T) (__has_trivial_copy_constructor(T) && !is_volatile<T>::value && !is_reference<T>::value || is_void<T>::value)\r
+#   define BOOST_HAS_TRIVIAL_ASSIGN(T) (__has_trivial_assign(T) && !is_volatile<T>::value || is_void<T>::value)\r
+#   define BOOST_HAS_TRIVIAL_DESTRUCTOR(T) (__has_trivial_destructor(T) || is_void<T>::value)\r
+#   define BOOST_HAS_NOTHROW_CONSTRUCTOR(T) (__has_nothrow_default_constructor(T) || is_void<T>::value)\r
+#   define BOOST_HAS_NOTHROW_COPY(T) (__has_nothrow_copy_constructor(T) && !is_volatile<T>::value && !is_reference<T>::value || is_void<T>::value)\r
+#   define BOOST_HAS_NOTHROW_ASSIGN(T) (__has_nothrow_assign(T) && !is_volatile<T>::value || is_void<T>::value)\r
+#   define BOOST_HAS_VIRTUAL_DESTRUCTOR(T) __has_virtual_destructor(T)\r
+\r
+#   define BOOST_IS_ABSTRACT(T) __is_abstract(T)\r
+#   define BOOST_IS_BASE_OF(T,U) (__is_base_of(T,U) && !is_void<T>::value && !is_void<U>::value)\r
+#   define BOOST_IS_CLASS(T) __is_class(T)\r
+#   define BOOST_IS_CONVERTIBLE(T,U) (__is_convertible(T,U) || is_void<U>::value)\r
+#   define BOOST_IS_ENUM(T) __is_enum(T)\r
+#   define BOOST_IS_POLYMORPHIC(T) __is_polymorphic(T)\r
+#   define BOOST_ALIGNMENT_OF(T) alignof(T)\r
+\r
+#   define BOOST_HAS_TYPE_TRAITS_INTRINSICS\r
+#endif\r
+\r
+#ifndef BOOST_IS_UNION\r
+#   define BOOST_IS_UNION(T) false\r
+#endif\r
+\r
+#ifndef BOOST_IS_POD\r
+#   define BOOST_IS_POD(T) false\r
+#endif\r
+\r
+#ifndef BOOST_IS_EMPTY\r
+#   define BOOST_IS_EMPTY(T) false\r
+#endif\r
+\r
+#ifndef BOOST_HAS_TRIVIAL_CONSTRUCTOR\r
+#   define BOOST_HAS_TRIVIAL_CONSTRUCTOR(T) false\r
+#endif\r
+\r
+#ifndef BOOST_HAS_TRIVIAL_COPY\r
+#   define BOOST_HAS_TRIVIAL_COPY(T) false\r
+#endif\r
+\r
+#ifndef BOOST_HAS_TRIVIAL_ASSIGN\r
+#   define BOOST_HAS_TRIVIAL_ASSIGN(T) false\r
+#endif\r
+\r
+#ifndef BOOST_HAS_TRIVIAL_DESTRUCTOR\r
+#   define BOOST_HAS_TRIVIAL_DESTRUCTOR(T) false\r
+#endif\r
+\r
+#ifndef BOOST_HAS_NOTHROW_CONSTRUCTOR\r
+#   define BOOST_HAS_NOTHROW_CONSTRUCTOR(T) false\r
+#endif\r
+\r
+#ifndef BOOST_HAS_NOTHROW_COPY\r
+#   define BOOST_HAS_NOTHROW_COPY(T) false\r
+#endif\r
+\r
+#ifndef BOOST_HAS_NOTHROW_ASSIGN\r
+#   define BOOST_HAS_NOTHROW_ASSIGN(T) false\r
+#endif\r
+\r
+#ifndef BOOST_HAS_VIRTUAL_DESTRUCTOR\r
+#   define BOOST_HAS_VIRTUAL_DESTRUCTOR(T) false\r
+#endif\r
+\r
+#endif // BOOST_TT_INTRINSICS_HPP_INCLUDED\r
+\r
+\r
+\r
+\r
+\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_abstract.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_abstract.hpp
new file mode 100644 (file)
index 0000000..b6c420c
--- /dev/null
@@ -0,0 +1,153 @@
+#ifndef BOOST_TT_IS_ABSTRACT_CLASS_HPP\r
+#define BOOST_TT_IS_ABSTRACT_CLASS_HPP\r
+\r
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)\r
+# pragma once\r
+#endif\r
+\r
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8\r
+// is_abstract_class.hpp:\r
+//\r
+//  (C) Copyright 2002 Rani Sharoni (rani_sharoni@hotmail.com) and Robert Ramey\r
+//  Use, modification and distribution is subject to the Boost Software\r
+//  License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt)\r
+//  \r
+//  See http://www.boost.org for updates, documentation, and revision history.\r
+//\r
+\r
+// Compile type discovery whether given type is abstract class or not.\r
+//\r
+//   Requires DR 337 to be supported by compiler\r
+//   (http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/cwg_active.html#337).\r
+//\r
+//\r
+// Believed (Jan 2004) to work on:\r
+//  - GCC 3.4\r
+//  - VC++ 7.1\r
+//  - compilers with new EDG frontend (Intel C++ 7, Comeau 4.3.2)\r
+//\r
+// Doesn't work on:\r
+//  - VC++6, VC++7.0 and less\r
+//  - GCC 3.3.X and less\r
+//  - Borland C++ 6 and less\r
+//      \r
+//\r
+// History:\r
+//  - Originally written by Rani Sharoni, see\r
+//    http://groups.google.com/groups?selm=df893da6.0207110613.75b2fe90%40posting.google.com\r
+//    At this time supported by EDG (Intel C++ 7, Comeau 4.3.2) and VC7.1.\r
+//  - Adapted and added into Boost.Serialization library by Robert Ramey \r
+//    (starting with submission #10).\r
+//  - Jan 2004: GCC 3.4 fixed to suport DR337 (Giovanni Bajo).\r
+//  - Jan 2004: modified to be part of Boost.TypeTraits (Pavel Vozenilek).\r
+//  - Nov 2004: Christoph Ludwig found that the implementation did not work with\r
+//              template types and gcc-3.4 or VC7.1, fix due to Christoph Ludwig\r
+//              and John Maddock.\r
+//  - Dec 2004: Added new config macro BOOST_NO_IS_ABSTRACT which causes the template\r
+//              to degrade gracefully, rather than trash the compiler (John Maddock).\r
+//\r
+\r
+#include <boost/type_traits/intrinsics.hpp>\r
+#ifndef BOOST_IS_ABSTRACT\r
+#include <boost/static_assert.hpp>\r
+#include <boost/type_traits/detail/yes_no_type.hpp>\r
+#include <boost/type_traits/is_class.hpp>\r
+#include <boost/type_traits/detail/ice_and.hpp>\r
+#ifdef BOOST_NO_IS_ABSTRACT\r
+#include <boost/type_traits/is_polymorphic.hpp>\r
+#endif\r
+#endif\r
+// should be the last #include\r
+#include <boost/type_traits/detail/bool_trait_def.hpp>\r
+\r
+\r
+namespace boost {\r
+namespace detail{\r
+\r
+#ifdef BOOST_IS_ABSTRACT\r
+template <class T>\r
+struct is_abstract_imp\r
+{\r
+   BOOST_STATIC_CONSTANT(bool, value = BOOST_IS_ABSTRACT(T));\r
+};\r
+#elif !defined(BOOST_NO_IS_ABSTRACT)\r
+template<class T>\r
+struct is_abstract_imp2\r
+{\r
+   // Deduction fails if T is void, function type, \r
+   // reference type (14.8.2/2)or an abstract class type \r
+   // according to review status issue #337\r
+   //\r
+   template<class U>\r
+   static type_traits::no_type check_sig(U (*)[1]);\r
+   template<class U>\r
+   static type_traits::yes_type check_sig(...);\r
+   //\r
+   // T must be a complete type, further if T is a template then\r
+   // it must be instantiated in order for us to get the right answer:\r
+   //\r
+   BOOST_STATIC_ASSERT(sizeof(T) != 0);\r
+\r
+   // GCC2 won't even parse this template if we embed the computation\r
+   // of s1 in the computation of value.\r
+#ifdef __GNUC__\r
+   BOOST_STATIC_CONSTANT(std::size_t, s1 = sizeof(is_abstract_imp2<T>::template check_sig<T>(0)));\r
+#else\r
+#if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000)\r
+#pragma warning(push)\r
+#pragma warning(disable:6334)\r
+#endif\r
+   BOOST_STATIC_CONSTANT(std::size_t, s1 = sizeof(check_sig<T>(0)));\r
+#if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000)\r
+#pragma warning(pop)\r
+#endif\r
+#endif\r
+    \r
+   BOOST_STATIC_CONSTANT(bool, value = \r
+      (s1 == sizeof(type_traits::yes_type)));\r
+};\r
+\r
+template <bool v>\r
+struct is_abstract_select\r
+{\r
+   template <class T>\r
+   struct rebind\r
+   {\r
+      typedef is_abstract_imp2<T> type;\r
+   };\r
+};\r
+template <>\r
+struct is_abstract_select<false>\r
+{\r
+   template <class T>\r
+   struct rebind\r
+   {\r
+      typedef false_type type;\r
+   };\r
+};\r
+\r
+template <class T>\r
+struct is_abstract_imp\r
+{\r
+   typedef is_abstract_select< ::boost::is_class<T>::value> selector;\r
+   typedef typename selector::template rebind<T> binder;\r
+   typedef typename binder::type type;\r
+\r
+   BOOST_STATIC_CONSTANT(bool, value = type::value);\r
+};\r
+\r
+#endif\r
+}\r
+\r
+#ifndef BOOST_NO_IS_ABSTRACT\r
+BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_abstract,T,::boost::detail::is_abstract_imp<T>::value)\r
+#else\r
+BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_abstract,T,::boost::detail::is_polymorphic_imp<T>::value)\r
+#endif\r
+\r
+} // namespace boost\r
+\r
+#include <boost/type_traits/detail/bool_trait_undef.hpp>\r
+\r
+#endif //BOOST_TT_IS_ABSTRACT_CLASS_HPP\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_arithmetic.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_arithmetic.hpp
new file mode 100644 (file)
index 0000000..7b4e751
--- /dev/null
@@ -0,0 +1,51 @@
+\r
+//  (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.\r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+\r
+#ifndef BOOST_TT_IS_ARITHMETIC_HPP_INCLUDED\r
+#define BOOST_TT_IS_ARITHMETIC_HPP_INCLUDED\r
+\r
+#if !defined( __CODEGEARC__ )\r
+#include <boost/type_traits/is_integral.hpp>\r
+#include <boost/type_traits/is_float.hpp>\r
+#include <boost/type_traits/detail/ice_or.hpp>\r
+#include <boost/config.hpp>\r
+#endif\r
+\r
+// should be the last #include\r
+#include <boost/type_traits/detail/bool_trait_def.hpp>\r
+\r
+namespace boost {\r
+\r
+#if !defined(__CODEGEARC__)\r
+namespace detail {\r
+\r
+template< typename T >\r
+struct is_arithmetic_impl\r
+{ \r
+    BOOST_STATIC_CONSTANT(bool, value = \r
+        (::boost::type_traits::ice_or< \r
+            ::boost::is_integral<T>::value,\r
+            ::boost::is_float<T>::value\r
+        >::value)); \r
+};\r
+\r
+} // namespace detail\r
+#endif\r
+\r
+//* is a type T an arithmetic type described in the standard (3.9.1p8)\r
+#if defined(__CODEGEARC__)\r
+BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_arithmetic,T,__is_arithmetic(T))\r
+#else\r
+BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_arithmetic,T,::boost::detail::is_arithmetic_impl<T>::value)\r
+#endif\r
+\r
+} // namespace boost\r
+\r
+#include <boost/type_traits/detail/bool_trait_undef.hpp>\r
+\r
+#endif // BOOST_TT_IS_ARITHMETIC_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_array.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_array.hpp
new file mode 100644 (file)
index 0000000..655545e
--- /dev/null
@@ -0,0 +1,91 @@
+\r
+//  (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, Howard\r
+//  Hinnant & John Maddock 2000.  \r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+\r
+\r
+// Some fixes for is_array are based on a newgroup posting by Jonathan Lundquist.\r
+\r
+\r
+#ifndef BOOST_TT_IS_ARRAY_HPP_INCLUDED\r
+#define BOOST_TT_IS_ARRAY_HPP_INCLUDED\r
+\r
+#include <boost/type_traits/config.hpp>\r
+\r
+#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+#   include <boost/type_traits/detail/yes_no_type.hpp>\r
+#   include <boost/type_traits/detail/wrap.hpp>\r
+#endif\r
+\r
+#include <cstddef>\r
+\r
+// should be the last #include\r
+#include <boost/type_traits/detail/bool_trait_def.hpp>\r
+\r
+namespace boost {\r
+\r
+#if defined( __CODEGEARC__ )\r
+BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_array,T,__is_array(T))\r
+#elif !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)\r
+BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_array,T,false)\r
+#if !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)\r
+BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,is_array,T[N],true)\r
+BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,is_array,T const[N],true)\r
+BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,is_array,T volatile[N],true)\r
+BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,is_array,T const volatile[N],true)\r
+#if !BOOST_WORKAROUND(__BORLANDC__, < 0x600) && !defined(__IBMCPP__) &&  !BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840))\r
+BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_array,T[],true)\r
+BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_array,T const[],true)\r
+BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_array,T volatile[],true)\r
+BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_array,T const volatile[],true)\r
+#endif\r
+#endif\r
+\r
+#else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+\r
+namespace detail {\r
+\r
+using ::boost::type_traits::yes_type;\r
+using ::boost::type_traits::no_type;\r
+using ::boost::type_traits::wrap;\r
+\r
+template< typename T > T(* is_array_tester1(wrap<T>) )(wrap<T>);\r
+char BOOST_TT_DECL is_array_tester1(...);\r
+\r
+template< typename T> no_type is_array_tester2(T(*)(wrap<T>));\r
+yes_type BOOST_TT_DECL is_array_tester2(...);\r
+\r
+template< typename T >\r
+struct is_array_impl\r
+{ \r
+    BOOST_STATIC_CONSTANT(bool, value = \r
+        sizeof(::boost::detail::is_array_tester2(\r
+            ::boost::detail::is_array_tester1(\r
+                ::boost::type_traits::wrap<T>()\r
+                )\r
+        )) == 1\r
+    );\r
+};\r
+\r
+#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS\r
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_array,void,false)\r
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_array,void const,false)\r
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_array,void volatile,false)\r
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_array,void const volatile,false)\r
+#endif\r
+\r
+} // namespace detail\r
+\r
+BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_array,T,::boost::detail::is_array_impl<T>::value)\r
+\r
+#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+\r
+} // namespace boost\r
+\r
+#include <boost/type_traits/detail/bool_trait_undef.hpp>\r
+\r
+#endif // BOOST_TT_IS_ARRAY_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_base_and_derived.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_base_and_derived.hpp
new file mode 100644 (file)
index 0000000..4243c9d
--- /dev/null
@@ -0,0 +1,254 @@
+\r
+//  (C) Copyright Rani Sharoni 2003.\r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
\r
+#ifndef BOOST_TT_IS_BASE_AND_DERIVED_HPP_INCLUDED\r
+#define BOOST_TT_IS_BASE_AND_DERIVED_HPP_INCLUDED\r
+\r
+#include <boost/type_traits/intrinsics.hpp>\r
+#ifndef BOOST_IS_BASE_OF\r
+#include <boost/type_traits/is_class.hpp>\r
+#include <boost/type_traits/is_same.hpp>\r
+#include <boost/type_traits/is_convertible.hpp>\r
+#include <boost/type_traits/detail/ice_and.hpp>\r
+#include <boost/config.hpp>\r
+#include <boost/static_assert.hpp>\r
+#endif\r
+#include <boost/type_traits/remove_cv.hpp>\r
+\r
+// should be the last #include\r
+#include <boost/type_traits/detail/bool_trait_def.hpp>\r
+\r
+namespace boost {\r
+\r
+namespace detail {\r
+\r
+#ifndef BOOST_IS_BASE_OF\r
+#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x581)) \\r
+ && !BOOST_WORKAROUND(__SUNPRO_CC , <= 0x540) \\r
+ && !BOOST_WORKAROUND(__EDG_VERSION__, <= 243) \\r
+ && !BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840))\r
+\r
+                             // The EDG version number is a lower estimate.\r
+                             // It is not currently known which EDG version\r
+                             // exactly fixes the problem.\r
+\r
+/*************************************************************************\r
+\r
+This version detects ambiguous base classes and private base classes\r
+correctly, and was devised by Rani Sharoni.\r
+\r
+Explanation by Terje Slettebo and Rani Sharoni.\r
+\r
+Let's take the multiple base class below as an example, and the following\r
+will also show why there's not a problem with private or ambiguous base\r
+class:\r
+\r
+struct B {};\r
+struct B1 : B {};\r
+struct B2 : B {};\r
+struct D : private B1, private B2 {};\r
+\r
+is_base_and_derived<B, D>::value;\r
+\r
+First, some terminology:\r
+\r
+SC  - Standard conversion\r
+UDC - User-defined conversion\r
+\r
+A user-defined conversion sequence consists of an SC, followed by an UDC,\r
+followed by another SC. Either SC may be the identity conversion.\r
+\r
+When passing the default-constructed Host object to the overloaded check_sig()\r
+functions (initialization 8.5/14/4/3), we have several viable implicit\r
+conversion sequences:\r
+\r
+For "static no_type check_sig(B const volatile *, int)" we have the conversion\r
+sequences:\r
+\r
+C -> C const (SC - Qualification Adjustment) -> B const volatile* (UDC)\r
+C -> D const volatile* (UDC) -> B1 const volatile* / B2 const volatile* ->\r
+     B const volatile* (SC - Conversion)\r
+\r
+For "static yes_type check_sig(D const volatile *, T)" we have the conversion\r
+sequence:\r
+\r
+C -> D const volatile* (UDC)\r
+\r
+According to 13.3.3.1/4, in context of user-defined conversion only the\r
+standard conversion sequence is considered when selecting the best viable\r
+function, so it only considers up to the user-defined conversion. For the\r
+first function this means choosing between C -> C const and C -> C, and it\r
+chooses the latter, because it's a proper subset (13.3.3.2/3/2) of the\r
+former. Therefore, we have:\r
+\r
+C -> D const volatile* (UDC) -> B1 const volatile* / B2 const volatile* ->\r
+     B const volatile* (SC - Conversion)\r
+C -> D const volatile* (UDC)\r
+\r
+Here, the principle of the "shortest subsequence" applies again, and it\r
+chooses C -> D const volatile*. This shows that it doesn't even need to\r
+consider the multiple paths to B, or accessibility, as that possibility is\r
+eliminated before it could possibly cause ambiguity or access violation.\r
+\r
+If D is not derived from B, it has to choose between C -> C const -> B const\r
+volatile* for the first function, and C -> D const volatile* for the second\r
+function, which are just as good (both requires a UDC, 13.3.3.2), had it not\r
+been for the fact that "static no_type check_sig(B const volatile *, int)" is\r
+not templated, which makes C -> C const -> B const volatile* the best choice\r
+(13.3.3/1/4), resulting in "no".\r
+\r
+Also, if Host::operator B const volatile* hadn't been const, the two\r
+conversion sequences for "static no_type check_sig(B const volatile *, int)", in\r
+the case where D is derived from B, would have been ambiguous.\r
+\r
+See also\r
+http://groups.google.com/groups?selm=df893da6.0301280859.522081f7%40posting.\r
+google.com and links therein.\r
+\r
+*************************************************************************/\r
+\r
+template <typename B, typename D>\r
+struct bd_helper\r
+{\r
+   //\r
+   // This VC7.1 specific workaround stops the compiler from generating\r
+   // an internal compiler error when compiling with /vmg (thanks to\r
+   // Aleksey Gurtovoy for figuring out the workaround).\r
+   //\r
+#if !BOOST_WORKAROUND(BOOST_MSVC, == 1310)\r
+    template <typename T>\r
+    static type_traits::yes_type check_sig(D const volatile *, T);\r
+    static type_traits::no_type  check_sig(B const volatile *, int);\r
+#else\r
+    static type_traits::yes_type check_sig(D const volatile *, long);\r
+    static type_traits::no_type  check_sig(B const volatile * const&, int);\r
+#endif\r
+};\r
+\r
+template<typename B, typename D>\r
+struct is_base_and_derived_impl2\r
+{\r
+#if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000)\r
+#pragma warning(push)\r
+#pragma warning(disable:6334)\r
+#endif\r
+    //\r
+    // May silently do the wrong thing with incomplete types\r
+    // unless we trap them here:\r
+    //\r
+    BOOST_STATIC_ASSERT(sizeof(B) != 0);\r
+    BOOST_STATIC_ASSERT(sizeof(D) != 0);\r
+\r
+    struct Host\r
+    {\r
+#if !BOOST_WORKAROUND(BOOST_MSVC, == 1310)\r
+        operator B const volatile *() const;\r
+#else\r
+        operator B const volatile * const&() const;\r
+#endif\r
+        operator D const volatile *();\r
+    };\r
+\r
+    BOOST_STATIC_CONSTANT(bool, value =\r
+        sizeof(bd_helper<B,D>::check_sig(Host(), 0)) == sizeof(type_traits::yes_type));\r
+#if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000)\r
+#pragma warning(pop)\r
+#endif\r
+};\r
+\r
+#else\r
+\r
+//\r
+// broken version:\r
+//\r
+template<typename B, typename D>\r
+struct is_base_and_derived_impl2\r
+{\r
+    BOOST_STATIC_CONSTANT(bool, value =\r
+        (::boost::is_convertible<D*,B*>::value));\r
+};\r
+\r
+#define BOOST_BROKEN_IS_BASE_AND_DERIVED\r
+\r
+#endif\r
+\r
+template <typename B, typename D>\r
+struct is_base_and_derived_impl3\r
+{\r
+    BOOST_STATIC_CONSTANT(bool, value = false);\r
+};\r
+\r
+template <bool ic1, bool ic2, bool iss>\r
+struct is_base_and_derived_select\r
+{\r
+   template <class T, class U>\r
+   struct rebind\r
+   {\r
+      typedef is_base_and_derived_impl3<T,U> type;\r
+   };\r
+};\r
+\r
+template <>\r
+struct is_base_and_derived_select<true,true,false>\r
+{\r
+   template <class T, class U>\r
+   struct rebind\r
+   {\r
+      typedef is_base_and_derived_impl2<T,U> type;\r
+   };\r
+};\r
+\r
+template <typename B, typename D>\r
+struct is_base_and_derived_impl\r
+{\r
+    typedef typename remove_cv<B>::type ncvB;\r
+    typedef typename remove_cv<D>::type ncvD;\r
+\r
+    typedef is_base_and_derived_select<\r
+       ::boost::is_class<B>::value,\r
+       ::boost::is_class<D>::value,\r
+       ::boost::is_same<ncvB,ncvD>::value> selector;\r
+    typedef typename selector::template rebind<ncvB,ncvD> binder;\r
+    typedef typename binder::type bound_type;\r
+\r
+    BOOST_STATIC_CONSTANT(bool, value = bound_type::value);\r
+};\r
+#else\r
+template <typename B, typename D>\r
+struct is_base_and_derived_impl\r
+{\r
+    typedef typename remove_cv<B>::type ncvB;\r
+    typedef typename remove_cv<D>::type ncvD;\r
+\r
+    BOOST_STATIC_CONSTANT(bool, value = (BOOST_IS_BASE_OF(B,D) && ! ::boost::is_same<ncvB,ncvD>::value));\r
+};\r
+#endif\r
+} // namespace detail\r
+\r
+BOOST_TT_AUX_BOOL_TRAIT_DEF2(\r
+      is_base_and_derived\r
+    , Base\r
+    , Derived\r
+    , (::boost::detail::is_base_and_derived_impl<Base,Derived>::value)\r
+    )\r
+\r
+#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(typename Base,typename Derived,is_base_and_derived,Base&,Derived,false)\r
+BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(typename Base,typename Derived,is_base_and_derived,Base,Derived&,false)\r
+BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(typename Base,typename Derived,is_base_and_derived,Base&,Derived&,false)\r
+#endif\r
+\r
+#if BOOST_WORKAROUND(__CODEGEARC__, BOOST_TESTED_AT(0x610))\r
+BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1(typename Base,is_base_and_derived,Base,Base,false)\r
+#endif\r
+\r
+} // namespace boost\r
+\r
+#include <boost/type_traits/detail/bool_trait_undef.hpp>\r
+\r
+#endif // BOOST_TT_IS_BASE_AND_DERIVED_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_base_of.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_base_of.hpp
new file mode 100644 (file)
index 0000000..dbf1931
--- /dev/null
@@ -0,0 +1,51 @@
+\r
+//  (C) Copyright Rani Sharoni 2003-2005.\r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
\r
+#ifndef BOOST_TT_IS_BASE_OF_HPP_INCLUDED\r
+#define BOOST_TT_IS_BASE_OF_HPP_INCLUDED\r
+\r
+#include <boost/type_traits/is_base_and_derived.hpp>\r
+#include <boost/type_traits/is_same.hpp>\r
+#include <boost/type_traits/is_class.hpp>\r
+#include <boost/type_traits/detail/ice_or.hpp>\r
+#include <boost/type_traits/detail/ice_and.hpp>\r
+\r
+// should be the last #include\r
+#include <boost/type_traits/detail/bool_trait_def.hpp>\r
+\r
+namespace boost {\r
+\r
+   namespace detail{\r
+      template <class B, class D>\r
+      struct is_base_of_imp\r
+      {\r
+          typedef typename remove_cv<B>::type ncvB;\r
+          typedef typename remove_cv<D>::type ncvD;\r
+          BOOST_STATIC_CONSTANT(bool, value = (::boost::type_traits::ice_or<      \r
+            (::boost::detail::is_base_and_derived_impl<ncvB,ncvD>::value),\r
+            (::boost::type_traits::ice_and< ::boost::is_same<ncvB,ncvD>::value, ::boost::is_class<ncvB>::value>::value)>::value));\r
+      };\r
+   }\r
+\r
+BOOST_TT_AUX_BOOL_TRAIT_DEF2(\r
+      is_base_of\r
+    , Base\r
+    , Derived\r
+    , (::boost::detail::is_base_of_imp<Base, Derived>::value))\r
+\r
+#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(typename Base,typename Derived,is_base_of,Base&,Derived,false)\r
+BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(typename Base,typename Derived,is_base_of,Base,Derived&,false)\r
+BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(typename Base,typename Derived,is_base_of,Base&,Derived&,false)\r
+#endif\r
+\r
+} // namespace boost\r
+\r
+#include <boost/type_traits/detail/bool_trait_undef.hpp>\r
+\r
+#endif // BOOST_TT_IS_BASE_AND_DERIVED_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_base_of_tr1.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_base_of_tr1.hpp
new file mode 100644 (file)
index 0000000..aaddbdd
--- /dev/null
@@ -0,0 +1,50 @@
+\r
+//  (C) Copyright Rani Sharoni 2003-2005.\r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
\r
+#ifndef BOOST_TT_IS_BASE_OF_TR1_HPP_INCLUDED\r
+#define BOOST_TT_IS_BASE_OF_TR1_HPP_INCLUDED\r
+\r
+#include <boost/type_traits/is_base_and_derived.hpp>\r
+#include <boost/type_traits/is_same.hpp>\r
+#include <boost/type_traits/is_class.hpp>\r
+#include <boost/type_traits/detail/ice_or.hpp>\r
+\r
+// should be the last #include\r
+#include <boost/type_traits/detail/bool_trait_def.hpp>\r
+\r
+namespace boost { namespace tr1{\r
+\r
+   namespace detail{\r
+      template <class B, class D>\r
+      struct is_base_of_imp\r
+      {\r
+          typedef typename remove_cv<B>::type ncvB;\r
+          typedef typename remove_cv<D>::type ncvD;\r
+          BOOST_STATIC_CONSTANT(bool, value = (::boost::type_traits::ice_or<      \r
+            (::boost::detail::is_base_and_derived_impl<ncvB,ncvD>::value),\r
+            (::boost::is_same<ncvB,ncvD>::value)>::value));\r
+      };\r
+   }\r
+\r
+BOOST_TT_AUX_BOOL_TRAIT_DEF2(\r
+      is_base_of\r
+    , Base\r
+    , Derived\r
+    , (::boost::tr1::detail::is_base_of_imp<Base, Derived>::value))\r
+\r
+#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(typename Base,typename Derived,is_base_of,Base&,Derived,false)\r
+BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(typename Base,typename Derived,is_base_of,Base,Derived&,false)\r
+BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(typename Base,typename Derived,is_base_of,Base&,Derived&,false)\r
+#endif\r
+\r
+} } // namespace boost\r
+\r
+#include <boost/type_traits/detail/bool_trait_undef.hpp>\r
+\r
+#endif // BOOST_TT_IS_BASE_OF_TR1_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_class.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_class.hpp
new file mode 100644 (file)
index 0000000..42adbac
--- /dev/null
@@ -0,0 +1,140 @@
+//  (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, Howard\r
+//  Hinnant & John Maddock 2000-2003.\r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+\r
+\r
+#ifndef BOOST_TT_IS_CLASS_HPP_INCLUDED\r
+#define BOOST_TT_IS_CLASS_HPP_INCLUDED\r
+\r
+#include <boost/type_traits/config.hpp>\r
+#include <boost/type_traits/intrinsics.hpp>\r
+#ifndef BOOST_IS_CLASS\r
+#   include <boost/type_traits/is_union.hpp>\r
+#   include <boost/type_traits/detail/ice_and.hpp>\r
+#   include <boost/type_traits/detail/ice_not.hpp>\r
+\r
+#ifdef BOOST_TT_HAS_CONFORMING_IS_CLASS_IMPLEMENTATION\r
+#   include <boost/type_traits/detail/yes_no_type.hpp>\r
+#else\r
+#   include <boost/type_traits/is_scalar.hpp>\r
+#   include <boost/type_traits/is_array.hpp>\r
+#   include <boost/type_traits/is_reference.hpp>\r
+#   include <boost/type_traits/is_void.hpp>\r
+#   include <boost/type_traits/is_function.hpp>\r
+#endif\r
+\r
+#endif // BOOST_IS_CLASS\r
+\r
+#ifdef __EDG_VERSION__\r
+#   include <boost/type_traits/remove_cv.hpp>\r
+#endif\r
+\r
+// should be the last #include\r
+#include <boost/type_traits/detail/bool_trait_def.hpp>\r
+\r
+namespace boost {\r
+\r
+namespace detail {\r
+\r
+#ifndef BOOST_IS_CLASS\r
+#ifdef BOOST_TT_HAS_CONFORMING_IS_CLASS_IMPLEMENTATION\r
+\r
+// This is actually the conforming implementation which works with\r
+// abstract classes.  However, enough compilers have trouble with\r
+// it that most will use the one in\r
+// boost/type_traits/object_traits.hpp. This implementation\r
+// actually works with VC7.0, but other interactions seem to fail\r
+// when we use it.\r
+\r
+// is_class<> metafunction due to Paul Mensonides\r
+// (leavings@attbi.com). For more details:\r
+// http://groups.google.com/groups?hl=en&selm=000001c1cc83%24e154d5e0%247772e50c%40c161550a&rnum=1\r
+#if defined(__GNUC__)  && !defined(__EDG_VERSION__)\r
+\r
+template <class U> ::boost::type_traits::yes_type is_class_tester(void(U::*)(void));\r
+template <class U> ::boost::type_traits::no_type is_class_tester(...);\r
+\r
+template <typename T>\r
+struct is_class_impl\r
+{\r
+\r
+    BOOST_STATIC_CONSTANT(bool, value =\r
+        (::boost::type_traits::ice_and<\r
+            sizeof(is_class_tester<T>(0)) == sizeof(::boost::type_traits::yes_type),\r
+            ::boost::type_traits::ice_not< ::boost::is_union<T>::value >::value\r
+        >::value)\r
+        );\r
+};\r
+\r
+#else\r
+\r
+template <typename T>\r
+struct is_class_impl\r
+{\r
+    template <class U> static ::boost::type_traits::yes_type is_class_tester(void(U::*)(void));\r
+    template <class U> static ::boost::type_traits::no_type is_class_tester(...);\r
+\r
+    BOOST_STATIC_CONSTANT(bool, value =\r
+        (::boost::type_traits::ice_and<\r
+            sizeof(is_class_tester<T>(0)) == sizeof(::boost::type_traits::yes_type),\r
+            ::boost::type_traits::ice_not< ::boost::is_union<T>::value >::value\r
+        >::value)\r
+        );\r
+};\r
+\r
+#endif\r
+\r
+#else\r
+\r
+template <typename T>\r
+struct is_class_impl\r
+{\r
+#   ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+    BOOST_STATIC_CONSTANT(bool, value =\r
+    (::boost::type_traits::ice_and<\r
+        ::boost::type_traits::ice_not< ::boost::is_union<T>::value >::value,\r
+        ::boost::type_traits::ice_not< ::boost::is_scalar<T>::value >::value,\r
+        ::boost::type_traits::ice_not< ::boost::is_array<T>::value >::value,\r
+        ::boost::type_traits::ice_not< ::boost::is_reference<T>::value>::value,\r
+        ::boost::type_traits::ice_not< ::boost::is_void<T>::value >::value,\r
+        ::boost::type_traits::ice_not< ::boost::is_function<T>::value >::value\r
+        >::value));\r
+#   else\r
+    BOOST_STATIC_CONSTANT(bool, value =\r
+    (::boost::type_traits::ice_and<\r
+        ::boost::type_traits::ice_not< ::boost::is_union<T>::value >::value,\r
+        ::boost::type_traits::ice_not< ::boost::is_scalar<T>::value >::value,\r
+        ::boost::type_traits::ice_not< ::boost::is_array<T>::value >::value,\r
+        ::boost::type_traits::ice_not< ::boost::is_reference<T>::value>::value,\r
+        ::boost::type_traits::ice_not< ::boost::is_void<T>::value >::value\r
+        >::value));\r
+#   endif\r
+};\r
+\r
+# endif // BOOST_TT_HAS_CONFORMING_IS_CLASS_IMPLEMENTATION\r
+# else // BOOST_IS_CLASS\r
+template <typename T>\r
+struct is_class_impl\r
+{\r
+    BOOST_STATIC_CONSTANT(bool, value = BOOST_IS_CLASS(T));\r
+};\r
+# endif // BOOST_IS_CLASS\r
+\r
+} // namespace detail\r
+\r
+# ifdef __EDG_VERSION__\r
+BOOST_TT_AUX_BOOL_TRAIT_DEF1(\r
+   is_class,T, boost::detail::is_class_impl<typename boost::remove_cv<T>::type>::value)\r
+# else \r
+BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_class,T,::boost::detail::is_class_impl<T>::value)\r
+# endif\r
+    \r
+} // namespace boost\r
+\r
+#include <boost/type_traits/detail/bool_trait_undef.hpp>\r
+\r
+#endif // BOOST_TT_IS_CLASS_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_complex.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_complex.hpp
new file mode 100644 (file)
index 0000000..c089acf
--- /dev/null
@@ -0,0 +1,34 @@
+//  (C) Copyright John Maddock 2007. \r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+\r
+#ifndef BOOST_TT_IS_COMPLEX_HPP\r
+#define BOOST_TT_IS_COMPLEX_HPP\r
+\r
+#include <boost/type_traits/is_convertible.hpp>\r
+#include <complex>\r
+// should be the last #include\r
+#include <boost/type_traits/detail/bool_trait_def.hpp>\r
+\r
+\r
+namespace boost {\r
+namespace detail{\r
+\r
+struct is_convertible_from_tester\r
+{\r
+   template <class T>\r
+   is_convertible_from_tester(const std::complex<T>&);\r
+};\r
+\r
+}\r
+\r
+BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_complex,T,(::boost::is_convertible<T, detail::is_convertible_from_tester>::value))\r
+\r
+} // namespace boost\r
+\r
+#include <boost/type_traits/detail/bool_trait_undef.hpp>\r
+\r
+#endif //BOOST_TT_IS_COMPLEX_HPP\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_compound.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_compound.hpp
new file mode 100644 (file)
index 0000000..3aea53d
--- /dev/null
@@ -0,0 +1,46 @@
+\r
+//  (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.\r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+\r
+#ifndef BOOST_TT_IS_COMPOUND_HPP_INCLUDED\r
+#define BOOST_TT_IS_COMPOUND_HPP_INCLUDED\r
+\r
+#include <boost/config.hpp>\r
+#include <boost/type_traits/is_fundamental.hpp>\r
+#include <boost/type_traits/detail/ice_not.hpp>\r
+\r
+// should be the last #include\r
+#include <boost/type_traits/detail/bool_trait_def.hpp>\r
+\r
+namespace boost {\r
+\r
+#if !defined( __CODEGEARC__ )\r
+namespace detail {\r
+\r
+template <typename T>\r
+struct is_compound_impl\r
+{\r
+   BOOST_STATIC_CONSTANT(bool, value =\r
+      (::boost::type_traits::ice_not<\r
+         ::boost::is_fundamental<T>::value\r
+       >::value));\r
+};\r
+\r
+} // namespace detail\r
+#endif // !defined( __CODEGEARC__ )\r
+\r
+#if defined( __CODEGEARC__ )\r
+BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_compound,T,__is_compound(T))\r
+#else\r
+BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_compound,T,::boost::detail::is_compound_impl<T>::value)\r
+#endif\r
+\r
+} // namespace boost\r
+\r
+#include <boost/type_traits/detail/bool_trait_undef.hpp>\r
+\r
+#endif // BOOST_TT_IS_COMPOUND_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_const.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_const.hpp
new file mode 100644 (file)
index 0000000..5026683
--- /dev/null
@@ -0,0 +1,146 @@
+\r
+//  (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, \r
+//      Howard Hinnant and John Maddock 2000. \r
+//  (C) Copyright Mat Marcus, Jesse Jones and Adobe Systems Inc 2001\r
+\r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+\r
+//    Fixed is_pointer, is_reference, is_const, is_volatile, is_same, \r
+//    is_member_pointer based on the Simulated Partial Specialization work \r
+//    of Mat Marcus and Jesse Jones. See  http://opensource.adobe.com or \r
+//    http://groups.yahoo.com/group/boost/message/5441 \r
+//    Some workarounds in here use ideas suggested from "Generic<Programming>: \r
+//    Mappings between Types and Values" \r
+//    by Andrei Alexandrescu (see http://www.cuj.com/experts/1810/alexandr.html).\r
+\r
+\r
+#ifndef BOOST_TT_IS_CONST_HPP_INCLUDED\r
+#define BOOST_TT_IS_CONST_HPP_INCLUDED\r
+\r
+#include <boost/config.hpp>\r
+#include <boost/detail/workaround.hpp>\r
+\r
+#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+#   include <boost/type_traits/detail/cv_traits_impl.hpp>\r
+#   ifdef __GNUC__\r
+#       include <boost/type_traits/is_reference.hpp>\r
+#   endif\r
+#   if BOOST_WORKAROUND(BOOST_MSVC, < 1400)\r
+#       include <boost/type_traits/remove_bounds.hpp>\r
+#   endif\r
+#else\r
+#   include <boost/type_traits/is_reference.hpp>\r
+#   include <boost/type_traits/is_array.hpp>\r
+#   include <boost/type_traits/detail/yes_no_type.hpp>\r
+#   include <boost/type_traits/detail/false_result.hpp>\r
+#endif\r
+\r
+// should be the last #include\r
+#include <boost/type_traits/detail/bool_trait_def.hpp>\r
+\r
+namespace boost {\r
+\r
+#if defined( __CODEGEARC__ )\r
+\r
+BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_const,T,__is_const(T))\r
+\r
+#elif !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)\r
+\r
+//* is a type T  declared const - is_const<T>\r
+#if BOOST_WORKAROUND(BOOST_MSVC, < 1400)\r
+   BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_const,T,::boost::detail::cv_traits_imp<typename remove_bounds<T>::type*>::is_const)\r
+#else\r
+   BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_const,T,::boost::detail::cv_traits_imp<T*>::is_const)\r
+#endif\r
+BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_const,T&,false)\r
+\r
+#if  defined(BOOST_ILLEGAL_CV_REFERENCES)\r
+// these are illegal specialisations; cv-qualifies applied to\r
+// references have no effect according to [8.3.2p1],\r
+// C++ Builder requires them though as it treats cv-qualified\r
+// references as distinct types...\r
+BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_const,T& const,false)\r
+BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_const,T& volatile,false)\r
+BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_const,T& const volatile,false)\r
+#endif\r
+\r
+#if defined(__GNUC__) && (__GNUC__ < 3)\r
+// special case for gcc where illegally cv-qualified reference types can be\r
+// generated in some corner cases:\r
+BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_const,T const,!(::boost::is_reference<T>::value))\r
+BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_const,T volatile const,!(::boost::is_reference<T>::value))\r
+#endif\r
+\r
+#else\r
+\r
+namespace detail {\r
+\r
+using ::boost::type_traits::yes_type;\r
+using ::boost::type_traits::no_type;\r
+\r
+yes_type is_const_tester(const volatile void*);\r
+no_type is_const_tester(volatile void *);\r
+\r
+template <bool is_ref, bool array>\r
+struct is_const_helper\r
+    : ::boost::type_traits::false_result\r
+{\r
+};\r
+\r
+template <>\r
+struct is_const_helper<false,false>\r
+{\r
+    template <typename T> struct result_\r
+    {\r
+        static T* t;\r
+        BOOST_STATIC_CONSTANT(bool, value = (\r
+            sizeof(detail::yes_type) == sizeof(detail::is_const_tester(t))\r
+            ));\r
+    };\r
+};\r
+\r
+template <>\r
+struct is_const_helper<false,true>\r
+{\r
+    template <typename T> struct result_\r
+    {\r
+        static T t;\r
+        BOOST_STATIC_CONSTANT(bool, value = (\r
+            sizeof(detail::yes_type) == sizeof(detail::is_const_tester(&t))\r
+            ));\r
+    };\r
+};\r
+\r
+template <typename T>\r
+struct is_const_impl\r
+    : is_const_helper<\r
+          is_reference<T>::value\r
+        , is_array<T>::value\r
+        >::template result_<T>\r
+{\r
+};\r
+\r
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_const,void,false)\r
+#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS\r
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_const,void const,true)\r
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_const,void volatile,false)\r
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_const,void const volatile,true)\r
+#endif\r
+\r
+} // namespace detail\r
+\r
+//* is a type T  declared const - is_const<T>\r
+BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_const,T,::boost::detail::is_const_impl<T>::value)\r
+\r
+#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+\r
+} // namespace boost\r
+\r
+#include <boost/type_traits/detail/bool_trait_undef.hpp>\r
+\r
+#endif // BOOST_TT_IS_CONST_HPP_INCLUDED\r
+\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_convertible.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_convertible.hpp
new file mode 100644 (file)
index 0000000..df3d387
--- /dev/null
@@ -0,0 +1,430 @@
+\r
+// Copyright 2000 John Maddock (john@johnmaddock.co.uk)\r
+// Copyright 2000 Jeremy Siek (jsiek@lsc.nd.edu)\r
+// Copyright 1999, 2000 Jaakko Jarvi (jaakko.jarvi@cs.utu.fi)\r
+//\r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+\r
+#ifndef BOOST_TT_IS_CONVERTIBLE_HPP_INCLUDED\r
+#define BOOST_TT_IS_CONVERTIBLE_HPP_INCLUDED\r
+\r
+#include <boost/type_traits/intrinsics.hpp>\r
+#ifndef BOOST_IS_CONVERTIBLE\r
+#include <boost/type_traits/detail/yes_no_type.hpp>\r
+#include <boost/type_traits/config.hpp>\r
+#include <boost/type_traits/is_array.hpp>\r
+#include <boost/type_traits/add_reference.hpp>\r
+#include <boost/type_traits/ice.hpp>\r
+#include <boost/type_traits/is_arithmetic.hpp>\r
+#include <boost/type_traits/is_void.hpp>\r
+#ifndef BOOST_NO_IS_ABSTRACT\r
+#include <boost/type_traits/is_abstract.hpp>\r
+#endif\r
+\r
+#if defined(__MWERKS__)\r
+#include <boost/type_traits/is_function.hpp>\r
+#include <boost/type_traits/remove_reference.hpp>\r
+#endif\r
+\r
+#endif // BOOST_IS_CONVERTIBLE\r
+\r
+// should be always the last #include directive\r
+#include <boost/type_traits/detail/bool_trait_def.hpp>\r
+\r
+namespace boost {\r
+\r
+#ifndef BOOST_IS_CONVERTIBLE\r
+\r
+// is one type convertable to another?\r
+//\r
+// there are multiple versions of the is_convertible\r
+// template, almost every compiler seems to require its\r
+// own version.\r
+//\r
+// Thanks to Andrei Alexandrescu for the original version of the\r
+// conversion detection technique!\r
+//\r
+\r
+namespace detail {\r
+\r
+// MS specific version:\r
+\r
+#if defined(BOOST_MSVC) && (BOOST_MSVC <= 1300)\r
+\r
+// This workaround is necessary to handle when From is void\r
+// which is normally taken care of by the partial specialization\r
+// of the is_convertible typename.\r
+using ::boost::type_traits::yes_type;\r
+using ::boost::type_traits::no_type;\r
+\r
+template< typename From >\r
+struct does_conversion_exist\r
+{\r
+    template< typename To > struct result_\r
+    {\r
+        static no_type BOOST_TT_DECL _m_check(...);\r
+        static yes_type BOOST_TT_DECL _m_check(To);\r
+        static From _m_from;\r
+        enum { value = sizeof( _m_check(_m_from) ) == sizeof(yes_type) };\r
+    };\r
+};\r
+\r
+template<>\r
+struct does_conversion_exist<void>\r
+{\r
+    template< typename To > struct result_\r
+    {\r
+        enum { value = ::boost::is_void<To>::value };\r
+    };\r
+};\r
+\r
+template <typename From, typename To>\r
+struct is_convertible_basic_impl\r
+    : does_conversion_exist<From>::template result_<To>\r
+{\r
+};\r
+\r
+#elif defined(__BORLANDC__) && (__BORLANDC__ < 0x560)\r
+//\r
+// special version for Borland compilers\r
+// this version breaks when used for some\r
+// UDT conversions:\r
+//\r
+template <typename From, typename To>\r
+struct is_convertible_impl\r
+{\r
+#pragma option push -w-8074\r
+    // This workaround for Borland breaks the EDG C++ frontend,\r
+    // so we only use it for Borland.\r
+    template <typename T> struct checker\r
+    {\r
+        static ::boost::type_traits::no_type BOOST_TT_DECL _m_check(...);\r
+        static ::boost::type_traits::yes_type BOOST_TT_DECL _m_check(T);\r
+    };\r
+\r
+    static From _m_from;\r
+    static bool const value = sizeof( checker<To>::_m_check(_m_from) )\r
+        == sizeof(::boost::type_traits::yes_type);\r
+#pragma option pop\r
+};\r
+\r
+#elif defined(__GNUC__) || defined(__BORLANDC__) && (__BORLANDC__ < 0x600)\r
+// special version for gcc compiler + recent Borland versions\r
+// note that this does not pass UDT's through (...)\r
+\r
+struct any_conversion\r
+{\r
+    template <typename T> any_conversion(const volatile T&);\r
+    template <typename T> any_conversion(T&);\r
+};\r
+\r
+template <typename T> struct checker\r
+{\r
+    static boost::type_traits::no_type _m_check(any_conversion ...);\r
+    static boost::type_traits::yes_type _m_check(T, int);\r
+};\r
+\r
+template <typename From, typename To>\r
+struct is_convertible_basic_impl\r
+{\r
+    static From _m_from;\r
+    static bool const value = sizeof( detail::checker<To>::_m_check(_m_from, 0) )\r
+        == sizeof(::boost::type_traits::yes_type);\r
+};\r
+\r
+#elif (defined(__EDG_VERSION__) && (__EDG_VERSION__ >= 245) && !defined(__ICL)) \\r
+      || defined(__IBMCPP__) || defined(__HP_aCC)\r
+//\r
+// This is *almost* an ideal world implementation as it doesn't rely\r
+// on undefined behaviour by passing UDT's through (...).\r
+// Unfortunately it doesn't quite pass all the tests for most compilers (sigh...)\r
+// Enable this for your compiler if is_convertible_test.cpp will compile it...\r
+//\r
+// Note we do not enable this for VC7.1, because even though it passes all the\r
+// type_traits tests it is known to cause problems when instantiation occurs\r
+// deep within the instantiation tree :-(\r
+//\r
+struct any_conversion\r
+{\r
+    template <typename T> any_conversion(const volatile T&);\r
+    // we need this constructor to catch references to functions\r
+    // (which can not be cv-qualified):\r
+    template <typename T> any_conversion(T&);\r
+};\r
+\r
+template <typename From, typename To>\r
+struct is_convertible_basic_impl\r
+{\r
+    static ::boost::type_traits::no_type BOOST_TT_DECL _m_check(any_conversion ...);\r
+    static ::boost::type_traits::yes_type BOOST_TT_DECL _m_check(To, int);\r
+       static From _m_from;\r
+\r
+    BOOST_STATIC_CONSTANT(bool, value =\r
+        sizeof( _m_check(_m_from, 0) ) == sizeof(::boost::type_traits::yes_type)\r
+        );\r
+};\r
+\r
+#elif defined(__DMC__)\r
+\r
+struct any_conversion\r
+{\r
+    template <typename T> any_conversion(const volatile T&);\r
+    // we need this constructor to catch references to functions\r
+    // (which can not be cv-qualified):\r
+    template <typename T> any_conversion(T&);\r
+};\r
+\r
+template <typename From, typename To>\r
+struct is_convertible_basic_impl\r
+{\r
+    // Using '...' doesn't always work on Digital Mars. This version seems to.\r
+    template <class T>\r
+    static ::boost::type_traits::no_type BOOST_TT_DECL _m_check(any_conversion,  float, T);\r
+    static ::boost::type_traits::yes_type BOOST_TT_DECL _m_check(To, int, int);\r
+    static From _m_from;\r
+\r
+    // Static constants sometime cause the conversion of _m_from to To to be\r
+    // called. This doesn't happen with an enum.\r
+    enum { value =\r
+        sizeof( _m_check(_m_from, 0, 0) ) == sizeof(::boost::type_traits::yes_type)\r
+        };\r
+};\r
+\r
+#elif defined(__MWERKS__)\r
+// \r
+// CW works with the technique implemented above for EDG, except when From\r
+// is a function type (or a reference to such a type), in which case\r
+// any_conversion won't be accepted as a valid conversion. We detect this\r
+// exceptional situation and channel it through an alternative algorithm.\r
+//\r
+\r
+template <typename From, typename To,bool FromIsFunctionRef>\r
+struct is_convertible_basic_impl_aux;\r
+\r
+struct any_conversion\r
+{\r
+    template <typename T> any_conversion(const volatile T&);\r
+};\r
+\r
+template <typename From, typename To>\r
+struct is_convertible_basic_impl_aux<From,To,false /*FromIsFunctionRef*/>\r
+{\r
+    static ::boost::type_traits::no_type BOOST_TT_DECL _m_check(any_conversion ...);\r
+    static ::boost::type_traits::yes_type BOOST_TT_DECL _m_check(To, int);\r
+    static From _m_from;\r
+\r
+    BOOST_STATIC_CONSTANT(bool, value =\r
+        sizeof( _m_check(_m_from, 0) ) == sizeof(::boost::type_traits::yes_type)\r
+        );\r
+};\r
+\r
+template <typename From, typename To>\r
+struct is_convertible_basic_impl_aux<From,To,true /*FromIsFunctionRef*/>\r
+{\r
+    static ::boost::type_traits::no_type BOOST_TT_DECL _m_check(...);\r
+    static ::boost::type_traits::yes_type BOOST_TT_DECL _m_check(To);\r
+    static From _m_from;\r
+    BOOST_STATIC_CONSTANT(bool, value =\r
+        sizeof( _m_check(_m_from) ) == sizeof(::boost::type_traits::yes_type)\r
+        );\r
+};\r
+\r
+template <typename From, typename To>\r
+struct is_convertible_basic_impl:\r
+  is_convertible_basic_impl_aux<\r
+    From,To,\r
+    ::boost::is_function<typename ::boost::remove_reference<From>::type>::value\r
+  >\r
+{};\r
+\r
+#else\r
+\r
+//\r
+// This version seems to work pretty well for a wide spectrum of compilers,\r
+// however it does rely on undefined behaviour by passing UDT's through (...).\r
+//\r
+template <typename From, typename To>\r
+struct is_convertible_basic_impl\r
+{\r
+    static ::boost::type_traits::no_type BOOST_TT_DECL _m_check(...);\r
+    static ::boost::type_traits::yes_type BOOST_TT_DECL _m_check(To);\r
+    static From _m_from;\r
+#ifdef BOOST_MSVC\r
+#pragma warning(push)\r
+#pragma warning(disable:4244)\r
+#if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000)\r
+#pragma warning(disable:6334)\r
+#endif\r
+#endif\r
+    BOOST_STATIC_CONSTANT(bool, value =\r
+        sizeof( _m_check(_m_from) ) == sizeof(::boost::type_traits::yes_type)\r
+        );\r
+#ifdef BOOST_MSVC\r
+#pragma warning(pop)\r
+#endif\r
+};\r
+\r
+#endif // is_convertible_impl\r
+\r
+#if defined(__DMC__)\r
+// As before, a static constant sometimes causes errors on Digital Mars.\r
+template <typename From, typename To>\r
+struct is_convertible_impl\r
+{\r
+    typedef typename add_reference<From>::type ref_type;\r
+    enum { value =\r
+        (::boost::type_traits::ice_and<\r
+            ::boost::type_traits::ice_or<\r
+               ::boost::detail::is_convertible_basic_impl<ref_type,To>::value,\r
+               ::boost::is_void<To>::value\r
+            >::value,\r
+            ::boost::type_traits::ice_not<\r
+               ::boost::is_array<To>::value\r
+            >::value\r
+        >::value) };\r
+};\r
+#elif !defined(__BORLANDC__) || __BORLANDC__ > 0x551\r
+template <typename From, typename To>\r
+struct is_convertible_impl\r
+{\r
+    typedef typename add_reference<From>::type ref_type;\r
+    BOOST_STATIC_CONSTANT(bool, value =\r
+        (::boost::type_traits::ice_and<\r
+            ::boost::type_traits::ice_or<\r
+               ::boost::detail::is_convertible_basic_impl<ref_type,To>::value,\r
+               ::boost::is_void<To>::value\r
+            >::value,\r
+            ::boost::type_traits::ice_not<\r
+               ::boost::is_array<To>::value\r
+            >::value\r
+        >::value)\r
+        );\r
+};\r
+#endif\r
+\r
+template <bool trivial1, bool trivial2, bool abstract_target>\r
+struct is_convertible_impl_select\r
+{\r
+   template <class From, class To>\r
+   struct rebind\r
+   {\r
+      typedef is_convertible_impl<From, To> type;\r
+   };\r
+};\r
+\r
+template <>\r
+struct is_convertible_impl_select<true, true, false>\r
+{\r
+   template <class From, class To>\r
+   struct rebind\r
+   {\r
+      typedef true_type type;\r
+   };\r
+};\r
+\r
+template <>\r
+struct is_convertible_impl_select<false, false, true>\r
+{\r
+   template <class From, class To>\r
+   struct rebind\r
+   {\r
+      typedef false_type type;\r
+   };\r
+};\r
+\r
+template <>\r
+struct is_convertible_impl_select<true, false, true>\r
+{\r
+   template <class From, class To>\r
+   struct rebind\r
+   {\r
+      typedef false_type type;\r
+   };\r
+};\r
+\r
+template <typename From, typename To>\r
+struct is_convertible_impl_dispatch_base\r
+{\r
+#if !BOOST_WORKAROUND(__HP_aCC, < 60700)\r
+   typedef is_convertible_impl_select< \r
+      ::boost::is_arithmetic<From>::value, \r
+      ::boost::is_arithmetic<To>::value,\r
+#ifndef BOOST_NO_IS_ABSTRACT\r
+      ::boost::is_abstract<To>::value\r
+#else\r
+      false\r
+#endif\r
+   > selector;\r
+#else\r
+   typedef is_convertible_impl_select<false, false, false> selector;\r
+#endif\r
+   typedef typename selector::template rebind<From, To> isc_binder;\r
+   typedef typename isc_binder::type type;\r
+};\r
+\r
+template <typename From, typename To>\r
+struct is_convertible_impl_dispatch \r
+   : public is_convertible_impl_dispatch_base<From, To>::type\r
+{};\r
+\r
+//\r
+// Now add the full and partial specialisations\r
+// for void types, these are common to all the\r
+// implementation above:\r
+//\r
+#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS\r
+#   define TT_AUX_BOOL_CV_VOID_TRAIT_SPEC2_PART1(trait,spec1,spec2,value) \\r
+    BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2(trait,spec1,spec2,value) \\r
+    BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2(trait,spec1,spec2 const,value) \\r
+    BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2(trait,spec1,spec2 volatile,value) \\r
+    BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2(trait,spec1,spec2 const volatile,value) \\r
+    /**/\r
+\r
+#   define TT_AUX_BOOL_CV_VOID_TRAIT_SPEC2(trait,spec1,spec2,value) \\r
+    TT_AUX_BOOL_CV_VOID_TRAIT_SPEC2_PART1(trait,spec1,spec2,value) \\r
+    TT_AUX_BOOL_CV_VOID_TRAIT_SPEC2_PART1(trait,spec1 const,spec2,value) \\r
+    TT_AUX_BOOL_CV_VOID_TRAIT_SPEC2_PART1(trait,spec1 volatile,spec2,value) \\r
+    TT_AUX_BOOL_CV_VOID_TRAIT_SPEC2_PART1(trait,spec1 const volatile,spec2,value) \\r
+    /**/\r
+\r
+    TT_AUX_BOOL_CV_VOID_TRAIT_SPEC2(is_convertible,void,void,true)\r
+\r
+#   undef TT_AUX_BOOL_CV_VOID_TRAIT_SPEC2\r
+#   undef TT_AUX_BOOL_CV_VOID_TRAIT_SPEC2_PART1\r
+\r
+#else\r
+    BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2(is_convertible,void,void,true)\r
+#endif // BOOST_NO_CV_VOID_SPECIALIZATIONS\r
+\r
+#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(typename To,is_convertible,void,To,false)\r
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(typename From,is_convertible,From,void,true)\r
+#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS\r
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(typename To,is_convertible,void const,To,false)\r
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(typename To,is_convertible,void volatile,To,false)\r
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(typename To,is_convertible,void const volatile,To,false)\r
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(typename From,is_convertible,From,void const,true)\r
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(typename From,is_convertible,From,void volatile,true)\r
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(typename From,is_convertible,From,void const volatile,true)\r
+#endif\r
+#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+\r
+} // namespace detail\r
+\r
+BOOST_TT_AUX_BOOL_TRAIT_DEF2(is_convertible,From,To,(::boost::detail::is_convertible_impl_dispatch<From,To>::value))\r
+\r
+#else\r
+\r
+BOOST_TT_AUX_BOOL_TRAIT_DEF2(is_convertible,From,To,BOOST_IS_CONVERTIBLE(From,To))\r
+\r
+#endif\r
+\r
+} // namespace boost\r
+\r
+#include <boost/type_traits/detail/bool_trait_undef.hpp>\r
+\r
+#endif // BOOST_TT_IS_CONVERTIBLE_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_empty.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_empty.hpp
new file mode 100644 (file)
index 0000000..5f0f477
--- /dev/null
@@ -0,0 +1,211 @@
+\r
+// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.\r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+\r
+#ifndef BOOST_TT_IS_EMPTY_HPP_INCLUDED\r
+#define BOOST_TT_IS_EMPTY_HPP_INCLUDED\r
+\r
+#include <boost/type_traits/is_convertible.hpp>\r
+#include <boost/type_traits/detail/ice_or.hpp>\r
+#include <boost/type_traits/config.hpp>\r
+#include <boost/type_traits/intrinsics.hpp>\r
+\r
+#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+#   include <boost/type_traits/remove_cv.hpp>\r
+#   include <boost/type_traits/is_class.hpp>\r
+#   include <boost/type_traits/add_reference.hpp>\r
+#else\r
+#   include <boost/type_traits/is_reference.hpp>\r
+#   include <boost/type_traits/is_pointer.hpp>\r
+#   include <boost/type_traits/is_member_pointer.hpp>\r
+#   include <boost/type_traits/is_array.hpp>\r
+#   include <boost/type_traits/is_void.hpp>\r
+#   include <boost/type_traits/detail/ice_and.hpp>\r
+#   include <boost/type_traits/detail/ice_not.hpp>\r
+#endif\r
+\r
+// should be always the last #include directive\r
+#include <boost/type_traits/detail/bool_trait_def.hpp>\r
+\r
+namespace boost {\r
+\r
+namespace detail {\r
+\r
+#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+template <typename T>\r
+struct empty_helper_t1 : public T\r
+{\r
+    empty_helper_t1();  // hh compiler bug workaround\r
+    int i[256];\r
+private:\r
+   // suppress compiler warnings:\r
+   empty_helper_t1(const empty_helper_t1&);\r
+   empty_helper_t1& operator=(const empty_helper_t1&);\r
+};\r
+\r
+struct empty_helper_t2 { int i[256]; };\r
+\r
+#if !BOOST_WORKAROUND(__BORLANDC__, < 0x600)\r
+\r
+template <typename T, bool is_a_class = false>\r
+struct empty_helper\r
+{\r
+    BOOST_STATIC_CONSTANT(bool, value = false);\r
+};\r
+\r
+template <typename T>\r
+struct empty_helper<T, true>\r
+{\r
+    BOOST_STATIC_CONSTANT(\r
+        bool, value = (sizeof(empty_helper_t1<T>) == sizeof(empty_helper_t2))\r
+        );\r
+};\r
+\r
+template <typename T>\r
+struct is_empty_impl\r
+{\r
+    typedef typename remove_cv<T>::type cvt;\r
+    BOOST_STATIC_CONSTANT(\r
+        bool, value = (\r
+            ::boost::type_traits::ice_or<\r
+              ::boost::detail::empty_helper<cvt,::boost::is_class<T>::value>::value\r
+              , BOOST_IS_EMPTY(cvt)\r
+            >::value\r
+            ));\r
+};\r
+\r
+#else // __BORLANDC__\r
+\r
+template <typename T, bool is_a_class, bool convertible_to_int>\r
+struct empty_helper\r
+{\r
+    BOOST_STATIC_CONSTANT(bool, value = false);\r
+};\r
+\r
+template <typename T>\r
+struct empty_helper<T, true, false>\r
+{\r
+    BOOST_STATIC_CONSTANT(bool, value = (\r
+        sizeof(empty_helper_t1<T>) == sizeof(empty_helper_t2)\r
+        ));\r
+};\r
+\r
+template <typename T>\r
+struct is_empty_impl\r
+{\r
+   typedef typename remove_cv<T>::type cvt;\r
+   typedef typename add_reference<T>::type r_type;\r
+\r
+   BOOST_STATIC_CONSTANT(\r
+       bool, value = (\r
+           ::boost::type_traits::ice_or<\r
+              ::boost::detail::empty_helper<\r
+                  cvt\r
+                , ::boost::is_class<T>::value\r
+                , ::boost::is_convertible< r_type,int>::value\r
+              >::value\r
+              , BOOST_IS_EMPTY(cvt)\r
+           >::value));\r
+};\r
+\r
+#endif // __BORLANDC__\r
+\r
+#else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+\r
+#ifdef BOOST_MSVC6_MEMBER_TEMPLATES\r
+\r
+template <typename T>\r
+struct empty_helper_t1 : public T\r
+{\r
+   empty_helper_t1();\r
+   int i[256];\r
+};\r
+\r
+struct empty_helper_t2 { int i[256]; };\r
+\r
+template <typename T>\r
+struct empty_helper_base\r
+{\r
+   enum { value = (sizeof(empty_helper_t1<T>) == sizeof(empty_helper_t2)) };\r
+};\r
+\r
+template <typename T>\r
+struct empty_helper_nonbase\r
+{\r
+   enum { value = false };\r
+};\r
+\r
+template <bool base>\r
+struct empty_helper_chooser\r
+{\r
+   template <typename T> struct result_\r
+   {\r
+      typedef empty_helper_nonbase<T> type;\r
+   };\r
+};\r
+\r
+template <>\r
+struct empty_helper_chooser<true>\r
+{\r
+   template <typename T> struct result_\r
+   {\r
+      typedef empty_helper_base<T> type;\r
+   };\r
+};\r
+\r
+template <typename T>\r
+struct is_empty_impl\r
+{\r
+   typedef ::boost::detail::empty_helper_chooser<\r
+      ::boost::type_traits::ice_and<\r
+         ::boost::type_traits::ice_not< ::boost::is_reference<T>::value >::value,\r
+         ::boost::type_traits::ice_not< ::boost::is_convertible<T,double>::value >::value,\r
+         ::boost::type_traits::ice_not< ::boost::is_pointer<T>::value >::value,\r
+         ::boost::type_traits::ice_not< ::boost::is_member_pointer<T>::value >::value,\r
+         ::boost::type_traits::ice_not< ::boost::is_array<T>::value >::value,\r
+         ::boost::type_traits::ice_not< ::boost::is_void<T>::value >::value,\r
+         ::boost::type_traits::ice_not<\r
+            ::boost::is_convertible<T,void const volatile*>::value\r
+            >::value\r
+      >::value > chooser;\r
+\r
+   typedef typename chooser::template result_<T> result;\r
+   typedef typename result::type eh_type;\r
+\r
+   BOOST_STATIC_CONSTANT(bool, value =\r
+      (::boost::type_traits::ice_or<eh_type::value, BOOST_IS_EMPTY(T)>::value));\r
+};\r
+\r
+#else\r
+\r
+template <typename T> struct is_empty_impl\r
+{\r
+    BOOST_STATIC_CONSTANT(bool, value = BOOST_IS_EMPTY(T));\r
+};\r
+\r
+#endif  // BOOST_MSVC6_MEMBER_TEMPLATES\r
+\r
+#endif  // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+\r
+// these help when the compiler has no partial specialization support:\r
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_empty,void,false)\r
+#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS\r
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_empty,void const,false)\r
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_empty,void volatile,false)\r
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_empty,void const volatile,false)\r
+#endif\r
+\r
+} // namespace detail\r
+\r
+BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_empty,T,::boost::detail::is_empty_impl<T>::value)\r
+\r
+} // namespace boost\r
+\r
+#include <boost/type_traits/detail/bool_trait_undef.hpp>\r
+\r
+#endif // BOOST_TT_IS_EMPTY_HPP_INCLUDED\r
+\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_enum.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_enum.hpp
new file mode 100644 (file)
index 0000000..601e8d7
--- /dev/null
@@ -0,0 +1,189 @@
+\r
+//  (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, Howard\r
+//  Hinnant & John Maddock 2000.  \r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+\r
+\r
+#ifndef BOOST_TT_IS_ENUM_HPP_INCLUDED\r
+#define BOOST_TT_IS_ENUM_HPP_INCLUDED\r
+\r
+#include <boost/type_traits/intrinsics.hpp>\r
+#ifndef BOOST_IS_ENUM\r
+#include <boost/type_traits/add_reference.hpp>\r
+#include <boost/type_traits/is_arithmetic.hpp>\r
+#include <boost/type_traits/is_reference.hpp>\r
+#include <boost/type_traits/is_convertible.hpp>\r
+#include <boost/type_traits/is_array.hpp>\r
+#ifdef __GNUC__\r
+#include <boost/type_traits/is_function.hpp>\r
+#endif\r
+#include <boost/type_traits/config.hpp>\r
+#if defined(BOOST_TT_HAS_CONFORMING_IS_CLASS_IMPLEMENTATION) \r
+#  include <boost/type_traits/is_class.hpp>\r
+#  include <boost/type_traits/is_union.hpp>\r
+#endif\r
+#endif\r
+\r
+// should be the last #include\r
+#include <boost/type_traits/detail/bool_trait_def.hpp>\r
+\r
+namespace boost {\r
+\r
+#ifndef BOOST_IS_ENUM\r
+#if !(defined(__BORLANDC__) && (__BORLANDC__ <= 0x551))\r
+\r
+namespace detail {\r
+\r
+#if defined(BOOST_TT_HAS_CONFORMING_IS_CLASS_IMPLEMENTATION) \r
+\r
+template <typename T>\r
+struct is_class_or_union\r
+{\r
+   BOOST_STATIC_CONSTANT(bool, value =\r
+      (::boost::type_traits::ice_or<\r
+           ::boost::is_class<T>::value\r
+         , ::boost::is_union<T>::value\r
+      >::value));\r
+};\r
+\r
+#else\r
+\r
+template <typename T>\r
+struct is_class_or_union\r
+{\r
+# if BOOST_WORKAROUND(BOOST_MSVC, < 1300) || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x581))// we simply can't detect it this way.\r
+    BOOST_STATIC_CONSTANT(bool, value = false);\r
+# else\r
+    template <class U> static ::boost::type_traits::yes_type is_class_or_union_tester(void(U::*)(void));\r
+\r
+#  if BOOST_WORKAROUND(BOOST_MSVC, == 1300)                 \\r
+    || BOOST_WORKAROUND(__MWERKS__, <= 0x3000) // no SFINAE\r
+    static ::boost::type_traits::no_type is_class_or_union_tester(...);\r
+    BOOST_STATIC_CONSTANT(\r
+        bool, value = sizeof(is_class_or_union_tester(0)) == sizeof(::boost::type_traits::yes_type));\r
+#  else\r
+    template <class U>\r
+    static ::boost::type_traits::no_type is_class_or_union_tester(...);\r
+    BOOST_STATIC_CONSTANT(\r
+        bool, value = sizeof(is_class_or_union_tester<T>(0)) == sizeof(::boost::type_traits::yes_type));\r
+#  endif\r
+# endif\r
+};\r
+#endif\r
+\r
+struct int_convertible\r
+{\r
+    int_convertible(int);\r
+};\r
+\r
+// Don't evaluate convertibility to int_convertible unless the type\r
+// is non-arithmetic. This suppresses warnings with GCC.\r
+template <bool is_typename_arithmetic_or_reference = true>\r
+struct is_enum_helper\r
+{\r
+    template <typename T> struct type\r
+    {\r
+        BOOST_STATIC_CONSTANT(bool, value = false);\r
+    };\r
+};\r
+\r
+template <>\r
+struct is_enum_helper<false>\r
+{\r
+    template <typename T> struct type\r
+       : ::boost::is_convertible<typename boost::add_reference<T>::type,::boost::detail::int_convertible>\r
+    {\r
+    };\r
+};\r
+\r
+template <typename T> struct is_enum_impl\r
+{\r
+   //typedef ::boost::add_reference<T> ar_t;\r
+   //typedef typename ar_t::type r_type;\r
+\r
+#if defined(__GNUC__)\r
+\r
+#ifdef BOOST_TT_HAS_CONFORMING_IS_CLASS_IMPLEMENTATION\r
+    \r
+   // We MUST check for is_class_or_union on conforming compilers in\r
+   // order to correctly deduce that noncopyable types are not enums\r
+   // (dwa 2002/04/15)...\r
+   BOOST_STATIC_CONSTANT(bool, selector =\r
+      (::boost::type_traits::ice_or<\r
+           ::boost::is_arithmetic<T>::value\r
+         , ::boost::is_reference<T>::value\r
+         , ::boost::is_function<T>::value\r
+         , is_class_or_union<T>::value\r
+         , is_array<T>::value\r
+      >::value));\r
+#else\r
+   // ...however, not checking is_class_or_union on non-conforming\r
+   // compilers prevents a dependency recursion.\r
+   BOOST_STATIC_CONSTANT(bool, selector =\r
+      (::boost::type_traits::ice_or<\r
+           ::boost::is_arithmetic<T>::value\r
+         , ::boost::is_reference<T>::value\r
+         , ::boost::is_function<T>::value\r
+         , is_array<T>::value\r
+      >::value));\r
+#endif // BOOST_TT_HAS_CONFORMING_IS_CLASS_IMPLEMENTATION\r
+\r
+#else // !defined(__GNUC__):\r
+    \r
+   BOOST_STATIC_CONSTANT(bool, selector =\r
+      (::boost::type_traits::ice_or<\r
+           ::boost::is_arithmetic<T>::value\r
+         , ::boost::is_reference<T>::value\r
+         , is_class_or_union<T>::value\r
+         , is_array<T>::value\r
+      >::value));\r
+    \r
+#endif\r
+\r
+#if BOOST_WORKAROUND(__BORLANDC__, < 0x600)\r
+    typedef ::boost::detail::is_enum_helper<\r
+          ::boost::detail::is_enum_impl<T>::selector\r
+        > se_t;\r
+#else\r
+    typedef ::boost::detail::is_enum_helper<selector> se_t;\r
+#endif\r
+\r
+    typedef typename se_t::template type<T> helper;\r
+    BOOST_STATIC_CONSTANT(bool, value = helper::value);\r
+};\r
+\r
+// these help on compilers with no partial specialization support:\r
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_enum,void,false)\r
+#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS\r
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_enum,void const,false)\r
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_enum,void volatile,false)\r
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_enum,void const volatile,false)\r
+#endif\r
+\r
+} // namespace detail\r
+\r
+BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_enum,T,::boost::detail::is_enum_impl<T>::value)\r
+\r
+#else // __BORLANDC__\r
+//\r
+// buggy is_convertible prevents working\r
+// implementation of is_enum:\r
+BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_enum,T,false)\r
+\r
+#endif\r
+\r
+#else // BOOST_IS_ENUM\r
+\r
+BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_enum,T,BOOST_IS_ENUM(T))\r
+\r
+#endif\r
+\r
+} // namespace boost\r
+\r
+#include <boost/type_traits/detail/bool_trait_undef.hpp>\r
+\r
+#endif // BOOST_TT_IS_ENUM_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_float.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_float.hpp
new file mode 100644 (file)
index 0000000..fff1212
--- /dev/null
@@ -0,0 +1,27 @@
+\r
+//  (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.\r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+\r
+#ifndef BOOST_TYPE_TRAITS_IS_FLOAT_HPP_INCLUDED\r
+#define BOOST_TYPE_TRAITS_IS_FLOAT_HPP_INCLUDED\r
+\r
+// should be the last #include\r
+#include <boost/type_traits/detail/bool_trait_def.hpp>\r
+\r
+namespace boost {\r
+\r
+//* is a type T a floating-point type described in the standard (3.9.1p8)\r
+BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_float,T,false)\r
+BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_float,float,true)\r
+BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_float,double,true)\r
+BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_float,long double,true)\r
+\r
+} // namespace boost\r
+\r
+#include <boost/type_traits/detail/bool_trait_undef.hpp>\r
+\r
+#endif // BOOST_TYPE_TRAITS_IS_FLOAT_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_floating_point.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_floating_point.hpp
new file mode 100644 (file)
index 0000000..5fba963
--- /dev/null
@@ -0,0 +1,27 @@
+\r
+//  (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000-2005.\r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+\r
+#ifndef BOOST_TYPE_TRAITS_IS_FLOATING_HPP_INCLUDED\r
+#define BOOST_TYPE_TRAITS_IS_FLOATING_HPP_INCLUDED\r
+\r
+// should be the last #include\r
+#include <boost/type_traits/detail/bool_trait_def.hpp>\r
+\r
+namespace boost {\r
+\r
+//* is a type T a floating-point type described in the standard (3.9.1p8)\r
+BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_floating_point,T,false)\r
+BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_floating_point,float,true)\r
+BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_floating_point,double,true)\r
+BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_floating_point,long double,true)\r
+\r
+} // namespace boost\r
+\r
+#include <boost/type_traits/detail/bool_trait_undef.hpp>\r
+\r
+#endif // BOOST_TYPE_TRAITS_IS_FLOAT_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_function.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_function.hpp
new file mode 100644 (file)
index 0000000..5189d73
--- /dev/null
@@ -0,0 +1,103 @@
+\r
+//  Copyright 2000 John Maddock (john@johnmaddock.co.uk)\r
+//  Copyright 2002 Aleksey Gurtovoy (agurtovoy@meta-comm.com)\r
+//\r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+\r
+#ifndef BOOST_TT_IS_FUNCTION_HPP_INCLUDED\r
+#define BOOST_TT_IS_FUNCTION_HPP_INCLUDED\r
+\r
+#include <boost/type_traits/is_reference.hpp>\r
+#include <boost/type_traits/detail/false_result.hpp>\r
+#include <boost/config.hpp>\r
+\r
+#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_TT_TEST_MS_FUNC_SIGS)\r
+#   include <boost/type_traits/detail/is_function_ptr_helper.hpp>\r
+#else\r
+#   include <boost/type_traits/detail/is_function_ptr_tester.hpp>\r
+#   include <boost/type_traits/detail/yes_no_type.hpp>\r
+#endif\r
+\r
+// should be the last #include\r
+#include <boost/type_traits/detail/bool_trait_def.hpp>\r
+\r
+// is a type a function?\r
+// Please note that this implementation is unnecessarily complex:\r
+// we could just use !is_convertible<T*, const volatile void*>::value,\r
+// except that some compilers erroneously allow conversions from\r
+// function pointers to void*.\r
+\r
+namespace boost {\r
+\r
+#if !defined( __CODEGEARC__ )\r
+\r
+namespace detail {\r
+\r
+#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_TT_TEST_MS_FUNC_SIGS)\r
+template<bool is_ref = true>\r
+struct is_function_chooser\r
+    : ::boost::type_traits::false_result\r
+{\r
+};\r
+\r
+template <>\r
+struct is_function_chooser<false>\r
+{\r
+    template< typename T > struct result_\r
+        : ::boost::type_traits::is_function_ptr_helper<T*>\r
+    {\r
+    };\r
+};\r
+\r
+template <typename T>\r
+struct is_function_impl\r
+    : is_function_chooser< ::boost::is_reference<T>::value >\r
+        ::BOOST_NESTED_TEMPLATE result_<T>\r
+{\r
+};\r
+\r
+#else\r
+\r
+template <typename T>\r
+struct is_function_impl\r
+{\r
+#if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000)\r
+#pragma warning(push)\r
+#pragma warning(disable:6334)\r
+#endif\r
+    static T* t;\r
+    BOOST_STATIC_CONSTANT(\r
+        bool, value = sizeof(::boost::type_traits::is_function_ptr_tester(t))\r
+        == sizeof(::boost::type_traits::yes_type)\r
+        );\r
+#if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000)\r
+#pragma warning(pop)\r
+#endif\r
+};\r
+\r
+#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)\r
+template <typename T>\r
+struct is_function_impl<T&> : public false_type\r
+{};\r
+#endif\r
+\r
+#endif\r
+\r
+} // namespace detail\r
+\r
+#endif // !defined( __CODEGEARC__ )\r
+\r
+#if defined( __CODEGEARC__ )\r
+BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_function,T,__is_function(T))\r
+#else\r
+BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_function,T,::boost::detail::is_function_impl<T>::value)\r
+#endif\r
+} // namespace boost\r
+\r
+#include <boost/type_traits/detail/bool_trait_undef.hpp>\r
+\r
+#endif // BOOST_TT_IS_FUNCTION_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_fundamental.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_fundamental.hpp
new file mode 100644 (file)
index 0000000..28eece3
--- /dev/null
@@ -0,0 +1,45 @@
+\r
+//  (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.\r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+\r
+#ifndef BOOST_TT_IS_FUNDAMENTAL_HPP_INCLUDED\r
+#define BOOST_TT_IS_FUNDAMENTAL_HPP_INCLUDED\r
+\r
+#include <boost/type_traits/is_arithmetic.hpp>\r
+#include <boost/type_traits/is_void.hpp>\r
+#include <boost/type_traits/detail/ice_or.hpp>\r
+\r
+// should be the last #include\r
+#include <boost/type_traits/detail/bool_trait_def.hpp>\r
+\r
+namespace boost {\r
+\r
+namespace detail {\r
+\r
+template <typename T> \r
+struct is_fundamental_impl\r
+    : ::boost::type_traits::ice_or< \r
+          ::boost::is_arithmetic<T>::value\r
+        , ::boost::is_void<T>::value\r
+        >\r
+{ \r
+};\r
+\r
+} // namespace detail\r
+\r
+//* is a type T a fundamental type described in the standard (3.9.1)\r
+#if defined( __CODEGEARC__ )\r
+BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_fundamental,T,__is_fundamental(T))\r
+#else\r
+BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_fundamental,T,::boost::detail::is_fundamental_impl<T>::value)\r
+#endif\r
+\r
+} // namespace boost\r
+\r
+#include <boost/type_traits/detail/bool_trait_undef.hpp>\r
+\r
+#endif // BOOST_TT_IS_FUNDAMENTAL_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_integral.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_integral.hpp
new file mode 100644 (file)
index 0000000..17960b0
--- /dev/null
@@ -0,0 +1,78 @@
+\r
+//  (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.\r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+\r
+#ifndef BOOST_TT_IS_INTEGRAL_HPP_INCLUDED\r
+#define BOOST_TT_IS_INTEGRAL_HPP_INCLUDED\r
+\r
+#include <boost/config.hpp>\r
+\r
+// should be the last #include\r
+#include <boost/type_traits/detail/bool_trait_def.hpp>\r
+\r
+namespace boost {\r
+\r
+//* is a type T an [cv-qualified-] integral type described in the standard (3.9.1p3)\r
+// as an extention we include long long, as this is likely to be added to the\r
+// standard at a later date\r
+#if defined( __CODEGEARC__ )\r
+BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_integral,T,__is_integral(T))\r
+#else\r
+BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_integral,T,false)\r
+\r
+BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,unsigned char,true)\r
+BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,unsigned short,true)\r
+BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,unsigned int,true)\r
+BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,unsigned long,true)\r
+\r
+BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,signed char,true)\r
+BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,signed short,true)\r
+BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,signed int,true)\r
+BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,signed long,true)\r
+\r
+BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,bool,true)\r
+BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,char,true)\r
+\r
+#ifndef BOOST_NO_INTRINSIC_WCHAR_T\r
+// If the following line fails to compile and you're using the Intel\r
+// compiler, see http://lists.boost.org/MailArchives/boost-users/msg06567.php,\r
+// and define BOOST_NO_INTRINSIC_WCHAR_T on the command line.\r
+BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,wchar_t,true)\r
+#endif\r
+\r
+// Same set of integral types as in boost/type_traits/integral_promotion.hpp.\r
+// Please, keep in sync. -- Alexander Nasonov\r
+#if (defined(BOOST_MSVC) && (BOOST_MSVC < 1300)) \\r
+    || (defined(BOOST_INTEL_CXX_VERSION) && defined(_MSC_VER) && (BOOST_INTEL_CXX_VERSION <= 600)) \\r
+    || (defined(__BORLANDC__) && (__BORLANDC__ == 0x600) && (_MSC_VER < 1300))\r
+BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,unsigned __int8,true)\r
+BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,__int8,true)\r
+BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,unsigned __int16,true)\r
+BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,__int16,true)\r
+BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,unsigned __int32,true)\r
+BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,__int32,true)\r
+#ifdef __BORLANDC__\r
+BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,unsigned __int64,true)\r
+BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,__int64,true)\r
+#endif\r
+#endif\r
+\r
+# if defined(BOOST_HAS_LONG_LONG)\r
+BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral, ::boost::ulong_long_type,true)\r
+BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral, ::boost::long_long_type,true)\r
+#elif defined(BOOST_HAS_MS_INT64)\r
+BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,unsigned __int64,true)\r
+BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,__int64,true)\r
+#endif\r
+\r
+#endif  // non-CodeGear implementation\r
+\r
+} // namespace boost\r
+\r
+#include <boost/type_traits/detail/bool_trait_undef.hpp>\r
+\r
+#endif // BOOST_TT_IS_INTEGRAL_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_member_function_pointer.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_member_function_pointer.hpp
new file mode 100644 (file)
index 0000000..f11f7a8
--- /dev/null
@@ -0,0 +1,136 @@
+\r
+//  (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, Howard\r
+//  Hinnant & John Maddock 2000.  \r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+\r
+\r
+#ifndef BOOST_TT_IS_MEMBER_FUNCTION_POINTER_HPP_INCLUDED\r
+#define BOOST_TT_IS_MEMBER_FUNCTION_POINTER_HPP_INCLUDED\r
+\r
+#include <boost/type_traits/config.hpp>\r
+#include <boost/detail/workaround.hpp>\r
+\r
+#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \\r
+   && !BOOST_WORKAROUND(__BORLANDC__, < 0x600) && !defined(BOOST_TT_TEST_MS_FUNC_SIGS)\r
+   //\r
+   // Note: we use the "workaround" version for MSVC because it works for \r
+   // __stdcall etc function types, where as the partial specialisation\r
+   // version does not do so.\r
+   //\r
+#   include <boost/type_traits/detail/is_mem_fun_pointer_impl.hpp>\r
+#   include <boost/type_traits/remove_cv.hpp>\r
+#else\r
+#   include <boost/type_traits/is_reference.hpp>\r
+#   include <boost/type_traits/is_array.hpp>\r
+#   include <boost/type_traits/detail/yes_no_type.hpp>\r
+#   include <boost/type_traits/detail/false_result.hpp>\r
+#   include <boost/type_traits/detail/ice_or.hpp>\r
+#   include <boost/type_traits/detail/is_mem_fun_pointer_tester.hpp>\r
+#endif\r
+\r
+// should be the last #include\r
+#include <boost/type_traits/detail/bool_trait_def.hpp>\r
+\r
+namespace boost {\r
+\r
+#if defined( __CODEGEARC__ )\r
+BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_member_function_pointer,T,__is_member_function_pointer( T ))\r
+#elif !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !BOOST_WORKAROUND(__BORLANDC__, < 0x600) && !defined(BOOST_TT_TEST_MS_FUNC_SIGS)\r
+\r
+BOOST_TT_AUX_BOOL_TRAIT_DEF1(\r
+      is_member_function_pointer\r
+    , T\r
+    , ::boost::type_traits::is_mem_fun_pointer_impl<typename remove_cv<T>::type>::value\r
+    )\r
+\r
+#else\r
+\r
+namespace detail {\r
+\r
+#ifndef __BORLANDC__\r
+\r
+template <bool>\r
+struct is_mem_fun_pointer_select\r
+    : ::boost::type_traits::false_result\r
+{\r
+};\r
+\r
+template <>\r
+struct is_mem_fun_pointer_select<false>\r
+{\r
+    template <typename T> struct result_\r
+    {\r
+#if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000)\r
+#pragma warning(push)\r
+#pragma warning(disable:6334)\r
+#endif\r
+        static T* make_t;\r
+        typedef result_<T> self_type;\r
+\r
+        BOOST_STATIC_CONSTANT(\r
+            bool, value = (\r
+                1 == sizeof(::boost::type_traits::is_mem_fun_pointer_tester(self_type::make_t))\r
+            ));\r
+#if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000)\r
+#pragma warning(pop)\r
+#endif\r
+    };\r
+};\r
+\r
+template <typename T>\r
+struct is_member_function_pointer_impl\r
+    : is_mem_fun_pointer_select<\r
+          ::boost::type_traits::ice_or<\r
+              ::boost::is_reference<T>::value\r
+            , ::boost::is_array<T>::value\r
+            >::value\r
+        >::template result_<T>\r
+{\r
+};\r
+\r
+#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+template <typename T>\r
+struct is_member_function_pointer_impl<T&> : public false_type{};\r
+#endif\r
+\r
+#else // Borland C++\r
+\r
+template <typename T>\r
+struct is_member_function_pointer_impl\r
+{\r
+   static T* m_t;\r
+   BOOST_STATIC_CONSTANT(\r
+              bool, value =\r
+               (1 == sizeof(type_traits::is_mem_fun_pointer_tester(m_t))) );\r
+};\r
+\r
+template <typename T>\r
+struct is_member_function_pointer_impl<T&>\r
+{\r
+   BOOST_STATIC_CONSTANT(bool, value = false);\r
+};\r
+\r
+#endif\r
+\r
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_member_function_pointer,void,false)\r
+#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS\r
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_member_function_pointer,void const,false)\r
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_member_function_pointer,void volatile,false)\r
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_member_function_pointer,void const volatile,false)\r
+#endif\r
+\r
+} // namespace detail\r
+\r
+BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_member_function_pointer,T,::boost::detail::is_member_function_pointer_impl<T>::value)\r
+\r
+#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+\r
+} // namespace boost\r
+\r
+#include <boost/type_traits/detail/bool_trait_undef.hpp>\r
+\r
+#endif // BOOST_TT_IS_MEMBER_FUNCTION_POINTER_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_member_object_pointer.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_member_object_pointer.hpp
new file mode 100644 (file)
index 0000000..ba07ee3
--- /dev/null
@@ -0,0 +1,46 @@
+\r
+//  (C) Copyright John Maddock 2005.  \r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+\r
+\r
+#ifndef BOOST_TT_IS_MEMBER_OBJECT_POINTER_HPP_INCLUDED\r
+#define BOOST_TT_IS_MEMBER_OBJECT_POINTER_HPP_INCLUDED\r
+\r
+#include <boost/type_traits/config.hpp>\r
+#include <boost/type_traits/is_member_pointer.hpp>\r
+#include <boost/type_traits/is_member_function_pointer.hpp>\r
+#include <boost/type_traits/detail/ice_and.hpp>\r
+#include <boost/type_traits/detail/ice_not.hpp>\r
+\r
+// should be the last #include\r
+#include <boost/type_traits/detail/bool_trait_def.hpp>\r
+\r
+namespace boost {\r
+\r
+namespace detail{\r
+\r
+template <typename T>\r
+struct is_member_object_pointer_impl\r
+{\r
+   BOOST_STATIC_CONSTANT(\r
+      bool, value = (::boost::type_traits::ice_and<\r
+         ::boost::is_member_pointer<T>::value,\r
+         ::boost::type_traits::ice_not<\r
+            ::boost::is_member_function_pointer<T>::value\r
+         >::value\r
+      >::value ));\r
+};\r
+\r
+} // namespace detail\r
+\r
+BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_member_object_pointer,T,::boost::detail::is_member_object_pointer_impl<T>::value)\r
+\r
+} // namespace boost\r
+\r
+#include <boost/type_traits/detail/bool_trait_undef.hpp>\r
+\r
+#endif // BOOST_TT_IS_MEMBER_FUNCTION_POINTER_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_member_pointer.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_member_pointer.hpp
new file mode 100644 (file)
index 0000000..2704d30
--- /dev/null
@@ -0,0 +1,116 @@
+\r
+//  (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, \r
+//      Howard Hinnant and John Maddock 2000. \r
+//  (C) Copyright Mat Marcus, Jesse Jones and Adobe Systems Inc 2001\r
+\r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+\r
+//    Fixed is_pointer, is_reference, is_const, is_volatile, is_same, \r
+//    is_member_pointer based on the Simulated Partial Specialization work \r
+//    of Mat Marcus and Jesse Jones. See  http://opensource.adobe.com or \r
+//    http://groups.yahoo.com/group/boost/message/5441 \r
+//    Some workarounds in here use ideas suggested from "Generic<Programming>: \r
+//    Mappings between Types and Values" \r
+//    by Andrei Alexandrescu (see http://www.cuj.com/experts/1810/alexandr.html).\r
+\r
+\r
+#ifndef BOOST_TT_IS_MEMBER_POINTER_HPP_INCLUDED\r
+#define BOOST_TT_IS_MEMBER_POINTER_HPP_INCLUDED\r
+\r
+#include <boost/type_traits/config.hpp>\r
+#include <boost/detail/workaround.hpp>\r
+\r
+#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !BOOST_WORKAROUND(__BORLANDC__, < 0x600)\r
+#   include <boost/type_traits/is_member_function_pointer.hpp>\r
+#else\r
+#   include <boost/type_traits/is_reference.hpp>\r
+#   include <boost/type_traits/is_array.hpp>\r
+#   include <boost/type_traits/detail/is_mem_fun_pointer_tester.hpp>\r
+#   include <boost/type_traits/detail/yes_no_type.hpp>\r
+#   include <boost/type_traits/detail/false_result.hpp>\r
+#   include <boost/type_traits/detail/ice_or.hpp>\r
+#endif\r
+\r
+// should be the last #include\r
+#include <boost/type_traits/detail/bool_trait_def.hpp>\r
+\r
+namespace boost {\r
+\r
+#if defined( __CODEGEARC__ )\r
+BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_member_pointer,T,__is_member_pointer(T))\r
+#elif BOOST_WORKAROUND(__BORLANDC__, < 0x600)\r
+BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_member_pointer,T,false)\r
+BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(typename T,typename U,is_member_pointer,U T::*,true)\r
+\r
+#elif !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)\r
+BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_member_pointer,T,::boost::is_member_function_pointer<T>::value)\r
+BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(typename T,typename U,is_member_pointer,U T::*,true)\r
+\r
+#if !BOOST_WORKAROUND(__MWERKS__,<=0x3003) && !BOOST_WORKAROUND(__IBMCPP__, <=600)\r
+BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(typename T,typename U,is_member_pointer,U T::*const,true)\r
+BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(typename T,typename U,is_member_pointer,U T::*volatile,true)\r
+BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(typename T,typename U,is_member_pointer,U T::*const volatile,true)\r
+#endif\r
+\r
+#else // no partial template specialization\r
+\r
+namespace detail {\r
+\r
+template <typename R, typename T>\r
+::boost::type_traits::yes_type BOOST_TT_DECL is_member_pointer_tester(R T::*const volatile*);\r
+::boost::type_traits::no_type BOOST_TT_DECL is_member_pointer_tester(...);\r
+\r
+template <bool>\r
+struct is_member_pointer_select\r
+    : ::boost::type_traits::false_result\r
+{\r
+};\r
+\r
+template <>\r
+struct is_member_pointer_select<false>\r
+{\r
+    template <typename T> struct result_\r
+    {\r
+        static T* make_t();\r
+        BOOST_STATIC_CONSTANT(\r
+            bool, value =\r
+            (::boost::type_traits::ice_or<\r
+                (1 == sizeof(::boost::type_traits::is_mem_fun_pointer_tester(make_t()))),\r
+                (1 == sizeof(is_member_pointer_tester(make_t())))\r
+            >::value) );\r
+    };\r
+};\r
+\r
+template <typename T>\r
+struct is_member_pointer_impl\r
+    : is_member_pointer_select<\r
+          ::boost::type_traits::ice_or<\r
+              ::boost::is_reference<T>::value\r
+            , ::boost::is_array<T>::value\r
+            >::value\r
+        >::template result_<T>\r
+{\r
+};\r
+\r
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_member_pointer,void,false)\r
+#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS\r
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_member_pointer,void const,false)\r
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_member_pointer,void volatile,false)\r
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_member_pointer,void const volatile,false)\r
+#endif\r
+\r
+} // namespace detail\r
+\r
+BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_member_pointer,T,::boost::detail::is_member_pointer_impl<T>::value)\r
+\r
+#endif // __BORLANDC__\r
+\r
+} // namespace boost\r
+\r
+#include <boost/type_traits/detail/bool_trait_undef.hpp>\r
+\r
+#endif // BOOST_TT_IS_MEMBER_POINTER_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_object.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_object.hpp
new file mode 100644 (file)
index 0000000..35eb8cd
--- /dev/null
@@ -0,0 +1,53 @@
+\r
+//  (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.\r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+\r
+#ifndef BOOST_TT_IS_OBJECT_HPP_INCLUDED\r
+#define BOOST_TT_IS_OBJECT_HPP_INCLUDED\r
+\r
+#include <boost/type_traits/is_reference.hpp>\r
+#include <boost/type_traits/is_void.hpp>\r
+#include <boost/type_traits/is_function.hpp>\r
+#include <boost/type_traits/detail/ice_and.hpp>\r
+#include <boost/type_traits/detail/ice_not.hpp>\r
+#include <boost/config.hpp>\r
+\r
+// should be the last #include\r
+#include <boost/type_traits/detail/bool_trait_def.hpp>\r
+\r
+namespace boost {\r
+\r
+namespace detail {\r
+\r
+template <typename T>\r
+struct is_object_impl\r
+{\r
+#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+   BOOST_STATIC_CONSTANT(bool, value =\r
+      (::boost::type_traits::ice_and<\r
+         ::boost::type_traits::ice_not< ::boost::is_reference<T>::value>::value,\r
+         ::boost::type_traits::ice_not< ::boost::is_void<T>::value>::value,\r
+         ::boost::type_traits::ice_not< ::boost::is_function<T>::value>::value\r
+      >::value));\r
+#else\r
+   BOOST_STATIC_CONSTANT(bool, value =\r
+      (::boost::type_traits::ice_and<\r
+         ::boost::type_traits::ice_not< ::boost::is_reference<T>::value>::value,\r
+         ::boost::type_traits::ice_not< ::boost::is_void<T>::value>::value\r
+      >::value));\r
+#endif\r
+};\r
+\r
+} // namespace detail\r
+\r
+BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_object,T,::boost::detail::is_object_impl<T>::value)\r
+\r
+} // namespace boost\r
+\r
+#include <boost/type_traits/detail/bool_trait_undef.hpp>\r
+\r
+#endif // BOOST_TT_IS_OBJECT_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_pod.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_pod.hpp
new file mode 100644 (file)
index 0000000..73d2fc9
--- /dev/null
@@ -0,0 +1,135 @@
+\r
+//  (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.\r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+\r
+#ifndef BOOST_TT_IS_POD_HPP_INCLUDED\r
+#define BOOST_TT_IS_POD_HPP_INCLUDED\r
+\r
+#include <boost/type_traits/config.hpp>\r
+#include <boost/type_traits/is_void.hpp>\r
+#include <boost/type_traits/is_scalar.hpp>\r
+#include <boost/type_traits/detail/ice_or.hpp>\r
+#include <boost/type_traits/intrinsics.hpp>\r
+\r
+#include <cstddef>\r
+\r
+// should be the last #include\r
+#include <boost/type_traits/detail/bool_trait_def.hpp>\r
+\r
+namespace boost {\r
+\r
+// forward declaration, needed by 'is_pod_array_helper' template below\r
+template< typename T > struct is_POD;\r
+\r
+namespace detail {\r
+\r
+#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+\r
+template <typename T> struct is_pod_impl\r
+{ \r
+    BOOST_STATIC_CONSTANT(\r
+        bool, value =\r
+        (::boost::type_traits::ice_or<\r
+            ::boost::is_scalar<T>::value,\r
+            ::boost::is_void<T>::value,\r
+            BOOST_IS_POD(T)\r
+         >::value));\r
+};\r
+\r
+#if !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)\r
+template <typename T, std::size_t sz>\r
+struct is_pod_impl<T[sz]>\r
+    : is_pod_impl<T>\r
+{\r
+};\r
+#endif\r
+\r
+#else\r
+\r
+template <bool is_array = false>\r
+struct is_pod_helper\r
+{\r
+    template <typename T> struct result_\r
+    {\r
+        BOOST_STATIC_CONSTANT(\r
+            bool, value =\r
+            (::boost::type_traits::ice_or<\r
+                ::boost::is_scalar<T>::value,\r
+                ::boost::is_void<T>::value,\r
+                BOOST_IS_POD(T)\r
+            >::value));\r
+    };\r
+};\r
+\r
+template <bool b>\r
+struct bool_to_yes_no_type\r
+{\r
+    typedef ::boost::type_traits::no_type type;\r
+};\r
+\r
+template <>\r
+struct bool_to_yes_no_type<true>\r
+{\r
+    typedef ::boost::type_traits::yes_type type;\r
+};\r
+\r
+template <typename ArrayType>\r
+struct is_pod_array_helper\r
+{\r
+    enum { is_pod = ::boost::is_POD<ArrayType>::value }; // MSVC workaround\r
+    typedef typename bool_to_yes_no_type<is_pod>::type type;\r
+    type instance() const;\r
+};\r
+\r
+template <typename T>\r
+is_pod_array_helper<T> is_POD_array(T*);\r
+\r
+template <>\r
+struct is_pod_helper<true>\r
+{\r
+    template <typename T> struct result_\r
+    {\r
+        static T& help();\r
+        BOOST_STATIC_CONSTANT(bool, value =\r
+            sizeof(is_POD_array(help()).instance()) == sizeof(::boost::type_traits::yes_type)\r
+            );\r
+    };\r
+};\r
+\r
+\r
+template <typename T> struct is_pod_impl\r
+{ \r
+   BOOST_STATIC_CONSTANT(\r
+       bool, value = (\r
+           ::boost::detail::is_pod_helper<\r
+              ::boost::is_array<T>::value\r
+           >::template result_<T>::value\r
+           )\r
+       );\r
+};\r
+\r
+#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+\r
+// the following help compilers without partial specialization support:\r
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,void,true)\r
+\r
+#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS\r
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,void const,true)\r
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,void volatile,true)\r
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,void const volatile,true)\r
+#endif\r
+\r
+} // namespace detail\r
+\r
+BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_POD,T,::boost::detail::is_pod_impl<T>::value)\r
+BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_pod,T,::boost::detail::is_pod_impl<T>::value)\r
+\r
+} // namespace boost\r
+\r
+#include <boost/type_traits/detail/bool_trait_undef.hpp>\r
+\r
+#endif // BOOST_TT_IS_POD_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_pointer.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_pointer.hpp
new file mode 100644 (file)
index 0000000..828fdfe
--- /dev/null
@@ -0,0 +1,162 @@
+\r
+//  (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, \r
+//      Howard Hinnant and John Maddock 2000. \r
+//  (C) Copyright Mat Marcus, Jesse Jones and Adobe Systems Inc 2001\r
+\r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+\r
+//    Fixed is_pointer, is_reference, is_const, is_volatile, is_same, \r
+//    is_member_pointer based on the Simulated Partial Specialization work \r
+//    of Mat Marcus and Jesse Jones. See  http://opensource.adobe.com or \r
+//    http://groups.yahoo.com/group/boost/message/5441 \r
+//    Some workarounds in here use ideas suggested from "Generic<Programming>: \r
+//    Mappings between Types and Values" \r
+//    by Andrei Alexandrescu (see http://www.cuj.com/experts/1810/alexandr.html).\r
+\r
+\r
+#ifndef BOOST_TT_IS_POINTER_HPP_INCLUDED\r
+#define BOOST_TT_IS_POINTER_HPP_INCLUDED\r
+\r
+#include <boost/type_traits/is_member_pointer.hpp>\r
+#include <boost/type_traits/detail/ice_and.hpp>\r
+#include <boost/type_traits/detail/ice_not.hpp>\r
+#include <boost/type_traits/config.hpp>\r
+#if !BOOST_WORKAROUND(BOOST_MSVC,<=1300)\r
+#include <boost/type_traits/remove_cv.hpp>\r
+#endif\r
+\r
+#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+#   include <boost/type_traits/is_reference.hpp>\r
+#   include <boost/type_traits/is_array.hpp>\r
+#   include <boost/type_traits/detail/is_function_ptr_tester.hpp>\r
+#   include <boost/type_traits/detail/false_result.hpp>\r
+#   include <boost/type_traits/detail/ice_or.hpp>\r
+#endif\r
+\r
+// should be the last #include\r
+#include <boost/type_traits/detail/bool_trait_def.hpp>\r
+\r
+namespace boost {\r
+\r
+#if defined( __CODEGEARC__ )\r
+BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_pointer,T,__is_pointer(T))\r
+#elif !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)\r
+\r
+namespace detail {\r
+\r
+template< typename T > struct is_pointer_helper\r
+{\r
+    BOOST_STATIC_CONSTANT(bool, value = false);\r
+};\r
+\r
+#   define TT_AUX_BOOL_TRAIT_HELPER_PARTIAL_SPEC(helper,sp,result) \\r
+template< typename T > struct helper<sp> \\r
+{ \\r
+    BOOST_STATIC_CONSTANT(bool, value = result); \\r
+}; \\r
+/**/\r
+\r
+TT_AUX_BOOL_TRAIT_HELPER_PARTIAL_SPEC(is_pointer_helper,T*,true)\r
+\r
+#   undef TT_AUX_BOOL_TRAIT_HELPER_PARTIAL_SPEC\r
+\r
+template< typename T >\r
+struct is_pointer_impl\r
+{\r
+#if BOOST_WORKAROUND(BOOST_MSVC,<=1300)\r
+    BOOST_STATIC_CONSTANT(bool, value =\r
+        (::boost::type_traits::ice_and<\r
+              ::boost::detail::is_pointer_helper<T>::value\r
+            , ::boost::type_traits::ice_not<\r
+                ::boost::is_member_pointer<T>::value\r
+                >::value\r
+            >::value)\r
+        );\r
+#else\r
+    BOOST_STATIC_CONSTANT(bool, value =\r
+        (::boost::type_traits::ice_and<\r
+        ::boost::detail::is_pointer_helper<typename remove_cv<T>::type>::value\r
+            , ::boost::type_traits::ice_not<\r
+                ::boost::is_member_pointer<T>::value\r
+                >::value\r
+            >::value)\r
+        );\r
+#endif\r
+};\r
+\r
+} // namespace detail\r
+\r
+BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_pointer,T,::boost::detail::is_pointer_impl<T>::value)\r
+\r
+#if defined(__BORLANDC__) && !defined(__COMO__) && (__BORLANDC__ < 0x600)\r
+BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_pointer,T&,false)\r
+BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_pointer,T& const,false)\r
+BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_pointer,T& volatile,false)\r
+BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_pointer,T& const volatile,false)\r
+#endif\r
+\r
+#else // no partial template specialization\r
+\r
+namespace detail {\r
+\r
+struct pointer_helper\r
+{\r
+    pointer_helper(const volatile void*);\r
+};\r
+\r
+yes_type BOOST_TT_DECL is_pointer_tester(pointer_helper);\r
+no_type BOOST_TT_DECL is_pointer_tester(...);\r
+\r
+template <bool>\r
+struct is_pointer_select\r
+    : ::boost::type_traits::false_result\r
+{\r
+};\r
+\r
+template <>\r
+struct is_pointer_select<false>\r
+{\r
+    template <typename T> struct result_\r
+    {\r
+        static T& make_t();\r
+        BOOST_STATIC_CONSTANT(bool, value =\r
+                (::boost::type_traits::ice_or<\r
+                    (1 == sizeof(is_pointer_tester(make_t()))),\r
+                    (1 == sizeof(type_traits::is_function_ptr_tester(make_t())))\r
+                >::value));\r
+    };\r
+};\r
+\r
+template <typename T>\r
+struct is_pointer_impl\r
+    : is_pointer_select<\r
+          ::boost::type_traits::ice_or<\r
+              ::boost::is_reference<T>::value\r
+            , ::boost::is_array<T>::value\r
+            >::value\r
+        >::template result_<T>\r
+{\r
+};\r
+\r
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pointer,void,false)\r
+#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS\r
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pointer,void const,false)\r
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pointer,void volatile,false)\r
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pointer,void const volatile,false)\r
+#endif\r
+\r
+} // namespace detail\r
+\r
+BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_pointer,T,::boost::detail::is_pointer_impl<T>::value)\r
+\r
+#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+\r
+} // namespace boost\r
+\r
+#include <boost/type_traits/detail/bool_trait_undef.hpp>\r
+\r
+#endif // BOOST_TT_IS_POINTER_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_polymorphic.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_polymorphic.hpp
new file mode 100644 (file)
index 0000000..78515e7
--- /dev/null
@@ -0,0 +1,114 @@
+//  (C) Copyright John Maddock 2000. \r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+\r
+#ifndef BOOST_TT_IS_POLYMORPHIC_HPP\r
+#define BOOST_TT_IS_POLYMORPHIC_HPP\r
+\r
+#include <boost/type_traits/intrinsics.hpp>\r
+#ifndef BOOST_IS_POLYMORPHIC\r
+#include <boost/type_traits/is_class.hpp>\r
+#include <boost/type_traits/remove_cv.hpp>\r
+#endif\r
+// should be the last #include\r
+#include <boost/type_traits/detail/bool_trait_def.hpp>\r
+#include <boost/detail/workaround.hpp>\r
+\r
+namespace boost{\r
+\r
+#ifndef BOOST_IS_POLYMORPHIC\r
+\r
+namespace detail{\r
+\r
+template <class T>\r
+struct is_polymorphic_imp1\r
+{\r
+# if BOOST_WORKAROUND(__MWERKS__, <= 0x2407) // CWPro7 should return false always.\r
+    typedef char d1, (&d2)[2];\r
+# else \r
+   typedef typename remove_cv<T>::type ncvT;\r
+   struct d1 : public ncvT\r
+   {\r
+      d1();\r
+#  if !defined(__GNUC__) // this raises warnings with some classes, and buys nothing with GCC\r
+      ~d1()throw();\r
+#  endif \r
+      char padding[256];\r
+   private:\r
+      // keep some picky compilers happy:\r
+      d1(const d1&);\r
+      d1& operator=(const d1&);\r
+   };\r
+   struct d2 : public ncvT\r
+   {\r
+      d2();\r
+      virtual ~d2()throw();\r
+#  if !defined(BOOST_MSVC) && !defined(__ICL)\r
+      // for some reason this messes up VC++ when T has virtual bases,\r
+      // probably likewise for compilers that use the same ABI:\r
+      struct unique{};\r
+      virtual void unique_name_to_boost5487629(unique*);\r
+#  endif\r
+      char padding[256];\r
+   private:\r
+      // keep some picky compilers happy:\r
+      d2(const d2&);\r
+      d2& operator=(const d2&);\r
+   };\r
+# endif \r
+   BOOST_STATIC_CONSTANT(bool, value = (sizeof(d2) == sizeof(d1)));\r
+};\r
+\r
+template <class T>\r
+struct is_polymorphic_imp2\r
+{\r
+   BOOST_STATIC_CONSTANT(bool, value = false);\r
+};\r
+\r
+template <bool is_class>\r
+struct is_polymorphic_selector\r
+{\r
+   template <class T>\r
+   struct rebind\r
+   {\r
+      typedef is_polymorphic_imp2<T> type;\r
+   };\r
+};\r
+\r
+template <>\r
+struct is_polymorphic_selector<true>\r
+{\r
+   template <class T>\r
+   struct rebind\r
+   {\r
+      typedef is_polymorphic_imp1<T> type;\r
+   };\r
+};\r
+\r
+template <class T>\r
+struct is_polymorphic_imp\r
+{\r
+   typedef is_polymorphic_selector< ::boost::is_class<T>::value> selector;\r
+   typedef typename selector::template rebind<T> binder;\r
+   typedef typename binder::type imp_type;\r
+   BOOST_STATIC_CONSTANT(bool, value = imp_type::value);\r
+};\r
+\r
+} // namespace detail\r
+\r
+BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_polymorphic,T,::boost::detail::is_polymorphic_imp<T>::value)\r
+\r
+#else // BOOST_IS_POLYMORPHIC\r
+\r
+BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_polymorphic,T,BOOST_IS_POLYMORPHIC(T))\r
+\r
+#endif\r
+\r
+} // namespace boost\r
+\r
+#include <boost/type_traits/detail/bool_trait_undef.hpp>\r
+\r
+#endif\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_reference.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_reference.hpp
new file mode 100644 (file)
index 0000000..3f3267c
--- /dev/null
@@ -0,0 +1,118 @@
+\r
+//  (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, \r
+//      Howard Hinnant and John Maddock 2000. \r
+//  (C) Copyright Mat Marcus, Jesse Jones and Adobe Systems Inc 2001\r
+\r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+\r
+//    Fixed is_pointer, is_reference, is_const, is_volatile, is_same, \r
+//    is_member_pointer based on the Simulated Partial Specialization work \r
+//    of Mat Marcus and Jesse Jones. See  http://opensource.adobe.com or \r
+//    http://groups.yahoo.com/group/boost/message/5441 \r
+//    Some workarounds in here use ideas suggested from "Generic<Programming>: \r
+//    Mappings between Types and Values" \r
+//    by Andrei Alexandrescu (see http://www.cuj.com/experts/1810/alexandr.html).\r
+\r
+\r
+#ifndef BOOST_TT_IS_REFERENCE_HPP_INCLUDED\r
+#define BOOST_TT_IS_REFERENCE_HPP_INCLUDED\r
+\r
+#include <boost/type_traits/config.hpp>\r
+\r
+#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+#   include <boost/type_traits/detail/yes_no_type.hpp>\r
+#   include <boost/type_traits/detail/wrap.hpp>\r
+#endif\r
+\r
+// should be the last #include\r
+#include <boost/type_traits/detail/bool_trait_def.hpp>\r
+\r
+namespace boost {\r
+\r
+#if defined( __CODEGEARC__ )\r
+BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_reference,T,__is_reference(T))\r
+#elif !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)\r
+\r
+BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_reference,T,false)\r
+BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_reference,T&,true)\r
+\r
+#if  defined(BOOST_ILLEGAL_CV_REFERENCES)\r
+// these are illegal specialisations; cv-qualifies applied to\r
+// references have no effect according to [8.3.2p1],\r
+// C++ Builder requires them though as it treats cv-qualified\r
+// references as distinct types...\r
+BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_reference,T& const,true)\r
+BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_reference,T& volatile,true)\r
+BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_reference,T& const volatile,true)\r
+#endif\r
+\r
+#if defined(__GNUC__) && (__GNUC__ < 3)\r
+// these allow us to work around illegally cv-qualified reference\r
+// types.\r
+BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_reference,T const ,::boost::is_reference<T>::value)\r
+BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_reference,T volatile ,::boost::is_reference<T>::value)\r
+BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_reference,T const volatile ,::boost::is_reference<T>::value)\r
+// However, the above specializations confuse gcc 2.96 unless we also\r
+// supply these specializations for array types\r
+BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(typename T,unsigned long N,is_reference,T[N],false)\r
+BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(typename T,unsigned long N,is_reference,const T[N],false)\r
+BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(typename T,unsigned long N,is_reference,volatile T[N],false)\r
+BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(typename T,unsigned long N,is_reference,const volatile T[N],false)\r
+#endif\r
+\r
+#else\r
+\r
+#ifdef BOOST_MSVC\r
+#   pragma warning(push)\r
+#   pragma warning(disable: 4181 4097)\r
+#endif\r
+\r
+namespace detail {\r
+\r
+using ::boost::type_traits::yes_type;\r
+using ::boost::type_traits::no_type;\r
+using ::boost::type_traits::wrap;\r
+\r
+template <class T> T&(* is_reference_helper1(wrap<T>) )(wrap<T>);\r
+char is_reference_helper1(...);\r
+\r
+template <class T> no_type is_reference_helper2(T&(*)(wrap<T>));\r
+yes_type is_reference_helper2(...);\r
+\r
+template <typename T>\r
+struct is_reference_impl\r
+{\r
+    BOOST_STATIC_CONSTANT(\r
+        bool, value = sizeof(\r
+            ::boost::detail::is_reference_helper2(\r
+                ::boost::detail::is_reference_helper1(::boost::type_traits::wrap<T>()))) == 1\r
+        );\r
+};\r
+\r
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_reference,void,false)\r
+#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS\r
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_reference,void const,false)\r
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_reference,void volatile,false)\r
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_reference,void const volatile,false)\r
+#endif\r
+\r
+} // namespace detail\r
+\r
+BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_reference,T,::boost::detail::is_reference_impl<T>::value)\r
+\r
+#ifdef BOOST_MSVC\r
+#   pragma warning(pop)\r
+#endif\r
+\r
+#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+\r
+} // namespace boost\r
+\r
+#include <boost/type_traits/detail/bool_trait_undef.hpp>\r
+\r
+#endif // BOOST_TT_IS_REFERENCE_HPP_INCLUDED\r
+\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_same.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_same.hpp
new file mode 100644 (file)
index 0000000..84195a2
--- /dev/null
@@ -0,0 +1,103 @@
+\r
+//  (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, \r
+//      Howard Hinnant and John Maddock 2000. \r
+//  (C) Copyright Mat Marcus, Jesse Jones and Adobe Systems Inc 2001\r
+\r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+\r
+//    Fixed is_pointer, is_reference, is_const, is_volatile, is_same, \r
+//    is_member_pointer based on the Simulated Partial Specialization work \r
+//    of Mat Marcus and Jesse Jones. See  http://opensource.adobe.com or \r
+//    http://groups.yahoo.com/group/boost/message/5441 \r
+//    Some workarounds in here use ideas suggested from "Generic<Programming>: \r
+//    Mappings between Types and Values" \r
+//    by Andrei Alexandrescu (see http://www.cuj.com/experts/1810/alexandr.html).\r
+\r
+\r
+#ifndef BOOST_TT_IS_SAME_HPP_INCLUDED\r
+#define BOOST_TT_IS_SAME_HPP_INCLUDED\r
+\r
+#include <boost/type_traits/config.hpp>\r
+#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+#include <boost/type_traits/detail/yes_no_type.hpp>\r
+#include <boost/type_traits/detail/ice_and.hpp>\r
+#include <boost/type_traits/is_reference.hpp>\r
+#endif\r
+// should be the last #include\r
+#include <boost/type_traits/detail/bool_trait_def.hpp>\r
+\r
+namespace boost {\r
+\r
+#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+\r
+BOOST_TT_AUX_BOOL_TRAIT_DEF2(is_same,T,U,false)\r
+BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1(typename T,is_same,T,T,true)\r
+#if BOOST_WORKAROUND(__BORLANDC__, < 0x600)\r
+// without this, Borland's compiler gives the wrong answer for\r
+// references to arrays:\r
+BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1(typename T,is_same,T&,T&,true)\r
+#endif\r
+\r
+#else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+\r
+namespace detail {\r
+\r
+#ifdef BOOST_MSVC\r
+// the following VC6 specific implementation is *NOT* legal\r
+// C++, but has the advantage that it works for incomplete\r
+// types.\r
+\r
+template< typename T1 >\r
+struct is_same_part_1\r
+{\r
+    template<typename T2>  struct part_2     { enum { value = false }; };\r
+    template<>             struct part_2<T1> { enum { value = true }; };\r
+};\r
+\r
+template< typename T1, typename T2 >\r
+struct is_same_impl\r
+{\r
+    enum { value = detail::is_same_part_1<T1>::template part_2<T2>::value };\r
+};\r
+\r
+#else // generic "no-partial-specialization" version\r
+\r
+template <typename T>\r
+::boost::type_traits::yes_type\r
+BOOST_TT_DECL is_same_tester(T*, T*);\r
+\r
+::boost::type_traits::no_type\r
+BOOST_TT_DECL is_same_tester(...);\r
+\r
+template <typename T, typename U>\r
+struct is_same_impl\r
+{\r
+   static T t;\r
+   static U u;\r
+\r
+   BOOST_STATIC_CONSTANT(bool, value =\r
+      (::boost::type_traits::ice_and<\r
+         (sizeof(type_traits::yes_type) == sizeof(detail::is_same_tester(&t,&u))),\r
+         (::boost::is_reference<T>::value == ::boost::is_reference<U>::value),\r
+         (sizeof(T) == sizeof(U))\r
+        >::value));\r
+};\r
+\r
+#endif // BOOST_MSVC\r
+\r
+} // namespace detail\r
+\r
+BOOST_TT_AUX_BOOL_TRAIT_DEF2(is_same,T,U,(::boost::detail::is_same_impl<T,U>::value))\r
+\r
+#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+\r
+} // namespace boost\r
+\r
+#include <boost/type_traits/detail/bool_trait_undef.hpp>\r
+\r
+#endif  // BOOST_TT_IS_SAME_HPP_INCLUDED\r
+\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_scalar.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_scalar.hpp
new file mode 100644 (file)
index 0000000..618f981
--- /dev/null
@@ -0,0 +1,55 @@
+\r
+//  (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.\r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+\r
+#ifndef BOOST_TT_IS_SCALAR_HPP_INCLUDED\r
+#define BOOST_TT_IS_SCALAR_HPP_INCLUDED\r
+\r
+#include <boost/type_traits/is_arithmetic.hpp>\r
+#include <boost/type_traits/is_enum.hpp>\r
+#include <boost/type_traits/is_pointer.hpp>\r
+#include <boost/type_traits/is_member_pointer.hpp>\r
+#include <boost/type_traits/detail/ice_or.hpp>\r
+#include <boost/config.hpp>\r
+\r
+// should be the last #include\r
+#include <boost/type_traits/detail/bool_trait_def.hpp>\r
+\r
+namespace boost {\r
+\r
+namespace detail {\r
+\r
+template <typename T>\r
+struct is_scalar_impl\r
+{ \r
+   BOOST_STATIC_CONSTANT(bool, value =\r
+      (::boost::type_traits::ice_or<\r
+         ::boost::is_arithmetic<T>::value,\r
+         ::boost::is_enum<T>::value,\r
+         ::boost::is_pointer<T>::value,\r
+         ::boost::is_member_pointer<T>::value\r
+      >::value));\r
+};\r
+\r
+// these specializations are only really needed for compilers \r
+// without partial specialization support:\r
+template <> struct is_scalar_impl<void>{ BOOST_STATIC_CONSTANT(bool, value = false ); };\r
+#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS\r
+template <> struct is_scalar_impl<void const>{ BOOST_STATIC_CONSTANT(bool, value = false ); };\r
+template <> struct is_scalar_impl<void volatile>{ BOOST_STATIC_CONSTANT(bool, value = false ); };\r
+template <> struct is_scalar_impl<void const volatile>{ BOOST_STATIC_CONSTANT(bool, value = false ); };\r
+#endif\r
+\r
+} // namespace detail\r
+\r
+BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_scalar,T,::boost::detail::is_scalar_impl<T>::value)\r
+\r
+} // namespace boost\r
+\r
+#include <boost/type_traits/detail/bool_trait_undef.hpp>\r
+\r
+#endif // BOOST_TT_IS_SCALAR_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_signed.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_signed.hpp
new file mode 100644 (file)
index 0000000..13b340c
--- /dev/null
@@ -0,0 +1,135 @@
+\r
+//  (C) Copyright John Maddock 2005.  \r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+\r
+\r
+#ifndef BOOST_TT_IS_SIGNED_HPP_INCLUDED\r
+#define BOOST_TT_IS_SIGNED_HPP_INCLUDED\r
+\r
+#include <boost/type_traits/is_integral.hpp>\r
+#include <boost/type_traits/remove_cv.hpp>\r
+#include <boost/type_traits/is_enum.hpp>\r
+#include <boost/type_traits/detail/ice_or.hpp>\r
+\r
+// should be the last #include\r
+#include <boost/type_traits/detail/bool_trait_def.hpp>\r
+\r
+namespace boost {\r
+\r
+#if !defined( __CODEGEARC__ )\r
+\r
+namespace detail{\r
+\r
+#if !(defined(__EDG_VERSION__) && __EDG_VERSION__ <= 238)\r
+\r
+template <class T>\r
+struct is_signed_values\r
+{\r
+   typedef typename remove_cv<T>::type no_cv_t;\r
+   BOOST_STATIC_CONSTANT(no_cv_t, minus_one = (static_cast<no_cv_t>(-1)));\r
+   BOOST_STATIC_CONSTANT(no_cv_t, zero = (static_cast<no_cv_t>(0)));\r
+};\r
+\r
+template <class T>\r
+struct is_signed_helper\r
+{\r
+   typedef typename remove_cv<T>::type no_cv_t;\r
+   BOOST_STATIC_CONSTANT(bool, value = (!(::boost::detail::is_signed_values<T>::minus_one  > boost::detail::is_signed_values<T>::zero)));\r
+};\r
+\r
+template <bool integral_type>\r
+struct is_signed_select_helper\r
+{\r
+   template <class T>\r
+   struct rebind\r
+   {\r
+      typedef is_signed_helper<T> type;\r
+   };\r
+};\r
+\r
+template <>\r
+struct is_signed_select_helper<false>\r
+{\r
+   template <class T>\r
+   struct rebind\r
+   {\r
+      typedef false_type type;\r
+   };\r
+};\r
+\r
+template <class T>\r
+struct is_signed_imp\r
+{\r
+   typedef is_signed_select_helper< \r
+      ::boost::type_traits::ice_or<\r
+         ::boost::is_integral<T>::value,\r
+         ::boost::is_enum<T>::value>::value \r
+   > selector;\r
+   typedef typename selector::template rebind<T> binder;\r
+   typedef typename binder::type type;\r
+#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)\r
+   BOOST_STATIC_CONSTANT(bool, value = is_signed_imp<T>::type::value);\r
+#else\r
+   BOOST_STATIC_CONSTANT(bool, value = type::value);\r
+#endif\r
+};\r
+\r
+#else\r
+\r
+template <class T> struct is_signed_imp : public false_type{};\r
+template <> struct is_signed_imp<signed char> : public true_type{};\r
+template <> struct is_signed_imp<const signed char> : public true_type{};\r
+template <> struct is_signed_imp<volatile signed char> : public true_type{};\r
+template <> struct is_signed_imp<const volatile signed char> : public true_type{};\r
+template <> struct is_signed_imp<short> : public true_type{};\r
+template <> struct is_signed_imp<const short> : public true_type{};\r
+template <> struct is_signed_imp<volatile short> : public true_type{};\r
+template <> struct is_signed_imp<const volatile short> : public true_type{};\r
+template <> struct is_signed_imp<int> : public true_type{};\r
+template <> struct is_signed_imp<const int> : public true_type{};\r
+template <> struct is_signed_imp<volatile int> : public true_type{};\r
+template <> struct is_signed_imp<const volatile int> : public true_type{};\r
+template <> struct is_signed_imp<long> : public true_type{};\r
+template <> struct is_signed_imp<const long> : public true_type{};\r
+template <> struct is_signed_imp<volatile long> : public true_type{};\r
+template <> struct is_signed_imp<const volatile long> : public true_type{};\r
+#ifdef BOOST_HAS_LONG_LONG\r
+template <> struct is_signed_imp<long long> : public true_type{};\r
+template <> struct is_signed_imp<const long long> : public true_type{};\r
+template <> struct is_signed_imp<volatile long long> : public true_type{};\r
+template <> struct is_signed_imp<const volatile long long> : public true_type{};\r
+#endif\r
+#if defined(CHAR_MIN) && (CHAR_MIN != 0)\r
+template <> struct is_signed_imp<char> : public true_type{};\r
+template <> struct is_signed_imp<const char> : public true_type{};\r
+template <> struct is_signed_imp<volatile char> : public true_type{};\r
+template <> struct is_signed_imp<const volatile char> : public true_type{};\r
+#endif\r
+#if defined(WCHAR_MIN) && (WCHAR_MIN != 0)\r
+template <> struct is_signed_imp<wchar_t> : public true_type{};\r
+template <> struct is_signed_imp<const wchar_t> : public true_type{};\r
+template <> struct is_signed_imp<volatile wchar_t> : public true_type{};\r
+template <> struct is_signed_imp<const volatile wchar_t> : public true_type{};\r
+#endif\r
+\r
+#endif\r
+\r
+}\r
+\r
+#endif // !defined( __CODEGEARC__ )\r
+\r
+#if defined( __CODEGEARC__ )\r
+BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_signed,T,__is_signed(T))\r
+#else\r
+BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_signed,T,::boost::detail::is_signed_imp<T>::value)\r
+#endif\r
+\r
+} // namespace boost\r
+\r
+#include <boost/type_traits/detail/bool_trait_undef.hpp>\r
+\r
+#endif // BOOST_TT_IS_MEMBER_FUNCTION_POINTER_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_stateless.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_stateless.hpp
new file mode 100644 (file)
index 0000000..daeee23
--- /dev/null
@@ -0,0 +1,48 @@
+\r
+//  (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.\r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+\r
+#ifndef BOOST_TT_IS_STATELESS_HPP_INCLUDED\r
+#define BOOST_TT_IS_STATELESS_HPP_INCLUDED\r
+\r
+#include <boost/type_traits/has_trivial_constructor.hpp>\r
+#include <boost/type_traits/has_trivial_copy.hpp>\r
+#include <boost/type_traits/has_trivial_destructor.hpp>\r
+#include <boost/type_traits/is_class.hpp>\r
+#include <boost/type_traits/is_empty.hpp>\r
+#include <boost/type_traits/detail/ice_and.hpp>\r
+#include <boost/config.hpp>\r
+\r
+// should be the last #include\r
+#include <boost/type_traits/detail/bool_trait_def.hpp>\r
+\r
+namespace boost {\r
+\r
+namespace detail {\r
+\r
+template <typename T>\r
+struct is_stateless_impl\r
+{\r
+  BOOST_STATIC_CONSTANT(bool, value = \r
+    (::boost::type_traits::ice_and<\r
+       ::boost::has_trivial_constructor<T>::value,\r
+       ::boost::has_trivial_copy<T>::value,\r
+       ::boost::has_trivial_destructor<T>::value,\r
+       ::boost::is_class<T>::value,\r
+       ::boost::is_empty<T>::value\r
+     >::value));\r
+};\r
+\r
+} // namespace detail\r
+\r
+BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_stateless,T,::boost::detail::is_stateless_impl<T>::value)\r
+\r
+} // namespace boost\r
+\r
+#include <boost/type_traits/detail/bool_trait_undef.hpp>\r
+\r
+#endif // BOOST_TT_IS_STATELESS_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_union.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_union.hpp
new file mode 100644 (file)
index 0000000..8ed5aa9
--- /dev/null
@@ -0,0 +1,49 @@
+\r
+//  (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, Howard\r
+//  Hinnant & John Maddock 2000.  \r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+\r
+\r
+#ifndef BOOST_TT_IS_UNION_HPP_INCLUDED\r
+#define BOOST_TT_IS_UNION_HPP_INCLUDED\r
+\r
+#include <boost/type_traits/remove_cv.hpp>\r
+#include <boost/type_traits/config.hpp>\r
+#include <boost/type_traits/intrinsics.hpp>\r
+\r
+// should be the last #include\r
+#include <boost/type_traits/detail/bool_trait_def.hpp>\r
+\r
+namespace boost {\r
+\r
+namespace detail {\r
+#ifndef __GNUC__\r
+template <typename T> struct is_union_impl\r
+{\r
+   typedef typename remove_cv<T>::type cvt;\r
+   BOOST_STATIC_CONSTANT(bool, value = BOOST_IS_UNION(cvt));\r
+};\r
+#else\r
+//\r
+// using remove_cv here generates a whole load of needless\r
+// warnings with gcc, since it doesn't do any good with gcc\r
+// in any case (at least at present), just remove it:\r
+//\r
+template <typename T> struct is_union_impl\r
+{\r
+   BOOST_STATIC_CONSTANT(bool, value = BOOST_IS_UNION(T));\r
+};\r
+#endif\r
+} // namespace detail\r
+\r
+BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_union,T,::boost::detail::is_union_impl<T>::value)\r
+\r
+} // namespace boost\r
+\r
+#include <boost/type_traits/detail/bool_trait_undef.hpp>\r
+\r
+#endif // BOOST_TT_IS_UNION_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_unsigned.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_unsigned.hpp
new file mode 100644 (file)
index 0000000..dc29113
--- /dev/null
@@ -0,0 +1,130 @@
+\r
+//  (C) Copyright John Maddock 2005.  \r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+\r
+\r
+#ifndef BOOST_TT_IS_UNSIGNED_HPP_INCLUDED\r
+#define BOOST_TT_IS_UNSIGNED_HPP_INCLUDED\r
+\r
+#include <boost/type_traits/is_integral.hpp>\r
+#include <boost/type_traits/is_enum.hpp>\r
+#include <boost/type_traits/remove_cv.hpp>\r
+#include <boost/type_traits/detail/ice_or.hpp>\r
+\r
+// should be the last #include\r
+#include <boost/type_traits/detail/bool_trait_def.hpp>\r
+\r
+namespace boost {\r
+\r
+#if !defined( __CODEGEARC__ )\r
+\r
+namespace detail{\r
+\r
+#if !(defined(__EDG_VERSION__) && __EDG_VERSION__ <= 238)\r
+\r
+template <class T>\r
+struct is_unsigned_values\r
+{\r
+   typedef typename remove_cv<T>::type no_cv_t;\r
+   BOOST_STATIC_CONSTANT(no_cv_t, minus_one = (static_cast<no_cv_t>(-1)));\r
+   BOOST_STATIC_CONSTANT(no_cv_t, zero = (static_cast<no_cv_t>(0)));\r
+};\r
+\r
+template <class T>\r
+struct is_ununsigned_helper\r
+{\r
+   BOOST_STATIC_CONSTANT(bool, value = (::boost::detail::is_unsigned_values<T>::minus_one > ::boost::detail::is_unsigned_values<T>::zero));\r
+};\r
+\r
+template <bool integral_type>\r
+struct is_ununsigned_select_helper\r
+{\r
+   template <class T>\r
+   struct rebind\r
+   {\r
+      typedef is_ununsigned_helper<T> type;\r
+   };\r
+};\r
+\r
+template <>\r
+struct is_ununsigned_select_helper<false>\r
+{\r
+   template <class T>\r
+   struct rebind\r
+   {\r
+      typedef false_type type;\r
+   };\r
+};\r
+\r
+template <class T>\r
+struct is_unsigned_imp\r
+{\r
+   typedef is_ununsigned_select_helper< \r
+      ::boost::type_traits::ice_or<\r
+         ::boost::is_integral<T>::value,\r
+         ::boost::is_enum<T>::value>::value \r
+   > selector;\r
+   typedef typename selector::template rebind<T> binder;\r
+   typedef typename binder::type type;\r
+   BOOST_STATIC_CONSTANT(bool, value = type::value);\r
+};\r
+\r
+#else\r
+\r
+template <class T> struct is_unsigned_imp : public false_type{};\r
+template <> struct is_unsigned_imp<unsigned char> : public true_type{};\r
+template <> struct is_unsigned_imp<const unsigned char> : public true_type{};\r
+template <> struct is_unsigned_imp<volatile unsigned char> : public true_type{};\r
+template <> struct is_unsigned_imp<const volatile unsigned char> : public true_type{};\r
+template <> struct is_unsigned_imp<unsigned short> : public true_type{};\r
+template <> struct is_unsigned_imp<const unsigned short> : public true_type{};\r
+template <> struct is_unsigned_imp<volatile unsigned short> : public true_type{};\r
+template <> struct is_unsigned_imp<const volatile unsigned short> : public true_type{};\r
+template <> struct is_unsigned_imp<unsigned int> : public true_type{};\r
+template <> struct is_unsigned_imp<const unsigned int> : public true_type{};\r
+template <> struct is_unsigned_imp<volatile unsigned int> : public true_type{};\r
+template <> struct is_unsigned_imp<const volatile unsigned int> : public true_type{};\r
+template <> struct is_unsigned_imp<unsigned long> : public true_type{};\r
+template <> struct is_unsigned_imp<const unsigned long> : public true_type{};\r
+template <> struct is_unsigned_imp<volatile unsigned long> : public true_type{};\r
+template <> struct is_unsigned_imp<const volatile unsigned long> : public true_type{};\r
+#ifdef BOOST_HAS_LONG_LONG\r
+template <> struct is_unsigned_imp<unsigned long long> : public true_type{};\r
+template <> struct is_unsigned_imp<const unsigned long long> : public true_type{};\r
+template <> struct is_unsigned_imp<volatile unsigned long long> : public true_type{};\r
+template <> struct is_unsigned_imp<const volatile unsigned long long> : public true_type{};\r
+#endif\r
+#if defined(CHAR_MIN) && (CHAR_MIN == 0)\r
+template <> struct is_unsigned_imp<char> : public true_type{};\r
+template <> struct is_unsigned_imp<const char> : public true_type{};\r
+template <> struct is_unsigned_imp<volatile char> : public true_type{};\r
+template <> struct is_unsigned_imp<const volatile char> : public true_type{};\r
+#endif\r
+#if defined(WCHAR_MIN) && (WCHAR_MIN == 0)\r
+template <> struct is_unsigned_imp<wchar_t> : public true_type{};\r
+template <> struct is_unsigned_imp<const wchar_t> : public true_type{};\r
+template <> struct is_unsigned_imp<volatile wchar_t> : public true_type{};\r
+template <> struct is_unsigned_imp<const volatile wchar_t> : public true_type{};\r
+#endif\r
+\r
+#endif\r
+\r
+}\r
+\r
+#endif // !defined( __CODEGEARC__ )\r
+\r
+#if defined( __CODEGEARC__ )\r
+BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_unsigned,T,__is_unsigned(T))\r
+#else\r
+BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_unsigned,T,::boost::detail::is_unsigned_imp<T>::value)\r
+#endif\r
+\r
+} // namespace boost\r
+\r
+#include <boost/type_traits/detail/bool_trait_undef.hpp>\r
+\r
+#endif // BOOST_TT_IS_MEMBER_FUNCTION_POINTER_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_virtual_base_of.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_virtual_base_of.hpp
new file mode 100644 (file)
index 0000000..006e1c6
--- /dev/null
@@ -0,0 +1,104 @@
+//  (C) Copyright Daniel Frey and Robert Ramey 2009.\r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
\r
+#ifndef BOOST_TT_IS_VIRTUAL_BASE_OF_HPP_INCLUDED\r
+#define BOOST_TT_IS_VIRTUAL_BASE_OF_HPP_INCLUDED\r
+\r
+#include <boost/type_traits/is_base_of.hpp>\r
+#include <boost/type_traits/is_same.hpp>\r
+#include <boost/mpl/and.hpp>\r
+#include <boost/mpl/not.hpp>\r
+\r
+// should be the last #include\r
+#include <boost/type_traits/detail/bool_trait_def.hpp>\r
+\r
+namespace boost {\r
+namespace detail {\r
+\r
+\r
+#ifdef BOOST_MSVC\r
+#pragma warning( push )\r
+#pragma warning( disable : 4584 )\r
+#elif defined __GNUC__\r
+#pragma GCC system_header\r
+#endif\r
+\r
+template<typename Base, typename Derived, typename tag>\r
+struct is_virtual_base_of_impl\r
+{\r
+    BOOST_STATIC_CONSTANT(bool, value = false);\r
+};\r
+\r
+template<typename Base, typename Derived>\r
+struct is_virtual_base_of_impl<Base, Derived, mpl::true_>\r
+{\r
+#ifdef __BORLANDC__\r
+    struct X : public virtual Derived, public virtual Base \r
+    {\r
+       X();\r
+       X(const X&);\r
+       X& operator=(const X&);\r
+       ~X()throw();\r
+    };\r
+    struct Y : public virtual Derived \r
+    {\r
+       Y();\r
+       Y(const Y&);\r
+       Y& operator=(const Y&);\r
+       ~Y()throw();\r
+    };\r
+#else\r
+    struct X : Derived, virtual Base \r
+    {\r
+       X();\r
+       X(const X&);\r
+       X& operator=(const X&);\r
+       ~X()throw();\r
+    };\r
+    struct Y : Derived \r
+    {\r
+       Y();\r
+       Y(const Y&);\r
+       Y& operator=(const Y&);\r
+       ~Y()throw();\r
+    };\r
+#endif\r
+    BOOST_STATIC_CONSTANT(bool, value = (sizeof(X)==sizeof(Y)));\r
+};\r
+\r
+template<typename Base, typename Derived>\r
+struct is_virtual_base_of_impl2\r
+{\r
+   typedef typename mpl::and_<is_base_of<Base, Derived>, mpl::not_<is_same<Base, Derived> > >::type tag_type;\r
+   typedef is_virtual_base_of_impl<Base, Derived, tag_type> imp;\r
+   BOOST_STATIC_CONSTANT(bool, value = imp::value);\r
+};\r
+\r
+#ifdef BOOST_MSVC\r
+#pragma warning( pop )\r
+#endif\r
+\r
+} // namespace detail\r
+\r
+BOOST_TT_AUX_BOOL_TRAIT_DEF2(\r
+      is_virtual_base_of\r
+       , Base\r
+       , Derived\r
+       , (::boost::detail::is_virtual_base_of_impl2<Base,Derived>::value) \r
+)\r
+\r
+#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(typename Base,typename Derived,is_virtual_base_of,Base&,Derived,false)\r
+BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(typename Base,typename Derived,is_virtual_base_of,Base,Derived&,false)\r
+BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(typename Base,typename Derived,is_virtual_base_of,Base&,Derived&,false)\r
+#endif\r
+\r
+} // namespace boost\r
+\r
+#include <boost/type_traits/detail/bool_trait_undef.hpp>\r
+\r
+#endif\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_void.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_void.hpp
new file mode 100644 (file)
index 0000000..007ad5d
--- /dev/null
@@ -0,0 +1,38 @@
+\r
+//  (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.\r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+\r
+#ifndef BOOST_TT_IS_VOID_HPP_INCLUDED\r
+#define BOOST_TT_IS_VOID_HPP_INCLUDED\r
+\r
+#include <boost/config.hpp>\r
+\r
+// should be the last #include\r
+#include <boost/type_traits/detail/bool_trait_def.hpp>\r
+\r
+namespace boost {\r
+\r
+//* is a type T void - is_void<T>\r
+#if defined( __CODEGEARC__ )\r
+BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_void,T,__is_void(T))\r
+#else\r
+BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_void,T,false)\r
+BOOST_TT_AUX_BOOL_TRAIT_SPEC1(is_void,void,true)\r
+\r
+#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS\r
+BOOST_TT_AUX_BOOL_TRAIT_SPEC1(is_void,void const,true)\r
+BOOST_TT_AUX_BOOL_TRAIT_SPEC1(is_void,void volatile,true)\r
+BOOST_TT_AUX_BOOL_TRAIT_SPEC1(is_void,void const volatile,true)\r
+#endif\r
+\r
+#endif  // non-CodeGear implementation\r
+\r
+} // namespace boost\r
+\r
+#include <boost/type_traits/detail/bool_trait_undef.hpp>\r
+\r
+#endif // BOOST_TT_IS_VOID_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_volatile.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_volatile.hpp
new file mode 100644 (file)
index 0000000..1cf3914
--- /dev/null
@@ -0,0 +1,133 @@
+\r
+//  (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, \r
+//      Howard Hinnant and John Maddock 2000. \r
+//  (C) Copyright Mat Marcus, Jesse Jones and Adobe Systems Inc 2001\r
+\r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+\r
+//    Fixed is_pointer, is_reference, is_const, is_volatile, is_same, \r
+//    is_member_pointer based on the Simulated Partial Specialization work \r
+//    of Mat Marcus and Jesse Jones. See  http://opensource.adobe.com or \r
+//    http://groups.yahoo.com/group/boost/message/5441 \r
+//    Some workarounds in here use ideas suggested from "Generic<Programming>: \r
+//    Mappings between Types and Values" \r
+//    by Andrei Alexandrescu (see http://www.cuj.com/experts/1810/alexandr.html).\r
+\r
+\r
+#ifndef BOOST_TT_IS_VOLATILE_HPP_INCLUDED\r
+#define BOOST_TT_IS_VOLATILE_HPP_INCLUDED\r
+\r
+#include <boost/config.hpp>\r
+#include <boost/detail/workaround.hpp>\r
+\r
+#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+#   include <boost/type_traits/detail/cv_traits_impl.hpp>\r
+#   if BOOST_WORKAROUND(BOOST_MSVC, < 1400)\r
+#       include <boost/type_traits/remove_bounds.hpp>\r
+#   endif\r
+#else\r
+#   include <boost/type_traits/is_reference.hpp>\r
+#   include <boost/type_traits/is_array.hpp>\r
+#   include <boost/type_traits/detail/yes_no_type.hpp>\r
+#   include <boost/type_traits/detail/false_result.hpp>\r
+#endif\r
+\r
+// should be the last #include\r
+#include <boost/type_traits/detail/bool_trait_def.hpp>\r
+\r
+namespace boost {\r
+\r
+#if defined( __CODEGEARC__ )\r
+BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_volatile,T,__is_volatile(T))\r
+#elif !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)\r
+\r
+//* is a type T declared volatile - is_volatile<T>\r
+#if BOOST_WORKAROUND(BOOST_MSVC, < 1400)\r
+   BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_volatile,T,::boost::detail::cv_traits_imp<typename boost::remove_bounds<T>::type*>::is_volatile)\r
+#else\r
+   BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_volatile,T,::boost::detail::cv_traits_imp<T*>::is_volatile)\r
+#endif\r
+BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_volatile,T&,false)\r
+\r
+#if  defined(BOOST_ILLEGAL_CV_REFERENCES)\r
+// these are illegal specialisations; cv-qualifies applied to\r
+// references have no effect according to [8.3.2p1],\r
+// C++ Builder requires them though as it treats cv-qualified\r
+// references as distinct types...\r
+BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_volatile,T& const,false)\r
+BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_volatile,T& volatile,false)\r
+BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_volatile,T& const volatile,false)\r
+#endif\r
+\r
+#else\r
+\r
+namespace detail {\r
+\r
+using ::boost::type_traits::yes_type;\r
+using ::boost::type_traits::no_type;\r
+\r
+yes_type is_volatile_tester(void const volatile*);\r
+no_type is_volatile_tester(void const*);\r
+\r
+template <bool is_ref, bool array>\r
+struct is_volatile_helper\r
+    : ::boost::type_traits::false_result\r
+{\r
+};\r
+\r
+template <>\r
+struct is_volatile_helper<false,false>\r
+{\r
+    template <typename T> struct result_\r
+    {\r
+        static T* t;\r
+        BOOST_STATIC_CONSTANT(bool, value = (\r
+            sizeof(detail::yes_type) == sizeof(detail::is_volatile_tester(t))\r
+            ));\r
+    };\r
+};\r
+\r
+template <>\r
+struct is_volatile_helper<false,true>\r
+{\r
+    template <typename T> struct result_\r
+    {\r
+        static T t;\r
+        BOOST_STATIC_CONSTANT(bool, value = (\r
+            sizeof(detail::yes_type) == sizeof(detail::is_volatile_tester(&t))\r
+            ));\r
+    };\r
+};\r
+\r
+template <typename T>\r
+struct is_volatile_impl\r
+    : is_volatile_helper<\r
+          is_reference<T>::value\r
+        , is_array<T>::value\r
+        >::template result_<T>\r
+{\r
+};\r
+\r
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_volatile,void,false)\r
+#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS\r
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_volatile,void const,false)\r
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_volatile,void volatile,true)\r
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_volatile,void const volatile,true)\r
+#endif\r
+\r
+} // namespace detail\r
+\r
+//* is a type T declared volatile - is_volatile<T>\r
+BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_volatile,T,::boost::detail::is_volatile_impl<T>::value)\r
+\r
+#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+\r
+} // namespace boost\r
+\r
+#include <boost/type_traits/detail/bool_trait_undef.hpp>\r
+\r
+#endif // BOOST_TT_IS_VOLATILE_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/make_signed.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/make_signed.hpp
new file mode 100644 (file)
index 0000000..2c94a6b
--- /dev/null
@@ -0,0 +1,137 @@
+\r
+//  (C) Copyright John Maddock 2007.\r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+\r
+#ifndef BOOST_TT_MAKE_SIGNED_HPP_INCLUDED\r
+#define BOOST_TT_MAKE_SIGNED_HPP_INCLUDED\r
+\r
+#include <boost/mpl/if.hpp>\r
+#include <boost/type_traits/is_integral.hpp>\r
+#include <boost/type_traits/is_signed.hpp>\r
+#include <boost/type_traits/is_unsigned.hpp>\r
+#include <boost/type_traits/is_enum.hpp>\r
+#include <boost/type_traits/is_same.hpp>\r
+#include <boost/type_traits/remove_cv.hpp>\r
+#include <boost/type_traits/is_const.hpp>\r
+#include <boost/type_traits/is_volatile.hpp>\r
+#include <boost/type_traits/add_const.hpp>\r
+#include <boost/type_traits/add_volatile.hpp>\r
+#include <boost/type_traits/detail/ice_or.hpp>\r
+#include <boost/type_traits/detail/ice_and.hpp>\r
+#include <boost/type_traits/detail/ice_not.hpp>\r
+#include <boost/static_assert.hpp>\r
+\r
+// should be the last #include\r
+#include <boost/type_traits/detail/type_trait_def.hpp>\r
+\r
+namespace boost {\r
+\r
+namespace detail {\r
+\r
+template <class T>\r
+struct make_signed_imp\r
+{\r
+   BOOST_STATIC_ASSERT(\r
+      (::boost::type_traits::ice_or< ::boost::is_integral<T>::value, ::boost::is_enum<T>::value>::value));\r
+#if !BOOST_WORKAROUND(BOOST_MSVC, <=1300)\r
+   BOOST_STATIC_ASSERT(\r
+      (::boost::type_traits::ice_not< ::boost::is_same<\r
+         typename remove_cv<T>::type, bool>::value>::value));\r
+#endif\r
+\r
+   typedef typename remove_cv<T>::type t_no_cv;\r
+   typedef typename mpl::if_c<\r
+      (::boost::type_traits::ice_and< \r
+         ::boost::is_signed<T>::value,\r
+         ::boost::is_integral<T>::value,\r
+         ::boost::type_traits::ice_not< ::boost::is_same<t_no_cv, char>::value>::value,\r
+         ::boost::type_traits::ice_not< ::boost::is_same<t_no_cv, wchar_t>::value>::value,\r
+         ::boost::type_traits::ice_not< ::boost::is_same<t_no_cv, bool>::value>::value >::value),\r
+      T,\r
+      typename mpl::if_c<\r
+         (::boost::type_traits::ice_and< \r
+            ::boost::is_integral<T>::value,\r
+            ::boost::type_traits::ice_not< ::boost::is_same<t_no_cv, char>::value>::value,\r
+            ::boost::type_traits::ice_not< ::boost::is_same<t_no_cv, wchar_t>::value>::value,\r
+            ::boost::type_traits::ice_not< ::boost::is_same<t_no_cv, bool>::value>::value>\r
+         ::value),\r
+         typename mpl::if_<\r
+            is_same<t_no_cv, unsigned char>,\r
+            signed char,\r
+            typename mpl::if_<\r
+               is_same<t_no_cv, unsigned short>,\r
+               signed short,\r
+               typename mpl::if_<\r
+                  is_same<t_no_cv, unsigned int>,\r
+                  int,\r
+                  typename mpl::if_<\r
+                     is_same<t_no_cv, unsigned long>,\r
+                     long,\r
+#if defined(BOOST_HAS_LONG_LONG)\r
+                     boost::long_long_type\r
+#elif defined(BOOST_HAS_MS_INT64)\r
+                     __int64\r
+#else\r
+                     long\r
+#endif\r
+                  >::type\r
+               >::type\r
+            >::type\r
+         >::type,\r
+         // Not a regular integer type:\r
+         typename mpl::if_c<\r
+            sizeof(t_no_cv) == sizeof(unsigned char),\r
+            signed char,\r
+            typename mpl::if_c<\r
+               sizeof(t_no_cv) == sizeof(unsigned short),\r
+               signed short,\r
+               typename mpl::if_c<\r
+                  sizeof(t_no_cv) == sizeof(unsigned int),\r
+                  int,\r
+                  typename mpl::if_c<\r
+                     sizeof(t_no_cv) == sizeof(unsigned long),\r
+                     long,\r
+#if defined(BOOST_HAS_LONG_LONG)\r
+                     boost::long_long_type\r
+#elif defined(BOOST_HAS_MS_INT64)\r
+                     __int64\r
+#else\r
+                     long\r
+#endif\r
+                  >::type\r
+               >::type\r
+            >::type\r
+         >::type\r
+      >::type\r
+   >::type base_integer_type;\r
+   \r
+   // Add back any const qualifier:\r
+   typedef typename mpl::if_<\r
+      is_const<T>,\r
+      typename add_const<base_integer_type>::type,\r
+      base_integer_type\r
+   >::type const_base_integer_type;\r
+   \r
+   // Add back any volatile qualifier:\r
+   typedef typename mpl::if_<\r
+      is_volatile<T>,\r
+      typename add_volatile<const_base_integer_type>::type,\r
+      const_base_integer_type\r
+   >::type type;\r
+};\r
+\r
+\r
+} // namespace detail\r
+\r
+BOOST_TT_AUX_TYPE_TRAIT_DEF1(make_signed,T,typename boost::detail::make_signed_imp<T>::type)\r
+\r
+} // namespace boost\r
+\r
+#include <boost/type_traits/detail/type_trait_undef.hpp>\r
+\r
+#endif // BOOST_TT_ADD_REFERENCE_HPP_INCLUDED\r
+\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/make_unsigned.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/make_unsigned.hpp
new file mode 100644 (file)
index 0000000..cd7582b
--- /dev/null
@@ -0,0 +1,137 @@
+\r
+//  (C) Copyright John Maddock 2007.\r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+\r
+#ifndef BOOST_TT_MAKE_UNSIGNED_HPP_INCLUDED\r
+#define BOOST_TT_MAKE_UNSIGNED_HPP_INCLUDED\r
+\r
+#include <boost/mpl/if.hpp>\r
+#include <boost/type_traits/is_integral.hpp>\r
+#include <boost/type_traits/is_signed.hpp>\r
+#include <boost/type_traits/is_unsigned.hpp>\r
+#include <boost/type_traits/is_enum.hpp>\r
+#include <boost/type_traits/is_same.hpp>\r
+#include <boost/type_traits/remove_cv.hpp>\r
+#include <boost/type_traits/is_const.hpp>\r
+#include <boost/type_traits/is_volatile.hpp>\r
+#include <boost/type_traits/add_const.hpp>\r
+#include <boost/type_traits/add_volatile.hpp>\r
+#include <boost/type_traits/detail/ice_or.hpp>\r
+#include <boost/type_traits/detail/ice_and.hpp>\r
+#include <boost/type_traits/detail/ice_not.hpp>\r
+#include <boost/static_assert.hpp>\r
+\r
+// should be the last #include\r
+#include <boost/type_traits/detail/type_trait_def.hpp>\r
+\r
+namespace boost {\r
+\r
+namespace detail {\r
+\r
+template <class T>\r
+struct make_unsigned_imp\r
+{\r
+   BOOST_STATIC_ASSERT(\r
+      (::boost::type_traits::ice_or< ::boost::is_integral<T>::value, ::boost::is_enum<T>::value>::value));\r
+#if !BOOST_WORKAROUND(BOOST_MSVC, <=1300)\r
+   BOOST_STATIC_ASSERT(\r
+      (::boost::type_traits::ice_not< ::boost::is_same<\r
+         typename remove_cv<T>::type, bool>::value>::value));\r
+#endif\r
+\r
+   typedef typename remove_cv<T>::type t_no_cv;\r
+   typedef typename mpl::if_c<\r
+      (::boost::type_traits::ice_and< \r
+         ::boost::is_unsigned<T>::value,\r
+         ::boost::is_integral<T>::value,\r
+         ::boost::type_traits::ice_not< ::boost::is_same<t_no_cv, char>::value>::value,\r
+         ::boost::type_traits::ice_not< ::boost::is_same<t_no_cv, wchar_t>::value>::value,\r
+         ::boost::type_traits::ice_not< ::boost::is_same<t_no_cv, bool>::value>::value >::value),\r
+      T,\r
+      typename mpl::if_c<\r
+         (::boost::type_traits::ice_and< \r
+            ::boost::is_integral<T>::value,\r
+            ::boost::type_traits::ice_not< ::boost::is_same<t_no_cv, char>::value>::value,\r
+            ::boost::type_traits::ice_not< ::boost::is_same<t_no_cv, wchar_t>::value>::value,\r
+            ::boost::type_traits::ice_not< ::boost::is_same<t_no_cv, bool>::value>::value>\r
+         ::value),\r
+         typename mpl::if_<\r
+            is_same<t_no_cv, signed char>,\r
+            unsigned char,\r
+            typename mpl::if_<\r
+               is_same<t_no_cv, short>,\r
+               unsigned short,\r
+               typename mpl::if_<\r
+                  is_same<t_no_cv, int>,\r
+                  unsigned int,\r
+                  typename mpl::if_<\r
+                     is_same<t_no_cv, long>,\r
+                     unsigned long,\r
+#if defined(BOOST_HAS_LONG_LONG)\r
+                     boost::ulong_long_type\r
+#elif defined(BOOST_HAS_MS_INT64)\r
+                     unsigned __int64\r
+#else\r
+                     unsigned long\r
+#endif\r
+                  >::type\r
+               >::type\r
+            >::type\r
+         >::type,\r
+         // Not a regular integer type:\r
+         typename mpl::if_c<\r
+            sizeof(t_no_cv) == sizeof(unsigned char),\r
+            unsigned char,\r
+            typename mpl::if_c<\r
+               sizeof(t_no_cv) == sizeof(unsigned short),\r
+               unsigned short,\r
+               typename mpl::if_c<\r
+                  sizeof(t_no_cv) == sizeof(unsigned int),\r
+                  unsigned int,\r
+                  typename mpl::if_c<\r
+                     sizeof(t_no_cv) == sizeof(unsigned long),\r
+                     unsigned long,\r
+#if defined(BOOST_HAS_LONG_LONG)\r
+                     boost::ulong_long_type\r
+#elif defined(BOOST_HAS_MS_INT64)\r
+                     unsigned __int64\r
+#else\r
+                     unsigned long\r
+#endif\r
+                  >::type\r
+               >::type\r
+            >::type\r
+         >::type\r
+      >::type\r
+   >::type base_integer_type;\r
+   \r
+   // Add back any const qualifier:\r
+   typedef typename mpl::if_<\r
+      is_const<T>,\r
+      typename add_const<base_integer_type>::type,\r
+      base_integer_type\r
+   >::type const_base_integer_type;\r
+   \r
+   // Add back any volatile qualifier:\r
+   typedef typename mpl::if_<\r
+      is_volatile<T>,\r
+      typename add_volatile<const_base_integer_type>::type,\r
+      const_base_integer_type\r
+   >::type type;\r
+};\r
+\r
+\r
+} // namespace detail\r
+\r
+BOOST_TT_AUX_TYPE_TRAIT_DEF1(make_unsigned,T,typename boost::detail::make_unsigned_imp<T>::type)\r
+\r
+} // namespace boost\r
+\r
+#include <boost/type_traits/detail/type_trait_undef.hpp>\r
+\r
+#endif // BOOST_TT_ADD_REFERENCE_HPP_INCLUDED\r
+\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/msvc/remove_all_extents.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/msvc/remove_all_extents.hpp
new file mode 100644 (file)
index 0000000..aa0b09a
--- /dev/null
@@ -0,0 +1,47 @@
+// Copyright (C) 2004 Peder Holt\r
+// Use, modification and distribution is subject to the Boost Software\r
+// License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+#ifndef BOOST_TYPE_TRAITS_MSVC_REMOVE_ALL_EXTENT_HOLT_2004_0827\r
+#define BOOST_TYPE_TRAITS_MSVC_REMOVE_ALL_EXTENT_HOLT_2004_0827\r
+\r
+#include <boost/type_traits/msvc/typeof.hpp>\r
+#include <boost/type_traits/is_array.hpp>\r
+\r
+namespace boost {\r
+    template<typename T>\r
+    struct remove_all_extents;\r
+\r
+    namespace detail {\r
+        template<bool IsArray>\r
+        struct remove_all_extents_impl_typeof {\r
+            template<typename T,typename ID>\r
+            struct inner {\r
+                typedef T type;\r
+            };\r
+        };\r
+        template<>\r
+        struct remove_all_extents_impl_typeof<true> {\r
+            template<typename T,typename ID>\r
+            struct inner {\r
+                template<typename U>\r
+                static msvc_register_type<U,ID> test(U[]);\r
+                static msvc_register_type<T,ID> test(...);\r
+                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( *((T*)NULL) ) ));\r
+                typedef typename msvc_extract_type<ID>::id2type::type reduced_type;\r
+                typedef typename remove_all_extents<reduced_type>::type type;\r
+            };\r
+        };\r
+    } //namespace detail\r
+\r
+    template<typename T>\r
+    struct remove_all_extents {\r
+        typedef typename detail::remove_all_extents_impl_typeof<\r
+            boost::is_array<T>::value                \r
+        >::template inner<T,remove_all_extents<T> >::type type;\r
+        BOOST_MPL_AUX_LAMBDA_SUPPORT(1,remove_all_extents,T)\r
+    };\r
+} //namespace boost\r
+\r
+#endif //BOOST_TYPE_TRAITS_MSVC_REMOVE_BOUNDS_HOLT_2004_0827\r
+\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/msvc/remove_bounds.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/msvc/remove_bounds.hpp
new file mode 100644 (file)
index 0000000..d097119
--- /dev/null
@@ -0,0 +1,43 @@
+// Copyright (C) 2004 Peder Holt\r
+// Use, modification and distribution is subject to the Boost Software\r
+// License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+#ifndef BOOST_TYPE_TRAITS_MSVC_REMOVE_BOUNDS_HOLT_2004_0827\r
+#define BOOST_TYPE_TRAITS_MSVC_REMOVE_BOUNDS_HOLT_2004_0827\r
+\r
+#include <boost/type_traits/msvc/typeof.hpp>\r
+#include <boost/type_traits/is_array.hpp>\r
+\r
+namespace boost {\r
+    namespace detail {\r
+        template<bool IsArray>\r
+        struct remove_bounds_impl_typeof {\r
+            template<typename T,typename ID>\r
+            struct inner {\r
+                typedef T type;\r
+            };\r
+        };\r
+        template<>\r
+        struct remove_bounds_impl_typeof<true> {\r
+            template<typename T,typename ID>\r
+            struct inner {\r
+                template<typename U>\r
+                static msvc_register_type<U,ID> test(U[]);\r
+                static msvc_register_type<T,ID> test(...);\r
+                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( *((T*)NULL) ) ));\r
+                typedef typename msvc_extract_type<ID>::id2type::type type;\r
+            };\r
+        };\r
+    } //namespace detail\r
+\r
+    template<typename T>\r
+    struct remove_bounds {\r
+        typedef typename detail::remove_bounds_impl_typeof<\r
+            boost::is_array<T>::value                \r
+        >::template inner<T,remove_bounds<T> >::type type;\r
+        BOOST_MPL_AUX_LAMBDA_SUPPORT(1,remove_bounds,T)\r
+    };\r
+} //namespace boost\r
+\r
+#endif //BOOST_TYPE_TRAITS_MSVC_REMOVE_BOUNDS_HOLT_2004_0827\r
+\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/msvc/remove_const.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/msvc/remove_const.hpp
new file mode 100644 (file)
index 0000000..47136cc
--- /dev/null
@@ -0,0 +1,143 @@
+// Copyright (C) 2004 Peder Holt\r
+// Use, modification and distribution is subject to the Boost Software\r
+// License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+#ifndef BOOST_TYPE_TRAITS_MSVC_REMOVE_CONST_HOLT_2004_0828\r
+#define BOOST_TYPE_TRAITS_MSVC_REMOVE_CONST_HOLT_2004_0828\r
+\r
+#include <boost/type_traits/msvc/typeof.hpp>\r
+#include <boost/type_traits/is_volatile.hpp>\r
+#include <boost/type_traits/is_const.hpp>\r
+#include <boost/type_traits/is_pointer.hpp>\r
+#include <boost/type_traits/is_array.hpp>\r
+\r
+namespace boost {\r
+    namespace detail {\r
+        template<bool IsPointer,bool IsArray,bool IsConst,bool IsVolatile>\r
+        struct remove_const_impl_typeof {\r
+            template<typename T,typename ID>\r
+            struct inner {\r
+                typedef T type;\r
+            };\r
+            template<typename T>\r
+            struct transform_type {\r
+                typedef T type;\r
+            };\r
+        };\r
+        template<> //Const\r
+        struct remove_const_impl_typeof<false,false,true,false> {\r
+            template<typename T,typename ID>\r
+            struct inner {\r
+                template<typename U>\r
+                static msvc_register_type<U,ID> test(U const&(*)());\r
+                static msvc_register_type<T,ID> test(...);\r
+                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (T(*)())(NULL) ) ));\r
+                typedef typename msvc_extract_type<ID>::id2type::type type;\r
+            };\r
+            template<typename T>\r
+            struct transform_type {\r
+                typedef T& type;\r
+            };\r
+        };\r
+        template<> //CV\r
+        struct remove_const_impl_typeof<false,false,true,true> {\r
+            template<typename T,typename ID>\r
+            struct inner {\r
+                template<typename U>\r
+                static msvc_register_type<U volatile,ID> test(U const volatile&(*)());\r
+                static msvc_register_type<T,ID> test(...);\r
+                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (T(*)())(NULL) ) ));\r
+                typedef typename msvc_extract_type<ID>::id2type::type type;\r
+            };\r
+            template<typename T>\r
+            struct transform_type {\r
+                typedef T& type;\r
+            };\r
+        };\r
+        template<> //Const Pointer\r
+        struct remove_const_impl_typeof<true,false,true,false> {\r
+            template<typename T,typename ID>\r
+            struct inner {\r
+                template<typename U>\r
+                static msvc_register_type<U,ID> test(void(*)(U const[]));\r
+                static msvc_register_type<T,ID> test(...);\r
+                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));\r
+                typedef typename msvc_extract_type<ID>::id2type::type type;\r
+            };\r
+            template<typename T>\r
+            struct transform_type {\r
+                typedef T type[];\r
+            };\r
+        };\r
+        template<> //CV Pointer\r
+        struct remove_const_impl_typeof<true,false,true,true> {\r
+            template<typename T,typename ID>\r
+            struct inner {\r
+                template<typename U>\r
+                static msvc_register_type<U volatile,ID> test(void(*)(U const volatile[]));\r
+                static msvc_register_type<T,ID> test(...);\r
+                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));\r
+                typedef typename msvc_extract_type<ID>::id2type::type type;\r
+            };\r
+            template<typename T>\r
+            struct transform_type {\r
+                typedef T type[];\r
+            };\r
+        };        \r
+        template<> //Const Array\r
+        struct remove_const_impl_typeof<false,true,true,false> {\r
+            template<typename T,typename ID>\r
+            struct inner {\r
+                BOOST_STATIC_CONSTANT(unsigned,value=(sizeof(T)/sizeof((*((T*)NULL))[0])));\r
+\r
+                template<typename U>\r
+                static msvc_register_type<U[value],ID> test(void(*)(U const[]));\r
+                static msvc_register_type<T,ID> test(...);\r
+                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));\r
+                typedef typename msvc_extract_type<ID>::id2type::type type;\r
+            };\r
+            template<typename T>\r
+            struct transform_type {\r
+                typedef T type;\r
+            };\r
+        };\r
+\r
+        template<> //CV Array\r
+        struct remove_const_impl_typeof<false,true,true,true> {\r
+            template<typename T,typename ID>\r
+            struct inner {\r
+                BOOST_STATIC_CONSTANT(unsigned,value=(sizeof(T)/sizeof((*((T*)NULL))[0])));\r
+\r
+                template<typename U>\r
+                static msvc_register_type<U volatile[value],ID> test(void(*)(U const volatile[]));\r
+                static msvc_register_type<T,ID> test(...);\r
+                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));\r
+                typedef typename msvc_extract_type<ID>::id2type::type type;\r
+            };\r
+            template<typename T>\r
+            struct transform_type {\r
+                typedef T type;\r
+            };\r
+        };\r
+\r
+    } //namespace detail\r
+\r
+    template<typename T>\r
+    struct remove_const {\r
+        typedef detail::remove_const_impl_typeof<\r
+            boost::is_pointer<T>::value,\r
+            boost::is_array<T>::value,\r
+            boost::is_const<T>::value,\r
+            boost::is_volatile<T>::value\r
+        > remove_const_type;\r
+        typedef typename \r
+            remove_const_type::template inner<\r
+                typename remove_const_type::template transform_type<T>::type,\r
+                remove_const<T>\r
+            >::type\r
+        type;\r
+        BOOST_MPL_AUX_LAMBDA_SUPPORT(1,remove_const,T)\r
+    };\r
+}//namespace boost\r
+\r
+#endif //BOOST_TYPE_TRAITS_MSVC_REMOVE_CONST_HOLT_2004_0828\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/msvc/remove_cv.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/msvc/remove_cv.hpp
new file mode 100644 (file)
index 0000000..b2ca9d1
--- /dev/null
@@ -0,0 +1,190 @@
+// Copyright (C) 2004 Peder Holt\r
+// Use, modification and distribution is subject to the Boost Software\r
+// License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+#ifndef BOOST_TYPE_TRAITS_MSVC_REMOVE_CV_HOLT_2004_0901\r
+#define BOOST_TYPE_TRAITS_MSVC_REMOVE_CV_HOLT_2004_0901\r
+\r
+#include <boost/type_traits/msvc/typeof.hpp>\r
+#include <boost/type_traits/is_volatile.hpp>\r
+#include <boost/type_traits/is_const.hpp>\r
+#include <boost/type_traits/is_pointer.hpp>\r
+#include <boost/type_traits/is_array.hpp>\r
+\r
+namespace boost {\r
+    namespace detail {\r
+        template<bool IsPointer,bool IsArray,bool IsConst,bool IsVolatile>\r
+        struct remove_cv_impl_typeof {\r
+            template<typename T,typename ID>\r
+            struct inner {\r
+                typedef T type;\r
+            };\r
+            template<typename T>\r
+            struct transform_type {\r
+                typedef T type;\r
+            };\r
+        };\r
+        template<> //Volatile\r
+        struct remove_cv_impl_typeof<false,false,false,true> {\r
+            template<typename T,typename ID>\r
+            struct inner {\r
+                template<typename U>\r
+                static msvc_register_type<U,ID> test(U volatile&(*)());\r
+                static msvc_register_type<T,ID> test(...);\r
+                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (T(*)())(NULL) ) ));\r
+                typedef typename msvc_extract_type<ID>::id2type::type type;\r
+            };\r
+            template<typename T>\r
+            struct transform_type {\r
+                typedef T& type;\r
+            };\r
+        };\r
+        template<> //Const\r
+        struct remove_cv_impl_typeof<false,false,true,false> {\r
+            template<typename T,typename ID>\r
+            struct inner {\r
+                template<typename U>\r
+                static msvc_register_type<U,ID> test(U const&(*)());\r
+                static msvc_register_type<T,ID> test(...);\r
+                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (T(*)())(NULL) ) ));\r
+                typedef typename msvc_extract_type<ID>::id2type::type type;\r
+            };\r
+            template<typename T>\r
+            struct transform_type {\r
+                typedef T& type;\r
+            };\r
+        };\r
+        template<> //CV\r
+        struct remove_cv_impl_typeof<false,false,true,true> {\r
+            template<typename T,typename ID>\r
+            struct inner {\r
+                template<typename U>\r
+                static msvc_register_type<U,ID> test(U const volatile&(*)());\r
+                static msvc_register_type<T,ID> test(...);\r
+                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (T(*)())(NULL) ) ));\r
+                typedef typename msvc_extract_type<ID>::id2type::type type;\r
+            };\r
+            template<typename T>\r
+            struct transform_type {\r
+                typedef T& type;\r
+            };\r
+        };\r
+        template<> //Volatile Pointer\r
+        struct remove_cv_impl_typeof<true,false,false,true> {\r
+            template<typename T,typename ID>\r
+            struct inner {\r
+                template<typename U>\r
+                static msvc_register_type<U,ID> test(void(*)(U volatile[]));\r
+                static msvc_register_type<T,ID> test(...);\r
+                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));\r
+                typedef typename msvc_extract_type<ID>::id2type::type type;\r
+            };\r
+            template<typename T>\r
+            struct transform_type {\r
+                typedef T type[];\r
+            };\r
+        };\r
+        template<> //Const Pointer\r
+        struct remove_cv_impl_typeof<true,false,true,false> {\r
+            template<typename T,typename ID>\r
+            struct inner {\r
+                template<typename U>\r
+                static msvc_register_type<U,ID> test(void(*)(U const[]));\r
+                static msvc_register_type<T,ID> test(...);\r
+                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));\r
+                typedef typename msvc_extract_type<ID>::id2type::type type;\r
+            };\r
+            template<typename T>\r
+            struct transform_type {\r
+                typedef T type[];\r
+            };\r
+        };\r
+        template<> //CV Pointer\r
+        struct remove_cv_impl_typeof<true,false,true,true> {\r
+            template<typename T,typename ID>\r
+            struct inner {\r
+                template<typename U>\r
+                static msvc_register_type<U,ID> test(void(*)(U const volatile[]));\r
+                static msvc_register_type<T,ID> test(...);\r
+                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));\r
+                typedef typename msvc_extract_type<ID>::id2type::type type;\r
+            };\r
+            template<typename T>\r
+            struct transform_type {\r
+                typedef T type[];\r
+            };\r
+        };        \r
+        template<> //Volatile Array\r
+        struct remove_cv_impl_typeof<false,true,false,true> {\r
+            template<typename T,typename ID>\r
+            struct inner {\r
+                BOOST_STATIC_CONSTANT(unsigned,value=(sizeof(T)/sizeof((*((T*)NULL))[0])));\r
+\r
+                template<typename U>\r
+                static msvc_register_type<U[value],ID> test(void(*)(U volatile[]));\r
+                static msvc_register_type<T,ID> test(...);\r
+                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));\r
+                typedef typename msvc_extract_type<ID>::id2type::type type;\r
+            };\r
+            template<typename T>\r
+            struct transform_type {\r
+                typedef T type;\r
+            };\r
+        };\r
+        template<> //Const Array\r
+        struct remove_cv_impl_typeof<false,true,true,false> {\r
+            template<typename T,typename ID>\r
+            struct inner {\r
+                BOOST_STATIC_CONSTANT(unsigned,value=(sizeof(T)/sizeof((*((T*)NULL))[0])));\r
+\r
+                template<typename U>\r
+                static msvc_register_type<U[value],ID> test(void(*)(U const[]));\r
+                static msvc_register_type<T,ID> test(...);\r
+                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));\r
+                typedef typename msvc_extract_type<ID>::id2type::type type;\r
+            };\r
+            template<typename T>\r
+            struct transform_type {\r
+                typedef T type;\r
+            };\r
+        };\r
+\r
+        template<> //CV Array\r
+        struct remove_cv_impl_typeof<false,true,true,true> {\r
+            template<typename T,typename ID>\r
+            struct inner {\r
+                BOOST_STATIC_CONSTANT(unsigned,value=(sizeof(T)/sizeof((*((T*)NULL))[0])));\r
+\r
+                template<typename U>\r
+                static msvc_register_type<U[value],ID> test(void(*)(U const volatile[]));\r
+                static msvc_register_type<T,ID> test(...);\r
+                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));\r
+                typedef typename msvc_extract_type<ID>::id2type::type type;\r
+            };\r
+            template<typename T>\r
+            struct transform_type {\r
+                typedef T type;\r
+            };\r
+        };\r
+\r
+    } //namespace detail\r
+\r
+    template<typename T>\r
+    struct remove_cv {\r
+        typedef detail::remove_cv_impl_typeof<\r
+            boost::is_pointer<T>::value,\r
+            boost::is_array<T>::value,\r
+            boost::is_const<T>::value,\r
+            boost::is_volatile<T>::value\r
+        > remove_cv_type;\r
+        typedef typename \r
+            remove_cv_type::template inner<\r
+                typename remove_cv_type::template transform_type<T>::type,\r
+                remove_cv<T>\r
+            >::type\r
+        type;\r
+        BOOST_MPL_AUX_LAMBDA_SUPPORT(1,remove_cv,T)\r
+    };\r
+}//namespace boost\r
+\r
+#endif //BOOST_TYPE_TRAITS_MSVC_REMOVE_CV_HOLT_2004_0901\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/msvc/remove_extent.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/msvc/remove_extent.hpp
new file mode 100644 (file)
index 0000000..0156060
--- /dev/null
@@ -0,0 +1,43 @@
+// Copyright (C) 2004 Peder Holt\r
+// Use, modification and distribution is subject to the Boost Software\r
+// License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+#ifndef BOOST_TYPE_TRAITS_MSVC_REMOVE_EXTENT_HOLT_2004_0827\r
+#define BOOST_TYPE_TRAITS_MSVC_REMOVE_EXTENT_HOLT_2004_0827\r
+\r
+#include <boost/type_traits/msvc/typeof.hpp>\r
+#include <boost/type_traits/is_array.hpp>\r
+\r
+namespace boost {\r
+    namespace detail {\r
+        template<bool IsArray>\r
+        struct remove_extent_impl_typeof {\r
+            template<typename T,typename ID>\r
+            struct inner {\r
+                typedef T type;\r
+            };\r
+        };\r
+        template<>\r
+        struct remove_extent_impl_typeof<true> {\r
+            template<typename T,typename ID>\r
+            struct inner {\r
+                template<typename U>\r
+                static msvc_register_type<U,ID> test(U[]);\r
+                static msvc_register_type<T,ID> test(...);\r
+                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( *((T*)NULL) ) ));\r
+                typedef typename msvc_extract_type<ID>::id2type::type type;\r
+            };\r
+        };\r
+    } //namespace detail\r
+\r
+    template<typename T>\r
+    struct remove_extent {\r
+        typedef typename detail::remove_extent_impl_typeof<\r
+            boost::is_array<T>::value                \r
+        >::template inner<T,remove_extent<T> >::type type;\r
+        BOOST_MPL_AUX_LAMBDA_SUPPORT(1,remove_extent,T)\r
+    };\r
+} //namespace boost\r
+\r
+#endif //BOOST_TYPE_TRAITS_MSVC_REMOVE_BOUNDS_HOLT_2004_0827\r
+\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/msvc/remove_pointer.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/msvc/remove_pointer.hpp
new file mode 100644 (file)
index 0000000..73b225e
--- /dev/null
@@ -0,0 +1,42 @@
+// Copyright (C) 2004 Peder Holt\r
+// Use, modification and distribution is subject to the Boost Software\r
+// License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+#ifndef BOOST_TYPE_TRAITS_MSVC_REMOVE_POINTER_HOLT_2004_0827\r
+#define BOOST_TYPE_TRAITS_MSVC_REMOVE_POINTER_HOLT_2004_0827\r
+\r
+#include <boost/type_traits/msvc/typeof.hpp>\r
+#include <boost/type_traits/is_pointer.hpp>\r
+\r
+namespace boost {\r
+    namespace detail {\r
+        template<int IsPointer>\r
+        struct remove_pointer_impl_typeof {\r
+            template<typename T,typename ID>\r
+            struct inner {\r
+                typedef T type;\r
+            };\r
+        };\r
+        template<>\r
+        struct remove_pointer_impl_typeof<true> {\r
+            template<typename T,typename ID>\r
+            struct inner {\r
+                template<typename U>\r
+                static msvc_register_type<U,ID> test(U*);\r
+                static msvc_register_type<T,ID> test(...);\r
+                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( *((T*)NULL) ) ));\r
+                typedef typename msvc_extract_type<ID>::id2type::type type;\r
+            };\r
+        };\r
+    } //namespace detail\r
+\r
+    template<typename T>\r
+    struct remove_pointer {\r
+        typedef typename detail::remove_pointer_impl_typeof<\r
+            boost::is_pointer<T>::value\r
+        >::template inner<T,remove_pointer<T> >::type type;\r
+        BOOST_MPL_AUX_LAMBDA_SUPPORT(1,remove_pointer,T)\r
+    };\r
+} //namespace boost\r
+\r
+#endif //BOOST_TYPE_TRAITS_REMOVE_POINTER_HOLT_2004_0827\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/msvc/remove_reference.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/msvc/remove_reference.hpp
new file mode 100644 (file)
index 0000000..c884a29
--- /dev/null
@@ -0,0 +1,42 @@
+// Copyright (C) 2004 Peder Holt\r
+// Use, modification and distribution is subject to the Boost Software\r
+// License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+#ifndef BOOST_TYPE_TRAITS_MSVC_REMOVE_REFERENCE_HOLT_2004_0827\r
+#define BOOST_TYPE_TRAITS_MSVC_REMOVE_REFERENCE_HOLT_2004_0827\r
+\r
+#include <boost/type_traits/msvc/typeof.hpp>\r
+#include <boost/type_traits/is_reference.hpp>\r
+\r
+namespace boost {\r
+    namespace detail {\r
+        template<bool IsReference>\r
+        struct remove_reference_impl_typeof {\r
+            template<typename T,typename ID>\r
+            struct inner {\r
+                typedef T type;\r
+            };\r
+        };\r
+        template<>\r
+        struct remove_reference_impl_typeof<true> {\r
+            template<typename T,typename ID>\r
+            struct inner {\r
+                template<typename U>\r
+                static msvc_register_type<U,ID> test(U&(*)());\r
+                static msvc_register_type<T,ID> test(...);\r
+                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (T(*)())(NULL) ) ));\r
+                typedef typename msvc_extract_type<ID>::id2type::type type;\r
+            };\r
+        };\r
+    } //namespace detail\r
+    \r
+    template<typename T>\r
+    struct remove_reference {\r
+        typedef typename detail::remove_reference_impl_typeof<\r
+            boost::is_reference<T>::value\r
+        >::template inner<T,remove_reference<T> >::type type;\r
+        BOOST_MPL_AUX_LAMBDA_SUPPORT(1,remove_reference,T)\r
+    };\r
+} //namespace boost\r
+\r
+#endif //BOOST_TYPE_TRAITS_MSVC_REMOVE_REFERENCE_HOLT_2004_0827\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/msvc/remove_volatile.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/msvc/remove_volatile.hpp
new file mode 100644 (file)
index 0000000..d16c4be
--- /dev/null
@@ -0,0 +1,143 @@
+// Copyright (C) 2004 Peder Holt\r
+// Use, modification and distribution is subject to the Boost Software\r
+// License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+#ifndef BOOST_TYPE_TRAITS_MSVC_REMOVE_VOLATILE_HOLT_2004_0828\r
+#define BOOST_TYPE_TRAITS_MSVC_REMOVE_VOLATILE_HOLT_2004_0828\r
+\r
+#include <boost/type_traits/msvc/typeof.hpp>\r
+#include <boost/type_traits/is_volatile.hpp>\r
+#include <boost/type_traits/is_const.hpp>\r
+#include <boost/type_traits/is_pointer.hpp>\r
+#include <boost/type_traits/is_array.hpp>\r
+\r
+namespace boost {\r
+    namespace detail {\r
+        template<bool IsPointer,bool IsArray,bool IsConst,bool IsVolatile>\r
+        struct remove_volatile_impl_typeof {\r
+            template<typename T,typename ID>\r
+            struct inner {\r
+                typedef T type;\r
+            };\r
+            template<typename T>\r
+            struct transform_type {\r
+                typedef T type;\r
+            };\r
+        };\r
+        template<> //Volatile\r
+        struct remove_volatile_impl_typeof<false,false,false,true> {\r
+            template<typename T,typename ID>\r
+            struct inner {\r
+                template<typename U>\r
+                static msvc_register_type<U,ID> test(U volatile&(*)());\r
+                static msvc_register_type<T,ID> test(...);\r
+                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (T(*)())(NULL) ) ));\r
+                typedef typename msvc_extract_type<ID>::id2type::type type;\r
+            };            \r
+            template<typename T>\r
+            struct transform_type {\r
+                typedef T& type;\r
+            };\r
+        };\r
+        template<> //CV\r
+        struct remove_volatile_impl_typeof<false,false,true,true> {\r
+            template<typename T,typename ID>\r
+            struct inner {\r
+                template<typename U>\r
+                static msvc_register_type<U const,ID> test(U const volatile&(*)());\r
+                static msvc_register_type<T,ID> test(...);\r
+                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (T(*)())(NULL) ) ));\r
+                typedef typename msvc_extract_type<ID>::id2type::type type;\r
+            };\r
+            template<typename T>\r
+            struct transform_type {\r
+                typedef T& type;\r
+            };\r
+        };\r
+        template<> //Volatile Pointer\r
+        struct remove_volatile_impl_typeof<true,false,false,true> {\r
+            template<typename T,typename ID>\r
+            struct inner {\r
+                template<typename U>\r
+                static msvc_register_type<U,ID> test(void(*)(U volatile[]));\r
+                static msvc_register_type<T,ID> test(...);\r
+                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));\r
+                typedef typename msvc_extract_type<ID>::id2type::type type;\r
+            };\r
+            template<typename T>\r
+            struct transform_type {\r
+                typedef T type[];\r
+            };\r
+        };\r
+        template<> //CV Pointer\r
+        struct remove_volatile_impl_typeof<true,false,true,true> {\r
+            template<typename T,typename ID>\r
+            struct inner {\r
+                template<typename U>\r
+                static msvc_register_type<U const,ID> test(void(*)(U const volatile[]));\r
+                static msvc_register_type<T,ID> test(...);\r
+                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));\r
+                typedef typename msvc_extract_type<ID>::id2type::type type;\r
+            };\r
+            template<typename T>\r
+            struct transform_type {\r
+                typedef T type[];\r
+            };\r
+        };        \r
+        template<> //Volatile Array\r
+        struct remove_volatile_impl_typeof<false,true,false,true> {\r
+            template<typename T,typename ID>\r
+            struct inner {\r
+                BOOST_STATIC_CONSTANT(unsigned,value=(sizeof(T)/sizeof((*((T*)NULL))[0])));\r
+\r
+                template<typename U>\r
+                static msvc_register_type<U[value],ID> test(void(*)(U volatile[]));\r
+                static msvc_register_type<T,ID> test(...);\r
+                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));\r
+                typedef typename msvc_extract_type<ID>::id2type::type type;                \r
+            };\r
+            template<typename T>\r
+            struct transform_type {\r
+                typedef T type;\r
+            };\r
+        };\r
+\r
+        template<> //CV Array\r
+        struct remove_volatile_impl_typeof<false,true,true,true> {\r
+            template<typename T,typename ID>\r
+            struct inner {\r
+                BOOST_STATIC_CONSTANT(unsigned,value=(sizeof(T)/sizeof((*((T*)NULL))[0])));\r
+\r
+                template<typename U>\r
+                static msvc_register_type<U const[value],ID> test(void(*)(U const volatile[]));\r
+                static msvc_register_type<T,ID> test(...);\r
+                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));\r
+                typedef typename msvc_extract_type<ID>::id2type::type type;\r
+            };\r
+            template<typename T>\r
+            struct transform_type {\r
+                typedef T type;\r
+            };\r
+        };\r
+\r
+    } //namespace detail\r
+\r
+    template<typename T>\r
+    struct remove_volatile {\r
+        typedef detail::remove_volatile_impl_typeof<\r
+            boost::is_pointer<T>::value,\r
+            boost::is_array<T>::value,\r
+            boost::is_const<T>::value,\r
+            boost::is_volatile<T>::value\r
+        > remove_volatile_type;\r
+        typedef typename \r
+            remove_volatile_type::template inner<\r
+                typename remove_volatile_type::template transform_type<T>::type,\r
+                remove_volatile<T>\r
+            >::type\r
+        type;\r
+        BOOST_MPL_AUX_LAMBDA_SUPPORT(1,remove_volatile,T)\r
+    };\r
+}//namespace boost\r
+\r
+#endif //BOOST_TYPE_TRAITS_MSVC_REMOVE_VOLATILE_HOLT_2004_0828\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/msvc/typeof.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/msvc/typeof.hpp
new file mode 100644 (file)
index 0000000..e355cb8
--- /dev/null
@@ -0,0 +1,50 @@
+// Copyright (C) 2004 Peder Holt\r
+// Use, modification and distribution is subject to the Boost Software\r
+// License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+#ifndef BOOST_TYPETRAITS_MSVC_TYPEOF_HPP\r
+#define BOOST_TYPETRAITS_MSVC_TYPEOF_HPP\r
+\r
+#include <boost/config.hpp>\r
+#include <boost/detail/workaround.hpp>\r
+\r
+namespace boost { namespace detail {\r
+# if BOOST_WORKAROUND(BOOST_MSVC,==1300)\r
+        template<typename ID>\r
+        struct msvc_extract_type\r
+        {\r
+            template<bool>\r
+            struct id2type_impl;\r
+\r
+            typedef id2type_impl<true> id2type;\r
+        };\r
+\r
+        template<typename T, typename ID>\r
+        struct msvc_register_type : msvc_extract_type<ID>\r
+        {\r
+            template<>\r
+            struct id2type_impl<true>  //VC7.0 specific bugfeature\r
+            {\r
+                typedef T type;\r
+            };\r
+        };\r
+# else \r
+        template<typename ID>\r
+        struct msvc_extract_type\r
+        {\r
+            struct id2type;\r
+        };\r
+\r
+        template<typename T, typename ID>\r
+        struct msvc_register_type : msvc_extract_type<ID>\r
+        {\r
+            typedef msvc_extract_type<ID> base_type;\r
+            struct base_type::id2type // This uses nice VC6.5 and VC7.1 bugfeature\r
+            {\r
+                typedef T type;\r
+            };\r
+        };\r
+# endif\r
+}}\r
+\r
+#endif //BOOST_TYPETRAITS_MSVC_TYPEOF_IMPL_HPP\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/object_traits.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/object_traits.hpp
new file mode 100644 (file)
index 0000000..803b86e
--- /dev/null
@@ -0,0 +1,33 @@
+//  (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.\r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+//\r
+//  defines object traits classes:\r
+//  is_object, is_scalar, is_class, is_compound, is_pod, \r
+//  has_trivial_constructor, has_trivial_copy, has_trivial_assign, \r
+//  has_trivial_destructor, is_empty.\r
+//\r
+\r
+#ifndef BOOST_TT_OBJECT_TRAITS_HPP_INLCUDED\r
+#define BOOST_TT_OBJECT_TRAITS_HPP_INLCUDED\r
+\r
+#include <boost/type_traits/has_trivial_assign.hpp>\r
+#include <boost/type_traits/has_trivial_constructor.hpp>\r
+#include <boost/type_traits/has_trivial_copy.hpp>\r
+#include <boost/type_traits/has_trivial_destructor.hpp>\r
+#include <boost/type_traits/has_nothrow_constructor.hpp>\r
+#include <boost/type_traits/has_nothrow_copy.hpp>\r
+#include <boost/type_traits/has_nothrow_assign.hpp>\r
+#include <boost/type_traits/is_base_and_derived.hpp>\r
+#include <boost/type_traits/is_class.hpp>\r
+#include <boost/type_traits/is_compound.hpp>\r
+#include <boost/type_traits/is_empty.hpp>\r
+#include <boost/type_traits/is_object.hpp>\r
+#include <boost/type_traits/is_pod.hpp>\r
+#include <boost/type_traits/is_scalar.hpp>\r
+#include <boost/type_traits/is_stateless.hpp>\r
+\r
+#endif // BOOST_TT_OBJECT_TRAITS_HPP_INLCUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/promote.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/promote.hpp
new file mode 100644 (file)
index 0000000..c84e4bd
--- /dev/null
@@ -0,0 +1,40 @@
+// Copyright 2005 Alexander Nasonov.\r
+// Distributed under the Boost Software License, Version 1.0. (See\r
+// accompanying file LICENSE_1_0.txt or copy at\r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+#ifndef FILE_boost_type_traits_promote_hpp_INCLUDED\r
+#define FILE_boost_type_traits_promote_hpp_INCLUDED\r
+\r
+#include <boost/config.hpp>\r
+#include <boost/type_traits/integral_promotion.hpp>\r
+#include <boost/type_traits/floating_point_promotion.hpp>\r
+\r
+// Should be the last #include\r
+#include <boost/type_traits/detail/type_trait_def.hpp>\r
+\r
+namespace boost {\r
+\r
+namespace detail {\r
+\r
+template<class T>\r
+struct promote_impl\r
+  : integral_promotion<\r
+        BOOST_DEDUCED_TYPENAME floating_point_promotion<T>::type\r
+      >\r
+{\r
+};\r
+\r
+}\r
+\r
+BOOST_TT_AUX_TYPE_TRAIT_DEF1(\r
+      promote\r
+    , T\r
+    , BOOST_DEDUCED_TYPENAME boost::detail::promote_impl<T>::type\r
+    )\r
+}\r
+\r
+#include <boost/type_traits/detail/type_trait_undef.hpp>\r
+\r
+#endif // #ifndef FILE_boost_type_traits_promote_hpp_INCLUDED\r
+\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/rank.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/rank.hpp
new file mode 100644 (file)
index 0000000..efa4fd6
--- /dev/null
@@ -0,0 +1,89 @@
+\r
+//  (C) Copyright John Maddock 2005.  \r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+\r
+\r
+#ifndef BOOST_TT_RANK_HPP_INCLUDED\r
+#define BOOST_TT_RANK_HPP_INCLUDED\r
+\r
+// should be the last #include\r
+#include <boost/type_traits/detail/size_t_trait_def.hpp>\r
+\r
+namespace boost {\r
+\r
+#if !defined( __CODEGEARC__ )\r
+\r
+namespace detail{\r
+\r
+template <class T, std::size_t N>\r
+struct rank_imp\r
+{\r
+   BOOST_STATIC_CONSTANT(std::size_t, value = N);\r
+};\r
+#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)\r
+template <class T, std::size_t R, std::size_t N>\r
+struct rank_imp<T[R], N>\r
+{\r
+   BOOST_STATIC_CONSTANT(std::size_t, value = (::boost::detail::rank_imp<T, N+1>::value));\r
+};\r
+\r
+template <class T, std::size_t R, std::size_t N>\r
+struct rank_imp<T const[R], N>\r
+{\r
+   BOOST_STATIC_CONSTANT(std::size_t, value = (::boost::detail::rank_imp<T, N+1>::value));\r
+};\r
+\r
+template <class T, std::size_t R, std::size_t N>\r
+struct rank_imp<T volatile[R], N>\r
+{\r
+   BOOST_STATIC_CONSTANT(std::size_t, value = (::boost::detail::rank_imp<T, N+1>::value));\r
+};\r
+\r
+template <class T, std::size_t R, std::size_t N>\r
+struct rank_imp<T const volatile[R], N>\r
+{\r
+   BOOST_STATIC_CONSTANT(std::size_t, value = (::boost::detail::rank_imp<T, N+1>::value));\r
+};\r
+\r
+#if !BOOST_WORKAROUND(__BORLANDC__, < 0x600) && !defined(__IBMCPP__) &&  !BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840))\r
+template <class T, std::size_t N>\r
+struct rank_imp<T[], N>\r
+{\r
+   BOOST_STATIC_CONSTANT(std::size_t, value = (::boost::detail::rank_imp<T, N+1>::value));\r
+};\r
+template <class T, std::size_t N>\r
+struct rank_imp<T const[], N>\r
+{\r
+   BOOST_STATIC_CONSTANT(std::size_t, value = (::boost::detail::rank_imp<T, N+1>::value));\r
+};\r
+template <class T, std::size_t N>\r
+struct rank_imp<T volatile[], N>\r
+{\r
+   BOOST_STATIC_CONSTANT(std::size_t, value = (::boost::detail::rank_imp<T, N+1>::value));\r
+};\r
+template <class T, std::size_t N>\r
+struct rank_imp<T const volatile[], N>\r
+{\r
+   BOOST_STATIC_CONSTANT(std::size_t, value = (::boost::detail::rank_imp<T, N+1>::value));\r
+};\r
+#endif\r
+#endif\r
+}\r
+\r
+#endif // !defined( __CODEGEARC__ )\r
+\r
+#if defined( __CODEGEARC__ )\r
+BOOST_TT_AUX_SIZE_T_TRAIT_DEF1(rank,T,__array_rank(T))\r
+#else\r
+BOOST_TT_AUX_SIZE_T_TRAIT_DEF1(rank,T,(::boost::detail::rank_imp<T,0>::value))\r
+#endif\r
+\r
+} // namespace boost\r
+\r
+#include <boost/type_traits/detail/size_t_trait_undef.hpp>\r
+\r
+#endif // BOOST_TT_IS_MEMBER_FUNCTION_POINTER_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/reference_traits.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/reference_traits.hpp
new file mode 100644 (file)
index 0000000..b71c190
--- /dev/null
@@ -0,0 +1,15 @@
+//  (C) Copyright David Abrahams Steve Cleary, Beman Dawes, Howard\r
+//  Hinnant & John Maddock 2000-2002.  \r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+\r
+\r
+#ifndef BOOST_TT_REFERENCE_TRAITS_HPP_INCLUDED\r
+#define BOOST_TT_REFERENCE_TRAITS_HPP_INCLUDED\r
+\r
+#include <boost/type_traits/is_reference.hpp>\r
+\r
+#endif // BOOST_TT_REFERENCE_TRAITS_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/remove_all_extents.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/remove_all_extents.hpp
new file mode 100644 (file)
index 0000000..613d8f6
--- /dev/null
@@ -0,0 +1,48 @@
+\r
+//  (C) Copyright John Maddock 2005.\r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+\r
+#ifndef BOOST_TT_REMOVE_ALL_EXTENTS_HPP_INCLUDED\r
+#define BOOST_TT_REMOVE_ALL_EXTENTS_HPP_INCLUDED\r
+\r
+#include <boost/config.hpp>\r
+#include <cstddef>\r
+#include <boost/detail/workaround.hpp>\r
+\r
+#if BOOST_WORKAROUND(BOOST_MSVC,<=1300)\r
+#include <boost/type_traits/msvc/remove_all_extents.hpp>\r
+#endif\r
+\r
+// should be the last #include\r
+#include <boost/type_traits/detail/type_trait_def.hpp>\r
+\r
+#if !BOOST_WORKAROUND(BOOST_MSVC,<=1300)\r
+\r
+namespace boost {\r
+\r
+BOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_all_extents,T,T)\r
+\r
+#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)\r
+BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_all_extents,T[N],typename boost::remove_all_extents<T>::type type)\r
+BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_all_extents,T const[N],typename boost::remove_all_extents<T const>::type type)\r
+BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_all_extents,T volatile[N],typename boost::remove_all_extents<T volatile>::type type)\r
+BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_all_extents,T const volatile[N],typename boost::remove_all_extents<T const volatile>::type type)\r
+#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) && !defined(__IBMCPP__) &&  !BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840))\r
+BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_all_extents,T[],typename boost::remove_all_extents<T>::type)\r
+BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_all_extents,T const[],typename boost::remove_all_extents<T const>::type)\r
+BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_all_extents,T volatile[],typename boost::remove_all_extents<T volatile>::type)\r
+BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_all_extents,T const volatile[],typename boost::remove_all_extents<T const volatile>::type)\r
+#endif\r
+#endif\r
+\r
+} // namespace boost\r
+\r
+#endif\r
+\r
+#include <boost/type_traits/detail/type_trait_undef.hpp>\r
+\r
+#endif // BOOST_TT_REMOVE_BOUNDS_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/remove_bounds.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/remove_bounds.hpp
new file mode 100644 (file)
index 0000000..034bde4
--- /dev/null
@@ -0,0 +1,48 @@
+\r
+//  (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.\r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+\r
+#ifndef BOOST_TT_REMOVE_BOUNDS_HPP_INCLUDED\r
+#define BOOST_TT_REMOVE_BOUNDS_HPP_INCLUDED\r
+\r
+#include <boost/config.hpp>\r
+#include <cstddef>\r
+#include <boost/detail/workaround.hpp>\r
+\r
+#if BOOST_WORKAROUND(BOOST_MSVC,<=1300)\r
+#include <boost/type_traits/msvc/remove_bounds.hpp>\r
+#endif\r
+\r
+// should be the last #include\r
+#include <boost/type_traits/detail/type_trait_def.hpp>\r
+\r
+#if !BOOST_WORKAROUND(BOOST_MSVC,<=1300)\r
+\r
+namespace boost {\r
+\r
+BOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_bounds,T,T)\r
+\r
+#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)\r
+BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_bounds,T[N],T type)\r
+BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_bounds,T const[N],T const type)\r
+BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_bounds,T volatile[N],T volatile type)\r
+BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_bounds,T const volatile[N],T const volatile type)\r
+#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) && !defined(__IBMCPP__) &&  !BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840))\r
+BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_bounds,T[],T)\r
+BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_bounds,T const[],T const)\r
+BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_bounds,T volatile[],T volatile)\r
+BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_bounds,T const volatile[],T const volatile)\r
+#endif\r
+#endif\r
+\r
+} // namespace boost\r
+\r
+#endif\r
+\r
+#include <boost/type_traits/detail/type_trait_undef.hpp>\r
+\r
+#endif // BOOST_TT_REMOVE_BOUNDS_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/remove_const.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/remove_const.hpp
new file mode 100644 (file)
index 0000000..baacc95
--- /dev/null
@@ -0,0 +1,78 @@
+\r
+//  (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, Howard\r
+//  Hinnant & John Maddock 2000.  \r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+\r
+\r
+#ifndef BOOST_TT_REMOVE_CONST_HPP_INCLUDED\r
+#define BOOST_TT_REMOVE_CONST_HPP_INCLUDED\r
+\r
+#include <boost/type_traits/is_volatile.hpp>\r
+#include <boost/type_traits/broken_compiler_spec.hpp>\r
+#include <boost/type_traits/detail/cv_traits_impl.hpp>\r
+#include <boost/config.hpp>\r
+#include <boost/detail/workaround.hpp>\r
+\r
+#include <cstddef>\r
+\r
+#if BOOST_WORKAROUND(BOOST_MSVC,<=1300)\r
+#include <boost/type_traits/msvc/remove_const.hpp>\r
+#endif\r
+\r
+// should be the last #include\r
+#include <boost/type_traits/detail/type_trait_def.hpp>\r
+\r
+namespace boost {\r
+\r
+#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+\r
+namespace detail {\r
+\r
+template <typename T, bool is_vol>\r
+struct remove_const_helper\r
+{\r
+    typedef T type;\r
+};\r
+\r
+template <typename T>\r
+struct remove_const_helper<T, true>\r
+{\r
+    typedef T volatile type;\r
+};\r
+\r
+\r
+template <typename T>\r
+struct remove_const_impl\r
+{\r
+    typedef typename remove_const_helper<\r
+          typename cv_traits_imp<T*>::unqualified_type\r
+        , ::boost::is_volatile<T>::value\r
+        >::type type;\r
+};\r
+\r
+} // namespace detail\r
+\r
+// * convert a type T to non-const type - remove_const<T>\r
+\r
+BOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_const,T,typename boost::detail::remove_const_impl<T>::type)\r
+BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_const,T&,T&)\r
+#if !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)\r
+BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_const,T const[N],T type[N])\r
+BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_const,T const volatile[N],T volatile type[N])\r
+#endif\r
+\r
+#elif !BOOST_WORKAROUND(BOOST_MSVC,<=1300)\r
+\r
+BOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_const,T,typename boost::detail::remove_const_impl<T>::type)\r
+\r
+#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+\r
+} // namespace boost\r
+\r
+#include <boost/type_traits/detail/type_trait_undef.hpp>\r
+\r
+#endif // BOOST_TT_REMOVE_CONST_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/remove_cv.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/remove_cv.hpp
new file mode 100644 (file)
index 0000000..6d8a5c8
--- /dev/null
@@ -0,0 +1,61 @@
+\r
+//  (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, Howard\r
+//  Hinnant & John Maddock 2000.  \r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+\r
+\r
+#ifndef BOOST_TT_REMOVE_CV_HPP_INCLUDED\r
+#define BOOST_TT_REMOVE_CV_HPP_INCLUDED\r
+\r
+#include <boost/type_traits/broken_compiler_spec.hpp>\r
+#include <boost/type_traits/detail/cv_traits_impl.hpp>\r
+#include <boost/config.hpp>\r
+#include <boost/detail/workaround.hpp>\r
+\r
+#include <cstddef>\r
+\r
+#if BOOST_WORKAROUND(BOOST_MSVC,<=1300)\r
+#include <boost/type_traits/msvc/remove_cv.hpp>\r
+#endif\r
+\r
+// should be the last #include\r
+#include <boost/type_traits/detail/type_trait_def.hpp>\r
+\r
+namespace boost {\r
+\r
+#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+\r
+//  convert a type T to a non-cv-qualified type - remove_cv<T>\r
+BOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_cv,T,typename boost::detail::cv_traits_imp<T*>::unqualified_type)\r
+BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_cv,T&,T&)\r
+#if !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)\r
+BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_cv,T const[N],T type[N])\r
+BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_cv,T volatile[N],T type[N])\r
+BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_cv,T const volatile[N],T type[N])\r
+#endif\r
+\r
+#elif !BOOST_WORKAROUND(BOOST_MSVC,<=1300)\r
+\r
+namespace detail {\r
+template <typename T>\r
+struct remove_cv_impl\r
+{\r
+    typedef typename remove_volatile_impl< \r
+          typename remove_const_impl<T>::type\r
+        >::type type;\r
+};\r
+}\r
+\r
+BOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_cv,T,typename boost::detail::remove_cv_impl<T>::type)\r
+\r
+#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+\r
+} // namespace boost\r
+\r
+#include <boost/type_traits/detail/type_trait_undef.hpp>\r
+\r
+#endif // BOOST_TT_REMOVE_CV_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/remove_extent.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/remove_extent.hpp
new file mode 100644 (file)
index 0000000..48e443d
--- /dev/null
@@ -0,0 +1,48 @@
+\r
+//  (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000-2005.\r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+\r
+#ifndef BOOST_TT_REMOVE_EXTENT_HPP_INCLUDED\r
+#define BOOST_TT_REMOVE_EXTENT_HPP_INCLUDED\r
+\r
+#include <boost/config.hpp>\r
+#include <boost/detail/workaround.hpp>\r
+#include <cstddef>\r
+\r
+#if BOOST_WORKAROUND(BOOST_MSVC,<=1300)\r
+#include <boost/type_traits/msvc/remove_extent.hpp>\r
+#endif\r
+\r
+// should be the last #include\r
+#include <boost/type_traits/detail/type_trait_def.hpp>\r
+\r
+#if !BOOST_WORKAROUND(BOOST_MSVC,<=1300)\r
+\r
+namespace boost {\r
+\r
+BOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_extent,T,T)\r
+\r
+#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)\r
+BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_extent,T[N],T type)\r
+BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_extent,T const[N],T const type)\r
+BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_extent,T volatile[N],T volatile type)\r
+BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_extent,T const volatile[N],T const volatile type)\r
+#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) && !defined(__IBMCPP__) &&  !BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840))\r
+BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_extent,T[],T)\r
+BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_extent,T const[],T const)\r
+BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_extent,T volatile[],T volatile)\r
+BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_extent,T const volatile[],T const volatile)\r
+#endif\r
+#endif\r
+\r
+} // namespace boost\r
+\r
+#endif\r
+\r
+#include <boost/type_traits/detail/type_trait_undef.hpp>\r
+\r
+#endif // BOOST_TT_REMOVE_BOUNDS_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/remove_pointer.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/remove_pointer.hpp
new file mode 100644 (file)
index 0000000..02d9c6e
--- /dev/null
@@ -0,0 +1,43 @@
+\r
+//  (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.\r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+\r
+#ifndef BOOST_TT_REMOVE_POINTER_HPP_INCLUDED\r
+#define BOOST_TT_REMOVE_POINTER_HPP_INCLUDED\r
+\r
+#include <boost/type_traits/broken_compiler_spec.hpp>\r
+#include <boost/config.hpp>\r
+#include <boost/detail/workaround.hpp>\r
+\r
+#if BOOST_WORKAROUND(BOOST_MSVC,<=1300)\r
+#include <boost/type_traits/msvc/remove_pointer.hpp>\r
+#endif\r
+\r
+// should be the last #include\r
+#include <boost/type_traits/detail/type_trait_def.hpp>\r
+\r
+namespace boost {\r
+\r
+#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+\r
+BOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_pointer,T,T)\r
+BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_pointer,T*,T)\r
+BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_pointer,T* const,T)\r
+BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_pointer,T* volatile,T)\r
+BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_pointer,T* const volatile,T)\r
+\r
+#elif !BOOST_WORKAROUND(BOOST_MSVC,<=1300)\r
+\r
+BOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_pointer,T,typename boost::detail::remove_pointer_impl<T>::type)\r
+\r
+#endif\r
+\r
+} // namespace boost\r
+\r
+#include <boost/type_traits/detail/type_trait_undef.hpp>\r
+\r
+#endif // BOOST_TT_REMOVE_POINTER_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/remove_reference.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/remove_reference.hpp
new file mode 100644 (file)
index 0000000..8ba2f8a
--- /dev/null
@@ -0,0 +1,50 @@
+\r
+//  (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.\r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+\r
+#ifndef BOOST_TT_REMOVE_REFERENCE_HPP_INCLUDED\r
+#define BOOST_TT_REMOVE_REFERENCE_HPP_INCLUDED\r
+\r
+#include <boost/type_traits/broken_compiler_spec.hpp>\r
+#include <boost/config.hpp>\r
+#include <boost/detail/workaround.hpp>\r
+\r
+#if BOOST_WORKAROUND(BOOST_MSVC,<=1300)\r
+#include <boost/type_traits/msvc/remove_reference.hpp>\r
+#endif\r
+\r
+// should be the last #include\r
+#include <boost/type_traits/detail/type_trait_def.hpp>\r
+\r
+namespace boost {\r
+\r
+#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+\r
+BOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_reference,T,T)\r
+BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_reference,T&,T)\r
+\r
+#if defined(BOOST_ILLEGAL_CV_REFERENCES)\r
+// these are illegal specialisations; cv-qualifies applied to\r
+// references have no effect according to [8.3.2p1],\r
+// C++ Builder requires them though as it treats cv-qualified\r
+// references as distinct types...\r
+BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_reference,T& const,T)\r
+BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_reference,T& volatile,T)\r
+BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_reference,T& const volatile,T)\r
+#endif\r
+\r
+#elif !BOOST_WORKAROUND(BOOST_MSVC,<=1300)\r
+\r
+BOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_reference,T,typename boost::detail::remove_reference_impl<T>::type)\r
+\r
+#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+\r
+} // namespace boost\r
+\r
+#include <boost/type_traits/detail/type_trait_undef.hpp>\r
+\r
+#endif // BOOST_TT_REMOVE_REFERENCE_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/remove_volatile.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/remove_volatile.hpp
new file mode 100644 (file)
index 0000000..05c136f
--- /dev/null
@@ -0,0 +1,77 @@
+\r
+//  (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, Howard\r
+//  Hinnant & John Maddock 2000.  \r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+\r
+\r
+#ifndef BOOST_TT_REMOVE_VOLATILE_HPP_INCLUDED\r
+#define BOOST_TT_REMOVE_VOLATILE_HPP_INCLUDED\r
+\r
+#include <boost/type_traits/is_const.hpp>\r
+#include <boost/type_traits/broken_compiler_spec.hpp>\r
+#include <boost/type_traits/detail/cv_traits_impl.hpp>\r
+#include <boost/config.hpp>\r
+#include <boost/detail/workaround.hpp>\r
+\r
+#include <cstddef>\r
+\r
+#if BOOST_WORKAROUND(BOOST_MSVC,<=1300)\r
+#include <boost/type_traits/msvc/remove_volatile.hpp>\r
+#endif\r
+\r
+// should be the last #include\r
+#include <boost/type_traits/detail/type_trait_def.hpp>\r
+\r
+namespace boost {\r
+\r
+#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+\r
+namespace detail {\r
+\r
+template <typename T, bool is_const>\r
+struct remove_volatile_helper\r
+{\r
+    typedef T type;\r
+};\r
+\r
+template <typename T>\r
+struct remove_volatile_helper<T,true>\r
+{\r
+    typedef T const type;\r
+};\r
+\r
+template <typename T>\r
+struct remove_volatile_impl\r
+{\r
+    typedef typename remove_volatile_helper<\r
+          typename cv_traits_imp<T*>::unqualified_type\r
+        , ::boost::is_const<T>::value\r
+        >::type type;\r
+};\r
+\r
+} // namespace detail\r
+\r
+// * convert a type T to a non-volatile type - remove_volatile<T>\r
+\r
+BOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_volatile,T,typename boost::detail::remove_volatile_impl<T>::type)\r
+BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_volatile,T&,T&)\r
+#if !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)\r
+BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_volatile,T volatile[N],T type[N])\r
+BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_volatile,T const volatile[N],T const type[N])\r
+#endif\r
+\r
+#elif !BOOST_WORKAROUND(BOOST_MSVC,<=1300)\r
+\r
+BOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_volatile,T,typename boost::detail::remove_volatile_impl<T>::type)\r
+\r
+#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+\r
+} // namespace boost\r
+\r
+#include <boost/type_traits/detail/type_trait_undef.hpp>\r
+\r
+#endif // BOOST_TT_REMOVE_VOLATILE_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/same_traits.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/same_traits.hpp
new file mode 100644 (file)
index 0000000..aebf727
--- /dev/null
@@ -0,0 +1,15 @@
+//  (C) Copyright Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant & John Maddock 2000.\r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+//\r
+//  defines is_same:\r
+\r
+#ifndef BOOST_TT_SAME_TRAITS_HPP_INCLUDED\r
+#define BOOST_TT_SAME_TRAITS_HPP_INCLUDED\r
+\r
+#include <boost/type_traits/is_same.hpp>\r
+\r
+#endif  // BOOST_TT_SAME_TRAITS_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/transform_traits.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/transform_traits.hpp
new file mode 100644 (file)
index 0000000..f555678
--- /dev/null
@@ -0,0 +1,21 @@
+//  (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.\r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+//\r
+//  defines traits classes for transforming one type to another:\r
+//  remove_reference, add_reference, remove_bounds, remove_pointer.\r
+//\r
+\r
+#ifndef BOOST_TT_TRANSFORM_TRAITS_HPP_INCLUDED\r
+#define BOOST_TT_TRANSFORM_TRAITS_HPP_INCLUDED\r
+\r
+#include <boost/type_traits/add_pointer.hpp>\r
+#include <boost/type_traits/add_reference.hpp>\r
+#include <boost/type_traits/remove_bounds.hpp>\r
+#include <boost/type_traits/remove_pointer.hpp>\r
+#include <boost/type_traits/remove_reference.hpp>\r
+\r
+#endif // BOOST_TT_TRANSFORM_TRAITS_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/transform_traits_spec.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/transform_traits_spec.hpp
new file mode 100644 (file)
index 0000000..558b730
--- /dev/null
@@ -0,0 +1,14 @@
+\r
+//  Copyright 2001 Aleksey Gurtovoy.\r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+\r
+#ifndef BOOST_TT_TRANSFORM_TRAITS_SPEC_HPP_INCLUDED\r
+#define BOOST_TT_TRANSFORM_TRAITS_SPEC_HPP_INCLUDED\r
+\r
+#include <boost/type_traits/broken_compiler_spec.hpp>\r
+\r
+#endif // BOOST_TT_TRANSFORM_TRAITS_SPEC_HPP_INCLUDED\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/type_with_alignment.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/type_with_alignment.hpp
new file mode 100644 (file)
index 0000000..abb070a
--- /dev/null
@@ -0,0 +1,393 @@
+//  (C) Copyright John Maddock 2000.\r
+//  Use, modification and distribution are subject to the Boost Software License,\r
+//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt).\r
+//\r
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.\r
+\r
+#ifndef BOOST_TT_TYPE_WITH_ALIGNMENT_INCLUDED\r
+#define BOOST_TT_TYPE_WITH_ALIGNMENT_INCLUDED\r
+\r
+#include <boost/mpl/if.hpp>\r
+#include <boost/preprocessor/list/for_each_i.hpp>\r
+#include <boost/preprocessor/tuple/to_list.hpp>\r
+#include <boost/preprocessor/cat.hpp>\r
+#include <boost/preprocessor/list/transform.hpp>\r
+#include <boost/preprocessor/list/append.hpp>\r
+#include <boost/type_traits/alignment_of.hpp>\r
+#include <boost/type_traits/is_pod.hpp>\r
+#include <boost/static_assert.hpp>\r
+#include <boost/config.hpp>\r
+\r
+// should be the last #include\r
+#include <boost/type_traits/detail/bool_trait_def.hpp>\r
+\r
+#include <cstddef>\r
+\r
+#ifdef BOOST_MSVC\r
+#   pragma warning(push)\r
+#   pragma warning(disable: 4121) // alignment is sensitive to packing\r
+#endif\r
+\r
+namespace boost {\r
+\r
+#ifndef __BORLANDC__\r
+\r
+namespace detail {\r
+\r
+class alignment_dummy;\r
+typedef void (*function_ptr)();\r
+typedef int (alignment_dummy::*member_ptr);\r
+typedef int (alignment_dummy::*member_function_ptr)();\r
+\r
+#ifdef BOOST_HAS_LONG_LONG\r
+#define BOOST_TT_ALIGNMENT_BASE_TYPES BOOST_PP_TUPLE_TO_LIST( \\r
+        12, ( \\r
+        char, short, int, long,  ::boost::long_long_type, float, double, long double \\r
+        , void*, function_ptr, member_ptr, member_function_ptr))\r
+#else\r
+#define BOOST_TT_ALIGNMENT_BASE_TYPES BOOST_PP_TUPLE_TO_LIST( \\r
+        11, ( \\r
+        char, short, int, long, float, double, long double \\r
+        , void*, function_ptr, member_ptr, member_function_ptr))\r
+#endif\r
+\r
+#define BOOST_TT_HAS_ONE_T(D,Data,T) boost::detail::has_one_T< T >\r
+\r
+#define BOOST_TT_ALIGNMENT_STRUCT_TYPES                         \\r
+        BOOST_PP_LIST_TRANSFORM(BOOST_TT_HAS_ONE_T,             \\r
+                                X,                              \\r
+                                BOOST_TT_ALIGNMENT_BASE_TYPES)\r
+\r
+#define BOOST_TT_ALIGNMENT_TYPES                                \\r
+        BOOST_PP_LIST_APPEND(BOOST_TT_ALIGNMENT_BASE_TYPES,     \\r
+                             BOOST_TT_ALIGNMENT_STRUCT_TYPES)\r
+\r
+//\r
+// lower_alignment_helper --\r
+//\r
+// This template gets instantiated a lot, so use partial\r
+// specialization when available to reduce the compiler burden.\r
+//\r
+#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+template <bool found = true>\r
+struct lower_alignment_helper_impl\r
+{\r
+    template <std::size_t, class>\r
+    struct apply\r
+    {\r
+        typedef char type;\r
+        enum { value = true };\r
+    };\r
+};\r
+\r
+template <>\r
+struct lower_alignment_helper_impl<false>\r
+{\r
+    template <std::size_t target, class TestType>\r
+    struct apply\r
+      : mpl::if_c<(alignment_of<TestType>::value == target), TestType, char>\r
+    {\r
+        enum { value = (alignment_of<TestType>::value == target) };\r
+    };\r
+};\r
+\r
+template <bool found, std::size_t target, class TestType>\r
+struct lower_alignment_helper\r
+  : lower_alignment_helper_impl<found>::template apply<target,TestType>\r
+{\r
+};\r
+#else\r
+template <bool found, std::size_t target, class TestType>\r
+struct lower_alignment_helper\r
+{\r
+    typedef char type;\r
+    enum { value = true };\r
+};\r
+\r
+template <std::size_t target, class TestType>\r
+struct lower_alignment_helper<false,target,TestType>\r
+{\r
+    enum { value = (alignment_of<TestType>::value == target) };\r
+    typedef typename mpl::if_c<value, TestType, char>::type type;\r
+};\r
+#endif\r
+\r
+#define BOOST_TT_CHOOSE_MIN_ALIGNMENT(R,P,I,T)                                  \\r
+        typename lower_alignment_helper<                                        \\r
+          BOOST_PP_CAT(found,I),target,T                                        \\r
+        >::type BOOST_PP_CAT(t,I);                                              \\r
+        enum {                                                                  \\r
+            BOOST_PP_CAT(found,BOOST_PP_INC(I))                                 \\r
+              = lower_alignment_helper<BOOST_PP_CAT(found,I),target,T >::value  \\r
+        };\r
+\r
+#define BOOST_TT_CHOOSE_T(R,P,I,T) T BOOST_PP_CAT(t,I);\r
+\r
+template <typename T>\r
+struct has_one_T\r
+{\r
+  T data;\r
+};\r
+\r
+template <std::size_t target>\r
+union lower_alignment\r
+{\r
+    enum { found0 = false };\r
+\r
+    BOOST_PP_LIST_FOR_EACH_I(\r
+          BOOST_TT_CHOOSE_MIN_ALIGNMENT\r
+        , ignored\r
+        , BOOST_TT_ALIGNMENT_TYPES\r
+        )\r
+};\r
+\r
+union max_align\r
+{\r
+    BOOST_PP_LIST_FOR_EACH_I(\r
+          BOOST_TT_CHOOSE_T\r
+        , ignored\r
+        , BOOST_TT_ALIGNMENT_TYPES\r
+        )\r
+};\r
+\r
+#undef BOOST_TT_ALIGNMENT_BASE_TYPES\r
+#undef BOOST_TT_HAS_ONE_T\r
+#undef BOOST_TT_ALIGNMENT_STRUCT_TYPES\r
+#undef BOOST_TT_ALIGNMENT_TYPES\r
+#undef BOOST_TT_CHOOSE_MIN_ALIGNMENT\r
+#undef BOOST_TT_CHOOSE_T\r
+\r
+template<std::size_t TAlign, std::size_t Align>\r
+struct is_aligned\r
+{\r
+    BOOST_STATIC_CONSTANT(bool,\r
+        value = (TAlign >= Align) & (TAlign % Align == 0)\r
+        );\r
+};\r
+\r
+#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::detail::max_align,true)\r
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::detail::lower_alignment<1> ,true)\r
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::detail::lower_alignment<2> ,true)\r
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::detail::lower_alignment<4> ,true)\r
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::detail::lower_alignment<8> ,true)\r
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::detail::lower_alignment<10> ,true)\r
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::detail::lower_alignment<16> ,true)\r
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::detail::lower_alignment<32> ,true)\r
+#endif\r
+\r
+} // namespace detail\r
+\r
+#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
+template<std::size_t Align>\r
+struct is_pod< ::boost::detail::lower_alignment<Align> >\r
+{\r
+        BOOST_STATIC_CONSTANT(std::size_t, value = true);\r
+};\r
+#endif\r
+\r
+// This alignment method originally due to Brian Parker, implemented by David\r
+// Abrahams, and then ported here by Doug Gregor.\r
+namespace detail{\r
+\r
+template <std::size_t Align>\r
+class type_with_alignment_imp\r
+{\r
+    typedef ::boost::detail::lower_alignment<Align> t1;\r
+    typedef typename mpl::if_c<\r
+          ::boost::detail::is_aligned< ::boost::alignment_of<t1>::value,Align >::value\r
+        , t1\r
+        , ::boost::detail::max_align\r
+        >::type align_t;\r
+\r
+    BOOST_STATIC_CONSTANT(std::size_t, found = alignment_of<align_t>::value);\r
+\r
+    BOOST_STATIC_ASSERT(found >= Align);\r
+    BOOST_STATIC_ASSERT(found % Align == 0);\r
+\r
+ public:\r
+    typedef align_t type;\r
+};\r
+\r
+}\r
+\r
+template <std::size_t Align>\r
+class type_with_alignment \r
+  : public ::boost::detail::type_with_alignment_imp<Align>\r
+{\r
+};\r
+\r
+#if defined(__GNUC__)\r
+namespace align {\r
+struct __attribute__((__aligned__(2))) a2 {};\r
+struct __attribute__((__aligned__(4))) a4 {};\r
+struct __attribute__((__aligned__(8))) a8 {};\r
+struct __attribute__((__aligned__(16))) a16 {};\r
+struct __attribute__((__aligned__(32))) a32 {};\r
+}\r
+\r
+template<> class type_with_alignment<1>  { public: typedef char type; };\r
+template<> class type_with_alignment<2>  { public: typedef align::a2 type; };\r
+template<> class type_with_alignment<4>  { public: typedef align::a4 type; };\r
+template<> class type_with_alignment<8>  { public: typedef align::a8 type; };\r
+template<> class type_with_alignment<16> { public: typedef align::a16 type; };\r
+template<> class type_with_alignment<32> { public: typedef align::a32 type; };\r
+\r
+namespace detail {\r
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::align::a2,true)\r
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::align::a4,true)\r
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::align::a8,true)\r
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::align::a16,true)\r
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::align::a32,true)\r
+}\r
+#endif\r
+#if (defined(BOOST_MSVC) || (defined(BOOST_INTEL) && defined(_MSC_VER))) && _MSC_VER >= 1300\r
+//\r
+// MSVC supports types which have alignments greater than the normal\r
+// maximum: these are used for example in the types __m64 and __m128\r
+// to provide types with alignment requirements which match the SSE\r
+// registers.  Therefore we extend type_with_alignment<> to support\r
+// such types, however, we have to be careful to use a builtin type\r
+// whenever possible otherwise we break previously working code:\r
+// see http://article.gmane.org/gmane.comp.lib.boost.devel/173011\r
+// for an example and test case.  Thus types like a8 below will\r
+// be used *only* if the existing implementation can't provide a type\r
+// with suitable alignment.  This does mean however, that type_with_alignment<>\r
+// may return a type which cannot be passed through a function call\r
+// by value (and neither can any type containing such a type like\r
+// Boost.Optional).  However, this only happens when we have no choice \r
+// in the matter because no other "ordinary" type is available.\r
+//\r
+namespace align {\r
+struct __declspec(align(8)) a8 { \r
+   char m[8]; \r
+   typedef a8 type;\r
+};\r
+struct __declspec(align(16)) a16 { \r
+   char m[16]; \r
+   typedef a16 type;\r
+};\r
+struct __declspec(align(32)) a32 { \r
+   char m[32]; \r
+   typedef a32 type;\r
+};\r
+struct __declspec(align(64)) a64 \r
+{ \r
+   char m[64]; \r
+   typedef a64 type;\r
+};\r
+struct __declspec(align(128)) a128 { \r
+   char m[128]; \r
+   typedef a128 type;\r
+};\r
+}\r
+\r
+template<> class type_with_alignment<8>  \r
+{ \r
+   typedef mpl::if_c<\r
+      ::boost::alignment_of<detail::max_align>::value < 8,\r
+      align::a8,\r
+      detail::type_with_alignment_imp<8> >::type t1; \r
+public: \r
+   typedef t1::type type;\r
+};\r
+template<> class type_with_alignment<16> \r
+{ \r
+   typedef mpl::if_c<\r
+      ::boost::alignment_of<detail::max_align>::value < 16,\r
+      align::a16,\r
+      detail::type_with_alignment_imp<16> >::type t1; \r
+public: \r
+   typedef t1::type type;\r
+};\r
+template<> class type_with_alignment<32> \r
+{ \r
+   typedef mpl::if_c<\r
+      ::boost::alignment_of<detail::max_align>::value < 32,\r
+      align::a32,\r
+      detail::type_with_alignment_imp<32> >::type t1; \r
+public: \r
+   typedef t1::type type;\r
+};\r
+template<> class type_with_alignment<64> {\r
+   typedef mpl::if_c<\r
+      ::boost::alignment_of<detail::max_align>::value < 64,\r
+      align::a64,\r
+      detail::type_with_alignment_imp<64> >::type t1; \r
+public: \r
+   typedef t1::type type;\r
+};\r
+template<> class type_with_alignment<128> {\r
+   typedef mpl::if_c<\r
+      ::boost::alignment_of<detail::max_align>::value < 128,\r
+      align::a128,\r
+      detail::type_with_alignment_imp<128> >::type t1; \r
+public: \r
+   typedef t1::type type;\r
+};\r
+\r
+namespace detail {\r
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::align::a8,true)\r
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::align::a16,true)\r
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::align::a32,true)\r
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::align::a64,true)\r
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::align::a128,true)\r
+}\r
+#endif\r
+\r
+#else\r
+\r
+//\r
+// Borland specific version, we have this for two reasons:\r
+// 1) The version above doesn't always compile (with the new test cases for example)\r
+// 2) Because of Borlands #pragma option we can create types with alignments that are\r
+//    greater that the largest aligned builtin type.\r
+\r
+namespace align{\r
+#pragma option push -a16\r
+struct a2{ short s; };\r
+struct a4{ int s; };\r
+struct a8{ double s; };\r
+struct a16{ long double s; };\r
+#pragma option pop\r
+}\r
+\r
+namespace detail {\r
+\r
+typedef ::boost::align::a16 max_align;\r
+\r
+//#if ! BOOST_WORKAROUND(__CODEGEARC__, BOOST_TESTED_AT(0x610))\r
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::align::a2,true)\r
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::align::a4,true)\r
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::align::a8,true)\r
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::align::a16,true)\r
+//#endif\r
+}\r
+\r
+template <std::size_t N> struct type_with_alignment\r
+{\r
+   // We should never get to here, but if we do use the maximally\r
+   // aligned type:\r
+   // BOOST_STATIC_ASSERT(0);\r
+   typedef align::a16 type;\r
+};\r
+template <> struct type_with_alignment<1>{ typedef char type; };\r
+template <> struct type_with_alignment<2>{ typedef align::a2 type; };\r
+template <> struct type_with_alignment<4>{ typedef align::a4 type; };\r
+template <> struct type_with_alignment<8>{ typedef align::a8 type; };\r
+template <> struct type_with_alignment<16>{ typedef align::a16 type; };\r
+\r
+#endif\r
+\r
+} // namespace boost\r
+\r
+#ifdef BOOST_MSVC\r
+#   pragma warning(pop)\r
+#endif\r
+\r
+#include <boost/type_traits/detail/bool_trait_undef.hpp>\r
+\r
+#endif // BOOST_TT_TYPE_WITH_ALIGNMENT_INCLUDED\r
+\r
+\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/utility/addressof.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/utility/addressof.hpp
new file mode 100644 (file)
index 0000000..717a454
--- /dev/null
@@ -0,0 +1,102 @@
+// Copyright (C) 2002 Brad King (brad.king@kitware.com) \r
+//                    Douglas Gregor (gregod@cs.rpi.edu)\r
+//\r
+// Copyright (C) 2002, 2008 Peter Dimov\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. (See\r
+// accompanying file LICENSE_1_0.txt or copy at\r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+// For more information, see http://www.boost.org\r
+\r
+#ifndef BOOST_UTILITY_ADDRESSOF_HPP\r
+# define BOOST_UTILITY_ADDRESSOF_HPP\r
+\r
+# include <boost/config.hpp>\r
+# include <boost/detail/workaround.hpp>\r
+\r
+namespace boost\r
+{\r
+\r
+namespace detail\r
+{\r
+\r
+template<class T> struct addr_impl_ref\r
+{\r
+    T & v_;\r
+\r
+    inline addr_impl_ref( T & v ): v_( v ) {}\r
+    inline operator T& () const { return v_; }\r
+\r
+private:\r
+    addr_impl_ref & operator=(const addr_impl_ref &);\r
+};\r
+\r
+template<class T> struct addressof_impl\r
+{\r
+    static inline T * f( T & v, long )\r
+    {\r
+        return reinterpret_cast<T*>(\r
+            &const_cast<char&>(reinterpret_cast<const volatile char &>(v)));\r
+    }\r
+\r
+    static inline T * f( T * v, int )\r
+    {\r
+        return v;\r
+    }\r
+};\r
+\r
+} // namespace detail\r
+\r
+template<class T> T * addressof( T & v )\r
+{\r
+#if defined( __BORLANDC__ ) && BOOST_WORKAROUND( __BORLANDC__, BOOST_TESTED_AT( 0x610 ) )\r
+\r
+    return boost::detail::addressof_impl<T>::f( v, 0 );\r
+\r
+#else\r
+\r
+    return boost::detail::addressof_impl<T>::f( boost::detail::addr_impl_ref<T>( v ), 0 );\r
+\r
+#endif\r
+}\r
+\r
+#if defined( __SUNPRO_CC ) && BOOST_WORKAROUND( __SUNPRO_CC, BOOST_TESTED_AT( 0x590 ) )\r
+\r
+namespace detail\r
+{\r
+\r
+template<class T> struct addressof_addp\r
+{\r
+    typedef T * type;\r
+};\r
+\r
+} // namespace detail\r
+\r
+template< class T, std::size_t N >\r
+typename detail::addressof_addp< T[N] >::type addressof( T (&t)[N] )\r
+{\r
+    return &t;\r
+}\r
+\r
+#endif\r
+\r
+// Borland doesn't like casting an array reference to a char reference\r
+// but these overloads work around the problem.\r
+#if defined( __BORLANDC__ ) && BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))\r
+template<typename T,std::size_t N>\r
+T (*addressof(T (&t)[N]))[N]\r
+{\r
+   return reinterpret_cast<T(*)[N]>(&t);\r
+}\r
+\r
+template<typename T,std::size_t N>\r
+const T (*addressof(const T (&t)[N]))[N]\r
+{\r
+   return reinterpret_cast<const T(*)[N]>(&t);\r
+}\r
+#endif\r
+\r
+} // namespace boost\r
+\r
+#endif // BOOST_UTILITY_ADDRESSOF_HPP\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/utility/base_from_member.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/utility/base_from_member.hpp
new file mode 100644 (file)
index 0000000..b4f9e0d
--- /dev/null
@@ -0,0 +1,87 @@
+//  boost utility/base_from_member.hpp header file  --------------------------//\r
+\r
+//  Copyright 2001, 2003, 2004 Daryle Walker.  Use, modification, and\r
+//  distribution are subject to the Boost Software License, Version 1.0.  (See\r
+//  accompanying file LICENSE_1_0.txt or a copy at\r
+//  <http://www.boost.org/LICENSE_1_0.txt>.)\r
+\r
+//  See <http://www.boost.org/libs/utility/> for the library's home page.\r
+\r
+#ifndef BOOST_UTILITY_BASE_FROM_MEMBER_HPP\r
+#define BOOST_UTILITY_BASE_FROM_MEMBER_HPP\r
+\r
+#include <boost/preprocessor/arithmetic/inc.hpp>\r
+#include <boost/preprocessor/repetition/enum_binary_params.hpp>\r
+#include <boost/preprocessor/repetition/enum_params.hpp>\r
+#include <boost/preprocessor/repetition/repeat_from_to.hpp>\r
+\r
+\r
+//  Base-from-member arity configuration macro  ------------------------------//\r
+\r
+// The following macro determines how many arguments will be in the largest\r
+// constructor template of base_from_member.  Constructor templates will be\r
+// generated from one argument to this maximum.  Code from other files can read\r
+// this number if they need to always match the exact maximum base_from_member\r
+// uses.  The maximum constructor length can be changed by overriding the\r
+// #defined constant.  Make sure to apply the override, if any, for all source\r
+// files during project compiling for consistency.\r
+\r
+// Contributed by Jonathan Turkanis\r
+\r
+#ifndef BOOST_BASE_FROM_MEMBER_MAX_ARITY\r
+#define BOOST_BASE_FROM_MEMBER_MAX_ARITY  10\r
+#endif\r
+\r
+\r
+//  An iteration of a constructor template for base_from_member  -------------//\r
+\r
+// A macro that should expand to:\r
+//     template < typename T1, ..., typename Tn >\r
+//     base_from_member( T1 x1, ..., Tn xn )\r
+//         : member( x1, ..., xn )\r
+//         {}\r
+// This macro should only persist within this file.\r
+\r
+#define BOOST_PRIVATE_CTR_DEF( z, n, data )                            \\r
+    template < BOOST_PP_ENUM_PARAMS(n, typename T) >                   \\r
+    explicit base_from_member( BOOST_PP_ENUM_BINARY_PARAMS(n, T, x) )  \\r
+        : member( BOOST_PP_ENUM_PARAMS(n, x) )                         \\r
+        {}                                                             \\r
+    /**/\r
+\r
+\r
+namespace boost\r
+{\r
+\r
+//  Base-from-member class template  -----------------------------------------//\r
+\r
+// Helper to initialize a base object so a derived class can use this\r
+// object in the initialization of another base class.  Used by\r
+// Dietmar Kuehl from ideas by Ron Klatcho to solve the problem of a\r
+// base class needing to be initialized by a member.\r
+\r
+// Contributed by Daryle Walker\r
+\r
+template < typename MemberType, int UniqueID = 0 >\r
+class base_from_member\r
+{\r
+protected:\r
+    MemberType  member;\r
+\r
+    base_from_member()\r
+        : member()\r
+        {}\r
+\r
+    BOOST_PP_REPEAT_FROM_TO( 1, BOOST_PP_INC(BOOST_BASE_FROM_MEMBER_MAX_ARITY),\r
+     BOOST_PRIVATE_CTR_DEF, _ )\r
+\r
+};  // boost::base_from_member\r
+\r
+}  // namespace boost\r
+\r
+\r
+// Undo any private macros\r
+#undef BOOST_PRIVATE_CTR_DEF\r
+\r
+\r
+#endif  // BOOST_UTILITY_BASE_FROM_MEMBER_HPP\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/utility/binary.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/utility/binary.hpp
new file mode 100644 (file)
index 0000000..b05b6b9
--- /dev/null
@@ -0,0 +1,708 @@
+/*=============================================================================\r
+    Copyright (c) 2005 Matthew Calabrese\r
+\r
+    Use, modification and distribution is subject to the Boost Software\r
+    License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+    http://www.boost.org/LICENSE_1_0.txt)\r
+==============================================================================*/\r
+\r
+#ifndef BOOST_UTILITY_BINARY_HPP\r
+#define BOOST_UTILITY_BINARY_HPP\r
+\r
+/*=============================================================================\r
+\r
+    Binary Literal Utility\r
+    ______________________\r
+\r
+\r
+    The following code works by converting the input bit pattern into a\r
+    Boost.Preprocessor sequence, then converting groupings of 3 bits each into\r
+    the corresponding octal digit, and finally concatenating all of the digits\r
+    together along with a leading zero. This yields a standard octal literal\r
+    with the desired value as specified in bits.\r
+\r
+==============================================================================*/\r
+\r
+#include <boost/preprocessor/control/deduce_d.hpp>\r
+#include <boost/preprocessor/facilities/identity.hpp>\r
+#include <boost/preprocessor/cat.hpp>\r
+#include <boost/preprocessor/seq/cat.hpp>\r
+#include <boost/preprocessor/seq/transform.hpp>\r
+#include <boost/preprocessor/arithmetic/mod.hpp>\r
+#include <boost/preprocessor/seq/size.hpp>\r
+#include <boost/preprocessor/facilities/empty.hpp>\r
+#include <boost/preprocessor/control/while.hpp>\r
+\r
+#define BOOST_BINARY( bit_groupings )                                          \\r
+  BOOST_BINARY_LITERAL_D( BOOST_PP_DEDUCE_D(), bit_groupings ) \r
+\r
+#define BOOST_BINARY_U( bit_groupings )                                        \\r
+  BOOST_SUFFIXED_BINARY_LITERAL( bit_groupings, U ) \r
+\r
+#define BOOST_BINARY_L( bit_groupings )                                        \\r
+  BOOST_SUFFIXED_BINARY_LITERAL( bit_groupings, L ) \r
+\r
+#define BOOST_BINARY_UL( bit_groupings )                                       \\r
+  BOOST_SUFFIXED_BINARY_LITERAL( bit_groupings, UL ) \r
+\r
+#define BOOST_BINARY_LU( bit_groupings )                                       \\r
+  BOOST_SUFFIXED_BINARY_LITERAL( bit_groupings, LU ) \r
+\r
+#define BOOST_BINARY_LL( bit_groupings )                                       \\r
+  BOOST_SUFFIXED_BINARY_LITERAL( bit_groupings, LL ) \r
+\r
+#define BOOST_BINARY_ULL( bit_groupings )                                      \\r
+  BOOST_SUFFIXED_BINARY_LITERAL( bit_groupings, ULL ) \r
+\r
+#define BOOST_BINARY_LLU( bit_groupings )                                      \\r
+  BOOST_SUFFIXED_BINARY_LITERAL( bit_groupings, LLU ) \r
+\r
+#define BOOST_SUFFIXED_BINARY_LITERAL( bit_groupings, suffix )                 \\r
+  BOOST_SUFFIXED_BINARY_LITERAL_D( BOOST_PP_DEDUCE_D(), bit_groupings, suffix ) \r
+\r
+#define BOOST_SUFFIXED_BINARY_LITERAL_D( d, bit_groupings, suffix )            \\r
+  BOOST_PP_CAT( BOOST_BINARY_LITERAL_D( d, bit_groupings ), suffix ) \r
+\r
+#define BOOST_BINARY_LITERAL_D( d, bit_groupings )                             \\r
+  BOOST_PP_SEQ_CAT                                                             \\r
+  ( (0) BOOST_DETAIL_CREATE_BINARY_LITERAL_OCTAL_SEQUENCE( d, bit_groupings )  \\r
+  ) \r
+\r
+#define BOOST_DETAIL_CREATE_BINARY_LITERAL_OCTAL_SEQUENCE( d, bit_groupings )  \\r
+  BOOST_PP_SEQ_TRANSFORM                                                       \\r
+  ( BOOST_DETAIL_TRIPLE_TO_OCTAL_OPERATION                                     \\r
+  , BOOST_PP_NIL                                                               \\r
+  , BOOST_PP_IDENTITY( BOOST_DETAIL_CONVERT_BIT_SEQUENCE_TO_TRIPLE_SEQUENCE )()\\r
+    ( BOOST_DETAIL_COMPLETE_TRIPLE_SEQUENCE                                    \\r
+      (                                                                        \\r
+        d                                                                      \\r
+      , BOOST_DETAIL_CREATE_BINARY_LITERAL_BIT_SEQUENCE( d, bit_groupings )    \\r
+      )                                                                        \\r
+    )                                                                          \\r
+  ) \r
+\r
+#define BOOST_DETAIL_CONVERT_BIT_SEQUENCE_TO_TRIPLE_SEQUENCE( bit_sequence )   \\r
+  BOOST_PP_CAT                                                                 \\r
+  ( BOOST_DETAIL_CONVERT_BIT_SEQUENCE_TO_PARENTHETIC_TUPLE_1 bit_sequence      \\r
+  , END_BIT                                                                    \\r
+  ) \r
+\r
+#define BOOST_DETAIL_BITS_PER_OCTIT 3\r
+\r
+#define BOOST_DETAIL_COMPLETE_TRIPLE_SEQUENCE( d, incomplete_nibble_sequence ) \\r
+  BOOST_PP_CAT                                                                 \\r
+  ( BOOST_DETAIL_CREATE_TRIPLE_COMPLETION_SEQUENCE_                            \\r
+  , BOOST_PP_MOD_D( d                                                          \\r
+                  , BOOST_PP_SEQ_SIZE( incomplete_nibble_sequence )            \\r
+                  , BOOST_DETAIL_BITS_PER_OCTIT                                \\r
+                  )                                                            \\r
+  )                                                                            \\r
+  incomplete_nibble_sequence \r
+\r
+#define BOOST_DETAIL_FIXED_COMPL( bit )                                        \\r
+  BOOST_PP_CAT( BOOST_DETAIL_FIXED_COMPL_, bit )\r
+\r
+#define BOOST_DETAIL_FIXED_COMPL_0 1 \r
+\r
+#define BOOST_DETAIL_FIXED_COMPL_1 0 \r
+\r
+#define BOOST_DETAIL_CREATE_BINARY_LITERAL_BIT_SEQUENCE( d, bit_groupings )    \\r
+  BOOST_PP_EMPTY                                                               \\r
+  BOOST_PP_CAT( BOOST_PP_WHILE_, d )                                           \\r
+  ( BOOST_DETAIL_BINARY_LITERAL_PREDICATE                                      \\r
+  , BOOST_DETAIL_BINARY_LITERAL_OPERATION                                      \\r
+  , bit_groupings ()                                                           \\r
+  ) \r
+\r
+#define BOOST_DETAIL_BINARY_LITERAL_PREDICATE( d, state )                      \\r
+  BOOST_DETAIL_FIXED_COMPL( BOOST_DETAIL_IS_NULLARY_ARGS( state ) ) \r
+\r
+#define BOOST_DETAIL_BINARY_LITERAL_OPERATION( d, state )                      \\r
+  BOOST_DETAIL_SPLIT_AND_SWAP                                                  \\r
+  ( BOOST_PP_CAT( BOOST_DETAIL_BINARY_LITERAL_ELEMENT_, state ) ) \r
+\r
+#define BOOST_DETAIL_TRIPLE_TO_OCTAL_OPERATION( s, dummy_param, tuple )        \\r
+  BOOST_DETAIL_TERNARY_TRIPLE_TO_OCTAL tuple \r
+\r
+#define BOOST_DETAIL_TERNARY_TRIPLE_TO_OCTAL( bit2, bit1, bit0 )               \\r
+  BOOST_DETAIL_TRIPLE_TO_OCTAL_ ## bit2 ## bit1 ## bit0 \r
+\r
+#define BOOST_DETAIL_CREATE_TRIPLE_COMPLETION_SEQUENCE_1 (0)(0)\r
+#define BOOST_DETAIL_CREATE_TRIPLE_COMPLETION_SEQUENCE_2 (0)\r
+#define BOOST_DETAIL_CREATE_TRIPLE_COMPLETION_SEQUENCE_0  \r
+\r
+#define BOOST_DETAIL_CONVERT_BIT_SEQUENCE_TO_PARENTHETIC_TUPLE_1END_BIT  \r
+\r
+#define BOOST_DETAIL_CONVERT_BIT_SEQUENCE_TO_PARENTHETIC_TUPLE_1( bit )        \\r
+  ( ( bit, BOOST_DETAIL_CONVERT_BIT_SEQUENCE_TO_PARENTHETIC_TUPLE_2 \r
+\r
+#define BOOST_DETAIL_CONVERT_BIT_SEQUENCE_TO_PARENTHETIC_TUPLE_2( bit )        \\r
+  bit, BOOST_DETAIL_CONVERT_BIT_SEQUENCE_TO_PARENTHETIC_TUPLE_3 \r
+\r
+#define BOOST_DETAIL_CONVERT_BIT_SEQUENCE_TO_PARENTHETIC_TUPLE_3( bit )        \\r
+  bit ) ) BOOST_DETAIL_CONVERT_BIT_SEQUENCE_TO_PARENTHETIC_TUPLE_1 \r
+\r
+#define BOOST_DETAIL_SPLIT_AND_SWAP( params )                                  \\r
+  BOOST_PP_IDENTITY( BOOST_DETAIL_SPLIT_AND_SWAP_PARAMS )()( params )\r
+\r
+#define BOOST_DETAIL_SPLIT_AND_SWAP_PARAMS( first_param, second_param )        \\r
+  second_param first_param \r
+\r
+#define BOOST_DETAIL_LEFT_OF_COMMA( params )                                   \\r
+  BOOST_PP_IDENTITY( BOOST_DETAIL_FIRST_MACRO_PARAM )()( params ) \r
+\r
+#define BOOST_DETAIL_FIRST_MACRO_PARAM( first_param, second_param )            \\r
+  first_param \r
+\r
+/* Begin derived concepts from Chaos by Paul Mensonides */\r
+\r
+#define BOOST_DETAIL_IS_NULLARY_ARGS( param )                                  \\r
+  BOOST_DETAIL_LEFT_OF_COMMA                                                   \\r
+  ( BOOST_PP_CAT( BOOST_DETAIL_IS_NULLARY_ARGS_R_                              \\r
+                , BOOST_DETAIL_IS_NULLARY_ARGS_C param                         \\r
+                )                                                              \\r
+  ) \r
+\r
+#define BOOST_DETAIL_IS_NULLARY_ARGS_C()                                       \\r
+  1 \r
+\r
+#define BOOST_DETAIL_IS_NULLARY_ARGS_R_1                                       \\r
+  1, BOOST_PP_NIL \r
+\r
+#define BOOST_DETAIL_IS_NULLARY_ARGS_R_BOOST_DETAIL_IS_NULLARY_ARGS_C          \\r
+  0, BOOST_PP_NIL \r
+\r
+/* End derived concepts from Chaos by Paul Mensonides */\r
+\r
+#define BOOST_DETAIL_TRIPLE_TO_OCTAL_000 0 \r
+#define BOOST_DETAIL_TRIPLE_TO_OCTAL_001 1 \r
+#define BOOST_DETAIL_TRIPLE_TO_OCTAL_010 2 \r
+#define BOOST_DETAIL_TRIPLE_TO_OCTAL_011 3 \r
+#define BOOST_DETAIL_TRIPLE_TO_OCTAL_100 4 \r
+#define BOOST_DETAIL_TRIPLE_TO_OCTAL_101 5 \r
+#define BOOST_DETAIL_TRIPLE_TO_OCTAL_110 6 \r
+#define BOOST_DETAIL_TRIPLE_TO_OCTAL_111 7 \r
+\r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0 (0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1 (1), \r
+\r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00 (0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01 (0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10 (1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11 (1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00 (0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01 (0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10 (1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11 (1)(1), \r
+\r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_000 (0)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_001 (0)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_010 (0)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_011 (0)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_100 (1)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_101 (1)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_110 (1)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_111 (1)(1)(1), \r
+\r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0000 (0)(0)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0001 (0)(0)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0010 (0)(0)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0011 (0)(0)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0100 (0)(1)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0101 (0)(1)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0110 (0)(1)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0111 (0)(1)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1000 (1)(0)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1001 (1)(0)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1010 (1)(0)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1011 (1)(0)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1100 (1)(1)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1101 (1)(1)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1110 (1)(1)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1111 (1)(1)(1)(1), \r
+\r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00000 (0)(0)(0)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00001 (0)(0)(0)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00010 (0)(0)(0)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00011 (0)(0)(0)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00100 (0)(0)(1)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00101 (0)(0)(1)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00110 (0)(0)(1)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00111 (0)(0)(1)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01000 (0)(1)(0)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01001 (0)(1)(0)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01010 (0)(1)(0)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01011 (0)(1)(0)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01100 (0)(1)(1)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01101 (0)(1)(1)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01110 (0)(1)(1)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01111 (0)(1)(1)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10000 (1)(0)(0)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10001 (1)(0)(0)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10010 (1)(0)(0)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10011 (1)(0)(0)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10100 (1)(0)(1)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10101 (1)(0)(1)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10110 (1)(0)(1)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10111 (1)(0)(1)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11000 (1)(1)(0)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11001 (1)(1)(0)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11010 (1)(1)(0)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11011 (1)(1)(0)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11100 (1)(1)(1)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11101 (1)(1)(1)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11110 (1)(1)(1)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11111 (1)(1)(1)(1)(1), \r
+\r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_000000 (0)(0)(0)(0)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_000001 (0)(0)(0)(0)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_000010 (0)(0)(0)(0)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_000011 (0)(0)(0)(0)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_000100 (0)(0)(0)(1)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_000101 (0)(0)(0)(1)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_000110 (0)(0)(0)(1)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_000111 (0)(0)(0)(1)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_001000 (0)(0)(1)(0)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_001001 (0)(0)(1)(0)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_001010 (0)(0)(1)(0)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_001011 (0)(0)(1)(0)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_001100 (0)(0)(1)(1)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_001101 (0)(0)(1)(1)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_001110 (0)(0)(1)(1)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_001111 (0)(0)(1)(1)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_010000 (0)(1)(0)(0)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_010001 (0)(1)(0)(0)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_010010 (0)(1)(0)(0)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_010011 (0)(1)(0)(0)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_010100 (0)(1)(0)(1)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_010101 (0)(1)(0)(1)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_010110 (0)(1)(0)(1)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_010111 (0)(1)(0)(1)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_011000 (0)(1)(1)(0)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_011001 (0)(1)(1)(0)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_011010 (0)(1)(1)(0)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_011011 (0)(1)(1)(0)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_011100 (0)(1)(1)(1)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_011101 (0)(1)(1)(1)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_011110 (0)(1)(1)(1)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_011111 (0)(1)(1)(1)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_100000 (1)(0)(0)(0)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_100001 (1)(0)(0)(0)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_100010 (1)(0)(0)(0)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_100011 (1)(0)(0)(0)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_100100 (1)(0)(0)(1)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_100101 (1)(0)(0)(1)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_100110 (1)(0)(0)(1)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_100111 (1)(0)(0)(1)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_101000 (1)(0)(1)(0)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_101001 (1)(0)(1)(0)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_101010 (1)(0)(1)(0)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_101011 (1)(0)(1)(0)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_101100 (1)(0)(1)(1)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_101101 (1)(0)(1)(1)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_101110 (1)(0)(1)(1)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_101111 (1)(0)(1)(1)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_110000 (1)(1)(0)(0)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_110001 (1)(1)(0)(0)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_110010 (1)(1)(0)(0)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_110011 (1)(1)(0)(0)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_110100 (1)(1)(0)(1)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_110101 (1)(1)(0)(1)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_110110 (1)(1)(0)(1)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_110111 (1)(1)(0)(1)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_111000 (1)(1)(1)(0)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_111001 (1)(1)(1)(0)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_111010 (1)(1)(1)(0)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_111011 (1)(1)(1)(0)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_111100 (1)(1)(1)(1)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_111101 (1)(1)(1)(1)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_111110 (1)(1)(1)(1)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_111111 (1)(1)(1)(1)(1)(1), \r
+\r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0000000 (0)(0)(0)(0)(0)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0000001 (0)(0)(0)(0)(0)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0000010 (0)(0)(0)(0)(0)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0000011 (0)(0)(0)(0)(0)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0000100 (0)(0)(0)(0)(1)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0000101 (0)(0)(0)(0)(1)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0000110 (0)(0)(0)(0)(1)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0000111 (0)(0)(0)(0)(1)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0001000 (0)(0)(0)(1)(0)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0001001 (0)(0)(0)(1)(0)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0001010 (0)(0)(0)(1)(0)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0001011 (0)(0)(0)(1)(0)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0001100 (0)(0)(0)(1)(1)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0001101 (0)(0)(0)(1)(1)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0001110 (0)(0)(0)(1)(1)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0001111 (0)(0)(0)(1)(1)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0010000 (0)(0)(1)(0)(0)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0010001 (0)(0)(1)(0)(0)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0010010 (0)(0)(1)(0)(0)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0010011 (0)(0)(1)(0)(0)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0010100 (0)(0)(1)(0)(1)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0010101 (0)(0)(1)(0)(1)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0010110 (0)(0)(1)(0)(1)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0010111 (0)(0)(1)(0)(1)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0011000 (0)(0)(1)(1)(0)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0011001 (0)(0)(1)(1)(0)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0011010 (0)(0)(1)(1)(0)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0011011 (0)(0)(1)(1)(0)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0011100 (0)(0)(1)(1)(1)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0011101 (0)(0)(1)(1)(1)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0011110 (0)(0)(1)(1)(1)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0011111 (0)(0)(1)(1)(1)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0100000 (0)(1)(0)(0)(0)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0100001 (0)(1)(0)(0)(0)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0100010 (0)(1)(0)(0)(0)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0100011 (0)(1)(0)(0)(0)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0100100 (0)(1)(0)(0)(1)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0100101 (0)(1)(0)(0)(1)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0100110 (0)(1)(0)(0)(1)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0100111 (0)(1)(0)(0)(1)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0101000 (0)(1)(0)(1)(0)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0101001 (0)(1)(0)(1)(0)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0101010 (0)(1)(0)(1)(0)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0101011 (0)(1)(0)(1)(0)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0101100 (0)(1)(0)(1)(1)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0101101 (0)(1)(0)(1)(1)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0101110 (0)(1)(0)(1)(1)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0101111 (0)(1)(0)(1)(1)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0110000 (0)(1)(1)(0)(0)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0110001 (0)(1)(1)(0)(0)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0110010 (0)(1)(1)(0)(0)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0110011 (0)(1)(1)(0)(0)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0110100 (0)(1)(1)(0)(1)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0110101 (0)(1)(1)(0)(1)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0110110 (0)(1)(1)(0)(1)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0110111 (0)(1)(1)(0)(1)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0111000 (0)(1)(1)(1)(0)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0111001 (0)(1)(1)(1)(0)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0111010 (0)(1)(1)(1)(0)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0111011 (0)(1)(1)(1)(0)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0111100 (0)(1)(1)(1)(1)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0111101 (0)(1)(1)(1)(1)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0111110 (0)(1)(1)(1)(1)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0111111 (0)(1)(1)(1)(1)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1000000 (1)(0)(0)(0)(0)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1000001 (1)(0)(0)(0)(0)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1000010 (1)(0)(0)(0)(0)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1000011 (1)(0)(0)(0)(0)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1000100 (1)(0)(0)(0)(1)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1000101 (1)(0)(0)(0)(1)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1000110 (1)(0)(0)(0)(1)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1000111 (1)(0)(0)(0)(1)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1001000 (1)(0)(0)(1)(0)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1001001 (1)(0)(0)(1)(0)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1001010 (1)(0)(0)(1)(0)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1001011 (1)(0)(0)(1)(0)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1001100 (1)(0)(0)(1)(1)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1001101 (1)(0)(0)(1)(1)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1001110 (1)(0)(0)(1)(1)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1001111 (1)(0)(0)(1)(1)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1010000 (1)(0)(1)(0)(0)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1010001 (1)(0)(1)(0)(0)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1010010 (1)(0)(1)(0)(0)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1010011 (1)(0)(1)(0)(0)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1010100 (1)(0)(1)(0)(1)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1010101 (1)(0)(1)(0)(1)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1010110 (1)(0)(1)(0)(1)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1010111 (1)(0)(1)(0)(1)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1011000 (1)(0)(1)(1)(0)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1011001 (1)(0)(1)(1)(0)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1011010 (1)(0)(1)(1)(0)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1011011 (1)(0)(1)(1)(0)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1011100 (1)(0)(1)(1)(1)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1011101 (1)(0)(1)(1)(1)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1011110 (1)(0)(1)(1)(1)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1011111 (1)(0)(1)(1)(1)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1100000 (1)(1)(0)(0)(0)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1100001 (1)(1)(0)(0)(0)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1100010 (1)(1)(0)(0)(0)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1100011 (1)(1)(0)(0)(0)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1100100 (1)(1)(0)(0)(1)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1100101 (1)(1)(0)(0)(1)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1100110 (1)(1)(0)(0)(1)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1100111 (1)(1)(0)(0)(1)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1101000 (1)(1)(0)(1)(0)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1101001 (1)(1)(0)(1)(0)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1101010 (1)(1)(0)(1)(0)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1101011 (1)(1)(0)(1)(0)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1101100 (1)(1)(0)(1)(1)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1101101 (1)(1)(0)(1)(1)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1101110 (1)(1)(0)(1)(1)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1101111 (1)(1)(0)(1)(1)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1110000 (1)(1)(1)(0)(0)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1110001 (1)(1)(1)(0)(0)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1110010 (1)(1)(1)(0)(0)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1110011 (1)(1)(1)(0)(0)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1110100 (1)(1)(1)(0)(1)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1110101 (1)(1)(1)(0)(1)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1110110 (1)(1)(1)(0)(1)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1110111 (1)(1)(1)(0)(1)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1111000 (1)(1)(1)(1)(0)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1111001 (1)(1)(1)(1)(0)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1111010 (1)(1)(1)(1)(0)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1111011 (1)(1)(1)(1)(0)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1111100 (1)(1)(1)(1)(1)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1111101 (1)(1)(1)(1)(1)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1111110 (1)(1)(1)(1)(1)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1111111 (1)(1)(1)(1)(1)(1)(1), \r
+\r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00000000 (0)(0)(0)(0)(0)(0)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00000001 (0)(0)(0)(0)(0)(0)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00000010 (0)(0)(0)(0)(0)(0)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00000011 (0)(0)(0)(0)(0)(0)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00000100 (0)(0)(0)(0)(0)(1)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00000101 (0)(0)(0)(0)(0)(1)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00000110 (0)(0)(0)(0)(0)(1)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00000111 (0)(0)(0)(0)(0)(1)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00001000 (0)(0)(0)(0)(1)(0)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00001001 (0)(0)(0)(0)(1)(0)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00001010 (0)(0)(0)(0)(1)(0)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00001011 (0)(0)(0)(0)(1)(0)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00001100 (0)(0)(0)(0)(1)(1)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00001101 (0)(0)(0)(0)(1)(1)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00001110 (0)(0)(0)(0)(1)(1)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00001111 (0)(0)(0)(0)(1)(1)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00010000 (0)(0)(0)(1)(0)(0)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00010001 (0)(0)(0)(1)(0)(0)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00010010 (0)(0)(0)(1)(0)(0)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00010011 (0)(0)(0)(1)(0)(0)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00010100 (0)(0)(0)(1)(0)(1)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00010101 (0)(0)(0)(1)(0)(1)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00010110 (0)(0)(0)(1)(0)(1)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00010111 (0)(0)(0)(1)(0)(1)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00011000 (0)(0)(0)(1)(1)(0)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00011001 (0)(0)(0)(1)(1)(0)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00011010 (0)(0)(0)(1)(1)(0)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00011011 (0)(0)(0)(1)(1)(0)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00011100 (0)(0)(0)(1)(1)(1)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00011101 (0)(0)(0)(1)(1)(1)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00011110 (0)(0)(0)(1)(1)(1)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00011111 (0)(0)(0)(1)(1)(1)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00100000 (0)(0)(1)(0)(0)(0)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00100001 (0)(0)(1)(0)(0)(0)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00100010 (0)(0)(1)(0)(0)(0)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00100011 (0)(0)(1)(0)(0)(0)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00100100 (0)(0)(1)(0)(0)(1)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00100101 (0)(0)(1)(0)(0)(1)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00100110 (0)(0)(1)(0)(0)(1)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00100111 (0)(0)(1)(0)(0)(1)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00101000 (0)(0)(1)(0)(1)(0)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00101001 (0)(0)(1)(0)(1)(0)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00101010 (0)(0)(1)(0)(1)(0)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00101011 (0)(0)(1)(0)(1)(0)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00101100 (0)(0)(1)(0)(1)(1)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00101101 (0)(0)(1)(0)(1)(1)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00101110 (0)(0)(1)(0)(1)(1)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00101111 (0)(0)(1)(0)(1)(1)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00110000 (0)(0)(1)(1)(0)(0)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00110001 (0)(0)(1)(1)(0)(0)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00110010 (0)(0)(1)(1)(0)(0)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00110011 (0)(0)(1)(1)(0)(0)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00110100 (0)(0)(1)(1)(0)(1)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00110101 (0)(0)(1)(1)(0)(1)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00110110 (0)(0)(1)(1)(0)(1)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00110111 (0)(0)(1)(1)(0)(1)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00111000 (0)(0)(1)(1)(1)(0)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00111001 (0)(0)(1)(1)(1)(0)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00111010 (0)(0)(1)(1)(1)(0)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00111011 (0)(0)(1)(1)(1)(0)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00111100 (0)(0)(1)(1)(1)(1)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00111101 (0)(0)(1)(1)(1)(1)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00111110 (0)(0)(1)(1)(1)(1)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00111111 (0)(0)(1)(1)(1)(1)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01000000 (0)(1)(0)(0)(0)(0)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01000001 (0)(1)(0)(0)(0)(0)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01000010 (0)(1)(0)(0)(0)(0)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01000011 (0)(1)(0)(0)(0)(0)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01000100 (0)(1)(0)(0)(0)(1)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01000101 (0)(1)(0)(0)(0)(1)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01000110 (0)(1)(0)(0)(0)(1)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01000111 (0)(1)(0)(0)(0)(1)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01001000 (0)(1)(0)(0)(1)(0)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01001001 (0)(1)(0)(0)(1)(0)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01001010 (0)(1)(0)(0)(1)(0)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01001011 (0)(1)(0)(0)(1)(0)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01001100 (0)(1)(0)(0)(1)(1)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01001101 (0)(1)(0)(0)(1)(1)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01001110 (0)(1)(0)(0)(1)(1)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01001111 (0)(1)(0)(0)(1)(1)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01010000 (0)(1)(0)(1)(0)(0)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01010001 (0)(1)(0)(1)(0)(0)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01010010 (0)(1)(0)(1)(0)(0)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01010011 (0)(1)(0)(1)(0)(0)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01010100 (0)(1)(0)(1)(0)(1)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01010101 (0)(1)(0)(1)(0)(1)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01010110 (0)(1)(0)(1)(0)(1)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01010111 (0)(1)(0)(1)(0)(1)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01011000 (0)(1)(0)(1)(1)(0)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01011001 (0)(1)(0)(1)(1)(0)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01011010 (0)(1)(0)(1)(1)(0)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01011011 (0)(1)(0)(1)(1)(0)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01011100 (0)(1)(0)(1)(1)(1)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01011101 (0)(1)(0)(1)(1)(1)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01011110 (0)(1)(0)(1)(1)(1)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01011111 (0)(1)(0)(1)(1)(1)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01100000 (0)(1)(1)(0)(0)(0)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01100001 (0)(1)(1)(0)(0)(0)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01100010 (0)(1)(1)(0)(0)(0)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01100011 (0)(1)(1)(0)(0)(0)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01100100 (0)(1)(1)(0)(0)(1)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01100101 (0)(1)(1)(0)(0)(1)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01100110 (0)(1)(1)(0)(0)(1)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01100111 (0)(1)(1)(0)(0)(1)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01101000 (0)(1)(1)(0)(1)(0)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01101001 (0)(1)(1)(0)(1)(0)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01101010 (0)(1)(1)(0)(1)(0)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01101011 (0)(1)(1)(0)(1)(0)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01101100 (0)(1)(1)(0)(1)(1)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01101101 (0)(1)(1)(0)(1)(1)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01101110 (0)(1)(1)(0)(1)(1)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01101111 (0)(1)(1)(0)(1)(1)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01110000 (0)(1)(1)(1)(0)(0)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01110001 (0)(1)(1)(1)(0)(0)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01110010 (0)(1)(1)(1)(0)(0)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01110011 (0)(1)(1)(1)(0)(0)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01110100 (0)(1)(1)(1)(0)(1)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01110101 (0)(1)(1)(1)(0)(1)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01110110 (0)(1)(1)(1)(0)(1)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01110111 (0)(1)(1)(1)(0)(1)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01111000 (0)(1)(1)(1)(1)(0)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01111001 (0)(1)(1)(1)(1)(0)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01111010 (0)(1)(1)(1)(1)(0)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01111011 (0)(1)(1)(1)(1)(0)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01111100 (0)(1)(1)(1)(1)(1)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01111101 (0)(1)(1)(1)(1)(1)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01111110 (0)(1)(1)(1)(1)(1)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01111111 (0)(1)(1)(1)(1)(1)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10000000 (1)(0)(0)(0)(0)(0)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10000001 (1)(0)(0)(0)(0)(0)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10000010 (1)(0)(0)(0)(0)(0)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10000011 (1)(0)(0)(0)(0)(0)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10000100 (1)(0)(0)(0)(0)(1)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10000101 (1)(0)(0)(0)(0)(1)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10000110 (1)(0)(0)(0)(0)(1)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10000111 (1)(0)(0)(0)(0)(1)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10001000 (1)(0)(0)(0)(1)(0)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10001001 (1)(0)(0)(0)(1)(0)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10001010 (1)(0)(0)(0)(1)(0)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10001011 (1)(0)(0)(0)(1)(0)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10001100 (1)(0)(0)(0)(1)(1)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10001101 (1)(0)(0)(0)(1)(1)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10001110 (1)(0)(0)(0)(1)(1)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10001111 (1)(0)(0)(0)(1)(1)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10010000 (1)(0)(0)(1)(0)(0)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10010001 (1)(0)(0)(1)(0)(0)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10010010 (1)(0)(0)(1)(0)(0)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10010011 (1)(0)(0)(1)(0)(0)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10010100 (1)(0)(0)(1)(0)(1)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10010101 (1)(0)(0)(1)(0)(1)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10010110 (1)(0)(0)(1)(0)(1)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10010111 (1)(0)(0)(1)(0)(1)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10011000 (1)(0)(0)(1)(1)(0)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10011001 (1)(0)(0)(1)(1)(0)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10011010 (1)(0)(0)(1)(1)(0)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10011011 (1)(0)(0)(1)(1)(0)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10011100 (1)(0)(0)(1)(1)(1)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10011101 (1)(0)(0)(1)(1)(1)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10011110 (1)(0)(0)(1)(1)(1)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10011111 (1)(0)(0)(1)(1)(1)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10100000 (1)(0)(1)(0)(0)(0)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10100001 (1)(0)(1)(0)(0)(0)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10100010 (1)(0)(1)(0)(0)(0)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10100011 (1)(0)(1)(0)(0)(0)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10100100 (1)(0)(1)(0)(0)(1)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10100101 (1)(0)(1)(0)(0)(1)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10100110 (1)(0)(1)(0)(0)(1)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10100111 (1)(0)(1)(0)(0)(1)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10101000 (1)(0)(1)(0)(1)(0)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10101001 (1)(0)(1)(0)(1)(0)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10101010 (1)(0)(1)(0)(1)(0)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10101011 (1)(0)(1)(0)(1)(0)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10101100 (1)(0)(1)(0)(1)(1)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10101101 (1)(0)(1)(0)(1)(1)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10101110 (1)(0)(1)(0)(1)(1)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10101111 (1)(0)(1)(0)(1)(1)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10110000 (1)(0)(1)(1)(0)(0)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10110001 (1)(0)(1)(1)(0)(0)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10110010 (1)(0)(1)(1)(0)(0)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10110011 (1)(0)(1)(1)(0)(0)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10110100 (1)(0)(1)(1)(0)(1)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10110101 (1)(0)(1)(1)(0)(1)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10110110 (1)(0)(1)(1)(0)(1)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10110111 (1)(0)(1)(1)(0)(1)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10111000 (1)(0)(1)(1)(1)(0)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10111001 (1)(0)(1)(1)(1)(0)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10111010 (1)(0)(1)(1)(1)(0)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10111011 (1)(0)(1)(1)(1)(0)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10111100 (1)(0)(1)(1)(1)(1)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10111101 (1)(0)(1)(1)(1)(1)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10111110 (1)(0)(1)(1)(1)(1)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10111111 (1)(0)(1)(1)(1)(1)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11000000 (1)(1)(0)(0)(0)(0)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11000001 (1)(1)(0)(0)(0)(0)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11000010 (1)(1)(0)(0)(0)(0)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11000011 (1)(1)(0)(0)(0)(0)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11000100 (1)(1)(0)(0)(0)(1)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11000101 (1)(1)(0)(0)(0)(1)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11000110 (1)(1)(0)(0)(0)(1)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11000111 (1)(1)(0)(0)(0)(1)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11001000 (1)(1)(0)(0)(1)(0)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11001001 (1)(1)(0)(0)(1)(0)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11001010 (1)(1)(0)(0)(1)(0)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11001011 (1)(1)(0)(0)(1)(0)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11001100 (1)(1)(0)(0)(1)(1)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11001101 (1)(1)(0)(0)(1)(1)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11001110 (1)(1)(0)(0)(1)(1)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11001111 (1)(1)(0)(0)(1)(1)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11010000 (1)(1)(0)(1)(0)(0)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11010001 (1)(1)(0)(1)(0)(0)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11010010 (1)(1)(0)(1)(0)(0)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11010011 (1)(1)(0)(1)(0)(0)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11010100 (1)(1)(0)(1)(0)(1)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11010101 (1)(1)(0)(1)(0)(1)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11010110 (1)(1)(0)(1)(0)(1)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11010111 (1)(1)(0)(1)(0)(1)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11011000 (1)(1)(0)(1)(1)(0)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11011001 (1)(1)(0)(1)(1)(0)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11011010 (1)(1)(0)(1)(1)(0)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11011011 (1)(1)(0)(1)(1)(0)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11011100 (1)(1)(0)(1)(1)(1)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11011101 (1)(1)(0)(1)(1)(1)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11011110 (1)(1)(0)(1)(1)(1)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11011111 (1)(1)(0)(1)(1)(1)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11100000 (1)(1)(1)(0)(0)(0)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11100001 (1)(1)(1)(0)(0)(0)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11100010 (1)(1)(1)(0)(0)(0)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11100011 (1)(1)(1)(0)(0)(0)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11100100 (1)(1)(1)(0)(0)(1)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11100101 (1)(1)(1)(0)(0)(1)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11100110 (1)(1)(1)(0)(0)(1)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11100111 (1)(1)(1)(0)(0)(1)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11101000 (1)(1)(1)(0)(1)(0)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11101001 (1)(1)(1)(0)(1)(0)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11101010 (1)(1)(1)(0)(1)(0)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11101011 (1)(1)(1)(0)(1)(0)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11101100 (1)(1)(1)(0)(1)(1)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11101101 (1)(1)(1)(0)(1)(1)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11101110 (1)(1)(1)(0)(1)(1)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11101111 (1)(1)(1)(0)(1)(1)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11110000 (1)(1)(1)(1)(0)(0)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11110001 (1)(1)(1)(1)(0)(0)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11110010 (1)(1)(1)(1)(0)(0)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11110011 (1)(1)(1)(1)(0)(0)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11110100 (1)(1)(1)(1)(0)(1)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11110101 (1)(1)(1)(1)(0)(1)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11110110 (1)(1)(1)(1)(0)(1)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11110111 (1)(1)(1)(1)(0)(1)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11111000 (1)(1)(1)(1)(1)(0)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11111001 (1)(1)(1)(1)(1)(0)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11111010 (1)(1)(1)(1)(1)(0)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11111011 (1)(1)(1)(1)(1)(0)(1)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11111100 (1)(1)(1)(1)(1)(1)(0)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11111101 (1)(1)(1)(1)(1)(1)(0)(1), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11111110 (1)(1)(1)(1)(1)(1)(1)(0), \r
+#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11111111 (1)(1)(1)(1)(1)(1)(1)(1), \r
+\r
+#endif\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/utility/compare_pointees.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/utility/compare_pointees.hpp
new file mode 100644 (file)
index 0000000..7256979
--- /dev/null
@@ -0,0 +1,68 @@
+// Copyright (C) 2003, Fernando Luis Cacciola Carballal.\r
+//\r
+// Use, modification, and distribution is subject to the Boost Software\r
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/lib/optional for documentation.\r
+//\r
+// You are welcome to contact the author at:\r
+//  fernando_cacciola@hotmail.com\r
+//\r
+#ifndef BOOST_UTILITY_COMPARE_POINTEES_25AGO2003_HPP\r
+#define BOOST_UTILITY_COMPARE_POINTEES_25AGO2003_HPP\r
+\r
+#include<functional>\r
+\r
+namespace boost {\r
+\r
+// template<class OP> bool equal_pointees(OP const& x, OP const& y);\r
+// template<class OP> struct equal_pointees_t;\r
+//\r
+// Being OP a model of OptionalPointee (either a pointer or an optional):\r
+//\r
+// If both x and y have valid pointees, returns the result of (*x == *y)\r
+// If only one has a valid pointee, returns false.\r
+// If none have valid pointees, returns true.\r
+// No-throw\r
+template<class OptionalPointee>\r
+inline\r
+bool equal_pointees ( OptionalPointee const& x, OptionalPointee const& y )\r
+{\r
+  return (!x) != (!y) ? false : ( !x ? true : (*x) == (*y) ) ;\r
+}\r
+\r
+template<class OptionalPointee>\r
+struct equal_pointees_t : std::binary_function<OptionalPointee,OptionalPointee,bool>\r
+{\r
+  bool operator() ( OptionalPointee const& x, OptionalPointee const& y ) const\r
+    { return equal_pointees(x,y) ; }\r
+} ;\r
+\r
+// template<class OP> bool less_pointees(OP const& x, OP const& y);\r
+// template<class OP> struct less_pointees_t;\r
+//\r
+// Being OP a model of OptionalPointee (either a pointer or an optional):\r
+//\r
+// If y has not a valid pointee, returns false.\r
+// ElseIf x has not a valid pointee, returns true.\r
+// ElseIf both x and y have valid pointees, returns the result of (*x < *y)\r
+// No-throw\r
+template<class OptionalPointee>\r
+inline\r
+bool less_pointees ( OptionalPointee const& x, OptionalPointee const& y )\r
+{\r
+  return !y ? false : ( !x ? true : (*x) < (*y) ) ;\r
+}\r
+\r
+template<class OptionalPointee>\r
+struct less_pointees_t : std::binary_function<OptionalPointee,OptionalPointee,bool>\r
+{\r
+  bool operator() ( OptionalPointee const& x, OptionalPointee const& y ) const\r
+    { return less_pointees(x,y) ; }\r
+} ;\r
+\r
+} // namespace boost\r
+\r
+#endif\r
+\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/utility/detail/in_place_factory_prefix.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/utility/detail/in_place_factory_prefix.hpp
new file mode 100644 (file)
index 0000000..03a08fb
--- /dev/null
@@ -0,0 +1,36 @@
+// Copyright (C) 2003, Fernando Luis Cacciola Carballal.\r
+// Copyright (C) 2007, Tobias Schwinger.\r
+//\r
+// Use, modification, and distribution is subject to the Boost Software\r
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/lib/optional for documentation.\r
+//\r
+// You are welcome to contact the author at:\r
+//  fernando_cacciola@hotmail.com\r
+//\r
+#ifndef BOOST_UTILITY_DETAIL_INPLACE_FACTORY_PREFIX_04APR2007_HPP\r
+#define BOOST_UTILITY_DETAIL_INPLACE_FACTORY_PREFIX_04APR2007_HPP\r
+\r
+#include <new>\r
+#include <cstddef>\r
+#include <boost/config.hpp>\r
+#include <boost/preprocessor/cat.hpp>\r
+#include <boost/preprocessor/punctuation/paren.hpp>\r
+#include <boost/preprocessor/iteration/iterate.hpp>\r
+#include <boost/preprocessor/repetition/repeat.hpp>\r
+#include <boost/preprocessor/repetition/enum.hpp>\r
+#include <boost/preprocessor/repetition/enum_params.hpp>\r
+#include <boost/preprocessor/repetition/enum_binary_params.hpp>\r
+#include <boost/preprocessor/repetition/enum_trailing_params.hpp>\r
+\r
+#define BOOST_DEFINE_INPLACE_FACTORY_CLASS_MEMBER_INIT(z,n,_) BOOST_PP_CAT(m_a,n) BOOST_PP_LPAREN() BOOST_PP_CAT(a,n) BOOST_PP_RPAREN()\r
+#define BOOST_DEFINE_INPLACE_FACTORY_CLASS_MEMBER_DECL(z,n,_) BOOST_PP_CAT(A,n) const& BOOST_PP_CAT(m_a,n);\r
+\r
+#define BOOST_MAX_INPLACE_FACTORY_ARITY 10\r
+\r
+#undef BOOST_UTILITY_DETAIL_INPLACE_FACTORY_SUFFIX_04APR2007_HPP\r
+\r
+#endif\r
+\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/utility/detail/in_place_factory_suffix.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/utility/detail/in_place_factory_suffix.hpp
new file mode 100644 (file)
index 0000000..9a3cf22
--- /dev/null
@@ -0,0 +1,23 @@
+// Copyright (C) 2003, Fernando Luis Cacciola Carballal.\r
+// Copyright (C) 2007, Tobias Schwinger.\r
+//\r
+// Use, modification, and distribution is subject to the Boost Software\r
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/lib/optional for documentation.\r
+//\r
+// You are welcome to contact the author at:\r
+//  fernando_cacciola@hotmail.com\r
+//\r
+#ifndef BOOST_UTILITY_DETAIL_INPLACE_FACTORY_SUFFIX_04APR2007_HPP\r
+#define BOOST_UTILITY_DETAIL_INPLACE_FACTORY_SUFFIX_04APR2007_HPP\r
+\r
+#undef BOOST_DEFINE_INPLACE_FACTORY_CLASS_MEMBER_INIT\r
+#undef BOOST_DEFINE_INPLACE_FACTORY_CLASS_MEMBER_DECL\r
+#undef BOOST_MAX_INPLACE_FACTORY_ARITY\r
+\r
+#undef BOOST_UTILITY_DETAIL_INPLACE_FACTORY_PREFIX_04APR2007_HPP\r
+\r
+#endif\r
+\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/utility/detail/result_of_iterate.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/utility/detail/result_of_iterate.hpp
new file mode 100644 (file)
index 0000000..dd32cc2
--- /dev/null
@@ -0,0 +1,89 @@
+// Boost result_of library\r
+\r
+//  Copyright Douglas Gregor 2004. Use, modification and\r
+//  distribution is subject to the Boost Software License, Version\r
+//  1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+// For more information, see http://www.boost.org/libs/utility\r
+#if !defined(BOOST_PP_IS_ITERATING)\r
+# error Boost result_of - do not include this file!\r
+#endif\r
+\r
+// CWPro8 requires an argument in a function type specialization\r
+#if BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3002)) && BOOST_PP_ITERATION() == 0\r
+# define BOOST_RESULT_OF_ARGS void\r
+#else\r
+# define BOOST_RESULT_OF_ARGS BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(),T)\r
+#endif\r
+\r
+#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x551))\r
+template<typename F BOOST_PP_COMMA_IF(BOOST_PP_ITERATION())\r
+         BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(),typename T)>\r
+struct result_of<F(BOOST_RESULT_OF_ARGS)>\r
+    : boost::detail::result_of_impl<F, F(BOOST_RESULT_OF_ARGS), (boost::detail::has_result_type<F>::value)> {};\r
+#endif\r
+\r
+#undef BOOST_RESULT_OF_ARGS\r
+\r
+#if BOOST_PP_ITERATION() >= 1 \r
+\r
+namespace detail {\r
+\r
+template<typename R,  typename FArgs BOOST_PP_COMMA_IF(BOOST_PP_ITERATION())\r
+         BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(),typename T)>\r
+struct result_of_impl<R (*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(),T)), FArgs, false>\r
+{\r
+  typedef R type;\r
+};\r
+\r
+template<typename R,  typename FArgs BOOST_PP_COMMA_IF(BOOST_PP_ITERATION())\r
+         BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(),typename T)>\r
+struct result_of_impl<R (&)(BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(),T)), FArgs, false>\r
+{\r
+  typedef R type;\r
+};\r
+\r
+#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x551))\r
+template<typename R, typename FArgs BOOST_PP_COMMA_IF(BOOST_PP_ITERATION())\r
+         BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(),typename T)>\r
+struct result_of_impl<R (T0::*)\r
+                     (BOOST_PP_ENUM_SHIFTED_PARAMS(BOOST_PP_ITERATION(),T)),\r
+                 FArgs, false>\r
+{\r
+  typedef R type;\r
+};\r
+\r
+template<typename R, typename FArgs BOOST_PP_COMMA_IF(BOOST_PP_ITERATION())\r
+         BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(),typename T)>\r
+struct result_of_impl<R (T0::*)\r
+                     (BOOST_PP_ENUM_SHIFTED_PARAMS(BOOST_PP_ITERATION(),T))\r
+                     const,\r
+                 FArgs, false>\r
+{\r
+  typedef R type;\r
+};\r
+\r
+template<typename R, typename FArgs BOOST_PP_COMMA_IF(BOOST_PP_ITERATION())\r
+         BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(),typename T)>\r
+struct result_of_impl<R (T0::*)\r
+                     (BOOST_PP_ENUM_SHIFTED_PARAMS(BOOST_PP_ITERATION(),T))\r
+                     volatile,\r
+                 FArgs, false>\r
+{\r
+  typedef R type;\r
+};\r
+\r
+template<typename R, typename FArgs BOOST_PP_COMMA_IF(BOOST_PP_ITERATION())\r
+         BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(),typename T)>\r
+struct result_of_impl<R (T0::*)\r
+                     (BOOST_PP_ENUM_SHIFTED_PARAMS(BOOST_PP_ITERATION(),T))\r
+                     const volatile,\r
+                 FArgs, false>\r
+{\r
+  typedef R type;\r
+};\r
+#endif\r
+\r
+}\r
+#endif\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/utility/enable_if.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/utility/enable_if.hpp
new file mode 100644 (file)
index 0000000..d89eb9f
--- /dev/null
@@ -0,0 +1,119 @@
+// Boost enable_if library\r
+\r
+// Copyright 2003 (c) The Trustees of Indiana University.\r
+\r
+// Use, modification, and distribution is subject to the Boost Software\r
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+//    Authors: Jaakko Jarvi (jajarvi at osl.iu.edu)\r
+//             Jeremiah Willcock (jewillco at osl.iu.edu)\r
+//             Andrew Lumsdaine (lums at osl.iu.edu)\r
+\r
+\r
+#ifndef BOOST_UTILITY_ENABLE_IF_HPP\r
+#define BOOST_UTILITY_ENABLE_IF_HPP\r
+\r
+#include "boost/config.hpp"\r
+\r
+// Even the definition of enable_if causes problems on some compilers,\r
+// so it's macroed out for all compilers that do not support SFINAE\r
+\r
+#ifndef BOOST_NO_SFINAE\r
+\r
+namespace boost\r
+{\r
\r
+  template <bool B, class T = void>\r
+  struct enable_if_c {\r
+    typedef T type;\r
+  };\r
+\r
+  template <class T>\r
+  struct enable_if_c<false, T> {};\r
+\r
+  template <class Cond, class T = void> \r
+  struct enable_if : public enable_if_c<Cond::value, T> {};\r
+\r
+  template <bool B, class T>\r
+  struct lazy_enable_if_c {\r
+    typedef typename T::type type;\r
+  };\r
+\r
+  template <class T>\r
+  struct lazy_enable_if_c<false, T> {};\r
+\r
+  template <class Cond, class T> \r
+  struct lazy_enable_if : public lazy_enable_if_c<Cond::value, T> {};\r
+\r
+\r
+  template <bool B, class T = void>\r
+  struct disable_if_c {\r
+    typedef T type;\r
+  };\r
+\r
+  template <class T>\r
+  struct disable_if_c<true, T> {};\r
+\r
+  template <class Cond, class T = void> \r
+  struct disable_if : public disable_if_c<Cond::value, T> {};\r
+\r
+  template <bool B, class T>\r
+  struct lazy_disable_if_c {\r
+    typedef typename T::type type;\r
+  };\r
+\r
+  template <class T>\r
+  struct lazy_disable_if_c<true, T> {};\r
+\r
+  template <class Cond, class T> \r
+  struct lazy_disable_if : public lazy_disable_if_c<Cond::value, T> {};\r
+\r
+} // namespace boost\r
+\r
+#else\r
+\r
+namespace boost {\r
+\r
+  namespace detail { typedef void enable_if_default_T; }\r
+\r
+  template <typename T>\r
+  struct enable_if_does_not_work_on_this_compiler;\r
+\r
+  template <bool B, class T = detail::enable_if_default_T>\r
+  struct enable_if_c : enable_if_does_not_work_on_this_compiler<T>\r
+  { };\r
+\r
+  template <bool B, class T = detail::enable_if_default_T> \r
+  struct disable_if_c : enable_if_does_not_work_on_this_compiler<T>\r
+  { };\r
+\r
+  template <bool B, class T = detail::enable_if_default_T> \r
+  struct lazy_enable_if_c : enable_if_does_not_work_on_this_compiler<T>\r
+  { };\r
+\r
+  template <bool B, class T = detail::enable_if_default_T> \r
+  struct lazy_disable_if_c : enable_if_does_not_work_on_this_compiler<T>\r
+  { };\r
+\r
+  template <class Cond, class T = detail::enable_if_default_T> \r
+  struct enable_if : enable_if_does_not_work_on_this_compiler<T>\r
+  { };\r
+\r
+  template <class Cond, class T = detail::enable_if_default_T> \r
+  struct disable_if : enable_if_does_not_work_on_this_compiler<T>\r
+  { };\r
+\r
+  template <class Cond, class T = detail::enable_if_default_T> \r
+  struct lazy_enable_if : enable_if_does_not_work_on_this_compiler<T>\r
+  { };\r
+\r
+  template <class Cond, class T = detail::enable_if_default_T> \r
+  struct lazy_disable_if : enable_if_does_not_work_on_this_compiler<T>\r
+  { };\r
+\r
+} // namespace boost\r
+\r
+#endif // BOOST_NO_SFINAE\r
+\r
+#endif\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/utility/in_place_factory.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/utility/in_place_factory.hpp
new file mode 100644 (file)
index 0000000..a7f72c3
--- /dev/null
@@ -0,0 +1,88 @@
+// Copyright (C) 2003, Fernando Luis Cacciola Carballal.\r
+// Copyright (C) 2007, Tobias Schwinger.\r
+//\r
+// Use, modification, and distribution is subject to the Boost Software\r
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/lib/optional for documentation.\r
+//\r
+// You are welcome to contact the author at:\r
+//  fernando_cacciola@hotmail.com\r
+//\r
+#ifndef BOOST_UTILITY_INPLACE_FACTORY_04APR2007_HPP\r
+#ifndef BOOST_PP_IS_ITERATING\r
+\r
+#include <boost/utility/detail/in_place_factory_prefix.hpp>\r
+\r
+namespace boost {\r
+\r
+class in_place_factory_base {} ;\r
+\r
+#define  BOOST_PP_ITERATION_LIMITS (0, BOOST_MAX_INPLACE_FACTORY_ARITY)\r
+#define  BOOST_PP_FILENAME_1 <boost/utility/in_place_factory.hpp>\r
+#include BOOST_PP_ITERATE()\r
+\r
+} // namespace boost\r
+\r
+#include <boost/utility/detail/in_place_factory_suffix.hpp>\r
+\r
+#define BOOST_UTILITY_INPLACE_FACTORY_04APR2007_HPP\r
+#else\r
+#define N BOOST_PP_ITERATION()\r
+\r
+#if N\r
+template< BOOST_PP_ENUM_PARAMS(N, class A) >\r
+#endif\r
+class BOOST_PP_CAT(in_place_factory,N)\r
+  : \r
+  public in_place_factory_base\r
+{\r
+public:\r
+\r
+  explicit BOOST_PP_CAT(in_place_factory,N)\r
+      ( BOOST_PP_ENUM_BINARY_PARAMS(N,A,const& a) )\r
+#if N > 0\r
+    : BOOST_PP_ENUM(N, BOOST_DEFINE_INPLACE_FACTORY_CLASS_MEMBER_INIT, _)\r
+#endif\r
+  {}\r
+\r
+  template<class T>\r
+  void* apply(void* address\r
+      BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE(T)) const\r
+  {\r
+    return new(address) T( BOOST_PP_ENUM_PARAMS(N, m_a) );\r
+  }\r
+\r
+  template<class T>\r
+  void* apply(void* address, std::size_t n\r
+      BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE(T)) const\r
+  {\r
+    for(char* next = address = this->BOOST_NESTED_TEMPLATE apply<T>(address);\r
+        !! --n;)\r
+      this->BOOST_NESTED_TEMPLATE apply<T>(next = next+sizeof(T));\r
+    return address; \r
+  }\r
+\r
+  BOOST_PP_REPEAT(N, BOOST_DEFINE_INPLACE_FACTORY_CLASS_MEMBER_DECL, _)\r
+};\r
+\r
+#if N > 0\r
+template< BOOST_PP_ENUM_PARAMS(N, class A) >\r
+inline BOOST_PP_CAT(in_place_factory,N)< BOOST_PP_ENUM_PARAMS(N, A) >\r
+in_place( BOOST_PP_ENUM_BINARY_PARAMS(N, A, const& a) )\r
+{\r
+  return BOOST_PP_CAT(in_place_factory,N)< BOOST_PP_ENUM_PARAMS(N, A) >\r
+      ( BOOST_PP_ENUM_PARAMS(N, a) );\r
+}\r
+#else\r
+inline in_place_factory0 in_place()\r
+{\r
+  return in_place_factory0();\r
+}\r
+#endif\r
+\r
+#undef N\r
+#endif\r
+#endif\r
+\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/utility/result_of.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/utility/result_of.hpp
new file mode 100644 (file)
index 0000000..26cab6f
--- /dev/null
@@ -0,0 +1,88 @@
+// Boost result_of library\r
+\r
+//  Copyright Douglas Gregor 2004. Use, modification and\r
+//  distribution is subject to the Boost Software License, Version\r
+//  1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+//  http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+// For more information, see http://www.boost.org/libs/utility\r
+#ifndef BOOST_RESULT_OF_HPP\r
+#define BOOST_RESULT_OF_HPP\r
+\r
+#include <boost/config.hpp>\r
+#include <boost/type_traits/ice.hpp>\r
+#include <boost/type.hpp>\r
+#include <boost/preprocessor.hpp>\r
+#include <boost/detail/workaround.hpp>\r
+#include <boost/mpl/has_xxx.hpp>\r
+#include <boost/mpl/if.hpp>\r
+#include <boost/mpl/bool.hpp>\r
+\r
+#ifndef BOOST_RESULT_OF_NUM_ARGS\r
+#  define BOOST_RESULT_OF_NUM_ARGS 10\r
+#endif\r
+\r
+namespace boost {\r
+\r
+template<typename F> struct result_of;\r
+\r
+#if !defined(BOOST_NO_SFINAE) && !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)\r
+namespace detail {\r
+\r
+BOOST_MPL_HAS_XXX_TRAIT_DEF(result_type)\r
+\r
+template<typename F, typename FArgs, bool HasResultType> struct result_of_impl;\r
+\r
+template<typename F>\r
+struct result_of_void_impl\r
+{\r
+  typedef void type;\r
+};\r
+\r
+template<typename R>\r
+struct result_of_void_impl<R (*)(void)>\r
+{\r
+  typedef R type;\r
+};\r
+\r
+template<typename R>\r
+struct result_of_void_impl<R (&)(void)>\r
+{\r
+  typedef R type;\r
+};\r
+\r
+template<typename F, typename FArgs>\r
+struct result_of_impl<F, FArgs, true>\r
+{\r
+  typedef typename F::result_type type;\r
+};\r
+\r
+template<typename FArgs>\r
+struct is_function_with_no_args : mpl::false_ {};\r
+\r
+template<typename F>\r
+struct is_function_with_no_args<F(void)> : mpl::true_ {};\r
+\r
+template<typename F, typename FArgs>\r
+struct result_of_nested_result : F::template result<FArgs>\r
+{};\r
+\r
+template<typename F, typename FArgs>\r
+struct result_of_impl<F, FArgs, false>\r
+  : mpl::if_<is_function_with_no_args<FArgs>,\r
+             result_of_void_impl<F>,\r
+             result_of_nested_result<F, FArgs> >::type\r
+{};\r
+\r
+} // end namespace detail\r
+\r
+#define BOOST_PP_ITERATION_PARAMS_1 (3,(0,BOOST_RESULT_OF_NUM_ARGS,<boost/utility/detail/result_of_iterate.hpp>))\r
+#include BOOST_PP_ITERATE()\r
+\r
+#else\r
+#  define BOOST_NO_RESULT_OF 1\r
+#endif\r
+\r
+}\r
+\r
+#endif // BOOST_RESULT_OF_HPP\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/utility/swap.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/utility/swap.hpp
new file mode 100644 (file)
index 0000000..85de422
--- /dev/null
@@ -0,0 +1,55 @@
+// Copyright (C) 2007, 2008 Steven Watanabe, Joseph Gauterin, Niels Dekker\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. (See\r
+// accompanying file LICENSE_1_0.txt or copy at\r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+// For more information, see http://www.boost.org\r
+\r
+\r
+#ifndef BOOST_UTILITY_SWAP_HPP\r
+#define BOOST_UTILITY_SWAP_HPP\r
+\r
+// Note: the implementation of this utility contains various workarounds:\r
+// - swap_impl is put outside the boost namespace, to avoid infinite\r
+// recursion (causing stack overflow) when swapping objects of a primitive\r
+// type.\r
+// - swap_impl has a using-directive, rather than a using-declaration,\r
+// because some compilers (including MSVC 7.1, Borland 5.9.3, and\r
+// Intel 8.1) don't do argument-dependent lookup when it has a\r
+// using-declaration instead.\r
+// - boost::swap has two template arguments, instead of one, to\r
+// avoid ambiguity when swapping objects of a Boost type that does\r
+// not have its own boost::swap overload.\r
+\r
+#include <algorithm> //for std::swap\r
+#include <cstddef> //for std::size_t\r
+\r
+namespace boost_swap_impl\r
+{\r
+  template<class T>\r
+  void swap_impl(T& left, T& right)\r
+  {\r
+    using namespace std;//use std::swap if argument dependent lookup fails\r
+    swap(left,right);\r
+  }\r
+\r
+  template<class T, std::size_t N>\r
+  void swap_impl(T (& left)[N], T (& right)[N])\r
+  {\r
+    for (std::size_t i = 0; i < N; ++i)\r
+    {\r
+      ::boost_swap_impl::swap_impl(left[i], right[i]);\r
+    }\r
+  }\r
+}\r
+\r
+namespace boost\r
+{\r
+  template<class T1, class T2>\r
+  void swap(T1& left, T2& right)\r
+  {\r
+    ::boost_swap_impl::swap_impl(left, right);\r
+  }\r
+}\r
+\r
+#endif\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/utility/typed_in_place_factory.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/utility/typed_in_place_factory.hpp
new file mode 100644 (file)
index 0000000..7beb8cc
--- /dev/null
@@ -0,0 +1,77 @@
+// Copyright (C) 2003, Fernando Luis Cacciola Carballal.\r
+// Copyright (C) 2007, Tobias Schwinger.\r
+//\r
+// Use, modification, and distribution is subject to the Boost Software\r
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/lib/optional for documentation.\r
+//\r
+// You are welcome to contact the author at:\r
+//  fernando_cacciola@hotmail.com\r
+//\r
+#ifndef BOOST_UTILITY_TYPED_INPLACE_FACTORY_04APR2007_HPP\r
+#ifndef BOOST_PP_IS_ITERATING\r
+\r
+#include <boost/utility/detail/in_place_factory_prefix.hpp>\r
+\r
+namespace boost {\r
+\r
+class typed_in_place_factory_base {} ;\r
+\r
+#define  BOOST_PP_ITERATION_LIMITS (0, BOOST_MAX_INPLACE_FACTORY_ARITY)\r
+#define  BOOST_PP_FILENAME_1 <boost/utility/typed_in_place_factory.hpp>\r
+#include BOOST_PP_ITERATE()\r
+\r
+} // namespace boost\r
+\r
+#include <boost/utility/detail/in_place_factory_suffix.hpp>\r
+\r
+#define BOOST_UTILITY_TYPED_INPLACE_FACTORY_04APR2007_HPP\r
+#else \r
+#define N BOOST_PP_ITERATION()\r
+\r
+template< class T BOOST_PP_ENUM_TRAILING_PARAMS(N,class A) >\r
+class BOOST_PP_CAT(typed_in_place_factory,N) \r
+  : \r
+  public typed_in_place_factory_base\r
+{\r
+public:\r
+\r
+  typedef T value_type;\r
+\r
+  explicit BOOST_PP_CAT(typed_in_place_factory,N) \r
+      ( BOOST_PP_ENUM_BINARY_PARAMS(N, A, const& a) )\r
+#if N > 0\r
+    : BOOST_PP_ENUM(N, BOOST_DEFINE_INPLACE_FACTORY_CLASS_MEMBER_INIT, _)\r
+#endif\r
+  {}\r
+\r
+  void* apply (void* address) const\r
+  {\r
+    return new(address) T( BOOST_PP_ENUM_PARAMS(N, m_a) );\r
+  }\r
+\r
+  void* apply (void* address, std::size_t n) const\r
+  {\r
+    for(void* next = address = this->apply(address); !! --n;)\r
+      this->apply(next = static_cast<char *>(next) + sizeof(T));\r
+    return address; \r
+  }\r
+\r
+  BOOST_PP_REPEAT(N, BOOST_DEFINE_INPLACE_FACTORY_CLASS_MEMBER_DECL, _)\r
+};\r
+\r
+template< class T BOOST_PP_ENUM_TRAILING_PARAMS(N, class A) >\r
+inline BOOST_PP_CAT(typed_in_place_factory,N)<\r
+    T BOOST_PP_ENUM_TRAILING_PARAMS(N, A) >\r
+in_place( BOOST_PP_ENUM_BINARY_PARAMS(N, A, const& a) )\r
+{\r
+  return BOOST_PP_CAT(typed_in_place_factory,N)< \r
+      T BOOST_PP_ENUM_TRAILING_PARAMS(N, A) >( BOOST_PP_ENUM_PARAMS(N, a) );\r
+}\r
+\r
+#undef N\r
+#endif\r
+#endif\r
+\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/utility/value_init.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/utility/value_init.hpp
new file mode 100644 (file)
index 0000000..539ce70
--- /dev/null
@@ -0,0 +1,151 @@
+// (C) Copyright 2002-2008, Fernando Luis Cacciola Carballal.\r
+//\r
+// Distributed under the Boost Software License, Version 1.0. (See\r
+// accompanying file LICENSE_1_0.txt or copy at\r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// 21 Ago 2002 (Created) Fernando Cacciola\r
+// 24 Dec 2007 (Refactored and worked around various compiler bugs) Fernando Cacciola, Niels Dekker\r
+// 23 May 2008 (Fixed operator= const issue, added initialized_value) Niels Dekker, Fernando Cacciola\r
+// 21 Ago 2008 (Added swap) Niels Dekker, Fernando Cacciola\r
+// 20 Feb 2009 (Fixed logical const-ness issues) Niels Dekker, Fernando Cacciola\r
+//\r
+#ifndef BOOST_UTILITY_VALUE_INIT_21AGO2002_HPP\r
+#define BOOST_UTILITY_VALUE_INIT_21AGO2002_HPP\r
+\r
+// Note: The implementation of boost::value_initialized had to deal with the\r
+// fact that various compilers haven't fully implemented value-initialization.\r
+// The constructor of boost::value_initialized<T> works around these compiler\r
+// issues, by clearing the bytes of T, before constructing the T object it\r
+// contains. More details on these issues are at libs/utility/value_init.htm\r
+\r
+#include <boost/aligned_storage.hpp>\r
+#include <boost/detail/workaround.hpp>\r
+#include <boost/static_assert.hpp>\r
+#include <boost/type_traits/cv_traits.hpp>\r
+#include <boost/type_traits/alignment_of.hpp>\r
+#include <boost/swap.hpp>\r
+#include <cstring>\r
+#include <new>\r
+\r
+namespace boost {\r
+\r
+template<class T>\r
+class value_initialized\r
+{\r
+  private :\r
+    struct wrapper\r
+    {\r
+#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x592))\r
+      typename\r
+#endif \r
+      remove_const<T>::type data;\r
+    };\r
+\r
+    mutable\r
+#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x592))\r
+      typename\r
+#endif \r
+      aligned_storage<sizeof(wrapper), alignment_of<wrapper>::value>::type x;\r
+\r
+    wrapper * wrapper_address() const\r
+    {\r
+      return static_cast<wrapper *>( static_cast<void*>(&x));\r
+    }\r
+\r
+  public :\r
+\r
+    value_initialized()\r
+    {\r
+      std::memset(&x, 0, sizeof(x));\r
+#ifdef BOOST_MSVC\r
+#pragma warning(push)\r
+#if _MSC_VER >= 1310\r
+// When using MSVC 7.1 or higher, the following placement new expression may trigger warning C4345:\r
+// "behavior change: an object of POD type constructed with an initializer of the form ()\r
+// will be default-initialized".  It is safe to ignore this warning when using value_initialized.\r
+#pragma warning(disable: 4345)\r
+#endif\r
+#endif\r
+      new (wrapper_address()) wrapper();\r
+#ifdef BOOST_MSVC\r
+#pragma warning(pop)\r
+#endif\r
+    }\r
+\r
+    value_initialized(value_initialized const & arg)\r
+    {\r
+      new (wrapper_address()) wrapper( static_cast<wrapper const &>(*(arg.wrapper_address())));\r
+    }\r
+\r
+    value_initialized & operator=(value_initialized const & arg)\r
+    {\r
+      // Assignment is only allowed when T is non-const.\r
+      BOOST_STATIC_ASSERT( ! is_const<T>::value );\r
+      *wrapper_address() = static_cast<wrapper const &>(*(arg.wrapper_address()));\r
+      return *this;\r
+    }\r
+\r
+    ~value_initialized()\r
+    {\r
+      wrapper_address()->wrapper::~wrapper();\r
+    }\r
+\r
+    T const & data() const\r
+    {\r
+      return wrapper_address()->data;\r
+    }\r
+\r
+    T& data()\r
+    {\r
+      return wrapper_address()->data;\r
+    }\r
+\r
+    void swap(value_initialized & arg)\r
+    {\r
+      ::boost::swap( this->data(), arg.data() );\r
+    }\r
+\r
+    operator T const &() const { return this->data(); }\r
+\r
+    operator T&() { return this->data(); }\r
+\r
+} ;\r
+\r
+\r
+\r
+template<class T>\r
+T const& get ( value_initialized<T> const& x )\r
+{\r
+  return x.data() ;\r
+}\r
+template<class T>\r
+T& get ( value_initialized<T>& x )\r
+{\r
+  return x.data() ;\r
+}\r
+\r
+template<class T>\r
+void swap ( value_initialized<T> & lhs, value_initialized<T> & rhs )\r
+{\r
+  lhs.swap(rhs) ;\r
+}\r
+\r
+\r
+class initialized_value_t\r
+{\r
+  public :\r
+    \r
+    template <class T> operator T() const\r
+    {\r
+      return get( value_initialized<T>() );\r
+    }\r
+};\r
+\r
+initialized_value_t const initialized_value = {} ;\r
+\r
+\r
+} // namespace boost\r
+\r
+\r
+#endif\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/version.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/version.hpp
new file mode 100644 (file)
index 0000000..7e0f8b5
--- /dev/null
@@ -0,0 +1,35 @@
+//  Boost version.hpp configuration header file  ------------------------------//\r
+\r
+//  (C) Copyright John maddock 1999. Distributed under the Boost\r
+//  Software License, Version 1.0. (See accompanying file\r
+//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
+\r
+//  See http://www.boost.org/libs/config for documentation\r
+\r
+#ifndef BOOST_VERSION_HPP\r
+#define BOOST_VERSION_HPP\r
+\r
+//\r
+//  Caution, this is the only boost header that is guarenteed\r
+//  to change with every boost release, including this header\r
+//  will cause a recompile every time a new boost version is\r
+//  released.\r
+//\r
+//  BOOST_VERSION % 100 is the patch level\r
+//  BOOST_VERSION / 100 % 1000 is the minor version\r
+//  BOOST_VERSION / 100000 is the major version\r
+\r
+#define BOOST_VERSION 104200\r
+\r
+//\r
+//  BOOST_LIB_VERSION must be defined to be the same as BOOST_VERSION\r
+//  but as a *string* in the form "x_y[_z]" where x is the major version\r
+//  number, y is the minor version number, and z is the patch level if not 0.\r
+//  This is used by <config/auto_link.hpp> to select which library version to link to.\r
+\r
+#define BOOST_LIB_VERSION "1_42"\r
+\r
+#endif\r
+\r
+\r
+\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/matlab/STC matlab implementation/calc_relative_payload.m b/stc/exp/ml_stc_linux_make_v1.0/matlab/STC matlab implementation/calc_relative_payload.m
new file mode 100644 (file)
index 0000000..372378d
--- /dev/null
@@ -0,0 +1,8 @@
+function [ alpha ] = calc_relative_payload( code )\r
+%CALC_CODE_RATE calculates relative payload (1-rate) of a given code.\r
+%\r
+% Tomas Filler (tomas.filler@binghamton.edu)\r
+% http://dde.binghamton.edu/filler\r
+\r
+alpha = sum(code.shift)/code.n;\r
+end\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/matlab/STC matlab implementation/calc_syndrome.m b/stc/exp/ml_stc_linux_make_v1.0/matlab/STC matlab implementation/calc_syndrome.m
new file mode 100644 (file)
index 0000000..98a3413
--- /dev/null
@@ -0,0 +1,21 @@
+function [ m ] = calc_syndrome( code, x )\r
+%CALC_SYNDROME calculates syndrome of code from word x.\r
+%\r
+% Tomas Filler (tomas.filler@binghamton.edu)\r
+% http://dde.binghamton.edu/filler\r
+\r
+m = zeros(sum(code.shift),1);\r
+m_id = 1;\r
+tmp = uint32(0);\r
+for i = 1:code.n\r
+    hi = uint32(code.h(i));\r
+    if x(i)==1\r
+        tmp = bitxor(hi, tmp);\r
+    end\r
+    for j = 1:code.shift(i)\r
+        m(m_id) = mod(tmp,2);\r
+        tmp = bitshift(tmp,-1); % bit shift\r
+        m_id = m_id + 1;\r
+    end\r
+end\r
+end\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/matlab/STC matlab implementation/create_code_from_submatrix.m b/stc/exp/ml_stc_linux_make_v1.0/matlab/STC matlab implementation/create_code_from_submatrix.m
new file mode 100644 (file)
index 0000000..60d3523
--- /dev/null
@@ -0,0 +1,77 @@
+function [ code alpha ] = create_code_from_submatrix( H_hat, num_of_sub_blocks )\r
+%CREATE_CODE_FROM_SUBMATRIX creates code from binary submatrix H_hat by\r
+% replicating it by num_of_sub_blocks times. H_hat can be either binary\r
+% matrix or row of integers, where integer represents the binary vector.\r
+%\r
+% Example (both gives the same code):\r
+%   create_code_from_submatrix([1 1 1;1 0 0;1 1 0],3)\r
+%   create_code_from_submatrix([7 5 1],3)\r
+%\r
+% Output:\r
+% ans = \r
+%         n: 9\r
+%         l: 3\r
+%         h: [7 5 1 7 5 1 7 5 1]\r
+%     shift: [0 0 1 0 0 1 0 0 1]\r
+%\r
+% Represents code with the following parity check matrix\r
+%\r
+%    1 1 1 0 0 0 0 0 0\r
+%    1 0 0 1 1 1 0 0 0\r
+%    1 1 0 1 0 0 1 1 1\r
+%\r
+% Tomas Filler (tomas.filler@binghamton.edu)\r
+% http://dde.binghamton.edu/filler\r
+\r
+%% check input parameters\r
+if ~isa(H_hat, 'double')\r
+    error('Matrix H_hat must be of type double.');\r
+end\r
+if size(H_hat,1)>1\r
+    % binary matrix should be on input\r
+    if (sum(H_hat(:)==0) + sum(H_hat(:)==1))~=numel(H_hat)\r
+        error('Matrix H_hat must be binary.');\r
+    end\r
+else\r
+    % matrix should be ful of non-negative number representing columns in\r
+    % binary notation, maximum is 32 bits\r
+    if any(H_hat>2^32)\r
+        error('Maximal height of H_hat is 32.');\r
+    end\r
+end\r
+if size(H_hat,1)>32\r
+    error('Maximal height of H_hat is 32.');\r
+end\r
+\r
+%% calculate the code\r
+m = size(H_hat,2);\r
+% H_hat may be of different kind, either binary or single row, where binary\r
+% vectors are written in binary notation as single integer.\r
+if size(H_hat,1)>1\r
+    H_hat_uint32 = zeros(1, m, 'uint32');\r
+    for i = 1:m\r
+        H_hat_uint32(i) = uint32(binvec2dec( H_hat(:,i)' ));\r
+    end\r
+else\r
+    H_hat_uint32 = H_hat;\r
+    H_hat = zeros(32,m);\r
+    for i = 1:m\r
+        H_hat(:,i) = dec2binvec(H_hat_uint32(i), 32)';\r
+    end\r
+end\r
+\r
+% length of the code\r
+code.n = m*num_of_sub_blocks;\r
+\r
+% constraint length = index of the last nonzero row\r
+code.l = find( sum(H_hat,2)>0, 1, 'last');\r
+\r
+% sparse matrix represented by vector of uint32s\r
+code.h = repmat(double(H_hat_uint32), 1, num_of_sub_blocks);\r
+\r
+% vector representing the shifts in parity check matrix of the code\r
+code.shift = repmat([zeros(1,m-1) 1], 1, num_of_sub_blocks);\r
+\r
+alpha = calc_relative_payload(code);\r
+end\r
+\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/matlab/STC matlab implementation/create_pcm_from_submatrix.m b/stc/exp/ml_stc_linux_make_v1.0/matlab/STC matlab implementation/create_pcm_from_submatrix.m
new file mode 100644 (file)
index 0000000..9497d81
--- /dev/null
@@ -0,0 +1,16 @@
+function [ H ] = create_pcm_from_submatrix( H_hat, k )\r
+\r
+if size(H_hat,1)==1\r
+    tmp = zeros(32,size(H_hat,2));\r
+    for i = 1:size(H_hat,2)\r
+        tmp(:,i) = dec2binvec(H_hat(i), 32)';\r
+    end\r
+    H_hat = tmp(1:find( sum(tmp,2)>0, 1, 'last'),:);\r
+end\r
+\r
+H = zeros(1);\r
+[n m] = size(H_hat);\r
+for i=1:k\r
+    H(i:(i+n-1),(m*(i-1)+1):(m*i)) = H_hat;\r
+end\r
+end\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/matlab/STC matlab implementation/dec2binvec.m b/stc/exp/ml_stc_linux_make_v1.0/matlab/STC matlab implementation/dec2binvec.m
new file mode 100644 (file)
index 0000000..75a8c90
--- /dev/null
@@ -0,0 +1,45 @@
+function out = dec2binvec(dec,n)
+%DEC2BINVEC Convert decimal number to a binary vector.
+%
+%    DEC2BINVEC(D) returns the binary representation of D as a binary
+%    vector.  The least significant bit is represented by the first 
+%    column.  D must be a non-negative integer. 
+% 
+%    DEC2BINVEC(D,N) produces a binary representation with at least
+%    N bits.
+% 
+%    Example:
+%       dec2binvec(23) returns [1 1 1 0 1]
+%
+%    See also BINVEC2DEC, DEC2BIN.
+%
+
+%    MP 11-11-98
+%    Copyright 1998-2003 The MathWorks, Inc.
+%    $Revision: 1.5.2.4 $  $Date: 2003/08/29 04:40:56 $
+
+% Error if dec is not defined.
+if nargin < 1
+   error('daq:dec2binvec:argcheck', 'D must be defined.  Type ''daqhelp dec2binvec'' for more information.');
+end
+
+% Error if D is not a double.
+if ~isa(dec, 'double')
+   error('daq:dec2binvec:argcheck', 'D must be a double.');
+end
+
+% Error if a negative number is passed in.
+if (dec < 0)
+   error('daq:dec2binvec:argcheck', 'D must be a positive integer.');
+end
+
+% Convert the decimal number to a binary string.
+switch nargin
+case 1
+   out = dec2bin(dec);
+case 2
+   out = dec2bin(dec,n);
+end
+
+% Convert the binary string, '1011', to a binvec, [1 1 0 1].
+out = logical(str2num([fliplr(out);blanks(length(out))]')');
diff --git a/stc/exp/ml_stc_linux_make_v1.0/matlab/STC matlab implementation/draw_pcm.m b/stc/exp/ml_stc_linux_make_v1.0/matlab/STC matlab implementation/draw_pcm.m
new file mode 100644 (file)
index 0000000..4e3ab6c
--- /dev/null
@@ -0,0 +1,33 @@
+function draw_pcm( H_hat, k, grid_period )\r
+%DRAW_PCM draw parity check matrix in black and white\r
+%\r
+% Tomas Filler (tomas.filler@binghamton.edu)\r
+% http://dde.binghamton.edu/filler\r
+\r
+%% parse input arguments\r
+if nargin==1\r
+    k = 1;\r
+    H = H_hat;\r
+else\r
+    H = create_pcm_from_submatrix(H_hat, k);\r
+end\r
+if nargin<3\r
+    grid_period = 1;\r
+end\r
+%% draw graph\r
+clf; hold on;\r
+[n m] = size(H);\r
+imagesc(~H);\r
+colormap gray;\r
+axis image;\r
+\r
+for i=grid_period:grid_period:n\r
+    line([0 m+1], i+[0.5 0.5], 'Color', 0*[1 1 1])\r
+end\r
+for i=grid_period:grid_period:m\r
+    line(i+[0.5 0.5], [0 n+1], 'Color', 0*[1 1 1])\r
+end\r
+ylim([0.5 n+0.5])\r
+\r
+set(gca,'ydir','reverse');\r
+end\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/matlab/STC matlab implementation/dual_viterbi.m b/stc/exp/ml_stc_linux_make_v1.0/matlab/STC matlab implementation/dual_viterbi.m
new file mode 100644 (file)
index 0000000..abf0ec7
--- /dev/null
@@ -0,0 +1,80 @@
+function [ y min_cost paths ] = dual_viterbi( code, x, w, m )\r
+%DUAL_VITERBI pure Matlab implementation of the Viterbi algorithm over \r
+% syndrome trellis. For given code, binary cover vector x, weight \r
+% vector w, finds the closest binary 'stego' vector y that produces given \r
+% syndrome m. Use dual_viterbi() for faster C++ implementation.\r
+%\r
+% Example:\r
+%   code = create_code_from_submatrix([7 5 1],3);\r
+%   w = ones(code.n,1);\r
+%   x = double(rand(code.n,1)<0.5);\r
+%   m = double(rand(sum(code.shift),1)<0.5);\r
+%   [y min_cost] = dual_viterbi(code, x, w, m);\r
+%   x = x'; x\r
+%   y = y'; y\r
+%   m = [m' ; calc_syndrome(code,y)']; m\r
+%   min_cost\r
+%\r
+% Tomas Filler (tomas.filler@binghamton.edu)\r
+% http://dde.binghamton.edu/filler\r
+\r
+%% check input parameters\r
+if length(m)~=sum(code.shift)\r
+    error('dualViterbi:wrongInputArg', 'Syndrome must be of the same length as the number of shifts in code.');\r
+end\r
+if length(x)~=length(w)\r
+    error('dualViterbi:wrongInputArg', 'Cover vector must be of the same size as weight vector.');\r
+end\r
+if length(x)~=code.n\r
+    error('dualViterbi:wrongInputArg', 'Cover vector must be of the same length as the code.');\r
+end\r
+%% initialize datastructures\r
+C = zeros(2^code.l,code.n);\r
+costs = inf*ones(2^code.l, 1);\r
+costs(1) = 0;\r
+paths = zeros(2^code.l, code.n);\r
+m_id = 1; % message bit id\r
+y = zeros(size(x));\r
+%% run forward algorithm\r
+for i = 1:code.n  % for every bit in cover\r
+    costs_old = costs;\r
+    hi = uint32(code.h(i)); % column represented as uint32\r
+    ji = uint32(1);\r
+    for j = 1:2^code.l\r
+        c1 = costs_old(ji) + x(i)*w(i);\r
+        c2 = costs_old(bitxor(ji-1,hi)+1) + (1-x(i))*w(i);\r
+        if c1<c2\r
+            costs(j) = c1;\r
+            paths(j,i) = ji; % store index of the previous path\r
+        else\r
+            costs(j) = c2;\r
+            paths(j,i) = bitxor(ji-1,hi)+1; % store index of the previous path\r
+        end\r
+        ji = ji + 1;\r
+    end\r
+    % shift the trellis by shift(i)\r
+    for j = 1:code.shift(i)\r
+        if isinf(min(costs( m(m_id)+1:2:end )))\r
+            error('dualViterbi:noSolution', 'No possible solution exists.');\r
+        end\r
+        if m(m_id)==0\r
+            costs = [costs(1:2:end) ; inf*ones(2^(code.l-1),1)];\r
+        else\r
+            costs = [costs(2:2:end) ; inf*ones(2^(code.l-1),1)];\r
+        end\r
+        m_id = m_id + 1;\r
+    end\r
+    C(:,i) = costs;\r
+end\r
+%% backward run\r
+[min_cost ind] = min(costs);\r
+m_id = m_id - 1;\r
+for i = code.n:-1:1\r
+    for j = 1:code.shift(i)\r
+        ind = 2*ind + m(m_id) - 1; % invert the shift in syndrome trellis\r
+        m_id = m_id - 1;\r
+    end\r
+     y(i) = paths(ind,i)~=ind;\r
+     ind = paths(ind,i);\r
+end\r
+end\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/matlab/STC matlab implementation/dv_best_submatrices.mat b/stc/exp/ml_stc_linux_make_v1.0/matlab/STC matlab implementation/dv_best_submatrices.mat
new file mode 100644 (file)
index 0000000..e68e78b
Binary files /dev/null and b/stc/exp/ml_stc_linux_make_v1.0/matlab/STC matlab implementation/dv_best_submatrices.mat differ
diff --git a/stc/exp/ml_stc_linux_make_v1.0/matlab/STC matlab implementation/example1.m b/stc/exp/ml_stc_linux_make_v1.0/matlab/STC matlab implementation/example1.m
new file mode 100644 (file)
index 0000000..f921762
--- /dev/null
@@ -0,0 +1,17 @@
+clc; clear;
+
+H_hat = [7 5 1];
+
+H = create_pcm_from_submatrix(H_hat, 3)
+draw_pcm(H);
+
+% code = structure with all necesary components
+code = create_code_from_submatrix(H_hat, 3);
+w = ones(code.n,1);
+x = double(rand(code.n,1)<0.5);
+m = double(rand(sum(code.shift),1)<0.5);
+[y min_cost] = dual_viterbi(code, x, w, m);
+x = x'; x
+y = y'; y
+m = [m' ; calc_syndrome(code,y)']; m
+min_cost
diff --git a/stc/exp/ml_stc_linux_make_v1.0/matlab/STC matlab implementation/example2.m b/stc/exp/ml_stc_linux_make_v1.0/matlab/STC matlab implementation/example2.m
new file mode 100644 (file)
index 0000000..621f047
--- /dev/null
@@ -0,0 +1,25 @@
+clc; clear;
+
+% either use optimized matrix H_hat
+load('dv_best_submatrices.mat');
+H_hat = double(submatrices{3,7}); % constraint length 7 and width 3.
+% Not all combinations are known.
+
+H = create_pcm_from_submatrix(H_hat, 50);
+draw_pcm(H);
+
+% code = structure with all necesary components
+code = create_code_from_submatrix(H_hat, 50);
+w = ones(code.n,1);
+x = double(rand(code.n,1)<0.5);
+m = double(rand(sum(code.shift),1)<0.5);
+
+[y min_cost] = dual_viterbi(code, x, w, m);
+
+if (all(m'==calc_syndrome(code,y)'))
+    fprintf('Message extracted without any error.\n');
+else
+    fprintf('ERROR\n');
+end
+
+min_cost
diff --git a/stc/exp/ml_stc_linux_make_v1.0/matlab/ex_pm1_dls.m b/stc/exp/ml_stc_linux_make_v1.0/matlab/ex_pm1_dls.m
new file mode 100755 (executable)
index 0000000..5906e38
--- /dev/null
@@ -0,0 +1,26 @@
+%% 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
diff --git a/stc/exp/ml_stc_linux_make_v1.0/matlab/ex_pm1_pls.m b/stc/exp/ml_stc_linux_make_v1.0/matlab/ex_pm1_pls.m
new file mode 100755 (executable)
index 0000000..e12acef
--- /dev/null
@@ -0,0 +1,24 @@
+%% 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
diff --git a/stc/exp/ml_stc_linux_make_v1.0/matlab/ex_pm2_dls.m b/stc/exp/ml_stc_linux_make_v1.0/matlab/ex_pm2_dls.m
new file mode 100755 (executable)
index 0000000..2b0e511
--- /dev/null
@@ -0,0 +1,29 @@
+%% 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
diff --git a/stc/exp/ml_stc_linux_make_v1.0/matlab/ex_pm2_pls.m b/stc/exp/ml_stc_linux_make_v1.0/matlab/ex_pm2_pls.m
new file mode 100755 (executable)
index 0000000..2a7f684
--- /dev/null
@@ -0,0 +1,26 @@
+%% 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
diff --git a/stc/exp/ml_stc_linux_make_v1.0/matlab/ex_stc.m b/stc/exp/ml_stc_linux_make_v1.0/matlab/ex_stc.m
new file mode 100755 (executable)
index 0000000..1d834ef
--- /dev/null
@@ -0,0 +1,24 @@
+clc; clear;\r
+\r
+n = 10^3;    % size of the cover\r
+alpha = 0.5; % relative payload\r
+h = 8;      % constraint height - default is 10 - drives the complexity/quality tradeof\r
+\r
+cover = uint8(rand(n, 1));\r
+m = round(n * alpha); % number of message bits\r
+message = uint8(rand(m, 1));\r
+profile = ones(n, 1);\r
+\r
+tic;\r
+[dist, stego] = stc_embed(cover, message, profile, h); % embed message\r
+\r
+fprintf('distortion per cover element = %f\n', dist / n);\r
+fprintf('        embedding efficiency = %f\n', alpha / (dist / n));\r
+fprintf('                  throughput = %1.1f Kbits/sec\n', n / toc() / 1024);\r
+\r
+message2 = stc_extract(stego, m, h); % extract message\r
+if all(message == message2)\r
+    disp('Message has been extracted correctly.');\r
+else\r
+    error('Some error occured in the extraction process.');\r
+end\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/matlab/ex_stc_linear.m b/stc/exp/ml_stc_linux_make_v1.0/matlab/ex_stc_linear.m
new file mode 100755 (executable)
index 0000000..6dbafde
--- /dev/null
@@ -0,0 +1,25 @@
+clc; clear;\r
+\r
+n = 10^5;    % size of the cover\r
+h = 10;      % constraint height - default is 10 - drives the complexity/quality tradeof\r
+\r
+e = zeros(19, 1);   % embedding efficiency\r
+inva = zeros(19, 1);\r
+\r
+for i = 2:20    % inverse relative payload 1/alpha\r
+    disp(i);\r
+    m = floor(n / i);   % number of message bits\r
+    cover = uint8(rand(n, 1));\r
+    message = uint8(rand(m, 1));\r
+    profile = 1:n;  % linear profile\r
+    profile = profile(randperm(n)) / sum(profile);  % create a random permutation and normalize\r
\r
+    dist = stc_embed(cover, message, profile, h);\r
+    inva(i) = n / m;\r
+    e(i) = m / (n * dist);    \r
+end\r
+\r
+plot(inva, e);\r
+title('Embedding efficiency for linear profile');\r
+xlabel('Inverse payload 1/\alpha');\r
+ylabel('Embedding efficiency e');
\ No newline at end of file
diff --git a/stc/exp/ml_stc_linux_make_v1.0/matlab/ex_stc_wet.m b/stc/exp/ml_stc_linux_make_v1.0/matlab/ex_stc_wet.m
new file mode 100755 (executable)
index 0000000..ecc4eb2
--- /dev/null
@@ -0,0 +1,28 @@
+clc; clear;\r
+\r
+n = 10^6;    % size of the cover\r
+h = 10;      % constraint height - default is 10 - drives the complexity/quality tradeof\r
+wetness = 0.6;  % relative wetness of the channel\r
+alpha = 0.5;    % relative payload on the dry pixels\r
+\r
+wet = rand(n, 1) < wetness;\r
+dn = n - sum(wet);  % number of dry pixels\r
+m = floor(dn * alpha);\r
+\r
+cover = uint8(rand(n, 1));\r
+message = uint8(rand(m, 1));\r
+profile = ones(n, 1);  % constant profile\r
+profile(wet) = Inf; % Wet pixels are assigned a weight of infinity, so they are never flipped. \r
+\r
+tic;\r
+[dist, stego] = stc_embed(cover, message, profile, h);\r
+fprintf('distortion per dry cover element = %f\n', dist / dn);\r
+fprintf('            embedding efficiency = %f\n', alpha / (dist / dn));\r
+fprintf('                      throughput = %1.1f Kbits/sec\n', n / toc() / 1024);\r
+\r
+message2 = stc_extract(stego, m, h); % extract message\r
+if all(message == message2)\r
+    disp('Message has been extracted correctly.');\r
+else\r
+    error('Some error occured in the extraction process.');\r
+end
\ No newline at end of file
diff --git a/stc/exp/ml_stc_linux_make_v1.0/matlab/html/ex_pm1_dls.html b/stc/exp/ml_stc_linux_make_v1.0/matlab/html/ex_pm1_dls.html
new file mode 100755 (executable)
index 0000000..59bfc82
--- /dev/null
@@ -0,0 +1,124 @@
+
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head>
+      <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+   <!--
+This HTML is auto-generated from an M-file.
+To make changes, update the M-file and republish this document.
+      --><title>EXAMPLE OF MULTI-LAYERED EMBEDDING - +-1 DISTORTION LIMITED SENDER</title><meta name="generator" content="MATLAB 7.9"><meta name="date" content="2010-12-06"><meta name="m-file" content="ex_pm1_dls"><style type="text/css">
+
+body {
+  background-color: white;
+  margin:10px;
+}
+
+h1 {
+  color: #990000; 
+  font-size: x-large;
+}
+
+h2 {
+  color: #990000;
+  font-size: medium;
+}
+
+/* Make the text shrink to fit narrow windows, but not stretch too far in 
+wide windows. */ 
+p,h1,h2,div.content div {
+  max-width: 600px;
+  /* Hack for IE6 */
+  width: auto !important; width: 600px;
+}
+
+pre.codeinput {
+  background: #EEEEEE;
+  padding: 10px;
+}
+@media print {
+  pre.codeinput {word-wrap:break-word; width:100%;}
+} 
+
+span.keyword {color: #0000FF}
+span.comment {color: #228B22}
+span.string {color: #A020F0}
+span.untermstring {color: #B20000}
+span.syscmd {color: #B28C00}
+
+pre.codeoutput {
+  color: #666666;
+  padding: 10px;
+}
+
+pre.error {
+  color: red;
+}
+
+p.footer {
+  text-align: right;
+  font-size: xx-small;
+  font-weight: lighter;
+  font-style: italic;
+  color: gray;
+}
+
+  </style></head><body><div class="content"><h1>EXAMPLE OF MULTI-LAYERED EMBEDDING - +-1 DISTORTION LIMITED SENDER</h1><p>implemented using syndrome-trellis codes</p><pre class="codeinput">clc; clear;
+
+n = 1e+5; <span class="comment">% use n pixels</span>
+h = 12;   <span class="comment">% use STCs with constraint_height = 10. Try values between 7 and 12.</span>
+
+cover = int32(256*rand(1,n));  <span class="comment">% generate random cover pixels</span>
+msg = uint8(rand(1,n));        <span class="comment">% generate n random message bits, only some portion will be utilized</span>
+
+costs = zeros(3, n, <span class="string">'single'</span>); <span class="comment">% for each pixel, assign cost of being changed</span>
+costs(:,1) = [1 0 1];          <span class="comment">% cost of changing the first cover pixel by -1, 0, +1</span>
+costs([1 3],2:end) = 1;        <span class="comment">% cost can be defined arbitrarily</span>
+
+l = 0.08;           <span class="comment">% expected coding loss</span>
+target_dist = 1000; <span class="comment">% target distortion in the distortion-limited sender</span>
+[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);
+
+<span class="keyword">if</span> all(extr_msg==msg(1:sum(n_msg_bits)))
+    fprintf(<span class="string">'Message was embedded and extracted correctly.\n'</span>);
+    fprintf(<span class="string">'  %d bits embedded =&gt; %d bits in 2LSB and %d bits in LSB.\n'</span>, <span class="keyword">...</span>
+        sum(n_msg_bits), n_msg_bits(1), n_msg_bits(2));
+    fprintf(<span class="string">'  achieved coding_loss = %4.2f%%\n'</span>, l*100);
+    fprintf(<span class="string">'  distortion caused by embedding = %g required = %g\n'</span>, d, target_dist);
+<span class="keyword">end</span>
+</pre><pre class="codeoutput">Message was embedded and extracted correctly.
+  7771 bits embedded =&gt; 3545 bits in 2LSB and 4226 bits in LSB.
+  achieved coding_loss = 11.66%
+  distortion caused by embedding = 963 required = 1000
+</pre><p class="footer"><br>
+      Published with MATLAB&reg; 7.9<br></p></div><!--
+##### SOURCE BEGIN #####
+%% 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
+
+##### SOURCE END #####
+--></body></html>
\ 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 (executable)
index 0000000..e4608bd
--- /dev/null
@@ -0,0 +1,119 @@
+
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head>
+      <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+   <!--
+This HTML is auto-generated from an M-file.
+To make changes, update the M-file and republish this document.
+      --><title>EXAMPLE OF MULTI-LAYERED EMBEDDING - +-1 PAYLOAD LIMITED SENDER</title><meta name="generator" content="MATLAB 7.9"><meta name="date" content="2010-12-06"><meta name="m-file" content="ex_pm1_pls"><style type="text/css">
+
+body {
+  background-color: white;
+  margin:10px;
+}
+
+h1 {
+  color: #990000; 
+  font-size: x-large;
+}
+
+h2 {
+  color: #990000;
+  font-size: medium;
+}
+
+/* Make the text shrink to fit narrow windows, but not stretch too far in 
+wide windows. */ 
+p,h1,h2,div.content div {
+  max-width: 600px;
+  /* Hack for IE6 */
+  width: auto !important; width: 600px;
+}
+
+pre.codeinput {
+  background: #EEEEEE;
+  padding: 10px;
+}
+@media print {
+  pre.codeinput {word-wrap:break-word; width:100%;}
+} 
+
+span.keyword {color: #0000FF}
+span.comment {color: #228B22}
+span.string {color: #A020F0}
+span.untermstring {color: #B20000}
+span.syscmd {color: #B28C00}
+
+pre.codeoutput {
+  color: #666666;
+  padding: 10px;
+}
+
+pre.error {
+  color: red;
+}
+
+p.footer {
+  text-align: right;
+  font-size: xx-small;
+  font-weight: lighter;
+  font-style: italic;
+  color: gray;
+}
+
+  </style></head><body><div class="content"><h1>EXAMPLE OF MULTI-LAYERED EMBEDDING - +-1 PAYLOAD LIMITED SENDER</h1><p>implemented using syndrome-trellis codes</p><pre class="codeinput">clc; clear;
+
+n = 1e+5; <span class="comment">% use n pixels</span>
+m = n/2;  <span class="comment">% embed m bits</span>
+h = 10;   <span class="comment">% use STCs with constraint_height = 10. Try values between 7 and 12.</span>
+
+cover = int32(256*rand(1,n));  <span class="comment">% generate random cover pixels</span>
+msg = uint8(rand(1,m));        <span class="comment">% generate m random message bits</span>
+
+costs = zeros(3, n, <span class="string">'single'</span>); <span class="comment">% for each pixel, assign cost of being changed</span>
+costs(:,1) = [1e+5 0 1];       <span class="comment">% cost of changing the first cover pixel by -1, 0, +1</span>
+costs([1 3],2:end) = 1;        <span class="comment">% cost can be defined arbitrarily</span>
+
+[d stego n_msg_bits l] = stc_pm1_pls_embed(cover, costs, msg, h);
+extr_msg = stc_ml_extract(stego, n_msg_bits, h);
+
+<span class="keyword">if</span> all(extr_msg==msg)
+    fprintf(<span class="string">'Message was embedded and extracted correctly.\n'</span>);
+    fprintf(<span class="string">'  %d bits embedded =&gt; %d bits in 2LSB and %d bits in LSB.\n'</span>, <span class="keyword">...</span>
+        sum(n_msg_bits), n_msg_bits(1), n_msg_bits(2));
+    fprintf(<span class="string">'  achieved coding_loss = %4.2f%%\n'</span>, l*100);
+<span class="keyword">end</span>
+</pre><pre class="codeoutput">Message was embedded and extracted correctly.
+  50000 bits embedded =&gt; 24890 bits in 2LSB and 25110 bits in LSB.
+  achieved coding_loss = 7.90%
+</pre><p class="footer"><br>
+      Published with MATLAB&reg; 7.9<br></p></div><!--
+##### SOURCE BEGIN #####
+%% 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
+
+##### SOURCE END #####
+--></body></html>
\ 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 (executable)
index 0000000..0b483fb
--- /dev/null
@@ -0,0 +1,130 @@
+
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head>
+      <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+   <!--
+This HTML is auto-generated from an M-file.
+To make changes, update the M-file and republish this document.
+      --><title>EXAMPLE OF MULTI-LAYERED EMBEDDING - +-2 DISTORTION LIMITED SENDER</title><meta name="generator" content="MATLAB 7.9"><meta name="date" content="2010-12-06"><meta name="m-file" content="ex_pm2_dls"><style type="text/css">
+
+body {
+  background-color: white;
+  margin:10px;
+}
+
+h1 {
+  color: #990000; 
+  font-size: x-large;
+}
+
+h2 {
+  color: #990000;
+  font-size: medium;
+}
+
+/* Make the text shrink to fit narrow windows, but not stretch too far in 
+wide windows. */ 
+p,h1,h2,div.content div {
+  max-width: 600px;
+  /* Hack for IE6 */
+  width: auto !important; width: 600px;
+}
+
+pre.codeinput {
+  background: #EEEEEE;
+  padding: 10px;
+}
+@media print {
+  pre.codeinput {word-wrap:break-word; width:100%;}
+} 
+
+span.keyword {color: #0000FF}
+span.comment {color: #228B22}
+span.string {color: #A020F0}
+span.untermstring {color: #B20000}
+span.syscmd {color: #B28C00}
+
+pre.codeoutput {
+  color: #666666;
+  padding: 10px;
+}
+
+pre.error {
+  color: red;
+}
+
+p.footer {
+  text-align: right;
+  font-size: xx-small;
+  font-weight: lighter;
+  font-style: italic;
+  color: gray;
+}
+
+  </style></head><body><div class="content"><h1>EXAMPLE OF MULTI-LAYERED EMBEDDING - +-2 DISTORTION LIMITED SENDER</h1><p>implemented using syndrome-trellis codes</p><pre class="codeinput">clc; clear;
+
+n = 1e+5; <span class="comment">% use n pixels</span>
+m = n/2;  <span class="comment">% embed m bits</span>
+h = 10;   <span class="comment">% use STCs with constraint_height = 10. Try values between 7 and 12.</span>
+
+cover = int32(256*rand(1,n));  <span class="comment">% generate random cover pixels</span>
+msg = uint8(rand(1,m));        <span class="comment">% generate m random message bits</span>
+
+<span class="comment">% cost can be defined arbitrarily, this is just a simple example</span>
+costs = zeros(5, n, <span class="string">'single'</span>); <span class="comment">% for each pixel, assign cost of being changed</span>
+costs(:,1) = [1e+5 100 0 1 5]; <span class="comment">% cost of changing the first cover pixel by -2, -1, 0, +1, +2</span>
+costs([1 5],2:end) = 4;        <span class="comment">% cost of changing pixels by -2 and +2</span>
+costs([2 4],2:end) = 1;        <span class="comment">% cost of changing pixels by -1 and +1</span>
+
+l = 0.08;           <span class="comment">% expected coding loss</span>
+target_dist = 1000; <span class="comment">% target distortion in the distortion-limited sender</span>
+[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);
+
+<span class="keyword">if</span> all(extr_msg==msg(1:sum(n_msg_bits)))
+    fprintf(<span class="string">'Message was embedded and extracted correctly.\n'</span>);
+    fprintf(<span class="string">'  %d bits embedded =&gt; %d bits in 3LSB, %d bits in 2LSB and %d bits in LSB.\n'</span>, <span class="keyword">...</span>
+        sum(n_msg_bits), n_msg_bits(1), n_msg_bits(2), n_msg_bits(3));
+    fprintf(<span class="string">'  achieved coding_loss = %4.2f%%\n'</span>, l*100);
+    fprintf(<span class="string">'  distortion caused by embedding = %g required = %g\n'</span>, d, target_dist);
+<span class="keyword">end</span>
+</pre><pre class="codeoutput">Message was embedded and extracted correctly.
+  7771 bits embedded =&gt; 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
+</pre><p class="footer"><br>
+      Published with MATLAB&reg; 7.9<br></p></div><!--
+##### SOURCE BEGIN #####
+%% 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
+
+##### SOURCE END #####
+--></body></html>
\ 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 (executable)
index 0000000..2a0e053
--- /dev/null
@@ -0,0 +1,123 @@
+
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head>
+      <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+   <!--
+This HTML is auto-generated from an M-file.
+To make changes, update the M-file and republish this document.
+      --><title>EXAMPLE OF MULTI-LAYERED EMBEDDING - +-2 PAYLOAD LIMITED SENDER</title><meta name="generator" content="MATLAB 7.9"><meta name="date" content="2010-12-06"><meta name="m-file" content="ex_pm2_pls"><style type="text/css">
+
+body {
+  background-color: white;
+  margin:10px;
+}
+
+h1 {
+  color: #990000; 
+  font-size: x-large;
+}
+
+h2 {
+  color: #990000;
+  font-size: medium;
+}
+
+/* Make the text shrink to fit narrow windows, but not stretch too far in 
+wide windows. */ 
+p,h1,h2,div.content div {
+  max-width: 600px;
+  /* Hack for IE6 */
+  width: auto !important; width: 600px;
+}
+
+pre.codeinput {
+  background: #EEEEEE;
+  padding: 10px;
+}
+@media print {
+  pre.codeinput {word-wrap:break-word; width:100%;}
+} 
+
+span.keyword {color: #0000FF}
+span.comment {color: #228B22}
+span.string {color: #A020F0}
+span.untermstring {color: #B20000}
+span.syscmd {color: #B28C00}
+
+pre.codeoutput {
+  color: #666666;
+  padding: 10px;
+}
+
+pre.error {
+  color: red;
+}
+
+p.footer {
+  text-align: right;
+  font-size: xx-small;
+  font-weight: lighter;
+  font-style: italic;
+  color: gray;
+}
+
+  </style></head><body><div class="content"><h1>EXAMPLE OF MULTI-LAYERED EMBEDDING - +-2 PAYLOAD LIMITED SENDER</h1><p>implemented using syndrome-trellis codes</p><pre class="codeinput">clc; clear;
+
+n = 1e+5; <span class="comment">% use n pixels</span>
+m = n/2;  <span class="comment">% embed m bits</span>
+h = 10;   <span class="comment">% use STCs with constraint_height = 10. Try values between 7 and 12.</span>
+
+cover = int32(256*rand(1,n));  <span class="comment">% generate random cover pixels</span>
+msg = uint8(rand(1,m));        <span class="comment">% generate m random message bits</span>
+
+<span class="comment">% cost can be defined arbitrarily, this is just a simple example</span>
+costs = zeros(5, n, <span class="string">'single'</span>); <span class="comment">% for each pixel, assign cost of being changed</span>
+costs(:,1) = [1e+5 100 0 1 5]; <span class="comment">% cost of changing the first cover pixel by -2, -1, 0, +1, +2</span>
+costs([1 5],2:end) = 4;        <span class="comment">% cost of changing pixels by -2 and +2</span>
+costs([2 4],2:end) = 1;        <span class="comment">% cost of changing pixels by -1 and +1</span>
+
+[d stego n_msg_bits l] = stc_pm2_pls_embed(cover, costs, msg, h);
+extr_msg = stc_ml_extract(stego, n_msg_bits, h);
+
+<span class="keyword">if</span> all(extr_msg==msg)
+    fprintf(<span class="string">'Message was embedded and extracted correctly.\n'</span>);
+    fprintf(<span class="string">'  %d bits embedded =&gt; %d bits in 3LSB, %d bits in 2LSB and %d bits in LSB.\n'</span>, <span class="keyword">...</span>
+        sum(n_msg_bits), n_msg_bits(1), n_msg_bits(2), n_msg_bits(3));
+    fprintf(<span class="string">'  achieved coding_loss = %4.2f%%\n'</span>, l*100);
+<span class="keyword">end</span>
+</pre><pre class="codeoutput">Message was embedded and extracted correctly.
+  50000 bits embedded =&gt; 24856 bits in 3LSB, 12648 bits in 2LSB and 12496 bits in LSB.
+  achieved coding_loss = 8.26%
+</pre><p class="footer"><br>
+      Published with MATLAB&reg; 7.9<br></p></div><!--
+##### SOURCE BEGIN #####
+%% 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
+
+##### SOURCE END #####
+--></body></html>
\ 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 (executable)
index 0000000..b9cba7d
--- /dev/null
@@ -0,0 +1,122 @@
+
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head>
+      <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+   <!--
+This HTML is auto-generated from an M-file.
+To make changes, update the M-file and republish this document.
+      --><title>ex_stc</title><meta name="generator" content="MATLAB 7.9"><meta name="date" content="2010-12-07"><meta name="m-file" content="ex_stc"><style type="text/css">
+
+body {
+  background-color: white;
+  margin:10px;
+}
+
+h1 {
+  color: #990000; 
+  font-size: x-large;
+}
+
+h2 {
+  color: #990000;
+  font-size: medium;
+}
+
+/* Make the text shrink to fit narrow windows, but not stretch too far in 
+wide windows. */ 
+p,h1,h2,div.content div {
+  max-width: 600px;
+  /* Hack for IE6 */
+  width: auto !important; width: 600px;
+}
+
+pre.codeinput {
+  background: #EEEEEE;
+  padding: 10px;
+}
+@media print {
+  pre.codeinput {word-wrap:break-word; width:100%;}
+} 
+
+span.keyword {color: #0000FF}
+span.comment {color: #228B22}
+span.string {color: #A020F0}
+span.untermstring {color: #B20000}
+span.syscmd {color: #B28C00}
+
+pre.codeoutput {
+  color: #666666;
+  padding: 10px;
+}
+
+pre.error {
+  color: red;
+}
+
+p.footer {
+  text-align: right;
+  font-size: xx-small;
+  font-weight: lighter;
+  font-style: italic;
+  color: gray;
+}
+
+  </style></head><body><div class="content"><pre class="codeinput">clc; clear;
+
+n = 10^3;    <span class="comment">% size of the cover</span>
+alpha = 0.5; <span class="comment">% relative payload</span>
+h = 8;      <span class="comment">% constraint height - default is 10 - drives the complexity/quality tradeof</span>
+
+cover = uint8(rand(n, 1));
+m = round(n * alpha); <span class="comment">% number of message bits</span>
+message = uint8(rand(m, 1));
+profile = ones(n, 1);
+
+tic;
+[dist, stego] = stc_embed(cover, message, profile, h); <span class="comment">% embed message</span>
+
+fprintf(<span class="string">'distortion per cover element = %f\n'</span>, dist / n);
+fprintf(<span class="string">'        embedding efficiency = %f\n'</span>, alpha / (dist / n));
+fprintf(<span class="string">'                  throughput = %1.1f Kbits/sec\n'</span>, n / toc() / 1024);
+
+message2 = stc_extract(stego, m, h); <span class="comment">% extract message</span>
+<span class="keyword">if</span> all(message == message2)
+    disp(<span class="string">'Message has been extracted correctly.'</span>);
+<span class="keyword">else</span>
+    error(<span class="string">'Some error occured in the extraction process.'</span>);
+<span class="keyword">end</span>
+</pre><pre class="codeoutput">distortion per cover element = 0.119000
+        embedding efficiency = 4.201681
+                  throughput = 473.1 Kbits/sec
+Message has been extracted correctly.
+</pre><p class="footer"><br>
+      Published with MATLAB&reg; 7.9<br></p></div><!--
+##### SOURCE BEGIN #####
+clc; clear;\r
+\r
+n = 10^3;    % size of the cover\r
+alpha = 0.5; % relative payload\r
+h = 8;      % constraint height - default is 10 - drives the complexity/quality tradeof\r
+\r
+cover = uint8(rand(n, 1));\r
+m = round(n * alpha); % number of message bits\r
+message = uint8(rand(m, 1));\r
+profile = ones(n, 1);\r
+\r
+tic;\r
+[dist, stego] = stc_embed(cover, message, profile, h); % embed message\r
+\r
+fprintf('distortion per cover element = %f\n', dist / n);\r
+fprintf('        embedding efficiency = %f\n', alpha / (dist / n));\r
+fprintf('                  throughput = %1.1f Kbits/sec\n', n / toc() / 1024);\r
+\r
+message2 = stc_extract(stego, m, h); % extract message\r
+if all(message == message2)\r
+    disp('Message has been extracted correctly.');\r
+else\r
+    error('Some error occured in the extraction process.');\r
+end\r
+
+##### SOURCE END #####
+--></body></html>
\ 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 (executable)
index 0000000..5ea9371
--- /dev/null
@@ -0,0 +1,41 @@
+%STC_EMBED Embeds message into cover bitstring using Syndrome-Trellis Codes.\r
+%\r
+% [D Y] = STC_EMBED(X, MSG, COSTS) embeds message bit-string MSG into\r
+% bit-string X. Cost of changing X(i) is COSTS(i). Use Syndrome-Trellis\r
+% Codes with constraint height 10. Outputs stego bit-stream Y and total\r
+% distortion D.\r
+%\r
+% [D Y] = STC_EMBED(X, MSG, COSTS, H) same as above, but uses STC of\r
+% constraint height H.\r
+%\r
+% Input format:\r
+%   X, MSG - vectors of type uint8\r
+%   COSTS  - vector of type double\r
+%   H      - scalar between 6 and 15 (a higher number means bigger \r
+%            efficiency but longer embedding time), default is 10.\r
+%\r
+% Use STC_EXTRACT(Y, H) to read the message.\r
+%\r
+% Author: Jan Judas\r
+%\r
+% STC Toolbox website: http://dde.binghamton.edu/filler/stc\r
+%\r
+% References:\r
+% [1] T. Filler, J. Judas, J. Fridrich, "Minimizing Additive Distortion in \r
+%     Steganography using Syndrome-Trellis Codes", submitted to IEEE\r
+%     Transactions on Information Forensics and Security, 2010.\r
+%     http://dde.binghamton.edu/filler/pdf/Fill10tifs-stc.pdf\r
+% \r
+% [2] T. Filler, J. Judas, J. Fridrich, "Minimizing Embedding Impact in \r
+%     Steganography using Trellis-Coded Quantization", Proc. SPIE,\r
+%     Electronic Imaging, Media Forensics and Security XII, San Jose, CA, \r
+%     January 18-20, 2010.\r
+%     http://dde.binghamton.edu/filler/pdf/Fill10spie-syndrome-trellis-codes.pdf\r
+%\r
+% [3] T. Filler, J. Fridrich, "Minimizing Additive Distortion Functions\r
+%     With Non-Binary Embedding Operation in Steganography", 2nd IEEE \r
+%     Workshop on Information Forensics and Security, December 2010.\r
+%     http://dde.binghamton.edu/filler/pdf/Fill10wifs-multi-layer-stc.pdf\r
+%\r
+%   See also STC_EXTRACT, STC_PM1_PLS_EMBED, STC_PM1_DLS_EMBED, \r
+%   STC_PM2_PLS_EMBED, STC_PM2_DLS_EMBED.\r
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 (executable)
index 0000000..78b6b74
Binary files /dev/null and b/stc/exp/ml_stc_linux_make_v1.0/matlab/stc_embed.mexa64 differ
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 (executable)
index 0000000..8ddc2b0
--- /dev/null
@@ -0,0 +1,38 @@
+%STC_EXTRACT Extracts message from stego bit-string produced by STC_EMBED.\r
+%\r
+% MSG = STC_EXTRACT(Y, M) extracts M message bits into MSG from stego \r
+% bit-string Y. Use Syndrome-Trellis Codes with constraint height 10. \r
+%\r
+% MSG = STC_EXTRACT(Y, M, H) same as above, but uses STC of constraint\r
+% height H. H must be the same as used for embedding.\r
+%\r
+% Input format:\r
+%   Y - vectors of type uint8\r
+%   H - scalar between 6 and 15 (a higher number means bigger  efficiency\r
+%       but longer embedding time), default is 10.\r
+%\r
+% Use STC_EMBED(...) to embed the message.\r
+%\r
+% Author: Jan Judas\r
+%\r
+% STC Toolbox website: http://dde.binghamton.edu/filler/stc\r
+%\r
+% References:\r
+% [1] T. Filler, J. Judas, J. Fridrich, "Minimizing Additive Distortion in \r
+%     Steganography using Syndrome-Trellis Codes", submitted to IEEE\r
+%     Transactions on Information Forensics and Security, 2010.\r
+%     http://dde.binghamton.edu/filler/pdf/Fill10tifs-stc.pdf\r
+% \r
+% [2] T. Filler, J. Judas, J. Fridrich, "Minimizing Embedding Impact in \r
+%     Steganography using Trellis-Coded Quantization", Proc. SPIE,\r
+%     Electronic Imaging, Media Forensics and Security XII, San Jose, CA, \r
+%     January 18-20, 2010.\r
+%     http://dde.binghamton.edu/filler/pdf/Fill10spie-syndrome-trellis-codes.pdf\r
+%\r
+% [3] T. Filler, J. Fridrich, "Minimizing Additive Distortion Functions\r
+%     With Non-Binary Embedding Operation in Steganography", 2nd IEEE \r
+%     Workshop on Information Forensics and Security, December 2010.\r
+%     http://dde.binghamton.edu/filler/pdf/Fill10wifs-multi-layer-stc.pdf\r
+%\r
+%   See also STC_EMBED, STC_PM1_PLS_EMBED, STC_PM1_DLS_EMBED, \r
+%   STC_PM2_PLS_EMBED, STC_PM2_DLS_EMBED.\r
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 (executable)
index 0000000..d1afc1f
Binary files /dev/null and b/stc/exp/ml_stc_linux_make_v1.0/matlab/stc_extract.mexa64 differ
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 (executable)
index 0000000..4437ee3
--- /dev/null
@@ -0,0 +1,32 @@
+%STC_ML_EXTRACT Extracts message embedded by ML-STCs.\r
+%   MSG = STC_ML_EXTRACT(Y, NUM_MSG_BITS) extracts the embedded message\r
+%   from stego sequence Y. Array NUM_MSG_BITS describes how many bits to\r
+%   extract from each layer of LSB. Uses default constraint height h=10.\r
+%\r
+%   MSG = STC_ML_EXTRACT(Y, NUM_MSG_BITS, H) does the same as above, but\r
+%   constraint height of the STC is H.\r
+%\r
+% Author: Tomas Filler  email: tomas.filler@gmail.com\r
+%                         www: http://dde.binghamton.edu/filler\r
+%\r
+% STC Toolbox website: http://dde.binghamton.edu/filler/stc\r
+%\r
+% References:\r
+% [1] T. Filler, J. Judas, J. Fridrich, "Minimizing Additive Distortion in \r
+%     Steganography using Syndrome-Trellis Codes", submitted to IEEE\r
+%     Transactions on Information Forensics and Security, 2010.\r
+%     http://dde.binghamton.edu/filler/pdf/Fill10tifs-stc.pdf\r
+% \r
+% [2] T. Filler, J. Judas, J. Fridrich, "Minimizing Embedding Impact in \r
+%     Steganography using Trellis-Coded Quantization", Proc. SPIE,\r
+%     Electronic Imaging, Media Forensics and Security XII, San Jose, CA, \r
+%     January 18-20, 2010.\r
+%     http://dde.binghamton.edu/filler/pdf/Fill10spie-syndrome-trellis-codes.pdf\r
+%\r
+% [3] T. Filler, J. Fridrich, "Minimizing Additive Distortion Functions\r
+%     With Non-Binary Embedding Operation in Steganography", 2nd IEEE \r
+%     Workshop on Information Forensics and Security, December 2010.\r
+%     http://dde.binghamton.edu/filler/pdf/Fill10wifs-multi-layer-stc.pdf\r
+%\r
+%   See also STC_PM1_PLS_EMBED, STC_PM1_DLS_EMBED, STC_PM2_PLS_EMBED\r
+%   STC_PM2_DLS_EMBED, STC_EMBED, STC_EXTRACT.\r
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 (executable)
index 0000000..b3597a1
Binary files /dev/null and b/stc/exp/ml_stc_linux_make_v1.0/matlab/stc_ml_extract.mexa64 differ
diff --git a/stc/exp/ml_stc_linux_make_v1.0/matlab/stc_pm1_dls_embed.m b/stc/exp/ml_stc_linux_make_v1.0/matlab/stc_pm1_dls_embed.m
new file mode 100755 (executable)
index 0000000..be6979d
--- /dev/null
@@ -0,0 +1,57 @@
+%STC_PM1_DLS_EMBED Embeds message in a cover object with +-1 changes - DLS.
+%
+%[D Y NUM_MSG_BITS L] = STC_PM1_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 +-1. 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_PM1_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_PM1_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_PM1_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 3xN, where N=numel(X).
+%     COSTS(1,i) = cost of changing X(i) by -1
+%     COSTS(2,i) = cost of changing X(i) by  0
+%     COSTS(3,i) = cost of changing X(i) by +1
+%
+%   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_PM2_PLS_EMBED
+%   STC_PM2_DLS_EMBED, STC_EMBED, STC_EXTRACT.
\ No newline at end of file
diff --git a/stc/exp/ml_stc_linux_make_v1.0/matlab/stc_pm1_dls_embed.mexa64 b/stc/exp/ml_stc_linux_make_v1.0/matlab/stc_pm1_dls_embed.mexa64
new file mode 100755 (executable)
index 0000000..4123426
Binary files /dev/null and b/stc/exp/ml_stc_linux_make_v1.0/matlab/stc_pm1_dls_embed.mexa64 differ
diff --git a/stc/exp/ml_stc_linux_make_v1.0/matlab/stc_pm1_pls_embed.m b/stc/exp/ml_stc_linux_make_v1.0/matlab/stc_pm1_pls_embed.m
new file mode 100755 (executable)
index 0000000..94baadf
--- /dev/null
@@ -0,0 +1,53 @@
+%STC_PM1_PLS_EMBED Embeds message in a cover object with +-1 changes - PLS.
+%
+%[D Y NUM_MSG_BITS L] = STC_PM1_PLS_EMBED(X, COSTS, MSG)
+%   implements Payload Limited Sender. Embeds as many bits of message MSG 
+%   as possible into cover object X, such that the cost of stego object Y 
+%   is minimal with changes limited to +-1. Uses default constraint height 
+%   h=10 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_PM1_PLS_EMBED(X, COSTS, MSG, H)
+%   the same as above, but uses STCs with constraint height H.
+%
+%[D Y NUM_MSG_BITS L] = STC_PM1_PLS_EMBED(X, COSTS, MSG, H, W)
+%   the same as above, but uses W as the cost of wet elements.
+%
+%   COSTS array must be 3xN, where N=numel(X).
+%     COSTS(1,i) = cost of changing X(i) by -1
+%     COSTS(2,i) = cost of changing X(i) by  0
+%     COSTS(3,i) = cost of changing X(i) by +1
+%
+%   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) but usually numel(MSG)=sum(NUM_MSG_BITS).
+%
+%   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_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_pm1_pls_embed.mexa64 b/stc/exp/ml_stc_linux_make_v1.0/matlab/stc_pm1_pls_embed.mexa64
new file mode 100755 (executable)
index 0000000..c6b7a03
Binary files /dev/null and b/stc/exp/ml_stc_linux_make_v1.0/matlab/stc_pm1_pls_embed.mexa64 differ
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 (executable)
index 0000000..6dad5c1
--- /dev/null
@@ -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 (executable)
index 0000000..cd3daf5
Binary files /dev/null and b/stc/exp/ml_stc_linux_make_v1.0/matlab/stc_pm2_dls_embed.mexa64 differ
diff --git a/stc/exp/ml_stc_linux_make_v1.0/matlab/stc_pm2_pls_embed.m b/stc/exp/ml_stc_linux_make_v1.0/matlab/stc_pm2_pls_embed.m
new file mode 100755 (executable)
index 0000000..1cff75a
--- /dev/null
@@ -0,0 +1,55 @@
+%STC_PM2_PLS_EMBED Embeds message in a cover object with +-2 changes - PLS.
+%
+%[D Y NUM_MSG_BITS L] = STC_PM2_PLS_EMBED(X, COSTS, MSG)
+%   implements Payload Limited Sender. Embeds as many bits of message MSG 
+%   as possible into cover object X, such that the cost of stego object Y 
+%   is minimal with changes limited to +-2. Uses default constraint height 
+%   h=10 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_PLS_EMBED(X, COSTS, MSG, H)
+%   the same as above, but uses STCs with constraint height H.
+%
+%[D Y NUM_MSG_BITS L] = STC_PM2_PLS_EMBED(X, COSTS, MSG, H, W)
+%   the same as above, but uses W as the cost of wet elements.
+%
+%   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) but usually numel(MSG)=sum(NUM_MSG_BITS).
+%
+%   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_DLS_EMBED, STC_EMBED, STC_EXTRACT.
diff --git a/stc/exp/ml_stc_linux_make_v1.0/matlab/stc_pm2_pls_embed.mexa64 b/stc/exp/ml_stc_linux_make_v1.0/matlab/stc_pm2_pls_embed.mexa64
new file mode 100755 (executable)
index 0000000..206fa19
Binary files /dev/null and b/stc/exp/ml_stc_linux_make_v1.0/matlab/stc_pm2_pls_embed.mexa64 differ
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 (file)
index 0000000..afbac2e
--- /dev/null
@@ -0,0 +1,97 @@
+#include <iostream>\r
+#include <iomanip>\r
+#include <cmath>\r
+#include "coding_loss.h"\r
+\r
+// binary entropy function in double precission\r
+inline double binary_entropy(double x) {\r
+\r
+    double const LOG2 = log(2.0);\r
+    double const EPS = std::numeric_limits<double>::epsilon();\r
+    double z;\r
+\r
+    if ((x<EPS) || ((1-x)<EPS)) {\r
+        return 0;\r
+    } else {\r
+        z = (-x*log(x)-(1-x)*log(1-x))/LOG2;\r
+        return z;\r
+    }\r
+}\r
+\r
+double calc_coding_loss(const u8 *cover, unsigned int cover_length, unsigned int message_length, const double *costs, const u8 *stego) {\r
+    \r
+    unsigned int i;\r
+    double avg_distortion = 0; // average distortion between cover and stego\r
+    double opt_rel_payload = 0;\r
+    double beta, actual_rel_payload, coding_loss;\r
+\r
+    // calculate average distortion per cover element\r
+    for(i=0;i<cover_length;i++) { avg_distortion += (cover[i]==stego[i]) ? 0 : costs[i]; }\r
+    avg_distortion /= cover_length;\r
+\r
+    // find optimal value of parameter beta such that optimal coding achieves avg_distortion\r
+    beta = calculate_beta_from_distortion(costs, cover_length, avg_distortion);\r
+    // calculate optimal relative payload achieved by optimal coding method\r
+    for(i=0;i<cover_length;i++) {\r
+        double x = exp(-beta*costs[i]);\r
+        opt_rel_payload += binary_entropy(x/(1.0+x)); // measure entropy of the optimal flipping noise\r
+    }\r
+    opt_rel_payload /= cover_length;\r
+    actual_rel_payload = ((double)message_length)/((double)cover_length);\r
+\r
+    coding_loss = 1.0 - actual_rel_payload/opt_rel_payload;\r
+    return coding_loss;\r
+}\r
+\r
+/*\r
+  find beta such that average distortion caused by optimal flipping noise is avg_distortion\r
+  using binary search\r
+*/\r
+double calculate_beta_from_distortion(const double *costs, unsigned int n, double avg_distortion) {\r
+\r
+    double dist1, dist2, dist3, beta1, beta2, beta3;\r
+    int j = 0;\r
+    unsigned int i;\r
+    const double INF = std::numeric_limits<double>::infinity();\r
+\r
+    beta2 = -1; // initial value - error\r
+    beta1 = 0; dist1 = 0;\r
+    for(i=0;i<n;i++) {\r
+        dist1 += (costs[i]==INF) ? 0 : costs[i];\r
+    }\r
+    dist1 /= n*2;\r
+    beta3 = 1e+5; dist3 = avg_distortion+1; // this is just an initial value\r
+    while(dist3>avg_distortion) {\r
+        beta3 *= 2;\r
+        for(i=0;i<n;i++) {\r
+            double p_flip = 1.0-1.0/(1.0+exp(-beta3*costs[i]));\r
+            if (costs[i]!=INF) { dist3 += costs[i]*p_flip; }\r
+        }\r
+        dist3 /= n;\r
+        j++;\r
+        if (j>100) {\r
+            // beta is probably unbounded => it seems that we cannot find beta such that\r
+            // relative distortion will be smaller than requested. Binary search does not make sense here.\r
+            return -1;\r
+        }\r
+    }\r
+    while ( (dist1-dist3>(avg_distortion/1000.0)) ) { // iterative search for parameter beta\r
+        beta2 = beta1+(beta3-beta1)/2; dist2 = 0;\r
+        for(i=0;i<n;i++) {\r
+            if (costs[i]!=INF) {\r
+                double p_flip = 1.0-1.0/(1.0+exp(-beta2*costs[i]));\r
+                if (costs[i]!=INF) { dist2 += costs[i]*p_flip; }\r
+            }\r
+        }\r
+        dist2 /= n;\r
+        if (dist2<avg_distortion) {\r
+            beta3 = beta2;\r
+            dist3 = dist2;\r
+        } else {\r
+            beta1 = beta2;\r
+            dist1 = dist2;\r
+        }\r
+    }\r
+\r
+    return beta2;\r
+}\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/coding_loss.h b/stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/coding_loss.h
new file mode 100644 (file)
index 0000000..58d1c2b
--- /dev/null
@@ -0,0 +1,23 @@
+#ifndef CODING_LOSS_H_
+#define CODING_LOSS_H_
+
+/*
+ CODING LOSS: add description and definition of coding loss ...
+
+ * **********************************************************************************
+ * EXAMPLE:                                                                         *
+ *    stc_embed(cover, n, msg, m, (void*)profile, true, stego, constraint_height);  *
+ *    coding_loss = calc_coding_loss(cover, n, m, profile, stego);                  *
+ *    stc_extract(stego, n, msg2, m, constraint_height);                            *
+ * **********************************************************************************
+*/
+
+#include <cmath>
+#include <limits>
+
+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 (file)
index 0000000..f45dd54
--- /dev/null
@@ -0,0 +1,177 @@
+#include <cstdio>\r
+#include <cstring>\r
+#include <cstdlib>\r
+#include "common.h"\r
+\r
+#include <boost/random/uniform_int.hpp>\r
+#include <boost/random/variate_generator.hpp>\r
+#include <boost/random/mersenne_twister.hpp>\r
+
+u32 mats[] = {\r
+0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \r
+109, 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \r
+109, 79, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \r
+89, 127, 99, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \r
+95, 75, 121, 71, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \r
+71, 117, 127, 75, 89, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \r
+111, 83, 127, 97, 77, 117, 89, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \r
+113, 111, 87, 93, 99, 73, 117, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \r
+89, 97, 115, 81, 77, 117, 87, 127, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \r
+95, 107, 109, 79, 117, 67, 121, 123, 103, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \r
+117, 71, 109, 79, 101, 115, 123, 81, 77, 95, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, \r
+119, 73, 81, 125, 123, 103, 99, 127, 109, 69, 89, 107, 0, 0, 0, 0, 0, 0, 0, 0, \r
+87, 127, 117, 81, 97, 67, 101, 93, 105, 109, 75, 115, 123, 0, 0, 0, 0, 0, 0, 0, \r
+93, 107, 115, 95, 121, 81, 75, 99, 111, 85, 79, 119, 105, 65, 0, 0, 0, 0, 0, 0, \r
+123, 85, 79, 87, 127, 65, 115, 93, 101, 111, 73, 119, 105, 99, 91, 0, 0, 0, 0, 0, \r
+127, 99, 121, 111, 71, 109, 103, 117, 113, 65, 105, 87, 101, 75, 93, 123, 0, 0, 0, 0, \r
+89, 93, 111, 117, 103, 127, 77, 95, 85, 105, 67, 69, 113, 123, 99, 75, 119, 0, 0, 0, \r
+65, 99, 77, 85, 101, 91, 125, 103, 127, 111, 69, 93, 75, 95, 119, 113, 105, 115, 0, 0, \r
+91, 117, 77, 107, 101, 127, 115, 83, 85, 119, 105, 113, 93, 71, 111, 121, 97, 73, 81, 0, \r
+95, 111, 117, 83, 97, 75, 87, 127, 85, 93, 105, 115, 77, 101, 99, 89, 71, 121, 67, 123, \r
+0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \r
+247, 149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \r
+143, 187, 233, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \r
+235, 141, 161, 207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \r
+219, 185, 151, 255, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \r
+251, 159, 217, 167, 221, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \r
+201, 143, 231, 251, 189, 169, 155, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \r
+143, 245, 177, 253, 217, 163, 155, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \r
+233, 145, 219, 185, 231, 215, 173, 129, 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \r
+139, 201, 177, 167, 213, 253, 227, 199, 185, 159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \r
+183, 145, 223, 199, 245, 139, 187, 157, 217, 237, 163, 0, 0, 0, 0, 0, 0, 0, 0, 0, \r
+223, 145, 137, 219, 197, 243, 247, 189, 135, 181, 207, 235, 0, 0, 0, 0, 0, 0, 0, 0, \r
+229, 205, 237, 187, 135, 241, 183, 163, 151, 243, 213, 137, 159, 0, 0, 0, 0, 0, 0, 0, \r
+205, 165, 239, 211, 231, 247, 133, 227, 219, 189, 249, 185, 149, 129, 0, 0, 0, 0, 0, 0, \r
+131, 213, 255, 207, 227, 221, 173, 185, 197, 147, 235, 247, 217, 143, 229, 0, 0, 0, 0, 0, \r
+247, 139, 157, 223, 187, 147, 177, 249, 165, 153, 161, 227, 237, 255, 207, 197, 0, 0, 0, 0, \r
+205, 139, 239, 183, 147, 187, 249, 225, 253, 163, 173, 233, 209, 159, 255, 149, 197, 0, 0, 0, \r
+177, 173, 195, 137, 211, 249, 191, 135, 175, 155, 229, 215, 203, 225, 247, 237, 221, 227, 0, 0, \r
+159, 189, 195, 163, 255, 147, 219, 247, 231, 157, 139, 173, 185, 197, 207, 245, 193, 241, 233, 0, \r
+235, 179, 219, 253, 241, 131, 213, 231, 247, 223, 201, 193, 191, 249, 145, 237, 155, 165, 141, 173, \r
+0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \r
+339, 489, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \r
+469, 441, 379, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \r
+371, 439, 277, 479, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \r
+413, 489, 443, 327, 357, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \r
+509, 453, 363, 409, 425, 303, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \r
+377, 337, 443, 487, 467, 421, 299, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \r
+497, 349, 279, 395, 365, 427, 399, 297, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \r
+435, 373, 395, 507, 441, 325, 279, 289, 319, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \r
+301, 379, 509, 411, 293, 467, 455, 261, 343, 447, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \r
+367, 289, 445, 397, 491, 279, 373, 315, 435, 473, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, \r
+465, 379, 319, 275, 293, 407, 373, 427, 445, 497, 347, 417, 0, 0, 0, 0, 0, 0, 0, 0, \r
+473, 401, 267, 311, 359, 347, 333, 441, 405, 381, 497, 463, 269, 0, 0, 0, 0, 0, 0, 0, \r
+467, 283, 405, 303, 269, 337, 385, 441, 511, 361, 455, 355, 353, 311, 0, 0, 0, 0, 0, 0, \r
+489, 311, 259, 287, 445, 471, 419, 345, 289, 391, 405, 411, 371, 457, 331, 0, 0, 0, 0, 0, \r
+493, 427, 305, 309, 339, 447, 381, 335, 323, 423, 453, 457, 443, 313, 371, 353, 0, 0, 0, 0, \r
+271, 301, 483, 401, 369, 367, 435, 329, 319, 473, 441, 491, 325, 455, 389, 341, 317, 0, 0, 0, \r
+333, 311, 509, 319, 391, 441, 279, 467, 263, 487, 393, 405, 473, 303, 353, 337, 451, 365, 0, 0, \r
+301, 477, 361, 445, 505, 363, 375, 277, 271, 353, 337, 503, 457, 357, 287, 323, 435, 345, 497, 0, \r
+281, 361, 413, 287, 475, 359, 483, 351, 337, 425, 453, 423, 301, 309, 331, 499, 507, 277, 375, 471, \r
+0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \r
+519, 885, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \r
+579, 943, 781, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \r
+685, 663, 947, 805, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \r
+959, 729, 679, 609, 843, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \r
+959, 973, 793, 747, 573, 659, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \r
+631, 559, 1023, 805, 709, 913, 979, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \r
+607, 867, 731, 1013, 625, 973, 825, 925, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \r
+743, 727, 851, 961, 813, 605, 527, 563, 867, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \r
+863, 921, 943, 523, 653, 969, 563, 597, 753, 621, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \r
+729, 747, 901, 839, 815, 935, 777, 641, 1011, 603, 973, 0, 0, 0, 0, 0, 0, 0, 0, 0, \r
+581, 831, 659, 877, 781, 929, 1003, 1021, 655, 729, 983, 611, 0, 0, 0, 0, 0, 0, 0, 0, \r
+873, 1013, 859, 887, 579, 697, 769, 927, 679, 683, 911, 753, 733, 0, 0, 0, 0, 0, 0, 0, \r
+991, 767, 845, 977, 923, 609, 633, 769, 533, 829, 859, 759, 687, 657, 0, 0, 0, 0, 0, 0, \r
+781, 663, 731, 829, 851, 941, 601, 997, 719, 675, 947, 939, 657, 549, 647, 0, 0, 0, 0, 0, \r
+619, 879, 681, 601, 1015, 797, 737, 841, 839, 869, 931, 789, 767, 547, 823, 635, 0, 0, 0, 0, \r
+855, 567, 591, 1019, 745, 945, 769, 671, 803, 799, 925, 701, 517, 653, 885, 731, 581, 0, 0, 0, \r
+887, 643, 785, 611, 905, 669, 703, 1017, 575, 763, 625, 869, 731, 861, 847, 941, 933, 577, 0, 0, \r
+867, 991, 1021, 709, 599, 741, 933, 921, 619, 789, 957, 791, 969, 525, 591, 763, 657, 683, 829, 0, \r
+1009, 1003, 901, 715, 643, 803, 805, 975, 667, 619, 569, 769, 685, 767, 853, 671, 881, 907, 955, 523, \r
+0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \r
+1655, 1493, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \r
+1859, 1481, 1119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \r
+1395, 1737, 1973, 1259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \r
+1339, 1067, 1679, 1641, 2021, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \r
+1657, 1331, 1783, 2043, 1097, 1485, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \r
+1611, 1141, 1849, 2001, 1511, 1359, 1245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \r
+1215, 1733, 1461, 2025, 1251, 1945, 1649, 1851, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \r
+1275, 1373, 1841, 1509, 1631, 1737, 1055, 1891, 1041, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \r
+1715, 1117, 1503, 2025, 1027, 1959, 1365, 1739, 1301, 1233, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \r
+1101, 1127, 1145, 1157, 1195, 1747, 1885, 1527, 1325, 2033, 1935, 0, 0, 0, 0, 0, 0, 0, 0, 0, \r
+1369, 1255, 1809, 1889, 1183, 1495, 1223, 1781, 2029, 1327, 1075, 1065, 0, 0, 0, 0, 0, 0, 0, 0, \r
+1157, 1499, 1871, 1365, 1559, 1149, 1293, 1571, 1641, 1971, 1807, 1673, 2023, 0, 0, 0, 0, 0, 0, 0, \r
+1929, 1533, 1135, 1359, 1547, 1723, 1529, 1107, 1273, 1879, 1709, 1141, 1897, 1161, 0, 0, 0, 0, 0, 0, \r
+1861, 1801, 1675, 1699, 1103, 1665, 1657, 1287, 1459, 2047, 1181, 1835, 1085, 1377, 1511, 0, 0, 0, 0, 0, \r
+1915, 1753, 1945, 1391, 1205, 1867, 1895, 1439, 1719, 1185, 1685, 1139, 1229, 1791, 1821, 1295, 0, 0, 0, 0, \r
+1193, 1951, 1469, 1737, 1047, 1227, 1989, 1717, 1735, 1643, 1857, 1965, 1405, 1575, 1907, 1173, 1299, 0, 0, 0, \r
+1641, 1887, 1129, 1357, 1543, 1279, 1687, 1975, 1839, 1775, 1109, 1337, 1081, 1435, 1603, 2037, 1249, 1153, 0, 0, \r
+1999, 1065, 1387, 1977, 1555, 1915, 1219, 1469, 1889, 1933, 1819, 1315, 1319, 1693, 1143, 1361, 1815, 1109, 1631, 0, \r
+1253, 1051, 1827, 1871, 1613, 1759, 2015, 1229, 1585, 1057, 1409, 1831, 1943, 1491, 1557, 1195, 1339, 1449, 1675, 1679, \r
+0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \r
+3475, 2685, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \r
+3865, 2883, 2519, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \r
+4019, 3383, 3029, 2397, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \r
+2725, 3703, 3391, 2235, 2669, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \r
+2489, 3151, 2695, 3353, 4029, 3867, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \r
+2467, 2137, 3047, 3881, 3125, 2683, 3631, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \r
+2739, 3163, 2137, 4031, 2967, 3413, 3749, 2301, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \r
+3443, 2305, 3365, 2231, 2127, 3697, 3535, 4041, 2621, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \r
+3641, 2777, 2789, 2357, 3003, 2729, 3229, 2925, 3443, 2291, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \r
+3567, 2361, 2061, 2219, 3905, 2285, 2871, 3187, 2455, 2783, 2685, 0, 0, 0, 0, 0, 0, 0, 0, 0, \r
+4043, 2615, 2385, 3911, 3267, 2871, 3667, 3037, 2905, 2921, 2129, 2299, 0, 0, 0, 0, 0, 0, 0, 0, \r
+2315, 2997, 3743, 2729, 3117, 2297, 2585, 3141, 3283, 3943, 3613, 3345, 4047, 0, 0, 0, 0, 0, 0, 0, \r
+3967, 3069, 3377, 3909, 3691, 2439, 2533, 3075, 2129, 3319, 3433, 3035, 2745, 2631, 0, 0, 0, 0, 0, 0, \r
+3023, 3349, 2111, 2385, 3907, 3959, 3425, 3801, 2135, 2671, 2637, 2977, 2999, 3107, 2277, 0, 0, 0, 0, 0, \r
+2713, 2695, 3447, 2537, 2685, 3755, 3953, 3901, 3193, 3107, 2407, 3485, 2097, 3091, 2139, 2261, 0, 0, 0, 0, \r
+3065, 4059, 2813, 3043, 2849, 3477, 3205, 3381, 2747, 3203, 3937, 3603, 3625, 3559, 3831, 2243, 2343, 0, 0, 0, \r
+3999, 3183, 2717, 2307, 2103, 3353, 2761, 2541, 2375, 2327, 3277, 2607, 3867, 3037, 2163, 2261, 3649, 2929, 0, 0, \r
+2543, 2415, 3867, 3709, 3161, 2369, 4087, 2205, 3785, 2515, 2133, 2913, 3941, 3371, 2605, 3269, 3385, 3025, 2323, 0, \r
+2939, 2775, 3663, 2413, 2573, 2205, 3821, 3513, 2699, 3379, 2479, 2663, 2367, 2517, 3027, 3201, 3177, 3281, 4069, 2069, \r
+};\r
+\r
+u32 *getMatrix(int width, int height) {\r
+       u32 *cols;\r
+       cols = (u32*)malloc(width * sizeof(u32));\r
+\r
+       if(width >= 2 && width <= 20 && height >= 7 && height <= 12) { // get it from the array\r
+               memcpy(cols, &mats[(height - 7) * 400 + (width - 1) * 20], width * sizeof(u32));\r
+       } else { // generate a random one\r
+               int i, j;\r
+               u32 r, mask, bop;\r
+\r
+               /* This was here because random submatrices designed with the same columns are known to be bad. But sometimes the\r
+                * payload is so small that there is no other way.\r
+                *\r
+                * Modified by Tomas Filler.\r
+                */\r
+\r
+               boost::mt19937 generator( 1 );\r
+               boost::variate_generator< boost::mt19937&, boost::uniform_int< > > rng( generator, boost::uniform_int< >( 0, RAND_MAX ) );\r
+\r
+        mask = (1 << (height - 2)) - 1;\r
+        bop = (1 << (height - 1)) + 1;\r
+        if((1 << (height - 2)) < width) {\r
+                       // fprintf(stderr, "Cannot generate matrix for this payload. Choose a higher constraint height.\n");\r
+            // generate the columns randomly but let first and last row be full of 1s.\r
+            // I know, there will be identical columns.\r
+            for(i = 0; i < width; i++) {\r
+                r = ((rng() & mask) << 1) + bop;\r
+                cols[i] = r;\r
+            }\r
+               } else {\r
+            for(i = 0; i < width; i++) {\r
+                for(j = -1; j < i;) {\r
+                    r = ((rng() & mask) << 1) + bop;\r
+                    for(j = 0; j < i; j++) {\r
+                        if(cols[j] == r)\r
+                            break;\r
+                    }\r
+                }\r
+                cols[i] = r;\r
+            }\r
+               }\r
+\r
+       }\r
+       return cols;\r
+}\r
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 (file)
index 0000000..d84e69e
--- /dev/null
@@ -0,0 +1,35 @@
+#ifndef COMMON_H\r
+#define COMMON_H\r
+\r
+#include <string>\r
+\r
+typedef unsigned int u32;\r
+typedef unsigned short u16;\r
+typedef unsigned char u8;\r
+\r
+extern u32 mats[];\r
+\r
+/* Simple class for throwing exceptions */\r
+class stc_exception : public std::exception {\r
+public:\r
+    stc_exception(std::string message, u32 error_id) { this->message = message; this->error_id = error_id; }\r
+    virtual ~stc_exception() throw() {}\r
+    virtual const char* what() const throw() { return message.c_str(); }\r
+    u32 error_id;\r
+private:\r
+    std::string message;\r
+};\r
+\r
+/* \r
+   The following error_ids are in use:\r
+   1 = Submatrix height must not exceed 31.\r
+   2 = Not enough memory.\r
+   3 = The message cannot be longer than the cover object.\r
+   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.\r
+   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.\r
+   6 = Maximum number of trials in layered construction exceeded.\r
+ */\r
+\r
+u32 *getMatrix(int width, int height);\r
+\r
+#endif\r
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 (file)
index 0000000..f4535d5
--- /dev/null
@@ -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 (file)
index 0000000..c93d498
--- /dev/null
@@ -0,0 +1,95 @@
+#include <iostream>
+#include <iomanip>
+#include <cmath>
+#include <cstdlib>
+#include <ctime>
+
+#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<n; i++) cover[i] = rand()%256;
+
+    float* costs = new float[3*n];
+    for (uint i=0; i<n; i++) {
+        if (cover[i]==0) {        // F_INF is defined as infinity in float
+            costs[3*i+0] = F_INF; // cost of changing pixel by -1 is infinity => 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<m; i++) message[i] = rand()%2;
+    
+    int* stego = new int[n];
+    unsigned int* num_msg_bits = new unsigned int[2];
+    float coding_loss; // calculate coding loss
+
+    std::cout << "Multi layer construction for steganography.\nExample of weighted +-1 embedding using 2 layers of STCs.\n\n";
+
+    std::cout << "Running stc_pm1_pls_embed()    WITH coding loss calculation ... " << std::flush;
+    double t0 = (double)clock()/CLOCKS_PER_SEC;
+    float dist = stc_pm1_pls_embed(n, cover, costs, m, message,
+                                   h, F_INF,
+                                   stego, num_msg_bits, trials, &coding_loss); // trials contain the number of trials used
+    double t = ((double)clock()/CLOCKS_PER_SEC)-t0;
+    std::cout << "done in " << t << " seconds.\n";
+
+    trials = 10; // set the maximum number of trials again
+    std::cout << "Running stc_pm1_pls_embed() WITHOUT coding loss calculation ... " << std::flush;
+    t0 = (double)clock()/CLOCKS_PER_SEC;
+    dist = stc_pm1_pls_embed(n, cover, costs, m, message,
+                             h, F_INF,
+                             stego, num_msg_bits, trials, 0); // trials contain the number of trials used
+    t = ((double)clock()/CLOCKS_PER_SEC)-t0;
+    std::cout << "done in " << t << " seconds.\n";
+
+    std::cout << "Running stc_ml2_extract() ... " << std::flush;
+    t0 = (double)clock()/CLOCKS_PER_SEC;
+    stc_ml_extract(n, stego, 2, num_msg_bits, h, extracted_message);
+    std::cout << "done in " << ((double)clock()/CLOCKS_PER_SEC)-t0 << " seconds.\n\n";
+
+    std::cout << "          Cover size  n = " << n << " elements.\n";
+    std::cout << "         Message bits m = " << m << " bits => " << 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<m; i++) {
+        msg_ok &= (extracted_message[i]==message[i]);
+        if (!msg_ok) std::cout << "\nExtracted message differs in bit " << i << std::endl;
+    }
+    if (msg_ok) std::cout << "\nMessage was embedded and extracted correctly." << std::endl;
+
+    delete[] cover;
+    delete[] stego;
+    delete[] costs;
+    delete[] message;
+    delete[] extracted_message;
+    delete[] num_msg_bits;
+
+    return 0;
+}
diff --git a/stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/example2_ml_stc.cpp b/stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/example2_ml_stc.cpp
new file mode 100644 (file)
index 0000000..7d4d92f
--- /dev/null
@@ -0,0 +1,99 @@
+#include <iostream>
+#include <iomanip>
+#include <cmath>
+#include <cstdlib>
+#include <ctime>
+
+#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<n; i++) cover[i] = rand()%256;
+
+    float* costs = new float[5*n];
+    for (uint i=0; i<n; i++) {
+        for (int j=-2; j<3; j++) {
+            costs[5*i+2+j] = F_INF; // default value
+            if ( (cover[i]+j>=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<m; i++) message[i] = rand()%2;
+    
+    int* stego = new int[n];
+    unsigned int* num_msg_bits = new unsigned int[3];
+    float coding_loss; // calculate coding loss
+
+    std::cout << "Multi layer construction for steganography.\nExample of weighted +-2 embedding using 3 layers of STCs in payload limited regime.\n\n";
+
+    std::cout << "Running stc_pm2_pls_embed()    WITH coding loss calculation ... " << std::flush;
+    double t0 = (double)clock()/CLOCKS_PER_SEC;
+    float dist = stc_pm2_pls_embed(n, cover, costs, m, message,
+                                   h, F_INF,
+                                   stego, num_msg_bits, trials, &coding_loss); // trials contain the number of trials used
+    double t = ((double)clock()/CLOCKS_PER_SEC)-t0;
+    std::cout << "done in " << t << " seconds.\n";
+
+    trials = 10; // set the maximum number of trials again
+    std::cout << "Running stc_pm2_pls_embed() WITHOUT coding loss calculation ... " << std::flush;
+    t0 = (double)clock()/CLOCKS_PER_SEC;
+    dist = stc_pm2_pls_embed(n, cover, costs, m, message,
+                                   h, F_INF,
+                             stego, num_msg_bits, trials, 0); // trials contain the number of trials used
+    t = ((double)clock()/CLOCKS_PER_SEC)-t0;
+    std::cout << "done in " << t << " seconds.\n";
+
+    std::cout << "Running stc_ml3_extract() ... " << std::flush;
+    t0 = (double)clock()/CLOCKS_PER_SEC;
+    stc_ml_extract(n, stego, 3, num_msg_bits, h, extracted_message);
+    std::cout << "done in " << ((double)clock()/CLOCKS_PER_SEC)-t0 << " seconds.\n\n";
+
+    std::cout << "          Cover size  n = " << n << " elements.\n";
+    std::cout << "         Message bits m = " << m << " bits => " << 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; i<m; i++) {
+        msg_ok &= (extracted_message[i]==message[i]);
+        if (!msg_ok) { std::cout << "\nExtracted message differs in bit " << i << std::endl; break; }
+    }
+    if (msg_ok) std::cout << "\nMessage was embedded and extracted correctly." << std::endl;
+
+    delete[] cover;
+    delete[] stego;
+    delete[] costs;
+    delete[] message;
+    delete[] extracted_message;
+    delete[] num_msg_bits;
+
+    return 0;
+}
diff --git a/stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/mex_stc_ml_extract.cpp b/stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/mex_stc_ml_extract.cpp
new file mode 100644 (file)
index 0000000..cb273ae
--- /dev/null
@@ -0,0 +1,39 @@
+#include "stc_ml_c.h"\r
+#include "mex.h"\r
+\r
+// input and output arguments\r
+#define OUT_MESSAGE     plhs[0] // extracted message represented as uint8 array\r
+#define IN_STEGO        prhs[0] // array of stego elements\r
+#define IN_NUM_MSG_BITS prhs[1] // array describing the number of bits embedded in every layer\r
+#define IN_CONSTRAINT_H prhs[2] // constraint height of STC codes, default = 10\r
+\r
+void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]) {\r
+\r
+       uint h, n;\r
+    int* stego;\r
+\r
+       // check for proper number of input and output arguments\r
+       if (nrhs<2) { mexErrMsgTxt("At leat two input arguments are required."); } \r
+\r
+       if (mxGetM(IN_STEGO)>1 || mxGetN(IN_STEGO)==1) mexErrMsgTxt("Vector of stego elements must be a row vector.");\r
+    if (!mxIsClass(IN_STEGO, "int32")) mexErrMsgTxt("Vector of stego elements must be of type int32.");\r
+       stego = (int*)mxGetPr(IN_STEGO);\r
+       n = mxGetN(IN_STEGO);\r
+\r
+       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.");\r
+    uint* num_msg_bits = (uint*)mxGetPr(IN_NUM_MSG_BITS);\r
+    uint num_of_layers = mxGetN(IN_NUM_MSG_BITS);\r
+\r
+       // get constraint length\r
+    h = 10; // default value\r
+    if (nrhs>2) {\r
+        if (mxGetM(IN_CONSTRAINT_H)>1 || mxGetN(IN_CONSTRAINT_H)>1) mexErrMsgTxt("Constraint height of the STC must be scalar integer value.");\r
+        h = (uint)mxGetScalar(IN_CONSTRAINT_H);\r
+    }\r
+    uint m = 0;\r
+    for (uint i=0; i<num_of_layers; i++) m += num_msg_bits[i];\r
+    OUT_MESSAGE = mxCreateNumericMatrix(1, m, mxUINT8_CLASS, mxREAL);\r
+    u8* message = (u8*)mxGetPr(OUT_MESSAGE);\r
+\r
+    stc_ml_extract(n, stego, num_of_layers, num_msg_bits, h, message);\r
+}\r
diff --git a/stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/mex_stc_pm1_dls_embed.cpp b/stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/mex_stc_pm1_dls_embed.cpp
new file mode 100644 (file)
index 0000000..bff107a
--- /dev/null
@@ -0,0 +1,79 @@
+#include "stc_ml_c.h"\r
+#include "mex.h"\r
+\r
+// input and output arguments\r
+#define OUT_DISTORTION     plhs[0] // extracted message represented as uint8 array\r
+#define OUT_STEGO          plhs[1] // array of stego elements with embedded message\r
+#define OUT_NUM_MSG_BITS   plhs[2] // array describing the number of bits embedded in every layer\r
+#define OUT_CODING_LOSS    plhs[3] // OPTIONAL - describes the loss introduced by practical algorithm\r
+\r
+#define IN_COVER           prhs[0] // array of cover elements\r
+#define IN_COSTS           prhs[1] // array of costs of changing each element by +-1 or 0\r
+#define IN_MESSAGE         prhs[2] // array with message bits in uint8\r
+#define IN_TARGET_DIST     prhs[3] // target distortion of distortion limited sender\r
+#define IN_EXP_CODING_LOSS prhs[4] // OPTIONAL coding loss applied when embedding to accomodate the loss of practical algorithm, default = 5%\r
+#define IN_CONSTRAINT_H    prhs[5] // OPTIONAL constraint height of STC codes, default = 10\r
+#define IN_WET_COST        prhs[6] // OPTIONAL cost used to represent forbidden stego element, default = Inf\r
+\r
+void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]) {\r
+\r
+       uint h, n, m, trials = 10;\r
+    int *stego, *cover;\r
+    float *costs, *coding_loss, target_dist, expected_coding_loss;\r
+    u8* message;\r
+\r
+       // check for proper number of input and output arguments\r
+       if (nrhs<4) { mexErrMsgTxt("At least four input arguments are required."); } \r
+\r
+       if (mxGetM(IN_COVER)>1 || mxGetN(IN_COVER)==1) mexErrMsgTxt("Vector of cover elements must be a row vector.");\r
+    if (!mxIsClass(IN_COVER, "int32")) mexErrMsgTxt("Vector of cover elements must be of type int32.");\r
+       cover = (int*)mxGetPr(IN_COVER);\r
+       n = mxGetN(IN_COVER);\r
+\r
+    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.");\r
+    if (!mxIsClass(IN_COSTS, "single")) mexErrMsgTxt("Matrix of costs must be of type single.");\r
+       costs = (float*)mxGetPr(IN_COSTS);\r
+\r
+    if (mxGetM(IN_MESSAGE)!=1) mexErrMsgTxt("Message vector must be a row vector.");\r
+    if (!mxIsClass(IN_MESSAGE, "uint8")) mexErrMsgTxt("Message array must be of type uint8.");\r
+       message = (u8*)mxGetPr(IN_MESSAGE);\r
+    m = mxGetN(IN_MESSAGE);\r
+\r
+    if (mxGetM(IN_TARGET_DIST)>1 || mxGetN(IN_TARGET_DIST)>1) mexErrMsgTxt("Target distortion must be scalar value.");\r
+    target_dist = (float)mxGetScalar(IN_TARGET_DIST);\r
+\r
+       // get constraint height\r
+    expected_coding_loss = 0.05; // default value\r
+    if (nrhs>4) {\r
+        if (mxGetM(IN_EXP_CODING_LOSS)>1 || mxGetN(IN_EXP_CODING_LOSS)>1) mexErrMsgTxt("Expected coding loss must be scalar value.");\r
+        expected_coding_loss = (float)mxGetScalar(IN_EXP_CODING_LOSS);\r
+    }\r
+       // get constraint height\r
+    h = 10; // default value\r
+    if (nrhs>5) {\r
+        if (mxGetM(IN_CONSTRAINT_H)>1 || mxGetN(IN_CONSTRAINT_H)>1) mexErrMsgTxt("Constraint height of the STC must be scalar integer value.");\r
+        h = (uint)mxGetScalar(IN_CONSTRAINT_H);\r
+    }\r
+    // wet cost\r
+    float wet_cost = F_INF; // default value is infinity\r
+    if (nrhs>6) {\r
+        if (mxGetM(IN_WET_COST)>1 || mxGetN(IN_WET_COST)>1) mexErrMsgTxt("Wet cost must be scalar value.");\r
+        if (!mxIsClass(IN_WET_COST, "single")) mexErrMsgTxt("Wet cost must be of type single.");\r
+        wet_cost = (float)mxGetScalar(IN_WET_COST);\r
+    }\r
+\r
+    coding_loss = 0; // this is optional output argument\r
+    if (nlhs>3) {\r
+        OUT_CODING_LOSS = mxCreateNumericMatrix(1, 1, mxSINGLE_CLASS, mxREAL);\r
+        coding_loss = (float*)mxGetPr(OUT_CODING_LOSS);\r
+    }\r
+\r
+    OUT_DISTORTION = mxCreateNumericMatrix(1, 1, mxDOUBLE_CLASS, mxREAL);\r
+    double* dist = mxGetPr(OUT_DISTORTION);\r
+    OUT_STEGO = mxCreateNumericMatrix(1, n, mxINT32_CLASS, mxREAL);\r
+    stego = (int*)mxGetPr(OUT_STEGO);\r
+    OUT_NUM_MSG_BITS = mxCreateNumericMatrix(1, 2, mxUINT32_CLASS, mxREAL);\r
+    uint *num_msg_bits = (uint*)mxGetPr(OUT_NUM_MSG_BITS);\r
+\r
+    *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);\r
+}\r
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 (file)
index 0000000..0628888
--- /dev/null
@@ -0,0 +1,68 @@
+#include "stc_ml_c.h"\r
+#include "mex.h"\r
+\r
+// input and output arguments\r
+#define OUT_DISTORTION   plhs[0] // extracted message represented as uint8 array\r
+#define OUT_STEGO        plhs[1] // \r
+#define OUT_NUM_MSG_BITS plhs[2] // array describing the number of bits embedded in every layer\r
+#define OUT_CODING_LOSS  plhs[3] // OPTIONAL - describes the loss introduced by practical algorithm\r
+\r
+#define IN_COVER         prhs[0] // array of cover elements\r
+#define IN_COSTS         prhs[1] // array of costs of changing each element by +-1 or 0\r
+#define IN_MESSAGE       prhs[2] // array with message bits in uint8\r
+#define IN_CONSTRAINT_H  prhs[3] // constraint height of STC codes, default = 10\r
+#define IN_WET_COST      prhs[4] // cost used to represent forbidden stego element, default = Inf\r
+\r
+void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]) {\r
+\r
+       uint h, n, m, trials = 10;\r
+    int *stego, *cover;\r
+    float *costs, *coding_loss;\r
+    u8* message;\r
+\r
+       // check for proper number of input and output arguments\r
+       if (nrhs<3) { mexErrMsgTxt("At least three input arguments are required."); } \r
+\r
+       if (mxGetM(IN_COVER)>1 || mxGetN(IN_COVER)==1) mexErrMsgTxt("Vector of cover elements must be a row vector.");\r
+    if (!mxIsClass(IN_COVER, "int32")) mexErrMsgTxt("Vector of cover elements must be of type int32.");\r
+       cover = (int*)mxGetPr(IN_COVER);\r
+       n = mxGetN(IN_COVER);\r
+\r
+    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.");\r
+    if (!mxIsClass(IN_COSTS, "single")) mexErrMsgTxt("Matrix of costs must be of type single.");\r
+       costs = (float*)mxGetPr(IN_COSTS);\r
+\r
+    if (mxGetM(IN_MESSAGE)!=1) mexErrMsgTxt("Message vector must be a row vector.");\r
+    if (!mxIsClass(IN_MESSAGE, "uint8")) mexErrMsgTxt("Message array must be of type uint8.");\r
+       message = (u8*)mxGetPr(IN_MESSAGE);\r
+    m = mxGetN(IN_MESSAGE);\r
+\r
+       // get constraint length\r
+    h = 10; // default value\r
+    if (nrhs>3) {\r
+        if (mxGetM(IN_CONSTRAINT_H)>1 || mxGetN(IN_CONSTRAINT_H)>1) mexErrMsgTxt("Constraint height of the STC must be scalar integer value.");\r
+        h = (uint)mxGetScalar(IN_CONSTRAINT_H);\r
+    }\r
+    // wet cost\r
+    float wet_cost = F_INF; // default value is infinity\r
+    if (nrhs>4) {\r
+        if (mxGetM(IN_WET_COST)>1 || mxGetN(IN_WET_COST)>1) mexErrMsgTxt("Wet cost must be scalar value.");\r
+        if (!mxIsClass(IN_WET_COST, "single")) mexErrMsgTxt("Wet cost must be of type single.");\r
+        wet_cost = (float)mxGetScalar(IN_WET_COST);\r
+    }\r
+\r
+    coding_loss = 0; // this is optional output argument\r
+    if (nlhs>3) {\r
+        OUT_CODING_LOSS = mxCreateNumericMatrix(1, 1, mxSINGLE_CLASS, mxREAL);\r
+        coding_loss = (float*)mxGetPr(OUT_CODING_LOSS);\r
+    }\r
+\r
+    OUT_DISTORTION = mxCreateNumericMatrix(1, 1, mxDOUBLE_CLASS, mxREAL);\r
+    double* dist = mxGetPr(OUT_DISTORTION);\r
+    OUT_STEGO = mxCreateNumericMatrix(1, n, mxINT32_CLASS, mxREAL);\r
+    stego = (int*)mxGetPr(OUT_STEGO);\r
+    OUT_NUM_MSG_BITS = mxCreateNumericMatrix(1, 2, mxUINT32_CLASS, mxREAL);\r
+    uint *num_msg_bits = (uint*)mxGetPr(OUT_NUM_MSG_BITS);\r
+\r
+    *dist = stc_pm1_pls_embed(n, cover, costs, m, message, h, wet_cost, stego, num_msg_bits, trials, coding_loss);\r
+}\r
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 (file)
index 0000000..db6d7a2
--- /dev/null
@@ -0,0 +1,79 @@
+#include "stc_ml_c.h"\r
+#include "mex.h"\r
+\r
+// input and output arguments\r
+#define OUT_DISTORTION     plhs[0] // extracted message represented as uint8 array\r
+#define OUT_STEGO          plhs[1] // array of stego elements with embedded message\r
+#define OUT_NUM_MSG_BITS   plhs[2] // array describing the number of bits embedded in every layer\r
+#define OUT_CODING_LOSS    plhs[3] // OPTIONAL - describes the loss introduced by practical algorithm\r
+\r
+#define IN_COVER           prhs[0] // array of cover elements\r
+#define IN_COSTS           prhs[1] // array of costs of changing each element by +-2 or 0\r
+#define IN_MESSAGE         prhs[2] // array with message bits in uint8\r
+#define IN_TARGET_DIST     prhs[3] // target distortion of distortion limited sender\r
+#define IN_EXP_CODING_LOSS prhs[4] // OPTIONAL coding loss applied when embedding to accomodate the loss of practical algorithm, default = 5%\r
+#define IN_CONSTRAINT_H    prhs[5] // OPTIONAL constraint height of STC codes, default = 10\r
+#define IN_WET_COST        prhs[6] // OPTIONAL cost used to represent forbidden stego element, default = Inf\r
+\r
+void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]) {\r
+\r
+       uint h, n, m, trials = 10;\r
+    int *stego, *cover;\r
+    float *costs, *coding_loss, target_dist, expected_coding_loss;\r
+    u8* message;\r
+\r
+       // check for proper number of input and output arguments\r
+       if (nrhs<4) { mexErrMsgTxt("At least four input arguments are required."); } \r
+\r
+       if (mxGetM(IN_COVER)>1 || mxGetN(IN_COVER)==1) mexErrMsgTxt("Vector of cover elements must be a row vector.");\r
+    if (!mxIsClass(IN_COVER, "int32")) mexErrMsgTxt("Vector of cover elements must be of type int32.");\r
+       cover = (int*)mxGetPr(IN_COVER);\r
+       n = mxGetN(IN_COVER);\r
+\r
+    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.");\r
+    if (!mxIsClass(IN_COSTS, "single")) mexErrMsgTxt("Matrix of costs must be of type single.");\r
+       costs = (float*)mxGetPr(IN_COSTS);\r
+\r
+    if (mxGetM(IN_MESSAGE)!=1) mexErrMsgTxt("Message vector must be a row vector.");\r
+    if (!mxIsClass(IN_MESSAGE, "uint8")) mexErrMsgTxt("Message array must be of type uint8.");\r
+       message = (u8*)mxGetPr(IN_MESSAGE);\r
+    m = mxGetN(IN_MESSAGE);\r
+\r
+    if (mxGetM(IN_TARGET_DIST)>1 || mxGetN(IN_TARGET_DIST)>1) mexErrMsgTxt("Target distortion must be scalar value.");\r
+    target_dist = (float)mxGetScalar(IN_TARGET_DIST);\r
+\r
+       // get constraint height\r
+    expected_coding_loss = 0.05; // default value\r
+    if (nrhs>4) {\r
+        if (mxGetM(IN_EXP_CODING_LOSS)>1 || mxGetN(IN_EXP_CODING_LOSS)>1) mexErrMsgTxt("Expected coding loss must be scalar value.");\r
+        expected_coding_loss = (float)mxGetScalar(IN_EXP_CODING_LOSS);\r
+    }\r
+       // get constraint height\r
+    h = 10; // default value\r
+    if (nrhs>5) {\r
+        if (mxGetM(IN_CONSTRAINT_H)>1 || mxGetN(IN_CONSTRAINT_H)>1) mexErrMsgTxt("Constraint height of the STC must be scalar integer value.");\r
+        h = (uint)mxGetScalar(IN_CONSTRAINT_H);\r
+    }\r
+    // wet cost\r
+    float wet_cost = F_INF; // default value is infinity\r
+    if (nrhs>6) {\r
+        if (mxGetM(IN_WET_COST)>1 || mxGetN(IN_WET_COST)>1) mexErrMsgTxt("Wet cost must be scalar value.");\r
+        if (!mxIsClass(IN_WET_COST, "single")) mexErrMsgTxt("Wet cost must be of type single.");\r
+        wet_cost = (float)mxGetScalar(IN_WET_COST);\r
+    }\r
+\r
+    coding_loss = 0; // this is optional output argument\r
+    if (nlhs>3) {\r
+        OUT_CODING_LOSS = mxCreateNumericMatrix(1, 1, mxSINGLE_CLASS, mxREAL);\r
+        coding_loss = (float*)mxGetPr(OUT_CODING_LOSS);\r
+    }\r
+\r
+    OUT_DISTORTION = mxCreateNumericMatrix(1, 1, mxDOUBLE_CLASS, mxREAL);\r
+    double* dist = mxGetPr(OUT_DISTORTION);\r
+    OUT_STEGO = mxCreateNumericMatrix(1, n, mxINT32_CLASS, mxREAL);\r
+    stego = (int*)mxGetPr(OUT_STEGO);\r
+    OUT_NUM_MSG_BITS = mxCreateNumericMatrix(1, 3, mxUINT32_CLASS, mxREAL);\r
+    uint *num_msg_bits = (uint*)mxGetPr(OUT_NUM_MSG_BITS);\r
+\r
+    *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);\r
+}\r
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 (file)
index 0000000..7dc0c62
--- /dev/null
@@ -0,0 +1,68 @@
+#include "stc_ml_c.h"\r
+#include "mex.h"\r
+\r
+// input and output arguments\r
+#define OUT_DISTORTION   plhs[0] // extracted message represented as uint8 array\r
+#define OUT_STEGO        plhs[1] // \r
+#define OUT_NUM_MSG_BITS plhs[2] // array describing the number of bits embedded in every layer\r
+#define OUT_CODING_LOSS  plhs[3] // OPTIONAL - describes the loss introduced by practical algorithm\r
+\r
+#define IN_COVER         prhs[0] // array of cover elements\r
+#define IN_COSTS         prhs[1] // array of costs of changing each element by +-1 or 0\r
+#define IN_MESSAGE       prhs[2] // array with message bits in uint8\r
+#define IN_CONSTRAINT_H  prhs[3] // constraint height of STC codes, default = 10\r
+#define IN_WET_COST      prhs[4] // cost used to represent forbidden stego element, default = Inf\r
+\r
+void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]) {\r
+\r
+       uint h, n, m, trials = 10;\r
+    int *stego, *cover;\r
+    float *costs, *coding_loss;\r
+    u8* message;\r
+\r
+       // check for proper number of input and output arguments\r
+       if (nrhs<3) { mexErrMsgTxt("At least three input arguments are required."); } \r
+\r
+       if (mxGetM(IN_COVER)>1 || mxGetN(IN_COVER)==1) mexErrMsgTxt("Vector of cover elements must be a row vector.");\r
+    if (!mxIsClass(IN_COVER, "int32")) mexErrMsgTxt("Vector of cover elements must be of type int32.");\r
+       cover = (int*)mxGetPr(IN_COVER);\r
+       n = mxGetN(IN_COVER);\r
+\r
+    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.");\r
+    if (!mxIsClass(IN_COSTS, "single")) mexErrMsgTxt("Matrix of costs must be of type single.");\r
+       costs = (float*)mxGetPr(IN_COSTS);\r
+\r
+    if (mxGetM(IN_MESSAGE)!=1) mexErrMsgTxt("Message vector must be a row vector.");\r
+    if (!mxIsClass(IN_MESSAGE, "uint8")) mexErrMsgTxt("Message array must be of type uint8.");\r
+       message = (u8*)mxGetPr(IN_MESSAGE);\r
+    m = mxGetN(IN_MESSAGE);\r
+\r
+       // get constraint length\r
+    h = 10; // default value\r
+    if (nrhs>3) {\r
+        if (mxGetM(IN_CONSTRAINT_H)>1 || mxGetN(IN_CONSTRAINT_H)>1) mexErrMsgTxt("Constraint height of the STC must be scalar integer value.");\r
+        h = (uint)mxGetScalar(IN_CONSTRAINT_H);\r
+    }\r
+    // wet cost\r
+    float wet_cost = F_INF; // default value is infinity\r
+    if (nrhs>4) {\r
+        if (mxGetM(IN_WET_COST)>1 || mxGetN(IN_WET_COST)>1) mexErrMsgTxt("Wet cost must be scalar value.");\r
+        if (!mxIsClass(IN_WET_COST, "single")) mexErrMsgTxt("Wet cost must be of type single.");\r
+        wet_cost = (float)mxGetScalar(IN_WET_COST);\r
+    }\r
+\r
+    coding_loss = 0; // this is optional output argument\r
+    if (nlhs>3) {\r
+        OUT_CODING_LOSS = mxCreateNumericMatrix(1, 1, mxSINGLE_CLASS, mxREAL);\r
+        coding_loss = (float*)mxGetPr(OUT_CODING_LOSS);\r
+    }\r
+\r
+    OUT_DISTORTION = mxCreateNumericMatrix(1, 1, mxDOUBLE_CLASS, mxREAL);\r
+    double* dist = mxGetPr(OUT_DISTORTION);\r
+    OUT_STEGO = mxCreateNumericMatrix(1, n, mxINT32_CLASS, mxREAL);\r
+    stego = (int*)mxGetPr(OUT_STEGO);\r
+    OUT_NUM_MSG_BITS = mxCreateNumericMatrix(1, 3, mxUINT32_CLASS, mxREAL);\r
+    uint *num_msg_bits = (uint*)mxGetPr(OUT_NUM_MSG_BITS);\r
+\r
+    *dist = stc_pm2_pls_embed(n, cover, costs, m, message, h, wet_cost, stego, num_msg_bits, trials, coding_loss);\r
+}\r
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 (file)
index 0000000..9773e29
--- /dev/null
@@ -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 <xmmintrin.h>
+
+/* 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 <emmintrin.h>
+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<x<=Pi/2
+
+     Both branches will be computed.
+  */
+  emm2 = _mm_and_si128(emm2, *(v4si*)_pi32_2);
+  emm2 = _mm_cmpeq_epi32(emm2, _mm_setzero_si128());
+  
+  v4sf swap_sign_bit = _mm_castsi128_ps(emm0);
+  v4sf poly_mask = _mm_castsi128_ps(emm2);
+  sign_bit = _mm_xor_ps(sign_bit, swap_sign_bit);
+#else
+  /* store the integer part of y in mm0:mm1 */
+  xmm2 = _mm_movehl_ps(xmm2, y);
+  mm2 = _mm_cvttps_pi32(y);
+  mm3 = _mm_cvttps_pi32(xmm2);
+  /* j=(j+1) & (~1) (see the cephes sources) */
+  mm2 = _mm_add_pi32(mm2, *(v2si*)_pi32_1);
+  mm3 = _mm_add_pi32(mm3, *(v2si*)_pi32_1);
+  mm2 = _mm_and_si64(mm2, *(v2si*)_pi32_inv1);
+  mm3 = _mm_and_si64(mm3, *(v2si*)_pi32_inv1);
+  y = _mm_cvtpi32x2_ps(mm2, mm3);
+  /* get the swap sign flag */
+  mm0 = _mm_and_si64(mm2, *(v2si*)_pi32_4);
+  mm1 = _mm_and_si64(mm3, *(v2si*)_pi32_4);
+  mm0 = _mm_slli_pi32(mm0, 29);
+  mm1 = _mm_slli_pi32(mm1, 29);
+  /* get the polynom selection mask */
+  mm2 = _mm_and_si64(mm2, *(v2si*)_pi32_2);
+  mm3 = _mm_and_si64(mm3, *(v2si*)_pi32_2);
+  mm2 = _mm_cmpeq_pi32(mm2, _mm_setzero_si64());
+  mm3 = _mm_cmpeq_pi32(mm3, _mm_setzero_si64());
+  v4sf swap_sign_bit, poly_mask;
+  COPY_MM_TO_XMM(mm0, mm1, swap_sign_bit);
+  COPY_MM_TO_XMM(mm2, mm3, poly_mask);
+  sign_bit = _mm_xor_ps(sign_bit, swap_sign_bit);
+  _mm_empty(); /* good-bye mmx */
+#endif
+  
+  /* The magic pass: "Extended precision modular arithmetic" 
+     x = ((x - y * DP1) - y * DP2) - y * DP3; */
+  xmm1 = *(v4sf*)_ps_minus_cephes_DP1;
+  xmm2 = *(v4sf*)_ps_minus_cephes_DP2;
+  xmm3 = *(v4sf*)_ps_minus_cephes_DP3;
+  xmm1 = _mm_mul_ps(y, xmm1);
+  xmm2 = _mm_mul_ps(y, xmm2);
+  xmm3 = _mm_mul_ps(y, xmm3);
+  x = _mm_add_ps(x, xmm1);
+  x = _mm_add_ps(x, xmm2);
+  x = _mm_add_ps(x, xmm3);
+
+  /* Evaluate the first polynom  (0 <= x <= Pi/4) */
+  y = *(v4sf*)_ps_coscof_p0;
+  v4sf z = _mm_mul_ps(x,x);
+
+  y = _mm_mul_ps(y, z);
+  y = _mm_add_ps(y, *(v4sf*)_ps_coscof_p1);
+  y = _mm_mul_ps(y, z);
+  y = _mm_add_ps(y, *(v4sf*)_ps_coscof_p2);
+  y = _mm_mul_ps(y, z);
+  y = _mm_mul_ps(y, z);
+  v4sf tmp = _mm_mul_ps(z, *(v4sf*)_ps_0p5);
+  y = _mm_sub_ps(y, tmp);
+  y = _mm_add_ps(y, *(v4sf*)_ps_1);
+  
+  /* Evaluate the second polynom  (Pi/4 <= x <= 0) */
+
+  v4sf y2 = *(v4sf*)_ps_sincof_p0;
+  y2 = _mm_mul_ps(y2, z);
+  y2 = _mm_add_ps(y2, *(v4sf*)_ps_sincof_p1);
+  y2 = _mm_mul_ps(y2, z);
+  y2 = _mm_add_ps(y2, *(v4sf*)_ps_sincof_p2);
+  y2 = _mm_mul_ps(y2, z);
+  y2 = _mm_mul_ps(y2, x);
+  y2 = _mm_add_ps(y2, x);
+
+  /* select the correct result from the two polynoms */  
+  xmm3 = poly_mask;
+  y2 = _mm_and_ps(xmm3, y2); //, xmm3);
+  y = _mm_andnot_ps(xmm3, y);
+  y = _mm_add_ps(y,y2);
+  /* update the sign */
+  y = _mm_xor_ps(y, sign_bit);
+
+  return y;
+}
+
+/* almost the same as sin_ps */
+v4sf cos_ps(v4sf x) { // any x
+  v4sf xmm1, xmm2 = _mm_setzero_ps(), xmm3, y;
+#ifdef USE_SSE2
+  v4si emm0, emm2;
+#else
+  v2si mm0, mm1, mm2, mm3;
+#endif
+  /* take the absolute value */
+  x = _mm_and_ps(x, *(v4sf*)_ps_inv_sign_mask);
+  
+  /* scale by 4/Pi */
+  y = _mm_mul_ps(x, *(v4sf*)_ps_cephes_FOPI);
+  
+#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);
+
+  emm2 = _mm_sub_epi32(emm2, *(v4si*)_pi32_2);
+  
+  /* get the swap sign flag */
+  emm0 = _mm_andnot_si128(emm2, *(v4si*)_pi32_4);
+  emm0 = _mm_slli_epi32(emm0, 29);
+  /* get the polynom selection mask */
+  emm2 = _mm_and_si128(emm2, *(v4si*)_pi32_2);
+  emm2 = _mm_cmpeq_epi32(emm2, _mm_setzero_si128());
+  
+  v4sf sign_bit = _mm_castsi128_ps(emm0);
+  v4sf poly_mask = _mm_castsi128_ps(emm2);
+#else
+  /* store the integer part of y in mm0:mm1 */
+  xmm2 = _mm_movehl_ps(xmm2, y);
+  mm2 = _mm_cvttps_pi32(y);
+  mm3 = _mm_cvttps_pi32(xmm2);
+
+  /* j=(j+1) & (~1) (see the cephes sources) */
+  mm2 = _mm_add_pi32(mm2, *(v2si*)_pi32_1);
+  mm3 = _mm_add_pi32(mm3, *(v2si*)_pi32_1);
+  mm2 = _mm_and_si64(mm2, *(v2si*)_pi32_inv1);
+  mm3 = _mm_and_si64(mm3, *(v2si*)_pi32_inv1);
+
+  y = _mm_cvtpi32x2_ps(mm2, mm3);
+
+
+  mm2 = _mm_sub_pi32(mm2, *(v2si*)_pi32_2);
+  mm3 = _mm_sub_pi32(mm3, *(v2si*)_pi32_2);
+
+  /* get the swap sign flag in mm0:mm1 and the 
+     polynom selection mask in mm2:mm3 */
+
+  mm0 = _mm_andnot_si64(mm2, *(v2si*)_pi32_4);
+  mm1 = _mm_andnot_si64(mm3, *(v2si*)_pi32_4);
+  mm0 = _mm_slli_pi32(mm0, 29);
+  mm1 = _mm_slli_pi32(mm1, 29);
+
+  mm2 = _mm_and_si64(mm2, *(v2si*)_pi32_2);
+  mm3 = _mm_and_si64(mm3, *(v2si*)_pi32_2);
+
+  mm2 = _mm_cmpeq_pi32(mm2, _mm_setzero_si64());
+  mm3 = _mm_cmpeq_pi32(mm3, _mm_setzero_si64());
+
+  v4sf sign_bit, poly_mask;
+  COPY_MM_TO_XMM(mm0, mm1, sign_bit);
+  COPY_MM_TO_XMM(mm2, mm3, poly_mask);
+  _mm_empty(); /* good-bye mmx */
+#endif
+  /* The magic pass: "Extended precision modular arithmetic" 
+     x = ((x - y * DP1) - y * DP2) - y * DP3; */
+  xmm1 = *(v4sf*)_ps_minus_cephes_DP1;
+  xmm2 = *(v4sf*)_ps_minus_cephes_DP2;
+  xmm3 = *(v4sf*)_ps_minus_cephes_DP3;
+  xmm1 = _mm_mul_ps(y, xmm1);
+  xmm2 = _mm_mul_ps(y, xmm2);
+  xmm3 = _mm_mul_ps(y, xmm3);
+  x = _mm_add_ps(x, xmm1);
+  x = _mm_add_ps(x, xmm2);
+  x = _mm_add_ps(x, xmm3);
+  
+  /* Evaluate the first polynom  (0 <= x <= Pi/4) */
+  y = *(v4sf*)_ps_coscof_p0;
+  v4sf z = _mm_mul_ps(x,x);
+
+  y = _mm_mul_ps(y, z);
+  y = _mm_add_ps(y, *(v4sf*)_ps_coscof_p1);
+  y = _mm_mul_ps(y, z);
+  y = _mm_add_ps(y, *(v4sf*)_ps_coscof_p2);
+  y = _mm_mul_ps(y, z);
+  y = _mm_mul_ps(y, z);
+  v4sf tmp = _mm_mul_ps(z, *(v4sf*)_ps_0p5);
+  y = _mm_sub_ps(y, tmp);
+  y = _mm_add_ps(y, *(v4sf*)_ps_1);
+  
+  /* Evaluate the second polynom  (Pi/4 <= x <= 0) */
+
+  v4sf y2 = *(v4sf*)_ps_sincof_p0;
+  y2 = _mm_mul_ps(y2, z);
+  y2 = _mm_add_ps(y2, *(v4sf*)_ps_sincof_p1);
+  y2 = _mm_mul_ps(y2, z);
+  y2 = _mm_add_ps(y2, *(v4sf*)_ps_sincof_p2);
+  y2 = _mm_mul_ps(y2, z);
+  y2 = _mm_mul_ps(y2, x);
+  y2 = _mm_add_ps(y2, x);
+
+  /* select the correct result from the two polynoms */  
+  xmm3 = poly_mask;
+  y2 = _mm_and_ps(xmm3, y2); //, xmm3);
+  y = _mm_andnot_ps(xmm3, y);
+  y = _mm_add_ps(y,y2);
+  /* update the sign */
+  y = _mm_xor_ps(y, sign_bit);
+
+  return y;
+}
+
+/* since sin_ps and cos_ps are almost identical, sincos_ps could replace both of them..
+   it is almost as fast, and gives you a free cosine with your sine */
+void sincos_ps(v4sf x, v4sf *s, v4sf *c) {
+  v4sf xmm1, xmm2, xmm3 = _mm_setzero_ps(), sign_bit_sin, y;
+#ifdef USE_SSE2
+  v4si emm0, emm2, emm4;
+#else
+  v2si mm0, mm1, mm2, mm3, mm4, mm5;
+#endif
+  sign_bit_sin = x;
+  /* take the absolute value */
+  x = _mm_and_ps(x, *(v4sf*)_ps_inv_sign_mask);
+  /* extract the sign bit (upper one) */
+  sign_bit_sin = _mm_and_ps(sign_bit_sin, *(v4sf*)_ps_sign_mask);
+  
+  /* scale by 4/Pi */
+  y = _mm_mul_ps(x, *(v4sf*)_ps_cephes_FOPI);
+    
+#ifdef USE_SSE2
+  /* store the integer part of y in emm2 */
+  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);
+
+  emm4 = emm2;
+
+  /* get the swap sign flag for the sine */
+  emm0 = _mm_and_si128(emm2, *(v4si*)_pi32_4);
+  emm0 = _mm_slli_epi32(emm0, 29);
+  v4sf swap_sign_bit_sin = _mm_castsi128_ps(emm0);
+
+  /* get the polynom selection mask for the sine*/
+  emm2 = _mm_and_si128(emm2, *(v4si*)_pi32_2);
+  emm2 = _mm_cmpeq_epi32(emm2, _mm_setzero_si128());
+  v4sf poly_mask = _mm_castsi128_ps(emm2);
+#else
+  /* store the integer part of y in mm2:mm3 */
+  xmm3 = _mm_movehl_ps(xmm3, y);
+  mm2 = _mm_cvttps_pi32(y);
+  mm3 = _mm_cvttps_pi32(xmm3);
+
+  /* j=(j+1) & (~1) (see the cephes sources) */
+  mm2 = _mm_add_pi32(mm2, *(v2si*)_pi32_1);
+  mm3 = _mm_add_pi32(mm3, *(v2si*)_pi32_1);
+  mm2 = _mm_and_si64(mm2, *(v2si*)_pi32_inv1);
+  mm3 = _mm_and_si64(mm3, *(v2si*)_pi32_inv1);
+
+  y = _mm_cvtpi32x2_ps(mm2, mm3);
+
+  mm4 = mm2;
+  mm5 = mm3;
+
+  /* get the swap sign flag for the sine */
+  mm0 = _mm_and_si64(mm2, *(v2si*)_pi32_4);
+  mm1 = _mm_and_si64(mm3, *(v2si*)_pi32_4);
+  mm0 = _mm_slli_pi32(mm0, 29);
+  mm1 = _mm_slli_pi32(mm1, 29);
+  v4sf swap_sign_bit_sin;
+  COPY_MM_TO_XMM(mm0, mm1, swap_sign_bit_sin);
+
+  /* get the polynom selection mask for the sine */
+
+  mm2 = _mm_and_si64(mm2, *(v2si*)_pi32_2);
+  mm3 = _mm_and_si64(mm3, *(v2si*)_pi32_2);
+  mm2 = _mm_cmpeq_pi32(mm2, _mm_setzero_si64());
+  mm3 = _mm_cmpeq_pi32(mm3, _mm_setzero_si64());
+  v4sf poly_mask;
+  COPY_MM_TO_XMM(mm2, mm3, poly_mask);
+#endif
+
+  /* The magic pass: "Extended precision modular arithmetic" 
+     x = ((x - y * DP1) - y * DP2) - y * DP3; */
+  xmm1 = *(v4sf*)_ps_minus_cephes_DP1;
+  xmm2 = *(v4sf*)_ps_minus_cephes_DP2;
+  xmm3 = *(v4sf*)_ps_minus_cephes_DP3;
+  xmm1 = _mm_mul_ps(y, xmm1);
+  xmm2 = _mm_mul_ps(y, xmm2);
+  xmm3 = _mm_mul_ps(y, xmm3);
+  x = _mm_add_ps(x, xmm1);
+  x = _mm_add_ps(x, xmm2);
+  x = _mm_add_ps(x, xmm3);
+
+#ifdef USE_SSE2
+  emm4 = _mm_sub_epi32(emm4, *(v4si*)_pi32_2);
+  emm4 = _mm_andnot_si128(emm4, *(v4si*)_pi32_4);
+  emm4 = _mm_slli_epi32(emm4, 29);
+  v4sf sign_bit_cos = _mm_castsi128_ps(emm4);
+#else
+  /* get the sign flag for the cosine */
+  mm4 = _mm_sub_pi32(mm4, *(v2si*)_pi32_2);
+  mm5 = _mm_sub_pi32(mm5, *(v2si*)_pi32_2);
+  mm4 = _mm_andnot_si64(mm4, *(v2si*)_pi32_4);
+  mm5 = _mm_andnot_si64(mm5, *(v2si*)_pi32_4);
+  mm4 = _mm_slli_pi32(mm4, 29);
+  mm5 = _mm_slli_pi32(mm5, 29);
+  v4sf sign_bit_cos;
+  COPY_MM_TO_XMM(mm4, mm5, sign_bit_cos);
+  _mm_empty(); /* good-bye mmx */
+#endif
+
+  sign_bit_sin = _mm_xor_ps(sign_bit_sin, swap_sign_bit_sin);
+
+  
+  /* Evaluate the first polynom  (0 <= x <= Pi/4) */
+  v4sf z = _mm_mul_ps(x,x);
+  y = *(v4sf*)_ps_coscof_p0;
+
+  y = _mm_mul_ps(y, z);
+  y = _mm_add_ps(y, *(v4sf*)_ps_coscof_p1);
+  y = _mm_mul_ps(y, z);
+  y = _mm_add_ps(y, *(v4sf*)_ps_coscof_p2);
+  y = _mm_mul_ps(y, z);
+  y = _mm_mul_ps(y, z);
+  v4sf tmp = _mm_mul_ps(z, *(v4sf*)_ps_0p5);
+  y = _mm_sub_ps(y, tmp);
+  y = _mm_add_ps(y, *(v4sf*)_ps_1);
+  
+  /* Evaluate the second polynom  (Pi/4 <= x <= 0) */
+
+  v4sf y2 = *(v4sf*)_ps_sincof_p0;
+  y2 = _mm_mul_ps(y2, z);
+  y2 = _mm_add_ps(y2, *(v4sf*)_ps_sincof_p1);
+  y2 = _mm_mul_ps(y2, z);
+  y2 = _mm_add_ps(y2, *(v4sf*)_ps_sincof_p2);
+  y2 = _mm_mul_ps(y2, z);
+  y2 = _mm_mul_ps(y2, x);
+  y2 = _mm_add_ps(y2, x);
+
+  /* select the correct result from the two polynoms */  
+  xmm3 = poly_mask;
+  v4sf ysin2 = _mm_and_ps(xmm3, y2);
+  v4sf ysin1 = _mm_andnot_ps(xmm3, y);
+  y2 = _mm_sub_ps(y2,ysin2);
+  y = _mm_sub_ps(y, ysin1);
+
+  xmm1 = _mm_add_ps(ysin1,ysin2);
+  xmm2 = _mm_add_ps(y,y2);
+  /* update the sign */
+  *s = _mm_xor_ps(xmm1, sign_bit_sin);
+  *c = _mm_xor_ps(xmm2, sign_bit_cos);
+}
+
diff --git a/stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/stc_embed.cpp b/stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/stc_embed.cpp
new file mode 100644 (file)
index 0000000..8c2b89a
--- /dev/null
@@ -0,0 +1,567 @@
+//\r
+// MEX-File: dv_embed\r
+// Usage:\r
+// [double scalar price, uint8 vector stego] = dv_embed(uint8 vector cover, uint8 vector message, uint8/double vector pricevec, int scalar constrLength = 10)\r
+\r
+typedef unsigned int u32;\r
+typedef unsigned short u16;\r
+typedef unsigned char u8;\r
+\r
+#include <cstdlib>\r
+#include <cstring>\r
+#include <cmath>\r
+#include <cfloat>\r
+#include <limits>\r
+#include <emmintrin.h>\r
+#include "mex.h"\r
+#include "common.h"\r
+\r
+#define MATLAB_in_cover 0\r
+#define MATLAB_in_message 1\r
+#define MATLAB_in_pricevec 2\r
+#define MATLAB_in_constrLength 3\r
+\r
+#define MATLAB_out_price 0\r
+#define MATLAB_out_stego 1\r
+\r
+void *aligned_malloc(unsigned int bytes, int align)\r
+{\r
+       int shift;\r
+       char *temp = (char *)malloc(bytes + align);\r
+\r
+       if(temp == NULL)\r
+               return temp;\r
+       shift = align - (int)(((unsigned long long)temp) & (align - 1));\r
+       temp = temp + shift;\r
+       temp[-1] = shift;\r
+       return (void *)temp;\r
+}\r
+\r
+void aligned_free(void *vptr)\r
+{\r
+       char *ptr = (char *)vptr;\r
+       free(ptr - ptr[-1]);\r
+       return;\r
+}\r
+\r
+inline __m128i maxLessThan255(const __m128i v1, const __m128i v2)\r
+{\r
+       register __m128i mask = _mm_set1_epi32(0xffffffff);\r
+       return _mm_max_epu8(_mm_andnot_si128(_mm_cmpeq_epi8(v1, mask), v1), _mm_andnot_si128(_mm_cmpeq_epi8(v2, mask), v2));\r
+}\r
+\r
+inline u8 max16B(__m128i maxp)\r
+{\r
+       u8 mtemp[4];\r
+       maxp = _mm_max_epu8(maxp, _mm_srli_si128(maxp, 8));\r
+       maxp = _mm_max_epu8(maxp, _mm_srli_si128(maxp, 4));\r
+       *((int*)mtemp) = _mm_cvtsi128_si32(maxp);\r
+       if(mtemp[2] > mtemp[0])\r
+               mtemp[0] = mtemp[2];\r
+       if(mtemp[3] > mtemp[1])\r
+               mtemp[1] = mtemp[3];\r
+       if(mtemp[1] > mtemp[0])\r
+               return mtemp[1];\r
+       else \r
+               return mtemp[0];\r
+}\r
+\r
+inline u8 min16B(__m128i minp)\r
+{\r
+       u8 mtemp[4];\r
+       minp = _mm_min_epu8(minp, _mm_srli_si128(minp, 8));\r
+       minp = _mm_min_epu8(minp, _mm_srli_si128(minp, 4));\r
+       *((int*)mtemp) = _mm_cvtsi128_si32(minp);\r
+       if(mtemp[2] < mtemp[0])\r
+               mtemp[0] = mtemp[2];\r
+       if(mtemp[3] < mtemp[1])\r
+               mtemp[1] = mtemp[3];\r
+       if(mtemp[1] < mtemp[0])\r
+               return mtemp[1];\r
+       else \r
+               return mtemp[0];\r
+}\r
+\r
+void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[])\r
+{\r
+       int matrixheight, vectorlength, height, i, j, k, l, index, index2, parts, m, sseheight, altm, pathindex, syndromelength, matrixwidth;\r
+       u32 column, colmask, state;\r
+       double totalprice;\r
+       bool usefloat;\r
+\r
+       void *temp, *pricevectorv;\r
+       u8 *vector, *syndrome, *closestData, *ssedone, *stepdown;\r
+       u32 *path, *columns[2];\r
+       int *matrices, *widths;\r
+\r
+       if(nrhs < 3) {\r
+               mexErrMsgTxt("Too few input parameters (3 or 4 expected)");\r
+               return;\r
+       }\r
+       \r
+       if(!mxIsUint8(prhs[MATLAB_in_cover])) {\r
+               mexErrMsgTxt("The input vector must be of type uint8.");\r
+               return;\r
+       }\r
+       vector = (u8*)mxGetPr(prhs[MATLAB_in_cover]);\r
+       vectorlength = (int)mxGetM(prhs[MATLAB_in_cover]);\r
+       \r
+       if(!mxIsUint8(prhs[MATLAB_in_message])) {\r
+               mexErrMsgTxt("The syndrome must be of type uint8.");\r
+               return;\r
+       }\r
+       syndrome = (u8*)mxGetPr(prhs[MATLAB_in_message]);\r
+       syndromelength = (int)mxGetM(prhs[MATLAB_in_message]);\r
+\r
+       if(!mxIsDouble(prhs[MATLAB_in_pricevec])) {\r
+               if(!mxIsUint8(prhs[MATLAB_in_pricevec])) {\r
+                       mexErrMsgTxt("The price vector must be of type double or uint8.");\r
+                       return;\r
+               } else {\r
+                       usefloat = false;\r
+               }\r
+       } else {\r
+               usefloat = true;\r
+       }\r
+       pricevectorv = (void*)mxGetPr(prhs[MATLAB_in_pricevec]);\r
+\r
+       if(nrhs > 3)\r
+               matrixheight = (int)mxGetScalar(prhs[MATLAB_in_constrLength]);\r
+       else\r
+               matrixheight = 10;\r
+\r
+       // end of MATLAB interface\r
+\r
+       if(matrixheight > 31) {\r
+               mexErrMsgTxt("Submatrix height must not exceed 31.");\r
+               return;\r
+       }\r
+\r
+       height = 1 << matrixheight;\r
+       colmask = height - 1;\r
+       height = (height + 31) & (~31);\r
+\r
+       parts = height >> 5;\r
+       \r
+       if(nlhs > 1) {\r
+               path = (u32*)malloc(vectorlength * parts * sizeof(u32));\r
+               if(path == NULL) {\r
+                       char errmsg[100];\r
+                       sprintf(errmsg, "Not enough memory (%u byte array could not be allocated).\n", vectorlength * parts * sizeof(u32));\r
+                       mexErrMsgTxt(errmsg);\r
+                       return;\r
+               }\r
+               pathindex = 0;\r
+       }\r
+\r
+       {\r
+               int shorter, longer, worm;\r
+               double invalpha;\r
+\r
+               matrices = (int *)malloc(syndromelength * sizeof(int));\r
+               widths = (int *)malloc(syndromelength * sizeof(int));\r
+\r
+               invalpha = (double)vectorlength / syndromelength;\r
+               if(invalpha < 1) {\r
+                       free(matrices);\r
+                       free(widths);\r
+                       if(nlhs > 1)\r
+                               free(path);\r
+                       mexErrMsgTxt("The message cannot be longer than the cover object.\n");\r
+                       return;\r
+               }\r
+               if(invalpha < 2) {\r
+                       mexWarnMsgTxt("The relative payload is greater than 1/2. This may result in poor embedding efficiency.\n");\r
+               }\r
+               shorter = (int)floor(invalpha);\r
+               longer = (int)ceil(invalpha);\r
+               if((columns[0] = getMatrix(shorter, matrixheight)) == NULL) {\r
+                       free(matrices);\r
+                       free(widths);\r
+                       if(nlhs > 1)\r
+                               free(path);\r
+                       return;\r
+               }\r
+               if((columns[1] = getMatrix(longer, matrixheight)) == NULL) {\r
+                       free(columns[0]);\r
+                       free(matrices);\r
+                       free(widths);\r
+                       if(nlhs > 1)\r
+                               free(path);\r
+                       return;\r
+               }\r
+               worm = 0;\r
+               for(i = 0; i < syndromelength; i++) {\r
+                       if(worm + longer <= (i + 1) * invalpha + 0.5) {\r
+                               matrices[i] = 1;\r
+                               widths[i] = longer;\r
+                               worm += longer;\r
+                       } else {\r
+                               matrices[i] = 0;\r
+                               widths[i] = shorter;\r
+                               worm += shorter;\r
+                       }\r
+               }\r
+       }\r
+\r
+       if(usefloat) {\r
+       /*\r
+               SSE FLOAT VERSION\r
+       */\r
+               int pathindex8 = 0;\r
+               int shift[2] = {0, 4};\r
+               u8 mask[2] = {0xf0, 0x0f};\r
+               float *prices;\r
+               u8 *path8 = (u8*)path;\r
+               double *pricevector = (double*)pricevectorv;\r
+               double total = 0;\r
+               double inf = std::numeric_limits<double>::infinity();\r
+\r
+               sseheight = height >> 2;\r
+               ssedone = (u8*)malloc(sseheight * sizeof(u8));\r
+               prices = (float*)aligned_malloc(height * sizeof(float), 16);\r
+\r
+               {\r
+                       __m128 fillval = _mm_set1_ps(inf);\r
+                       for(i = 0; i < height; i+= 4) {\r
+                               _mm_store_ps(&prices[i], fillval);\r
+                               ssedone[i >> 2] = 0;\r
+                       }\r
+               }\r
+\r
+               prices[0] = 0.0f;\r
+\r
+               for(index = 0, index2 = 0; index2 < syndromelength; index2++) {\r
+                       register __m128 c1, c2;\r
+\r
+                       for(k = 0; k < widths[index2]; k++, index++) {\r
+                               column = columns[matrices[index2]][k] & colmask;\r
+\r
+                               if(vector[index] == 0) {\r
+                                       c1 = _mm_setzero_ps();\r
+                                       c2 = _mm_set1_ps((float)pricevector[index]);\r
+                               } else {\r
+                                       c1 = _mm_set1_ps((float)pricevector[index]);\r
+                                       c2 = _mm_setzero_ps();\r
+                               }\r
+\r
+                               total += pricevector[index];\r
+\r
+                               for(m = 0; m < sseheight; m++) {\r
+                                       if(!ssedone[m]) {\r
+                                               register __m128 v1, v2, v3, v4;\r
+                                               altm = (m ^ (column >> 2));\r
+                                               v1 = _mm_load_ps(&prices[m << 2]);\r
+                                               v2 = _mm_load_ps(&prices[altm << 2]);\r
+                                               v3 = v1;\r
+                                               v4 = v2;\r
+                                               ssedone[m] = 1;\r
+                                               ssedone[altm] = 1;\r
+                                               switch(column & 3) {\r
+                                               case 0:\r
+                                                       break;\r
+                                               case 1:\r
+                                                       v2 = _mm_shuffle_ps(v2, v2, 0xb1);\r
+                                                       v3 = _mm_shuffle_ps(v3, v3, 0xb1);\r
+                                                       break;\r
+                                               case 2:\r
+                                                       v2 = _mm_shuffle_ps(v2, v2, 0x4e);\r
+                                                       v3 = _mm_shuffle_ps(v3, v3, 0x4e);\r
+                                                       break;\r
+                                               case 3:\r
+                                                       v2 = _mm_shuffle_ps(v2, v2, 0x1b);\r
+                                                       v3 = _mm_shuffle_ps(v3, v3, 0x1b);\r
+                                                       break;\r
+                                               }\r
+                                               v1 = _mm_add_ps(v1, c1);\r
+                                               v2 = _mm_add_ps(v2, c2);\r
+                                               v3 = _mm_add_ps(v3, c2);\r
+                                               v4 = _mm_add_ps(v4, c1);\r
+\r
+                                               v1 = _mm_min_ps(v1, v2);\r
+                                               v4 = _mm_min_ps(v3, v4);\r
+                                                                                       \r
+                                               _mm_store_ps(&prices[m << 2], v1);\r
+                                               _mm_store_ps(&prices[altm << 2], v4);\r
+\r
+                                               if(nlhs > 1) {\r
+                                                       v2 = _mm_cmpeq_ps(v1, v2);\r
+                                                       v3 = _mm_cmpeq_ps(v3, v4);\r
+                                                       path8[pathindex8 + (m >> 1)] = (path8[pathindex8 + (m >> 1)] & mask[m & 1]) | (_mm_movemask_ps(v2) << shift[m & 1]);\r
+                                                       path8[pathindex8 + (altm >> 1)] = (path8[pathindex8 + (altm >> 1)] & mask[altm & 1]) | (_mm_movemask_ps(v3) << shift[altm & 1]);\r
+                                               }\r
+                                       }\r
+                               }\r
+\r
+                               for(i = 0; i < sseheight; i++) {\r
+                                       ssedone[i] = 0;\r
+                               }\r
+\r
+                               pathindex += parts;\r
+                               pathindex8 += parts << 2;\r
+                       }\r
+\r
+                       if(syndrome[index2] == 0) {\r
+                               for(i = 0, l = 0; i < sseheight; i+= 2, l += 4) {\r
+                                       _mm_store_ps(&prices[l], _mm_shuffle_ps(_mm_load_ps(&prices[i << 2]), _mm_load_ps(&prices[(i + 1) << 2]), 0x88));\r
+                               }\r
+                       } else {\r
+                               for(i = 0, l = 0; i < sseheight; i+= 2, l += 4) {\r
+                                       _mm_store_ps(&prices[l], _mm_shuffle_ps(_mm_load_ps(&prices[i << 2]), _mm_load_ps(&prices[(i + 1) << 2]), 0xdd));\r
+                               }\r
+                       }\r
+\r
+                       if(syndromelength - index2 <= matrixheight)\r
+                               colmask >>= 1;\r
+\r
+                       {\r
+                               register __m128 fillval = _mm_set1_ps(inf);\r
+                               for(l >>= 2; l < sseheight; l++) {\r
+                                       _mm_store_ps(&prices[l << 2], fillval);\r
+                               }\r
+                       }\r
+               }\r
+\r
+               totalprice = prices[0];\r
+\r
+               aligned_free(prices);\r
+               free(ssedone);\r
+\r
+               if(totalprice >= total) {\r
+                       free(matrices);\r
+                       free(widths);\r
+                       free(columns[0]);\r
+                       free(columns[1]);\r
+                       if(nlhs > 1)\r
+                               free(path);\r
+                       mexErrMsgTxt("The syndrome is not in the range of the syndrome matrix.\n");\r
+                       return;\r
+               }\r
+       } else {\r
+       /*\r
+               SSE UINT8 VERSION\r
+       */\r
+               int pathindex16 = 0, subprice = 0;\r
+               u8 maxc = 0, minc = 0;\r
+               u8 *prices, *pricevector = (u8*)pricevectorv;\r
+               u16 *path16 = (u16 *)path;\r
+               __m128i *prices16B;\r
+\r
+               sseheight = height >> 4;\r
+               ssedone = (u8*)malloc(sseheight * sizeof(u8));\r
+               prices = (u8*)aligned_malloc(height * sizeof(u8), 16);\r
+               prices16B = (__m128i*)prices;\r
+\r
+               {\r
+                       __m128i napln = _mm_set1_epi32(0xffffffff);\r
+                       for(i = 0; i < sseheight; i++) {\r
+                               _mm_store_si128(&prices16B[i], napln);\r
+                               ssedone[i] = 0;\r
+                       }\r
+               }\r
+\r
+               prices[0] = 0;\r
+\r
+               for(index = 0, index2 = 0; index2 < syndromelength; index2++) {\r
+                       register __m128i c1, c2, maxp, minp;\r
+\r
+                       if((u32)maxc + pricevector[index] >= 254) {\r
+                               aligned_free(path);\r
+                               free(ssedone);\r
+                               free(matrices);\r
+                               free(widths);\r
+                               free(columns[0]);\r
+                               free(columns[1]);\r
+                               if(nlhs > 1)\r
+                                       free(path);\r
+                               mexErrMsgTxt("Price vector limit exceeded.");\r
+                               return;\r
+                       }\r
+\r
+                       for(k = 0; k < widths[index2]; k++, index++) {\r
+                               column = columns[matrices[index2]][k] & colmask;\r
+\r
+                               if(vector[index] == 0) {\r
+                                       c1 = _mm_setzero_si128();\r
+                                       c2 = _mm_set1_epi8(pricevector[index]);\r
+                               } else {\r
+                                       c1 = _mm_set1_epi8(pricevector[index]);\r
+                                       c2 = _mm_setzero_si128();\r
+                               }\r
+\r
+                               minp = _mm_set1_epi8(-1);\r
+                               maxp = _mm_setzero_si128();\r
+\r
+                               for(m = 0; m < sseheight; m++) {\r
+                                       if(!ssedone[m]) {\r
+                                               register __m128i v1, v2, v3, v4;\r
+                                               altm = (m ^ (column >> 4));\r
+                                               v1 = _mm_load_si128(&prices16B[m]);\r
+                                               v2 = _mm_load_si128(&prices16B[altm]);\r
+                                               v3 = v1;\r
+                                               v4 = v2;\r
+                                               ssedone[m] = 1;\r
+                                               ssedone[altm] = 1;\r
+                                               if(column & 8) {\r
+                                                       v2 = _mm_shuffle_epi32(v2, 0x4e);\r
+                                                       v3 = _mm_shuffle_epi32(v3, 0x4e);\r
+                                               }\r
+                                               if(column & 4) {\r
+                                                       v2 = _mm_shuffle_epi32(v2, 0xb1);\r
+                                                       v3 = _mm_shuffle_epi32(v3, 0xb1);\r
+                                               }\r
+                                               if(column & 2) {\r
+                                                       v2 = _mm_shufflehi_epi16(v2, 0xb1);\r
+                                                       v3 = _mm_shufflehi_epi16(v3, 0xb1);\r
+                                                       v2 = _mm_shufflelo_epi16(v2, 0xb1);\r
+                                                       v3 = _mm_shufflelo_epi16(v3, 0xb1);\r
+                                               }\r
+                                               if(column & 1) {\r
+                                                       v2 = _mm_or_si128(_mm_srli_epi16(v2, 8), _mm_slli_epi16(v2, 8));\r
+                                                       v3 = _mm_or_si128(_mm_srli_epi16(v3, 8), _mm_slli_epi16(v3, 8));\r
+                                               }\r
+                                               v1 = _mm_adds_epu8(v1, c1);\r
+                                               v2 = _mm_adds_epu8(v2, c2);\r
+                                               v3 = _mm_adds_epu8(v3, c2);\r
+                                               v4 = _mm_adds_epu8(v4, c1);\r
+\r
+                                               v1 = _mm_min_epu8(v1, v2);\r
+                                               v4 = _mm_min_epu8(v3, v4);\r
+                                                                                       \r
+                                               _mm_store_si128(&prices16B[m], v1);\r
+                                               _mm_store_si128(&prices16B[altm], v4);\r
+\r
+                                               minp = _mm_min_epu8(minp, _mm_min_epu8(v1, v4));\r
+                                               maxp = _mm_max_epu8(maxp, maxLessThan255(v1, v4));\r
+                                               \r
+                                               if(nlhs > 1) {\r
+                                                       v2 = _mm_cmpeq_epi8(v1, v2);\r
+                                                       v3 = _mm_cmpeq_epi8(v3, v4);\r
+                                                       path16[pathindex16 + m] = (u16)_mm_movemask_epi8(v2);\r
+                                                       path16[pathindex16 + altm] = (u16)_mm_movemask_epi8(v3);\r
+                                               }\r
+                                       }\r
+                               }\r
+\r
+                               maxc = max16B(maxp);\r
+                               minc = min16B(minp);\r
+\r
+                               maxc -= minc;\r
+                               subprice += minc;\r
+                               {\r
+                                       register __m128i mask = _mm_set1_epi32(0xffffffff);\r
+                                       register __m128i m = _mm_set1_epi8(minc);\r
+                                       for(i = 0; i < sseheight; i++) {\r
+                                               register __m128i res;\r
+                                               register __m128i pr = prices16B[i];\r
+                                               res = _mm_andnot_si128(_mm_cmpeq_epi8(pr, mask), m);\r
+                                               prices16B[i] = _mm_sub_epi8(pr, res);\r
+                                               ssedone[i] = 0;\r
+                                       }\r
+                               }\r
+\r
+                               pathindex += parts;\r
+                               pathindex16 += parts << 1;\r
+                       }\r
+\r
+                       {\r
+                               register __m128i mask = _mm_set1_epi32(0x00ff00ff);\r
+\r
+                               if(minc == 255) {\r
+                                       aligned_free(path);\r
+                                       free(ssedone);\r
+                                       free(matrices);\r
+                                       free(widths);\r
+                                       free(columns[0]);\r
+                                       free(columns[1]);\r
+                                       if(nlhs > 1)\r
+                                               free(path);\r
+                                       mexErrMsgTxt("The syndrome is not in the syndrome matrix range.\n");\r
+                                       return;\r
+                               }\r
+\r
+                               if(syndrome[index2] == 0) {\r
+                                       for(i = 0, l = 0; i < sseheight; i += 2, l++) {\r
+                                               _mm_store_si128(&prices16B[l], _mm_packus_epi16(_mm_and_si128(_mm_load_si128(&prices16B[i]), mask), \r
+                                                       _mm_and_si128(_mm_load_si128(&prices16B[i + 1]), mask)));\r
+                                       }\r
+                               } else {\r
+                                       for(i = 0, l = 0; i < sseheight; i += 2, l++) {\r
+                                               _mm_store_si128(&prices16B[l], _mm_packus_epi16(_mm_and_si128(_mm_srli_si128(_mm_load_si128(&prices16B[i]), 1), mask), \r
+                                                       _mm_and_si128(_mm_srli_si128(_mm_load_si128(&prices16B[i + 1]), 1), mask)));\r
+                                       }\r
+                               }\r
+\r
+                               if(syndromelength - index2 <= matrixheight)\r
+                                       colmask >>= 1;\r
+\r
+                               register __m128i fillval = _mm_set1_epi32(0xffffffff);\r
+                               for(; l < sseheight; l++)\r
+                                       _mm_store_si128(&prices16B[l], fillval);\r
+                       }\r
+               }\r
+                       \r
+               totalprice = subprice + prices[0];\r
+               \r
+               aligned_free(prices);\r
+               free(ssedone);\r
+       }\r
+       \r
+       if(nlhs > 1) {\r
+               int size[2];\r
+               u8 *closestData;\r
+               mxArray *closest;\r
+\r
+               size[0] = vectorlength;\r
+               size[1] = 1;\r
+               \r
+               closest = mxCreateNumericArray(2, size, mxUINT8_CLASS, mxREAL);\r
+               closestData = (u8*)mxGetPr(closest);\r
+\r
+               pathindex -= parts;\r
+               index--;\r
+               index2--;\r
+               state = 0;\r
+\r
+               int h = syndromelength;\r
+               state = 0;\r
+               colmask = 0;\r
+               for(; index2 >= 0; index2--) {\r
+                       for(k = widths[index2] - 1; k >= 0; k--, index--) {\r
+                               if(k == widths[index2] - 1) {\r
+                                       state = (state << 1) | syndrome[index2];\r
+                                       if(syndromelength - index2 <= matrixheight)\r
+                                               colmask = (colmask << 1) | 1;\r
+                               }\r
+\r
+                               if(path[pathindex + (state >> 5)] & (1 << (state & 31))) {\r
+                                       closestData[index] = 1;\r
+                                       state = state ^ (columns[matrices[index2]][k] & colmask);\r
+                               } else {\r
+                                       closestData[index] = 0;\r
+                               }\r
+\r
+                               pathindex -= parts;\r
+                       }\r
+               }\r
+               plhs[MATLAB_out_stego] = closest;\r
+               free(path);\r
+       }\r
+\r
+       free(matrices);\r
+       free(widths);\r
+       free(columns[0]);\r
+       free(columns[1]);\r
+\r
+       if(nlhs > 0) {\r
+               int size[2];\r
+               mxArray *arr;\r
+\r
+               size[0] = size[1] = 1;\r
+               arr = mxCreateNumericArray(2, size, mxDOUBLE_CLASS, mxREAL);\r
+               (mxGetPr(arr))[0] = totalprice;\r
+               plhs[MATLAB_out_price] = arr;\r
+       }\r
+\r
+       return;\r
+}\r
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 (file)
index 0000000..6ca1ce9
--- /dev/null
@@ -0,0 +1,464 @@
+#include <cstdlib>\r
+#include <cstring>\r
+#include <cmath>\r
+#include <cfloat>\r
+#include <limits>\r
+#include <emmintrin.h>\r
+#include <cstdio>\r
+#include <sstream>\r
+#include "stc_embed_c.h"\r
+\r
+void *aligned_malloc( unsigned int bytes, int align ) {\r
+    int shift;\r
+    char *temp = (char *) malloc( bytes + align );\r
+\r
+    if ( temp == NULL ) return temp;\r
+    shift = align - (int) (((unsigned long long) temp) & (align - 1));\r
+    temp = temp + shift;\r
+    temp[-1] = shift;\r
+    return (void *) temp;\r
+}\r
+\r
+void aligned_free( void *vptr ) {\r
+    char *ptr = (char *) vptr;\r
+    free( ptr - ptr[-1] );\r
+    return;\r
+}\r
+\r
+inline __m128i maxLessThan255( const __m128i v1, const __m128i v2 ) {\r
+    register __m128i mask = _mm_set1_epi32( 0xffffffff );\r
+    return _mm_max_epu8( _mm_andnot_si128( _mm_cmpeq_epi8( v1, mask ), v1 ), _mm_andnot_si128( _mm_cmpeq_epi8( v2, mask ), v2 ) );\r
+}\r
+\r
+inline u8 max16B( __m128i maxp ) {\r
+    u8 mtemp[4];\r
+    maxp = _mm_max_epu8( maxp, _mm_srli_si128(maxp, 8) );\r
+    maxp = _mm_max_epu8( maxp, _mm_srli_si128(maxp, 4) );\r
+    *((int*) mtemp) = _mm_cvtsi128_si32( maxp );\r
+    if ( mtemp[2] > mtemp[0] ) mtemp[0] = mtemp[2];\r
+    if ( mtemp[3] > mtemp[1] ) mtemp[1] = mtemp[3];\r
+    if ( mtemp[1] > mtemp[0] ) return mtemp[1];\r
+    else return mtemp[0];\r
+}\r
+\r
+inline u8 min16B( __m128i minp ) {\r
+    u8 mtemp[4];\r
+    minp = _mm_min_epu8( minp, _mm_srli_si128(minp, 8) );\r
+    minp = _mm_min_epu8( minp, _mm_srli_si128(minp, 4) );\r
+    *((int*) mtemp) = _mm_cvtsi128_si32( minp );\r
+    if ( mtemp[2] < mtemp[0] ) mtemp[0] = mtemp[2];\r
+    if ( mtemp[3] < mtemp[1] ) mtemp[1] = mtemp[3];\r
+    if ( mtemp[1] < mtemp[0] ) return mtemp[1];\r
+    else return mtemp[0];\r
+}\r
+\r
+double stc_embed( const u8 *vector, int vectorlength, const u8 *syndrome, int syndromelength, const void *pricevectorv, bool usefloat,\r
+        u8 *stego, int matrixheight ) {\r
+    int height, i, k, l, index, index2, parts, m, sseheight, altm, pathindex;\r
+    u32 column, colmask, state;\r
+    double totalprice;\r
+\r
+    u8 *ssedone;\r
+    u32 *path, *columns[2];\r
+    int *matrices, *widths;\r
+\r
+    if ( matrixheight > 31 ) throw stc_exception( "Submatrix height must not exceed 31.", 1 );\r
+\r
+    height = 1 << matrixheight;\r
+    colmask = height - 1;\r
+    height = (height + 31) & (~31);\r
+\r
+    parts = height >> 5;\r
+\r
+    if ( stego != NULL ) {\r
+        path = (u32*) malloc( vectorlength * parts * sizeof(u32) );\r
+        if ( path == NULL ) {\r
+            std::stringstream ss;\r
+            ss << "Not enough memory (" << (unsigned int) (vectorlength * parts * sizeof(u32)) << " byte array could not be allocated).";\r
+            throw stc_exception( ss.str(), 2 );\r
+        }\r
+        pathindex = 0;\r
+    }\r
+\r
+    {\r
+        int shorter, longer, worm;\r
+        double invalpha;\r
+\r
+        matrices = (int *) malloc( syndromelength * sizeof(int) );\r
+        widths = (int *) malloc( syndromelength * sizeof(int) );\r
+\r
+        invalpha = (double) vectorlength / syndromelength;\r
+        if ( invalpha < 1 ) {\r
+            free( matrices );\r
+            free( widths );\r
+            if ( stego != NULL ) free( path );\r
+            throw stc_exception( "The message cannot be longer than the cover object.", 3 );\r
+        }\r
+        /* THIS IS OBSOLETE. Algorithm still works for alpha >1/2. You need to take care of cases with too many Infs in cost vector.\r
+         if(invalpha < 2) {\r
+         printf("The relative payload is greater than 1/2. This may result in poor embedding efficiency.\n");\r
+         }\r
+         */\r
+        shorter = (int) floor( invalpha );\r
+        longer = (int) ceil( invalpha );\r
+        if ( (columns[0] = getMatrix( shorter, matrixheight )) == NULL ) {\r
+            free( matrices );\r
+            free( widths );\r
+            if ( stego != NULL ) free( path );\r
+            return -1;\r
+        }\r
+        if ( (columns[1] = getMatrix( longer, matrixheight )) == NULL ) {\r
+            free( columns[0] );\r
+            free( matrices );\r
+            free( widths );\r
+            if ( stego != NULL ) free( path );\r
+            return -1;\r
+        }\r
+        worm = 0;\r
+        for ( i = 0; i < syndromelength; i++ ) {\r
+            if ( worm + longer <= (i + 1) * invalpha + 0.5 ) {\r
+                matrices[i] = 1;\r
+                widths[i] = longer;\r
+                worm += longer;\r
+            } else {\r
+                matrices[i] = 0;\r
+                widths[i] = shorter;\r
+                worm += shorter;\r
+            }\r
+        }\r
+    }\r
+\r
+    if ( usefloat ) {\r
+        /*\r
+         SSE FLOAT VERSION\r
+         */\r
+        int pathindex8 = 0;\r
+        int shift[2] = { 0, 4 };\r
+        u8 mask[2] = { 0xf0, 0x0f };\r
+        float *prices;\r
+        u8 *path8 = (u8*) path;\r
+        double *pricevector = (double*) pricevectorv;\r
+        double total = 0;\r
+        float inf = std::numeric_limits< float >::infinity();\r
+\r
+        sseheight = height >> 2;\r
+        ssedone = (u8*) malloc( sseheight * sizeof(u8) );\r
+        prices = (float*) aligned_malloc( height * sizeof(float), 16 );\r
+\r
+        {\r
+            __m128 fillval = _mm_set1_ps( inf );\r
+            for ( i = 0; i < height; i += 4 ) {\r
+                _mm_store_ps( &prices[i], fillval );\r
+                ssedone[i >> 2] = 0;\r
+            }\r
+        }\r
+\r
+        prices[0] = 0.0f;\r
+\r
+        for ( index = 0, index2 = 0; index2 < syndromelength; index2++ ) {\r
+            register __m128 c1, c2;\r
+\r
+            for ( k = 0; k < widths[index2]; k++, index++ ) {\r
+                column = columns[matrices[index2]][k] & colmask;\r
+\r
+                if ( vector[index] == 0 ) {\r
+                    c1 = _mm_setzero_ps();\r
+                    c2 = _mm_set1_ps( (float) pricevector[index] );\r
+                } else {\r
+                    c1 = _mm_set1_ps( (float) pricevector[index] );\r
+                    c2 = _mm_setzero_ps();\r
+                }\r
+\r
+                total += pricevector[index];\r
+\r
+                for ( m = 0; m < sseheight; m++ ) {\r
+                    if ( !ssedone[m] ) {\r
+                        register __m128 v1, v2, v3, v4;\r
+                        altm = (m ^ (column >> 2));\r
+                        v1 = _mm_load_ps( &prices[m << 2] );\r
+                        v2 = _mm_load_ps( &prices[altm << 2] );\r
+                        v3 = v1;\r
+                        v4 = v2;\r
+                        ssedone[m] = 1;\r
+                        ssedone[altm] = 1;\r
+                        switch ( column & 3 ) {\r
+                            case 0:\r
+                                break;\r
+                            case 1:\r
+                                v2 = _mm_shuffle_ps(v2, v2, 0xb1);\r
+                                v3 = _mm_shuffle_ps(v3, v3, 0xb1);\r
+                                break;\r
+                            case 2:\r
+                                v2 = _mm_shuffle_ps(v2, v2, 0x4e);\r
+                                v3 = _mm_shuffle_ps(v3, v3, 0x4e);\r
+                                break;\r
+                            case 3:\r
+                                v2 = _mm_shuffle_ps(v2, v2, 0x1b);\r
+                                v3 = _mm_shuffle_ps(v3, v3, 0x1b);\r
+                                break;\r
+                        }\r
+                        v1 = _mm_add_ps( v1, c1 );\r
+                        v2 = _mm_add_ps( v2, c2 );\r
+                        v3 = _mm_add_ps( v3, c2 );\r
+                        v4 = _mm_add_ps( v4, c1 );\r
+\r
+                        v1 = _mm_min_ps( v1, v2 );\r
+                        v4 = _mm_min_ps( v3, v4 );\r
+\r
+                        _mm_store_ps( &prices[m << 2], v1 );\r
+                        _mm_store_ps( &prices[altm << 2], v4 );\r
+\r
+                        if ( stego != NULL ) {\r
+                            v2 = _mm_cmpeq_ps( v1, v2 );\r
+                            v3 = _mm_cmpeq_ps( v3, v4 );\r
+                            path8[pathindex8 + (m >> 1)] = (path8[pathindex8 + (m >> 1)] & mask[m & 1]) | (_mm_movemask_ps( v2 ) << shift[m\r
+                                    & 1]);\r
+                            path8[pathindex8 + (altm >> 1)] = (path8[pathindex8 + (altm >> 1)] & mask[altm & 1]) | (_mm_movemask_ps( v3 )\r
+                                    << shift[altm & 1]);\r
+                        }\r
+                    }\r
+                }\r
+\r
+                for ( i = 0; i < sseheight; i++ ) {\r
+                    ssedone[i] = 0;\r
+                }\r
+\r
+                pathindex += parts;\r
+                pathindex8 += parts << 2;\r
+            }\r
+\r
+            if ( syndrome[index2] == 0 ) {\r
+                for ( i = 0, l = 0; i < sseheight; i += 2, l += 4 ) {\r
+                    _mm_store_ps( &prices[l], _mm_shuffle_ps(_mm_load_ps(&prices[i << 2]), _mm_load_ps(&prices[(i + 1) << 2]), 0x88) );\r
+                }\r
+            } else {\r
+                for ( i = 0, l = 0; i < sseheight; i += 2, l += 4 ) {\r
+                    _mm_store_ps( &prices[l], _mm_shuffle_ps(_mm_load_ps(&prices[i << 2]), _mm_load_ps(&prices[(i + 1) << 2]), 0xdd) );\r
+                }\r
+            }\r
+\r
+            if ( syndromelength - index2 <= matrixheight ) colmask >>= 1;\r
+\r
+            {\r
+                register __m128 fillval = _mm_set1_ps( inf );\r
+                for ( l >>= 2; l < sseheight; l++ ) {\r
+                    _mm_store_ps( &prices[l << 2], fillval );\r
+                }\r
+            }\r
+        }\r
+\r
+        totalprice = prices[0];\r
+\r
+        aligned_free( prices );\r
+        free( ssedone );\r
+\r
+        if ( totalprice >= total ) {\r
+            free( matrices );\r
+            free( widths );\r
+            free( columns[0] );\r
+            free( columns[1] );\r
+            if ( stego != NULL ) free( path );\r
+            throw stc_exception( "No solution exist.", 4 );\r
+        }\r
+    } else {\r
+        /*\r
+         SSE UINT8 VERSION\r
+         */\r
+        int pathindex16 = 0, subprice = 0;\r
+        u8 maxc = 0, minc = 0;\r
+        u8 *prices, *pricevector = (u8*) pricevectorv;\r
+        u16 *path16 = (u16 *) path;\r
+        __m128i *prices16B;\r
+\r
+        sseheight = height >> 4;\r
+        ssedone = (u8*) malloc( sseheight * sizeof(u8) );\r
+        prices = (u8*) aligned_malloc( height * sizeof(u8), 16 );\r
+        prices16B = (__m128i *) prices;\r
+\r
+        {\r
+            __m128i napln = _mm_set1_epi32( 0xffffffff );\r
+            for ( i = 0; i < sseheight; i++ ) {\r
+                _mm_store_si128( &prices16B[i], napln );\r
+                ssedone[i] = 0;\r
+            }\r
+        }\r
+\r
+        prices[0] = 0;\r
+\r
+        for ( index = 0, index2 = 0; index2 < syndromelength; index2++ ) {\r
+            register __m128i c1, c2, maxp, minp;\r
+\r
+            if ( (u32) maxc + pricevector[index] >= 254 ) {\r
+                aligned_free( path );\r
+                free( ssedone );\r
+                free( matrices );\r
+                free( widths );\r
+                free( columns[0] );\r
+                free( columns[1] );\r
+                if ( stego != NULL ) free( path );\r
+                throw stc_exception( "Price vector limit exceeded.", 5 );\r
+            }\r
+\r
+            for ( k = 0; k < widths[index2]; k++, index++ ) {\r
+                column = columns[matrices[index2]][k] & colmask;\r
+\r
+                if ( vector[index] == 0 ) {\r
+                    c1 = _mm_setzero_si128();\r
+                    c2 = _mm_set1_epi8( pricevector[index] );\r
+                } else {\r
+                    c1 = _mm_set1_epi8( pricevector[index] );\r
+                    c2 = _mm_setzero_si128();\r
+                }\r
+\r
+                minp = _mm_set1_epi8( -1 );\r
+                maxp = _mm_setzero_si128();\r
+\r
+                for ( m = 0; m < sseheight; m++ ) {\r
+                    if ( !ssedone[m] ) {\r
+                        register __m128i v1, v2, v3, v4;\r
+                        altm = (m ^ (column >> 4));\r
+                        v1 = _mm_load_si128( &prices16B[m] );\r
+                        v2 = _mm_load_si128( &prices16B[altm] );\r
+                        v3 = v1;\r
+                        v4 = v2;\r
+                        ssedone[m] = 1;\r
+                        ssedone[altm] = 1;\r
+                        if ( column & 8 ) {\r
+                            v2 = _mm_shuffle_epi32(v2, 0x4e);\r
+                            v3 = _mm_shuffle_epi32(v3, 0x4e);\r
+                        }\r
+                        if ( column & 4 ) {\r
+                            v2 = _mm_shuffle_epi32(v2, 0xb1);\r
+                            v3 = _mm_shuffle_epi32(v3, 0xb1);\r
+                        }\r
+                        if ( column & 2 ) {\r
+                            v2 = _mm_shufflehi_epi16(v2, 0xb1);\r
+                            v3 = _mm_shufflehi_epi16(v3, 0xb1);\r
+                            v2 = _mm_shufflelo_epi16(v2, 0xb1);\r
+                            v3 = _mm_shufflelo_epi16(v3, 0xb1);\r
+                        }\r
+                        if ( column & 1 ) {\r
+                            v2 = _mm_or_si128( _mm_srli_epi16( v2, 8 ), _mm_slli_epi16( v2, 8 ) );\r
+                            v3 = _mm_or_si128( _mm_srli_epi16( v3, 8 ), _mm_slli_epi16( v3, 8 ) );\r
+                        }\r
+                        v1 = _mm_adds_epu8( v1, c1 );\r
+                        v2 = _mm_adds_epu8( v2, c2 );\r
+                        v3 = _mm_adds_epu8( v3, c2 );\r
+                        v4 = _mm_adds_epu8( v4, c1 );\r
+\r
+                        v1 = _mm_min_epu8( v1, v2 );\r
+                        v4 = _mm_min_epu8( v3, v4 );\r
+\r
+                        _mm_store_si128( &prices16B[m], v1 );\r
+                        _mm_store_si128( &prices16B[altm], v4 );\r
+\r
+                        minp = _mm_min_epu8( minp, _mm_min_epu8( v1, v4 ) );\r
+                        maxp = _mm_max_epu8( maxp, maxLessThan255( v1, v4 ) );\r
+\r
+                        if ( stego != NULL ) {\r
+                            v2 = _mm_cmpeq_epi8( v1, v2 );\r
+                            v3 = _mm_cmpeq_epi8( v3, v4 );\r
+                            path16[pathindex16 + m] = (u16) _mm_movemask_epi8( v2 );\r
+                            path16[pathindex16 + altm] = (u16) _mm_movemask_epi8( v3 );\r
+                        }\r
+                    }\r
+                }\r
+\r
+                maxc = max16B( maxp );\r
+                minc = min16B( minp );\r
+\r
+                maxc -= minc;\r
+                subprice += minc;\r
+                {\r
+                    register __m128i mask = _mm_set1_epi32( 0xffffffff );\r
+                    register __m128i m = _mm_set1_epi8( minc );\r
+                    for ( i = 0; i < sseheight; i++ ) {\r
+                        register __m128i res;\r
+                        register __m128i pr = prices16B[i];\r
+                        res = _mm_andnot_si128( _mm_cmpeq_epi8( pr, mask ), m );\r
+                        prices16B[i] = _mm_sub_epi8( pr, res );\r
+                        ssedone[i] = 0;\r
+                    }\r
+                }\r
+\r
+                pathindex += parts;\r
+                pathindex16 += parts << 1;\r
+            }\r
+\r
+            {\r
+                register __m128i mask = _mm_set1_epi32( 0x00ff00ff );\r
+\r
+                if ( minc == 255 ) {\r
+                    aligned_free( path );\r
+                    free( ssedone );\r
+                    free( matrices );\r
+                    free( widths );\r
+                    free( columns[0] );\r
+                    free( columns[1] );\r
+                    if ( stego != NULL ) free( path );\r
+                    throw stc_exception( "The syndrome is not in the syndrome matrix range.", 4 );\r
+                }\r
+\r
+                if ( syndrome[index2] == 0 ) {\r
+                    for ( i = 0, l = 0; i < sseheight; i += 2, l++ ) {\r
+                        _mm_store_si128( &prices16B[l], _mm_packus_epi16( _mm_and_si128( _mm_load_si128( &prices16B[i] ), mask ),\r
+                                _mm_and_si128( _mm_load_si128( &prices16B[i + 1] ), mask ) ) );\r
+                    }\r
+                } else {\r
+                    for ( i = 0, l = 0; i < sseheight; i += 2, l++ ) {\r
+                        _mm_store_si128( &prices16B[l], _mm_packus_epi16( _mm_and_si128( _mm_srli_si128(_mm_load_si128(&prices16B[i]), 1),\r
+                                mask ), _mm_and_si128( _mm_srli_si128(_mm_load_si128(&prices16B[i + 1]), 1), mask ) ) );\r
+                    }\r
+                }\r
+\r
+                if ( syndromelength - index2 <= matrixheight ) colmask >>= 1;\r
+\r
+                register __m128i fillval = _mm_set1_epi32( 0xffffffff );\r
+                for ( ; l < sseheight; l++ )\r
+                    _mm_store_si128( &prices16B[l], fillval );\r
+            }\r
+        }\r
+\r
+        totalprice = subprice + prices[0];\r
+\r
+        aligned_free( prices );\r
+        free( ssedone );\r
+    }\r
+\r
+    if ( stego != NULL ) {\r
+        pathindex -= parts;\r
+        index--;\r
+        index2--;\r
+        state = 0;\r
+\r
+        // unused\r
+        // int h = syndromelength;\r
+        state = 0;\r
+        colmask = 0;\r
+        for ( ; index2 >= 0; index2-- ) {\r
+            for ( k = widths[index2] - 1; k >= 0; k--, index-- ) {\r
+                if ( k == widths[index2] - 1 ) {\r
+                    state = (state << 1) | syndrome[index2];\r
+                    if ( syndromelength - index2 <= matrixheight ) colmask = (colmask << 1) | 1;\r
+                }\r
+\r
+                if ( path[pathindex + (state >> 5)] & (1 << (state & 31)) ) {\r
+                    stego[index] = 1;\r
+                    state = state ^ (columns[matrices[index2]][k] & colmask);\r
+                } else {\r
+                    stego[index] = 0;\r
+                }\r
+\r
+                pathindex -= parts;\r
+            }\r
+        }\r
+        free( path );\r
+    }\r
+\r
+    free( matrices );\r
+    free( widths );\r
+    free( columns[0] );\r
+    free( columns[1] );\r
+\r
+    return totalprice;\r
+}\r
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 (file)
index 0000000..799d544
--- /dev/null
@@ -0,0 +1,22 @@
+#ifndef STC_EMBED_C_H\r
+#define STC_EMBED_C_H\r
+\r
+#include "common.h"\r
+/* Inputs:\r
+       cover - the binary cover vector\r
+       coverlength - length of the cover vector\r
+       message - the binary message to be hidden\r
+       messagelength - length of the message\r
+       profile - the vector of distortion weights (either double if usedouble = true, or u8 id usedouble = false)\r
+       usedouble - true = use double precision weight, false = use u8 weights\r
+       stego - pointer to an array of length 'coverlength' to receive the stego message; this parameter can be NULL\r
+       constr_height - the constraint height of the matrix; the higher, the better the efficiency but the greater the embedding time\r
+\r
+Return value:\r
+       On success, the function returns the total distortion introduced by the embedding.\r
+       On error, the function returns -1.\r
+*/\r
+\r
+double stc_embed(const u8 *cover, int coverlength, const u8 *message, int messagelength, const void *profile, bool usedouble, u8 *stego, int constr_height = 10);\r
+\r
+#endif\r
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 (file)
index 0000000..7da2205
--- /dev/null
@@ -0,0 +1,139 @@
+//\r
+// MEX-File: dv_extract\r
+// Usage:\r
+// uint8 vector msg = dv_extract(uint8 vector stego, int scalar msgLength, int scalar constrLength = 10)\r
+\r
+typedef unsigned int u32;\r
+typedef unsigned short u16;\r
+typedef unsigned char u8;\r
+\r
+#include <cstdlib>\r
+#include <cstring>\r
+#include <cmath>\r
+#include "mex.h"\r
+#include "common.h"\r
+\r
+#define MATLAB_in_stego 0\r
+#define MATLAB_in_msgLength 1\r
+#define MATLAB_in_constrLength 2\r
+\r
+#define MATLAB_out_msg 0\r
+\r
+void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[])\r
+{\r
+       int matrixheight, vectorlength, i, j, k, index, index2, syndromelength, matrixwidth, size[2], base, height;\r
+       \r
+       u8 *vector, *syndrome, *closestData, *ssedone, *stepdown, *binmat[2], *msgData;\r
+       int *matrices, *widths;\r
+\r
+       mxArray *msg;\r
+\r
+       if(nlhs == 0)\r
+               return;\r
+\r
+       if(nrhs < 2) {\r
+               mexErrMsgTxt("Too few input parameters (2 or 3 expected)");\r
+               return;\r
+       }\r
+       \r
+       if(!mxIsUint8(prhs[MATLAB_in_stego])) {\r
+               mexErrMsgTxt("The stego vector must be of type uint8.");\r
+               return;\r
+       }\r
+       vector = (u8*)mxGetPr(prhs[MATLAB_in_stego]);\r
+       vectorlength = (int)mxGetM(prhs[MATLAB_in_stego]);\r
+       \r
+       syndromelength = (int)mxGetScalar(prhs[MATLAB_in_msgLength]);\r
+\r
+       if(nrhs > 2)\r
+               matrixheight = (int)mxGetScalar(prhs[MATLAB_in_constrLength]);\r
+       else\r
+               matrixheight = 10;\r
+\r
+       // end of matlab interface\r
+\r
+       height = matrixheight;\r
+\r
+       if(matrixheight > 31) {\r
+               mexErrMsgTxt("Submatrix height must not exceed 31.");\r
+               return;\r
+       }\r
+\r
+       {\r
+               double invalpha;\r
+               int shorter, longer, worm;\r
+               u32 *columns[2];\r
+\r
+               matrices = (int *)malloc(syndromelength * sizeof(int));\r
+               widths = (int *)malloc(syndromelength * sizeof(int));\r
+\r
+               invalpha = (double)vectorlength / syndromelength;\r
+               if(invalpha < 1) {\r
+                       mexErrMsgTxt("The message cannot be longer than the cover object.\n");\r
+                       return;\r
+               }\r
+               shorter = (int)floor(invalpha);\r
+               longer = (int)ceil(invalpha);\r
+               if((columns[0] = getMatrix(shorter, matrixheight)) == NULL)\r
+                       return;\r
+               if((columns[1] = getMatrix(longer, matrixheight)) == NULL)\r
+                       return;\r
+               worm = 0;\r
+               for(i = 0; i < syndromelength; i++) {\r
+                       if(worm + longer <= (i + 1) * invalpha + 0.5) {\r
+                               matrices[i] = 1;\r
+                               widths[i] = longer;\r
+                               worm += longer;\r
+                       } else {\r
+                               matrices[i] = 0;\r
+                               widths[i] = shorter;\r
+                               worm += shorter;\r
+                       }\r
+               }\r
+               binmat[0] = (u8*)malloc(shorter * matrixheight * sizeof(u8));\r
+               binmat[1] = (u8*)malloc(longer * matrixheight * sizeof(u8));\r
+               for(i = 0, index = 0; i < shorter; i++) {\r
+                       for(j = 0; j < matrixheight; j++, index++) {\r
+                               binmat[0][index] = (columns[0][i] & (1 << j)) ? 1 : 0;\r
+                       }\r
+               }\r
+               for(i = 0, index = 0; i < longer; i++) {\r
+                       for(j = 0; j < matrixheight; j++, index++) {\r
+                               binmat[1][index] = (columns[1][i] & (1 << j)) ? 1 : 0;\r
+                       }\r
+               }\r
+               free(columns[0]);\r
+               free(columns[1]);\r
+       }\r
+\r
+       size[0] = syndromelength;\r
+       size[1] = 1;\r
+       \r
+       msg = mxCreateNumericArray(2, size, mxUINT8_CLASS, mxREAL);\r
+       msgData = (u8*)mxGetPr(msg);\r
+\r
+       for(i = 0; i < syndromelength; i++) {\r
+               msgData[i] = 0;\r
+       }\r
+\r
+       for(index = 0, index2 = 0; index2 < syndromelength; index2++) {\r
+               for(k = 0, base = 0; k < widths[index2]; k++, index++, base += matrixheight) {\r
+                       if(vector[index]) {\r
+                               for(i = 0; i < height; i++) {\r
+                                       msgData[index2 + i] ^= binmat[matrices[index2]][base + i];\r
+                               }\r
+                       }\r
+               }\r
+               if(syndromelength - index2 <= matrixheight)\r
+                       height--;\r
+       }\r
+\r
+       free(matrices);\r
+       free(widths);\r
+       free(binmat[0]);\r
+       free(binmat[1]);\r
+\r
+       plhs[MATLAB_out_msg] = msg;\r
+\r
+       return;\r
+}\r
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 (file)
index 0000000..c3f2e4d
--- /dev/null
@@ -0,0 +1,97 @@
+#include <cstdlib>\r
+#include <cstring>\r
+#include <cmath>\r
+#include <cstdio>\r
+#include "stc_extract_c.h"\r
+\r
+int stc_extract(const u8 *vector, int vectorlength, u8 *message, int syndromelength, int matrixheight)\r
+{\r
+       int i, j, k, index, index2, base, height;\r
+       \r
+       u8 *binmat[2];\r
+       int *matrices, *widths;\r
+\r
+       height = matrixheight;\r
+\r
+       if(matrixheight > 31) {\r
+               fprintf(stderr, "Submatrix height must not exceed 31.");\r
+               return -1;\r
+       }\r
+\r
+       {\r
+               double invalpha;\r
+               int shorter, longer, worm;\r
+               u32 *columns[2];\r
+\r
+               matrices = (int *)malloc(syndromelength * sizeof(int));\r
+               widths = (int *)malloc(syndromelength * sizeof(int));\r
+\r
+               invalpha = (double)vectorlength / syndromelength;\r
+               if(invalpha < 1) {\r
+                       fprintf(stderr, "The message cannot be longer than the cover object.\n");\r
+                       return -1;\r
+               }\r
+               shorter = (int)floor(invalpha);\r
+               longer = (int)ceil(invalpha);\r
+               if((columns[0] = getMatrix(shorter, matrixheight)) == NULL) {\r
+                       free(widths);\r
+                       free(matrices);\r
+                       return -1;\r
+               }\r
+               if((columns[1] = getMatrix(longer, matrixheight)) == NULL) {\r
+                       free(columns[0]);\r
+                       free(widths);\r
+                       free(matrices);\r
+                       return -1;\r
+               }\r
+               worm = 0;\r
+               for(i = 0; i < syndromelength; i++) {\r
+                       if(worm + longer <= (i + 1) * invalpha + 0.5) {\r
+                               matrices[i] = 1;\r
+                               widths[i] = longer;\r
+                               worm += longer;\r
+                       } else {\r
+                               matrices[i] = 0;\r
+                               widths[i] = shorter;\r
+                               worm += shorter;\r
+                       }\r
+               }\r
+               binmat[0] = (u8*)malloc(shorter * matrixheight * sizeof(u8));\r
+               binmat[1] = (u8*)malloc(longer * matrixheight * sizeof(u8));\r
+               for(i = 0, index = 0; i < shorter; i++) {\r
+                       for(j = 0; j < matrixheight; j++, index++) {\r
+                               binmat[0][index] = (columns[0][i] & (1 << j)) ? 1 : 0;\r
+                       }\r
+               }\r
+               for(i = 0, index = 0; i < longer; i++) {\r
+                       for(j = 0; j < matrixheight; j++, index++) {\r
+                               binmat[1][index] = (columns[1][i] & (1 << j)) ? 1 : 0;\r
+                       }\r
+               }\r
+               free(columns[0]);\r
+               free(columns[1]);\r
+       }\r
+\r
+       for(i = 0; i < syndromelength; i++) {\r
+               message[i] = 0;\r
+       }\r
+\r
+       for(index = 0, index2 = 0; index2 < syndromelength; index2++) {\r
+               for(k = 0, base = 0; k < widths[index2]; k++, index++, base += matrixheight) {\r
+                       if(vector[index]) {\r
+                               for(i = 0; i < height; i++) {\r
+                                       message[index2 + i] ^= binmat[matrices[index2]][base + i];\r
+                               }\r
+                       }\r
+               }\r
+               if(syndromelength - index2 <= matrixheight)\r
+                       height--;\r
+       }\r
+\r
+       free(matrices);\r
+       free(widths);\r
+       free(binmat[0]);\r
+       free(binmat[1]);\r
+\r
+       return 0;\r
+}\r
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 (file)
index 0000000..33231d0
--- /dev/null
@@ -0,0 +1,19 @@
+#ifndef STC_EXTRACT_C_H\r
+#define STC_EXTRACT_C_H\r
+\r
+#include "common.h"\r
+\r
+/* Inputs:\r
+       stego - the binary stego vector\r
+       stegolength - the length of the stego vector\r
+       message - pointer to an array of legth 'messagelength' to receive the extracted message\r
+       messagelegth - the length of the embedded message\r
+       constr_height - the constraint height of the matrix used for embedding the message\r
+\r
+Return values:\r
+       0 on succes, -1 on error\r
+*/\r
+\r
+int stc_extract(const u8 *stego, int stegolength, u8 *message, int messagelength, int constr_height = 10);\r
+\r
+#endif\r
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 (file)
index 0000000..1206b62
--- /dev/null
@@ -0,0 +1,888 @@
+#include "stc_ml_c.h"
+
+#include <xmmintrin.h>
+#include <cmath>
+#include <limits>
+#include <algorithm>
+#include <sstream>
+#include <fstream>
+#include <iomanip>
+#include <string.h> // due to memcpy
+
+#include <boost/random/uniform_int.hpp>       // this is required for Marsene-Twister random number generator
+#include <boost/random/variate_generator.hpp>
+#include <boost/random/mersenne_twister.hpp>
+
+#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<eps, then do not accumulate it to d since x*exp(-x) tends to zero
+            p = _mm_mul_ps( rho, p );
+            p = _mm_andnot_ps( mask, p ); // apply mask
+            d = _mm_add_ps( d, p );
+        }
+        entr = _mm_sub_ps( entr, _mm_div_ps( _mm_mul_ps( v_lambda, d ), z ) );
+        entr = _mm_add_ps( entr, log_ps( z ) );
+    }
+    return sum_inplace( entr ) / LOG2;
+}
+
+float get_lambda_entropy( uint n, uint k, float *costs, float payload, float initial_lambda = 10 ) {
+
+    float p1, p2, p3, lambda1, lambda2, lambda3;
+    int j = 0;
+    uint iterations = 0;
+
+    lambda1 = 0;
+    p1 = n * log( (float)k ) / log( 2.0f );
+    lambda3 = initial_lambda;
+    p3 = payload + 1; // this is just an initial value
+    lambda2 = initial_lambda;
+    while ( p3 > 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<eps, then do not accumulate it to d since x*exp(-x) tends to zero
+            p = _mm_mul_ps( rho, p );
+            p = _mm_andnot_ps( mask, p );
+            d = _mm_add_ps( d, p );
+        }
+        dist = _mm_add_ps( dist, _mm_div_ps( d, z ) );
+    }
+    return sum_inplace( dist );
+}
+
+float get_lambda_distortion( uint n, uint k, float *costs, float distortion, float initial_lambda = 10, float precision = 1e-3,
+        uint iter_limit = 30 ) {
+
+    float dist1, dist2, dist3, lambda1, lambda2, lambda3;
+    int j = 0;
+    uint iterations = 0;
+
+    lambda1 = 0;
+    dist1 = calc_distortion( n, k, costs, lambda1 );
+    lambda3 = initial_lambda;
+    dist2 = F_INF; // this is just an initial value
+    lambda2 = initial_lambda;
+    dist3 = distortion + 1;
+    while ( dist3 > 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<double>(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<double>(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<float>(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<float>(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 (file)
index 0000000..d2494d1
--- /dev/null
@@ -0,0 +1,64 @@
+#ifndef STC_ML_H
+#define STC_ML_H
+
+#include <limits>
+#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<float>::infinity();
+const float D_INF = std::numeric_limits<double>::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 (file)
index 0000000..3f43417
Binary files /dev/null and b/stc/exp/ml_stc_linux_make_v1.0/release/example1_ml_stc.o differ
diff --git a/stc/exp/python/dummy b/stc/exp/python/dummy
new file mode 100644 (file)
index 0000000..4cafabb
--- /dev/null
@@ -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 (file)
index 0000000..cb1c396
--- /dev/null
@@ -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 (file)
index 0000000..05c6fbf
--- /dev/null
@@ -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 (file)
index 0000000..61ce831
--- /dev/null
@@ -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 (file)
index 0000000..cb11b21
--- /dev/null
@@ -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 (file)
index 0000000..d645830
--- /dev/null
@@ -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)